From 95b22713cebfbd98b42fd48a5755916fbdb8e20e Mon Sep 17 00:00:00 2001 From: shobu Date: Tue, 28 Apr 2026 12:27:46 +0200 Subject: [PATCH] init --- .envrc | 1 + .gitignore | 1 + .vscode/extensions.json | 6 + AGENTS.md | 11 + README.md | 79 + deno.lock | 2806 ++++++++++++++++++++++++++++++++ env.d.ts | 2 + eslint.config.js | 5 + flake.lock | 42 + flake.nix | 48 + index.html | 13 + package.json | 46 + public/favicon.ico | Bin 0 -> 15406 bytes src/App.vue | 10 + src/assets/logo.png | Bin 0 -> 11955 bytes src/assets/logo.svg | 6 + src/components/HelloWorld.vue | 49 + src/components/PkmnDetails.vue | 40 + src/components/README.md | 35 + src/composables/usePokemons.ts | 64 + src/main.ts | 23 + src/pages/index.vue | 7 + src/plugins/README.md | 3 + src/plugins/index.ts | 19 + src/plugins/vuetify.ts | 19 + src/router/index.ts | 26 + src/stores/app.ts | 11 + src/styles/README.md | 3 + src/styles/settings.scss | 10 + tsconfig.app.json | 27 + tsconfig.json | 11 + tsconfig.node.json | 19 + vite.config.mts | 50 + 33 files changed, 3492 insertions(+) create mode 100644 .envrc create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 AGENTS.md create mode 100644 README.md create mode 100644 deno.lock create mode 100644 env.d.ts create mode 100644 eslint.config.js create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 index.html create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 src/App.vue create mode 100644 src/assets/logo.png create mode 100644 src/assets/logo.svg create mode 100644 src/components/HelloWorld.vue create mode 100644 src/components/PkmnDetails.vue create mode 100644 src/components/README.md create mode 100644 src/composables/usePokemons.ts create mode 100644 src/main.ts create mode 100644 src/pages/index.vue create mode 100644 src/plugins/README.md create mode 100644 src/plugins/index.ts create mode 100644 src/plugins/vuetify.ts create mode 100644 src/router/index.ts create mode 100644 src/stores/app.ts create mode 100644 src/styles/README.md create mode 100644 src/styles/settings.scss create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.mts diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..4abd8bc --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,6 @@ +{ + "recommendations": [ + "vuetifyjs.vuetify-vscode", + "vue.volar" + ] +} \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..b753be6 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,11 @@ +# Project Rules + +## General +- Follow the existing code style and patterns. +- Use deno for running project commands. +- Keep code in TypeScript unless migration is required. + +## Stack +- Framework: Vue 3 + Vite +- UI Library: Vuetify +- Enabled Features: ESLint, Pinia, Vue Router diff --git a/README.md b/README.md new file mode 100644 index 0000000..8919245 --- /dev/null +++ b/README.md @@ -0,0 +1,79 @@ +# pokedex + +Scaffolded with Vuetify CLI. + +## โ—๏ธ Documentation + +- Primary docs: https://vuetifyjs.com/ +- Getting started guide: https://vuetifyjs.com/en/getting-started/installation/ +- Community support: https://community.vuetifyjs.com/ +- Issue tracker: https://issues.vuetifyjs.com/ + +## ๐Ÿงฑ Stack + +- Framework: Vue 3 + Vite +- UI Library: Vuetify +- Language: TypeScript +- Package manager: deno + +## ๐Ÿงญ Start Here + +- Main entry: `src/main.ts` +- Main app component: `src/App.vue` +- Main styles: `src/styles/` +- Plugin setup: `src/plugins/` + +## ๐Ÿ“ Project Structure + +- `src/main.ts` โ€” application entry point +- `src/App.vue` โ€” root component +- `src/components/` โ€” reusable Vue components +- `src/plugins/` โ€” plugin registration and setup +- `src/styles/` โ€” global styles and theme settings +- `public/` โ€” static public files + +## โœจ Enabled Features + +- ESLint +- Pinia +- Vue Router + +## ๐Ÿ’ฟ Install + +Use your selected package manager (deno) to install dependencies: + +```bash +deno install +``` + +## ๐Ÿš€ Quick Start + +```bash +deno install +deno task dev +``` + +## ๐Ÿ—๏ธ Build + +```bash +deno task build +``` + +## ๐Ÿงช Available Scripts + +- `deno task dev` +- `deno task build` +- `deno task preview` +- `deno task build-only` +- `deno task type-check` +- `deno task lint` +- `deno task lint:fix` + +## ๐Ÿ’ช Support Vuetify Development + +This project uses Vuetify - an MIT licensed Open Source project. We are glad to welcome contributors and any support for ongoing development: + +- Contribute to Vuetify and ecosystem projects: https://github.com/vuetifyjs +- Request enterprise support: https://support.vuetifyjs.com/ +- Sponsor on GitHub: https://github.com/sponsors/vuetifyjs +- Support on Open Collective: https://opencollective.com/vuetify diff --git a/deno.lock b/deno.lock new file mode 100644 index 0000000..8169e3e --- /dev/null +++ b/deno.lock @@ -0,0 +1,2806 @@ +{ + "version": "5", + "specifiers": { + "npm:@fontsource/roboto@^5.2.10": "5.2.10", + "npm:@mdi/font@7.4.47": "7.4.47", + "npm:@tsconfig/node22@^22.0.5": "22.0.5", + "npm:@types/node@^24.12.0": "24.12.2", + "npm:@vitejs/plugin-vue@^6.0.5": "6.0.6_vite@8.0.10__@types+node@24.12.2__sass-embedded@1.99.0_vue@3.5.33__typescript@5.9.3_@types+node@24.12.2_sass-embedded@1.99.0_typescript@5.9.3", + "npm:@vue/language-server@^3.2.7": "3.2.7_typescript@5.9.3", + "npm:@vue/tsconfig@0.9": "0.9.1_typescript@5.9.3_vue@3.5.33__typescript@5.9.3", + "npm:@vue/typescript-plugin@^3.2.7": "3.2.7_typescript@5.9.3", + "npm:eslint-config-vuetify@^4.3.4": "4.6.2_eslint@9.39.4_typescript@5.9.3_@stylistic+eslint-plugin@5.10.0__eslint@9.39.4_@typescript-eslint+parser@8.59.1__eslint@9.39.4__typescript@5.9.3_vue-eslint-parser@10.4.0__eslint@9.39.4", + "npm:eslint@^9.39.4": "9.39.4", + "npm:npm-run-all2@^8.0.4": "8.0.4", + "npm:pinia@^3.0.4": "3.0.4_typescript@5.9.3_vue@3.5.33__typescript@5.9.3", + "npm:prettier@^3.8.3": "3.8.3", + "npm:sass-embedded@^1.98.0": "1.99.0", + "npm:typescript@~5.9.3": "5.9.3", + "npm:unplugin-fonts@^1.4.0": "1.4.0_vite@8.0.10__@types+node@24.12.2__sass-embedded@1.99.0_@types+node@24.12.2_sass-embedded@1.99.0", + "npm:vite-plugin-vuetify@^2.1.3": "2.1.3_vite@8.0.10__@types+node@24.12.2__sass-embedded@1.99.0_vue@3.5.33__typescript@5.9.3_vuetify@4.0.6_@types+node@24.12.2_sass-embedded@1.99.0_typescript@5.9.3", + "npm:vite@8": "8.0.10_@types+node@24.12.2_sass-embedded@1.99.0", + "npm:vue-router@^5.0.3": "5.0.6_pinia@3.0.4__typescript@5.9.3__vue@3.5.33___typescript@5.9.3_vue@3.5.33__typescript@5.9.3_typescript@5.9.3", + "npm:vue-tsc@^3.2.5": "3.2.7_typescript@5.9.3", + "npm:vue@^3.5.30": "3.5.33_typescript@5.9.3", + "npm:vuetify@^4.0.2": "4.0.6_typescript@5.9.3_vite-plugin-vuetify@2.1.3_vue@3.5.33__typescript@5.9.3_vite@8.0.10__@types+node@24.12.2__sass-embedded@1.99.0_@types+node@24.12.2_sass-embedded@1.99.0" + }, + "npm": { + "@apidevtools/json-schema-ref-parser@14.2.1_@types+json-schema@7.0.15": { + "integrity": "sha512-HmdFw9CDYqM6B25pqGBpNeLCKvGPlIx1EbLrVL0zPvj50CJQUHyBNBw45Muk0kEIkogo1VZvOKHajdMuAzSxRg==", + "dependencies": [ + "@types/json-schema", + "js-yaml" + ] + }, + "@babel/generator@7.29.1": { + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dependencies": [ + "@babel/parser", + "@babel/types", + "@jridgewell/gen-mapping", + "@jridgewell/trace-mapping", + "jsesc" + ] + }, + "@babel/helper-string-parser@7.27.1": { + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==" + }, + "@babel/helper-validator-identifier@7.28.5": { + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==" + }, + "@babel/parser@7.29.2": { + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "dependencies": [ + "@babel/types" + ], + "bin": true + }, + "@babel/types@7.29.0": { + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dependencies": [ + "@babel/helper-string-parser", + "@babel/helper-validator-identifier" + ] + }, + "@bufbuild/protobuf@2.12.0": { + "integrity": "sha512-B/XlCaFIP8LOwzo+bz5uFzATYokcwCKQcghqnlfwSmM5eX/qTkvDBnDPs+gXtX/RyjxJ4DRikECcPJbyALA8FA==" + }, + "@clack/core@1.2.0": { + "integrity": "sha512-qfxof/3T3t9DPU/Rj3OmcFyZInceqj/NVtO9rwIuJqCUgh32gwPjpFQQp/ben07qKlhpwq7GzfWpST4qdJ5Drg==", + "dependencies": [ + "fast-wrap-ansi", + "sisteransi" + ] + }, + "@clack/prompts@1.2.0": { + "integrity": "sha512-4jmztR9fMqPMjz6H/UZXj0zEmE43ha1euENwkckKKel4XpSfokExPo5AiVStdHSAlHekz4d0CA/r45Ok1E4D3w==", + "dependencies": [ + "@clack/core", + "fast-string-width", + "fast-wrap-ansi", + "sisteransi" + ] + }, + "@emmetio/abbreviation@2.3.3": { + "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", + "dependencies": [ + "@emmetio/scanner" + ] + }, + "@emmetio/css-abbreviation@2.1.8": { + "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", + "dependencies": [ + "@emmetio/scanner" + ] + }, + "@emmetio/css-parser@0.4.1": { + "integrity": "sha512-2bC6m0MV/voF4CTZiAbG5MWKbq5EBmDPKu9Sb7s7nVcEzNQlrZP6mFFFlIaISM8X6514H9shWMme1fCm8cWAfQ==", + "dependencies": [ + "@emmetio/stream-reader", + "@emmetio/stream-reader-utils" + ] + }, + "@emmetio/html-matcher@1.3.0": { + "integrity": "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==", + "dependencies": [ + "@emmetio/scanner" + ] + }, + "@emmetio/scanner@1.0.4": { + "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==" + }, + "@emmetio/stream-reader-utils@0.1.0": { + "integrity": "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==" + }, + "@emmetio/stream-reader@2.2.0": { + "integrity": "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==" + }, + "@emnapi/core@1.10.0": { + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dependencies": [ + "@emnapi/wasi-threads", + "tslib" + ] + }, + "@emnapi/runtime@1.10.0": { + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dependencies": [ + "tslib" + ] + }, + "@emnapi/wasi-threads@1.2.1": { + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dependencies": [ + "tslib" + ] + }, + "@eslint-community/eslint-utils@4.9.1_eslint@9.39.4": { + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dependencies": [ + "eslint", + "eslint-visitor-keys@3.4.3" + ] + }, + "@eslint-community/regexpp@4.12.2": { + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==" + }, + "@eslint/compat@2.0.5_eslint@9.39.4": { + "integrity": "sha512-IbHDbHJfkVNv6xjlET8AIVo/K1NQt7YT4Rp6ok/clyBGcpRx1l6gv0Rq3vBvYfPJIZt6ODf66Zq08FJNDpnzgg==", + "dependencies": [ + "@eslint/core@1.2.1", + "eslint" + ], + "optionalPeers": [ + "eslint" + ] + }, + "@eslint/config-array@0.21.2": { + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dependencies": [ + "@eslint/object-schema", + "debug", + "minimatch@3.1.5" + ] + }, + "@eslint/config-helpers@0.4.2": { + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dependencies": [ + "@eslint/core@0.17.0" + ] + }, + "@eslint/config-helpers@0.5.5": { + "integrity": "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==", + "dependencies": [ + "@eslint/core@1.2.1" + ] + }, + "@eslint/core@0.17.0": { + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dependencies": [ + "@types/json-schema" + ] + }, + "@eslint/core@1.2.1": { + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "dependencies": [ + "@types/json-schema" + ] + }, + "@eslint/eslintrc@3.3.5": { + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dependencies": [ + "ajv", + "debug", + "espree", + "globals@14.0.0", + "ignore@5.3.2", + "import-fresh", + "js-yaml", + "minimatch@3.1.5", + "strip-json-comments" + ] + }, + "@eslint/js@10.0.1_eslint@9.39.4": { + "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", + "dependencies": [ + "eslint" + ], + "optionalPeers": [ + "eslint" + ] + }, + "@eslint/js@9.39.4": { + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==" + }, + "@eslint/object-schema@2.1.7": { + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==" + }, + "@eslint/plugin-kit@0.4.1": { + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dependencies": [ + "@eslint/core@0.17.0", + "levn" + ] + }, + "@eslint/plugin-kit@0.6.1": { + "integrity": "sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==", + "dependencies": [ + "@eslint/core@1.2.1", + "levn" + ] + }, + "@fontsource/roboto@5.2.10": { + "integrity": "sha512-8HlA5FtSfz//oFSr2eL7GFXAiE7eIkcGOtx7tjsLKq+as702x9+GU7K95iDeWFapHC4M2hv9RrpXKRTGGBI8Zg==" + }, + "@humanfs/core@0.19.2": { + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dependencies": [ + "@humanfs/types" + ] + }, + "@humanfs/node@0.16.8": { + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dependencies": [ + "@humanfs/core", + "@humanfs/types", + "@humanwhocodes/retry" + ] + }, + "@humanfs/types@0.15.0": { + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==" + }, + "@humanwhocodes/module-importer@1.0.1": { + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + }, + "@humanwhocodes/retry@0.4.3": { + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==" + }, + "@johnsoncodehk/pug-beautify@0.2.2": { + "integrity": "sha512-qqNS/YD0Nck5wtQLCPHAfGVgWbbGafxSPjNh0ekYPFSNNqnDH2kamnduzYly8IiADmeVx/MfAE1njMEjVeHTMA==" + }, + "@jridgewell/gen-mapping@0.3.13": { + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dependencies": [ + "@jridgewell/sourcemap-codec", + "@jridgewell/trace-mapping" + ] + }, + "@jridgewell/remapping@2.3.5": { + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dependencies": [ + "@jridgewell/gen-mapping", + "@jridgewell/trace-mapping" + ] + }, + "@jridgewell/resolve-uri@3.1.2": { + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" + }, + "@jridgewell/sourcemap-codec@1.5.5": { + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" + }, + "@jridgewell/trace-mapping@0.3.31": { + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dependencies": [ + "@jridgewell/resolve-uri", + "@jridgewell/sourcemap-codec" + ] + }, + "@mdi/font@7.4.47": { + "integrity": "sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==" + }, + "@napi-rs/wasm-runtime@1.1.4_@emnapi+core@1.10.0_@emnapi+runtime@1.10.0": { + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dependencies": [ + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util" + ] + }, + "@nodelib/fs.scandir@2.1.5": { + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": [ + "@nodelib/fs.stat", + "run-parallel" + ] + }, + "@nodelib/fs.stat@2.0.5": { + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk@1.2.8": { + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": [ + "@nodelib/fs.scandir", + "fastq" + ] + }, + "@ota-meshi/ast-token-store@0.3.0": { + "integrity": "sha512-XRO0zi2NIUKq2lUk3T1ecFSld1fMWRKE6naRFGkgkdeosx7IslyUKNv5Dcb5PJTja9tHJoFu0v/7yEpAkrkrTg==" + }, + "@oxc-project/types@0.127.0": { + "integrity": "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==" + }, + "@parcel/watcher-android-arm64@2.5.6": { + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "os": ["android"], + "cpu": ["arm64"] + }, + "@parcel/watcher-darwin-arm64@2.5.6": { + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "os": ["darwin"], + "cpu": ["arm64"] + }, + "@parcel/watcher-darwin-x64@2.5.6": { + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "os": ["darwin"], + "cpu": ["x64"] + }, + "@parcel/watcher-freebsd-x64@2.5.6": { + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "os": ["freebsd"], + "cpu": ["x64"] + }, + "@parcel/watcher-linux-arm-glibc@2.5.6": { + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "os": ["linux"], + "cpu": ["arm"] + }, + "@parcel/watcher-linux-arm-musl@2.5.6": { + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "os": ["linux"], + "cpu": ["arm"] + }, + "@parcel/watcher-linux-arm64-glibc@2.5.6": { + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "@parcel/watcher-linux-arm64-musl@2.5.6": { + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "@parcel/watcher-linux-x64-glibc@2.5.6": { + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "os": ["linux"], + "cpu": ["x64"] + }, + "@parcel/watcher-linux-x64-musl@2.5.6": { + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "os": ["linux"], + "cpu": ["x64"] + }, + "@parcel/watcher-win32-arm64@2.5.6": { + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "os": ["win32"], + "cpu": ["arm64"] + }, + "@parcel/watcher-win32-ia32@2.5.6": { + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "os": ["win32"], + "cpu": ["ia32"] + }, + "@parcel/watcher-win32-x64@2.5.6": { + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "os": ["win32"], + "cpu": ["x64"] + }, + "@parcel/watcher@2.5.6": { + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "dependencies": [ + "detect-libc", + "is-glob", + "node-addon-api", + "picomatch@4.0.4" + ], + "optionalDependencies": [ + "@parcel/watcher-android-arm64", + "@parcel/watcher-darwin-arm64", + "@parcel/watcher-darwin-x64", + "@parcel/watcher-freebsd-x64", + "@parcel/watcher-linux-arm-glibc", + "@parcel/watcher-linux-arm-musl", + "@parcel/watcher-linux-arm64-glibc", + "@parcel/watcher-linux-arm64-musl", + "@parcel/watcher-linux-x64-glibc", + "@parcel/watcher-linux-x64-musl", + "@parcel/watcher-win32-arm64", + "@parcel/watcher-win32-ia32", + "@parcel/watcher-win32-x64" + ], + "scripts": true + }, + "@pkgr/core@0.2.9": { + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==" + }, + "@rolldown/binding-android-arm64@1.0.0-rc.17": { + "integrity": "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==", + "os": ["android"], + "cpu": ["arm64"] + }, + "@rolldown/binding-darwin-arm64@1.0.0-rc.17": { + "integrity": "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==", + "os": ["darwin"], + "cpu": ["arm64"] + }, + "@rolldown/binding-darwin-x64@1.0.0-rc.17": { + "integrity": "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==", + "os": ["darwin"], + "cpu": ["x64"] + }, + "@rolldown/binding-freebsd-x64@1.0.0-rc.17": { + "integrity": "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==", + "os": ["freebsd"], + "cpu": ["x64"] + }, + "@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17": { + "integrity": "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==", + "os": ["linux"], + "cpu": ["arm"] + }, + "@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17": { + "integrity": "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "@rolldown/binding-linux-arm64-musl@1.0.0-rc.17": { + "integrity": "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17": { + "integrity": "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==", + "os": ["linux"], + "cpu": ["ppc64"] + }, + "@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17": { + "integrity": "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==", + "os": ["linux"], + "cpu": ["s390x"] + }, + "@rolldown/binding-linux-x64-gnu@1.0.0-rc.17": { + "integrity": "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==", + "os": ["linux"], + "cpu": ["x64"] + }, + "@rolldown/binding-linux-x64-musl@1.0.0-rc.17": { + "integrity": "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==", + "os": ["linux"], + "cpu": ["x64"] + }, + "@rolldown/binding-openharmony-arm64@1.0.0-rc.17": { + "integrity": "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==", + "os": ["openharmony"], + "cpu": ["arm64"] + }, + "@rolldown/binding-wasm32-wasi@1.0.0-rc.17_@emnapi+core@1.10.0_@emnapi+runtime@1.10.0": { + "integrity": "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==", + "dependencies": [ + "@emnapi/core", + "@emnapi/runtime", + "@napi-rs/wasm-runtime" + ], + "cpu": ["wasm32"] + }, + "@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17": { + "integrity": "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==", + "os": ["win32"], + "cpu": ["arm64"] + }, + "@rolldown/binding-win32-x64-msvc@1.0.0-rc.17": { + "integrity": "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==", + "os": ["win32"], + "cpu": ["x64"] + }, + "@rolldown/pluginutils@1.0.0-rc.13": { + "integrity": "sha512-3ngTAv6F/Py35BsYbeeLeecvhMKdsKm4AoOETVhAA+Qc8nrA2I0kF7oa93mE9qnIurngOSpMnQ0x2nQY2FPviA==" + }, + "@rolldown/pluginutils@1.0.0-rc.17": { + "integrity": "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==" + }, + "@stylistic/eslint-plugin@5.10.0_eslint@9.39.4": { + "integrity": "sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==", + "dependencies": [ + "@eslint-community/eslint-utils", + "@typescript-eslint/types", + "eslint", + "eslint-visitor-keys@4.2.1", + "espree", + "estraverse", + "picomatch@4.0.4" + ] + }, + "@tsconfig/node22@22.0.5": { + "integrity": "sha512-hLf2ld+sYN/BtOJjHUWOk568dvjFQkHnLNa6zce25GIH+vxKfvTgm3qpaH6ToF5tu/NN0IH66s+Bb5wElHrLcw==" + }, + "@tybys/wasm-util@0.10.1": { + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dependencies": [ + "tslib" + ] + }, + "@types/estree@1.0.8": { + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==" + }, + "@types/json-schema@7.0.15": { + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "@types/node@24.12.2": { + "integrity": "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==", + "dependencies": [ + "undici-types" + ] + }, + "@typescript-eslint/eslint-plugin@8.59.1_@typescript-eslint+parser@8.59.1__eslint@9.39.4__typescript@5.9.3_eslint@9.39.4_typescript@5.9.3": { + "integrity": "sha512-BOziFIfE+6osHO9FoJG4zjoHUcvI7fTNBSpdAwrNH0/TLvzjsk2oo8XSSOT2HhqUyhZPfHv4UOffoJ9oEEQ7Ag==", + "dependencies": [ + "@eslint-community/regexpp", + "@typescript-eslint/parser", + "@typescript-eslint/scope-manager", + "@typescript-eslint/type-utils", + "@typescript-eslint/utils", + "@typescript-eslint/visitor-keys", + "eslint", + "ignore@7.0.5", + "natural-compare", + "ts-api-utils", + "typescript" + ] + }, + "@typescript-eslint/parser@8.59.1_eslint@9.39.4_typescript@5.9.3": { + "integrity": "sha512-HDQH9O/47Dxi1ceDhBXdaldtf/WV9yRYMjbjCuNk3qnaTD564qwv61Y7+gTxwxRKzSrgO5uhtw584igXVuuZkA==", + "dependencies": [ + "@typescript-eslint/scope-manager", + "@typescript-eslint/types", + "@typescript-eslint/typescript-estree", + "@typescript-eslint/visitor-keys", + "debug", + "eslint", + "typescript" + ] + }, + "@typescript-eslint/project-service@8.59.1_typescript@5.9.3": { + "integrity": "sha512-+MuHQlHiEr00Of/IQbE/MmEoi44znZHbR/Pz7Opq4HryUOlRi+/44dro9Ycy8Fyo+/024IWtw8m4JUMCGTYxDg==", + "dependencies": [ + "@typescript-eslint/tsconfig-utils", + "@typescript-eslint/types", + "debug", + "typescript" + ] + }, + "@typescript-eslint/scope-manager@8.59.1": { + "integrity": "sha512-LwuHQI4pDOYVKvmH2dkaJo6YZCSgouVgnS/z7yBPKBMvgtBvyLqiLy9Z6b7+m/TRcX1NFYUqZetI5Y+aT4GEfg==", + "dependencies": [ + "@typescript-eslint/types", + "@typescript-eslint/visitor-keys" + ] + }, + "@typescript-eslint/tsconfig-utils@8.59.1_typescript@5.9.3": { + "integrity": "sha512-/0nEyPbX7gRsk0Uwfe4ALwwgxuA66d/l2mhRDNlAvaj4U3juhUtJNq0DsY8M2AYwwb9rEq2hrC3IcIcEt++iJA==", + "dependencies": [ + "typescript" + ] + }, + "@typescript-eslint/type-utils@8.59.1_eslint@9.39.4_typescript@5.9.3": { + "integrity": "sha512-klWPBR2ciQHS3f++ug/mVnWKPjBUo7icEL3FAO1lhAR1Z1i5NQYZ1EannMSRYcq5qCv5wNALlXr6fksRHyYl7w==", + "dependencies": [ + "@typescript-eslint/types", + "@typescript-eslint/typescript-estree", + "@typescript-eslint/utils", + "debug", + "eslint", + "ts-api-utils", + "typescript" + ] + }, + "@typescript-eslint/types@8.59.1": { + "integrity": "sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A==" + }, + "@typescript-eslint/typescript-estree@8.59.1_typescript@5.9.3": { + "integrity": "sha512-OUd+vJS05sSkOip+BkZ/2NS8RMxrAAJemsC6vU3kmfLyeaJT0TftHkV9mcx2107MmsBVXXexhVu4F0TZXyMl4g==", + "dependencies": [ + "@typescript-eslint/project-service", + "@typescript-eslint/tsconfig-utils", + "@typescript-eslint/types", + "@typescript-eslint/visitor-keys", + "debug", + "minimatch@10.2.5", + "semver", + "tinyglobby", + "ts-api-utils", + "typescript" + ] + }, + "@typescript-eslint/utils@8.59.1_eslint@9.39.4_typescript@5.9.3": { + "integrity": "sha512-3pIeoXhCeYH9FSCBI8P3iNwJlGuzPlYKkTlen2O9T1DSeeg8UG8jstq6BLk+Mda0qup7mgk4z4XL4OzRaxZ8LA==", + "dependencies": [ + "@eslint-community/eslint-utils", + "@typescript-eslint/scope-manager", + "@typescript-eslint/types", + "@typescript-eslint/typescript-estree", + "eslint", + "typescript" + ] + }, + "@typescript-eslint/visitor-keys@8.59.1": { + "integrity": "sha512-LdDNl6C5iJExcM0Yh0PwAIBb9PrSiCsWamF/JyEZawm3kFDnRoaq3LGE4bpyRao/fWeGKKyw7icx0YxrLFC5Cg==", + "dependencies": [ + "@typescript-eslint/types", + "eslint-visitor-keys@5.0.1" + ] + }, + "@vitejs/plugin-vue@6.0.6_vite@8.0.10__@types+node@24.12.2__sass-embedded@1.99.0_vue@3.5.33__typescript@5.9.3_@types+node@24.12.2_sass-embedded@1.99.0_typescript@5.9.3": { + "integrity": "sha512-u9HHgfrq3AjXlysn0eINFnWQOJQLO9WN6VprZ8FXl7A2bYisv3Hui9Ij+7QZ41F/WYWarHjwBbXtD7dKg3uxbg==", + "dependencies": [ + "@rolldown/pluginutils@1.0.0-rc.13", + "vite", + "vue" + ] + }, + "@volar/language-core@2.4.28": { + "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==", + "dependencies": [ + "@volar/source-map" + ] + }, + "@volar/language-server@2.4.28": { + "integrity": "sha512-NqcLnE5gERKuS4PUFwlhMxf6vqYo7hXtbMFbViXcbVkbZ905AIVWhnSo0ZNBC2V127H1/2zP7RvVOVnyITFfBw==", + "dependencies": [ + "@volar/language-core", + "@volar/language-service", + "@volar/typescript", + "path-browserify", + "request-light", + "vscode-languageserver", + "vscode-languageserver-protocol", + "vscode-languageserver-textdocument", + "vscode-uri" + ] + }, + "@volar/language-service@2.4.28": { + "integrity": "sha512-Rh/wYCZJrI5vCwMk9xyw/Z+MsWxlJY1rmMZPsxUoJKfzIRjS/NF1NmnuEcrMbEVGja00aVpCsInJfixQTMdvLw==", + "dependencies": [ + "@volar/language-core", + "vscode-languageserver-protocol", + "vscode-languageserver-textdocument", + "vscode-uri" + ] + }, + "@volar/source-map@2.4.28": { + "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==" + }, + "@volar/typescript@2.4.28": { + "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", + "dependencies": [ + "@volar/language-core", + "path-browserify", + "vscode-uri" + ] + }, + "@vscode/emmet-helper@2.11.0": { + "integrity": "sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==", + "dependencies": [ + "emmet", + "jsonc-parser@2.3.1", + "vscode-languageserver-textdocument", + "vscode-languageserver-types", + "vscode-uri" + ] + }, + "@vscode/l10n@0.0.18": { + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==" + }, + "@vue-macros/common@3.1.2_vue@3.5.33__typescript@5.9.3_typescript@5.9.3": { + "integrity": "sha512-h9t4ArDdniO9ekYHAD95t9AZcAbb19lEGK+26iAjUODOIJKmObDNBSe4+6ELQAA3vtYiFPPBtHh7+cQCKi3Dng==", + "dependencies": [ + "@vue/compiler-sfc", + "ast-kit", + "local-pkg", + "magic-string-ast", + "unplugin-utils", + "vue" + ], + "optionalPeers": [ + "vue" + ] + }, + "@vue/compiler-core@3.5.33": { + "integrity": "sha512-3PZLQwFw4Za3TC8t0FvTy3wI16Kt+pmwcgNZca4Pj9iWL2E72a/gZlpBtAJvEdDMdCxdG/qq0C7PN0bsJuv0Rw==", + "dependencies": [ + "@babel/parser", + "@vue/shared", + "entities", + "estree-walker", + "source-map-js" + ] + }, + "@vue/compiler-dom@3.5.33": { + "integrity": "sha512-PXq0yrfCLzzL07rbXO4awtXY1Z06LG2eu6Adg3RJFa/j3Cii217XxxLXG22N330gw7GmALCY0Z8RgXEviwgpjA==", + "dependencies": [ + "@vue/compiler-core", + "@vue/shared" + ] + }, + "@vue/compiler-sfc@3.5.33": { + "integrity": "sha512-UTUvRO9cY+rROrx/pvN9P5Z7FgA6QGfokUCfhQE4EnmUj3rVnK+CHI0LsEO1pg+I7//iRYMUfcNcCPe7tg0CoA==", + "dependencies": [ + "@babel/parser", + "@vue/compiler-core", + "@vue/compiler-dom", + "@vue/compiler-ssr", + "@vue/shared", + "estree-walker", + "magic-string", + "postcss", + "source-map-js" + ] + }, + "@vue/compiler-ssr@3.5.33": { + "integrity": "sha512-IErjYdnj1qIupG5xxiVIYiiRvDhGWV4zuh/RCrwfYpuL+HWQzeU6lCk/nF9r7olWMnjKxCAkOctT2qFWFkzb1A==", + "dependencies": [ + "@vue/compiler-dom", + "@vue/shared" + ] + }, + "@vue/devtools-api@7.7.9": { + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "dependencies": [ + "@vue/devtools-kit@7.7.9" + ] + }, + "@vue/devtools-api@8.1.1": { + "integrity": "sha512-bsDMJ07b3GN1puVwJb/fyFnj/U2imyswK5UQVLZwVl7O05jDrt6BHxeG5XffmOOdasOj/bOmIjxJvGPxU7pcqw==", + "dependencies": [ + "@vue/devtools-kit@8.1.1" + ] + }, + "@vue/devtools-kit@7.7.9": { + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "dependencies": [ + "@vue/devtools-shared@7.7.9", + "birpc", + "hookable", + "mitt", + "perfect-debounce@1.0.0", + "speakingurl", + "superjson" + ] + }, + "@vue/devtools-kit@8.1.1": { + "integrity": "sha512-gVBaBv++i+adg4JpH71k9ppl4soyR7Y2McEqO5YNgv0BI1kMZ7BDX5gnwkZ5COYgiCyhejZG+yGNrBAjj6Coqg==", + "dependencies": [ + "@vue/devtools-shared@8.1.1", + "birpc", + "hookable", + "perfect-debounce@2.1.0" + ] + }, + "@vue/devtools-shared@7.7.9": { + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "dependencies": [ + "rfdc" + ] + }, + "@vue/devtools-shared@8.1.1": { + "integrity": "sha512-+h4ttmJYl/txpxHKaoZcaKpC+pvckgLzIDiSQlaQ7kKthKh8KuwoLW2D8hPJEnqKzXOvu15UHEoGyngAXCz0EQ==" + }, + "@vue/language-core@3.2.7": { + "integrity": "sha512-Gn4q/tRxbpVGLEuARQ43p3YELlNAFgRUVCgW9U5Cr+5q4vfD2bWDWpl3ABbJMXUt5xlE1dF8dkigg2aUq7JYYw==", + "dependencies": [ + "@volar/language-core", + "@vue/compiler-dom", + "@vue/shared", + "alien-signals", + "muggle-string", + "path-browserify", + "picomatch@4.0.4" + ] + }, + "@vue/language-plugin-pug@3.2.7": { + "integrity": "sha512-5D01iE73WYNZX38wGeU7qo0srDc1ATX6K+CAahJdDpxUIHPLE4AbUHP1lS790oT+ZLmlTqSBOFbTYDNtuKqA3A==", + "dependencies": [ + "@volar/source-map", + "muggle-string", + "pug-lexer", + "pug-parser", + "vscode-languageserver-textdocument" + ] + }, + "@vue/language-server@3.2.7_typescript@5.9.3": { + "integrity": "sha512-vBWojd/jghVMqg1bd3GEpNKKxyjgT7PQgWixiGKtpqfNVNlNOKKQjbwkkdl+XnoeokE2e74w6ax/gi0vvkNxFw==", + "dependencies": [ + "@volar/language-server", + "@vue/language-core", + "@vue/language-service", + "@vue/typescript-plugin", + "typescript", + "vscode-uri" + ], + "bin": true + }, + "@vue/language-service@3.2.7": { + "integrity": "sha512-Qm3ixu01VIgofbq2F2h9zAP5OkCehnrUQw/VJ7cZXOkTJenMRLKQ1SB1Dz6mUD00JoY5+X09iGvmPf/Hs8r4QQ==", + "dependencies": [ + "@volar/language-service", + "@vue/language-core", + "@vue/shared", + "path-browserify", + "volar-service-css", + "volar-service-emmet", + "volar-service-html", + "volar-service-json", + "volar-service-pug", + "volar-service-pug-beautify", + "volar-service-typescript", + "vscode-html-languageservice", + "vscode-uri" + ] + }, + "@vue/reactivity@3.5.33": { + "integrity": "sha512-p8UfIqyIhb0rYGlSgSBV+lPhF2iUSBcRy7enhTmPqKWadHy9kcOFYF1AejYBP9P+avnd3OBbD49DU4pLWX/94A==", + "dependencies": [ + "@vue/shared" + ] + }, + "@vue/runtime-core@3.5.33": { + "integrity": "sha512-UpFF45RI9//a7rvq7RdOQblb4tup7hHG9QsmIrxkFQLzQ7R8/iNQ5LE15NhLZ1/WcHMU2b47u6P33CPUelHyIQ==", + "dependencies": [ + "@vue/reactivity", + "@vue/shared" + ] + }, + "@vue/runtime-dom@3.5.33": { + "integrity": "sha512-IOxMsAOwquhfITgmOgaPYl7/j8gKUxUFoflRc+u4LxyD3+783xne8vNta1PONVCvCV9A0w7hkyEepINDqfO0tw==", + "dependencies": [ + "@vue/reactivity", + "@vue/runtime-core", + "@vue/shared", + "csstype" + ] + }, + "@vue/server-renderer@3.5.33_vue@3.5.33__typescript@5.9.3_typescript@5.9.3": { + "integrity": "sha512-0xylq/8/h44lVG0pZFknv1XIdEgymq2E9n59uTWJBG+dIgiT0TMCSsxrN7nO16Z0MU0MPjFcguBbZV8Itk52Hw==", + "dependencies": [ + "@vue/compiler-ssr", + "@vue/shared", + "vue" + ] + }, + "@vue/shared@3.5.33": { + "integrity": "sha512-5vR2QIlmaLG77Ygd4pMP6+SGQ5yox9VhtnbDWTy9DzMzdmeLxZ1QqxrywEZ9sa1AVubfIJyaCG3ytyWU81ufcQ==" + }, + "@vue/tsconfig@0.9.1_typescript@5.9.3_vue@3.5.33__typescript@5.9.3": { + "integrity": "sha512-buvjm+9NzLCJL29KY1j1991YYJ5e6275OiK+G4jtmfIb+z4POywbdm0wXusT9adVWqe0xqg70TbI7+mRx4uU9w==", + "dependencies": [ + "typescript", + "vue" + ], + "optionalPeers": [ + "typescript", + "vue" + ] + }, + "@vue/typescript-plugin@3.2.7_typescript@5.9.3": { + "integrity": "sha512-vsYve92WWhlAUYd+TB3GDVfLPLDBl4E+y9OcUxJ4wK216ybm8s0m1DK/9yBma9TfDVTqsE9UWHD5Yb1XKrGpPw==", + "dependencies": [ + "@volar/typescript", + "@vue/language-core", + "@vue/shared", + "path-browserify", + "vue-component-meta" + ] + }, + "@vuetify/loader-shared@2.1.2_vue@3.5.33__typescript@5.9.3_vuetify@4.0.6__typescript@5.9.3__vite-plugin-vuetify@2.1.3__vue@3.5.33___typescript@5.9.3__vite@8.0.10___@types+node@24.12.2___sass-embedded@1.99.0__@types+node@24.12.2__sass-embedded@1.99.0_typescript@5.9.3_vite-plugin-vuetify@2.1.3__vite@8.0.10___@types+node@24.12.2___sass-embedded@1.99.0__vue@3.5.33___typescript@5.9.3__vuetify@4.0.6__@types+node@24.12.2__sass-embedded@1.99.0__typescript@5.9.3": { + "integrity": "sha512-X+1jBLmXHkpQEnC0vyOb4rtX2QSkBiFhaFXz8yhQqN2A4vQ6k2nChxN4Ol7VAY5KoqMdFoRMnmNdp/1qYXDQig==", + "dependencies": [ + "upath", + "vue", + "vuetify" + ] + }, + "acorn-jsx@5.3.2_acorn@8.16.0": { + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dependencies": [ + "acorn@8.16.0" + ] + }, + "acorn@7.4.1": { + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": true + }, + "acorn@8.16.0": { + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "bin": true + }, + "ajv@6.15.0": { + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dependencies": [ + "fast-deep-equal", + "fast-json-stable-stringify", + "json-schema-traverse", + "uri-js" + ] + }, + "alien-signals@3.1.2": { + "integrity": "sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==" + }, + "ansi-styles@4.3.0": { + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": [ + "color-convert" + ] + }, + "ansi-styles@6.2.3": { + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==" + }, + "argparse@2.0.1": { + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "ast-kit@2.2.0": { + "integrity": "sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==", + "dependencies": [ + "@babel/parser", + "pathe" + ] + }, + "ast-walker-scope@0.8.3": { + "integrity": "sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==", + "dependencies": [ + "@babel/parser", + "ast-kit" + ] + }, + "balanced-match@1.0.2": { + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "balanced-match@4.0.4": { + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==" + }, + "baseline-browser-mapping@2.10.23": { + "integrity": "sha512-xwVXGqevyKPsiuQdLj+dZMVjidjJV508TBqexND5HrF89cGdCYCJFB3qhcxRHSeMctdCfbR1jrxBajhDy7o29g==", + "bin": true + }, + "birpc@2.9.0": { + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==" + }, + "boolbase@1.0.0": { + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "brace-expansion@1.1.14": { + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dependencies": [ + "balanced-match@1.0.2", + "concat-map" + ] + }, + "brace-expansion@5.0.5": { + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dependencies": [ + "balanced-match@4.0.4" + ] + }, + "braces@3.0.3": { + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": [ + "fill-range" + ] + }, + "browserslist@4.28.2": { + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dependencies": [ + "baseline-browser-mapping", + "caniuse-lite", + "electron-to-chromium", + "node-releases", + "update-browserslist-db" + ], + "bin": true + }, + "builtin-modules@5.1.0": { + "integrity": "sha512-c5JxaDrzwRjq3WyJkI1AGR5xy6Gr6udlt7sQPbl09+3ckB+Zo2qqQ2KhCTBr7Q8dHB43bENGYEk4xddrFH/b7A==" + }, + "call-bind-apply-helpers@1.0.2": { + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": [ + "es-errors", + "function-bind" + ] + }, + "call-bound@1.0.4": { + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dependencies": [ + "call-bind-apply-helpers", + "get-intrinsic" + ] + }, + "callsites@3.1.0": { + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "caniuse-lite@1.0.30001791": { + "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==" + }, + "chalk@4.1.2": { + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": [ + "ansi-styles@4.3.0", + "supports-color@7.2.0" + ] + }, + "change-case@5.4.4": { + "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==" + }, + "character-parser@2.2.0": { + "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==", + "dependencies": [ + "is-regex" + ] + }, + "chokidar@4.0.3": { + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dependencies": [ + "readdirp@4.1.2" + ] + }, + "chokidar@5.0.0": { + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dependencies": [ + "readdirp@5.0.0" + ] + }, + "ci-info@4.4.0": { + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==" + }, + "citty@0.2.2": { + "integrity": "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==" + }, + "clean-regexp@1.0.0": { + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "dependencies": [ + "escape-string-regexp@1.0.5" + ] + }, + "color-convert@2.0.1": { + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": [ + "color-name" + ] + }, + "color-name@1.1.4": { + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "colorjs.io@0.5.2": { + "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==" + }, + "comment-parser@1.4.6": { + "integrity": "sha512-ObxuY6vnbWTN6Od72xfwN9DbzC7Y2vv8u1Soi9ahRKL37gb6y1qk6/dgjs+3JWuXJHWvsg3BXIwzd/rkmAwavg==" + }, + "concat-map@0.0.1": { + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "confbox@0.1.8": { + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==" + }, + "confbox@0.2.4": { + "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==" + }, + "copy-anything@4.0.5": { + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "dependencies": [ + "is-what" + ] + }, + "core-js-compat@3.49.0": { + "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", + "dependencies": [ + "browserslist" + ] + }, + "cross-spawn@7.0.6": { + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dependencies": [ + "path-key", + "shebang-command", + "which@2.0.2" + ] + }, + "cssesc@3.0.0": { + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": true + }, + "csstype@3.2.3": { + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" + }, + "debug@4.4.3": { + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dependencies": [ + "ms" + ] + }, + "deep-is@0.1.4": { + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "detect-libc@2.1.2": { + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==" + }, + "diff-sequences@29.6.3": { + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" + }, + "dunder-proto@1.0.1": { + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": [ + "call-bind-apply-helpers", + "es-errors", + "gopd" + ] + }, + "electron-to-chromium@1.5.344": { + "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==" + }, + "emmet@2.4.11": { + "integrity": "sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==", + "dependencies": [ + "@emmetio/abbreviation", + "@emmetio/css-abbreviation" + ] + }, + "empathic@2.0.0": { + "integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==" + }, + "entities@7.0.1": { + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==" + }, + "es-define-property@1.0.1": { + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" + }, + "es-errors@1.3.0": { + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, + "es-object-atoms@1.1.1": { + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": [ + "es-errors" + ] + }, + "escalade@3.2.0": { + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" + }, + "escape-string-regexp@1.0.5": { + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "escape-string-regexp@4.0.0": { + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "eslint-config-flat-gitignore@2.3.0_eslint@9.39.4": { + "integrity": "sha512-bg4ZLGgoARg1naWfsINUUb/52Ksw/K22K+T16D38Y8v+/sGwwIYrGvH/JBjOin+RQtxxC9tzNNiy4shnGtGyyQ==", + "dependencies": [ + "@eslint/compat", + "eslint" + ] + }, + "eslint-config-vuetify@4.6.2_eslint@9.39.4_typescript@5.9.3_@stylistic+eslint-plugin@5.10.0__eslint@9.39.4_@typescript-eslint+parser@8.59.1__eslint@9.39.4__typescript@5.9.3_vue-eslint-parser@10.4.0__eslint@9.39.4": { + "integrity": "sha512-y4PbuUlsYvTBu82JBe/3lDKuSiknXx7YYS2YfriijPAi8O4O/CLghoPp3z2/LdK3Ls55XDH9dDczTwXzCqs+cw==", + "dependencies": [ + "@clack/prompts", + "@eslint/eslintrc", + "@eslint/js@10.0.1_eslint@9.39.4", + "@stylistic/eslint-plugin", + "@typescript-eslint/parser", + "eslint", + "eslint-config-flat-gitignore", + "eslint-flat-config-utils", + "eslint-plugin-antfu", + "eslint-plugin-import-lite", + "eslint-plugin-jsonc", + "eslint-plugin-perfectionist", + "eslint-plugin-pnpm", + "eslint-plugin-regexp", + "eslint-plugin-unicorn", + "eslint-plugin-vue", + "eslint-typegen", + "exsolve", + "globals@17.5.0", + "jsonc-eslint-parser", + "kolorist", + "local-pkg", + "nypm", + "package-manager-detector", + "tinyexec", + "typescript-eslint", + "vue-eslint-parser", + "yaml-eslint-parser" + ], + "bin": true + }, + "eslint-flat-config-utils@3.1.0": { + "integrity": "sha512-lM+Nwo2CzpuTS/RASQExlEIwk/BQoKqJWX6VbDlLMb/mveqvt9MMrRXFEkG3bseuK6g8noKZLeX82epkILtv4A==", + "dependencies": [ + "@eslint/config-helpers@0.5.5", + "pathe" + ] + }, + "eslint-json-compat-utils@0.2.3_eslint@9.39.4_jsonc-eslint-parser@3.1.0": { + "integrity": "sha512-RbBmDFyu7FqnjE8F0ZxPNzx5UaptdeS9Uu50r7A+D7s/+FCX+ybiyViYEgFUaFIFqSWJgZRTpL5d8Kanxxl2lQ==", + "dependencies": [ + "eslint", + "esquery", + "jsonc-eslint-parser" + ] + }, + "eslint-plugin-antfu@3.2.2_eslint@9.39.4": { + "integrity": "sha512-Qzixht2Dmd/pMbb5EnKqw2V8TiWHbotPlsORO8a+IzCLFwE0RxK8a9k4DCTFPzBwyxJzH+0m2Mn8IUGeGQkyUw==", + "dependencies": [ + "eslint" + ] + }, + "eslint-plugin-import-lite@0.6.0_eslint@9.39.4": { + "integrity": "sha512-80vevx2A7i3H7n1/6pqDO8cc5wRz6OwLDvIyVl9UflBV1N1f46e9Ihzi65IOLYoSxM6YykK2fTw1xm0Ixx6aTQ==", + "dependencies": [ + "eslint" + ] + }, + "eslint-plugin-jsonc@3.1.2_eslint@9.39.4_jsonc-eslint-parser@3.1.0": { + "integrity": "sha512-dopTxdB22iuOkgKyJCupEC5IYBItUT4J/teq1H5ddUObcaYhOURxtJElZczdcYnnKCghNU/vccuyPkliy2Wxsg==", + "dependencies": [ + "@eslint-community/eslint-utils", + "@eslint/core@1.2.1", + "@eslint/plugin-kit@0.6.1", + "@ota-meshi/ast-token-store", + "diff-sequences", + "eslint", + "eslint-json-compat-utils", + "jsonc-eslint-parser", + "natural-compare", + "synckit" + ] + }, + "eslint-plugin-perfectionist@5.9.0_eslint@9.39.4_typescript@5.9.3": { + "integrity": "sha512-8TWzg02zmnBdZwCkWLi8jhzqXI+fE7Z/RwV8SL6xD45tJ8Bp3wGuYL2XtQgfe/Wd0eBqOUX+s6ey73IyszvKTA==", + "dependencies": [ + "@typescript-eslint/utils", + "eslint", + "natural-orderby" + ] + }, + "eslint-plugin-pnpm@1.6.0_eslint@9.39.4": { + "integrity": "sha512-dxmt9r3zvPaft6IugS4i0k16xag3fTbOvm/road5uV9Y8qUCQT0xzheSh3gMlYAlC6vXRpfArBDsTZ7H7JKCbg==", + "dependencies": [ + "empathic", + "eslint", + "jsonc-eslint-parser", + "pathe", + "pnpm-workspace-yaml", + "tinyglobby", + "yaml", + "yaml-eslint-parser" + ] + }, + "eslint-plugin-regexp@3.1.0_eslint@9.39.4": { + "integrity": "sha512-qGXIC3DIKZHcK1H9A9+Byz9gmndY6TTSRkSMTZpNXdyCw2ObSehRgccJv35n9AdUakEjQp5VFNLas6BMXizCZg==", + "dependencies": [ + "@eslint-community/eslint-utils", + "@eslint-community/regexpp", + "comment-parser", + "eslint", + "jsdoc-type-pratt-parser", + "refa", + "regexp-ast-analysis", + "scslre" + ] + }, + "eslint-plugin-unicorn@64.0.0_eslint@9.39.4": { + "integrity": "sha512-rNZwalHh8i0UfPlhNwg5BTUO1CMdKNmjqe+TgzOTZnpKoi8VBgsW7u9qCHIdpxEzZ1uwrJrPF0uRb7l//K38gA==", + "dependencies": [ + "@babel/helper-validator-identifier", + "@eslint-community/eslint-utils", + "change-case", + "ci-info", + "clean-regexp", + "core-js-compat", + "eslint", + "find-up-simple", + "globals@17.5.0", + "indent-string", + "is-builtin-module", + "jsesc", + "pluralize", + "regexp-tree", + "regjsparser", + "semver", + "strip-indent" + ] + }, + "eslint-plugin-vue@10.9.0_@stylistic+eslint-plugin@5.10.0__eslint@9.39.4_@typescript-eslint+parser@8.59.1__eslint@9.39.4__typescript@5.9.3_eslint@9.39.4_vue-eslint-parser@10.4.0__eslint@9.39.4_typescript@5.9.3": { + "integrity": "sha512-EFNNzu4HqtTRb5DJINpyd+u3bDdzETWDMpCzG+UBHz1tpsnMDCeOcf61u4Wy/cbXnMymK+MT9bjH7KcG1fItSw==", + "dependencies": [ + "@eslint-community/eslint-utils", + "@stylistic/eslint-plugin", + "@typescript-eslint/parser", + "eslint", + "natural-compare", + "nth-check", + "postcss-selector-parser", + "semver", + "vue-eslint-parser", + "xml-name-validator" + ], + "optionalPeers": [ + "@stylistic/eslint-plugin", + "@typescript-eslint/parser" + ] + }, + "eslint-scope@8.4.0": { + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dependencies": [ + "esrecurse", + "estraverse" + ] + }, + "eslint-typegen@2.3.1_eslint@9.39.4": { + "integrity": "sha512-zVdh8rThBvv2o5T/K524Fr5iy1Jo0q09rHL7y7FbOhgMB177T2gw+shxfC4ChCEqdq6/y6LJA4j8Fbr/Xls9aw==", + "dependencies": [ + "eslint", + "json-schema-to-typescript-lite", + "ohash" + ] + }, + "eslint-visitor-keys@3.4.3": { + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" + }, + "eslint-visitor-keys@4.2.1": { + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==" + }, + "eslint-visitor-keys@5.0.1": { + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==" + }, + "eslint@9.39.4": { + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dependencies": [ + "@eslint-community/eslint-utils", + "@eslint-community/regexpp", + "@eslint/config-array", + "@eslint/config-helpers@0.4.2", + "@eslint/core@0.17.0", + "@eslint/eslintrc", + "@eslint/js@9.39.4", + "@eslint/plugin-kit@0.4.1", + "@humanfs/node", + "@humanwhocodes/module-importer", + "@humanwhocodes/retry", + "@types/estree", + "ajv", + "chalk", + "cross-spawn", + "debug", + "escape-string-regexp@4.0.0", + "eslint-scope", + "eslint-visitor-keys@4.2.1", + "espree", + "esquery", + "esutils", + "fast-deep-equal", + "file-entry-cache", + "find-up", + "glob-parent@6.0.2", + "ignore@5.3.2", + "imurmurhash", + "is-glob", + "json-stable-stringify-without-jsonify", + "lodash.merge", + "minimatch@3.1.5", + "natural-compare", + "optionator" + ], + "bin": true + }, + "espree@10.4.0_acorn@8.16.0": { + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dependencies": [ + "acorn@8.16.0", + "acorn-jsx", + "eslint-visitor-keys@4.2.1" + ] + }, + "esquery@1.7.0": { + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dependencies": [ + "estraverse" + ] + }, + "esrecurse@4.3.0": { + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": [ + "estraverse" + ] + }, + "estraverse@5.3.0": { + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "estree-walker@2.0.2": { + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils@2.0.3": { + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "exsolve@1.0.8": { + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==" + }, + "fast-deep-equal@3.1.3": { + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob@3.3.3": { + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dependencies": [ + "@nodelib/fs.stat", + "@nodelib/fs.walk", + "glob-parent@5.1.2", + "merge2", + "micromatch" + ] + }, + "fast-json-stable-stringify@2.1.0": { + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein@2.0.6": { + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "fast-string-truncated-width@1.2.1": { + "integrity": "sha512-Q9acT/+Uu3GwGj+5w/zsGuQjh9O1TyywhIwAxHudtWrgF09nHOPrvTLhQevPbttcxjr/SNN7mJmfOw/B1bXgow==" + }, + "fast-string-width@1.1.0": { + "integrity": "sha512-O3fwIVIH5gKB38QNbdg+3760ZmGz0SZMgvwJbA1b2TGXceKE6A2cOlfogh1iw8lr049zPyd7YADHy+B7U4W9bQ==", + "dependencies": [ + "fast-string-truncated-width" + ] + }, + "fast-wrap-ansi@0.1.6": { + "integrity": "sha512-HlUwET7a5gqjURj70D5jl7aC3Zmy4weA1SHUfM0JFI0Ptq987NH2TwbBFLoERhfwk+E+eaq4EK3jXoT+R3yp3w==", + "dependencies": [ + "fast-string-width" + ] + }, + "fastq@1.20.1": { + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dependencies": [ + "reusify" + ] + }, + "fdir@6.5.0_picomatch@4.0.4": { + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dependencies": [ + "picomatch@4.0.4" + ], + "optionalPeers": [ + "picomatch@4.0.4" + ] + }, + "file-entry-cache@8.0.0": { + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dependencies": [ + "flat-cache" + ] + }, + "fill-range@7.1.1": { + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": [ + "to-regex-range" + ] + }, + "find-up-simple@1.0.1": { + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==" + }, + "find-up@5.0.0": { + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": [ + "locate-path", + "path-exists" + ] + }, + "flat-cache@4.0.1": { + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dependencies": [ + "flatted", + "keyv" + ] + }, + "flatted@3.4.2": { + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==" + }, + "fsevents@2.3.3": { + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "os": ["darwin"], + "scripts": true + }, + "function-bind@1.1.2": { + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "get-intrinsic@1.3.0": { + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": [ + "call-bind-apply-helpers", + "es-define-property", + "es-errors", + "es-object-atoms", + "function-bind", + "get-proto", + "gopd", + "has-symbols", + "hasown", + "math-intrinsics" + ] + }, + "get-proto@1.0.1": { + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": [ + "dunder-proto", + "es-object-atoms" + ] + }, + "glob-parent@5.1.2": { + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": [ + "is-glob" + ] + }, + "glob-parent@6.0.2": { + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": [ + "is-glob" + ] + }, + "globals@14.0.0": { + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==" + }, + "globals@17.5.0": { + "integrity": "sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g==" + }, + "gopd@1.2.0": { + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" + }, + "has-flag@4.0.0": { + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-symbols@1.1.0": { + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" + }, + "has-tostringtag@1.0.2": { + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": [ + "has-symbols" + ] + }, + "hasown@2.0.3": { + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "dependencies": [ + "function-bind" + ] + }, + "hookable@5.5.3": { + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==" + }, + "ignore@5.3.2": { + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==" + }, + "ignore@7.0.5": { + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==" + }, + "immutable@5.1.5": { + "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==" + }, + "import-fresh@3.3.1": { + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dependencies": [ + "parent-module", + "resolve-from" + ] + }, + "imurmurhash@0.1.4": { + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "indent-string@5.0.0": { + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==" + }, + "is-builtin-module@5.0.0": { + "integrity": "sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==", + "dependencies": [ + "builtin-modules" + ] + }, + "is-expression@4.0.0": { + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "dependencies": [ + "acorn@7.4.1", + "object-assign" + ] + }, + "is-extglob@2.1.1": { + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob@4.0.3": { + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": [ + "is-extglob" + ] + }, + "is-number@7.0.0": { + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-regex@1.2.1": { + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dependencies": [ + "call-bound", + "gopd", + "has-tostringtag", + "hasown" + ] + }, + "is-what@5.5.0": { + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==" + }, + "isexe@2.0.0": { + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isexe@3.1.5": { + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==" + }, + "js-yaml@4.1.1": { + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dependencies": [ + "argparse" + ], + "bin": true + }, + "jsdoc-type-pratt-parser@7.2.0": { + "integrity": "sha512-dh140MMgjyg3JhJZY/+iEzW+NO5xR2gpbDFKHqotCmexElVntw7GjWjt511+C/Ef02RU5TKYrJo/Xlzk+OLaTw==" + }, + "jsesc@3.1.0": { + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "bin": true + }, + "json-buffer@3.0.1": { + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "json-parse-even-better-errors@4.0.0": { + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==" + }, + "json-schema-to-typescript-lite@15.0.0_@types+json-schema@7.0.15": { + "integrity": "sha512-5mMORSQm9oTLyjM4mWnyNBi2T042Fhg1/0gCIB6X8U/LVpM2A+Nmj2yEyArqVouDmFThDxpEXcnTgSrjkGJRFA==", + "dependencies": [ + "@apidevtools/json-schema-ref-parser", + "@types/json-schema" + ] + }, + "json-schema-traverse@0.4.1": { + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify@1.0.1": { + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "json5@2.2.3": { + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": true + }, + "jsonc-eslint-parser@3.1.0": { + "integrity": "sha512-75EA7EWZExL/j+MDKQrRbdzcRI2HOkRlmUw8fZJc1ioqFEOvBsq7Rt+A6yCxOt9w/TYNpkt52gC6nm/g5tFIng==", + "dependencies": [ + "acorn@8.16.0", + "eslint-visitor-keys@5.0.1", + "semver" + ] + }, + "jsonc-parser@2.3.1": { + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==" + }, + "jsonc-parser@3.3.1": { + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==" + }, + "keyv@4.5.4": { + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": [ + "json-buffer" + ] + }, + "kolorist@1.8.0": { + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==" + }, + "levn@0.4.1": { + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": [ + "prelude-ls", + "type-check" + ] + }, + "lightningcss-android-arm64@1.32.0": { + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "os": ["android"], + "cpu": ["arm64"] + }, + "lightningcss-darwin-arm64@1.32.0": { + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "os": ["darwin"], + "cpu": ["arm64"] + }, + "lightningcss-darwin-x64@1.32.0": { + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "os": ["darwin"], + "cpu": ["x64"] + }, + "lightningcss-freebsd-x64@1.32.0": { + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "os": ["freebsd"], + "cpu": ["x64"] + }, + "lightningcss-linux-arm-gnueabihf@1.32.0": { + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "os": ["linux"], + "cpu": ["arm"] + }, + "lightningcss-linux-arm64-gnu@1.32.0": { + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "lightningcss-linux-arm64-musl@1.32.0": { + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "lightningcss-linux-x64-gnu@1.32.0": { + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "os": ["linux"], + "cpu": ["x64"] + }, + "lightningcss-linux-x64-musl@1.32.0": { + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "os": ["linux"], + "cpu": ["x64"] + }, + "lightningcss-win32-arm64-msvc@1.32.0": { + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "os": ["win32"], + "cpu": ["arm64"] + }, + "lightningcss-win32-x64-msvc@1.32.0": { + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "os": ["win32"], + "cpu": ["x64"] + }, + "lightningcss@1.32.0": { + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dependencies": [ + "detect-libc" + ], + "optionalDependencies": [ + "lightningcss-android-arm64", + "lightningcss-darwin-arm64", + "lightningcss-darwin-x64", + "lightningcss-freebsd-x64", + "lightningcss-linux-arm-gnueabihf", + "lightningcss-linux-arm64-gnu", + "lightningcss-linux-arm64-musl", + "lightningcss-linux-x64-gnu", + "lightningcss-linux-x64-musl", + "lightningcss-win32-arm64-msvc", + "lightningcss-win32-x64-msvc" + ] + }, + "local-pkg@1.1.2": { + "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", + "dependencies": [ + "mlly", + "pkg-types@2.3.1", + "quansync" + ] + }, + "locate-path@6.0.0": { + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": [ + "p-locate" + ] + }, + "lodash.merge@4.6.2": { + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "magic-string-ast@1.0.3": { + "integrity": "sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==", + "dependencies": [ + "magic-string" + ] + }, + "magic-string@0.30.21": { + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dependencies": [ + "@jridgewell/sourcemap-codec" + ] + }, + "math-intrinsics@1.1.0": { + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" + }, + "memorystream@0.3.1": { + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" + }, + "merge2@1.4.1": { + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch@4.0.8": { + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": [ + "braces", + "picomatch@2.3.2" + ] + }, + "minimatch@10.2.5": { + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dependencies": [ + "brace-expansion@5.0.5" + ] + }, + "minimatch@3.1.5": { + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dependencies": [ + "brace-expansion@1.1.14" + ] + }, + "mitt@3.0.1": { + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" + }, + "mlly@1.8.2": { + "integrity": "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==", + "dependencies": [ + "acorn@8.16.0", + "pathe", + "pkg-types@1.3.1", + "ufo" + ] + }, + "ms@2.1.3": { + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "muggle-string@0.4.1": { + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==" + }, + "nanoid@3.3.11": { + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "bin": true + }, + "natural-compare@1.4.0": { + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "natural-orderby@5.0.0": { + "integrity": "sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==" + }, + "node-addon-api@7.1.1": { + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" + }, + "node-releases@2.0.38": { + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==" + }, + "npm-normalize-package-bin@4.0.0": { + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==" + }, + "npm-run-all2@8.0.4": { + "integrity": "sha512-wdbB5My48XKp2ZfJUlhnLVihzeuA1hgBnqB2J9ahV77wLS+/YAJAlN8I+X3DIFIPZ3m5L7nplmlbhNiFDmXRDA==", + "dependencies": [ + "ansi-styles@6.2.3", + "cross-spawn", + "memorystream", + "picomatch@4.0.4", + "pidtree", + "read-package-json-fast", + "shell-quote", + "which@5.0.0" + ], + "bin": true + }, + "nth-check@2.1.1": { + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": [ + "boolbase" + ] + }, + "nypm@0.6.6": { + "integrity": "sha512-vRyr0r4cbBapw07Xw8xrj9Teq3o7MUD35rSaTcanDbW+aK2XHDgJFiU6ZTj2GBw7Q12ysdsyFss+Vdz4hQ0Y6Q==", + "dependencies": [ + "citty", + "pathe", + "tinyexec" + ], + "bin": true + }, + "object-assign@4.1.1": { + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "ohash@2.0.11": { + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==" + }, + "optionator@0.9.4": { + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dependencies": [ + "deep-is", + "fast-levenshtein", + "levn", + "prelude-ls", + "type-check", + "word-wrap" + ] + }, + "p-limit@3.1.0": { + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": [ + "yocto-queue" + ] + }, + "p-locate@5.0.0": { + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": [ + "p-limit" + ] + }, + "package-manager-detector@1.6.0": { + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==" + }, + "parent-module@1.0.1": { + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": [ + "callsites" + ] + }, + "path-browserify@1.0.1": { + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + }, + "path-exists@4.0.0": { + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-key@3.1.1": { + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "pathe@2.0.3": { + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==" + }, + "perfect-debounce@1.0.0": { + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==" + }, + "perfect-debounce@2.1.0": { + "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==" + }, + "picocolors@1.1.1": { + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "picomatch@2.3.2": { + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==" + }, + "picomatch@4.0.4": { + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==" + }, + "pidtree@0.6.0": { + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "bin": true + }, + "pinia@3.0.4_typescript@5.9.3_vue@3.5.33__typescript@5.9.3": { + "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", + "dependencies": [ + "@vue/devtools-api@7.7.9", + "typescript", + "vue" + ], + "optionalPeers": [ + "typescript" + ] + }, + "pkg-types@1.3.1": { + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dependencies": [ + "confbox@0.1.8", + "mlly", + "pathe" + ] + }, + "pkg-types@2.3.1": { + "integrity": "sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==", + "dependencies": [ + "confbox@0.2.4", + "exsolve", + "pathe" + ] + }, + "pluralize@8.0.0": { + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" + }, + "pnpm-workspace-yaml@1.6.0": { + "integrity": "sha512-uUy4dK3E11sp7nK+hnT7uAWfkBMe00KaUw8OG3NuNlYQoTk4sc9pcdIy1+XIP85v9Tvr02mK3JPaNNrP0QyRaw==", + "dependencies": [ + "yaml" + ] + }, + "postcss-selector-parser@7.1.1": { + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dependencies": [ + "cssesc", + "util-deprecate" + ] + }, + "postcss@8.5.12": { + "integrity": "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==", + "dependencies": [ + "nanoid", + "picocolors", + "source-map-js" + ] + }, + "prelude-ls@1.2.1": { + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "prettier@3.8.3": { + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", + "bin": true + }, + "pug-error@2.1.0": { + "integrity": "sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg==" + }, + "pug-lexer@5.0.1": { + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "dependencies": [ + "character-parser", + "is-expression", + "pug-error" + ] + }, + "pug-parser@6.0.0": { + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "dependencies": [ + "pug-error", + "token-stream" + ] + }, + "punycode@2.3.1": { + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + }, + "quansync@0.2.11": { + "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==" + }, + "queue-microtask@1.2.3": { + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "read-package-json-fast@4.0.0": { + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", + "dependencies": [ + "json-parse-even-better-errors", + "npm-normalize-package-bin" + ] + }, + "readdirp@4.1.2": { + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==" + }, + "readdirp@5.0.0": { + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==" + }, + "refa@0.12.1": { + "integrity": "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==", + "dependencies": [ + "@eslint-community/regexpp" + ] + }, + "regexp-ast-analysis@0.7.1": { + "integrity": "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==", + "dependencies": [ + "@eslint-community/regexpp", + "refa" + ] + }, + "regexp-tree@0.1.27": { + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "bin": true + }, + "regjsparser@0.13.1": { + "integrity": "sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==", + "dependencies": [ + "jsesc" + ], + "bin": true + }, + "request-light@0.7.0": { + "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==" + }, + "resolve-from@4.0.0": { + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "reusify@1.1.0": { + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==" + }, + "rfdc@1.4.1": { + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" + }, + "rolldown@1.0.0-rc.17": { + "integrity": "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==", + "dependencies": [ + "@oxc-project/types", + "@rolldown/pluginutils@1.0.0-rc.17" + ], + "optionalDependencies": [ + "@rolldown/binding-android-arm64", + "@rolldown/binding-darwin-arm64", + "@rolldown/binding-darwin-x64", + "@rolldown/binding-freebsd-x64", + "@rolldown/binding-linux-arm-gnueabihf", + "@rolldown/binding-linux-arm64-gnu", + "@rolldown/binding-linux-arm64-musl", + "@rolldown/binding-linux-ppc64-gnu", + "@rolldown/binding-linux-s390x-gnu", + "@rolldown/binding-linux-x64-gnu", + "@rolldown/binding-linux-x64-musl", + "@rolldown/binding-openharmony-arm64", + "@rolldown/binding-wasm32-wasi", + "@rolldown/binding-win32-arm64-msvc", + "@rolldown/binding-win32-x64-msvc" + ], + "bin": true + }, + "run-parallel@1.2.0": { + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dependencies": [ + "queue-microtask" + ] + }, + "rxjs@7.8.2": { + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dependencies": [ + "tslib" + ] + }, + "sass-embedded-all-unknown@1.99.0": { + "integrity": "sha512-qPIRG8Uhjo6/OKyAKixTnwMliTz+t9K6Duk0mx5z+K7n0Ts38NSJz2sjDnc7cA/8V9Lb3q09H38dZ1CLwD+ssw==", + "dependencies": [ + "sass" + ], + "cpu": ["!arm", "!arm64", "!riscv64", "!x64"] + }, + "sass-embedded-android-arm64@1.99.0": { + "integrity": "sha512-fNHhdnP23yqqieCbAdym4N47AleSwjbNt6OYIYx4DdACGdtERjQB4iOX/TaKsW034MupfF7SjnAAK8w7Ptldtg==", + "os": ["android"], + "cpu": ["arm64"] + }, + "sass-embedded-android-arm@1.99.0": { + "integrity": "sha512-EHvJ0C7/VuP78Qr6f8gIUVUmCqIorEQpw2yp3cs3SMg02ZuumlhjXvkTcFBxHmFdFR23vTNk1WnhY6QSeV1nFQ==", + "os": ["android"], + "cpu": ["arm"] + }, + "sass-embedded-android-riscv64@1.99.0": { + "integrity": "sha512-4zqDFRvgGDTL5vTHuIhRxUpXFoh0Cy7Gm5Ywk19ASd8Settmd14YdPRZPmMxfgS1GH292PofV1fq1ifiSEJWBw==", + "os": ["android"], + "cpu": ["riscv64"] + }, + "sass-embedded-android-x64@1.99.0": { + "integrity": "sha512-Uk53k/dGYt04RjOL4gFjZ0Z9DH9DKh8IA8WsXUkNqsxerAygoy3zqRBS2zngfE9K2jiOM87q+1R1p87ory9oQQ==", + "os": ["android"], + "cpu": ["x64"] + }, + "sass-embedded-darwin-arm64@1.99.0": { + "integrity": "sha512-u61/7U3IGLqoO6gL+AHeiAtlTPFwJK1+964U8gp45ZN0hzh1yrARf5O1mivXv8NnNgJvbG2wWJbiNZP0lG/lTg==", + "os": ["darwin"], + "cpu": ["arm64"] + }, + "sass-embedded-darwin-x64@1.99.0": { + "integrity": "sha512-j/kkk/NcXdIameLezSfXjgCiBkVcA+G60AXrX768/3g0miK1g7M9dj7xOhCb1i7/wQeiEI3rw2LLuO63xRIn4A==", + "os": ["darwin"], + "cpu": ["x64"] + }, + "sass-embedded-linux-arm64@1.99.0": { + "integrity": "sha512-btNcFpItcB56L40n8hDeL7sRSMLDXQ56nB5h2deddJx1n60rpKSElJmkaDGHtpkrY+CTtDRV0FZDjHeTJddYew==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "sass-embedded-linux-arm@1.99.0": { + "integrity": "sha512-d4IjJZrX2+AwB2YCy1JySwdptJECNP/WfAQLUl8txI3ka8/d3TUI155GtelnoZUkio211PwIeFvvAeZ9RXPQnw==", + "os": ["linux"], + "cpu": ["arm"] + }, + "sass-embedded-linux-musl-arm64@1.99.0": { + "integrity": "sha512-Hi2bt/IrM5P4FBKz6EcHAlniwfpoz9mnTdvSd58y+avA3SANM76upIkAdSayA8ZGwyL3gZokru1AKDPF9lJDNw==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "sass-embedded-linux-musl-arm@1.99.0": { + "integrity": "sha512-2gvHOupgIw3ytatXT4nFUow71LFbuOZPEwG+HUzcNQDH8ue4Ez8cr03vsv5MDv3lIjOKcXwDvWD980t18MwkoQ==", + "os": ["linux"], + "cpu": ["arm"] + }, + "sass-embedded-linux-musl-riscv64@1.99.0": { + "integrity": "sha512-mKqGvVaJ9rHMqyZsF0kikQe4NO0f4osb67+X6nLhBiVDKvyazQHJ3zJQreNefIE36yL2sjHIclSB//MprzaQDg==", + "os": ["linux"], + "cpu": ["riscv64"] + }, + "sass-embedded-linux-musl-x64@1.99.0": { + "integrity": "sha512-huhgOMmOc30r7CH7qbRbT9LerSEGSnWuS4CYNOskr9BvNeQp4dIneFufNRGZ7hkOAxUM8DglxIZJN/cyAT95Ew==", + "os": ["linux"], + "cpu": ["x64"] + }, + "sass-embedded-linux-riscv64@1.99.0": { + "integrity": "sha512-mevFPIFAVhrH90THifxLfOntFmHtcEKOcdWnep2gJ0X4DVva4AiVIRlQe/7w9JFx5+gnDRE1oaJJkzuFUuYZsA==", + "os": ["linux"], + "cpu": ["riscv64"] + }, + "sass-embedded-linux-x64@1.99.0": { + "integrity": "sha512-9k7IkULqIZdCIVt4Mboryt6vN8Mjmm3EhI1P3mClU5y5i3wLK5ExC3cbVWk047KsID/fvB1RLslqghXJx5BoxA==", + "os": ["linux"], + "cpu": ["x64"] + }, + "sass-embedded-unknown-all@1.99.0": { + "integrity": "sha512-P7MxiUtL/XzGo3PX0CaB8lNNEFLQWKikPA8pbKytx9ZCLZSDkt2NJcdAbblB/sqMs4AV3EK2NadV8rI/diq3xg==", + "dependencies": [ + "sass" + ], + "os": ["!android", "!darwin", "!linux", "!win32"] + }, + "sass-embedded-win32-arm64@1.99.0": { + "integrity": "sha512-8whpsW7S+uO8QApKfQuc36m3P9EISzbVZOgC79goob4qGy09u8Gz/rYvw8h1prJDSjltpHGhOzBE6LDz7WvzVw==", + "os": ["win32"], + "cpu": ["arm64"] + }, + "sass-embedded-win32-x64@1.99.0": { + "integrity": "sha512-ipuOv1R2K4MHeuCEAZGpuUbAgma4gb0sdacyrTjJtMOy/OY9UvWfVlwErdB09KIkp4fPDpQJDJfvYN6bC8jeNg==", + "os": ["win32"], + "cpu": ["x64"] + }, + "sass-embedded@1.99.0": { + "integrity": "sha512-gF/juR1aX02lZHkvwxdF80SapkQeg2fetoDF6gIQkNbSw5YEUFspMkyGTjPjgZSgIHuZpy+Wz4PlebKnLXMjdg==", + "dependencies": [ + "@bufbuild/protobuf", + "colorjs.io", + "immutable", + "rxjs", + "supports-color@8.1.1", + "sync-child-process", + "varint" + ], + "optionalDependencies": [ + "sass-embedded-all-unknown", + "sass-embedded-android-arm", + "sass-embedded-android-arm64", + "sass-embedded-android-riscv64", + "sass-embedded-android-x64", + "sass-embedded-darwin-arm64", + "sass-embedded-darwin-x64", + "sass-embedded-linux-arm", + "sass-embedded-linux-arm64", + "sass-embedded-linux-musl-arm", + "sass-embedded-linux-musl-arm64", + "sass-embedded-linux-musl-riscv64", + "sass-embedded-linux-musl-x64", + "sass-embedded-linux-riscv64", + "sass-embedded-linux-x64", + "sass-embedded-unknown-all", + "sass-embedded-win32-arm64", + "sass-embedded-win32-x64" + ], + "bin": true + }, + "sass@1.99.0": { + "integrity": "sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==", + "dependencies": [ + "chokidar@4.0.3", + "immutable", + "source-map-js" + ], + "optionalDependencies": [ + "@parcel/watcher" + ], + "bin": true + }, + "scslre@0.3.0": { + "integrity": "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==", + "dependencies": [ + "@eslint-community/regexpp", + "refa", + "regexp-ast-analysis" + ] + }, + "scule@1.3.0": { + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==" + }, + "semver@7.7.4": { + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "bin": true + }, + "shebang-command@2.0.0": { + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": [ + "shebang-regex" + ] + }, + "shebang-regex@3.0.0": { + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote@1.8.3": { + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==" + }, + "sisteransi@1.0.5": { + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "source-map-js@1.2.1": { + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" + }, + "speakingurl@14.0.1": { + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==" + }, + "strip-indent@4.1.1": { + "integrity": "sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==" + }, + "strip-json-comments@3.1.1": { + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "superjson@2.2.6": { + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "dependencies": [ + "copy-anything" + ] + }, + "supports-color@7.2.0": { + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": [ + "has-flag" + ] + }, + "supports-color@8.1.1": { + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": [ + "has-flag" + ] + }, + "sync-child-process@1.0.2": { + "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==", + "dependencies": [ + "sync-message-port" + ] + }, + "sync-message-port@1.2.0": { + "integrity": "sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg==" + }, + "synckit@0.11.12": { + "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", + "dependencies": [ + "@pkgr/core" + ] + }, + "tinyexec@1.1.1": { + "integrity": "sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==" + }, + "tinyglobby@0.2.16_picomatch@4.0.4": { + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dependencies": [ + "fdir", + "picomatch@4.0.4" + ] + }, + "to-regex-range@5.0.1": { + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": [ + "is-number" + ] + }, + "token-stream@1.0.0": { + "integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==" + }, + "ts-api-utils@2.5.0_typescript@5.9.3": { + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dependencies": [ + "typescript" + ] + }, + "tslib@2.8.1": { + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "type-check@0.4.0": { + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": [ + "prelude-ls" + ] + }, + "typescript-auto-import-cache@0.3.6": { + "integrity": "sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ==", + "dependencies": [ + "semver" + ] + }, + "typescript-eslint@8.59.1_eslint@9.39.4_typescript@5.9.3_@typescript-eslint+parser@8.59.1__eslint@9.39.4__typescript@5.9.3": { + "integrity": "sha512-xqDcFVBmlrltH64lklOVp1wYxgJr6LVdg3NamBgH2OOQDLFdTKfIZXF5PfghrnXQKXZGTQs8tr1vL7fJvq8CTQ==", + "dependencies": [ + "@typescript-eslint/eslint-plugin", + "@typescript-eslint/parser", + "@typescript-eslint/typescript-estree", + "@typescript-eslint/utils", + "eslint", + "typescript" + ] + }, + "typescript@5.9.3": { + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "bin": true + }, + "ufo@1.6.3": { + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==" + }, + "undici-types@7.16.0": { + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==" + }, + "unplugin-fonts@1.4.0_vite@8.0.10__@types+node@24.12.2__sass-embedded@1.99.0_@types+node@24.12.2_sass-embedded@1.99.0": { + "integrity": "sha512-TIJqr5rSlK/+3oL5nnrrEJ+Ty2taQ/bTJY1C5abYnksl553Q3HoHVqS4pnRLDkwpZq8AYqywib3kEVvHH+CtRQ==", + "dependencies": [ + "fast-glob", + "unplugin@2.3.5", + "vite" + ] + }, + "unplugin-utils@0.3.1": { + "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==", + "dependencies": [ + "pathe", + "picomatch@4.0.4" + ] + }, + "unplugin@2.3.5": { + "integrity": "sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==", + "dependencies": [ + "acorn@8.16.0", + "picomatch@4.0.4", + "webpack-virtual-modules" + ] + }, + "unplugin@3.0.0": { + "integrity": "sha512-0Mqk3AT2TZCXWKdcoaufeXNukv2mTrEZExeXlHIOZXdqYoHHr4n51pymnwV8x2BOVxwXbK2HLlI7usrqMpycdg==", + "dependencies": [ + "@jridgewell/remapping", + "picomatch@4.0.4", + "webpack-virtual-modules" + ] + }, + "upath@2.0.1": { + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==" + }, + "update-browserslist-db@1.2.3_browserslist@4.28.2": { + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dependencies": [ + "browserslist", + "escalade", + "picocolors" + ], + "bin": true + }, + "uri-js@4.4.1": { + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": [ + "punycode" + ] + }, + "util-deprecate@1.0.2": { + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "varint@6.0.0": { + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + }, + "vite-plugin-vuetify@2.1.3_vite@8.0.10__@types+node@24.12.2__sass-embedded@1.99.0_vue@3.5.33__typescript@5.9.3_vuetify@4.0.6_@types+node@24.12.2_sass-embedded@1.99.0_typescript@5.9.3": { + "integrity": "sha512-Q4SC/4TqbNvaZIFb9YsfBqkGlYHbJJJ6uU3CnRBZqLUF3s5eCMVZAaV4GkTbehIH/bhSj42lMXztOwc71u6rVw==", + "dependencies": [ + "@vuetify/loader-shared", + "debug", + "upath", + "vite", + "vue", + "vuetify" + ] + }, + "vite@8.0.10_@types+node@24.12.2_sass-embedded@1.99.0": { + "integrity": "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==", + "dependencies": [ + "@types/node", + "lightningcss", + "picomatch@4.0.4", + "postcss", + "rolldown", + "sass-embedded", + "tinyglobby" + ], + "optionalDependencies": [ + "fsevents" + ], + "optionalPeers": [ + "@types/node", + "sass-embedded" + ], + "bin": true + }, + "volar-service-css@0.0.70_@volar+language-service@2.4.28": { + "integrity": "sha512-K1qyOvBpE3rzdAv3e4/6Rv5yizrYPy5R/ne3IWCAzLBuMO4qBMV3kSqWzj6KUVe6S0AnN6wxF7cRkiaKfYMYJw==", + "dependencies": [ + "@volar/language-service", + "vscode-css-languageservice", + "vscode-languageserver-textdocument", + "vscode-uri" + ], + "optionalPeers": [ + "@volar/language-service" + ] + }, + "volar-service-emmet@0.0.70_@volar+language-service@2.4.28": { + "integrity": "sha512-xi5bC4m/VyE3zy/n2CXspKeDZs3qA41tHLTw275/7dNWM/RqE2z3BnDICQybHIVp/6G1iOQj5c1qXMgQC08TNg==", + "dependencies": [ + "@emmetio/css-parser", + "@emmetio/html-matcher", + "@volar/language-service", + "@vscode/emmet-helper", + "vscode-uri" + ], + "optionalPeers": [ + "@volar/language-service" + ] + }, + "volar-service-html@0.0.70_@volar+language-service@2.4.28": { + "integrity": "sha512-eR6vCgMdmYAo4n+gcT7DSyBQbwB8S3HZZvSagTf0sxNaD4WppMCFfpqWnkrlGStPKMZvMiejRRVmqsX9dYcTvQ==", + "dependencies": [ + "@volar/language-service", + "vscode-html-languageservice", + "vscode-languageserver-textdocument", + "vscode-uri" + ], + "optionalPeers": [ + "@volar/language-service" + ] + }, + "volar-service-json@0.0.70_@volar+language-service@2.4.28": { + "integrity": "sha512-cRP18LqxZU3vYsSqm2wQ5de689SlTnQ7iuHj/9SeVvfUncu8S0pmobMPnSZCzqkQzt2tbAvz4UNugVOyqhkQLw==", + "dependencies": [ + "@volar/language-service", + "vscode-json-languageservice", + "vscode-uri" + ], + "optionalPeers": [ + "@volar/language-service" + ] + }, + "volar-service-pug-beautify@0.0.70_@volar+language-service@2.4.28": { + "integrity": "sha512-4Ji7d4srisSSaFs6AfcobtzjAJUVobs3UfyWVhxuJnjcL5DsqbwFv2iwGCvGGTJmZxm1PbPN9r5tkUnPr8ZAOA==", + "dependencies": [ + "@johnsoncodehk/pug-beautify", + "@volar/language-service" + ], + "optionalPeers": [ + "@volar/language-service" + ] + }, + "volar-service-pug@0.0.70": { + "integrity": "sha512-9P+hgNVfd0BpdwBcErBNLESH4K66BEOZIPwjAb3DBpbTkPfQXa2r6MAvz/nkIh/bOG7/OO3W1eEPJRUEqzUOmw==", + "dependencies": [ + "@volar/language-service", + "@vue/language-plugin-pug", + "volar-service-html", + "vscode-html-languageservice", + "vscode-languageserver-textdocument" + ] + }, + "volar-service-typescript@0.0.70_@volar+language-service@2.4.28": { + "integrity": "sha512-l46Bx4cokkUedTd74ojO5H/zqHZJ8SUuyZ0IB8JN4jfRqUM3bQFBHoOwlZCyZmOeO0A3RQNkMnFclxO4c++gsg==", + "dependencies": [ + "@volar/language-service", + "path-browserify", + "semver", + "typescript-auto-import-cache", + "vscode-languageserver-textdocument", + "vscode-nls", + "vscode-uri" + ], + "optionalPeers": [ + "@volar/language-service" + ] + }, + "vscode-css-languageservice@6.3.10": { + "integrity": "sha512-eq5N9Er3fC4vA9zd9EFhyBG90wtCCuXgRSpAndaOgXMh1Wgep5lBgRIeDgjZBW9pa+332yC9+49cZMW8jcL3MA==", + "dependencies": [ + "@vscode/l10n", + "vscode-languageserver-textdocument", + "vscode-languageserver-types", + "vscode-uri" + ] + }, + "vscode-html-languageservice@5.6.2": { + "integrity": "sha512-ulCrSnFnfQ16YzvwnYUgEbUEl/ZG7u2eV27YhvLObSHKkb8fw1Z9cgsnUwjTEeDIdJDoTDTDpxuhQwoenoLNMg==", + "dependencies": [ + "@vscode/l10n", + "vscode-languageserver-textdocument", + "vscode-languageserver-types", + "vscode-uri" + ] + }, + "vscode-json-languageservice@5.7.2": { + "integrity": "sha512-WtKRDtJfFEmLrgtu+ODexOHm/6/krRF0k6t+uvkKIKW1Jh9ZIyxZQwJJwB3qhrEgvAxa37zbUg+vn+UyUK/U2w==", + "dependencies": [ + "@vscode/l10n", + "jsonc-parser@3.3.1", + "vscode-languageserver-textdocument", + "vscode-languageserver-types", + "vscode-uri" + ] + }, + "vscode-jsonrpc@8.2.0": { + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==" + }, + "vscode-languageserver-protocol@3.17.5": { + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dependencies": [ + "vscode-jsonrpc", + "vscode-languageserver-types" + ] + }, + "vscode-languageserver-textdocument@1.0.12": { + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==" + }, + "vscode-languageserver-types@3.17.5": { + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + }, + "vscode-languageserver@9.0.1": { + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "dependencies": [ + "vscode-languageserver-protocol" + ], + "bin": true + }, + "vscode-nls@5.2.0": { + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==" + }, + "vscode-uri@3.1.0": { + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==" + }, + "vue-component-meta@3.2.7_typescript@5.9.3": { + "integrity": "sha512-dxcDX+Qyhn0alsmjNBHO6/Irz7q1tv8uZnT+0gNkqMuTkL5bP/7XxsI8tOukq3jwkdFZAGO4bEqLl9rkPDF3uQ==", + "dependencies": [ + "@volar/typescript", + "@vue/language-core", + "path-browserify", + "typescript" + ], + "optionalPeers": [ + "typescript" + ] + }, + "vue-eslint-parser@10.4.0_eslint@9.39.4": { + "integrity": "sha512-Vxi9pJdbN3ZnVGLODVtZ7y4Y2kzAAE2Cm0CZ3ZDRvydVYxZ6VrnBhLikBsRS+dpwj4Jv4UCv21PTEwF5rQ9WXg==", + "dependencies": [ + "debug", + "eslint", + "eslint-scope", + "eslint-visitor-keys@5.0.1", + "espree", + "esquery", + "semver" + ] + }, + "vue-router@5.0.6_pinia@3.0.4__typescript@5.9.3__vue@3.5.33___typescript@5.9.3_vue@3.5.33__typescript@5.9.3_typescript@5.9.3": { + "integrity": "sha512-9+kmUTGbKMyW9Asoy98IXXYIzrTMT7JDAdpDDeEkorHvybpUvBI2wsrSM5jFOXrFydpzRFJ9vAh+80DN2PGu9w==", + "dependencies": [ + "@babel/generator", + "@vue-macros/common", + "@vue/devtools-api@8.1.1", + "ast-walker-scope", + "chokidar@5.0.0", + "json5", + "local-pkg", + "magic-string", + "mlly", + "muggle-string", + "pathe", + "picomatch@4.0.4", + "pinia", + "scule", + "tinyglobby", + "unplugin@3.0.0", + "unplugin-utils", + "vue", + "yaml" + ], + "optionalPeers": [ + "pinia" + ] + }, + "vue-tsc@3.2.7_typescript@5.9.3": { + "integrity": "sha512-zc1tL3HoQni1zGTGrwBVRQb7rGP5SWdu/m4rGB6JcnAC5MT5LFZIxF7Y+EJEnt4hGF23d60rXH7gRjHGb5KQQQ==", + "dependencies": [ + "@volar/typescript", + "@vue/language-core", + "typescript" + ], + "bin": true + }, + "vue@3.5.33_typescript@5.9.3": { + "integrity": "sha512-1AgChhx5w3ALgT4oK3acm2Es/7jyZhWSVUfs3rOBlGQC0rjEDkS7G4lWlJJGGNQD+BV3reCwbQrOe1mPNwKHBQ==", + "dependencies": [ + "@vue/compiler-dom", + "@vue/compiler-sfc", + "@vue/runtime-dom", + "@vue/server-renderer", + "@vue/shared", + "typescript" + ], + "optionalPeers": [ + "typescript" + ] + }, + "vuetify@4.0.6_typescript@5.9.3_vite-plugin-vuetify@2.1.3_vue@3.5.33__typescript@5.9.3_vite@8.0.10__@types+node@24.12.2__sass-embedded@1.99.0_@types+node@24.12.2_sass-embedded@1.99.0": { + "integrity": "sha512-a4kasYa3SuFI5IOG/0Fx04M4TWeef5mCdTTKFlaxt86oz16RMQ/DJ3BynlOnIdUODt7NxYIkdLYud070/vVEUQ==", + "dependencies": [ + "typescript", + "vite-plugin-vuetify", + "vue" + ], + "optionalPeers": [ + "typescript", + "vite-plugin-vuetify" + ] + }, + "webpack-virtual-modules@0.6.2": { + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==" + }, + "which@2.0.2": { + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": [ + "isexe@2.0.0" + ], + "bin": true + }, + "which@5.0.0": { + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dependencies": [ + "isexe@3.1.5" + ], + "bin": true + }, + "word-wrap@1.2.5": { + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==" + }, + "xml-name-validator@4.0.0": { + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==" + }, + "yaml-eslint-parser@2.0.0": { + "integrity": "sha512-h0uDm97wvT2bokfwwTmY6kJ1hp6YDFL0nRHwNKz8s/VD1FH/vvZjAKoMUE+un0eaYBSG7/c6h+lJTP+31tjgTw==", + "dependencies": [ + "eslint-visitor-keys@5.0.1", + "yaml" + ] + }, + "yaml@2.8.3": { + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", + "bin": true + }, + "yocto-queue@0.1.0": { + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + } + }, + "workspace": { + "packageJson": { + "dependencies": [ + "npm:@fontsource/roboto@^5.2.10", + "npm:@mdi/font@7.4.47", + "npm:@tsconfig/node22@^22.0.5", + "npm:@types/node@^24.12.0", + "npm:@vitejs/plugin-vue@^6.0.5", + "npm:@vue/language-server@^3.2.7", + "npm:@vue/tsconfig@0.9", + "npm:@vue/typescript-plugin@^3.2.7", + "npm:eslint-config-vuetify@^4.3.4", + "npm:eslint@^9.39.4", + "npm:npm-run-all2@^8.0.4", + "npm:pinia@^3.0.4", + "npm:prettier@^3.8.3", + "npm:sass-embedded@^1.98.0", + "npm:typescript@~5.9.3", + "npm:unplugin-fonts@^1.4.0", + "npm:vite-plugin-vuetify@^2.1.3", + "npm:vite@8", + "npm:vue-router@^5.0.3", + "npm:vue-tsc@^3.2.5", + "npm:vue@^3.5.30", + "npm:vuetify@^4.0.2" + ], + "overrides": { + "unplugin-fonts": { + "vite": "^8.0.0" + } + } + } + } +} diff --git a/env.d.ts b/env.d.ts new file mode 100644 index 0000000..db56195 --- /dev/null +++ b/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..1e9b773 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,5 @@ +import vuetify from 'eslint-config-vuetify' + +export default vuetify({ + ts: true, +}) diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..4889799 --- /dev/null +++ b/flake.lock @@ -0,0 +1,42 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1776877367, + "narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=", + "rev": "0726a0ecb6d4e08f6adced58726b95db924cef57", + "revCount": 985613, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.985613%2Brev-0726a0ecb6d4e08f6adced58726b95db924cef57/019dc33e-a3ef-7cf1-936a-cf64d10f6c63/source.tar.gz?rev=0726a0ecb6d4e08f6adced58726b95db924cef57&revCount=985613" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "vue-lsp": "vue-lsp" + } + }, + "vue-lsp": { + "locked": { + "lastModified": 1720494119, + "narHash": "sha256-IE7PZn9bSjxI4/MugjAEx49oPoxu0uKXdfC+X7HcRuQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "05bbf675397d5366259409139039af8077d695ce", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "rev": "05bbf675397d5366259409139039af8077d695ce", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..4e84f81 --- /dev/null +++ b/flake.nix @@ -0,0 +1,48 @@ +{ + description = "A Nix-flake-based Node.js development environment"; + + inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1"; # unstable Nixpkgs + inputs.vue-lsp.url = "github:nixos/nixpkgs?ref=05bbf675397d5366259409139039af8077d695ce"; + + outputs = + { self, ... }@inputs: + + let + supportedSystems = [ + "x86_64-linux" + "aarch64-linux" + "aarch64-darwin" + ]; + forEachSupportedSystem = + f: + inputs.nixpkgs.lib.genAttrs supportedSystems ( + system: + f { + inherit system; + pkgs = import inputs.nixpkgs { + inherit system; + }; + vue-lsp = import inputs.vue-lsp { + inherit system; + }; + } + ); + in + { + devShells = forEachSupportedSystem ( + { pkgs, system, vue-lsp }: + { + default = pkgs.mkShellNoCC { + packages = with pkgs; [ + deno + self.formatter.${system} + vue-lsp.vue-language-server + typescript-language-server + ]; + }; + } + ); + + formatter = forEachSupportedSystem ({ pkgs, ... }: pkgs.nixfmt); + }; +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..aaf3eec --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Welcome to Vuetify 4 + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..d8fd8c0 --- /dev/null +++ b/package.json @@ -0,0 +1,46 @@ +{ + "name": "pokedex", + "private": true, + "type": "module", + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build --force", + "lint": "eslint", + "lint:fix": "eslint --fix" + }, + "dependencies": { + "@fontsource/roboto": "^5.2.10", + "@mdi/font": "7.4.47", + "vue": "^3.5.30", + "vuetify": "^4.0.2", + "pinia": "^3.0.4", + "vue-router": "^5.0.3" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.5", + "@types/node": "^24.12.0", + "@vitejs/plugin-vue": "^6.0.5", + "@vue/language-server": "^3.2.7", + "@vue/tsconfig": "^0.9.0", + "@vue/typescript-plugin": "^3.2.7", + "npm-run-all2": "^8.0.4", + "prettier": "^3.8.3", + "sass-embedded": "^1.98.0", + "typescript": "~5.9.3", + "unplugin-fonts": "^1.4.0", + "vite": "^8.0.0", + "vite-plugin-vuetify": "^2.1.3", + "vue-tsc": "^3.2.5", + "eslint": "^9.39.4", + "eslint-config-vuetify": "^4.3.4" + }, + "overrides": { + "unplugin-fonts": { + "vite": "^8.0.0" + } + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8fb9f91b3aab4eec0c76ffc5342528033c61e247 GIT binary patch literal 15406 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 + + + + + + + + diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a5f23ae7bff64954cf3537377a9f99306baf083d GIT binary patch literal 11955 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 + + + + + diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue new file mode 100644 index 0000000..60f923c --- /dev/null +++ b/src/components/HelloWorld.vue @@ -0,0 +1,49 @@ + + + diff --git a/src/components/PkmnDetails.vue b/src/components/PkmnDetails.vue new file mode 100644 index 0000000..32f87f6 --- /dev/null +++ b/src/components/PkmnDetails.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/components/README.md b/src/components/README.md new file mode 100644 index 0000000..d1dc92f --- /dev/null +++ b/src/components/README.md @@ -0,0 +1,35 @@ +# Components + +Vue template files in this folder are automatically imported. + +## ๐Ÿš€ Usage + +Importing is handled by [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components). This plugin automatically imports `.vue` files created in the `src/components` directory, and registers them as global components. This means that you can use any component in your application without having to manually import it. + +The following example assumes a component located at `src/components/MyComponent.vue`: + +```vue + + + +``` + +When your template is rendered, the component's import will automatically be inlined, which renders to this: + +```vue + + + +``` diff --git a/src/composables/usePokemons.ts b/src/composables/usePokemons.ts new file mode 100644 index 0000000..7f4b7bd --- /dev/null +++ b/src/composables/usePokemons.ts @@ -0,0 +1,64 @@ +import { ref, onMounted, watch } from "vue"; +import { useAppStore } from "@/stores/app"; + +export interface Pokemon { + order: number + name: string + types: {slot: number, type: {name: string}}[] + sprites: {front_default: string} +} + + +export function usePokemons(eager = true) { + const pkmns = ref([]); + const searchStr = ref(""); + const loader = ref(false); + + const store = useAppStore() + + function fetchData(searchStrOverride?: string) { + loader.value = true; + (async () => { + try { + if (store.pkmns.get(searchStr.value)) { + return store.pkmns.get(searchStr.value) + } + const resp = await fetch("https://pokeapi.co/api/v2/pokemon/" + (searchStrOverride || searchStr.value), { + method: "GET", + }); + const data = await resp.json(); + if (data?.results) { + if (data.results.length) { + pkmns.value = await Promise.all(data.results.map(async (rawPkmn: { name: string; url: string; }) => { + const data = await fetch(rawPkmn.url); + const pkmn: Pokemon = await data.json(); + store.pkmns.set(pkmn.name.toLowerCase(), pkmn) + return pkmn + })); + } + } else { + pkmns.value = [data as Pokemon]; + } + } catch (e) { + pkmns.value = [] + } finally { + loader.value = false; + } + })(); + } + + onMounted(() => { + if (eager) { + fetchData(); + } + }); + + watch(searchStr, fetchData); + + return { + pkmns, + searchStr, + loader, + fetchData + }; +} diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..f898fe4 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,23 @@ +/** + * main.ts + * + * Bootstraps Vuetify and other plugins then mounts the App` + */ + +// Composables +import { createApp } from 'vue' + +// Plugins +import { registerPlugins } from '@/plugins' + +// Components +import App from './App.vue' + +// Styles +import 'unfonts.css' + +const app = createApp(App) + +registerPlugins(app) + +app.mount('#app') diff --git a/src/pages/index.vue b/src/pages/index.vue new file mode 100644 index 0000000..7646ab7 --- /dev/null +++ b/src/pages/index.vue @@ -0,0 +1,7 @@ + + + diff --git a/src/plugins/README.md b/src/plugins/README.md new file mode 100644 index 0000000..62201c7 --- /dev/null +++ b/src/plugins/README.md @@ -0,0 +1,3 @@ +# Plugins + +Plugins are a way to extend the functionality of your Vue application. Use this folder for registering plugins that you want to use globally. diff --git a/src/plugins/index.ts b/src/plugins/index.ts new file mode 100644 index 0000000..2ddcbad --- /dev/null +++ b/src/plugins/index.ts @@ -0,0 +1,19 @@ +import router from '../router'; +import {createPinia} from 'pinia'; +/** + * plugins/index.ts + * + * Automatically included in `./src/main.ts` + */ + +// Types +import type { App } from 'vue' + +// Plugins +import vuetify from './vuetify' + +export function registerPlugins (app: App) { + app.use(vuetify) + app.use(createPinia()); + app.use(router); +} \ No newline at end of file diff --git a/src/plugins/vuetify.ts b/src/plugins/vuetify.ts new file mode 100644 index 0000000..17ea9aa --- /dev/null +++ b/src/plugins/vuetify.ts @@ -0,0 +1,19 @@ +/** + * plugins/vuetify.ts + * + * Framework documentation: https://vuetifyjs.com` + */ + +// Composables +import { createVuetify } from 'vuetify' +// Styles +import '@mdi/font/css/materialdesignicons.css' + +import 'vuetify/styles' + +// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides +export default createVuetify({ + theme: { + defaultTheme: 'system', + }, +}) diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..0488c7b --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,26 @@ +/** + * router/index.ts + * + * Manual routes for ./src/pages/*.vue + */ + +// Composables +import { createRouter, createWebHistory } from 'vue-router' +import Index from '@/pages/index.vue' +import PkmnDetails from '@/components/PkmnDetails.vue' + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: "/:name", + component: PkmnDetails + }, + { + path: '/', + component: Index, + } + ], +}) + +export default router diff --git a/src/stores/app.ts b/src/stores/app.ts new file mode 100644 index 0000000..2ce4614 --- /dev/null +++ b/src/stores/app.ts @@ -0,0 +1,11 @@ +// Utilities +import type { Pokemon } from '@/composables/usePokemons' +import { defineStore } from 'pinia' + +export const useAppStore = defineStore('app', { + state: () => { + return { + pkmns: new Map() + } + } +}) diff --git a/src/styles/README.md b/src/styles/README.md new file mode 100644 index 0000000..ea86179 --- /dev/null +++ b/src/styles/README.md @@ -0,0 +1,3 @@ +# Styles + +This directory is for configuring the styles of the application. diff --git a/src/styles/settings.scss b/src/styles/settings.scss new file mode 100644 index 0000000..3e36a27 --- /dev/null +++ b/src/styles/settings.scss @@ -0,0 +1,10 @@ +/** + * src/styles/settings.scss + * + * Configures SASS variables and Vuetify overwrites + */ + +// https://vuetifyjs.com/features/sass-variables/` +// @use 'vuetify/settings' with ( +// $color-pack: false +// ); diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..92175f7 --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,27 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": [ + "env.d.ts", + "src/**/*", + "src/**/*.vue" + ], + "exclude": [ + "src/**/__tests__/*" + ], + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "baseUrl": ".", + "paths": { + "@/*": [ + "./src/*" + ] + } + }, + "vueCompilerOptions": { + "plugins": [ + "vue-router/volar/sfc-typed-router", + "vue-router/volar/sfc-route-blocks" + ] + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..66b5e57 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..5a0c6a5 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,19 @@ +{ + "extends": "@tsconfig/node22/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*" + ], + "compilerOptions": { + "composite": true, + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/vite.config.mts b/vite.config.mts new file mode 100644 index 0000000..83820fb --- /dev/null +++ b/vite.config.mts @@ -0,0 +1,50 @@ +import { fileURLToPath, URL } from 'node:url' +import Vue from '@vitejs/plugin-vue' +import Fonts from 'unplugin-fonts/vite' +import { defineConfig } from 'vite' +import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + Vue({ + template: { transformAssetUrls }, + }), + // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme + Vuetify({ + autoImport: true, + styles: { + configFile: 'src/styles/settings.scss', + }, + }), + Fonts({ + fontsource: { + families: [ + { + name: 'Roboto', + weights: [100, 300, 400, 500, 700, 900], + styles: ['normal', 'italic'], + }, + ], + }, + }), + ], + define: { 'process.env': {} }, + resolve: { + alias: { + '@': fileURLToPath(new URL('src', import.meta.url)), + }, + extensions: [ + '.js', + '.json', + '.jsx', + '.mjs', + '.ts', + '.tsx', + '.vue', + ], + }, + server: { + port: 3000, + }, +})