├── .github └── workflows │ └── npm-publish.yml ├── .gitignore ├── .node-version ├── .npmrc ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── docs ├── form.md └── migration.md ├── e2e └── modal.test.ts ├── eslint.config.js ├── package.json ├── playwright.config.ts ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── src ├── app.d.ts ├── app.html ├── lib │ ├── Modal.svelte │ └── index.ts └── routes │ └── +page.svelte ├── static └── favicon.png ├── svelte.config.js ├── tsconfig.json ├── vite.config.ts └── vitest.config.ts /.github/workflows/npm-publish.yml: -------------------------------------------------------------------------------- 1 | # https://docs.npmjs.com/generating-provenance-statements#example-github-actions-workflow 2 | # https://pnpm.io/continuous-integration#github-actions 3 | 4 | name: Publish Package to npmjs 5 | on: 6 | release: 7 | types: [created] 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | permissions: 12 | contents: read 13 | id-token: write 14 | steps: 15 | - uses: actions/checkout@v4 16 | - uses: pnpm/action-setup@v4 17 | - uses: actions/setup-node@v4 18 | with: 19 | node-version: '22' 20 | registry-url: 'https://registry.npmjs.org' 21 | cache: 'pnpm' 22 | - name: Set NPM_CONFIG_TAG 23 | run: | 24 | VERSION=$(jq -r '.version' package.json) 25 | if [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then 26 | echo "NPM_CONFIG_TAG=latest" >> $GITHUB_ENV 27 | else 28 | echo "NPM_CONFIG_TAG=next" >> $GITHUB_ENV 29 | fi 30 | - run: pnpm install 31 | - run: pnpm publish --no-git-checks --access public 32 | env: 33 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 34 | NPM_CONFIG_TAG: ${{ env.NPM_CONFIG_TAG }} 35 | NPM_CONFIG_PROVENANCE: true 36 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | test-results 2 | node_modules 3 | 4 | # Output 5 | .output 6 | .vercel 7 | .netlify 8 | .wrangler 9 | /.svelte-kit 10 | /build 11 | /dist 12 | 13 | # OS 14 | .DS_Store 15 | Thumbs.db 16 | 17 | # Env 18 | .env 19 | .env.* 20 | !.env.example 21 | !.env.test 22 | 23 | # Vite 24 | vite.config.js.timestamp-* 25 | vite.config.ts.timestamp-* 26 | -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | v22 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | 10 | # Ignore files for PNPM, NPM and YARN 11 | pnpm-lock.yaml 12 | package-lock.json 13 | yarn.lock 14 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "singleQuote": true, 4 | "trailingComma": "none", 5 | "printWidth": 100, 6 | "plugins": ["prettier-plugin-svelte"], 7 | "overrides": [ 8 | { 9 | "files": "*.svelte", 10 | "options": { "parser": "svelte" } 11 | }, 12 | { 13 | "files": "*.md", 14 | "options": { "useTabs": false } 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Hyunbin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Svelte HTML Modal 2 | 3 | Create modal using the [``] element. [Demo] 4 | 5 | [``]: https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement 6 | [demo]: https://svelte.dev/repl/7ffaea50f0c0466ea2b4be8e0aee20dd?version=5.2.7 7 | 8 | ## Features 9 | 10 | Requires Svelte v5 and runes mode. 11 | 12 | - **State Management**: Open and close modals with a single `$state(boolean)` 13 | - **Smooth Animations**: CSS transitions with `prefers-reduced-motion` support 14 | - **Automatic Scroll Lock**: Prevents `` scrolling while the modal is open 15 | - **Backdrop Control**: Close the modal by clicking anywhere outside of it 16 | - **Accessibility**: Native `` element with focus trap and Esc support 17 | - **Event Handling**: `oncancel` and `onclose` event handlers are supported 18 | - **[Browser Support]**: Works in 96.66% of browsers as of November, 2024 19 | 20 | [Browser Support]: https://caniuse.com/dialog 21 | 22 | ## Quick Start 23 | 24 | To upgrade from previous versions, see the [migration guide](/docs/migration.md). 25 | 26 | ```shell 27 | pnpm add svelte-html-modal -D 28 | npm i svelte-html-modal -D 29 | ``` 30 | 31 | ```svelte 32 | 43 | 44 | 45 | 46 | 47 | 48 | 64 | 65 | 66 | 81 | ``` 82 | 83 | ```html 84 | 85 | 95 | ``` 96 | 97 | 98 | 99 | 100 | For SvelteKit `use:enhance` usage, see [this documentation](/docs/form.md). 101 | 102 | ```svelte 103 | 104 |
105 | 106 |
107 |
108 | ``` 109 | 110 | ## Component Props 111 | 112 | ```svelte 113 | {}} 119 | onclose={(e) => {}} 120 | > 121 | 122 | 123 | ``` 124 | 125 | > [!IMPORTANT] 126 | > The `closeOnEscapeKey` prop has a known issue in Chrome 126 and above. The modal can be closed by pressing the `Esc` key twice. This will be resolved in a future update when the `closedby` attribute is implemented. [Learn more](https://github.com/hyunbinseo/svelte-html-modal/issues/6) 127 | -------------------------------------------------------------------------------- /docs/form.md: -------------------------------------------------------------------------------- 1 | # Use with SvelteKit `use:enhance` 2 | 3 | **🚧 Work in Progress** 4 | 5 | Modal with a `
` child element 6 | 7 | - Modal should not be closable during submission 8 | - Form reset should follow the browser behaviors 9 | - Submitting state should last for a minimum time 10 | 11 | ```svelte 12 | 24 | 25 | 26 | 27 |
67 | 68 | 78 | ``` 79 | 80 | ```js 81 | export const actions = { 82 | default: async () => { 83 | await new Promise((resolve) => setTimeout(resolve, Math.floor(Math.random()) * 5000)); 84 | return { now: new Date() }; 85 | } 86 | }; 87 | ``` 88 | -------------------------------------------------------------------------------- /docs/migration.md: -------------------------------------------------------------------------------- 1 | # Migration 2 | 3 | ## v3 4 | 5 | Requires Svelte v5 and runes mode. 6 | 7 | | Before | After | 8 | | ------------------------ | ---------------------- | 9 | | `bind:showModal` | `bind:isOpen` | 10 | | `closeWithBackdropClick` | `closeOnBackdropClick` | 11 | | `preventCancel` | `closeOnEscapeKey` | 12 | | `showFlyInAnimation` | `enableTransitions` | 13 | | `fullHeight` | - | 14 | | `fullWidth` | - | 15 | 16 | ```css 17 | .modal-wrapper > :global(dialog) { 18 | /* Override user-agent dialog:modal max-sizes. */ 19 | max-height: 100%; /* calc((100% - 6px) - 2em); */ 20 | max-width: 100%; /* calc((100% - 6px) - 2em); */ 21 | } 22 | ``` 23 | 24 | ## v2 25 | 26 | Nested form has been removed. 27 | 28 | ```svelte 29 | 30 |
31 | 32 |
33 |
34 | ``` 35 | 36 | ## v1.2 37 | 38 | ```svelte 39 | 40 | (showModal = false)}> 41 | ``` 42 | 43 | ## v1.1 44 | 45 | ```svelte 46 | 50 | 51 | 52 | 53 | ``` 54 | -------------------------------------------------------------------------------- /e2e/modal.test.ts: -------------------------------------------------------------------------------- 1 | import { expect, test } from '@playwright/test'; 2 | 3 | test('modal functionality', async ({ page }) => { 4 | await page.goto('/'); 5 | 6 | // 7 | 8 | const modal = page.locator('dialog'); 9 | 10 | const openButton = page.locator('button[data-testid="open"]'); 11 | const closeButton = page.locator('button[data-testid="close"]'); 12 | const submitButton = page.locator('button[data-testid="submit"]'); 13 | 14 | const backdropCheckbox = page.locator('input[type="checkbox"][data-testid="backdrop"]'); 15 | const escCheckbox = page.locator('input[type="checkbox"][data-testid="esc"]'); 16 | 17 | // 18 | 19 | const consoleMessages: string[] = []; 20 | page.on('console', (consoleMessage) => consoleMessages.push(consoleMessage.text())); 21 | 22 | await openButton.click(); 23 | await expect(modal).toHaveAttribute('open'); 24 | 25 | await closeButton.click(); 26 | await modal.waitFor({ state: 'hidden' }); 27 | await expect(modal).not.toHaveAttribute('open'); 28 | expect(consoleMessages).toEqual(['closing', 'closed']); 29 | 30 | await openButton.click(); 31 | await submitButton.click(); 32 | await expect(modal).not.toHaveAttribute('open'); 33 | 34 | await backdropCheckbox.uncheck(); 35 | await openButton.click(); 36 | await page.mouse.click(0, 0); 37 | await expect(modal).toHaveAttribute('open'); 38 | await closeButton.click(); 39 | 40 | // Elements outside of the modal cannot be focused. The modal must first be closed. 41 | // Reference https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inert 42 | 43 | await backdropCheckbox.check(); 44 | await openButton.click(); 45 | await page.mouse.click(0, 0); 46 | await expect(modal).not.toHaveAttribute('open'); 47 | 48 | await escCheckbox.uncheck(); 49 | await openButton.click(); 50 | // Reference https://github.com/sveltejs/svelte/pull/15458 51 | await page.keyboard.press('Escape'); 52 | await page.keyboard.press('Escape'); 53 | await expect(modal).toHaveAttribute('open'); 54 | await closeButton.click(); 55 | 56 | await escCheckbox.check(); 57 | await openButton.click(); 58 | await page.keyboard.press('Escape'); 59 | await expect(modal).not.toHaveAttribute('open'); 60 | }); 61 | -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- 1 | import { includeIgnoreFile } from '@eslint/compat'; 2 | import js from '@eslint/js'; 3 | import prettier from 'eslint-config-prettier'; 4 | import svelte from 'eslint-plugin-svelte'; 5 | import globals from 'globals'; 6 | import ts from 'typescript-eslint'; 7 | import svelteConfig from './svelte.config.js'; 8 | 9 | export default ts.config( 10 | includeIgnoreFile(import.meta.dirname + '/.gitignore'), 11 | js.configs.recommended, 12 | ...ts.configs.recommended, 13 | ...svelte.configs.recommended, 14 | prettier, 15 | ...svelte.configs.prettier, 16 | { 17 | languageOptions: { 18 | globals: { 19 | ...globals.browser, 20 | ...globals.node 21 | } 22 | } 23 | }, 24 | { 25 | files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'], 26 | ignores: ['eslint.config.js', 'svelte.config.js'], 27 | 28 | languageOptions: { 29 | parserOptions: { 30 | projectService: true, 31 | extraFileExtensions: ['.svelte'], 32 | parser: ts.parser, 33 | svelteConfig 34 | } 35 | } 36 | } 37 | ); 38 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "svelte-html-modal", 3 | "description": "Svelte modal component that utilizes the HTML dialog element", 4 | "version": "3.1.1", 5 | "scripts": { 6 | "dev": "vite dev", 7 | "build": "vite build && node --run prepack", 8 | "preview": "vite preview", 9 | "postversion": "git push && git push --tags", 10 | "prepare": "svelte-kit sync || echo ''", 11 | "prepack": "svelte-kit sync && svelte-package && publint", 12 | "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", 13 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", 14 | "format": "prettier --write .", 15 | "lint": "prettier --check . && eslint .", 16 | "test:e2e": "playwright test", 17 | "test": "node --run test:e2e" 18 | }, 19 | "files": [ 20 | "dist", 21 | "!dist/**/*.test.*", 22 | "!dist/**/*.spec.*" 23 | ], 24 | "sideEffects": [ 25 | "**/*.css" 26 | ], 27 | "svelte": "./dist/index.js", 28 | "types": "./dist/index.d.ts", 29 | "type": "module", 30 | "exports": { 31 | ".": { 32 | "types": "./dist/index.d.ts", 33 | "svelte": "./dist/index.js" 34 | } 35 | }, 36 | "peerDependencies": { 37 | "svelte": "^5.0.2" 38 | }, 39 | "devDependencies": { 40 | "@eslint/compat": "^1.2.9", 41 | "@eslint/js": "^9.26.0", 42 | "@playwright/test": "^1.52.0", 43 | "@sveltejs/adapter-auto": "^6.0.0", 44 | "@sveltejs/kit": "^2.20.8", 45 | "@sveltejs/package": "^2.3.11", 46 | "@sveltejs/vite-plugin-svelte": "^5.0.3", 47 | "eslint": "^9.26.0", 48 | "eslint-config-prettier": "^10.1.5", 49 | "eslint-plugin-svelte": "^3.5.1", 50 | "esm-env": "^1.2.2", 51 | "globals": "^16.1.0", 52 | "prettier": "^3.5.3", 53 | "prettier-plugin-svelte": "^3.3.3", 54 | "publint": "^0.3.12", 55 | "svelte": "^5.28.2", 56 | "svelte-check": "^4.1.7", 57 | "typescript": "^5.8.3", 58 | "typescript-eslint": "^8.32.0", 59 | "vite": "^6.3.5" 60 | }, 61 | "author": "Hyunbin Seo", 62 | "license": "MIT", 63 | "repository": { 64 | "type": "git", 65 | "url": "git+https://github.com/hyunbinseo/svelte-html-modal.git" 66 | }, 67 | "bugs": { 68 | "url": "https://github.com/hyunbinseo/svelte-html-modal/issues" 69 | }, 70 | "homepage": "https://github.com/hyunbinseo/svelte-html-modal#readme", 71 | "packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39" 72 | } 73 | -------------------------------------------------------------------------------- /playwright.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig, devices } from '@playwright/test'; 2 | 3 | export default defineConfig({ 4 | webServer: { 5 | command: 'node --run build && node --run preview', 6 | port: 4173 7 | }, 8 | testDir: 'e2e', 9 | projects: [ 10 | /* Test against desktop browsers */ 11 | { name: 'chromium', use: { ...devices['Desktop Chrome'] } }, 12 | { name: 'firefox', use: { ...devices['Desktop Firefox'] } }, 13 | { name: 'webkit', use: { ...devices['Desktop Safari'] } }, 14 | /* Test against mobile viewports. */ 15 | { name: 'Mobile Chrome', use: { ...devices['Pixel 5'] } }, 16 | { name: 'Mobile Safari', use: { ...devices['iPhone 12'] } }, 17 | /* Test against branded browsers. */ 18 | { name: 'Google Chrome', use: { ...devices['Desktop Chrome'], channel: 'chrome' } }, 19 | { name: 'Microsoft Edge', use: { ...devices['Desktop Edge'], channel: 'msedge' } } 20 | ] 21 | }); 22 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | devDependencies: 11 | '@eslint/compat': 12 | specifier: ^1.2.9 13 | version: 1.2.9(eslint@9.26.0) 14 | '@eslint/js': 15 | specifier: ^9.26.0 16 | version: 9.26.0 17 | '@playwright/test': 18 | specifier: ^1.52.0 19 | version: 1.52.0 20 | '@sveltejs/adapter-auto': 21 | specifier: ^6.0.0 22 | version: 6.0.0(@sveltejs/kit@2.20.8(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)))(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10))) 23 | '@sveltejs/kit': 24 | specifier: ^2.20.8 25 | version: 2.20.8(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)))(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)) 26 | '@sveltejs/package': 27 | specifier: ^2.3.11 28 | version: 2.3.11(svelte@5.28.2)(typescript@5.8.3) 29 | '@sveltejs/vite-plugin-svelte': 30 | specifier: ^5.0.3 31 | version: 5.0.3(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)) 32 | eslint: 33 | specifier: ^9.26.0 34 | version: 9.26.0 35 | eslint-config-prettier: 36 | specifier: ^10.1.5 37 | version: 10.1.5(eslint@9.26.0) 38 | eslint-plugin-svelte: 39 | specifier: ^3.5.1 40 | version: 3.5.1(eslint@9.26.0)(svelte@5.28.2) 41 | esm-env: 42 | specifier: ^1.2.2 43 | version: 1.2.2 44 | globals: 45 | specifier: ^16.1.0 46 | version: 16.1.0 47 | prettier: 48 | specifier: ^3.5.3 49 | version: 3.5.3 50 | prettier-plugin-svelte: 51 | specifier: ^3.3.3 52 | version: 3.3.3(prettier@3.5.3)(svelte@5.28.2) 53 | publint: 54 | specifier: ^0.3.12 55 | version: 0.3.12 56 | svelte: 57 | specifier: ^5.28.2 58 | version: 5.28.2 59 | svelte-check: 60 | specifier: ^4.1.7 61 | version: 4.1.7(picomatch@4.0.2)(svelte@5.28.2)(typescript@5.8.3) 62 | typescript: 63 | specifier: ^5.8.3 64 | version: 5.8.3 65 | typescript-eslint: 66 | specifier: ^8.32.0 67 | version: 8.32.0(eslint@9.26.0)(typescript@5.8.3) 68 | vite: 69 | specifier: ^6.3.5 70 | version: 6.3.5(@types/node@22.13.10) 71 | 72 | packages: 73 | 74 | '@ampproject/remapping@2.3.0': 75 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 76 | engines: {node: '>=6.0.0'} 77 | 78 | '@esbuild/aix-ppc64@0.25.4': 79 | resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} 80 | engines: {node: '>=18'} 81 | cpu: [ppc64] 82 | os: [aix] 83 | 84 | '@esbuild/android-arm64@0.25.4': 85 | resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} 86 | engines: {node: '>=18'} 87 | cpu: [arm64] 88 | os: [android] 89 | 90 | '@esbuild/android-arm@0.25.4': 91 | resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} 92 | engines: {node: '>=18'} 93 | cpu: [arm] 94 | os: [android] 95 | 96 | '@esbuild/android-x64@0.25.4': 97 | resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} 98 | engines: {node: '>=18'} 99 | cpu: [x64] 100 | os: [android] 101 | 102 | '@esbuild/darwin-arm64@0.25.4': 103 | resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} 104 | engines: {node: '>=18'} 105 | cpu: [arm64] 106 | os: [darwin] 107 | 108 | '@esbuild/darwin-x64@0.25.4': 109 | resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} 110 | engines: {node: '>=18'} 111 | cpu: [x64] 112 | os: [darwin] 113 | 114 | '@esbuild/freebsd-arm64@0.25.4': 115 | resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} 116 | engines: {node: '>=18'} 117 | cpu: [arm64] 118 | os: [freebsd] 119 | 120 | '@esbuild/freebsd-x64@0.25.4': 121 | resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} 122 | engines: {node: '>=18'} 123 | cpu: [x64] 124 | os: [freebsd] 125 | 126 | '@esbuild/linux-arm64@0.25.4': 127 | resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} 128 | engines: {node: '>=18'} 129 | cpu: [arm64] 130 | os: [linux] 131 | 132 | '@esbuild/linux-arm@0.25.4': 133 | resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} 134 | engines: {node: '>=18'} 135 | cpu: [arm] 136 | os: [linux] 137 | 138 | '@esbuild/linux-ia32@0.25.4': 139 | resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} 140 | engines: {node: '>=18'} 141 | cpu: [ia32] 142 | os: [linux] 143 | 144 | '@esbuild/linux-loong64@0.25.4': 145 | resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} 146 | engines: {node: '>=18'} 147 | cpu: [loong64] 148 | os: [linux] 149 | 150 | '@esbuild/linux-mips64el@0.25.4': 151 | resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} 152 | engines: {node: '>=18'} 153 | cpu: [mips64el] 154 | os: [linux] 155 | 156 | '@esbuild/linux-ppc64@0.25.4': 157 | resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} 158 | engines: {node: '>=18'} 159 | cpu: [ppc64] 160 | os: [linux] 161 | 162 | '@esbuild/linux-riscv64@0.25.4': 163 | resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} 164 | engines: {node: '>=18'} 165 | cpu: [riscv64] 166 | os: [linux] 167 | 168 | '@esbuild/linux-s390x@0.25.4': 169 | resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} 170 | engines: {node: '>=18'} 171 | cpu: [s390x] 172 | os: [linux] 173 | 174 | '@esbuild/linux-x64@0.25.4': 175 | resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} 176 | engines: {node: '>=18'} 177 | cpu: [x64] 178 | os: [linux] 179 | 180 | '@esbuild/netbsd-arm64@0.25.4': 181 | resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} 182 | engines: {node: '>=18'} 183 | cpu: [arm64] 184 | os: [netbsd] 185 | 186 | '@esbuild/netbsd-x64@0.25.4': 187 | resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} 188 | engines: {node: '>=18'} 189 | cpu: [x64] 190 | os: [netbsd] 191 | 192 | '@esbuild/openbsd-arm64@0.25.4': 193 | resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} 194 | engines: {node: '>=18'} 195 | cpu: [arm64] 196 | os: [openbsd] 197 | 198 | '@esbuild/openbsd-x64@0.25.4': 199 | resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} 200 | engines: {node: '>=18'} 201 | cpu: [x64] 202 | os: [openbsd] 203 | 204 | '@esbuild/sunos-x64@0.25.4': 205 | resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} 206 | engines: {node: '>=18'} 207 | cpu: [x64] 208 | os: [sunos] 209 | 210 | '@esbuild/win32-arm64@0.25.4': 211 | resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} 212 | engines: {node: '>=18'} 213 | cpu: [arm64] 214 | os: [win32] 215 | 216 | '@esbuild/win32-ia32@0.25.4': 217 | resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} 218 | engines: {node: '>=18'} 219 | cpu: [ia32] 220 | os: [win32] 221 | 222 | '@esbuild/win32-x64@0.25.4': 223 | resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} 224 | engines: {node: '>=18'} 225 | cpu: [x64] 226 | os: [win32] 227 | 228 | '@eslint-community/eslint-utils@4.7.0': 229 | resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} 230 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 231 | peerDependencies: 232 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 233 | 234 | '@eslint-community/regexpp@4.12.1': 235 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 236 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 237 | 238 | '@eslint/compat@1.2.9': 239 | resolution: {integrity: sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA==} 240 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 241 | peerDependencies: 242 | eslint: ^9.10.0 243 | peerDependenciesMeta: 244 | eslint: 245 | optional: true 246 | 247 | '@eslint/config-array@0.20.0': 248 | resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} 249 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 250 | 251 | '@eslint/config-helpers@0.2.2': 252 | resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} 253 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 254 | 255 | '@eslint/core@0.13.0': 256 | resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} 257 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 258 | 259 | '@eslint/eslintrc@3.3.1': 260 | resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} 261 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 262 | 263 | '@eslint/js@9.26.0': 264 | resolution: {integrity: sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==} 265 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 266 | 267 | '@eslint/object-schema@2.1.6': 268 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} 269 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 270 | 271 | '@eslint/plugin-kit@0.2.8': 272 | resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} 273 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 274 | 275 | '@humanfs/core@0.19.1': 276 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 277 | engines: {node: '>=18.18.0'} 278 | 279 | '@humanfs/node@0.16.6': 280 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 281 | engines: {node: '>=18.18.0'} 282 | 283 | '@humanwhocodes/module-importer@1.0.1': 284 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 285 | engines: {node: '>=12.22'} 286 | 287 | '@humanwhocodes/retry@0.3.1': 288 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 289 | engines: {node: '>=18.18'} 290 | 291 | '@humanwhocodes/retry@0.4.3': 292 | resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} 293 | engines: {node: '>=18.18'} 294 | 295 | '@jridgewell/gen-mapping@0.3.8': 296 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 297 | engines: {node: '>=6.0.0'} 298 | 299 | '@jridgewell/resolve-uri@3.1.2': 300 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 301 | engines: {node: '>=6.0.0'} 302 | 303 | '@jridgewell/set-array@1.2.1': 304 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 305 | engines: {node: '>=6.0.0'} 306 | 307 | '@jridgewell/sourcemap-codec@1.5.0': 308 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 309 | 310 | '@jridgewell/trace-mapping@0.3.25': 311 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 312 | 313 | '@modelcontextprotocol/sdk@1.11.2': 314 | resolution: {integrity: sha512-H9vwztj5OAqHg9GockCQC06k1natgcxWQSRpQcPJf6i5+MWBzfKkRtxGbjQf0X2ihii0ffLZCRGbYV2f2bjNCQ==} 315 | engines: {node: '>=18'} 316 | 317 | '@nodelib/fs.scandir@2.1.5': 318 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 319 | engines: {node: '>= 8'} 320 | 321 | '@nodelib/fs.stat@2.0.5': 322 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 323 | engines: {node: '>= 8'} 324 | 325 | '@nodelib/fs.walk@1.2.8': 326 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 327 | engines: {node: '>= 8'} 328 | 329 | '@playwright/test@1.52.0': 330 | resolution: {integrity: sha512-uh6W7sb55hl7D6vsAeA+V2p5JnlAqzhqFyF0VcJkKZXkgnFcVG9PziERRHQfPLfNGx1C292a4JqbWzhR8L4R1g==} 331 | engines: {node: '>=18'} 332 | hasBin: true 333 | 334 | '@polka/url@1.0.0-next.29': 335 | resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} 336 | 337 | '@publint/pack@0.1.2': 338 | resolution: {integrity: sha512-S+9ANAvUmjutrshV4jZjaiG8XQyuJIZ8a4utWmN/vW1sgQ9IfBnPndwkmQYw53QmouOIytT874u65HEmu6H5jw==} 339 | engines: {node: '>=18'} 340 | 341 | '@rollup/rollup-android-arm-eabi@4.40.2': 342 | resolution: {integrity: sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==} 343 | cpu: [arm] 344 | os: [android] 345 | 346 | '@rollup/rollup-android-arm64@4.40.2': 347 | resolution: {integrity: sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==} 348 | cpu: [arm64] 349 | os: [android] 350 | 351 | '@rollup/rollup-darwin-arm64@4.40.2': 352 | resolution: {integrity: sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==} 353 | cpu: [arm64] 354 | os: [darwin] 355 | 356 | '@rollup/rollup-darwin-x64@4.40.2': 357 | resolution: {integrity: sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==} 358 | cpu: [x64] 359 | os: [darwin] 360 | 361 | '@rollup/rollup-freebsd-arm64@4.40.2': 362 | resolution: {integrity: sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==} 363 | cpu: [arm64] 364 | os: [freebsd] 365 | 366 | '@rollup/rollup-freebsd-x64@4.40.2': 367 | resolution: {integrity: sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==} 368 | cpu: [x64] 369 | os: [freebsd] 370 | 371 | '@rollup/rollup-linux-arm-gnueabihf@4.40.2': 372 | resolution: {integrity: sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==} 373 | cpu: [arm] 374 | os: [linux] 375 | 376 | '@rollup/rollup-linux-arm-musleabihf@4.40.2': 377 | resolution: {integrity: sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==} 378 | cpu: [arm] 379 | os: [linux] 380 | 381 | '@rollup/rollup-linux-arm64-gnu@4.40.2': 382 | resolution: {integrity: sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==} 383 | cpu: [arm64] 384 | os: [linux] 385 | 386 | '@rollup/rollup-linux-arm64-musl@4.40.2': 387 | resolution: {integrity: sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==} 388 | cpu: [arm64] 389 | os: [linux] 390 | 391 | '@rollup/rollup-linux-loongarch64-gnu@4.40.2': 392 | resolution: {integrity: sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==} 393 | cpu: [loong64] 394 | os: [linux] 395 | 396 | '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': 397 | resolution: {integrity: sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==} 398 | cpu: [ppc64] 399 | os: [linux] 400 | 401 | '@rollup/rollup-linux-riscv64-gnu@4.40.2': 402 | resolution: {integrity: sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==} 403 | cpu: [riscv64] 404 | os: [linux] 405 | 406 | '@rollup/rollup-linux-riscv64-musl@4.40.2': 407 | resolution: {integrity: sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==} 408 | cpu: [riscv64] 409 | os: [linux] 410 | 411 | '@rollup/rollup-linux-s390x-gnu@4.40.2': 412 | resolution: {integrity: sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==} 413 | cpu: [s390x] 414 | os: [linux] 415 | 416 | '@rollup/rollup-linux-x64-gnu@4.40.2': 417 | resolution: {integrity: sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==} 418 | cpu: [x64] 419 | os: [linux] 420 | 421 | '@rollup/rollup-linux-x64-musl@4.40.2': 422 | resolution: {integrity: sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==} 423 | cpu: [x64] 424 | os: [linux] 425 | 426 | '@rollup/rollup-win32-arm64-msvc@4.40.2': 427 | resolution: {integrity: sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==} 428 | cpu: [arm64] 429 | os: [win32] 430 | 431 | '@rollup/rollup-win32-ia32-msvc@4.40.2': 432 | resolution: {integrity: sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==} 433 | cpu: [ia32] 434 | os: [win32] 435 | 436 | '@rollup/rollup-win32-x64-msvc@4.40.2': 437 | resolution: {integrity: sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==} 438 | cpu: [x64] 439 | os: [win32] 440 | 441 | '@sveltejs/acorn-typescript@1.0.5': 442 | resolution: {integrity: sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==} 443 | peerDependencies: 444 | acorn: ^8.9.0 445 | 446 | '@sveltejs/adapter-auto@6.0.0': 447 | resolution: {integrity: sha512-7mR2/G7vlXakaOj6QBSG9dwBfTgWjV+UnEMB5Z6Xu0ZbdXda6c0su1fNkg0ab0zlilSkloMA2NjCna02/DR7sA==} 448 | peerDependencies: 449 | '@sveltejs/kit': ^2.0.0 450 | 451 | '@sveltejs/kit@2.20.8': 452 | resolution: {integrity: sha512-ep9qTxL7WALhfm0kFecL3VHeuNew8IccbYGqv5TqL/KSqWRKzEgDG8blNlIu1CkLTTua/kHjI+f5T8eCmWIxKw==} 453 | engines: {node: '>=18.13'} 454 | hasBin: true 455 | peerDependencies: 456 | '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 457 | svelte: ^4.0.0 || ^5.0.0-next.0 458 | vite: ^5.0.3 || ^6.0.0 459 | 460 | '@sveltejs/package@2.3.11': 461 | resolution: {integrity: sha512-DSMt2U0XNAdoQBYksrmgQi5dKy7jUTVDJLiagS/iXF7AShjAmTbGJQKruBuT/FfYAWvNxfQTSjkXU8eAIjVeNg==} 462 | engines: {node: ^16.14 || >=18} 463 | hasBin: true 464 | peerDependencies: 465 | svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1 466 | 467 | '@sveltejs/vite-plugin-svelte-inspector@4.0.1': 468 | resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==} 469 | engines: {node: ^18.0.0 || ^20.0.0 || >=22} 470 | peerDependencies: 471 | '@sveltejs/vite-plugin-svelte': ^5.0.0 472 | svelte: ^5.0.0 473 | vite: ^6.0.0 474 | 475 | '@sveltejs/vite-plugin-svelte@5.0.3': 476 | resolution: {integrity: sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==} 477 | engines: {node: ^18.0.0 || ^20.0.0 || >=22} 478 | peerDependencies: 479 | svelte: ^5.0.0 480 | vite: ^6.0.0 481 | 482 | '@types/cookie@0.6.0': 483 | resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} 484 | 485 | '@types/estree@1.0.7': 486 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} 487 | 488 | '@types/json-schema@7.0.15': 489 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 490 | 491 | '@types/node@22.13.10': 492 | resolution: {integrity: sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==} 493 | 494 | '@typescript-eslint/eslint-plugin@8.32.0': 495 | resolution: {integrity: sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==} 496 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 497 | peerDependencies: 498 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 499 | eslint: ^8.57.0 || ^9.0.0 500 | typescript: '>=4.8.4 <5.9.0' 501 | 502 | '@typescript-eslint/parser@8.32.0': 503 | resolution: {integrity: sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==} 504 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 505 | peerDependencies: 506 | eslint: ^8.57.0 || ^9.0.0 507 | typescript: '>=4.8.4 <5.9.0' 508 | 509 | '@typescript-eslint/scope-manager@8.32.0': 510 | resolution: {integrity: sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==} 511 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 512 | 513 | '@typescript-eslint/type-utils@8.32.0': 514 | resolution: {integrity: sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==} 515 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 516 | peerDependencies: 517 | eslint: ^8.57.0 || ^9.0.0 518 | typescript: '>=4.8.4 <5.9.0' 519 | 520 | '@typescript-eslint/types@8.32.0': 521 | resolution: {integrity: sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==} 522 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 523 | 524 | '@typescript-eslint/typescript-estree@8.32.0': 525 | resolution: {integrity: sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==} 526 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 527 | peerDependencies: 528 | typescript: '>=4.8.4 <5.9.0' 529 | 530 | '@typescript-eslint/utils@8.32.0': 531 | resolution: {integrity: sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==} 532 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 533 | peerDependencies: 534 | eslint: ^8.57.0 || ^9.0.0 535 | typescript: '>=4.8.4 <5.9.0' 536 | 537 | '@typescript-eslint/visitor-keys@8.32.0': 538 | resolution: {integrity: sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==} 539 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 540 | 541 | accepts@2.0.0: 542 | resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} 543 | engines: {node: '>= 0.6'} 544 | 545 | acorn-jsx@5.3.2: 546 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 547 | peerDependencies: 548 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 549 | 550 | acorn@8.14.1: 551 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} 552 | engines: {node: '>=0.4.0'} 553 | hasBin: true 554 | 555 | ajv@6.12.6: 556 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 557 | 558 | ansi-styles@4.3.0: 559 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 560 | engines: {node: '>=8'} 561 | 562 | argparse@2.0.1: 563 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 564 | 565 | aria-query@5.3.2: 566 | resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 567 | engines: {node: '>= 0.4'} 568 | 569 | axobject-query@4.1.0: 570 | resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 571 | engines: {node: '>= 0.4'} 572 | 573 | balanced-match@1.0.2: 574 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 575 | 576 | body-parser@2.2.0: 577 | resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} 578 | engines: {node: '>=18'} 579 | 580 | brace-expansion@1.1.11: 581 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 582 | 583 | brace-expansion@2.0.1: 584 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 585 | 586 | braces@3.0.3: 587 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 588 | engines: {node: '>=8'} 589 | 590 | bytes@3.1.2: 591 | resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 592 | engines: {node: '>= 0.8'} 593 | 594 | call-bind-apply-helpers@1.0.2: 595 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 596 | engines: {node: '>= 0.4'} 597 | 598 | call-bound@1.0.4: 599 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 600 | engines: {node: '>= 0.4'} 601 | 602 | callsites@3.1.0: 603 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 604 | engines: {node: '>=6'} 605 | 606 | chalk@4.1.2: 607 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 608 | engines: {node: '>=10'} 609 | 610 | chokidar@4.0.3: 611 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 612 | engines: {node: '>= 14.16.0'} 613 | 614 | clsx@2.1.1: 615 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 616 | engines: {node: '>=6'} 617 | 618 | color-convert@2.0.1: 619 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 620 | engines: {node: '>=7.0.0'} 621 | 622 | color-name@1.1.4: 623 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 624 | 625 | concat-map@0.0.1: 626 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 627 | 628 | content-disposition@1.0.0: 629 | resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} 630 | engines: {node: '>= 0.6'} 631 | 632 | content-type@1.0.5: 633 | resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 634 | engines: {node: '>= 0.6'} 635 | 636 | cookie-signature@1.2.2: 637 | resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} 638 | engines: {node: '>=6.6.0'} 639 | 640 | cookie@0.6.0: 641 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 642 | engines: {node: '>= 0.6'} 643 | 644 | cookie@0.7.2: 645 | resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} 646 | engines: {node: '>= 0.6'} 647 | 648 | cors@2.8.5: 649 | resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} 650 | engines: {node: '>= 0.10'} 651 | 652 | cross-spawn@7.0.6: 653 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 654 | engines: {node: '>= 8'} 655 | 656 | cssesc@3.0.0: 657 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 658 | engines: {node: '>=4'} 659 | hasBin: true 660 | 661 | debug@4.4.0: 662 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 663 | engines: {node: '>=6.0'} 664 | peerDependencies: 665 | supports-color: '*' 666 | peerDependenciesMeta: 667 | supports-color: 668 | optional: true 669 | 670 | dedent-js@1.0.1: 671 | resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==} 672 | 673 | deep-is@0.1.4: 674 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 675 | 676 | deepmerge@4.3.1: 677 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 678 | engines: {node: '>=0.10.0'} 679 | 680 | depd@2.0.0: 681 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 682 | engines: {node: '>= 0.8'} 683 | 684 | devalue@5.1.1: 685 | resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==} 686 | 687 | dunder-proto@1.0.1: 688 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 689 | engines: {node: '>= 0.4'} 690 | 691 | ee-first@1.1.1: 692 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 693 | 694 | encodeurl@2.0.0: 695 | resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} 696 | engines: {node: '>= 0.8'} 697 | 698 | es-define-property@1.0.1: 699 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 700 | engines: {node: '>= 0.4'} 701 | 702 | es-errors@1.3.0: 703 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 704 | engines: {node: '>= 0.4'} 705 | 706 | es-object-atoms@1.1.1: 707 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 708 | engines: {node: '>= 0.4'} 709 | 710 | esbuild@0.25.4: 711 | resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} 712 | engines: {node: '>=18'} 713 | hasBin: true 714 | 715 | escape-html@1.0.3: 716 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 717 | 718 | escape-string-regexp@4.0.0: 719 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 720 | engines: {node: '>=10'} 721 | 722 | eslint-config-prettier@10.1.5: 723 | resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} 724 | hasBin: true 725 | peerDependencies: 726 | eslint: '>=7.0.0' 727 | 728 | eslint-plugin-svelte@3.5.1: 729 | resolution: {integrity: sha512-Qn1slddZHfqYiDO6IN8/iN3YL+VuHlgYjm30FT+hh0Jf/TX0jeZMTJXQMajFm5f6f6hURi+XO8P+NPYD+T4jkg==} 730 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 731 | peerDependencies: 732 | eslint: ^8.57.1 || ^9.0.0 733 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 734 | peerDependenciesMeta: 735 | svelte: 736 | optional: true 737 | 738 | eslint-scope@8.3.0: 739 | resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} 740 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 741 | 742 | eslint-visitor-keys@3.4.3: 743 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 744 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 745 | 746 | eslint-visitor-keys@4.2.0: 747 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 748 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 749 | 750 | eslint@9.26.0: 751 | resolution: {integrity: sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==} 752 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 753 | hasBin: true 754 | peerDependencies: 755 | jiti: '*' 756 | peerDependenciesMeta: 757 | jiti: 758 | optional: true 759 | 760 | esm-env@1.2.2: 761 | resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} 762 | 763 | espree@10.3.0: 764 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 765 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 766 | 767 | esquery@1.6.0: 768 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 769 | engines: {node: '>=0.10'} 770 | 771 | esrap@1.4.6: 772 | resolution: {integrity: sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==} 773 | 774 | esrecurse@4.3.0: 775 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 776 | engines: {node: '>=4.0'} 777 | 778 | estraverse@5.3.0: 779 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 780 | engines: {node: '>=4.0'} 781 | 782 | esutils@2.0.3: 783 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 784 | engines: {node: '>=0.10.0'} 785 | 786 | etag@1.8.1: 787 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 788 | engines: {node: '>= 0.6'} 789 | 790 | eventsource-parser@3.0.1: 791 | resolution: {integrity: sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==} 792 | engines: {node: '>=18.0.0'} 793 | 794 | eventsource@3.0.7: 795 | resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} 796 | engines: {node: '>=18.0.0'} 797 | 798 | express-rate-limit@7.5.0: 799 | resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==} 800 | engines: {node: '>= 16'} 801 | peerDependencies: 802 | express: ^4.11 || 5 || ^5.0.0-beta.1 803 | 804 | express@5.1.0: 805 | resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} 806 | engines: {node: '>= 18'} 807 | 808 | fast-deep-equal@3.1.3: 809 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 810 | 811 | fast-glob@3.3.3: 812 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 813 | engines: {node: '>=8.6.0'} 814 | 815 | fast-json-stable-stringify@2.1.0: 816 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 817 | 818 | fast-levenshtein@2.0.6: 819 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 820 | 821 | fastq@1.19.1: 822 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 823 | 824 | fdir@6.4.4: 825 | resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} 826 | peerDependencies: 827 | picomatch: ^3 || ^4 828 | peerDependenciesMeta: 829 | picomatch: 830 | optional: true 831 | 832 | file-entry-cache@8.0.0: 833 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 834 | engines: {node: '>=16.0.0'} 835 | 836 | fill-range@7.1.1: 837 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 838 | engines: {node: '>=8'} 839 | 840 | finalhandler@2.1.0: 841 | resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} 842 | engines: {node: '>= 0.8'} 843 | 844 | find-up@5.0.0: 845 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 846 | engines: {node: '>=10'} 847 | 848 | flat-cache@4.0.1: 849 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 850 | engines: {node: '>=16'} 851 | 852 | flatted@3.3.3: 853 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 854 | 855 | forwarded@0.2.0: 856 | resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 857 | engines: {node: '>= 0.6'} 858 | 859 | fresh@2.0.0: 860 | resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} 861 | engines: {node: '>= 0.8'} 862 | 863 | fsevents@2.3.2: 864 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 865 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 866 | os: [darwin] 867 | 868 | fsevents@2.3.3: 869 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 870 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 871 | os: [darwin] 872 | 873 | function-bind@1.1.2: 874 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 875 | 876 | get-intrinsic@1.3.0: 877 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 878 | engines: {node: '>= 0.4'} 879 | 880 | get-proto@1.0.1: 881 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 882 | engines: {node: '>= 0.4'} 883 | 884 | glob-parent@5.1.2: 885 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 886 | engines: {node: '>= 6'} 887 | 888 | glob-parent@6.0.2: 889 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 890 | engines: {node: '>=10.13.0'} 891 | 892 | globals@14.0.0: 893 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 894 | engines: {node: '>=18'} 895 | 896 | globals@16.1.0: 897 | resolution: {integrity: sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==} 898 | engines: {node: '>=18'} 899 | 900 | gopd@1.2.0: 901 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 902 | engines: {node: '>= 0.4'} 903 | 904 | graphemer@1.4.0: 905 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 906 | 907 | has-flag@4.0.0: 908 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 909 | engines: {node: '>=8'} 910 | 911 | has-symbols@1.1.0: 912 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 913 | engines: {node: '>= 0.4'} 914 | 915 | hasown@2.0.2: 916 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 917 | engines: {node: '>= 0.4'} 918 | 919 | http-errors@2.0.0: 920 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 921 | engines: {node: '>= 0.8'} 922 | 923 | iconv-lite@0.6.3: 924 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 925 | engines: {node: '>=0.10.0'} 926 | 927 | ignore@5.3.2: 928 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 929 | engines: {node: '>= 4'} 930 | 931 | import-fresh@3.3.1: 932 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 933 | engines: {node: '>=6'} 934 | 935 | import-meta-resolve@4.1.0: 936 | resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} 937 | 938 | imurmurhash@0.1.4: 939 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 940 | engines: {node: '>=0.8.19'} 941 | 942 | inherits@2.0.4: 943 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 944 | 945 | ipaddr.js@1.9.1: 946 | resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 947 | engines: {node: '>= 0.10'} 948 | 949 | is-extglob@2.1.1: 950 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 951 | engines: {node: '>=0.10.0'} 952 | 953 | is-glob@4.0.3: 954 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 955 | engines: {node: '>=0.10.0'} 956 | 957 | is-number@7.0.0: 958 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 959 | engines: {node: '>=0.12.0'} 960 | 961 | is-promise@4.0.0: 962 | resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} 963 | 964 | is-reference@3.0.3: 965 | resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} 966 | 967 | isexe@2.0.0: 968 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 969 | 970 | js-yaml@4.1.0: 971 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 972 | hasBin: true 973 | 974 | json-buffer@3.0.1: 975 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 976 | 977 | json-schema-traverse@0.4.1: 978 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 979 | 980 | json-stable-stringify-without-jsonify@1.0.1: 981 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 982 | 983 | keyv@4.5.4: 984 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 985 | 986 | kleur@4.1.5: 987 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 988 | engines: {node: '>=6'} 989 | 990 | known-css-properties@0.35.0: 991 | resolution: {integrity: sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==} 992 | 993 | levn@0.4.1: 994 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 995 | engines: {node: '>= 0.8.0'} 996 | 997 | lilconfig@2.1.0: 998 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 999 | engines: {node: '>=10'} 1000 | 1001 | locate-character@3.0.0: 1002 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} 1003 | 1004 | locate-path@6.0.0: 1005 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1006 | engines: {node: '>=10'} 1007 | 1008 | lodash.merge@4.6.2: 1009 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1010 | 1011 | lower-case@2.0.2: 1012 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} 1013 | 1014 | magic-string@0.30.17: 1015 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1016 | 1017 | math-intrinsics@1.1.0: 1018 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1019 | engines: {node: '>= 0.4'} 1020 | 1021 | media-typer@1.1.0: 1022 | resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} 1023 | engines: {node: '>= 0.8'} 1024 | 1025 | merge-descriptors@2.0.0: 1026 | resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} 1027 | engines: {node: '>=18'} 1028 | 1029 | merge2@1.4.1: 1030 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1031 | engines: {node: '>= 8'} 1032 | 1033 | micromatch@4.0.8: 1034 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1035 | engines: {node: '>=8.6'} 1036 | 1037 | mime-db@1.54.0: 1038 | resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} 1039 | engines: {node: '>= 0.6'} 1040 | 1041 | mime-types@3.0.1: 1042 | resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} 1043 | engines: {node: '>= 0.6'} 1044 | 1045 | minimatch@3.1.2: 1046 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1047 | 1048 | minimatch@9.0.5: 1049 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1050 | engines: {node: '>=16 || 14 >=14.17'} 1051 | 1052 | mri@1.2.0: 1053 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 1054 | engines: {node: '>=4'} 1055 | 1056 | mrmime@2.0.1: 1057 | resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} 1058 | engines: {node: '>=10'} 1059 | 1060 | ms@2.1.3: 1061 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1062 | 1063 | nanoid@3.3.11: 1064 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1065 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1066 | hasBin: true 1067 | 1068 | natural-compare@1.4.0: 1069 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1070 | 1071 | negotiator@1.0.0: 1072 | resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} 1073 | engines: {node: '>= 0.6'} 1074 | 1075 | no-case@3.0.4: 1076 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} 1077 | 1078 | object-assign@4.1.1: 1079 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1080 | engines: {node: '>=0.10.0'} 1081 | 1082 | object-inspect@1.13.4: 1083 | resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 1084 | engines: {node: '>= 0.4'} 1085 | 1086 | on-finished@2.4.1: 1087 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 1088 | engines: {node: '>= 0.8'} 1089 | 1090 | once@1.4.0: 1091 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1092 | 1093 | optionator@0.9.4: 1094 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1095 | engines: {node: '>= 0.8.0'} 1096 | 1097 | p-limit@3.1.0: 1098 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1099 | engines: {node: '>=10'} 1100 | 1101 | p-locate@5.0.0: 1102 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1103 | engines: {node: '>=10'} 1104 | 1105 | package-manager-detector@1.3.0: 1106 | resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} 1107 | 1108 | parent-module@1.0.1: 1109 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1110 | engines: {node: '>=6'} 1111 | 1112 | parseurl@1.3.3: 1113 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 1114 | engines: {node: '>= 0.8'} 1115 | 1116 | pascal-case@3.1.2: 1117 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} 1118 | 1119 | path-exists@4.0.0: 1120 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1121 | engines: {node: '>=8'} 1122 | 1123 | path-key@3.1.1: 1124 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1125 | engines: {node: '>=8'} 1126 | 1127 | path-to-regexp@8.2.0: 1128 | resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} 1129 | engines: {node: '>=16'} 1130 | 1131 | picocolors@1.1.1: 1132 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1133 | 1134 | picomatch@2.3.1: 1135 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1136 | engines: {node: '>=8.6'} 1137 | 1138 | picomatch@4.0.2: 1139 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1140 | engines: {node: '>=12'} 1141 | 1142 | pkce-challenge@5.0.0: 1143 | resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} 1144 | engines: {node: '>=16.20.0'} 1145 | 1146 | playwright-core@1.52.0: 1147 | resolution: {integrity: sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg==} 1148 | engines: {node: '>=18'} 1149 | hasBin: true 1150 | 1151 | playwright@1.52.0: 1152 | resolution: {integrity: sha512-JAwMNMBlxJ2oD1kce4KPtMkDeKGHQstdpFPcPH3maElAXon/QZeTvtsfXmTMRyO9TslfoYOXkSsvao2nE1ilTw==} 1153 | engines: {node: '>=18'} 1154 | hasBin: true 1155 | 1156 | postcss-load-config@3.1.4: 1157 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 1158 | engines: {node: '>= 10'} 1159 | peerDependencies: 1160 | postcss: '>=8.0.9' 1161 | ts-node: '>=9.0.0' 1162 | peerDependenciesMeta: 1163 | postcss: 1164 | optional: true 1165 | ts-node: 1166 | optional: true 1167 | 1168 | postcss-safe-parser@7.0.1: 1169 | resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==} 1170 | engines: {node: '>=18.0'} 1171 | peerDependencies: 1172 | postcss: ^8.4.31 1173 | 1174 | postcss-scss@4.0.9: 1175 | resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} 1176 | engines: {node: '>=12.0'} 1177 | peerDependencies: 1178 | postcss: ^8.4.29 1179 | 1180 | postcss-selector-parser@7.1.0: 1181 | resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} 1182 | engines: {node: '>=4'} 1183 | 1184 | postcss@8.5.3: 1185 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} 1186 | engines: {node: ^10 || ^12 || >=14} 1187 | 1188 | prelude-ls@1.2.1: 1189 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1190 | engines: {node: '>= 0.8.0'} 1191 | 1192 | prettier-plugin-svelte@3.3.3: 1193 | resolution: {integrity: sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw==} 1194 | peerDependencies: 1195 | prettier: ^3.0.0 1196 | svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 1197 | 1198 | prettier@3.5.3: 1199 | resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} 1200 | engines: {node: '>=14'} 1201 | hasBin: true 1202 | 1203 | proxy-addr@2.0.7: 1204 | resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 1205 | engines: {node: '>= 0.10'} 1206 | 1207 | publint@0.3.12: 1208 | resolution: {integrity: sha512-1w3MMtL9iotBjm1mmXtG3Nk06wnq9UhGNRpQ2j6n1Zq7YAD6gnxMMZMIxlRPAydVjVbjSm+n0lhwqsD1m4LD5w==} 1209 | engines: {node: '>=18'} 1210 | hasBin: true 1211 | 1212 | punycode@2.3.1: 1213 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1214 | engines: {node: '>=6'} 1215 | 1216 | qs@6.14.0: 1217 | resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} 1218 | engines: {node: '>=0.6'} 1219 | 1220 | queue-microtask@1.2.3: 1221 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1222 | 1223 | range-parser@1.2.1: 1224 | resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 1225 | engines: {node: '>= 0.6'} 1226 | 1227 | raw-body@3.0.0: 1228 | resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} 1229 | engines: {node: '>= 0.8'} 1230 | 1231 | readdirp@4.1.2: 1232 | resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} 1233 | engines: {node: '>= 14.18.0'} 1234 | 1235 | resolve-from@4.0.0: 1236 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1237 | engines: {node: '>=4'} 1238 | 1239 | reusify@1.1.0: 1240 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1241 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1242 | 1243 | rollup@4.40.2: 1244 | resolution: {integrity: sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==} 1245 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1246 | hasBin: true 1247 | 1248 | router@2.2.0: 1249 | resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} 1250 | engines: {node: '>= 18'} 1251 | 1252 | run-parallel@1.2.0: 1253 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1254 | 1255 | sade@1.8.1: 1256 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 1257 | engines: {node: '>=6'} 1258 | 1259 | safe-buffer@5.2.1: 1260 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1261 | 1262 | safer-buffer@2.1.2: 1263 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1264 | 1265 | semver@7.7.1: 1266 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} 1267 | engines: {node: '>=10'} 1268 | hasBin: true 1269 | 1270 | send@1.2.0: 1271 | resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} 1272 | engines: {node: '>= 18'} 1273 | 1274 | serve-static@2.2.0: 1275 | resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} 1276 | engines: {node: '>= 18'} 1277 | 1278 | set-cookie-parser@2.7.1: 1279 | resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} 1280 | 1281 | setprototypeof@1.2.0: 1282 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 1283 | 1284 | shebang-command@2.0.0: 1285 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1286 | engines: {node: '>=8'} 1287 | 1288 | shebang-regex@3.0.0: 1289 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1290 | engines: {node: '>=8'} 1291 | 1292 | side-channel-list@1.0.0: 1293 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 1294 | engines: {node: '>= 0.4'} 1295 | 1296 | side-channel-map@1.0.1: 1297 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 1298 | engines: {node: '>= 0.4'} 1299 | 1300 | side-channel-weakmap@1.0.2: 1301 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 1302 | engines: {node: '>= 0.4'} 1303 | 1304 | side-channel@1.1.0: 1305 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 1306 | engines: {node: '>= 0.4'} 1307 | 1308 | sirv@3.0.1: 1309 | resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} 1310 | engines: {node: '>=18'} 1311 | 1312 | source-map-js@1.2.1: 1313 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1314 | engines: {node: '>=0.10.0'} 1315 | 1316 | statuses@2.0.1: 1317 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 1318 | engines: {node: '>= 0.8'} 1319 | 1320 | strip-json-comments@3.1.1: 1321 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1322 | engines: {node: '>=8'} 1323 | 1324 | supports-color@7.2.0: 1325 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1326 | engines: {node: '>=8'} 1327 | 1328 | svelte-check@4.1.7: 1329 | resolution: {integrity: sha512-1jX4BzXrQJhC/Jt3SqYf6Ntu//vmfc6VWp07JkRfK2nn+22yIblspVUo96gzMkg0Zov8lQicxhxsMzOctwcMQQ==} 1330 | engines: {node: '>= 18.0.0'} 1331 | hasBin: true 1332 | peerDependencies: 1333 | svelte: ^4.0.0 || ^5.0.0-next.0 1334 | typescript: '>=5.0.0' 1335 | 1336 | svelte-eslint-parser@1.1.3: 1337 | resolution: {integrity: sha512-DUc/z/vk+AFVoxGv54+BOBFqUrmUgNg2gSO2YqrE3OL6ro19/0azPmQj/4wN3s9RxuF5l7G0162q/Ddk4LJhZA==} 1338 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1339 | peerDependencies: 1340 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 1341 | peerDependenciesMeta: 1342 | svelte: 1343 | optional: true 1344 | 1345 | svelte2tsx@0.7.37: 1346 | resolution: {integrity: sha512-uQCWibXwUNPGQBGTZP1axIpFGFHTXXN30/ppodLVXCnX23U1nzEhqiVtFSEQjtUK3pFVxPhdnfyxD6ikxMCzPQ==} 1347 | peerDependencies: 1348 | svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 1349 | typescript: ^4.9.4 || ^5.0.0 1350 | 1351 | svelte@5.28.2: 1352 | resolution: {integrity: sha512-FbWBxgWOpQfhKvoGJv/TFwzqb4EhJbwCD17dB0tEpQiw1XyUEKZJtgm4nA4xq3LLsMo7hu5UY/BOFmroAxKTMg==} 1353 | engines: {node: '>=18'} 1354 | 1355 | tinyglobby@0.2.13: 1356 | resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} 1357 | engines: {node: '>=12.0.0'} 1358 | 1359 | to-regex-range@5.0.1: 1360 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1361 | engines: {node: '>=8.0'} 1362 | 1363 | toidentifier@1.0.1: 1364 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 1365 | engines: {node: '>=0.6'} 1366 | 1367 | totalist@3.0.1: 1368 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 1369 | engines: {node: '>=6'} 1370 | 1371 | ts-api-utils@2.1.0: 1372 | resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 1373 | engines: {node: '>=18.12'} 1374 | peerDependencies: 1375 | typescript: '>=4.8.4' 1376 | 1377 | tslib@2.8.1: 1378 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1379 | 1380 | type-check@0.4.0: 1381 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1382 | engines: {node: '>= 0.8.0'} 1383 | 1384 | type-is@2.0.1: 1385 | resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} 1386 | engines: {node: '>= 0.6'} 1387 | 1388 | typescript-eslint@8.32.0: 1389 | resolution: {integrity: sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==} 1390 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1391 | peerDependencies: 1392 | eslint: ^8.57.0 || ^9.0.0 1393 | typescript: '>=4.8.4 <5.9.0' 1394 | 1395 | typescript@5.8.3: 1396 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} 1397 | engines: {node: '>=14.17'} 1398 | hasBin: true 1399 | 1400 | undici-types@6.20.0: 1401 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} 1402 | 1403 | unpipe@1.0.0: 1404 | resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 1405 | engines: {node: '>= 0.8'} 1406 | 1407 | uri-js@4.4.1: 1408 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1409 | 1410 | util-deprecate@1.0.2: 1411 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1412 | 1413 | vary@1.1.2: 1414 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 1415 | engines: {node: '>= 0.8'} 1416 | 1417 | vite@6.3.5: 1418 | resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} 1419 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1420 | hasBin: true 1421 | peerDependencies: 1422 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1423 | jiti: '>=1.21.0' 1424 | less: '*' 1425 | lightningcss: ^1.21.0 1426 | sass: '*' 1427 | sass-embedded: '*' 1428 | stylus: '*' 1429 | sugarss: '*' 1430 | terser: ^5.16.0 1431 | tsx: ^4.8.1 1432 | yaml: ^2.4.2 1433 | peerDependenciesMeta: 1434 | '@types/node': 1435 | optional: true 1436 | jiti: 1437 | optional: true 1438 | less: 1439 | optional: true 1440 | lightningcss: 1441 | optional: true 1442 | sass: 1443 | optional: true 1444 | sass-embedded: 1445 | optional: true 1446 | stylus: 1447 | optional: true 1448 | sugarss: 1449 | optional: true 1450 | terser: 1451 | optional: true 1452 | tsx: 1453 | optional: true 1454 | yaml: 1455 | optional: true 1456 | 1457 | vitefu@1.0.6: 1458 | resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==} 1459 | peerDependencies: 1460 | vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 1461 | peerDependenciesMeta: 1462 | vite: 1463 | optional: true 1464 | 1465 | which@2.0.2: 1466 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1467 | engines: {node: '>= 8'} 1468 | hasBin: true 1469 | 1470 | word-wrap@1.2.5: 1471 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1472 | engines: {node: '>=0.10.0'} 1473 | 1474 | wrappy@1.0.2: 1475 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1476 | 1477 | yaml@1.10.2: 1478 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 1479 | engines: {node: '>= 6'} 1480 | 1481 | yocto-queue@0.1.0: 1482 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1483 | engines: {node: '>=10'} 1484 | 1485 | zimmerframe@1.1.2: 1486 | resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} 1487 | 1488 | zod-to-json-schema@3.24.5: 1489 | resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} 1490 | peerDependencies: 1491 | zod: ^3.24.1 1492 | 1493 | zod@3.24.4: 1494 | resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} 1495 | 1496 | snapshots: 1497 | 1498 | '@ampproject/remapping@2.3.0': 1499 | dependencies: 1500 | '@jridgewell/gen-mapping': 0.3.8 1501 | '@jridgewell/trace-mapping': 0.3.25 1502 | 1503 | '@esbuild/aix-ppc64@0.25.4': 1504 | optional: true 1505 | 1506 | '@esbuild/android-arm64@0.25.4': 1507 | optional: true 1508 | 1509 | '@esbuild/android-arm@0.25.4': 1510 | optional: true 1511 | 1512 | '@esbuild/android-x64@0.25.4': 1513 | optional: true 1514 | 1515 | '@esbuild/darwin-arm64@0.25.4': 1516 | optional: true 1517 | 1518 | '@esbuild/darwin-x64@0.25.4': 1519 | optional: true 1520 | 1521 | '@esbuild/freebsd-arm64@0.25.4': 1522 | optional: true 1523 | 1524 | '@esbuild/freebsd-x64@0.25.4': 1525 | optional: true 1526 | 1527 | '@esbuild/linux-arm64@0.25.4': 1528 | optional: true 1529 | 1530 | '@esbuild/linux-arm@0.25.4': 1531 | optional: true 1532 | 1533 | '@esbuild/linux-ia32@0.25.4': 1534 | optional: true 1535 | 1536 | '@esbuild/linux-loong64@0.25.4': 1537 | optional: true 1538 | 1539 | '@esbuild/linux-mips64el@0.25.4': 1540 | optional: true 1541 | 1542 | '@esbuild/linux-ppc64@0.25.4': 1543 | optional: true 1544 | 1545 | '@esbuild/linux-riscv64@0.25.4': 1546 | optional: true 1547 | 1548 | '@esbuild/linux-s390x@0.25.4': 1549 | optional: true 1550 | 1551 | '@esbuild/linux-x64@0.25.4': 1552 | optional: true 1553 | 1554 | '@esbuild/netbsd-arm64@0.25.4': 1555 | optional: true 1556 | 1557 | '@esbuild/netbsd-x64@0.25.4': 1558 | optional: true 1559 | 1560 | '@esbuild/openbsd-arm64@0.25.4': 1561 | optional: true 1562 | 1563 | '@esbuild/openbsd-x64@0.25.4': 1564 | optional: true 1565 | 1566 | '@esbuild/sunos-x64@0.25.4': 1567 | optional: true 1568 | 1569 | '@esbuild/win32-arm64@0.25.4': 1570 | optional: true 1571 | 1572 | '@esbuild/win32-ia32@0.25.4': 1573 | optional: true 1574 | 1575 | '@esbuild/win32-x64@0.25.4': 1576 | optional: true 1577 | 1578 | '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0)': 1579 | dependencies: 1580 | eslint: 9.26.0 1581 | eslint-visitor-keys: 3.4.3 1582 | 1583 | '@eslint-community/regexpp@4.12.1': {} 1584 | 1585 | '@eslint/compat@1.2.9(eslint@9.26.0)': 1586 | optionalDependencies: 1587 | eslint: 9.26.0 1588 | 1589 | '@eslint/config-array@0.20.0': 1590 | dependencies: 1591 | '@eslint/object-schema': 2.1.6 1592 | debug: 4.4.0 1593 | minimatch: 3.1.2 1594 | transitivePeerDependencies: 1595 | - supports-color 1596 | 1597 | '@eslint/config-helpers@0.2.2': {} 1598 | 1599 | '@eslint/core@0.13.0': 1600 | dependencies: 1601 | '@types/json-schema': 7.0.15 1602 | 1603 | '@eslint/eslintrc@3.3.1': 1604 | dependencies: 1605 | ajv: 6.12.6 1606 | debug: 4.4.0 1607 | espree: 10.3.0 1608 | globals: 14.0.0 1609 | ignore: 5.3.2 1610 | import-fresh: 3.3.1 1611 | js-yaml: 4.1.0 1612 | minimatch: 3.1.2 1613 | strip-json-comments: 3.1.1 1614 | transitivePeerDependencies: 1615 | - supports-color 1616 | 1617 | '@eslint/js@9.26.0': {} 1618 | 1619 | '@eslint/object-schema@2.1.6': {} 1620 | 1621 | '@eslint/plugin-kit@0.2.8': 1622 | dependencies: 1623 | '@eslint/core': 0.13.0 1624 | levn: 0.4.1 1625 | 1626 | '@humanfs/core@0.19.1': {} 1627 | 1628 | '@humanfs/node@0.16.6': 1629 | dependencies: 1630 | '@humanfs/core': 0.19.1 1631 | '@humanwhocodes/retry': 0.3.1 1632 | 1633 | '@humanwhocodes/module-importer@1.0.1': {} 1634 | 1635 | '@humanwhocodes/retry@0.3.1': {} 1636 | 1637 | '@humanwhocodes/retry@0.4.3': {} 1638 | 1639 | '@jridgewell/gen-mapping@0.3.8': 1640 | dependencies: 1641 | '@jridgewell/set-array': 1.2.1 1642 | '@jridgewell/sourcemap-codec': 1.5.0 1643 | '@jridgewell/trace-mapping': 0.3.25 1644 | 1645 | '@jridgewell/resolve-uri@3.1.2': {} 1646 | 1647 | '@jridgewell/set-array@1.2.1': {} 1648 | 1649 | '@jridgewell/sourcemap-codec@1.5.0': {} 1650 | 1651 | '@jridgewell/trace-mapping@0.3.25': 1652 | dependencies: 1653 | '@jridgewell/resolve-uri': 3.1.2 1654 | '@jridgewell/sourcemap-codec': 1.5.0 1655 | 1656 | '@modelcontextprotocol/sdk@1.11.2': 1657 | dependencies: 1658 | content-type: 1.0.5 1659 | cors: 2.8.5 1660 | cross-spawn: 7.0.6 1661 | eventsource: 3.0.7 1662 | express: 5.1.0 1663 | express-rate-limit: 7.5.0(express@5.1.0) 1664 | pkce-challenge: 5.0.0 1665 | raw-body: 3.0.0 1666 | zod: 3.24.4 1667 | zod-to-json-schema: 3.24.5(zod@3.24.4) 1668 | transitivePeerDependencies: 1669 | - supports-color 1670 | 1671 | '@nodelib/fs.scandir@2.1.5': 1672 | dependencies: 1673 | '@nodelib/fs.stat': 2.0.5 1674 | run-parallel: 1.2.0 1675 | 1676 | '@nodelib/fs.stat@2.0.5': {} 1677 | 1678 | '@nodelib/fs.walk@1.2.8': 1679 | dependencies: 1680 | '@nodelib/fs.scandir': 2.1.5 1681 | fastq: 1.19.1 1682 | 1683 | '@playwright/test@1.52.0': 1684 | dependencies: 1685 | playwright: 1.52.0 1686 | 1687 | '@polka/url@1.0.0-next.29': {} 1688 | 1689 | '@publint/pack@0.1.2': {} 1690 | 1691 | '@rollup/rollup-android-arm-eabi@4.40.2': 1692 | optional: true 1693 | 1694 | '@rollup/rollup-android-arm64@4.40.2': 1695 | optional: true 1696 | 1697 | '@rollup/rollup-darwin-arm64@4.40.2': 1698 | optional: true 1699 | 1700 | '@rollup/rollup-darwin-x64@4.40.2': 1701 | optional: true 1702 | 1703 | '@rollup/rollup-freebsd-arm64@4.40.2': 1704 | optional: true 1705 | 1706 | '@rollup/rollup-freebsd-x64@4.40.2': 1707 | optional: true 1708 | 1709 | '@rollup/rollup-linux-arm-gnueabihf@4.40.2': 1710 | optional: true 1711 | 1712 | '@rollup/rollup-linux-arm-musleabihf@4.40.2': 1713 | optional: true 1714 | 1715 | '@rollup/rollup-linux-arm64-gnu@4.40.2': 1716 | optional: true 1717 | 1718 | '@rollup/rollup-linux-arm64-musl@4.40.2': 1719 | optional: true 1720 | 1721 | '@rollup/rollup-linux-loongarch64-gnu@4.40.2': 1722 | optional: true 1723 | 1724 | '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': 1725 | optional: true 1726 | 1727 | '@rollup/rollup-linux-riscv64-gnu@4.40.2': 1728 | optional: true 1729 | 1730 | '@rollup/rollup-linux-riscv64-musl@4.40.2': 1731 | optional: true 1732 | 1733 | '@rollup/rollup-linux-s390x-gnu@4.40.2': 1734 | optional: true 1735 | 1736 | '@rollup/rollup-linux-x64-gnu@4.40.2': 1737 | optional: true 1738 | 1739 | '@rollup/rollup-linux-x64-musl@4.40.2': 1740 | optional: true 1741 | 1742 | '@rollup/rollup-win32-arm64-msvc@4.40.2': 1743 | optional: true 1744 | 1745 | '@rollup/rollup-win32-ia32-msvc@4.40.2': 1746 | optional: true 1747 | 1748 | '@rollup/rollup-win32-x64-msvc@4.40.2': 1749 | optional: true 1750 | 1751 | '@sveltejs/acorn-typescript@1.0.5(acorn@8.14.1)': 1752 | dependencies: 1753 | acorn: 8.14.1 1754 | 1755 | '@sveltejs/adapter-auto@6.0.0(@sveltejs/kit@2.20.8(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)))(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)))': 1756 | dependencies: 1757 | '@sveltejs/kit': 2.20.8(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)))(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)) 1758 | import-meta-resolve: 4.1.0 1759 | 1760 | '@sveltejs/kit@2.20.8(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)))(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10))': 1761 | dependencies: 1762 | '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)) 1763 | '@types/cookie': 0.6.0 1764 | cookie: 0.6.0 1765 | devalue: 5.1.1 1766 | esm-env: 1.2.2 1767 | import-meta-resolve: 4.1.0 1768 | kleur: 4.1.5 1769 | magic-string: 0.30.17 1770 | mrmime: 2.0.1 1771 | sade: 1.8.1 1772 | set-cookie-parser: 2.7.1 1773 | sirv: 3.0.1 1774 | svelte: 5.28.2 1775 | vite: 6.3.5(@types/node@22.13.10) 1776 | 1777 | '@sveltejs/package@2.3.11(svelte@5.28.2)(typescript@5.8.3)': 1778 | dependencies: 1779 | chokidar: 4.0.3 1780 | kleur: 4.1.5 1781 | sade: 1.8.1 1782 | semver: 7.7.1 1783 | svelte: 5.28.2 1784 | svelte2tsx: 0.7.37(svelte@5.28.2)(typescript@5.8.3) 1785 | transitivePeerDependencies: 1786 | - typescript 1787 | 1788 | '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)))(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10))': 1789 | dependencies: 1790 | '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)) 1791 | debug: 4.4.0 1792 | svelte: 5.28.2 1793 | vite: 6.3.5(@types/node@22.13.10) 1794 | transitivePeerDependencies: 1795 | - supports-color 1796 | 1797 | '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10))': 1798 | dependencies: 1799 | '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)))(svelte@5.28.2)(vite@6.3.5(@types/node@22.13.10)) 1800 | debug: 4.4.0 1801 | deepmerge: 4.3.1 1802 | kleur: 4.1.5 1803 | magic-string: 0.30.17 1804 | svelte: 5.28.2 1805 | vite: 6.3.5(@types/node@22.13.10) 1806 | vitefu: 1.0.6(vite@6.3.5(@types/node@22.13.10)) 1807 | transitivePeerDependencies: 1808 | - supports-color 1809 | 1810 | '@types/cookie@0.6.0': {} 1811 | 1812 | '@types/estree@1.0.7': {} 1813 | 1814 | '@types/json-schema@7.0.15': {} 1815 | 1816 | '@types/node@22.13.10': 1817 | dependencies: 1818 | undici-types: 6.20.0 1819 | optional: true 1820 | 1821 | '@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3)': 1822 | dependencies: 1823 | '@eslint-community/regexpp': 4.12.1 1824 | '@typescript-eslint/parser': 8.32.0(eslint@9.26.0)(typescript@5.8.3) 1825 | '@typescript-eslint/scope-manager': 8.32.0 1826 | '@typescript-eslint/type-utils': 8.32.0(eslint@9.26.0)(typescript@5.8.3) 1827 | '@typescript-eslint/utils': 8.32.0(eslint@9.26.0)(typescript@5.8.3) 1828 | '@typescript-eslint/visitor-keys': 8.32.0 1829 | eslint: 9.26.0 1830 | graphemer: 1.4.0 1831 | ignore: 5.3.2 1832 | natural-compare: 1.4.0 1833 | ts-api-utils: 2.1.0(typescript@5.8.3) 1834 | typescript: 5.8.3 1835 | transitivePeerDependencies: 1836 | - supports-color 1837 | 1838 | '@typescript-eslint/parser@8.32.0(eslint@9.26.0)(typescript@5.8.3)': 1839 | dependencies: 1840 | '@typescript-eslint/scope-manager': 8.32.0 1841 | '@typescript-eslint/types': 8.32.0 1842 | '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) 1843 | '@typescript-eslint/visitor-keys': 8.32.0 1844 | debug: 4.4.0 1845 | eslint: 9.26.0 1846 | typescript: 5.8.3 1847 | transitivePeerDependencies: 1848 | - supports-color 1849 | 1850 | '@typescript-eslint/scope-manager@8.32.0': 1851 | dependencies: 1852 | '@typescript-eslint/types': 8.32.0 1853 | '@typescript-eslint/visitor-keys': 8.32.0 1854 | 1855 | '@typescript-eslint/type-utils@8.32.0(eslint@9.26.0)(typescript@5.8.3)': 1856 | dependencies: 1857 | '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) 1858 | '@typescript-eslint/utils': 8.32.0(eslint@9.26.0)(typescript@5.8.3) 1859 | debug: 4.4.0 1860 | eslint: 9.26.0 1861 | ts-api-utils: 2.1.0(typescript@5.8.3) 1862 | typescript: 5.8.3 1863 | transitivePeerDependencies: 1864 | - supports-color 1865 | 1866 | '@typescript-eslint/types@8.32.0': {} 1867 | 1868 | '@typescript-eslint/typescript-estree@8.32.0(typescript@5.8.3)': 1869 | dependencies: 1870 | '@typescript-eslint/types': 8.32.0 1871 | '@typescript-eslint/visitor-keys': 8.32.0 1872 | debug: 4.4.0 1873 | fast-glob: 3.3.3 1874 | is-glob: 4.0.3 1875 | minimatch: 9.0.5 1876 | semver: 7.7.1 1877 | ts-api-utils: 2.1.0(typescript@5.8.3) 1878 | typescript: 5.8.3 1879 | transitivePeerDependencies: 1880 | - supports-color 1881 | 1882 | '@typescript-eslint/utils@8.32.0(eslint@9.26.0)(typescript@5.8.3)': 1883 | dependencies: 1884 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) 1885 | '@typescript-eslint/scope-manager': 8.32.0 1886 | '@typescript-eslint/types': 8.32.0 1887 | '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) 1888 | eslint: 9.26.0 1889 | typescript: 5.8.3 1890 | transitivePeerDependencies: 1891 | - supports-color 1892 | 1893 | '@typescript-eslint/visitor-keys@8.32.0': 1894 | dependencies: 1895 | '@typescript-eslint/types': 8.32.0 1896 | eslint-visitor-keys: 4.2.0 1897 | 1898 | accepts@2.0.0: 1899 | dependencies: 1900 | mime-types: 3.0.1 1901 | negotiator: 1.0.0 1902 | 1903 | acorn-jsx@5.3.2(acorn@8.14.1): 1904 | dependencies: 1905 | acorn: 8.14.1 1906 | 1907 | acorn@8.14.1: {} 1908 | 1909 | ajv@6.12.6: 1910 | dependencies: 1911 | fast-deep-equal: 3.1.3 1912 | fast-json-stable-stringify: 2.1.0 1913 | json-schema-traverse: 0.4.1 1914 | uri-js: 4.4.1 1915 | 1916 | ansi-styles@4.3.0: 1917 | dependencies: 1918 | color-convert: 2.0.1 1919 | 1920 | argparse@2.0.1: {} 1921 | 1922 | aria-query@5.3.2: {} 1923 | 1924 | axobject-query@4.1.0: {} 1925 | 1926 | balanced-match@1.0.2: {} 1927 | 1928 | body-parser@2.2.0: 1929 | dependencies: 1930 | bytes: 3.1.2 1931 | content-type: 1.0.5 1932 | debug: 4.4.0 1933 | http-errors: 2.0.0 1934 | iconv-lite: 0.6.3 1935 | on-finished: 2.4.1 1936 | qs: 6.14.0 1937 | raw-body: 3.0.0 1938 | type-is: 2.0.1 1939 | transitivePeerDependencies: 1940 | - supports-color 1941 | 1942 | brace-expansion@1.1.11: 1943 | dependencies: 1944 | balanced-match: 1.0.2 1945 | concat-map: 0.0.1 1946 | 1947 | brace-expansion@2.0.1: 1948 | dependencies: 1949 | balanced-match: 1.0.2 1950 | 1951 | braces@3.0.3: 1952 | dependencies: 1953 | fill-range: 7.1.1 1954 | 1955 | bytes@3.1.2: {} 1956 | 1957 | call-bind-apply-helpers@1.0.2: 1958 | dependencies: 1959 | es-errors: 1.3.0 1960 | function-bind: 1.1.2 1961 | 1962 | call-bound@1.0.4: 1963 | dependencies: 1964 | call-bind-apply-helpers: 1.0.2 1965 | get-intrinsic: 1.3.0 1966 | 1967 | callsites@3.1.0: {} 1968 | 1969 | chalk@4.1.2: 1970 | dependencies: 1971 | ansi-styles: 4.3.0 1972 | supports-color: 7.2.0 1973 | 1974 | chokidar@4.0.3: 1975 | dependencies: 1976 | readdirp: 4.1.2 1977 | 1978 | clsx@2.1.1: {} 1979 | 1980 | color-convert@2.0.1: 1981 | dependencies: 1982 | color-name: 1.1.4 1983 | 1984 | color-name@1.1.4: {} 1985 | 1986 | concat-map@0.0.1: {} 1987 | 1988 | content-disposition@1.0.0: 1989 | dependencies: 1990 | safe-buffer: 5.2.1 1991 | 1992 | content-type@1.0.5: {} 1993 | 1994 | cookie-signature@1.2.2: {} 1995 | 1996 | cookie@0.6.0: {} 1997 | 1998 | cookie@0.7.2: {} 1999 | 2000 | cors@2.8.5: 2001 | dependencies: 2002 | object-assign: 4.1.1 2003 | vary: 1.1.2 2004 | 2005 | cross-spawn@7.0.6: 2006 | dependencies: 2007 | path-key: 3.1.1 2008 | shebang-command: 2.0.0 2009 | which: 2.0.2 2010 | 2011 | cssesc@3.0.0: {} 2012 | 2013 | debug@4.4.0: 2014 | dependencies: 2015 | ms: 2.1.3 2016 | 2017 | dedent-js@1.0.1: {} 2018 | 2019 | deep-is@0.1.4: {} 2020 | 2021 | deepmerge@4.3.1: {} 2022 | 2023 | depd@2.0.0: {} 2024 | 2025 | devalue@5.1.1: {} 2026 | 2027 | dunder-proto@1.0.1: 2028 | dependencies: 2029 | call-bind-apply-helpers: 1.0.2 2030 | es-errors: 1.3.0 2031 | gopd: 1.2.0 2032 | 2033 | ee-first@1.1.1: {} 2034 | 2035 | encodeurl@2.0.0: {} 2036 | 2037 | es-define-property@1.0.1: {} 2038 | 2039 | es-errors@1.3.0: {} 2040 | 2041 | es-object-atoms@1.1.1: 2042 | dependencies: 2043 | es-errors: 1.3.0 2044 | 2045 | esbuild@0.25.4: 2046 | optionalDependencies: 2047 | '@esbuild/aix-ppc64': 0.25.4 2048 | '@esbuild/android-arm': 0.25.4 2049 | '@esbuild/android-arm64': 0.25.4 2050 | '@esbuild/android-x64': 0.25.4 2051 | '@esbuild/darwin-arm64': 0.25.4 2052 | '@esbuild/darwin-x64': 0.25.4 2053 | '@esbuild/freebsd-arm64': 0.25.4 2054 | '@esbuild/freebsd-x64': 0.25.4 2055 | '@esbuild/linux-arm': 0.25.4 2056 | '@esbuild/linux-arm64': 0.25.4 2057 | '@esbuild/linux-ia32': 0.25.4 2058 | '@esbuild/linux-loong64': 0.25.4 2059 | '@esbuild/linux-mips64el': 0.25.4 2060 | '@esbuild/linux-ppc64': 0.25.4 2061 | '@esbuild/linux-riscv64': 0.25.4 2062 | '@esbuild/linux-s390x': 0.25.4 2063 | '@esbuild/linux-x64': 0.25.4 2064 | '@esbuild/netbsd-arm64': 0.25.4 2065 | '@esbuild/netbsd-x64': 0.25.4 2066 | '@esbuild/openbsd-arm64': 0.25.4 2067 | '@esbuild/openbsd-x64': 0.25.4 2068 | '@esbuild/sunos-x64': 0.25.4 2069 | '@esbuild/win32-arm64': 0.25.4 2070 | '@esbuild/win32-ia32': 0.25.4 2071 | '@esbuild/win32-x64': 0.25.4 2072 | 2073 | escape-html@1.0.3: {} 2074 | 2075 | escape-string-regexp@4.0.0: {} 2076 | 2077 | eslint-config-prettier@10.1.5(eslint@9.26.0): 2078 | dependencies: 2079 | eslint: 9.26.0 2080 | 2081 | eslint-plugin-svelte@3.5.1(eslint@9.26.0)(svelte@5.28.2): 2082 | dependencies: 2083 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) 2084 | '@jridgewell/sourcemap-codec': 1.5.0 2085 | eslint: 9.26.0 2086 | esutils: 2.0.3 2087 | known-css-properties: 0.35.0 2088 | postcss: 8.5.3 2089 | postcss-load-config: 3.1.4(postcss@8.5.3) 2090 | postcss-safe-parser: 7.0.1(postcss@8.5.3) 2091 | semver: 7.7.1 2092 | svelte-eslint-parser: 1.1.3(svelte@5.28.2) 2093 | optionalDependencies: 2094 | svelte: 5.28.2 2095 | transitivePeerDependencies: 2096 | - ts-node 2097 | 2098 | eslint-scope@8.3.0: 2099 | dependencies: 2100 | esrecurse: 4.3.0 2101 | estraverse: 5.3.0 2102 | 2103 | eslint-visitor-keys@3.4.3: {} 2104 | 2105 | eslint-visitor-keys@4.2.0: {} 2106 | 2107 | eslint@9.26.0: 2108 | dependencies: 2109 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) 2110 | '@eslint-community/regexpp': 4.12.1 2111 | '@eslint/config-array': 0.20.0 2112 | '@eslint/config-helpers': 0.2.2 2113 | '@eslint/core': 0.13.0 2114 | '@eslint/eslintrc': 3.3.1 2115 | '@eslint/js': 9.26.0 2116 | '@eslint/plugin-kit': 0.2.8 2117 | '@humanfs/node': 0.16.6 2118 | '@humanwhocodes/module-importer': 1.0.1 2119 | '@humanwhocodes/retry': 0.4.3 2120 | '@modelcontextprotocol/sdk': 1.11.2 2121 | '@types/estree': 1.0.7 2122 | '@types/json-schema': 7.0.15 2123 | ajv: 6.12.6 2124 | chalk: 4.1.2 2125 | cross-spawn: 7.0.6 2126 | debug: 4.4.0 2127 | escape-string-regexp: 4.0.0 2128 | eslint-scope: 8.3.0 2129 | eslint-visitor-keys: 4.2.0 2130 | espree: 10.3.0 2131 | esquery: 1.6.0 2132 | esutils: 2.0.3 2133 | fast-deep-equal: 3.1.3 2134 | file-entry-cache: 8.0.0 2135 | find-up: 5.0.0 2136 | glob-parent: 6.0.2 2137 | ignore: 5.3.2 2138 | imurmurhash: 0.1.4 2139 | is-glob: 4.0.3 2140 | json-stable-stringify-without-jsonify: 1.0.1 2141 | lodash.merge: 4.6.2 2142 | minimatch: 3.1.2 2143 | natural-compare: 1.4.0 2144 | optionator: 0.9.4 2145 | zod: 3.24.4 2146 | transitivePeerDependencies: 2147 | - supports-color 2148 | 2149 | esm-env@1.2.2: {} 2150 | 2151 | espree@10.3.0: 2152 | dependencies: 2153 | acorn: 8.14.1 2154 | acorn-jsx: 5.3.2(acorn@8.14.1) 2155 | eslint-visitor-keys: 4.2.0 2156 | 2157 | esquery@1.6.0: 2158 | dependencies: 2159 | estraverse: 5.3.0 2160 | 2161 | esrap@1.4.6: 2162 | dependencies: 2163 | '@jridgewell/sourcemap-codec': 1.5.0 2164 | 2165 | esrecurse@4.3.0: 2166 | dependencies: 2167 | estraverse: 5.3.0 2168 | 2169 | estraverse@5.3.0: {} 2170 | 2171 | esutils@2.0.3: {} 2172 | 2173 | etag@1.8.1: {} 2174 | 2175 | eventsource-parser@3.0.1: {} 2176 | 2177 | eventsource@3.0.7: 2178 | dependencies: 2179 | eventsource-parser: 3.0.1 2180 | 2181 | express-rate-limit@7.5.0(express@5.1.0): 2182 | dependencies: 2183 | express: 5.1.0 2184 | 2185 | express@5.1.0: 2186 | dependencies: 2187 | accepts: 2.0.0 2188 | body-parser: 2.2.0 2189 | content-disposition: 1.0.0 2190 | content-type: 1.0.5 2191 | cookie: 0.7.2 2192 | cookie-signature: 1.2.2 2193 | debug: 4.4.0 2194 | encodeurl: 2.0.0 2195 | escape-html: 1.0.3 2196 | etag: 1.8.1 2197 | finalhandler: 2.1.0 2198 | fresh: 2.0.0 2199 | http-errors: 2.0.0 2200 | merge-descriptors: 2.0.0 2201 | mime-types: 3.0.1 2202 | on-finished: 2.4.1 2203 | once: 1.4.0 2204 | parseurl: 1.3.3 2205 | proxy-addr: 2.0.7 2206 | qs: 6.14.0 2207 | range-parser: 1.2.1 2208 | router: 2.2.0 2209 | send: 1.2.0 2210 | serve-static: 2.2.0 2211 | statuses: 2.0.1 2212 | type-is: 2.0.1 2213 | vary: 1.1.2 2214 | transitivePeerDependencies: 2215 | - supports-color 2216 | 2217 | fast-deep-equal@3.1.3: {} 2218 | 2219 | fast-glob@3.3.3: 2220 | dependencies: 2221 | '@nodelib/fs.stat': 2.0.5 2222 | '@nodelib/fs.walk': 1.2.8 2223 | glob-parent: 5.1.2 2224 | merge2: 1.4.1 2225 | micromatch: 4.0.8 2226 | 2227 | fast-json-stable-stringify@2.1.0: {} 2228 | 2229 | fast-levenshtein@2.0.6: {} 2230 | 2231 | fastq@1.19.1: 2232 | dependencies: 2233 | reusify: 1.1.0 2234 | 2235 | fdir@6.4.4(picomatch@4.0.2): 2236 | optionalDependencies: 2237 | picomatch: 4.0.2 2238 | 2239 | file-entry-cache@8.0.0: 2240 | dependencies: 2241 | flat-cache: 4.0.1 2242 | 2243 | fill-range@7.1.1: 2244 | dependencies: 2245 | to-regex-range: 5.0.1 2246 | 2247 | finalhandler@2.1.0: 2248 | dependencies: 2249 | debug: 4.4.0 2250 | encodeurl: 2.0.0 2251 | escape-html: 1.0.3 2252 | on-finished: 2.4.1 2253 | parseurl: 1.3.3 2254 | statuses: 2.0.1 2255 | transitivePeerDependencies: 2256 | - supports-color 2257 | 2258 | find-up@5.0.0: 2259 | dependencies: 2260 | locate-path: 6.0.0 2261 | path-exists: 4.0.0 2262 | 2263 | flat-cache@4.0.1: 2264 | dependencies: 2265 | flatted: 3.3.3 2266 | keyv: 4.5.4 2267 | 2268 | flatted@3.3.3: {} 2269 | 2270 | forwarded@0.2.0: {} 2271 | 2272 | fresh@2.0.0: {} 2273 | 2274 | fsevents@2.3.2: 2275 | optional: true 2276 | 2277 | fsevents@2.3.3: 2278 | optional: true 2279 | 2280 | function-bind@1.1.2: {} 2281 | 2282 | get-intrinsic@1.3.0: 2283 | dependencies: 2284 | call-bind-apply-helpers: 1.0.2 2285 | es-define-property: 1.0.1 2286 | es-errors: 1.3.0 2287 | es-object-atoms: 1.1.1 2288 | function-bind: 1.1.2 2289 | get-proto: 1.0.1 2290 | gopd: 1.2.0 2291 | has-symbols: 1.1.0 2292 | hasown: 2.0.2 2293 | math-intrinsics: 1.1.0 2294 | 2295 | get-proto@1.0.1: 2296 | dependencies: 2297 | dunder-proto: 1.0.1 2298 | es-object-atoms: 1.1.1 2299 | 2300 | glob-parent@5.1.2: 2301 | dependencies: 2302 | is-glob: 4.0.3 2303 | 2304 | glob-parent@6.0.2: 2305 | dependencies: 2306 | is-glob: 4.0.3 2307 | 2308 | globals@14.0.0: {} 2309 | 2310 | globals@16.1.0: {} 2311 | 2312 | gopd@1.2.0: {} 2313 | 2314 | graphemer@1.4.0: {} 2315 | 2316 | has-flag@4.0.0: {} 2317 | 2318 | has-symbols@1.1.0: {} 2319 | 2320 | hasown@2.0.2: 2321 | dependencies: 2322 | function-bind: 1.1.2 2323 | 2324 | http-errors@2.0.0: 2325 | dependencies: 2326 | depd: 2.0.0 2327 | inherits: 2.0.4 2328 | setprototypeof: 1.2.0 2329 | statuses: 2.0.1 2330 | toidentifier: 1.0.1 2331 | 2332 | iconv-lite@0.6.3: 2333 | dependencies: 2334 | safer-buffer: 2.1.2 2335 | 2336 | ignore@5.3.2: {} 2337 | 2338 | import-fresh@3.3.1: 2339 | dependencies: 2340 | parent-module: 1.0.1 2341 | resolve-from: 4.0.0 2342 | 2343 | import-meta-resolve@4.1.0: {} 2344 | 2345 | imurmurhash@0.1.4: {} 2346 | 2347 | inherits@2.0.4: {} 2348 | 2349 | ipaddr.js@1.9.1: {} 2350 | 2351 | is-extglob@2.1.1: {} 2352 | 2353 | is-glob@4.0.3: 2354 | dependencies: 2355 | is-extglob: 2.1.1 2356 | 2357 | is-number@7.0.0: {} 2358 | 2359 | is-promise@4.0.0: {} 2360 | 2361 | is-reference@3.0.3: 2362 | dependencies: 2363 | '@types/estree': 1.0.7 2364 | 2365 | isexe@2.0.0: {} 2366 | 2367 | js-yaml@4.1.0: 2368 | dependencies: 2369 | argparse: 2.0.1 2370 | 2371 | json-buffer@3.0.1: {} 2372 | 2373 | json-schema-traverse@0.4.1: {} 2374 | 2375 | json-stable-stringify-without-jsonify@1.0.1: {} 2376 | 2377 | keyv@4.5.4: 2378 | dependencies: 2379 | json-buffer: 3.0.1 2380 | 2381 | kleur@4.1.5: {} 2382 | 2383 | known-css-properties@0.35.0: {} 2384 | 2385 | levn@0.4.1: 2386 | dependencies: 2387 | prelude-ls: 1.2.1 2388 | type-check: 0.4.0 2389 | 2390 | lilconfig@2.1.0: {} 2391 | 2392 | locate-character@3.0.0: {} 2393 | 2394 | locate-path@6.0.0: 2395 | dependencies: 2396 | p-locate: 5.0.0 2397 | 2398 | lodash.merge@4.6.2: {} 2399 | 2400 | lower-case@2.0.2: 2401 | dependencies: 2402 | tslib: 2.8.1 2403 | 2404 | magic-string@0.30.17: 2405 | dependencies: 2406 | '@jridgewell/sourcemap-codec': 1.5.0 2407 | 2408 | math-intrinsics@1.1.0: {} 2409 | 2410 | media-typer@1.1.0: {} 2411 | 2412 | merge-descriptors@2.0.0: {} 2413 | 2414 | merge2@1.4.1: {} 2415 | 2416 | micromatch@4.0.8: 2417 | dependencies: 2418 | braces: 3.0.3 2419 | picomatch: 2.3.1 2420 | 2421 | mime-db@1.54.0: {} 2422 | 2423 | mime-types@3.0.1: 2424 | dependencies: 2425 | mime-db: 1.54.0 2426 | 2427 | minimatch@3.1.2: 2428 | dependencies: 2429 | brace-expansion: 1.1.11 2430 | 2431 | minimatch@9.0.5: 2432 | dependencies: 2433 | brace-expansion: 2.0.1 2434 | 2435 | mri@1.2.0: {} 2436 | 2437 | mrmime@2.0.1: {} 2438 | 2439 | ms@2.1.3: {} 2440 | 2441 | nanoid@3.3.11: {} 2442 | 2443 | natural-compare@1.4.0: {} 2444 | 2445 | negotiator@1.0.0: {} 2446 | 2447 | no-case@3.0.4: 2448 | dependencies: 2449 | lower-case: 2.0.2 2450 | tslib: 2.8.1 2451 | 2452 | object-assign@4.1.1: {} 2453 | 2454 | object-inspect@1.13.4: {} 2455 | 2456 | on-finished@2.4.1: 2457 | dependencies: 2458 | ee-first: 1.1.1 2459 | 2460 | once@1.4.0: 2461 | dependencies: 2462 | wrappy: 1.0.2 2463 | 2464 | optionator@0.9.4: 2465 | dependencies: 2466 | deep-is: 0.1.4 2467 | fast-levenshtein: 2.0.6 2468 | levn: 0.4.1 2469 | prelude-ls: 1.2.1 2470 | type-check: 0.4.0 2471 | word-wrap: 1.2.5 2472 | 2473 | p-limit@3.1.0: 2474 | dependencies: 2475 | yocto-queue: 0.1.0 2476 | 2477 | p-locate@5.0.0: 2478 | dependencies: 2479 | p-limit: 3.1.0 2480 | 2481 | package-manager-detector@1.3.0: {} 2482 | 2483 | parent-module@1.0.1: 2484 | dependencies: 2485 | callsites: 3.1.0 2486 | 2487 | parseurl@1.3.3: {} 2488 | 2489 | pascal-case@3.1.2: 2490 | dependencies: 2491 | no-case: 3.0.4 2492 | tslib: 2.8.1 2493 | 2494 | path-exists@4.0.0: {} 2495 | 2496 | path-key@3.1.1: {} 2497 | 2498 | path-to-regexp@8.2.0: {} 2499 | 2500 | picocolors@1.1.1: {} 2501 | 2502 | picomatch@2.3.1: {} 2503 | 2504 | picomatch@4.0.2: {} 2505 | 2506 | pkce-challenge@5.0.0: {} 2507 | 2508 | playwright-core@1.52.0: {} 2509 | 2510 | playwright@1.52.0: 2511 | dependencies: 2512 | playwright-core: 1.52.0 2513 | optionalDependencies: 2514 | fsevents: 2.3.2 2515 | 2516 | postcss-load-config@3.1.4(postcss@8.5.3): 2517 | dependencies: 2518 | lilconfig: 2.1.0 2519 | yaml: 1.10.2 2520 | optionalDependencies: 2521 | postcss: 8.5.3 2522 | 2523 | postcss-safe-parser@7.0.1(postcss@8.5.3): 2524 | dependencies: 2525 | postcss: 8.5.3 2526 | 2527 | postcss-scss@4.0.9(postcss@8.5.3): 2528 | dependencies: 2529 | postcss: 8.5.3 2530 | 2531 | postcss-selector-parser@7.1.0: 2532 | dependencies: 2533 | cssesc: 3.0.0 2534 | util-deprecate: 1.0.2 2535 | 2536 | postcss@8.5.3: 2537 | dependencies: 2538 | nanoid: 3.3.11 2539 | picocolors: 1.1.1 2540 | source-map-js: 1.2.1 2541 | 2542 | prelude-ls@1.2.1: {} 2543 | 2544 | prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.28.2): 2545 | dependencies: 2546 | prettier: 3.5.3 2547 | svelte: 5.28.2 2548 | 2549 | prettier@3.5.3: {} 2550 | 2551 | proxy-addr@2.0.7: 2552 | dependencies: 2553 | forwarded: 0.2.0 2554 | ipaddr.js: 1.9.1 2555 | 2556 | publint@0.3.12: 2557 | dependencies: 2558 | '@publint/pack': 0.1.2 2559 | package-manager-detector: 1.3.0 2560 | picocolors: 1.1.1 2561 | sade: 1.8.1 2562 | 2563 | punycode@2.3.1: {} 2564 | 2565 | qs@6.14.0: 2566 | dependencies: 2567 | side-channel: 1.1.0 2568 | 2569 | queue-microtask@1.2.3: {} 2570 | 2571 | range-parser@1.2.1: {} 2572 | 2573 | raw-body@3.0.0: 2574 | dependencies: 2575 | bytes: 3.1.2 2576 | http-errors: 2.0.0 2577 | iconv-lite: 0.6.3 2578 | unpipe: 1.0.0 2579 | 2580 | readdirp@4.1.2: {} 2581 | 2582 | resolve-from@4.0.0: {} 2583 | 2584 | reusify@1.1.0: {} 2585 | 2586 | rollup@4.40.2: 2587 | dependencies: 2588 | '@types/estree': 1.0.7 2589 | optionalDependencies: 2590 | '@rollup/rollup-android-arm-eabi': 4.40.2 2591 | '@rollup/rollup-android-arm64': 4.40.2 2592 | '@rollup/rollup-darwin-arm64': 4.40.2 2593 | '@rollup/rollup-darwin-x64': 4.40.2 2594 | '@rollup/rollup-freebsd-arm64': 4.40.2 2595 | '@rollup/rollup-freebsd-x64': 4.40.2 2596 | '@rollup/rollup-linux-arm-gnueabihf': 4.40.2 2597 | '@rollup/rollup-linux-arm-musleabihf': 4.40.2 2598 | '@rollup/rollup-linux-arm64-gnu': 4.40.2 2599 | '@rollup/rollup-linux-arm64-musl': 4.40.2 2600 | '@rollup/rollup-linux-loongarch64-gnu': 4.40.2 2601 | '@rollup/rollup-linux-powerpc64le-gnu': 4.40.2 2602 | '@rollup/rollup-linux-riscv64-gnu': 4.40.2 2603 | '@rollup/rollup-linux-riscv64-musl': 4.40.2 2604 | '@rollup/rollup-linux-s390x-gnu': 4.40.2 2605 | '@rollup/rollup-linux-x64-gnu': 4.40.2 2606 | '@rollup/rollup-linux-x64-musl': 4.40.2 2607 | '@rollup/rollup-win32-arm64-msvc': 4.40.2 2608 | '@rollup/rollup-win32-ia32-msvc': 4.40.2 2609 | '@rollup/rollup-win32-x64-msvc': 4.40.2 2610 | fsevents: 2.3.3 2611 | 2612 | router@2.2.0: 2613 | dependencies: 2614 | debug: 4.4.0 2615 | depd: 2.0.0 2616 | is-promise: 4.0.0 2617 | parseurl: 1.3.3 2618 | path-to-regexp: 8.2.0 2619 | transitivePeerDependencies: 2620 | - supports-color 2621 | 2622 | run-parallel@1.2.0: 2623 | dependencies: 2624 | queue-microtask: 1.2.3 2625 | 2626 | sade@1.8.1: 2627 | dependencies: 2628 | mri: 1.2.0 2629 | 2630 | safe-buffer@5.2.1: {} 2631 | 2632 | safer-buffer@2.1.2: {} 2633 | 2634 | semver@7.7.1: {} 2635 | 2636 | send@1.2.0: 2637 | dependencies: 2638 | debug: 4.4.0 2639 | encodeurl: 2.0.0 2640 | escape-html: 1.0.3 2641 | etag: 1.8.1 2642 | fresh: 2.0.0 2643 | http-errors: 2.0.0 2644 | mime-types: 3.0.1 2645 | ms: 2.1.3 2646 | on-finished: 2.4.1 2647 | range-parser: 1.2.1 2648 | statuses: 2.0.1 2649 | transitivePeerDependencies: 2650 | - supports-color 2651 | 2652 | serve-static@2.2.0: 2653 | dependencies: 2654 | encodeurl: 2.0.0 2655 | escape-html: 1.0.3 2656 | parseurl: 1.3.3 2657 | send: 1.2.0 2658 | transitivePeerDependencies: 2659 | - supports-color 2660 | 2661 | set-cookie-parser@2.7.1: {} 2662 | 2663 | setprototypeof@1.2.0: {} 2664 | 2665 | shebang-command@2.0.0: 2666 | dependencies: 2667 | shebang-regex: 3.0.0 2668 | 2669 | shebang-regex@3.0.0: {} 2670 | 2671 | side-channel-list@1.0.0: 2672 | dependencies: 2673 | es-errors: 1.3.0 2674 | object-inspect: 1.13.4 2675 | 2676 | side-channel-map@1.0.1: 2677 | dependencies: 2678 | call-bound: 1.0.4 2679 | es-errors: 1.3.0 2680 | get-intrinsic: 1.3.0 2681 | object-inspect: 1.13.4 2682 | 2683 | side-channel-weakmap@1.0.2: 2684 | dependencies: 2685 | call-bound: 1.0.4 2686 | es-errors: 1.3.0 2687 | get-intrinsic: 1.3.0 2688 | object-inspect: 1.13.4 2689 | side-channel-map: 1.0.1 2690 | 2691 | side-channel@1.1.0: 2692 | dependencies: 2693 | es-errors: 1.3.0 2694 | object-inspect: 1.13.4 2695 | side-channel-list: 1.0.0 2696 | side-channel-map: 1.0.1 2697 | side-channel-weakmap: 1.0.2 2698 | 2699 | sirv@3.0.1: 2700 | dependencies: 2701 | '@polka/url': 1.0.0-next.29 2702 | mrmime: 2.0.1 2703 | totalist: 3.0.1 2704 | 2705 | source-map-js@1.2.1: {} 2706 | 2707 | statuses@2.0.1: {} 2708 | 2709 | strip-json-comments@3.1.1: {} 2710 | 2711 | supports-color@7.2.0: 2712 | dependencies: 2713 | has-flag: 4.0.0 2714 | 2715 | svelte-check@4.1.7(picomatch@4.0.2)(svelte@5.28.2)(typescript@5.8.3): 2716 | dependencies: 2717 | '@jridgewell/trace-mapping': 0.3.25 2718 | chokidar: 4.0.3 2719 | fdir: 6.4.4(picomatch@4.0.2) 2720 | picocolors: 1.1.1 2721 | sade: 1.8.1 2722 | svelte: 5.28.2 2723 | typescript: 5.8.3 2724 | transitivePeerDependencies: 2725 | - picomatch 2726 | 2727 | svelte-eslint-parser@1.1.3(svelte@5.28.2): 2728 | dependencies: 2729 | eslint-scope: 8.3.0 2730 | eslint-visitor-keys: 4.2.0 2731 | espree: 10.3.0 2732 | postcss: 8.5.3 2733 | postcss-scss: 4.0.9(postcss@8.5.3) 2734 | postcss-selector-parser: 7.1.0 2735 | optionalDependencies: 2736 | svelte: 5.28.2 2737 | 2738 | svelte2tsx@0.7.37(svelte@5.28.2)(typescript@5.8.3): 2739 | dependencies: 2740 | dedent-js: 1.0.1 2741 | pascal-case: 3.1.2 2742 | svelte: 5.28.2 2743 | typescript: 5.8.3 2744 | 2745 | svelte@5.28.2: 2746 | dependencies: 2747 | '@ampproject/remapping': 2.3.0 2748 | '@jridgewell/sourcemap-codec': 1.5.0 2749 | '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) 2750 | '@types/estree': 1.0.7 2751 | acorn: 8.14.1 2752 | aria-query: 5.3.2 2753 | axobject-query: 4.1.0 2754 | clsx: 2.1.1 2755 | esm-env: 1.2.2 2756 | esrap: 1.4.6 2757 | is-reference: 3.0.3 2758 | locate-character: 3.0.0 2759 | magic-string: 0.30.17 2760 | zimmerframe: 1.1.2 2761 | 2762 | tinyglobby@0.2.13: 2763 | dependencies: 2764 | fdir: 6.4.4(picomatch@4.0.2) 2765 | picomatch: 4.0.2 2766 | 2767 | to-regex-range@5.0.1: 2768 | dependencies: 2769 | is-number: 7.0.0 2770 | 2771 | toidentifier@1.0.1: {} 2772 | 2773 | totalist@3.0.1: {} 2774 | 2775 | ts-api-utils@2.1.0(typescript@5.8.3): 2776 | dependencies: 2777 | typescript: 5.8.3 2778 | 2779 | tslib@2.8.1: {} 2780 | 2781 | type-check@0.4.0: 2782 | dependencies: 2783 | prelude-ls: 1.2.1 2784 | 2785 | type-is@2.0.1: 2786 | dependencies: 2787 | content-type: 1.0.5 2788 | media-typer: 1.1.0 2789 | mime-types: 3.0.1 2790 | 2791 | typescript-eslint@8.32.0(eslint@9.26.0)(typescript@5.8.3): 2792 | dependencies: 2793 | '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3) 2794 | '@typescript-eslint/parser': 8.32.0(eslint@9.26.0)(typescript@5.8.3) 2795 | '@typescript-eslint/utils': 8.32.0(eslint@9.26.0)(typescript@5.8.3) 2796 | eslint: 9.26.0 2797 | typescript: 5.8.3 2798 | transitivePeerDependencies: 2799 | - supports-color 2800 | 2801 | typescript@5.8.3: {} 2802 | 2803 | undici-types@6.20.0: 2804 | optional: true 2805 | 2806 | unpipe@1.0.0: {} 2807 | 2808 | uri-js@4.4.1: 2809 | dependencies: 2810 | punycode: 2.3.1 2811 | 2812 | util-deprecate@1.0.2: {} 2813 | 2814 | vary@1.1.2: {} 2815 | 2816 | vite@6.3.5(@types/node@22.13.10): 2817 | dependencies: 2818 | esbuild: 0.25.4 2819 | fdir: 6.4.4(picomatch@4.0.2) 2820 | picomatch: 4.0.2 2821 | postcss: 8.5.3 2822 | rollup: 4.40.2 2823 | tinyglobby: 0.2.13 2824 | optionalDependencies: 2825 | '@types/node': 22.13.10 2826 | fsevents: 2.3.3 2827 | 2828 | vitefu@1.0.6(vite@6.3.5(@types/node@22.13.10)): 2829 | optionalDependencies: 2830 | vite: 6.3.5(@types/node@22.13.10) 2831 | 2832 | which@2.0.2: 2833 | dependencies: 2834 | isexe: 2.0.0 2835 | 2836 | word-wrap@1.2.5: {} 2837 | 2838 | wrappy@1.0.2: {} 2839 | 2840 | yaml@1.10.2: {} 2841 | 2842 | yocto-queue@0.1.0: {} 2843 | 2844 | zimmerframe@1.1.2: {} 2845 | 2846 | zod-to-json-schema@3.24.5(zod@3.24.4): 2847 | dependencies: 2848 | zod: 3.24.4 2849 | 2850 | zod@3.24.4: {} 2851 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | onlyBuiltDependencies: 2 | - esbuild 3 | -------------------------------------------------------------------------------- /src/app.d.ts: -------------------------------------------------------------------------------- 1 | // See https://svelte.dev/docs/kit/types#app.d.ts 2 | // for information about these interfaces 3 | declare global { 4 | namespace App { 5 | // interface Error {} 6 | // interface Locals {} 7 | // interface PageData {} 8 | // interface PageState {} 9 | // interface Platform {} 10 | } 11 | } 12 | 13 | export {}; 14 | -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | %sveltekit.head% 8 | 9 | 10 |
%sveltekit.body%
11 | 12 | 13 | -------------------------------------------------------------------------------- /src/lib/Modal.svelte: -------------------------------------------------------------------------------- 1 | 42 | 43 | { 48 | if (!closeOnEscapeKey) e.preventDefault(); 49 | oncancel?.(e); 50 | }} 51 | onclose={async (e) => { 52 | document.body.style.overflow = 'visible'; 53 | isOpen = false; 54 | onclose?.(e); 55 | if (!isCloseTransitionSupported) onclosed?.({ currentTarget: e.currentTarget }); 56 | }} 57 | ontransitionstart={isCloseTransitionSupported && onclosed 58 | ? // Workaround for https://issues.chromium.org/issues/365565135 59 | (e) => { 60 | if (e.propertyName !== 'display' || e.currentTarget.open) return; 61 | let requestId: number; 62 | const handleOnclosed = () => { 63 | if (window.getComputedStyle(dialog).display !== 'none') { 64 | requestId = requestAnimationFrame(handleOnclosed); 65 | return; 66 | } 67 | onclosed({ currentTarget: e.currentTarget }); 68 | cancelAnimationFrame(requestId); 69 | }; 70 | requestId = requestAnimationFrame(handleOnclosed); 71 | } 72 | : null} 73 | onclick={!closeOnBackdropClick 74 | ? null 75 | : (e) => { 76 | if (e.currentTarget !== e.target) return; 77 | const rect = dialog.getBoundingClientRect(); 78 | const isBackdropClick = 79 | e.clientX < rect.left || 80 | e.clientX > rect.right || 81 | e.clientY < rect.top || 82 | e.clientY > rect.bottom; 83 | if (isBackdropClick) dialog.close(); 84 | }} 85 | > 86 | {@render children?.()} 87 | 88 | 89 | 154 | -------------------------------------------------------------------------------- /src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export { default as Modal } from './Modal.svelte'; 2 | -------------------------------------------------------------------------------- /src/routes/+page.svelte: -------------------------------------------------------------------------------- 1 | 19 | 20 | 21 | / 22 | svelte-html-modal 23 | 24 |
25 | Options 26 | 30 |
31 | 35 |
36 | 40 |
41 | 42 | 43 | 44 | 73 | 74 | 89 | -------------------------------------------------------------------------------- /static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyunbinseo/svelte-html-modal/49a7b900b6271e3d9b874acb5607bf7fe86c863b/static/favicon.png -------------------------------------------------------------------------------- /svelte.config.js: -------------------------------------------------------------------------------- 1 | import adapter from '@sveltejs/adapter-auto'; 2 | import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; 3 | 4 | /** @type {import('@sveltejs/kit').Config} */ 5 | const config = { 6 | // Consult https://svelte.dev/docs/kit/integrations 7 | // for more information about preprocessors 8 | preprocess: vitePreprocess(), 9 | 10 | kit: { 11 | // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. 12 | // If your environment is not supported, or you settled on a specific environment, switch out the adapter. 13 | // See https://svelte.dev/docs/kit/adapters for more information about adapters. 14 | adapter: adapter() 15 | } 16 | }; 17 | 18 | export default config; 19 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.svelte-kit/tsconfig.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "checkJs": true, 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "resolveJsonModule": true, 9 | "skipLibCheck": true, 10 | "sourceMap": true, 11 | "strict": true, 12 | "module": "NodeNext", 13 | "moduleResolution": "NodeNext" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { sveltekit } from '@sveltejs/kit/vite'; 2 | import { defineConfig } from 'vite'; 3 | 4 | export default defineConfig({ 5 | plugins: [sveltekit()] 6 | }); 7 | -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { svelte } from '@sveltejs/vite-plugin-svelte'; 2 | import { svelteTesting } from '@testing-library/svelte/vite'; 3 | import { defineConfig } from 'vitest/config'; 4 | 5 | export default defineConfig({ 6 | plugins: [svelte(), svelteTesting()], 7 | test: { globals: true, environment: 'happy-dom' } 8 | }); 9 | --------------------------------------------------------------------------------