SPB Git

spb/svgarden Public

SVGarden — searchable bank of 74 self-contained SVG+CSS animation snippets (svgarden.dev)

HTML 79.2% Astro 10.3% JavaScript 6% CSS 3.7% Shell 0.8%

feat(core): scaffold Astro platform — snippet parser, validation gate, server, pm2, deploy

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Simon-Pierre Boucher committed 4 h ago (Aug 10, 2026)

Showing 11 changed files with +7,226 and −0

added .gitignore +15 −0
@@ -0,0 +1,15 @@
1 +# ============================================================
2 +# SVGarden — https://www.svgarden.dev
3 +# Author : Simon-Pierre Boucher
4 +# Contact: contact@spboucher.ai
5 +# File : .gitignore
6 +# Desc : Never commit secrets, build output, or dependencies
7 +# ============================================================
8 +node_modules/
9 +dist/
10 +.astro/
11 +.env
12 +.env.*
13 +ngrok.yml
14 +*.log
15 +.DS_Store
added README.md +96 −0
@@ -0,0 +1,96 @@
1 +# SVGarden 🌱
2 +
3 +> A massive, searchable bank of SVG + CSS animations with copy-ready code snippets.
4 +> **Production:** https://www.svgarden.dev — **Author:** Simon-Pierre Boucher — contact@spboucher.ai
5 +
6 +Every animation is one self-contained `.html` file: paste it into a blank page and it works.
7 +No frameworks, no CDNs, no build step required by the snippets themselves — and each one
8 +ships with a short "How it works" lesson.
9 +
10 +## Quick start
11 +
12 +```bash
13 +npm install
14 +npm run dev # local dev server on :4321
15 +npm run build # validate snippets + build static site into dist/
16 +npm run serve # serve dist/ with the production Express server (:4321, /healthz)
17 +```
18 +
19 +## Adding a snippet
20 +
21 +```bash
22 +npm run new # interactive scaffolder → snippets/<category>/<slug>.html
23 +npm run validate # the same gate the build runs
24 +```
25 +
26 +One file = one animation. The gallery, detail page, category pages, search index and
27 +tag filters all regenerate at build time — never edit generated pages.
28 +
29 +Snippet hard rules (enforced by `scripts/validate-snippets.mjs`, which **fails the build**):
30 +
31 +- SVGarden author header at the top (attribution travels with every copy/download);
32 +- `<!--svgarden ... -->` YAML frontmatter (title, slug, category, tags, difficulty,
33 + techniques, how_it_works, customizable, created);
34 +- self-contained (no external assets), all classes prefixed `sg-<slug>`,
35 +- customizable values as `--sg-*` custom properties declared on the root element,
36 +- ≤ 120 lines, `js` tag iff the snippet contains a `<script>`,
37 +- every `<svg>` is `aria-hidden="true"` or `role="img"` + `<title>`.
38 +
39 +## Architecture
40 +
41 +| Piece | Where |
42 +|---|---|
43 +| Snippet bank | `snippets/<category>/<slug>.html` |
44 +| Parser / single source of truth | `src/lib/snippets.mjs` |
45 +| Site (Astro, static output) | `src/pages`, `src/components`, `src/layouts` |
46 +| Search index endpoint | `src/pages/search-index.json.js` (Fuse.js, lazy-loaded client-side) |
47 +| Build info for `/healthz` | `src/pages/build-info.json.js` |
48 +| Production server | `server.mjs` (Express, gzip/brotli, immutable caching for hashed assets) |
49 +| Process manager | `ecosystem.config.cjs` (pm2: `svgarden-web` + `svgarden-tunnel`) |
50 +| Deploy | `scripts/deploy.sh` |
51 +
52 +## Deployment (node M3U96b + ngrok)
53 +
54 +The site runs on cluster node **M3U96b**, served at `127.0.0.1:4321` and exposed publicly
55 +through an ngrok tunnel at **https://www.svgarden.dev**.
56 +
57 +```bash
58 +./scripts/deploy.sh
59 +```
60 +
61 +The script syncs the source to the node (via `git pull` once a git remote exists on the
62 +node; via `rsync` until then), runs `npm ci` + `npm run build`, restarts both pm2 apps,
63 +then health-checks `http://127.0.0.1:4321/healthz` and `https://www.svgarden.dev/healthz`.
64 +
65 +### One-time ngrok requirements (operator steps)
66 +
67 +1. ngrok installed and authenticated on the node (`ngrok config add-authtoken <token>`).
68 + **Never** commit or share the token.
69 +2. `www.svgarden.dev` reserved as a **custom domain** in the ngrok dashboard
70 + (Universal Gateway → Domains).
71 +3. DNS: a `CNAME` for `www.svgarden.dev` pointing at the target ngrok gives you when
72 + reserving the domain. This step happens at your DNS provider; the deploy script
73 + degrades gracefully (local server stays up) until it propagates.
74 +4. Tunnel definition in the node's ngrok config (`~/Library/Application Support/ngrok/ngrok.yml`
75 + on macOS — add the block, don't overwrite the file):
76 +
77 +```yaml
78 +tunnels:
79 + svgarden:
80 + proto: http
81 + addr: 4321
82 + domain: www.svgarden.dev
83 +```
84 +
85 +pm2 then keeps both alive across reboots (`pm2 save` + `pm2 startup` already configured
86 +on the node): `svgarden-web` runs `server.mjs`, `svgarden-tunnel` runs
87 +`ngrok start svgarden --log=stdout`.
88 +
89 +## Quality gates
90 +
91 +1. `npm run validate` passes;
92 +2. `npm run build` completes with zero warnings;
93 +3. new snippets visually verified on light **and** dark preview backgrounds;
94 +4. copy-button output pastes into a blank `.html` file and renders correctly.
95 +
96 +© Simon-Pierre Boucher — contact@spboucher.ai — svgarden.dev
added astro.config.mjs +22 −0
@@ -0,0 +1,22 @@
1 +/**
2 + * ============================================================
3 + * SVGarden — https://www.svgarden.dev
4 + * Author : Simon-Pierre Boucher
5 + * Contact: contact@spboucher.ai
6 + * File : astro.config.mjs
7 + * Desc : Astro configuration — static output for svgarden.dev
8 + * ============================================================
9 + */
10 +import { defineConfig } from 'astro/config';
11 +
12 +export default defineConfig({
13 + site: 'https://www.svgarden.dev',
14 + output: 'static',
15 + trailingSlash: 'never',
16 + build: {
17 + format: 'file',
18 + },
19 + server: {
20 + port: 4321,
21 + },
22 +});
added ecosystem.config.cjs +29 −0
@@ -0,0 +1,29 @@
1 +/**
2 + * ============================================================
3 + * SVGarden — https://www.svgarden.dev
4 + * Author : Simon-Pierre Boucher
5 + * Contact: contact@spboucher.ai
6 + * File : ecosystem.config.cjs
7 + * Desc : pm2 config — static server (svgarden-web) + ngrok tunnel (svgarden-tunnel)
8 + * ============================================================
9 + */
10 +module.exports = {
11 + apps: [
12 + {
13 + name: 'svgarden-web',
14 + script: 'server.mjs',
15 + interpreter: 'node',
16 + env: { PORT: 4321, HOST: '127.0.0.1', NODE_ENV: 'production' },
17 + max_restarts: 10,
18 + restart_delay: 2000,
19 + },
20 + {
21 + name: 'svgarden-tunnel',
22 + script: '/opt/homebrew/bin/ngrok',
23 + interpreter: 'none',
24 + args: ['start', 'svgarden', '--log=stdout'],
25 + max_restarts: 10,
26 + restart_delay: 5000,
27 + },
28 + ],
29 +};
added package-lock.json +6533 −0
@@ -0,0 +1,6533 @@
1 +{
2 + "name": "svgarden",
3 + "version": "1.0.0",
4 + "lockfileVersion": 3,
5 + "requires": true,
6 + "packages": {
7 + "": {
8 + "name": "svgarden",
9 + "version": "1.0.0",
10 + "license": "MIT",
11 + "dependencies": {
12 + "astro": "^5.12.0",
13 + "compression": "^1.8.0",
14 + "express": "^4.21.2",
15 + "fuse.js": "^7.1.0",
16 + "yaml": "^2.8.0"
17 + },
18 + "engines": {
19 + "node": ">=20"
20 + }
21 + },
22 + "node_modules/@astrojs/compiler": {
23 + "version": "2.13.1",
24 + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz",
25 + "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==",
26 + "license": "MIT"
27 + },
28 + "node_modules/@astrojs/internal-helpers": {
29 + "version": "0.7.6",
30 + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.6.tgz",
31 + "integrity": "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==",
32 + "license": "MIT"
33 + },
34 + "node_modules/@astrojs/markdown-remark": {
35 + "version": "6.3.11",
36 + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.11.tgz",
37 + "integrity": "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ==",
38 + "license": "MIT",
39 + "dependencies": {
40 + "@astrojs/internal-helpers": "0.7.6",
41 + "@astrojs/prism": "3.3.0",
42 + "github-slugger": "^2.0.0",
43 + "hast-util-from-html": "^2.0.3",
44 + "hast-util-to-text": "^4.0.2",
45 + "import-meta-resolve": "^4.2.0",
46 + "js-yaml": "^4.1.1",
47 + "mdast-util-definitions": "^6.0.0",
48 + "rehype-raw": "^7.0.0",
49 + "rehype-stringify": "^10.0.1",
50 + "remark-gfm": "^4.0.1",
51 + "remark-parse": "^11.0.0",
52 + "remark-rehype": "^11.1.2",
53 + "remark-smartypants": "^3.0.2",
54 + "shiki": "^3.21.0",
55 + "smol-toml": "^1.6.0",
56 + "unified": "^11.0.5",
57 + "unist-util-remove-position": "^5.0.0",
58 + "unist-util-visit": "^5.0.0",
59 + "unist-util-visit-parents": "^6.0.2",
60 + "vfile": "^6.0.3"
61 + }
62 + },
63 + "node_modules/@astrojs/prism": {
64 + "version": "3.3.0",
65 + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz",
66 + "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==",
67 + "license": "MIT",
68 + "dependencies": {
69 + "prismjs": "^1.30.0"
70 + },
71 + "engines": {
72 + "node": "18.20.8 || ^20.3.0 || >=22.0.0"
73 + }
74 + },
75 + "node_modules/@astrojs/telemetry": {
76 + "version": "3.3.0",
77 + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz",
78 + "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==",
79 + "license": "MIT",
80 + "dependencies": {
81 + "ci-info": "^4.2.0",
82 + "debug": "^4.4.0",
83 + "dlv": "^1.1.3",
84 + "dset": "^3.1.4",
85 + "is-docker": "^3.0.0",
86 + "is-wsl": "^3.1.0",
87 + "which-pm-runs": "^1.1.0"
88 + },
89 + "engines": {
90 + "node": "18.20.8 || ^20.3.0 || >=22.0.0"
91 + }
92 + },
93 + "node_modules/@babel/helper-string-parser": {
94 + "version": "7.29.7",
95 + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz",
96 + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
97 + "license": "MIT",
98 + "engines": {
99 + "node": ">=6.9.0"
100 + }
101 + },
102 + "node_modules/@babel/helper-validator-identifier": {
103 + "version": "7.29.7",
104 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
105 + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
106 + "license": "MIT",
107 + "engines": {
108 + "node": ">=6.9.0"
109 + }
110 + },
111 + "node_modules/@babel/parser": {
112 + "version": "7.29.8",
113 + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz",
114 + "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==",
115 + "license": "MIT",
116 + "dependencies": {
117 + "@babel/types": "^7.29.8"
118 + },
119 + "bin": {
120 + "parser": "bin/babel-parser.js"
121 + },
122 + "engines": {
123 + "node": ">=6.0.0"
124 + }
125 + },
126 + "node_modules/@babel/types": {
127 + "version": "7.29.8",
128 + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz",
129 + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==",
130 + "license": "MIT",
131 + "dependencies": {
132 + "@babel/helper-string-parser": "^7.29.7",
133 + "@babel/helper-validator-identifier": "^7.29.7"
134 + },
135 + "engines": {
136 + "node": ">=6.9.0"
137 + }
138 + },
139 + "node_modules/@capsizecss/unpack": {
140 + "version": "4.0.1",
141 + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.1.tgz",
142 + "integrity": "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==",
143 + "license": "MIT",
144 + "dependencies": {
145 + "fontkitten": "^1.0.3"
146 + },
147 + "engines": {
148 + "node": ">=18"
149 + }
150 + },
151 + "node_modules/@emnapi/runtime": {
152 + "version": "1.11.3",
153 + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz",
154 + "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==",
155 + "license": "MIT",
156 + "optional": true,
157 + "dependencies": {
158 + "tslib": "^2.4.0"
159 + }
160 + },
161 + "node_modules/@esbuild/aix-ppc64": {
162 + "version": "0.27.7",
163 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz",
164 + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==",
165 + "cpu": [
166 + "ppc64"
167 + ],
168 + "license": "MIT",
169 + "optional": true,
170 + "os": [
171 + "aix"
172 + ],
173 + "engines": {
174 + "node": ">=18"
175 + }
176 + },
177 + "node_modules/@esbuild/android-arm": {
178 + "version": "0.27.7",
179 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz",
180 + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==",
181 + "cpu": [
182 + "arm"
183 + ],
184 + "license": "MIT",
185 + "optional": true,
186 + "os": [
187 + "android"
188 + ],
189 + "engines": {
190 + "node": ">=18"
191 + }
192 + },
193 + "node_modules/@esbuild/android-arm64": {
194 + "version": "0.27.7",
195 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz",
196 + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==",
197 + "cpu": [
198 + "arm64"
199 + ],
200 + "license": "MIT",
201 + "optional": true,
202 + "os": [
203 + "android"
204 + ],
205 + "engines": {
206 + "node": ">=18"
207 + }
208 + },
209 + "node_modules/@esbuild/android-x64": {
210 + "version": "0.27.7",
211 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz",
212 + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==",
213 + "cpu": [
214 + "x64"
215 + ],
216 + "license": "MIT",
217 + "optional": true,
218 + "os": [
219 + "android"
220 + ],
221 + "engines": {
222 + "node": ">=18"
223 + }
224 + },
225 + "node_modules/@esbuild/darwin-arm64": {
226 + "version": "0.27.7",
227 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz",
228 + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==",
229 + "cpu": [
230 + "arm64"
231 + ],
232 + "license": "MIT",
233 + "optional": true,
234 + "os": [
235 + "darwin"
236 + ],
237 + "engines": {
238 + "node": ">=18"
239 + }
240 + },
241 + "node_modules/@esbuild/darwin-x64": {
242 + "version": "0.27.7",
243 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz",
244 + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==",
245 + "cpu": [
246 + "x64"
247 + ],
248 + "license": "MIT",
249 + "optional": true,
250 + "os": [
251 + "darwin"
252 + ],
253 + "engines": {
254 + "node": ">=18"
255 + }
256 + },
257 + "node_modules/@esbuild/freebsd-arm64": {
258 + "version": "0.27.7",
259 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz",
260 + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==",
261 + "cpu": [
262 + "arm64"
263 + ],
264 + "license": "MIT",
265 + "optional": true,
266 + "os": [
267 + "freebsd"
268 + ],
269 + "engines": {
270 + "node": ">=18"
271 + }
272 + },
273 + "node_modules/@esbuild/freebsd-x64": {
274 + "version": "0.27.7",
275 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz",
276 + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==",
277 + "cpu": [
278 + "x64"
279 + ],
280 + "license": "MIT",
281 + "optional": true,
282 + "os": [
283 + "freebsd"
284 + ],
285 + "engines": {
286 + "node": ">=18"
287 + }
288 + },
289 + "node_modules/@esbuild/linux-arm": {
290 + "version": "0.27.7",
291 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz",
292 + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==",
293 + "cpu": [
294 + "arm"
295 + ],
296 + "license": "MIT",
297 + "optional": true,
298 + "os": [
299 + "linux"
300 + ],
301 + "engines": {
302 + "node": ">=18"
303 + }
304 + },
305 + "node_modules/@esbuild/linux-arm64": {
306 + "version": "0.27.7",
307 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz",
308 + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==",
309 + "cpu": [
310 + "arm64"
311 + ],
312 + "license": "MIT",
313 + "optional": true,
314 + "os": [
315 + "linux"
316 + ],
317 + "engines": {
318 + "node": ">=18"
319 + }
320 + },
321 + "node_modules/@esbuild/linux-ia32": {
322 + "version": "0.27.7",
323 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz",
324 + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==",
325 + "cpu": [
326 + "ia32"
327 + ],
328 + "license": "MIT",
329 + "optional": true,
330 + "os": [
331 + "linux"
332 + ],
333 + "engines": {
334 + "node": ">=18"
335 + }
336 + },
337 + "node_modules/@esbuild/linux-loong64": {
338 + "version": "0.27.7",
339 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz",
340 + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==",
341 + "cpu": [
342 + "loong64"
343 + ],
344 + "license": "MIT",
345 + "optional": true,
346 + "os": [
347 + "linux"
348 + ],
349 + "engines": {
350 + "node": ">=18"
351 + }
352 + },
353 + "node_modules/@esbuild/linux-mips64el": {
354 + "version": "0.27.7",
355 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz",
356 + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==",
357 + "cpu": [
358 + "mips64el"
359 + ],
360 + "license": "MIT",
361 + "optional": true,
362 + "os": [
363 + "linux"
364 + ],
365 + "engines": {
366 + "node": ">=18"
367 + }
368 + },
369 + "node_modules/@esbuild/linux-ppc64": {
370 + "version": "0.27.7",
371 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz",
372 + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==",
373 + "cpu": [
374 + "ppc64"
375 + ],
376 + "license": "MIT",
377 + "optional": true,
378 + "os": [
379 + "linux"
380 + ],
381 + "engines": {
382 + "node": ">=18"
383 + }
384 + },
385 + "node_modules/@esbuild/linux-riscv64": {
386 + "version": "0.27.7",
387 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz",
388 + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==",
389 + "cpu": [
390 + "riscv64"
391 + ],
392 + "license": "MIT",
393 + "optional": true,
394 + "os": [
395 + "linux"
396 + ],
397 + "engines": {
398 + "node": ">=18"
399 + }
400 + },
401 + "node_modules/@esbuild/linux-s390x": {
402 + "version": "0.27.7",
403 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz",
404 + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==",
405 + "cpu": [
406 + "s390x"
407 + ],
408 + "license": "MIT",
409 + "optional": true,
410 + "os": [
411 + "linux"
412 + ],
413 + "engines": {
414 + "node": ">=18"
415 + }
416 + },
417 + "node_modules/@esbuild/linux-x64": {
418 + "version": "0.27.7",
419 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz",
420 + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==",
421 + "cpu": [
422 + "x64"
423 + ],
424 + "license": "MIT",
425 + "optional": true,
426 + "os": [
427 + "linux"
428 + ],
429 + "engines": {
430 + "node": ">=18"
431 + }
432 + },
433 + "node_modules/@esbuild/netbsd-arm64": {
434 + "version": "0.27.7",
435 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz",
436 + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==",
437 + "cpu": [
438 + "arm64"
439 + ],
440 + "license": "MIT",
441 + "optional": true,
442 + "os": [
443 + "netbsd"
444 + ],
445 + "engines": {
446 + "node": ">=18"
447 + }
448 + },
449 + "node_modules/@esbuild/netbsd-x64": {
450 + "version": "0.27.7",
451 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz",
452 + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==",
453 + "cpu": [
454 + "x64"
455 + ],
456 + "license": "MIT",
457 + "optional": true,
458 + "os": [
459 + "netbsd"
460 + ],
461 + "engines": {
462 + "node": ">=18"
463 + }
464 + },
465 + "node_modules/@esbuild/openbsd-arm64": {
466 + "version": "0.27.7",
467 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz",
468 + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==",
469 + "cpu": [
470 + "arm64"
471 + ],
472 + "license": "MIT",
473 + "optional": true,
474 + "os": [
475 + "openbsd"
476 + ],
477 + "engines": {
478 + "node": ">=18"
479 + }
480 + },
481 + "node_modules/@esbuild/openbsd-x64": {
482 + "version": "0.27.7",
483 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz",
484 + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==",
485 + "cpu": [
486 + "x64"
487 + ],
488 + "license": "MIT",
489 + "optional": true,
490 + "os": [
491 + "openbsd"
492 + ],
493 + "engines": {
494 + "node": ">=18"
495 + }
496 + },
497 + "node_modules/@esbuild/openharmony-arm64": {
498 + "version": "0.27.7",
499 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz",
500 + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==",
501 + "cpu": [
502 + "arm64"
503 + ],
504 + "license": "MIT",
505 + "optional": true,
506 + "os": [
507 + "openharmony"
508 + ],
509 + "engines": {
510 + "node": ">=18"
511 + }
512 + },
513 + "node_modules/@esbuild/sunos-x64": {
514 + "version": "0.27.7",
515 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz",
516 + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==",
517 + "cpu": [
518 + "x64"
519 + ],
520 + "license": "MIT",
521 + "optional": true,
522 + "os": [
523 + "sunos"
524 + ],
525 + "engines": {
526 + "node": ">=18"
527 + }
528 + },
529 + "node_modules/@esbuild/win32-arm64": {
530 + "version": "0.27.7",
531 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz",
532 + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==",
533 + "cpu": [
534 + "arm64"
535 + ],
536 + "license": "MIT",
537 + "optional": true,
538 + "os": [
539 + "win32"
540 + ],
541 + "engines": {
542 + "node": ">=18"
543 + }
544 + },
545 + "node_modules/@esbuild/win32-ia32": {
546 + "version": "0.27.7",
547 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz",
548 + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==",
549 + "cpu": [
550 + "ia32"
551 + ],
552 + "license": "MIT",
553 + "optional": true,
554 + "os": [
555 + "win32"
556 + ],
557 + "engines": {
558 + "node": ">=18"
559 + }
560 + },
561 + "node_modules/@esbuild/win32-x64": {
562 + "version": "0.27.7",
563 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz",
564 + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==",
565 + "cpu": [
566 + "x64"
567 + ],
568 + "license": "MIT",
569 + "optional": true,
570 + "os": [
571 + "win32"
572 + ],
573 + "engines": {
574 + "node": ">=18"
575 + }
576 + },
577 + "node_modules/@img/colour": {
578 + "version": "1.1.0",
579 + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz",
580 + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==",
581 + "license": "MIT",
582 + "optional": true,
583 + "engines": {
584 + "node": ">=18"
585 + }
586 + },
587 + "node_modules/@img/sharp-darwin-arm64": {
588 + "version": "0.34.5",
589 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz",
590 + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==",
591 + "cpu": [
592 + "arm64"
593 + ],
594 + "license": "Apache-2.0",
595 + "optional": true,
596 + "os": [
597 + "darwin"
598 + ],
599 + "engines": {
600 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
601 + },
602 + "funding": {
603 + "url": "https://opencollective.com/libvips"
604 + },
605 + "optionalDependencies": {
606 + "@img/sharp-libvips-darwin-arm64": "1.2.4"
607 + }
608 + },
609 + "node_modules/@img/sharp-darwin-x64": {
610 + "version": "0.34.5",
611 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz",
612 + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==",
613 + "cpu": [
614 + "x64"
615 + ],
616 + "license": "Apache-2.0",
617 + "optional": true,
618 + "os": [
619 + "darwin"
620 + ],
621 + "engines": {
622 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
623 + },
624 + "funding": {
625 + "url": "https://opencollective.com/libvips"
626 + },
627 + "optionalDependencies": {
628 + "@img/sharp-libvips-darwin-x64": "1.2.4"
629 + }
630 + },
631 + "node_modules/@img/sharp-libvips-darwin-arm64": {
632 + "version": "1.2.4",
633 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz",
634 + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==",
635 + "cpu": [
636 + "arm64"
637 + ],
638 + "license": "LGPL-3.0-or-later",
639 + "optional": true,
640 + "os": [
641 + "darwin"
642 + ],
643 + "funding": {
644 + "url": "https://opencollective.com/libvips"
645 + }
646 + },
647 + "node_modules/@img/sharp-libvips-darwin-x64": {
648 + "version": "1.2.4",
649 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz",
650 + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==",
651 + "cpu": [
652 + "x64"
653 + ],
654 + "license": "LGPL-3.0-or-later",
655 + "optional": true,
656 + "os": [
657 + "darwin"
658 + ],
659 + "funding": {
660 + "url": "https://opencollective.com/libvips"
661 + }
662 + },
663 + "node_modules/@img/sharp-libvips-linux-arm": {
664 + "version": "1.2.4",
665 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz",
666 + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==",
667 + "cpu": [
668 + "arm"
669 + ],
670 + "libc": [
671 + "glibc"
672 + ],
673 + "license": "LGPL-3.0-or-later",
674 + "optional": true,
675 + "os": [
676 + "linux"
677 + ],
678 + "funding": {
679 + "url": "https://opencollective.com/libvips"
680 + }
681 + },
682 + "node_modules/@img/sharp-libvips-linux-arm64": {
683 + "version": "1.2.4",
684 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz",
685 + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==",
686 + "cpu": [
687 + "arm64"
688 + ],
689 + "libc": [
690 + "glibc"
691 + ],
692 + "license": "LGPL-3.0-or-later",
693 + "optional": true,
694 + "os": [
695 + "linux"
696 + ],
697 + "funding": {
698 + "url": "https://opencollective.com/libvips"
699 + }
700 + },
701 + "node_modules/@img/sharp-libvips-linux-ppc64": {
702 + "version": "1.2.4",
703 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz",
704 + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==",
705 + "cpu": [
706 + "ppc64"
707 + ],
708 + "libc": [
709 + "glibc"
710 + ],
711 + "license": "LGPL-3.0-or-later",
712 + "optional": true,
713 + "os": [
714 + "linux"
715 + ],
716 + "funding": {
717 + "url": "https://opencollective.com/libvips"
718 + }
719 + },
720 + "node_modules/@img/sharp-libvips-linux-riscv64": {
721 + "version": "1.2.4",
722 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz",
723 + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==",
724 + "cpu": [
725 + "riscv64"
726 + ],
727 + "libc": [
728 + "glibc"
729 + ],
730 + "license": "LGPL-3.0-or-later",
731 + "optional": true,
732 + "os": [
733 + "linux"
734 + ],
735 + "funding": {
736 + "url": "https://opencollective.com/libvips"
737 + }
738 + },
739 + "node_modules/@img/sharp-libvips-linux-s390x": {
740 + "version": "1.2.4",
741 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz",
742 + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==",
743 + "cpu": [
744 + "s390x"
745 + ],
746 + "libc": [
747 + "glibc"
748 + ],
749 + "license": "LGPL-3.0-or-later",
750 + "optional": true,
751 + "os": [
752 + "linux"
753 + ],
754 + "funding": {
755 + "url": "https://opencollective.com/libvips"
756 + }
757 + },
758 + "node_modules/@img/sharp-libvips-linux-x64": {
759 + "version": "1.2.4",
760 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz",
761 + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==",
762 + "cpu": [
763 + "x64"
764 + ],
765 + "libc": [
766 + "glibc"
767 + ],
768 + "license": "LGPL-3.0-or-later",
769 + "optional": true,
770 + "os": [
771 + "linux"
772 + ],
773 + "funding": {
774 + "url": "https://opencollective.com/libvips"
775 + }
776 + },
777 + "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
778 + "version": "1.2.4",
779 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz",
780 + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==",
781 + "cpu": [
782 + "arm64"
783 + ],
784 + "libc": [
785 + "musl"
786 + ],
787 + "license": "LGPL-3.0-or-later",
788 + "optional": true,
789 + "os": [
790 + "linux"
791 + ],
792 + "funding": {
793 + "url": "https://opencollective.com/libvips"
794 + }
795 + },
796 + "node_modules/@img/sharp-libvips-linuxmusl-x64": {
797 + "version": "1.2.4",
798 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz",
799 + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==",
800 + "cpu": [
801 + "x64"
802 + ],
803 + "libc": [
804 + "musl"
805 + ],
806 + "license": "LGPL-3.0-or-later",
807 + "optional": true,
808 + "os": [
809 + "linux"
810 + ],
811 + "funding": {
812 + "url": "https://opencollective.com/libvips"
813 + }
814 + },
815 + "node_modules/@img/sharp-linux-arm": {
816 + "version": "0.34.5",
817 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz",
818 + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==",
819 + "cpu": [
820 + "arm"
821 + ],
822 + "libc": [
823 + "glibc"
824 + ],
825 + "license": "Apache-2.0",
826 + "optional": true,
827 + "os": [
828 + "linux"
829 + ],
830 + "engines": {
831 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
832 + },
833 + "funding": {
834 + "url": "https://opencollective.com/libvips"
835 + },
836 + "optionalDependencies": {
837 + "@img/sharp-libvips-linux-arm": "1.2.4"
838 + }
839 + },
840 + "node_modules/@img/sharp-linux-arm64": {
841 + "version": "0.34.5",
842 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz",
843 + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==",
844 + "cpu": [
845 + "arm64"
846 + ],
847 + "libc": [
848 + "glibc"
849 + ],
850 + "license": "Apache-2.0",
851 + "optional": true,
852 + "os": [
853 + "linux"
854 + ],
855 + "engines": {
856 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
857 + },
858 + "funding": {
859 + "url": "https://opencollective.com/libvips"
860 + },
861 + "optionalDependencies": {
862 + "@img/sharp-libvips-linux-arm64": "1.2.4"
863 + }
864 + },
865 + "node_modules/@img/sharp-linux-ppc64": {
866 + "version": "0.34.5",
867 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz",
868 + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==",
869 + "cpu": [
870 + "ppc64"
871 + ],
872 + "libc": [
873 + "glibc"
874 + ],
875 + "license": "Apache-2.0",
876 + "optional": true,
877 + "os": [
878 + "linux"
879 + ],
880 + "engines": {
881 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
882 + },
883 + "funding": {
884 + "url": "https://opencollective.com/libvips"
885 + },
886 + "optionalDependencies": {
887 + "@img/sharp-libvips-linux-ppc64": "1.2.4"
888 + }
889 + },
890 + "node_modules/@img/sharp-linux-riscv64": {
891 + "version": "0.34.5",
892 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz",
893 + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==",
894 + "cpu": [
895 + "riscv64"
896 + ],
897 + "libc": [
898 + "glibc"
899 + ],
900 + "license": "Apache-2.0",
901 + "optional": true,
902 + "os": [
903 + "linux"
904 + ],
905 + "engines": {
906 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
907 + },
908 + "funding": {
909 + "url": "https://opencollective.com/libvips"
910 + },
911 + "optionalDependencies": {
912 + "@img/sharp-libvips-linux-riscv64": "1.2.4"
913 + }
914 + },
915 + "node_modules/@img/sharp-linux-s390x": {
916 + "version": "0.34.5",
917 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz",
918 + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==",
919 + "cpu": [
920 + "s390x"
921 + ],
922 + "libc": [
923 + "glibc"
924 + ],
925 + "license": "Apache-2.0",
926 + "optional": true,
927 + "os": [
928 + "linux"
929 + ],
930 + "engines": {
931 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
932 + },
933 + "funding": {
934 + "url": "https://opencollective.com/libvips"
935 + },
936 + "optionalDependencies": {
937 + "@img/sharp-libvips-linux-s390x": "1.2.4"
938 + }
939 + },
940 + "node_modules/@img/sharp-linux-x64": {
941 + "version": "0.34.5",
942 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz",
943 + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==",
944 + "cpu": [
945 + "x64"
946 + ],
947 + "libc": [
948 + "glibc"
949 + ],
950 + "license": "Apache-2.0",
951 + "optional": true,
952 + "os": [
953 + "linux"
954 + ],
955 + "engines": {
956 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
957 + },
958 + "funding": {
959 + "url": "https://opencollective.com/libvips"
960 + },
961 + "optionalDependencies": {
962 + "@img/sharp-libvips-linux-x64": "1.2.4"
963 + }
964 + },
965 + "node_modules/@img/sharp-linuxmusl-arm64": {
966 + "version": "0.34.5",
967 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz",
968 + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==",
969 + "cpu": [
970 + "arm64"
971 + ],
972 + "libc": [
973 + "musl"
974 + ],
975 + "license": "Apache-2.0",
976 + "optional": true,
977 + "os": [
978 + "linux"
979 + ],
980 + "engines": {
981 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
982 + },
983 + "funding": {
984 + "url": "https://opencollective.com/libvips"
985 + },
986 + "optionalDependencies": {
987 + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4"
988 + }
989 + },
990 + "node_modules/@img/sharp-linuxmusl-x64": {
991 + "version": "0.34.5",
992 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz",
993 + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==",
994 + "cpu": [
995 + "x64"
996 + ],
997 + "libc": [
998 + "musl"
999 + ],
1000 + "license": "Apache-2.0",
1001 + "optional": true,
1002 + "os": [
1003 + "linux"
1004 + ],
1005 + "engines": {
1006 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
1007 + },
1008 + "funding": {
1009 + "url": "https://opencollective.com/libvips"
1010 + },
1011 + "optionalDependencies": {
1012 + "@img/sharp-libvips-linuxmusl-x64": "1.2.4"
1013 + }
1014 + },
1015 + "node_modules/@img/sharp-wasm32": {
1016 + "version": "0.34.5",
1017 + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz",
1018 + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==",
1019 + "cpu": [
1020 + "wasm32"
1021 + ],
1022 + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
1023 + "optional": true,
1024 + "dependencies": {
1025 + "@emnapi/runtime": "^1.7.0"
1026 + },
1027 + "engines": {
1028 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
1029 + },
1030 + "funding": {
1031 + "url": "https://opencollective.com/libvips"
1032 + }
1033 + },
1034 + "node_modules/@img/sharp-win32-arm64": {
1035 + "version": "0.34.5",
1036 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz",
1037 + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
1038 + "cpu": [
1039 + "arm64"
1040 + ],
1041 + "license": "Apache-2.0 AND LGPL-3.0-or-later",
1042 + "optional": true,
1043 + "os": [
1044 + "win32"
1045 + ],
1046 + "engines": {
1047 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
1048 + },
1049 + "funding": {
1050 + "url": "https://opencollective.com/libvips"
1051 + }
1052 + },
1053 + "node_modules/@img/sharp-win32-ia32": {
1054 + "version": "0.34.5",
1055 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz",
1056 + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==",
1057 + "cpu": [
1058 + "ia32"
1059 + ],
1060 + "license": "Apache-2.0 AND LGPL-3.0-or-later",
1061 + "optional": true,
1062 + "os": [
1063 + "win32"
1064 + ],
1065 + "engines": {
1066 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
1067 + },
1068 + "funding": {
1069 + "url": "https://opencollective.com/libvips"
1070 + }
1071 + },
1072 + "node_modules/@img/sharp-win32-x64": {
1073 + "version": "0.34.5",
1074 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz",
1075 + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==",
1076 + "cpu": [
1077 + "x64"
1078 + ],
1079 + "license": "Apache-2.0 AND LGPL-3.0-or-later",
1080 + "optional": true,
1081 + "os": [
1082 + "win32"
1083 + ],
1084 + "engines": {
1085 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
1086 + },
1087 + "funding": {
1088 + "url": "https://opencollective.com/libvips"
1089 + }
1090 + },
1091 + "node_modules/@jridgewell/sourcemap-codec": {
1092 + "version": "1.5.5",
1093 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
1094 + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
1095 + "license": "MIT"
1096 + },
1097 + "node_modules/@napi-rs/lzma-linux-x64-gnu": {
1098 + "version": "1.5.1",
1099 + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz",
1100 + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==",
1101 + "cpu": [
1102 + "x64"
1103 + ],
1104 + "libc": [
1105 + "glibc"
1106 + ],
1107 + "license": "MIT",
1108 + "optional": true,
1109 + "os": [
1110 + "linux"
1111 + ],
1112 + "engines": {
1113 + "node": "^22.20 || ^24.12 || >=25"
1114 + }
1115 + },
1116 + "node_modules/@oslojs/encoding": {
1117 + "version": "1.1.0",
1118 + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz",
1119 + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==",
1120 + "license": "MIT"
1121 + },
1122 + "node_modules/@rollup/pluginutils": {
1123 + "version": "5.4.0",
1124 + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.4.0.tgz",
1125 + "integrity": "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==",
1126 + "license": "MIT",
1127 + "dependencies": {
1128 + "@types/estree": "^1.0.0",
1129 + "estree-walker": "^2.0.2",
1130 + "picomatch": "^4.0.2"
1131 + },
1132 + "engines": {
1133 + "node": ">=14.0.0"
1134 + },
1135 + "peerDependencies": {
1136 + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
1137 + },
1138 + "peerDependenciesMeta": {
1139 + "rollup": {
1140 + "optional": true
1141 + }
1142 + }
1143 + },
1144 + "node_modules/@rollup/pluginutils/node_modules/estree-walker": {
1145 + "version": "2.0.2",
1146 + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
1147 + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
1148 + "license": "MIT"
1149 + },
1150 + "node_modules/@rollup/rollup-android-arm-eabi": {
1151 + "version": "4.62.4",
1152 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.4.tgz",
1153 + "integrity": "sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==",
1154 + "cpu": [
1155 + "arm"
1156 + ],
1157 + "license": "MIT",
1158 + "optional": true,
1159 + "os": [
1160 + "android"
1161 + ]
1162 + },
1163 + "node_modules/@rollup/rollup-android-arm64": {
1164 + "version": "4.62.4",
1165 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.4.tgz",
1166 + "integrity": "sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==",
1167 + "cpu": [
1168 + "arm64"
1169 + ],
1170 + "license": "MIT",
1171 + "optional": true,
1172 + "os": [
1173 + "android"
1174 + ]
1175 + },
1176 + "node_modules/@rollup/rollup-darwin-arm64": {
1177 + "version": "4.62.4",
1178 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.4.tgz",
1179 + "integrity": "sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==",
1180 + "cpu": [
1181 + "arm64"
1182 + ],
1183 + "license": "MIT",
1184 + "optional": true,
1185 + "os": [
1186 + "darwin"
1187 + ]
1188 + },
1189 + "node_modules/@rollup/rollup-darwin-x64": {
1190 + "version": "4.62.4",
1191 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.4.tgz",
1192 + "integrity": "sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==",
1193 + "cpu": [
1194 + "x64"
1195 + ],
1196 + "license": "MIT",
1197 + "optional": true,
1198 + "os": [
1199 + "darwin"
1200 + ]
1201 + },
1202 + "node_modules/@rollup/rollup-freebsd-arm64": {
1203 + "version": "4.62.4",
1204 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.4.tgz",
1205 + "integrity": "sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==",
1206 + "cpu": [
1207 + "arm64"
1208 + ],
1209 + "license": "MIT",
1210 + "optional": true,
1211 + "os": [
1212 + "freebsd"
1213 + ]
1214 + },
1215 + "node_modules/@rollup/rollup-freebsd-x64": {
1216 + "version": "4.62.4",
1217 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.4.tgz",
1218 + "integrity": "sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==",
1219 + "cpu": [
1220 + "x64"
1221 + ],
1222 + "license": "MIT",
1223 + "optional": true,
1224 + "os": [
1225 + "freebsd"
1226 + ]
1227 + },
1228 + "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
1229 + "version": "4.62.4",
1230 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.4.tgz",
1231 + "integrity": "sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==",
1232 + "cpu": [
1233 + "arm"
1234 + ],
1235 + "libc": [
1236 + "glibc"
1237 + ],
1238 + "license": "MIT",
1239 + "optional": true,
1240 + "os": [
1241 + "linux"
1242 + ]
1243 + },
1244 + "node_modules/@rollup/rollup-linux-arm-musleabihf": {
1245 + "version": "4.62.4",
1246 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.4.tgz",
1247 + "integrity": "sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==",
1248 + "cpu": [
1249 + "arm"
1250 + ],
1251 + "libc": [
1252 + "musl"
1253 + ],
1254 + "license": "MIT",
1255 + "optional": true,
1256 + "os": [
1257 + "linux"
1258 + ]
1259 + },
1260 + "node_modules/@rollup/rollup-linux-arm64-gnu": {
1261 + "version": "4.62.4",
1262 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.4.tgz",
1263 + "integrity": "sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==",
1264 + "cpu": [
1265 + "arm64"
1266 + ],
1267 + "libc": [
1268 + "glibc"
1269 + ],
1270 + "license": "MIT",
1271 + "optional": true,
1272 + "os": [
1273 + "linux"
1274 + ]
1275 + },
1276 + "node_modules/@rollup/rollup-linux-arm64-musl": {
1277 + "version": "4.62.4",
1278 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.4.tgz",
1279 + "integrity": "sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==",
1280 + "cpu": [
1281 + "arm64"
1282 + ],
1283 + "libc": [
1284 + "musl"
1285 + ],
1286 + "license": "MIT",
1287 + "optional": true,
1288 + "os": [
1289 + "linux"
1290 + ]
1291 + },
1292 + "node_modules/@rollup/rollup-linux-loong64-gnu": {
1293 + "version": "4.62.4",
1294 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.4.tgz",
1295 + "integrity": "sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==",
1296 + "cpu": [
1297 + "loong64"
1298 + ],
1299 + "libc": [
1300 + "glibc"
1301 + ],
1302 + "license": "MIT",
1303 + "optional": true,
1304 + "os": [
1305 + "linux"
1306 + ]
1307 + },
1308 + "node_modules/@rollup/rollup-linux-loong64-musl": {
1309 + "version": "4.62.4",
1310 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.4.tgz",
1311 + "integrity": "sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==",
1312 + "cpu": [
1313 + "loong64"
1314 + ],
1315 + "libc": [
1316 + "musl"
1317 + ],
1318 + "license": "MIT",
1319 + "optional": true,
1320 + "os": [
1321 + "linux"
1322 + ]
1323 + },
1324 + "node_modules/@rollup/rollup-linux-ppc64-gnu": {
1325 + "version": "4.62.4",
1326 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.4.tgz",
1327 + "integrity": "sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==",
1328 + "cpu": [
1329 + "ppc64"
1330 + ],
1331 + "libc": [
1332 + "glibc"
1333 + ],
1334 + "license": "MIT",
1335 + "optional": true,
1336 + "os": [
1337 + "linux"
1338 + ]
1339 + },
1340 + "node_modules/@rollup/rollup-linux-ppc64-musl": {
1341 + "version": "4.62.4",
1342 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.4.tgz",
1343 + "integrity": "sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==",
1344 + "cpu": [
1345 + "ppc64"
1346 + ],
1347 + "libc": [
1348 + "musl"
1349 + ],
1350 + "license": "MIT",
1351 + "optional": true,
1352 + "os": [
1353 + "linux"
1354 + ]
1355 + },
1356 + "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1357 + "version": "4.62.4",
1358 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.4.tgz",
1359 + "integrity": "sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==",
1360 + "cpu": [
1361 + "riscv64"
1362 + ],
1363 + "libc": [
1364 + "glibc"
1365 + ],
1366 + "license": "MIT",
1367 + "optional": true,
1368 + "os": [
1369 + "linux"
1370 + ]
1371 + },
1372 + "node_modules/@rollup/rollup-linux-riscv64-musl": {
1373 + "version": "4.62.4",
1374 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.4.tgz",
1375 + "integrity": "sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==",
1376 + "cpu": [
1377 + "riscv64"
1378 + ],
1379 + "libc": [
1380 + "musl"
1381 + ],
1382 + "license": "MIT",
1383 + "optional": true,
1384 + "os": [
1385 + "linux"
1386 + ]
1387 + },
1388 + "node_modules/@rollup/rollup-linux-s390x-gnu": {
1389 + "version": "4.62.4",
1390 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.4.tgz",
1391 + "integrity": "sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==",
1392 + "cpu": [
1393 + "s390x"
1394 + ],
1395 + "libc": [
1396 + "glibc"
1397 + ],
1398 + "license": "MIT",
1399 + "optional": true,
1400 + "os": [
1401 + "linux"
1402 + ]
1403 + },
1404 + "node_modules/@rollup/rollup-linux-x64-gnu": {
1405 + "version": "4.62.4",
1406 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.4.tgz",
1407 + "integrity": "sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==",
1408 + "cpu": [
1409 + "x64"
1410 + ],
1411 + "libc": [
1412 + "glibc"
1413 + ],
1414 + "license": "MIT",
1415 + "optional": true,
1416 + "os": [
1417 + "linux"
1418 + ]
1419 + },
1420 + "node_modules/@rollup/rollup-linux-x64-musl": {
1421 + "version": "4.62.4",
1422 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.4.tgz",
1423 + "integrity": "sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==",
1424 + "cpu": [
1425 + "x64"
1426 + ],
1427 + "libc": [
1428 + "musl"
1429 + ],
1430 + "license": "MIT",
1431 + "optional": true,
1432 + "os": [
1433 + "linux"
1434 + ]
1435 + },
1436 + "node_modules/@rollup/rollup-openbsd-x64": {
1437 + "version": "4.62.4",
1438 + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.4.tgz",
1439 + "integrity": "sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==",
1440 + "cpu": [
1441 + "x64"
1442 + ],
1443 + "license": "MIT",
1444 + "optional": true,
1445 + "os": [
1446 + "openbsd"
1447 + ]
1448 + },
1449 + "node_modules/@rollup/rollup-openharmony-arm64": {
1450 + "version": "4.62.4",
1451 + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.4.tgz",
1452 + "integrity": "sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==",
1453 + "cpu": [
1454 + "arm64"
1455 + ],
1456 + "license": "MIT",
1457 + "optional": true,
1458 + "os": [
1459 + "openharmony"
1460 + ]
1461 + },
1462 + "node_modules/@rollup/rollup-win32-arm64-msvc": {
1463 + "version": "4.62.4",
1464 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.4.tgz",
1465 + "integrity": "sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==",
1466 + "cpu": [
1467 + "arm64"
1468 + ],
1469 + "license": "MIT",
1470 + "optional": true,
1471 + "os": [
1472 + "win32"
1473 + ]
1474 + },
1475 + "node_modules/@rollup/rollup-win32-ia32-msvc": {
1476 + "version": "4.62.4",
1477 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.4.tgz",
1478 + "integrity": "sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==",
1479 + "cpu": [
1480 + "ia32"
1481 + ],
1482 + "license": "MIT",
1483 + "optional": true,
1484 + "os": [
1485 + "win32"
1486 + ]
1487 + },
1488 + "node_modules/@rollup/rollup-win32-x64-gnu": {
1489 + "version": "4.62.4",
1490 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.4.tgz",
1491 + "integrity": "sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==",
1492 + "cpu": [
1493 + "x64"
1494 + ],
1495 + "license": "MIT",
1496 + "optional": true,
1497 + "os": [
1498 + "win32"
1499 + ]
1500 + },
1501 + "node_modules/@rollup/rollup-win32-x64-msvc": {
1502 + "version": "4.62.4",
1503 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.4.tgz",
1504 + "integrity": "sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==",
1505 + "cpu": [
1506 + "x64"
1507 + ],
1508 + "license": "MIT",
1509 + "optional": true,
1510 + "os": [
1511 + "win32"
1512 + ]
1513 + },
1514 + "node_modules/@shikijs/core": {
1515 + "version": "3.23.0",
1516 + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz",
1517 + "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==",
1518 + "license": "MIT",
1519 + "dependencies": {
1520 + "@shikijs/types": "3.23.0",
1521 + "@shikijs/vscode-textmate": "^10.0.2",
1522 + "@types/hast": "^3.0.4",
1523 + "hast-util-to-html": "^9.0.5"
1524 + }
1525 + },
1526 + "node_modules/@shikijs/engine-javascript": {
1527 + "version": "3.23.0",
1528 + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz",
1529 + "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==",
1530 + "license": "MIT",
1531 + "dependencies": {
1532 + "@shikijs/types": "3.23.0",
1533 + "@shikijs/vscode-textmate": "^10.0.2",
1534 + "oniguruma-to-es": "^4.3.4"
1535 + }
1536 + },
1537 + "node_modules/@shikijs/engine-oniguruma": {
1538 + "version": "3.23.0",
1539 + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz",
1540 + "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==",
1541 + "license": "MIT",
1542 + "dependencies": {
1543 + "@shikijs/types": "3.23.0",
1544 + "@shikijs/vscode-textmate": "^10.0.2"
1545 + }
1546 + },
1547 + "node_modules/@shikijs/langs": {
1548 + "version": "3.23.0",
1549 + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz",
1550 + "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==",
1551 + "license": "MIT",
1552 + "dependencies": {
1553 + "@shikijs/types": "3.23.0"
1554 + }
1555 + },
1556 + "node_modules/@shikijs/themes": {
1557 + "version": "3.23.0",
1558 + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz",
1559 + "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==",
1560 + "license": "MIT",
1561 + "dependencies": {
1562 + "@shikijs/types": "3.23.0"
1563 + }
1564 + },
1565 + "node_modules/@shikijs/types": {
1566 + "version": "3.23.0",
1567 + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz",
1568 + "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==",
1569 + "license": "MIT",
1570 + "dependencies": {
1571 + "@shikijs/vscode-textmate": "^10.0.2",
1572 + "@types/hast": "^3.0.4"
1573 + }
1574 + },
1575 + "node_modules/@shikijs/vscode-textmate": {
1576 + "version": "10.0.2",
1577 + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz",
1578 + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
1579 + "license": "MIT"
1580 + },
1581 + "node_modules/@types/debug": {
1582 + "version": "4.1.13",
1583 + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz",
1584 + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==",
1585 + "license": "MIT",
1586 + "dependencies": {
1587 + "@types/ms": "*"
1588 + }
1589 + },
1590 + "node_modules/@types/estree": {
1591 + "version": "1.0.9",
1592 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
1593 + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
1594 + "license": "MIT"
1595 + },
1596 + "node_modules/@types/hast": {
1597 + "version": "3.0.5",
1598 + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz",
1599 + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==",
1600 + "license": "MIT",
1601 + "dependencies": {
1602 + "@types/unist": "*"
1603 + }
1604 + },
1605 + "node_modules/@types/mdast": {
1606 + "version": "4.0.4",
1607 + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
1608 + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
1609 + "license": "MIT",
1610 + "dependencies": {
1611 + "@types/unist": "*"
1612 + }
1613 + },
1614 + "node_modules/@types/ms": {
1615 + "version": "2.1.0",
1616 + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
1617 + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
1618 + "license": "MIT"
1619 + },
1620 + "node_modules/@types/nlcst": {
1621 + "version": "2.0.3",
1622 + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz",
1623 + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==",
1624 + "license": "MIT",
1625 + "dependencies": {
1626 + "@types/unist": "*"
1627 + }
1628 + },
1629 + "node_modules/@types/unist": {
1630 + "version": "3.0.3",
1631 + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
1632 + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
1633 + "license": "MIT"
1634 + },
1635 + "node_modules/@ungap/structured-clone": {
1636 + "version": "1.3.3",
1637 + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.3.tgz",
1638 + "integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==",
1639 + "license": "ISC"
1640 + },
1641 + "node_modules/accepts": {
1642 + "version": "1.3.8",
1643 + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
1644 + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
1645 + "license": "MIT",
1646 + "dependencies": {
1647 + "mime-types": "~2.1.34",
1648 + "negotiator": "0.6.3"
1649 + },
1650 + "engines": {
1651 + "node": ">= 0.6"
1652 + }
1653 + },
1654 + "node_modules/accepts/node_modules/negotiator": {
1655 + "version": "0.6.3",
1656 + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
1657 + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
1658 + "license": "MIT",
1659 + "engines": {
1660 + "node": ">= 0.6"
1661 + }
1662 + },
1663 + "node_modules/acorn": {
1664 + "version": "8.18.0",
1665 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz",
1666 + "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==",
1667 + "license": "MIT",
1668 + "bin": {
1669 + "acorn": "bin/acorn"
1670 + },
1671 + "engines": {
1672 + "node": ">=0.4.0"
1673 + }
1674 + },
1675 + "node_modules/ansi-align": {
1676 + "version": "3.0.1",
1677 + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
1678 + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
1679 + "license": "ISC",
1680 + "dependencies": {
1681 + "string-width": "^4.1.0"
1682 + }
1683 + },
1684 + "node_modules/ansi-align/node_modules/ansi-regex": {
1685 + "version": "5.0.1",
1686 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
1687 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
1688 + "license": "MIT",
1689 + "engines": {
1690 + "node": ">=8"
1691 + }
1692 + },
1693 + "node_modules/ansi-align/node_modules/emoji-regex": {
1694 + "version": "8.0.0",
1695 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1696 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1697 + "license": "MIT"
1698 + },
1699 + "node_modules/ansi-align/node_modules/string-width": {
1700 + "version": "4.2.3",
1701 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
1702 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
1703 + "license": "MIT",
1704 + "dependencies": {
1705 + "emoji-regex": "^8.0.0",
1706 + "is-fullwidth-code-point": "^3.0.0",
1707 + "strip-ansi": "^6.0.1"
1708 + },
1709 + "engines": {
1710 + "node": ">=8"
1711 + }
1712 + },
1713 + "node_modules/ansi-align/node_modules/strip-ansi": {
1714 + "version": "6.0.1",
1715 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
1716 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
1717 + "license": "MIT",
1718 + "dependencies": {
1719 + "ansi-regex": "^5.0.1"
1720 + },
1721 + "engines": {
1722 + "node": ">=8"
1723 + }
1724 + },
1725 + "node_modules/ansi-regex": {
1726 + "version": "6.2.2",
1727 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
1728 + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
1729 + "license": "MIT",
1730 + "engines": {
1731 + "node": ">=12"
1732 + },
1733 + "funding": {
1734 + "url": "https://github.com/chalk/ansi-regex?sponsor=1"
1735 + }
1736 + },
1737 + "node_modules/ansi-styles": {
1738 + "version": "6.2.3",
1739 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
1740 + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
1741 + "license": "MIT",
1742 + "engines": {
1743 + "node": ">=12"
1744 + },
1745 + "funding": {
1746 + "url": "https://github.com/chalk/ansi-styles?sponsor=1"
1747 + }
1748 + },
1749 + "node_modules/anymatch": {
1750 + "version": "3.1.3",
1751 + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
1752 + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
1753 + "license": "ISC",
1754 + "dependencies": {
1755 + "normalize-path": "^3.0.0",
1756 + "picomatch": "^2.0.4"
1757 + },
1758 + "engines": {
1759 + "node": ">= 8"
1760 + }
1761 + },
1762 + "node_modules/anymatch/node_modules/picomatch": {
1763 + "version": "2.3.2",
1764 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
1765 + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
1766 + "license": "MIT",
1767 + "engines": {
1768 + "node": ">=8.6"
1769 + },
1770 + "funding": {
1771 + "url": "https://github.com/sponsors/jonschlinkert"
1772 + }
1773 + },
1774 + "node_modules/argparse": {
1775 + "version": "2.0.1",
1776 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
1777 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
1778 + "license": "Python-2.0"
1779 + },
1780 + "node_modules/aria-query": {
1781 + "version": "5.3.2",
1782 + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
1783 + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
1784 + "license": "Apache-2.0",
1785 + "engines": {
1786 + "node": ">= 0.4"
1787 + }
1788 + },
1789 + "node_modules/array-flatten": {
1790 + "version": "1.1.1",
1791 + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
1792 + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
1793 + "license": "MIT"
1794 + },
1795 + "node_modules/array-iterate": {
1796 + "version": "2.0.1",
1797 + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz",
1798 + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==",
1799 + "license": "MIT",
1800 + "funding": {
1801 + "type": "github",
1802 + "url": "https://github.com/sponsors/wooorm"
1803 + }
1804 + },
1805 + "node_modules/astro": {
1806 + "version": "5.18.2",
1807 + "resolved": "https://registry.npmjs.org/astro/-/astro-5.18.2.tgz",
1808 + "integrity": "sha512-TnFwLnAXty5MXKPDGuKXqK4AMBXG+FH6RUdK7Oyc3gyfNoFIthT+4eRbzOK43bdRlLaZuxgciDSjgtggZ3OtGQ==",
1809 + "license": "MIT",
1810 + "dependencies": {
1811 + "@astrojs/compiler": "^2.13.0",
1812 + "@astrojs/internal-helpers": "0.7.6",
1813 + "@astrojs/markdown-remark": "6.3.11",
1814 + "@astrojs/telemetry": "3.3.0",
1815 + "@capsizecss/unpack": "^4.0.0",
1816 + "@oslojs/encoding": "^1.1.0",
1817 + "@rollup/pluginutils": "^5.3.0",
1818 + "acorn": "^8.15.0",
1819 + "aria-query": "^5.3.2",
1820 + "axobject-query": "^4.1.0",
1821 + "boxen": "8.0.1",
1822 + "ci-info": "^4.3.1",
1823 + "clsx": "^2.1.1",
1824 + "common-ancestor-path": "^1.0.1",
1825 + "cookie": "^1.1.1",
1826 + "cssesc": "^3.0.0",
1827 + "debug": "^4.4.3",
1828 + "deterministic-object-hash": "^2.0.2",
1829 + "devalue": "^5.6.2",
1830 + "diff": "^8.0.3",
1831 + "dlv": "^1.1.3",
1832 + "dset": "^3.1.4",
1833 + "es-module-lexer": "^1.7.0",
1834 + "esbuild": "^0.27.3",
1835 + "estree-walker": "^3.0.3",
1836 + "flattie": "^1.1.1",
1837 + "fontace": "~0.4.0",
1838 + "github-slugger": "^2.0.0",
1839 + "html-escaper": "3.0.3",
1840 + "http-cache-semantics": "^4.2.0",
1841 + "import-meta-resolve": "^4.2.0",
1842 + "js-yaml": "^4.1.1",
1843 + "magic-string": "^0.30.21",
1844 + "magicast": "^0.5.1",
1845 + "mrmime": "^2.0.1",
1846 + "neotraverse": "^0.6.18",
1847 + "p-limit": "^6.2.0",
1848 + "p-queue": "^8.1.1",
1849 + "package-manager-detector": "^1.6.0",
1850 + "piccolore": "^0.1.3",
1851 + "picomatch": "^4.0.3",
1852 + "prompts": "^2.4.2",
1853 + "rehype": "^13.0.2",
1854 + "semver": "^7.7.3",
1855 + "shiki": "^3.21.0",
1856 + "smol-toml": "^1.6.0",
1857 + "svgo": "^4.0.0",
1858 + "tinyexec": "^1.0.2",
1859 + "tinyglobby": "^0.2.15",
1860 + "tsconfck": "^3.1.6",
1861 + "ultrahtml": "^1.6.0",
1862 + "unifont": "~0.7.3",
1863 + "unist-util-visit": "^5.0.0",
1864 + "unstorage": "^1.17.4",
1865 + "vfile": "^6.0.3",
1866 + "vite": "^6.4.1",
1867 + "vitefu": "^1.1.1",
1868 + "xxhash-wasm": "^1.1.0",
1869 + "yargs-parser": "^21.1.1",
1870 + "yocto-spinner": "^0.2.3",
1871 + "zod": "^3.25.76",
1872 + "zod-to-json-schema": "^3.25.1",
1873 + "zod-to-ts": "^1.2.0"
1874 + },
1875 + "bin": {
1876 + "astro": "astro.js"
1877 + },
1878 + "engines": {
1879 + "node": "18.20.8 || ^20.3.0 || >=22.0.0",
1880 + "npm": ">=9.6.5",
1881 + "pnpm": ">=7.1.0"
1882 + },
1883 + "funding": {
1884 + "type": "opencollective",
1885 + "url": "https://opencollective.com/astrodotbuild"
1886 + },
1887 + "optionalDependencies": {
1888 + "sharp": "^0.34.0"
1889 + }
1890 + },
1891 + "node_modules/axobject-query": {
1892 + "version": "4.1.0",
1893 + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
1894 + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
1895 + "license": "Apache-2.0",
1896 + "engines": {
1897 + "node": ">= 0.4"
1898 + }
1899 + },
1900 + "node_modules/bail": {
1901 + "version": "2.0.2",
1902 + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
1903 + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
1904 + "license": "MIT",
1905 + "funding": {
1906 + "type": "github",
1907 + "url": "https://github.com/sponsors/wooorm"
1908 + }
1909 + },
1910 + "node_modules/base-64": {
1911 + "version": "1.0.0",
1912 + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz",
1913 + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==",
1914 + "license": "MIT"
1915 + },
1916 + "node_modules/body-parser": {
1917 + "version": "1.20.6",
1918 + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.6.tgz",
1919 + "integrity": "sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==",
1920 + "license": "MIT",
1921 + "dependencies": {
1922 + "bytes": "~3.1.2",
1923 + "content-type": "~1.0.5",
1924 + "debug": "2.6.9",
1925 + "depd": "2.0.0",
1926 + "destroy": "~1.2.0",
1927 + "http-errors": "~2.0.1",
1928 + "iconv-lite": "~0.4.24",
1929 + "on-finished": "~2.4.1",
1930 + "qs": "~6.15.1",
1931 + "raw-body": "~2.5.3",
1932 + "type-is": "~1.6.18",
1933 + "unpipe": "~1.0.0"
1934 + },
1935 + "engines": {
1936 + "node": ">= 0.8",
1937 + "npm": "1.2.8000 || >= 1.4.16"
1938 + }
1939 + },
1940 + "node_modules/body-parser/node_modules/debug": {
1941 + "version": "2.6.9",
1942 + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1943 + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1944 + "license": "MIT",
1945 + "dependencies": {
1946 + "ms": "2.0.0"
1947 + }
1948 + },
1949 + "node_modules/body-parser/node_modules/ms": {
1950 + "version": "2.0.0",
1951 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1952 + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
1953 + "license": "MIT"
1954 + },
1955 + "node_modules/boolbase": {
1956 + "version": "1.0.0",
1957 + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
1958 + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
1959 + "license": "ISC"
1960 + },
1961 + "node_modules/boxen": {
1962 + "version": "8.0.1",
1963 + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz",
1964 + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==",
1965 + "license": "MIT",
1966 + "dependencies": {
1967 + "ansi-align": "^3.0.1",
1968 + "camelcase": "^8.0.0",
1969 + "chalk": "^5.3.0",
1970 + "cli-boxes": "^3.0.0",
1971 + "string-width": "^7.2.0",
1972 + "type-fest": "^4.21.0",
1973 + "widest-line": "^5.0.0",
1974 + "wrap-ansi": "^9.0.0"
1975 + },
1976 + "engines": {
1977 + "node": ">=18"
1978 + },
1979 + "funding": {
1980 + "url": "https://github.com/sponsors/sindresorhus"
1981 + }
1982 + },
1983 + "node_modules/bytes": {
1984 + "version": "3.1.2",
1985 + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
1986 + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
1987 + "license": "MIT",
1988 + "engines": {
1989 + "node": ">= 0.8"
1990 + }
1991 + },
1992 + "node_modules/call-bind-apply-helpers": {
1993 + "version": "1.0.2",
1994 + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
1995 + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
1996 + "license": "MIT",
1997 + "dependencies": {
1998 + "es-errors": "^1.3.0",
1999 + "function-bind": "^1.1.2"
2000 + },
2001 + "engines": {
2002 + "node": ">= 0.4"
2003 + }
2004 + },
2005 + "node_modules/call-bound": {
2006 + "version": "1.0.4",
2007 + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
2008 + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
2009 + "license": "MIT",
2010 + "dependencies": {
2011 + "call-bind-apply-helpers": "^1.0.2",
2012 + "get-intrinsic": "^1.3.0"
2013 + },
2014 + "engines": {
2015 + "node": ">= 0.4"
2016 + },
2017 + "funding": {
2018 + "url": "https://github.com/sponsors/ljharb"
2019 + }
2020 + },
2021 + "node_modules/camelcase": {
2022 + "version": "8.0.0",
2023 + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz",
2024 + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==",
2025 + "license": "MIT",
2026 + "engines": {
2027 + "node": ">=16"
2028 + },
2029 + "funding": {
2030 + "url": "https://github.com/sponsors/sindresorhus"
2031 + }
2032 + },
2033 + "node_modules/ccount": {
2034 + "version": "2.0.1",
2035 + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
2036 + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
2037 + "license": "MIT",
2038 + "funding": {
2039 + "type": "github",
2040 + "url": "https://github.com/sponsors/wooorm"
2041 + }
2042 + },
2043 + "node_modules/chalk": {
2044 + "version": "5.6.2",
2045 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
2046 + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
2047 + "license": "MIT",
2048 + "engines": {
2049 + "node": "^12.17.0 || ^14.13 || >=16.0.0"
2050 + },
2051 + "funding": {
2052 + "url": "https://github.com/chalk/chalk?sponsor=1"
2053 + }
2054 + },
2055 + "node_modules/character-entities": {
2056 + "version": "2.0.2",
2057 + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
2058 + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
2059 + "license": "MIT",
2060 + "funding": {
2061 + "type": "github",
2062 + "url": "https://github.com/sponsors/wooorm"
2063 + }
2064 + },
2065 + "node_modules/character-entities-html4": {
2066 + "version": "2.1.0",
2067 + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
2068 + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
2069 + "license": "MIT",
2070 + "funding": {
2071 + "type": "github",
2072 + "url": "https://github.com/sponsors/wooorm"
2073 + }
2074 + },
2075 + "node_modules/character-entities-legacy": {
2076 + "version": "3.0.0",
2077 + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
2078 + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
2079 + "license": "MIT",
2080 + "funding": {
2081 + "type": "github",
2082 + "url": "https://github.com/sponsors/wooorm"
2083 + }
2084 + },
2085 + "node_modules/chokidar": {
2086 + "version": "5.0.0",
2087 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
2088 + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
2089 + "license": "MIT",
2090 + "dependencies": {
2091 + "readdirp": "^5.0.0"
2092 + },
2093 + "engines": {
2094 + "node": ">= 20.19.0"
2095 + },
2096 + "funding": {
2097 + "url": "https://paulmillr.com/funding/"
2098 + }
2099 + },
2100 + "node_modules/ci-info": {
2101 + "version": "4.4.0",
2102 + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz",
2103 + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==",
2104 + "funding": [
2105 + {
2106 + "type": "github",
2107 + "url": "https://github.com/sponsors/sibiraj-s"
2108 + }
2109 + ],
2110 + "license": "MIT",
2111 + "engines": {
2112 + "node": ">=8"
2113 + }
2114 + },
2115 + "node_modules/cli-boxes": {
2116 + "version": "3.0.0",
2117 + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz",
2118 + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==",
2119 + "license": "MIT",
2120 + "engines": {
2121 + "node": ">=10"
2122 + },
2123 + "funding": {
2124 + "url": "https://github.com/sponsors/sindresorhus"
2125 + }
2126 + },
2127 + "node_modules/clsx": {
2128 + "version": "2.1.1",
2129 + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
2130 + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
2131 + "license": "MIT",
2132 + "engines": {
2133 + "node": ">=6"
2134 + }
2135 + },
2136 + "node_modules/comma-separated-tokens": {
2137 + "version": "2.0.3",
2138 + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
2139 + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
2140 + "license": "MIT",
2141 + "funding": {
2142 + "type": "github",
2143 + "url": "https://github.com/sponsors/wooorm"
2144 + }
2145 + },
2146 + "node_modules/commander": {
2147 + "version": "11.1.0",
2148 + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz",
2149 + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==",
2150 + "license": "MIT",
2151 + "engines": {
2152 + "node": ">=16"
2153 + }
2154 + },
2155 + "node_modules/common-ancestor-path": {
2156 + "version": "1.0.1",
2157 + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz",
2158 + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==",
2159 + "license": "ISC"
2160 + },
2161 + "node_modules/compressible": {
2162 + "version": "2.0.18",
2163 + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
2164 + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
2165 + "license": "MIT",
2166 + "dependencies": {
2167 + "mime-db": ">= 1.43.0 < 2"
2168 + },
2169 + "engines": {
2170 + "node": ">= 0.6"
2171 + }
2172 + },
2173 + "node_modules/compression": {
2174 + "version": "1.8.1",
2175 + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz",
2176 + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==",
2177 + "license": "MIT",
2178 + "dependencies": {
2179 + "bytes": "3.1.2",
2180 + "compressible": "~2.0.18",
2181 + "debug": "2.6.9",
2182 + "negotiator": "~0.6.4",
2183 + "on-headers": "~1.1.0",
2184 + "safe-buffer": "5.2.1",
2185 + "vary": "~1.1.2"
2186 + },
2187 + "engines": {
2188 + "node": ">= 0.8.0"
2189 + }
2190 + },
2191 + "node_modules/compression/node_modules/debug": {
2192 + "version": "2.6.9",
2193 + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2194 + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2195 + "license": "MIT",
2196 + "dependencies": {
2197 + "ms": "2.0.0"
2198 + }
2199 + },
2200 + "node_modules/compression/node_modules/ms": {
2201 + "version": "2.0.0",
2202 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2203 + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
2204 + "license": "MIT"
2205 + },
2206 + "node_modules/content-disposition": {
2207 + "version": "0.5.4",
2208 + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
2209 + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
2210 + "license": "MIT",
2211 + "dependencies": {
2212 + "safe-buffer": "5.2.1"
2213 + },
2214 + "engines": {
2215 + "node": ">= 0.6"
2216 + }
2217 + },
2218 + "node_modules/content-type": {
2219 + "version": "1.0.5",
2220 + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
2221 + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
2222 + "license": "MIT",
2223 + "engines": {
2224 + "node": ">= 0.6"
2225 + }
2226 + },
2227 + "node_modules/cookie": {
2228 + "version": "1.1.1",
2229 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
2230 + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==",
2231 + "license": "MIT",
2232 + "engines": {
2233 + "node": ">=18"
2234 + },
2235 + "funding": {
2236 + "type": "opencollective",
2237 + "url": "https://opencollective.com/express"
2238 + }
2239 + },
2240 + "node_modules/cookie-es": {
2241 + "version": "1.2.3",
2242 + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz",
2243 + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==",
2244 + "license": "MIT"
2245 + },
2246 + "node_modules/cookie-signature": {
2247 + "version": "1.0.7",
2248 + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz",
2249 + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==",
2250 + "license": "MIT"
2251 + },
2252 + "node_modules/crossws": {
2253 + "version": "0.3.5",
2254 + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz",
2255 + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==",
2256 + "license": "MIT",
2257 + "dependencies": {
2258 + "uncrypto": "^0.1.3"
2259 + }
2260 + },
2261 + "node_modules/css-select": {
2262 + "version": "5.2.2",
2263 + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
2264 + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
2265 + "license": "BSD-2-Clause",
2266 + "dependencies": {
2267 + "boolbase": "^1.0.0",
2268 + "css-what": "^6.1.0",
2269 + "domhandler": "^5.0.2",
2270 + "domutils": "^3.0.1",
2271 + "nth-check": "^2.0.1"
2272 + },
2273 + "funding": {
2274 + "url": "https://github.com/sponsors/fb55"
2275 + }
2276 + },
2277 + "node_modules/css-tree": {
2278 + "version": "3.2.1",
2279 + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz",
2280 + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==",
2281 + "license": "MIT",
2282 + "dependencies": {
2283 + "mdn-data": "2.27.1",
2284 + "source-map-js": "^1.2.1"
2285 + },
2286 + "engines": {
2287 + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
2288 + }
2289 + },
2290 + "node_modules/css-what": {
2291 + "version": "6.2.2",
2292 + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
2293 + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
2294 + "license": "BSD-2-Clause",
2295 + "engines": {
2296 + "node": ">= 6"
2297 + },
2298 + "funding": {
2299 + "url": "https://github.com/sponsors/fb55"
2300 + }
2301 + },
2302 + "node_modules/cssesc": {
2303 + "version": "3.0.0",
2304 + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
2305 + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
2306 + "license": "MIT",
2307 + "bin": {
2308 + "cssesc": "bin/cssesc"
2309 + },
2310 + "engines": {
2311 + "node": ">=4"
2312 + }
2313 + },
2314 + "node_modules/csso": {
2315 + "version": "5.0.5",
2316 + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz",
2317 + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==",
2318 + "license": "MIT",
2319 + "dependencies": {
2320 + "css-tree": "~2.2.0"
2321 + },
2322 + "engines": {
2323 + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
2324 + "npm": ">=7.0.0"
2325 + }
2326 + },
2327 + "node_modules/csso/node_modules/css-tree": {
2328 + "version": "2.2.1",
2329 + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz",
2330 + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==",
2331 + "license": "MIT",
2332 + "dependencies": {
2333 + "mdn-data": "2.0.28",
2334 + "source-map-js": "^1.0.1"
2335 + },
2336 + "engines": {
2337 + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
2338 + "npm": ">=7.0.0"
2339 + }
2340 + },
2341 + "node_modules/csso/node_modules/mdn-data": {
2342 + "version": "2.0.28",
2343 + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz",
2344 + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
2345 + "license": "CC0-1.0"
2346 + },
2347 + "node_modules/debug": {
2348 + "version": "4.4.3",
2349 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
2350 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
2351 + "license": "MIT",
2352 + "dependencies": {
2353 + "ms": "^2.1.3"
2354 + },
2355 + "engines": {
2356 + "node": ">=6.0"
2357 + },
2358 + "peerDependenciesMeta": {
2359 + "supports-color": {
2360 + "optional": true
2361 + }
2362 + }
2363 + },
2364 + "node_modules/decode-named-character-reference": {
2365 + "version": "1.3.0",
2366 + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz",
2367 + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==",
2368 + "license": "MIT",
2369 + "dependencies": {
2370 + "character-entities": "^2.0.0"
2371 + },
2372 + "funding": {
2373 + "type": "github",
2374 + "url": "https://github.com/sponsors/wooorm"
2375 + }
2376 + },
2377 + "node_modules/defu": {
2378 + "version": "6.1.7",
2379 + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz",
2380 + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==",
2381 + "license": "MIT"
2382 + },
2383 + "node_modules/depd": {
2384 + "version": "2.0.0",
2385 + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
2386 + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
2387 + "license": "MIT",
2388 + "engines": {
2389 + "node": ">= 0.8"
2390 + }
2391 + },
2392 + "node_modules/dequal": {
2393 + "version": "2.0.3",
2394 + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
2395 + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
2396 + "license": "MIT",
2397 + "engines": {
2398 + "node": ">=6"
2399 + }
2400 + },
2401 + "node_modules/destr": {
2402 + "version": "2.0.5",
2403 + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz",
2404 + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==",
2405 + "license": "MIT"
2406 + },
2407 + "node_modules/destroy": {
2408 + "version": "1.2.0",
2409 + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
2410 + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
2411 + "license": "MIT",
2412 + "engines": {
2413 + "node": ">= 0.8",
2414 + "npm": "1.2.8000 || >= 1.4.16"
2415 + }
2416 + },
2417 + "node_modules/detect-libc": {
2418 + "version": "2.1.2",
2419 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
2420 + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
2421 + "license": "Apache-2.0",
2422 + "optional": true,
2423 + "engines": {
2424 + "node": ">=8"
2425 + }
2426 + },
2427 + "node_modules/deterministic-object-hash": {
2428 + "version": "2.0.2",
2429 + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz",
2430 + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==",
2431 + "license": "MIT",
2432 + "dependencies": {
2433 + "base-64": "^1.0.0"
2434 + },
2435 + "engines": {
2436 + "node": ">=18"
2437 + }
2438 + },
2439 + "node_modules/devalue": {
2440 + "version": "5.9.0",
2441 + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.9.0.tgz",
2442 + "integrity": "sha512-RWrqdArjvPbsATEhOPUo6Wndc/iWnkWKlhIrdlF3zMMYo/c3CVtoaVAyLtWxz5h8nSlkHzxnzV2uLydPXmtF+A==",
2443 + "license": "MIT"
2444 + },
2445 + "node_modules/devlop": {
2446 + "version": "1.1.0",
2447 + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
2448 + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
2449 + "license": "MIT",
2450 + "dependencies": {
2451 + "dequal": "^2.0.0"
2452 + },
2453 + "funding": {
2454 + "type": "github",
2455 + "url": "https://github.com/sponsors/wooorm"
2456 + }
2457 + },
2458 + "node_modules/diff": {
2459 + "version": "8.0.4",
2460 + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
2461 + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
2462 + "license": "BSD-3-Clause",
2463 + "engines": {
2464 + "node": ">=0.3.1"
2465 + }
2466 + },
2467 + "node_modules/dlv": {
2468 + "version": "1.1.3",
2469 + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
2470 + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
2471 + "license": "MIT"
2472 + },
2473 + "node_modules/dom-serializer": {
2474 + "version": "2.0.0",
2475 + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
2476 + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
2477 + "license": "MIT",
2478 + "dependencies": {
2479 + "domelementtype": "^2.3.0",
2480 + "domhandler": "^5.0.2",
2481 + "entities": "^4.2.0"
2482 + },
2483 + "funding": {
2484 + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
2485 + }
2486 + },
2487 + "node_modules/dom-serializer/node_modules/entities": {
2488 + "version": "4.5.0",
2489 + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
2490 + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
2491 + "license": "BSD-2-Clause",
2492 + "engines": {
2493 + "node": ">=0.12"
2494 + },
2495 + "funding": {
2496 + "url": "https://github.com/fb55/entities?sponsor=1"
2497 + }
2498 + },
2499 + "node_modules/domelementtype": {
2500 + "version": "2.3.0",
2501 + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
2502 + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
2503 + "funding": [
2504 + {
2505 + "type": "github",
2506 + "url": "https://github.com/sponsors/fb55"
2507 + }
2508 + ],
2509 + "license": "BSD-2-Clause"
2510 + },
2511 + "node_modules/domhandler": {
2512 + "version": "5.0.3",
2513 + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
2514 + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
2515 + "license": "BSD-2-Clause",
2516 + "dependencies": {
2517 + "domelementtype": "^2.3.0"
2518 + },
2519 + "engines": {
2520 + "node": ">= 4"
2521 + },
2522 + "funding": {
2523 + "url": "https://github.com/fb55/domhandler?sponsor=1"
2524 + }
2525 + },
2526 + "node_modules/domutils": {
2527 + "version": "3.2.2",
2528 + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
2529 + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
2530 + "license": "BSD-2-Clause",
2531 + "dependencies": {
2532 + "dom-serializer": "^2.0.0",
2533 + "domelementtype": "^2.3.0",
2534 + "domhandler": "^5.0.3"
2535 + },
2536 + "funding": {
2537 + "url": "https://github.com/fb55/domutils?sponsor=1"
2538 + }
2539 + },
2540 + "node_modules/dset": {
2541 + "version": "3.1.4",
2542 + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz",
2543 + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==",
2544 + "license": "MIT",
2545 + "engines": {
2546 + "node": ">=4"
2547 + }
2548 + },
2549 + "node_modules/dunder-proto": {
2550 + "version": "1.0.1",
2551 + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
2552 + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
2553 + "license": "MIT",
2554 + "dependencies": {
2555 + "call-bind-apply-helpers": "^1.0.1",
2556 + "es-errors": "^1.3.0",
2557 + "gopd": "^1.2.0"
2558 + },
2559 + "engines": {
2560 + "node": ">= 0.4"
2561 + }
2562 + },
2563 + "node_modules/ee-first": {
2564 + "version": "1.1.1",
2565 + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
2566 + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
2567 + "license": "MIT"
2568 + },
2569 + "node_modules/emoji-regex": {
2570 + "version": "10.6.0",
2571 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
2572 + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
2573 + "license": "MIT"
2574 + },
2575 + "node_modules/encodeurl": {
2576 + "version": "2.0.0",
2577 + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
2578 + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
2579 + "license": "MIT",
2580 + "engines": {
2581 + "node": ">= 0.8"
2582 + }
2583 + },
2584 + "node_modules/entities": {
2585 + "version": "6.0.1",
2586 + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
2587 + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
2588 + "license": "BSD-2-Clause",
2589 + "engines": {
2590 + "node": ">=0.12"
2591 + },
2592 + "funding": {
2593 + "url": "https://github.com/fb55/entities?sponsor=1"
2594 + }
2595 + },
2596 + "node_modules/es-define-property": {
2597 + "version": "1.0.1",
2598 + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
2599 + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
2600 + "license": "MIT",
2601 + "engines": {
2602 + "node": ">= 0.4"
2603 + }
2604 + },
2605 + "node_modules/es-errors": {
2606 + "version": "1.3.0",
2607 + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
2608 + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
2609 + "license": "MIT",
2610 + "engines": {
2611 + "node": ">= 0.4"
2612 + }
2613 + },
2614 + "node_modules/es-module-lexer": {
2615 + "version": "1.7.0",
2616 + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
2617 + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
2618 + "license": "MIT"
2619 + },
2620 + "node_modules/es-object-atoms": {
2621 + "version": "1.1.2",
2622 + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
2623 + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
2624 + "license": "MIT",
2625 + "dependencies": {
2626 + "es-errors": "^1.3.0"
2627 + },
2628 + "engines": {
2629 + "node": ">= 0.4"
2630 + }
2631 + },
2632 + "node_modules/esbuild": {
2633 + "version": "0.27.7",
2634 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz",
2635 + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==",
2636 + "hasInstallScript": true,
2637 + "license": "MIT",
2638 + "bin": {
2639 + "esbuild": "bin/esbuild"
2640 + },
2641 + "engines": {
2642 + "node": ">=18"
2643 + },
2644 + "optionalDependencies": {
2645 + "@esbuild/aix-ppc64": "0.27.7",
2646 + "@esbuild/android-arm": "0.27.7",
2647 + "@esbuild/android-arm64": "0.27.7",
2648 + "@esbuild/android-x64": "0.27.7",
2649 + "@esbuild/darwin-arm64": "0.27.7",
2650 + "@esbuild/darwin-x64": "0.27.7",
2651 + "@esbuild/freebsd-arm64": "0.27.7",
2652 + "@esbuild/freebsd-x64": "0.27.7",
2653 + "@esbuild/linux-arm": "0.27.7",
2654 + "@esbuild/linux-arm64": "0.27.7",
2655 + "@esbuild/linux-ia32": "0.27.7",
2656 + "@esbuild/linux-loong64": "0.27.7",
2657 + "@esbuild/linux-mips64el": "0.27.7",
2658 + "@esbuild/linux-ppc64": "0.27.7",
2659 + "@esbuild/linux-riscv64": "0.27.7",
2660 + "@esbuild/linux-s390x": "0.27.7",
2661 + "@esbuild/linux-x64": "0.27.7",
2662 + "@esbuild/netbsd-arm64": "0.27.7",
2663 + "@esbuild/netbsd-x64": "0.27.7",
2664 + "@esbuild/openbsd-arm64": "0.27.7",
2665 + "@esbuild/openbsd-x64": "0.27.7",
2666 + "@esbuild/openharmony-arm64": "0.27.7",
2667 + "@esbuild/sunos-x64": "0.27.7",
2668 + "@esbuild/win32-arm64": "0.27.7",
2669 + "@esbuild/win32-ia32": "0.27.7",
2670 + "@esbuild/win32-x64": "0.27.7"
2671 + }
2672 + },
2673 + "node_modules/escape-html": {
2674 + "version": "1.0.3",
2675 + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
2676 + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
2677 + "license": "MIT"
2678 + },
2679 + "node_modules/escape-string-regexp": {
2680 + "version": "5.0.0",
2681 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
2682 + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
2683 + "license": "MIT",
2684 + "engines": {
2685 + "node": ">=12"
2686 + },
2687 + "funding": {
2688 + "url": "https://github.com/sponsors/sindresorhus"
2689 + }
2690 + },
2691 + "node_modules/estree-walker": {
2692 + "version": "3.0.3",
2693 + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
2694 + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
2695 + "license": "MIT",
2696 + "dependencies": {
2697 + "@types/estree": "^1.0.0"
2698 + }
2699 + },
2700 + "node_modules/etag": {
2701 + "version": "1.8.1",
2702 + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
2703 + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
2704 + "license": "MIT",
2705 + "engines": {
2706 + "node": ">= 0.6"
2707 + }
2708 + },
2709 + "node_modules/eventemitter3": {
2710 + "version": "5.0.4",
2711 + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
2712 + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
2713 + "license": "MIT"
2714 + },
2715 + "node_modules/express": {
2716 + "version": "4.22.2",
2717 + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz",
2718 + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==",
2719 + "license": "MIT",
2720 + "dependencies": {
2721 + "accepts": "~1.3.8",
2722 + "array-flatten": "1.1.1",
2723 + "body-parser": "~1.20.5",
2724 + "content-disposition": "~0.5.4",
2725 + "content-type": "~1.0.4",
2726 + "cookie": "~0.7.1",
2727 + "cookie-signature": "~1.0.6",
2728 + "debug": "2.6.9",
2729 + "depd": "2.0.0",
2730 + "encodeurl": "~2.0.0",
2731 + "escape-html": "~1.0.3",
2732 + "etag": "~1.8.1",
2733 + "finalhandler": "~1.3.1",
2734 + "fresh": "~0.5.2",
2735 + "http-errors": "~2.0.0",
2736 + "merge-descriptors": "1.0.3",
2737 + "methods": "~1.1.2",
2738 + "on-finished": "~2.4.1",
2739 + "parseurl": "~1.3.3",
2740 + "path-to-regexp": "~0.1.12",
2741 + "proxy-addr": "~2.0.7",
2742 + "qs": "~6.15.1",
2743 + "range-parser": "~1.2.1",
2744 + "safe-buffer": "5.2.1",
2745 + "send": "~0.19.0",
2746 + "serve-static": "~1.16.2",
2747 + "setprototypeof": "1.2.0",
2748 + "statuses": "~2.0.1",
2749 + "type-is": "~1.6.18",
2750 + "utils-merge": "1.0.1",
2751 + "vary": "~1.1.2"
2752 + },
2753 + "engines": {
2754 + "node": ">= 0.10.0"
2755 + },
2756 + "funding": {
2757 + "type": "opencollective",
2758 + "url": "https://opencollective.com/express"
2759 + }
2760 + },
2761 + "node_modules/express/node_modules/cookie": {
2762 + "version": "0.7.2",
2763 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
2764 + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
2765 + "license": "MIT",
2766 + "engines": {
2767 + "node": ">= 0.6"
2768 + }
2769 + },
2770 + "node_modules/express/node_modules/debug": {
2771 + "version": "2.6.9",
2772 + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2773 + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2774 + "license": "MIT",
2775 + "dependencies": {
2776 + "ms": "2.0.0"
2777 + }
2778 + },
2779 + "node_modules/express/node_modules/ms": {
2780 + "version": "2.0.0",
2781 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2782 + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
2783 + "license": "MIT"
2784 + },
2785 + "node_modules/extend": {
2786 + "version": "3.0.2",
2787 + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
2788 + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
2789 + "license": "MIT"
2790 + },
2791 + "node_modules/fdir": {
2792 + "version": "6.5.0",
2793 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
2794 + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
2795 + "license": "MIT",
2796 + "engines": {
2797 + "node": ">=12.0.0"
2798 + },
2799 + "peerDependencies": {
2800 + "picomatch": "^3 || ^4"
2801 + },
2802 + "peerDependenciesMeta": {
2803 + "picomatch": {
2804 + "optional": true
2805 + }
2806 + }
2807 + },
2808 + "node_modules/finalhandler": {
2809 + "version": "1.3.2",
2810 + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz",
2811 + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==",
2812 + "license": "MIT",
2813 + "dependencies": {
2814 + "debug": "2.6.9",
2815 + "encodeurl": "~2.0.0",
2816 + "escape-html": "~1.0.3",
2817 + "on-finished": "~2.4.1",
2818 + "parseurl": "~1.3.3",
2819 + "statuses": "~2.0.2",
2820 + "unpipe": "~1.0.0"
2821 + },
2822 + "engines": {
2823 + "node": ">= 0.8"
2824 + }
2825 + },
2826 + "node_modules/finalhandler/node_modules/debug": {
2827 + "version": "2.6.9",
2828 + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2829 + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2830 + "license": "MIT",
2831 + "dependencies": {
2832 + "ms": "2.0.0"
2833 + }
2834 + },
2835 + "node_modules/finalhandler/node_modules/ms": {
2836 + "version": "2.0.0",
2837 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2838 + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
2839 + "license": "MIT"
2840 + },
2841 + "node_modules/flattie": {
2842 + "version": "1.1.1",
2843 + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz",
2844 + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==",
2845 + "license": "MIT",
2846 + "engines": {
2847 + "node": ">=8"
2848 + }
2849 + },
2850 + "node_modules/fontace": {
2851 + "version": "0.4.1",
2852 + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz",
2853 + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==",
2854 + "license": "MIT",
2855 + "dependencies": {
2856 + "fontkitten": "^1.0.2"
2857 + }
2858 + },
2859 + "node_modules/fontkitten": {
2860 + "version": "1.0.3",
2861 + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz",
2862 + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==",
2863 + "license": "MIT",
2864 + "dependencies": {
2865 + "tiny-inflate": "^1.0.3"
2866 + },
2867 + "engines": {
2868 + "node": ">=20"
2869 + }
2870 + },
2871 + "node_modules/forwarded": {
2872 + "version": "0.2.0",
2873 + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
2874 + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
2875 + "license": "MIT",
2876 + "engines": {
2877 + "node": ">= 0.6"
2878 + }
2879 + },
2880 + "node_modules/fresh": {
2881 + "version": "0.5.2",
2882 + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
2883 + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
2884 + "license": "MIT",
2885 + "engines": {
2886 + "node": ">= 0.6"
2887 + }
2888 + },
2889 + "node_modules/fsevents": {
2890 + "version": "2.3.3",
2891 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
2892 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
2893 + "hasInstallScript": true,
2894 + "license": "MIT",
2895 + "optional": true,
2896 + "os": [
2897 + "darwin"
2898 + ],
2899 + "engines": {
2900 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
2901 + }
2902 + },
2903 + "node_modules/function-bind": {
2904 + "version": "1.1.2",
2905 + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
2906 + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
2907 + "license": "MIT",
2908 + "funding": {
2909 + "url": "https://github.com/sponsors/ljharb"
2910 + }
2911 + },
2912 + "node_modules/fuse.js": {
2913 + "version": "7.5.0",
2914 + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.5.0.tgz",
2915 + "integrity": "sha512-sQtrEfA+ez/3G0cCZecF70oqpCRttCexYUG4mUrtWL49ULUzUyxokt5kyqwtKzj1270RaKih+hcP3qLcumccow==",
2916 + "license": "Apache-2.0",
2917 + "engines": {
2918 + "node": ">=10"
2919 + },
2920 + "funding": {
2921 + "type": "github",
2922 + "url": "https://github.com/sponsors/krisk"
2923 + }
2924 + },
2925 + "node_modules/get-east-asian-width": {
2926 + "version": "1.6.0",
2927 + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
2928 + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
2929 + "license": "MIT",
2930 + "engines": {
2931 + "node": ">=18"
2932 + },
2933 + "funding": {
2934 + "url": "https://github.com/sponsors/sindresorhus"
2935 + }
2936 + },
2937 + "node_modules/get-intrinsic": {
2938 + "version": "1.3.0",
2939 + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
2940 + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
2941 + "license": "MIT",
2942 + "dependencies": {
2943 + "call-bind-apply-helpers": "^1.0.2",
2944 + "es-define-property": "^1.0.1",
2945 + "es-errors": "^1.3.0",
2946 + "es-object-atoms": "^1.1.1",
2947 + "function-bind": "^1.1.2",
2948 + "get-proto": "^1.0.1",
2949 + "gopd": "^1.2.0",
2950 + "has-symbols": "^1.1.0",
2951 + "hasown": "^2.0.2",
2952 + "math-intrinsics": "^1.1.0"
2953 + },
2954 + "engines": {
2955 + "node": ">= 0.4"
2956 + },
2957 + "funding": {
2958 + "url": "https://github.com/sponsors/ljharb"
2959 + }
2960 + },
2961 + "node_modules/get-proto": {
2962 + "version": "1.0.1",
2963 + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
2964 + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
2965 + "license": "MIT",
2966 + "dependencies": {
2967 + "dunder-proto": "^1.0.1",
2968 + "es-object-atoms": "^1.0.0"
2969 + },
2970 + "engines": {
2971 + "node": ">= 0.4"
2972 + }
2973 + },
2974 + "node_modules/github-slugger": {
2975 + "version": "2.0.0",
2976 + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
2977 + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==",
2978 + "license": "ISC"
2979 + },
2980 + "node_modules/gopd": {
2981 + "version": "1.2.0",
2982 + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
2983 + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
2984 + "license": "MIT",
2985 + "engines": {
2986 + "node": ">= 0.4"
2987 + },
2988 + "funding": {
2989 + "url": "https://github.com/sponsors/ljharb"
2990 + }
2991 + },
2992 + "node_modules/h3": {
2993 + "version": "1.15.11",
2994 + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz",
2995 + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==",
2996 + "license": "MIT",
2997 + "dependencies": {
2998 + "cookie-es": "^1.2.3",
2999 + "crossws": "^0.3.5",
3000 + "defu": "^6.1.6",
3001 + "destr": "^2.0.5",
3002 + "iron-webcrypto": "^1.2.1",
3003 + "node-mock-http": "^1.0.4",
3004 + "radix3": "^1.1.2",
3005 + "ufo": "^1.6.3",
3006 + "uncrypto": "^0.1.3"
3007 + }
3008 + },
3009 + "node_modules/has-symbols": {
3010 + "version": "1.1.0",
3011 + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
3012 + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
3013 + "license": "MIT",
3014 + "engines": {
3015 + "node": ">= 0.4"
3016 + },
3017 + "funding": {
3018 + "url": "https://github.com/sponsors/ljharb"
3019 + }
3020 + },
3021 + "node_modules/hasown": {
3022 + "version": "2.0.4",
3023 + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
3024 + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
3025 + "license": "MIT",
3026 + "dependencies": {
3027 + "function-bind": "^1.1.2"
3028 + },
3029 + "engines": {
3030 + "node": ">= 0.4"
3031 + }
3032 + },
3033 + "node_modules/hast-util-from-html": {
3034 + "version": "2.0.3",
3035 + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz",
3036 + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==",
3037 + "license": "MIT",
3038 + "dependencies": {
3039 + "@types/hast": "^3.0.0",
3040 + "devlop": "^1.1.0",
3041 + "hast-util-from-parse5": "^8.0.0",
3042 + "parse5": "^7.0.0",
3043 + "vfile": "^6.0.0",
3044 + "vfile-message": "^4.0.0"
3045 + },
3046 + "funding": {
3047 + "type": "opencollective",
3048 + "url": "https://opencollective.com/unified"
3049 + }
3050 + },
3051 + "node_modules/hast-util-from-parse5": {
3052 + "version": "8.0.3",
3053 + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz",
3054 + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==",
3055 + "license": "MIT",
3056 + "dependencies": {
3057 + "@types/hast": "^3.0.0",
3058 + "@types/unist": "^3.0.0",
3059 + "devlop": "^1.0.0",
3060 + "hastscript": "^9.0.0",
3061 + "property-information": "^7.0.0",
3062 + "vfile": "^6.0.0",
3063 + "vfile-location": "^5.0.0",
3064 + "web-namespaces": "^2.0.0"
3065 + },
3066 + "funding": {
3067 + "type": "opencollective",
3068 + "url": "https://opencollective.com/unified"
3069 + }
3070 + },
3071 + "node_modules/hast-util-is-element": {
3072 + "version": "3.0.0",
3073 + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
3074 + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
3075 + "license": "MIT",
3076 + "dependencies": {
3077 + "@types/hast": "^3.0.0"
3078 + },
3079 + "funding": {
3080 + "type": "opencollective",
3081 + "url": "https://opencollective.com/unified"
3082 + }
3083 + },
3084 + "node_modules/hast-util-parse-selector": {
3085 + "version": "4.0.0",
3086 + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz",
3087 + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==",
3088 + "license": "MIT",
3089 + "dependencies": {
3090 + "@types/hast": "^3.0.0"
3091 + },
3092 + "funding": {
3093 + "type": "opencollective",
3094 + "url": "https://opencollective.com/unified"
3095 + }
3096 + },
3097 + "node_modules/hast-util-raw": {
3098 + "version": "9.1.0",
3099 + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz",
3100 + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==",
3101 + "license": "MIT",
3102 + "dependencies": {
3103 + "@types/hast": "^3.0.0",
3104 + "@types/unist": "^3.0.0",
3105 + "@ungap/structured-clone": "^1.0.0",
3106 + "hast-util-from-parse5": "^8.0.0",
3107 + "hast-util-to-parse5": "^8.0.0",
3108 + "html-void-elements": "^3.0.0",
3109 + "mdast-util-to-hast": "^13.0.0",
3110 + "parse5": "^7.0.0",
3111 + "unist-util-position": "^5.0.0",
3112 + "unist-util-visit": "^5.0.0",
3113 + "vfile": "^6.0.0",
3114 + "web-namespaces": "^2.0.0",
3115 + "zwitch": "^2.0.0"
3116 + },
3117 + "funding": {
3118 + "type": "opencollective",
3119 + "url": "https://opencollective.com/unified"
3120 + }
3121 + },
3122 + "node_modules/hast-util-to-html": {
3123 + "version": "9.0.5",
3124 + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz",
3125 + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==",
3126 + "license": "MIT",
3127 + "dependencies": {
3128 + "@types/hast": "^3.0.0",
3129 + "@types/unist": "^3.0.0",
3130 + "ccount": "^2.0.0",
3131 + "comma-separated-tokens": "^2.0.0",
3132 + "hast-util-whitespace": "^3.0.0",
3133 + "html-void-elements": "^3.0.0",
3134 + "mdast-util-to-hast": "^13.0.0",
3135 + "property-information": "^7.0.0",
3136 + "space-separated-tokens": "^2.0.0",
3137 + "stringify-entities": "^4.0.0",
3138 + "zwitch": "^2.0.4"
3139 + },
3140 + "funding": {
3141 + "type": "opencollective",
3142 + "url": "https://opencollective.com/unified"
3143 + }
3144 + },
3145 + "node_modules/hast-util-to-parse5": {
3146 + "version": "8.0.1",
3147 + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz",
3148 + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==",
3149 + "license": "MIT",
3150 + "dependencies": {
3151 + "@types/hast": "^3.0.0",
3152 + "comma-separated-tokens": "^2.0.0",
3153 + "devlop": "^1.0.0",
3154 + "property-information": "^7.0.0",
3155 + "space-separated-tokens": "^2.0.0",
3156 + "web-namespaces": "^2.0.0",
3157 + "zwitch": "^2.0.0"
3158 + },
3159 + "funding": {
3160 + "type": "opencollective",
3161 + "url": "https://opencollective.com/unified"
3162 + }
3163 + },
3164 + "node_modules/hast-util-to-text": {
3165 + "version": "4.0.2",
3166 + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz",
3167 + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==",
3168 + "license": "MIT",
3169 + "dependencies": {
3170 + "@types/hast": "^3.0.0",
3171 + "@types/unist": "^3.0.0",
3172 + "hast-util-is-element": "^3.0.0",
3173 + "unist-util-find-after": "^5.0.0"
3174 + },
3175 + "funding": {
3176 + "type": "opencollective",
3177 + "url": "https://opencollective.com/unified"
3178 + }
3179 + },
3180 + "node_modules/hast-util-whitespace": {
3181 + "version": "3.0.0",
3182 + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
3183 + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
3184 + "license": "MIT",
3185 + "dependencies": {
3186 + "@types/hast": "^3.0.0"
3187 + },
3188 + "funding": {
3189 + "type": "opencollective",
3190 + "url": "https://opencollective.com/unified"
3191 + }
3192 + },
3193 + "node_modules/hastscript": {
3194 + "version": "9.0.1",
3195 + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz",
3196 + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==",
3197 + "license": "MIT",
3198 + "dependencies": {
3199 + "@types/hast": "^3.0.0",
3200 + "comma-separated-tokens": "^2.0.0",
3201 + "hast-util-parse-selector": "^4.0.0",
3202 + "property-information": "^7.0.0",
3203 + "space-separated-tokens": "^2.0.0"
3204 + },
3205 + "funding": {
3206 + "type": "opencollective",
3207 + "url": "https://opencollective.com/unified"
3208 + }
3209 + },
3210 + "node_modules/html-escaper": {
3211 + "version": "3.0.3",
3212 + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz",
3213 + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==",
3214 + "license": "MIT"
3215 + },
3216 + "node_modules/html-void-elements": {
3217 + "version": "3.0.0",
3218 + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
3219 + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==",
3220 + "license": "MIT",
3221 + "funding": {
3222 + "type": "github",
3223 + "url": "https://github.com/sponsors/wooorm"
3224 + }
3225 + },
3226 + "node_modules/http-cache-semantics": {
3227 + "version": "4.2.0",
3228 + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz",
3229 + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==",
3230 + "license": "BSD-2-Clause"
3231 + },
3232 + "node_modules/http-errors": {
3233 + "version": "2.0.1",
3234 + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
3235 + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
3236 + "license": "MIT",
3237 + "dependencies": {
3238 + "depd": "~2.0.0",
3239 + "inherits": "~2.0.4",
3240 + "setprototypeof": "~1.2.0",
3241 + "statuses": "~2.0.2",
3242 + "toidentifier": "~1.0.1"
3243 + },
3244 + "engines": {
3245 + "node": ">= 0.8"
3246 + },
3247 + "funding": {
3248 + "type": "opencollective",
3249 + "url": "https://opencollective.com/express"
3250 + }
3251 + },
3252 + "node_modules/iconv-lite": {
3253 + "version": "0.4.24",
3254 + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
3255 + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
3256 + "license": "MIT",
3257 + "dependencies": {
3258 + "safer-buffer": ">= 2.1.2 < 3"
3259 + },
3260 + "engines": {
3261 + "node": ">=0.10.0"
3262 + }
3263 + },
3264 + "node_modules/import-meta-resolve": {
3265 + "version": "4.2.0",
3266 + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz",
3267 + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==",
3268 + "license": "MIT",
3269 + "funding": {
3270 + "type": "github",
3271 + "url": "https://github.com/sponsors/wooorm"
3272 + }
3273 + },
3274 + "node_modules/inherits": {
3275 + "version": "2.0.4",
3276 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
3277 + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
3278 + "license": "ISC"
3279 + },
3280 + "node_modules/ipaddr.js": {
3281 + "version": "1.9.1",
3282 + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
3283 + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
3284 + "license": "MIT",
3285 + "engines": {
3286 + "node": ">= 0.10"
3287 + }
3288 + },
3289 + "node_modules/iron-webcrypto": {
3290 + "version": "1.2.1",
3291 + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz",
3292 + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==",
3293 + "license": "MIT",
3294 + "funding": {
3295 + "url": "https://github.com/sponsors/brc-dd"
3296 + }
3297 + },
3298 + "node_modules/is-docker": {
3299 + "version": "3.0.0",
3300 + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
3301 + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
3302 + "license": "MIT",
3303 + "bin": {
3304 + "is-docker": "cli.js"
3305 + },
3306 + "engines": {
3307 + "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
3308 + },
3309 + "funding": {
3310 + "url": "https://github.com/sponsors/sindresorhus"
3311 + }
3312 + },
3313 + "node_modules/is-fullwidth-code-point": {
3314 + "version": "3.0.0",
3315 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
3316 + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
3317 + "license": "MIT",
3318 + "engines": {
3319 + "node": ">=8"
3320 + }
3321 + },
3322 + "node_modules/is-inside-container": {
3323 + "version": "1.0.0",
3324 + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
3325 + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
3326 + "license": "MIT",
3327 + "dependencies": {
3328 + "is-docker": "^3.0.0"
3329 + },
3330 + "bin": {
3331 + "is-inside-container": "cli.js"
3332 + },
3333 + "engines": {
3334 + "node": ">=14.16"
3335 + },
3336 + "funding": {
3337 + "url": "https://github.com/sponsors/sindresorhus"
3338 + }
3339 + },
3340 + "node_modules/is-plain-obj": {
3341 + "version": "4.1.0",
3342 + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
3343 + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
3344 + "license": "MIT",
3345 + "engines": {
3346 + "node": ">=12"
3347 + },
3348 + "funding": {
3349 + "url": "https://github.com/sponsors/sindresorhus"
3350 + }
3351 + },
3352 + "node_modules/is-wsl": {
3353 + "version": "3.1.1",
3354 + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz",
3355 + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==",
3356 + "license": "MIT",
3357 + "dependencies": {
3358 + "is-inside-container": "^1.0.0"
3359 + },
3360 + "engines": {
3361 + "node": ">=16"
3362 + },
3363 + "funding": {
3364 + "url": "https://github.com/sponsors/sindresorhus"
3365 + }
3366 + },
3367 + "node_modules/js-yaml": {
3368 + "version": "4.3.1",
3369 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz",
3370 + "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==",
3371 + "funding": [
3372 + {
3373 + "type": "github",
3374 + "url": "https://github.com/sponsors/puzrin"
3375 + },
3376 + {
3377 + "type": "github",
3378 + "url": "https://github.com/sponsors/nodeca"
3379 + }
3380 + ],
3381 + "license": "MIT",
3382 + "dependencies": {
3383 + "argparse": "^2.0.1"
3384 + },
3385 + "bin": {
3386 + "js-yaml": "bin/js-yaml.js"
3387 + }
3388 + },
3389 + "node_modules/kleur": {
3390 + "version": "3.0.3",
3391 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
3392 + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
3393 + "license": "MIT",
3394 + "engines": {
3395 + "node": ">=6"
3396 + }
3397 + },
3398 + "node_modules/longest-streak": {
3399 + "version": "3.1.0",
3400 + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
3401 + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
3402 + "license": "MIT",
3403 + "funding": {
3404 + "type": "github",
3405 + "url": "https://github.com/sponsors/wooorm"
3406 + }
3407 + },
3408 + "node_modules/lru-cache": {
3409 + "version": "11.5.2",
3410 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz",
3411 + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==",
3412 + "license": "BlueOak-1.0.0",
3413 + "engines": {
3414 + "node": "20 || >=22"
3415 + }
3416 + },
3417 + "node_modules/magic-string": {
3418 + "version": "0.30.21",
3419 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
3420 + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
3421 + "license": "MIT",
3422 + "dependencies": {
3423 + "@jridgewell/sourcemap-codec": "^1.5.5"
3424 + }
3425 + },
3426 + "node_modules/magicast": {
3427 + "version": "0.5.4",
3428 + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.4.tgz",
3429 + "integrity": "sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w==",
3430 + "license": "MIT",
3431 + "dependencies": {
3432 + "@babel/parser": "^7.29.7",
3433 + "@babel/types": "^7.29.7",
3434 + "source-map-js": "^1.2.1"
3435 + }
3436 + },
3437 + "node_modules/markdown-table": {
3438 + "version": "3.0.4",
3439 + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz",
3440 + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==",
3441 + "license": "MIT",
3442 + "funding": {
3443 + "type": "github",
3444 + "url": "https://github.com/sponsors/wooorm"
3445 + }
3446 + },
3447 + "node_modules/math-intrinsics": {
3448 + "version": "1.1.0",
3449 + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
3450 + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
3451 + "license": "MIT",
3452 + "engines": {
3453 + "node": ">= 0.4"
3454 + }
3455 + },
3456 + "node_modules/mdast-util-definitions": {
3457 + "version": "6.0.0",
3458 + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz",
3459 + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==",
3460 + "license": "MIT",
3461 + "dependencies": {
3462 + "@types/mdast": "^4.0.0",
3463 + "@types/unist": "^3.0.0",
3464 + "unist-util-visit": "^5.0.0"
3465 + },
3466 + "funding": {
3467 + "type": "opencollective",
3468 + "url": "https://opencollective.com/unified"
3469 + }
3470 + },
3471 + "node_modules/mdast-util-find-and-replace": {
3472 + "version": "3.0.2",
3473 + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz",
3474 + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==",
3475 + "license": "MIT",
3476 + "dependencies": {
3477 + "@types/mdast": "^4.0.0",
3478 + "escape-string-regexp": "^5.0.0",
3479 + "unist-util-is": "^6.0.0",
3480 + "unist-util-visit-parents": "^6.0.0"
3481 + },
3482 + "funding": {
3483 + "type": "opencollective",
3484 + "url": "https://opencollective.com/unified"
3485 + }
3486 + },
3487 + "node_modules/mdast-util-from-markdown": {
3488 + "version": "2.0.3",
3489 + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz",
3490 + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==",
3491 + "license": "MIT",
3492 + "dependencies": {
3493 + "@types/mdast": "^4.0.0",
3494 + "@types/unist": "^3.0.0",
3495 + "decode-named-character-reference": "^1.0.0",
3496 + "devlop": "^1.0.0",
3497 + "mdast-util-to-string": "^4.0.0",
3498 + "micromark": "^4.0.0",
3499 + "micromark-util-decode-numeric-character-reference": "^2.0.0",
3500 + "micromark-util-decode-string": "^2.0.0",
3501 + "micromark-util-normalize-identifier": "^2.0.0",
3502 + "micromark-util-symbol": "^2.0.0",
3503 + "micromark-util-types": "^2.0.0",
3504 + "unist-util-stringify-position": "^4.0.0"
3505 + },
3506 + "funding": {
3507 + "type": "opencollective",
3508 + "url": "https://opencollective.com/unified"
3509 + }
3510 + },
3511 + "node_modules/mdast-util-gfm": {
3512 + "version": "3.1.0",
3513 + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz",
3514 + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==",
3515 + "license": "MIT",
3516 + "dependencies": {
3517 + "mdast-util-from-markdown": "^2.0.0",
3518 + "mdast-util-gfm-autolink-literal": "^2.0.0",
3519 + "mdast-util-gfm-footnote": "^2.0.0",
3520 + "mdast-util-gfm-strikethrough": "^2.0.0",
3521 + "mdast-util-gfm-table": "^2.0.0",
3522 + "mdast-util-gfm-task-list-item": "^2.0.0",
3523 + "mdast-util-to-markdown": "^2.0.0"
3524 + },
3525 + "funding": {
3526 + "type": "opencollective",
3527 + "url": "https://opencollective.com/unified"
3528 + }
3529 + },
3530 + "node_modules/mdast-util-gfm-autolink-literal": {
3531 + "version": "2.0.1",
3532 + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz",
3533 + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==",
3534 + "license": "MIT",
3535 + "dependencies": {
3536 + "@types/mdast": "^4.0.0",
3537 + "ccount": "^2.0.0",
3538 + "devlop": "^1.0.0",
3539 + "mdast-util-find-and-replace": "^3.0.0",
3540 + "micromark-util-character": "^2.0.0"
3541 + },
3542 + "funding": {
3543 + "type": "opencollective",
3544 + "url": "https://opencollective.com/unified"
3545 + }
3546 + },
3547 + "node_modules/mdast-util-gfm-footnote": {
3548 + "version": "2.1.0",
3549 + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz",
3550 + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==",
3551 + "license": "MIT",
3552 + "dependencies": {
3553 + "@types/mdast": "^4.0.0",
3554 + "devlop": "^1.1.0",
3555 + "mdast-util-from-markdown": "^2.0.0",
3556 + "mdast-util-to-markdown": "^2.0.0",
3557 + "micromark-util-normalize-identifier": "^2.0.0"
3558 + },
3559 + "funding": {
3560 + "type": "opencollective",
3561 + "url": "https://opencollective.com/unified"
3562 + }
3563 + },
3564 + "node_modules/mdast-util-gfm-strikethrough": {
3565 + "version": "2.0.0",
3566 + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz",
3567 + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==",
3568 + "license": "MIT",
3569 + "dependencies": {
3570 + "@types/mdast": "^4.0.0",
3571 + "mdast-util-from-markdown": "^2.0.0",
3572 + "mdast-util-to-markdown": "^2.0.0"
3573 + },
3574 + "funding": {
3575 + "type": "opencollective",
3576 + "url": "https://opencollective.com/unified"
3577 + }
3578 + },
3579 + "node_modules/mdast-util-gfm-table": {
3580 + "version": "2.0.0",
3581 + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz",
3582 + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==",
3583 + "license": "MIT",
3584 + "dependencies": {
3585 + "@types/mdast": "^4.0.0",
3586 + "devlop": "^1.0.0",
3587 + "markdown-table": "^3.0.0",
3588 + "mdast-util-from-markdown": "^2.0.0",
3589 + "mdast-util-to-markdown": "^2.0.0"
3590 + },
3591 + "funding": {
3592 + "type": "opencollective",
3593 + "url": "https://opencollective.com/unified"
3594 + }
3595 + },
3596 + "node_modules/mdast-util-gfm-task-list-item": {
3597 + "version": "2.0.0",
3598 + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz",
3599 + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==",
3600 + "license": "MIT",
3601 + "dependencies": {
3602 + "@types/mdast": "^4.0.0",
3603 + "devlop": "^1.0.0",
3604 + "mdast-util-from-markdown": "^2.0.0",
3605 + "mdast-util-to-markdown": "^2.0.0"
3606 + },
3607 + "funding": {
3608 + "type": "opencollective",
3609 + "url": "https://opencollective.com/unified"
3610 + }
3611 + },
3612 + "node_modules/mdast-util-phrasing": {
3613 + "version": "4.1.0",
3614 + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
3615 + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==",
3616 + "license": "MIT",
3617 + "dependencies": {
3618 + "@types/mdast": "^4.0.0",
3619 + "unist-util-is": "^6.0.0"
3620 + },
3621 + "funding": {
3622 + "type": "opencollective",
3623 + "url": "https://opencollective.com/unified"
3624 + }
3625 + },
3626 + "node_modules/mdast-util-to-hast": {
3627 + "version": "13.2.1",
3628 + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz",
3629 + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==",
3630 + "license": "MIT",
3631 + "dependencies": {
3632 + "@types/hast": "^3.0.0",
3633 + "@types/mdast": "^4.0.0",
3634 + "@ungap/structured-clone": "^1.0.0",
3635 + "devlop": "^1.0.0",
3636 + "micromark-util-sanitize-uri": "^2.0.0",
3637 + "trim-lines": "^3.0.0",
3638 + "unist-util-position": "^5.0.0",
3639 + "unist-util-visit": "^5.0.0",
3640 + "vfile": "^6.0.0"
3641 + },
3642 + "funding": {
3643 + "type": "opencollective",
3644 + "url": "https://opencollective.com/unified"
3645 + }
3646 + },
3647 + "node_modules/mdast-util-to-markdown": {
3648 + "version": "2.1.2",
3649 + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz",
3650 + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==",
3651 + "license": "MIT",
3652 + "dependencies": {
3653 + "@types/mdast": "^4.0.0",
3654 + "@types/unist": "^3.0.0",
3655 + "longest-streak": "^3.0.0",
3656 + "mdast-util-phrasing": "^4.0.0",
3657 + "mdast-util-to-string": "^4.0.0",
3658 + "micromark-util-classify-character": "^2.0.0",
3659 + "micromark-util-decode-string": "^2.0.0",
3660 + "unist-util-visit": "^5.0.0",
3661 + "zwitch": "^2.0.0"
3662 + },
3663 + "funding": {
3664 + "type": "opencollective",
3665 + "url": "https://opencollective.com/unified"
3666 + }
3667 + },
3668 + "node_modules/mdast-util-to-string": {
3669 + "version": "4.0.0",
3670 + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
3671 + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
3672 + "license": "MIT",
3673 + "dependencies": {
3674 + "@types/mdast": "^4.0.0"
3675 + },
3676 + "funding": {
3677 + "type": "opencollective",
3678 + "url": "https://opencollective.com/unified"
3679 + }
3680 + },
3681 + "node_modules/mdn-data": {
3682 + "version": "2.27.1",
3683 + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz",
3684 + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==",
3685 + "license": "CC0-1.0"
3686 + },
3687 + "node_modules/media-typer": {
3688 + "version": "0.3.0",
3689 + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
3690 + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
3691 + "license": "MIT",
3692 + "engines": {
3693 + "node": ">= 0.6"
3694 + }
3695 + },
3696 + "node_modules/merge-descriptors": {
3697 + "version": "1.0.3",
3698 + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
3699 + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
3700 + "license": "MIT",
3701 + "funding": {
3702 + "url": "https://github.com/sponsors/sindresorhus"
3703 + }
3704 + },
3705 + "node_modules/methods": {
3706 + "version": "1.1.2",
3707 + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
3708 + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
3709 + "license": "MIT",
3710 + "engines": {
3711 + "node": ">= 0.6"
3712 + }
3713 + },
3714 + "node_modules/micromark": {
3715 + "version": "4.0.2",
3716 + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
3717 + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==",
3718 + "funding": [
3719 + {
3720 + "type": "GitHub Sponsors",
3721 + "url": "https://github.com/sponsors/unifiedjs"
3722 + },
3723 + {
3724 + "type": "OpenCollective",
3725 + "url": "https://opencollective.com/unified"
3726 + }
3727 + ],
3728 + "license": "MIT",
3729 + "dependencies": {
3730 + "@types/debug": "^4.0.0",
3731 + "debug": "^4.0.0",
3732 + "decode-named-character-reference": "^1.0.0",
3733 + "devlop": "^1.0.0",
3734 + "micromark-core-commonmark": "^2.0.0",
3735 + "micromark-factory-space": "^2.0.0",
3736 + "micromark-util-character": "^2.0.0",
3737 + "micromark-util-chunked": "^2.0.0",
3738 + "micromark-util-combine-extensions": "^2.0.0",
3739 + "micromark-util-decode-numeric-character-reference": "^2.0.0",
3740 + "micromark-util-encode": "^2.0.0",
3741 + "micromark-util-normalize-identifier": "^2.0.0",
3742 + "micromark-util-resolve-all": "^2.0.0",
3743 + "micromark-util-sanitize-uri": "^2.0.0",
3744 + "micromark-util-subtokenize": "^2.0.0",
3745 + "micromark-util-symbol": "^2.0.0",
3746 + "micromark-util-types": "^2.0.0"
3747 + }
3748 + },
3749 + "node_modules/micromark-core-commonmark": {
3750 + "version": "2.0.3",
3751 + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz",
3752 + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==",
3753 + "funding": [
3754 + {
3755 + "type": "GitHub Sponsors",
3756 + "url": "https://github.com/sponsors/unifiedjs"
3757 + },
3758 + {
3759 + "type": "OpenCollective",
3760 + "url": "https://opencollective.com/unified"
3761 + }
3762 + ],
3763 + "license": "MIT",
3764 + "dependencies": {
3765 + "decode-named-character-reference": "^1.0.0",
3766 + "devlop": "^1.0.0",
3767 + "micromark-factory-destination": "^2.0.0",
3768 + "micromark-factory-label": "^2.0.0",
3769 + "micromark-factory-space": "^2.0.0",
3770 + "micromark-factory-title": "^2.0.0",
3771 + "micromark-factory-whitespace": "^2.0.0",
3772 + "micromark-util-character": "^2.0.0",
3773 + "micromark-util-chunked": "^2.0.0",
3774 + "micromark-util-classify-character": "^2.0.0",
3775 + "micromark-util-html-tag-name": "^2.0.0",
3776 + "micromark-util-normalize-identifier": "^2.0.0",
3777 + "micromark-util-resolve-all": "^2.0.0",
3778 + "micromark-util-subtokenize": "^2.0.0",
3779 + "micromark-util-symbol": "^2.0.0",
3780 + "micromark-util-types": "^2.0.0"
3781 + }
3782 + },
3783 + "node_modules/micromark-extension-gfm": {
3784 + "version": "3.0.0",
3785 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz",
3786 + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==",
3787 + "license": "MIT",
3788 + "dependencies": {
3789 + "micromark-extension-gfm-autolink-literal": "^2.0.0",
3790 + "micromark-extension-gfm-footnote": "^2.0.0",
3791 + "micromark-extension-gfm-strikethrough": "^2.0.0",
3792 + "micromark-extension-gfm-table": "^2.0.0",
3793 + "micromark-extension-gfm-tagfilter": "^2.0.0",
3794 + "micromark-extension-gfm-task-list-item": "^2.0.0",
3795 + "micromark-util-combine-extensions": "^2.0.0",
3796 + "micromark-util-types": "^2.0.0"
3797 + },
3798 + "funding": {
3799 + "type": "opencollective",
3800 + "url": "https://opencollective.com/unified"
3801 + }
3802 + },
3803 + "node_modules/micromark-extension-gfm-autolink-literal": {
3804 + "version": "2.1.0",
3805 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
3806 + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
3807 + "license": "MIT",
3808 + "dependencies": {
3809 + "micromark-util-character": "^2.0.0",
3810 + "micromark-util-sanitize-uri": "^2.0.0",
3811 + "micromark-util-symbol": "^2.0.0",
3812 + "micromark-util-types": "^2.0.0"
3813 + },
3814 + "funding": {
3815 + "type": "opencollective",
3816 + "url": "https://opencollective.com/unified"
3817 + }
3818 + },
3819 + "node_modules/micromark-extension-gfm-footnote": {
3820 + "version": "2.1.0",
3821 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz",
3822 + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==",
3823 + "license": "MIT",
3824 + "dependencies": {
3825 + "devlop": "^1.0.0",
3826 + "micromark-core-commonmark": "^2.0.0",
3827 + "micromark-factory-space": "^2.0.0",
3828 + "micromark-util-character": "^2.0.0",
3829 + "micromark-util-normalize-identifier": "^2.0.0",
3830 + "micromark-util-sanitize-uri": "^2.0.0",
3831 + "micromark-util-symbol": "^2.0.0",
3832 + "micromark-util-types": "^2.0.0"
3833 + },
3834 + "funding": {
3835 + "type": "opencollective",
3836 + "url": "https://opencollective.com/unified"
3837 + }
3838 + },
3839 + "node_modules/micromark-extension-gfm-strikethrough": {
3840 + "version": "2.1.0",
3841 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz",
3842 + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==",
3843 + "license": "MIT",
3844 + "dependencies": {
3845 + "devlop": "^1.0.0",
3846 + "micromark-util-chunked": "^2.0.0",
3847 + "micromark-util-classify-character": "^2.0.0",
3848 + "micromark-util-resolve-all": "^2.0.0",
3849 + "micromark-util-symbol": "^2.0.0",
3850 + "micromark-util-types": "^2.0.0"
3851 + },
3852 + "funding": {
3853 + "type": "opencollective",
3854 + "url": "https://opencollective.com/unified"
3855 + }
3856 + },
3857 + "node_modules/micromark-extension-gfm-table": {
3858 + "version": "2.1.1",
3859 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz",
3860 + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==",
3861 + "license": "MIT",
3862 + "dependencies": {
3863 + "devlop": "^1.0.0",
3864 + "micromark-factory-space": "^2.0.0",
3865 + "micromark-util-character": "^2.0.0",
3866 + "micromark-util-symbol": "^2.0.0",
3867 + "micromark-util-types": "^2.0.0"
3868 + },
3869 + "funding": {
3870 + "type": "opencollective",
3871 + "url": "https://opencollective.com/unified"
3872 + }
3873 + },
3874 + "node_modules/micromark-extension-gfm-tagfilter": {
3875 + "version": "2.0.0",
3876 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz",
3877 + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==",
3878 + "license": "MIT",
3879 + "dependencies": {
3880 + "micromark-util-types": "^2.0.0"
3881 + },
3882 + "funding": {
3883 + "type": "opencollective",
3884 + "url": "https://opencollective.com/unified"
3885 + }
3886 + },
3887 + "node_modules/micromark-extension-gfm-task-list-item": {
3888 + "version": "2.1.0",
3889 + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz",
3890 + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==",
3891 + "license": "MIT",
3892 + "dependencies": {
3893 + "devlop": "^1.0.0",
3894 + "micromark-factory-space": "^2.0.0",
3895 + "micromark-util-character": "^2.0.0",
3896 + "micromark-util-symbol": "^2.0.0",
3897 + "micromark-util-types": "^2.0.0"
3898 + },
3899 + "funding": {
3900 + "type": "opencollective",
3901 + "url": "https://opencollective.com/unified"
3902 + }
3903 + },
3904 + "node_modules/micromark-factory-destination": {
3905 + "version": "2.0.1",
3906 + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
3907 + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==",
3908 + "funding": [
3909 + {
3910 + "type": "GitHub Sponsors",
3911 + "url": "https://github.com/sponsors/unifiedjs"
3912 + },
3913 + {
3914 + "type": "OpenCollective",
3915 + "url": "https://opencollective.com/unified"
3916 + }
3917 + ],
3918 + "license": "MIT",
3919 + "dependencies": {
3920 + "micromark-util-character": "^2.0.0",
3921 + "micromark-util-symbol": "^2.0.0",
3922 + "micromark-util-types": "^2.0.0"
3923 + }
3924 + },
3925 + "node_modules/micromark-factory-label": {
3926 + "version": "2.0.1",
3927 + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz",
3928 + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==",
3929 + "funding": [
3930 + {
3931 + "type": "GitHub Sponsors",
3932 + "url": "https://github.com/sponsors/unifiedjs"
3933 + },
3934 + {
3935 + "type": "OpenCollective",
3936 + "url": "https://opencollective.com/unified"
3937 + }
3938 + ],
3939 + "license": "MIT",
3940 + "dependencies": {
3941 + "devlop": "^1.0.0",
3942 + "micromark-util-character": "^2.0.0",
3943 + "micromark-util-symbol": "^2.0.0",
3944 + "micromark-util-types": "^2.0.0"
3945 + }
3946 + },
3947 + "node_modules/micromark-factory-space": {
3948 + "version": "2.0.1",
3949 + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz",
3950 + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==",
3951 + "funding": [
3952 + {
3953 + "type": "GitHub Sponsors",
3954 + "url": "https://github.com/sponsors/unifiedjs"
3955 + },
3956 + {
3957 + "type": "OpenCollective",
3958 + "url": "https://opencollective.com/unified"
3959 + }
3960 + ],
3961 + "license": "MIT",
3962 + "dependencies": {
3963 + "micromark-util-character": "^2.0.0",
3964 + "micromark-util-types": "^2.0.0"
3965 + }
3966 + },
3967 + "node_modules/micromark-factory-title": {
3968 + "version": "2.0.1",
3969 + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz",
3970 + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==",
3971 + "funding": [
3972 + {
3973 + "type": "GitHub Sponsors",
3974 + "url": "https://github.com/sponsors/unifiedjs"
3975 + },
3976 + {
3977 + "type": "OpenCollective",
3978 + "url": "https://opencollective.com/unified"
3979 + }
3980 + ],
3981 + "license": "MIT",
3982 + "dependencies": {
3983 + "micromark-factory-space": "^2.0.0",
3984 + "micromark-util-character": "^2.0.0",
3985 + "micromark-util-symbol": "^2.0.0",
3986 + "micromark-util-types": "^2.0.0"
3987 + }
3988 + },
3989 + "node_modules/micromark-factory-whitespace": {
3990 + "version": "2.0.1",
3991 + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz",
3992 + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==",
3993 + "funding": [
3994 + {
3995 + "type": "GitHub Sponsors",
3996 + "url": "https://github.com/sponsors/unifiedjs"
3997 + },
3998 + {
3999 + "type": "OpenCollective",
4000 + "url": "https://opencollective.com/unified"
4001 + }
4002 + ],
4003 + "license": "MIT",
4004 + "dependencies": {
4005 + "micromark-factory-space": "^2.0.0",
4006 + "micromark-util-character": "^2.0.0",
4007 + "micromark-util-symbol": "^2.0.0",
4008 + "micromark-util-types": "^2.0.0"
4009 + }
4010 + },
4011 + "node_modules/micromark-util-character": {
4012 + "version": "2.1.1",
4013 + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
4014 + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
4015 + "funding": [
4016 + {
4017 + "type": "GitHub Sponsors",
4018 + "url": "https://github.com/sponsors/unifiedjs"
4019 + },
4020 + {
4021 + "type": "OpenCollective",
4022 + "url": "https://opencollective.com/unified"
4023 + }
4024 + ],
4025 + "license": "MIT",
4026 + "dependencies": {
4027 + "micromark-util-symbol": "^2.0.0",
4028 + "micromark-util-types": "^2.0.0"
4029 + }
4030 + },
4031 + "node_modules/micromark-util-chunked": {
4032 + "version": "2.0.1",
4033 + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz",
4034 + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==",
4035 + "funding": [
4036 + {
4037 + "type": "GitHub Sponsors",
4038 + "url": "https://github.com/sponsors/unifiedjs"
4039 + },
4040 + {
4041 + "type": "OpenCollective",
4042 + "url": "https://opencollective.com/unified"
4043 + }
4044 + ],
4045 + "license": "MIT",
4046 + "dependencies": {
4047 + "micromark-util-symbol": "^2.0.0"
4048 + }
4049 + },
4050 + "node_modules/micromark-util-classify-character": {
4051 + "version": "2.0.1",
4052 + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz",
4053 + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==",
4054 + "funding": [
4055 + {
4056 + "type": "GitHub Sponsors",
4057 + "url": "https://github.com/sponsors/unifiedjs"
4058 + },
4059 + {
4060 + "type": "OpenCollective",
4061 + "url": "https://opencollective.com/unified"
4062 + }
4063 + ],
4064 + "license": "MIT",
4065 + "dependencies": {
4066 + "micromark-util-character": "^2.0.0",
4067 + "micromark-util-symbol": "^2.0.0",
4068 + "micromark-util-types": "^2.0.0"
4069 + }
4070 + },
4071 + "node_modules/micromark-util-combine-extensions": {
4072 + "version": "2.0.1",
4073 + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz",
4074 + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==",
4075 + "funding": [
4076 + {
4077 + "type": "GitHub Sponsors",
4078 + "url": "https://github.com/sponsors/unifiedjs"
4079 + },
4080 + {
4081 + "type": "OpenCollective",
4082 + "url": "https://opencollective.com/unified"
4083 + }
4084 + ],
4085 + "license": "MIT",
4086 + "dependencies": {
4087 + "micromark-util-chunked": "^2.0.0",
4088 + "micromark-util-types": "^2.0.0"
4089 + }
4090 + },
4091 + "node_modules/micromark-util-decode-numeric-character-reference": {
4092 + "version": "2.0.2",
4093 + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz",
4094 + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==",
4095 + "funding": [
4096 + {
4097 + "type": "GitHub Sponsors",
4098 + "url": "https://github.com/sponsors/unifiedjs"
4099 + },
4100 + {
4101 + "type": "OpenCollective",
4102 + "url": "https://opencollective.com/unified"
4103 + }
4104 + ],
4105 + "license": "MIT",
4106 + "dependencies": {
4107 + "micromark-util-symbol": "^2.0.0"
4108 + }
4109 + },
4110 + "node_modules/micromark-util-decode-string": {
4111 + "version": "2.0.1",
4112 + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz",
4113 + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==",
4114 + "funding": [
4115 + {
4116 + "type": "GitHub Sponsors",
4117 + "url": "https://github.com/sponsors/unifiedjs"
4118 + },
4119 + {
4120 + "type": "OpenCollective",
4121 + "url": "https://opencollective.com/unified"
4122 + }
4123 + ],
4124 + "license": "MIT",
4125 + "dependencies": {
4126 + "decode-named-character-reference": "^1.0.0",
4127 + "micromark-util-character": "^2.0.0",
4128 + "micromark-util-decode-numeric-character-reference": "^2.0.0",
4129 + "micromark-util-symbol": "^2.0.0"
4130 + }
4131 + },
4132 + "node_modules/micromark-util-encode": {
4133 + "version": "2.0.1",
4134 + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
4135 + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
4136 + "funding": [
4137 + {
4138 + "type": "GitHub Sponsors",
4139 + "url": "https://github.com/sponsors/unifiedjs"
4140 + },
4141 + {
4142 + "type": "OpenCollective",
4143 + "url": "https://opencollective.com/unified"
4144 + }
4145 + ],
4146 + "license": "MIT"
4147 + },
4148 + "node_modules/micromark-util-html-tag-name": {
4149 + "version": "2.0.1",
4150 + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz",
4151 + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==",
4152 + "funding": [
4153 + {
4154 + "type": "GitHub Sponsors",
4155 + "url": "https://github.com/sponsors/unifiedjs"
4156 + },
4157 + {
4158 + "type": "OpenCollective",
4159 + "url": "https://opencollective.com/unified"
4160 + }
4161 + ],
4162 + "license": "MIT"
4163 + },
4164 + "node_modules/micromark-util-normalize-identifier": {
4165 + "version": "2.0.1",
4166 + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz",
4167 + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==",
4168 + "funding": [
4169 + {
4170 + "type": "GitHub Sponsors",
4171 + "url": "https://github.com/sponsors/unifiedjs"
4172 + },
4173 + {
4174 + "type": "OpenCollective",
4175 + "url": "https://opencollective.com/unified"
4176 + }
4177 + ],
4178 + "license": "MIT",
4179 + "dependencies": {
4180 + "micromark-util-symbol": "^2.0.0"
4181 + }
4182 + },
4183 + "node_modules/micromark-util-resolve-all": {
4184 + "version": "2.0.1",
4185 + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz",
4186 + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==",
4187 + "funding": [
4188 + {
4189 + "type": "GitHub Sponsors",
4190 + "url": "https://github.com/sponsors/unifiedjs"
4191 + },
4192 + {
4193 + "type": "OpenCollective",
4194 + "url": "https://opencollective.com/unified"
4195 + }
4196 + ],
4197 + "license": "MIT",
4198 + "dependencies": {
4199 + "micromark-util-types": "^2.0.0"
4200 + }
4201 + },
4202 + "node_modules/micromark-util-sanitize-uri": {
4203 + "version": "2.0.1",
4204 + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
4205 + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
4206 + "funding": [
4207 + {
4208 + "type": "GitHub Sponsors",
4209 + "url": "https://github.com/sponsors/unifiedjs"
4210 + },
4211 + {
4212 + "type": "OpenCollective",
4213 + "url": "https://opencollective.com/unified"
4214 + }
4215 + ],
4216 + "license": "MIT",
4217 + "dependencies": {
4218 + "micromark-util-character": "^2.0.0",
4219 + "micromark-util-encode": "^2.0.0",
4220 + "micromark-util-symbol": "^2.0.0"
4221 + }
4222 + },
4223 + "node_modules/micromark-util-subtokenize": {
4224 + "version": "2.1.0",
4225 + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz",
4226 + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==",
4227 + "funding": [
4228 + {
4229 + "type": "GitHub Sponsors",
4230 + "url": "https://github.com/sponsors/unifiedjs"
4231 + },
4232 + {
4233 + "type": "OpenCollective",
4234 + "url": "https://opencollective.com/unified"
4235 + }
4236 + ],
4237 + "license": "MIT",
4238 + "dependencies": {
4239 + "devlop": "^1.0.0",
4240 + "micromark-util-chunked": "^2.0.0",
4241 + "micromark-util-symbol": "^2.0.0",
4242 + "micromark-util-types": "^2.0.0"
4243 + }
4244 + },
4245 + "node_modules/micromark-util-symbol": {
4246 + "version": "2.0.1",
4247 + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
4248 + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
4249 + "funding": [
4250 + {
4251 + "type": "GitHub Sponsors",
4252 + "url": "https://github.com/sponsors/unifiedjs"
4253 + },
4254 + {
4255 + "type": "OpenCollective",
4256 + "url": "https://opencollective.com/unified"
4257 + }
4258 + ],
4259 + "license": "MIT"
4260 + },
4261 + "node_modules/micromark-util-types": {
4262 + "version": "2.0.2",
4263 + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
4264 + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
4265 + "funding": [
4266 + {
4267 + "type": "GitHub Sponsors",
4268 + "url": "https://github.com/sponsors/unifiedjs"
4269 + },
4270 + {
4271 + "type": "OpenCollective",
4272 + "url": "https://opencollective.com/unified"
4273 + }
4274 + ],
4275 + "license": "MIT"
4276 + },
4277 + "node_modules/mime": {
4278 + "version": "1.6.0",
4279 + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
4280 + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
4281 + "license": "MIT",
4282 + "bin": {
4283 + "mime": "cli.js"
4284 + },
4285 + "engines": {
4286 + "node": ">=4"
4287 + }
4288 + },
4289 + "node_modules/mime-db": {
4290 + "version": "1.54.0",
4291 + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
4292 + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
4293 + "license": "MIT",
4294 + "engines": {
4295 + "node": ">= 0.6"
4296 + }
4297 + },
4298 + "node_modules/mime-types": {
4299 + "version": "2.1.35",
4300 + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
4301 + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
4302 + "license": "MIT",
4303 + "dependencies": {
4304 + "mime-db": "1.52.0"
4305 + },
4306 + "engines": {
4307 + "node": ">= 0.6"
4308 + }
4309 + },
4310 + "node_modules/mime-types/node_modules/mime-db": {
4311 + "version": "1.52.0",
4312 + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
4313 + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
4314 + "license": "MIT",
4315 + "engines": {
4316 + "node": ">= 0.6"
4317 + }
4318 + },
4319 + "node_modules/mrmime": {
4320 + "version": "2.0.1",
4321 + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
4322 + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
4323 + "license": "MIT",
4324 + "engines": {
4325 + "node": ">=10"
4326 + }
4327 + },
4328 + "node_modules/ms": {
4329 + "version": "2.1.3",
4330 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
4331 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
4332 + "license": "MIT"
4333 + },
4334 + "node_modules/nanoid": {
4335 + "version": "3.3.18",
4336 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz",
4337 + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==",
4338 + "funding": [
4339 + {
4340 + "type": "github",
4341 + "url": "https://github.com/sponsors/ai"
4342 + }
4343 + ],
4344 + "license": "MIT",
4345 + "bin": {
4346 + "nanoid": "bin/nanoid.cjs"
4347 + },
4348 + "engines": {
4349 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
4350 + }
4351 + },
4352 + "node_modules/negotiator": {
4353 + "version": "0.6.4",
4354 + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
4355 + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
4356 + "license": "MIT",
4357 + "engines": {
4358 + "node": ">= 0.6"
4359 + }
4360 + },
4361 + "node_modules/neotraverse": {
4362 + "version": "0.6.18",
4363 + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz",
4364 + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==",
4365 + "license": "MIT",
4366 + "engines": {
4367 + "node": ">= 10"
4368 + }
4369 + },
4370 + "node_modules/nlcst-to-string": {
4371 + "version": "4.0.0",
4372 + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz",
4373 + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==",
4374 + "license": "MIT",
4375 + "dependencies": {
4376 + "@types/nlcst": "^2.0.0"
4377 + },
4378 + "funding": {
4379 + "type": "opencollective",
4380 + "url": "https://opencollective.com/unified"
4381 + }
4382 + },
4383 + "node_modules/node-fetch-native": {
4384 + "version": "1.6.7",
4385 + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz",
4386 + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==",
4387 + "license": "MIT"
4388 + },
4389 + "node_modules/node-mock-http": {
4390 + "version": "1.0.5",
4391 + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.5.tgz",
4392 + "integrity": "sha512-KQyt/wLjG3TAc7DOUhpqWzgd4ERxR80JOlTK5VE5R1S12IaPVN5qkj4klBce9HPG1Njuup4Sb5bljaT34lIyjw==",
4393 + "license": "MIT"
4394 + },
4395 + "node_modules/normalize-path": {
4396 + "version": "3.0.0",
4397 + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
4398 + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
4399 + "license": "MIT",
4400 + "engines": {
4401 + "node": ">=0.10.0"
4402 + }
4403 + },
4404 + "node_modules/nth-check": {
4405 + "version": "2.1.1",
4406 + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
4407 + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
4408 + "license": "BSD-2-Clause",
4409 + "dependencies": {
4410 + "boolbase": "^1.0.0"
4411 + },
4412 + "funding": {
4413 + "url": "https://github.com/fb55/nth-check?sponsor=1"
4414 + }
4415 + },
4416 + "node_modules/object-inspect": {
4417 + "version": "1.13.4",
4418 + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
4419 + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
4420 + "license": "MIT",
4421 + "engines": {
4422 + "node": ">= 0.4"
4423 + },
4424 + "funding": {
4425 + "url": "https://github.com/sponsors/ljharb"
4426 + }
4427 + },
4428 + "node_modules/ofetch": {
4429 + "version": "1.5.1",
4430 + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz",
4431 + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==",
4432 + "license": "MIT",
4433 + "dependencies": {
4434 + "destr": "^2.0.5",
4435 + "node-fetch-native": "^1.6.7",
4436 + "ufo": "^1.6.1"
4437 + }
4438 + },
4439 + "node_modules/ohash": {
4440 + "version": "2.0.11",
4441 + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz",
4442 + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==",
4443 + "license": "MIT"
4444 + },
4445 + "node_modules/on-finished": {
4446 + "version": "2.4.1",
4447 + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
4448 + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
4449 + "license": "MIT",
4450 + "dependencies": {
4451 + "ee-first": "1.1.1"
4452 + },
4453 + "engines": {
4454 + "node": ">= 0.8"
4455 + }
4456 + },
4457 + "node_modules/on-headers": {
4458 + "version": "1.1.0",
4459 + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz",
4460 + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
4461 + "license": "MIT",
4462 + "engines": {
4463 + "node": ">= 0.8"
4464 + }
4465 + },
4466 + "node_modules/oniguruma-parser": {
4467 + "version": "0.12.2",
4468 + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz",
4469 + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==",
4470 + "license": "MIT"
4471 + },
4472 + "node_modules/oniguruma-to-es": {
4473 + "version": "4.3.6",
4474 + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz",
4475 + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==",
4476 + "license": "MIT",
4477 + "dependencies": {
4478 + "oniguruma-parser": "^0.12.2",
4479 + "regex": "^6.1.0",
4480 + "regex-recursion": "^6.0.2"
4481 + }
4482 + },
4483 + "node_modules/p-limit": {
4484 + "version": "6.2.0",
4485 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz",
4486 + "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==",
4487 + "license": "MIT",
4488 + "dependencies": {
4489 + "yocto-queue": "^1.1.1"
4490 + },
4491 + "engines": {
4492 + "node": ">=18"
4493 + },
4494 + "funding": {
4495 + "url": "https://github.com/sponsors/sindresorhus"
4496 + }
4497 + },
4498 + "node_modules/p-queue": {
4499 + "version": "8.1.1",
4500 + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz",
4501 + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==",
4502 + "license": "MIT",
4503 + "dependencies": {
4504 + "eventemitter3": "^5.0.1",
4505 + "p-timeout": "^6.1.2"
4506 + },
4507 + "engines": {
4508 + "node": ">=18"
4509 + },
4510 + "funding": {
4511 + "url": "https://github.com/sponsors/sindresorhus"
4512 + }
4513 + },
4514 + "node_modules/p-timeout": {
4515 + "version": "6.1.4",
4516 + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz",
4517 + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==",
4518 + "license": "MIT",
4519 + "engines": {
4520 + "node": ">=14.16"
4521 + },
4522 + "funding": {
4523 + "url": "https://github.com/sponsors/sindresorhus"
4524 + }
4525 + },
4526 + "node_modules/package-manager-detector": {
4527 + "version": "1.8.0",
4528 + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.8.0.tgz",
4529 + "integrity": "sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==",
4530 + "license": "MIT"
4531 + },
4532 + "node_modules/parse-latin": {
4533 + "version": "7.0.0",
4534 + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz",
4535 + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==",
4536 + "license": "MIT",
4537 + "dependencies": {
4538 + "@types/nlcst": "^2.0.0",
4539 + "@types/unist": "^3.0.0",
4540 + "nlcst-to-string": "^4.0.0",
4541 + "unist-util-modify-children": "^4.0.0",
4542 + "unist-util-visit-children": "^3.0.0",
4543 + "vfile": "^6.0.0"
4544 + },
4545 + "funding": {
4546 + "type": "github",
4547 + "url": "https://github.com/sponsors/wooorm"
4548 + }
4549 + },
4550 + "node_modules/parse5": {
4551 + "version": "7.3.0",
4552 + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
4553 + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
4554 + "license": "MIT",
4555 + "dependencies": {
4556 + "entities": "^6.0.0"
4557 + },
4558 + "funding": {
4559 + "url": "https://github.com/inikulin/parse5?sponsor=1"
4560 + }
4561 + },
4562 + "node_modules/parseurl": {
4563 + "version": "1.3.3",
4564 + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
4565 + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
4566 + "license": "MIT",
4567 + "engines": {
4568 + "node": ">= 0.8"
4569 + }
4570 + },
4571 + "node_modules/path-to-regexp": {
4572 + "version": "0.1.13",
4573 + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz",
4574 + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==",
4575 + "license": "MIT"
4576 + },
4577 + "node_modules/piccolore": {
4578 + "version": "0.1.3",
4579 + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz",
4580 + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==",
4581 + "license": "ISC"
4582 + },
4583 + "node_modules/picocolors": {
4584 + "version": "1.1.1",
4585 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
4586 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
4587 + "license": "ISC"
4588 + },
4589 + "node_modules/picomatch": {
4590 + "version": "4.0.5",
4591 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
4592 + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
4593 + "license": "MIT",
4594 + "engines": {
4595 + "node": ">=12"
4596 + },
4597 + "funding": {
4598 + "url": "https://github.com/sponsors/jonschlinkert"
4599 + }
4600 + },
4601 + "node_modules/postcss": {
4602 + "version": "8.5.26",
4603 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz",
4604 + "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==",
4605 + "funding": [
4606 + {
4607 + "type": "opencollective",
4608 + "url": "https://opencollective.com/postcss/"
4609 + },
4610 + {
4611 + "type": "tidelift",
4612 + "url": "https://tidelift.com/funding/github/npm/postcss"
4613 + },
4614 + {
4615 + "type": "github",
4616 + "url": "https://github.com/sponsors/ai"
4617 + }
4618 + ],
4619 + "license": "MIT",
4620 + "dependencies": {
4621 + "nanoid": "^3.3.17",
4622 + "picocolors": "^1.1.1",
4623 + "source-map-js": "^1.2.1"
4624 + },
4625 + "engines": {
4626 + "node": "^10 || ^12 || >=14"
4627 + }
4628 + },
4629 + "node_modules/prismjs": {
4630 + "version": "1.30.0",
4631 + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz",
4632 + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==",
4633 + "license": "MIT",
4634 + "engines": {
4635 + "node": ">=6"
4636 + }
4637 + },
4638 + "node_modules/prompts": {
4639 + "version": "2.4.2",
4640 + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
4641 + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
4642 + "license": "MIT",
4643 + "dependencies": {
4644 + "kleur": "^3.0.3",
4645 + "sisteransi": "^1.0.5"
4646 + },
4647 + "engines": {
4648 + "node": ">= 6"
4649 + }
4650 + },
4651 + "node_modules/property-information": {
4652 + "version": "7.2.0",
4653 + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz",
4654 + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==",
4655 + "license": "MIT",
4656 + "funding": {
4657 + "type": "github",
4658 + "url": "https://github.com/sponsors/wooorm"
4659 + }
4660 + },
4661 + "node_modules/proxy-addr": {
4662 + "version": "2.0.7",
4663 + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
4664 + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
4665 + "license": "MIT",
4666 + "dependencies": {
4667 + "forwarded": "0.2.0",
4668 + "ipaddr.js": "1.9.1"
4669 + },
4670 + "engines": {
4671 + "node": ">= 0.10"
4672 + }
4673 + },
4674 + "node_modules/qs": {
4675 + "version": "6.15.3",
4676 + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz",
4677 + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==",
4678 + "license": "BSD-3-Clause",
4679 + "dependencies": {
4680 + "es-define-property": "^1.0.1",
4681 + "side-channel": "^1.1.1"
4682 + },
4683 + "engines": {
4684 + "node": ">=0.6"
4685 + },
4686 + "funding": {
4687 + "url": "https://github.com/sponsors/ljharb"
4688 + }
4689 + },
4690 + "node_modules/radix3": {
4691 + "version": "1.1.2",
4692 + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz",
4693 + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==",
4694 + "license": "MIT"
4695 + },
4696 + "node_modules/range-parser": {
4697 + "version": "1.2.1",
4698 + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
4699 + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
4700 + "license": "MIT",
4701 + "engines": {
4702 + "node": ">= 0.6"
4703 + }
4704 + },
4705 + "node_modules/raw-body": {
4706 + "version": "2.5.3",
4707 + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz",
4708 + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
4709 + "license": "MIT",
4710 + "dependencies": {
4711 + "bytes": "~3.1.2",
4712 + "http-errors": "~2.0.1",
4713 + "iconv-lite": "~0.4.24",
4714 + "unpipe": "~1.0.0"
4715 + },
4716 + "engines": {
4717 + "node": ">= 0.8"
4718 + }
4719 + },
4720 + "node_modules/readdirp": {
4721 + "version": "5.1.1",
4722 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz",
4723 + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==",
4724 + "license": "MIT",
4725 + "engines": {
4726 + "node": ">= 20.19.0"
4727 + },
4728 + "funding": {
4729 + "type": "individual",
4730 + "url": "https://paulmillr.com/funding/"
4731 + }
4732 + },
4733 + "node_modules/regex": {
4734 + "version": "6.1.0",
4735 + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz",
4736 + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==",
4737 + "license": "MIT",
4738 + "dependencies": {
4739 + "regex-utilities": "^2.3.0"
4740 + }
4741 + },
4742 + "node_modules/regex-recursion": {
4743 + "version": "6.0.2",
4744 + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz",
4745 + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==",
4746 + "license": "MIT",
4747 + "dependencies": {
4748 + "regex-utilities": "^2.3.0"
4749 + }
4750 + },
4751 + "node_modules/regex-utilities": {
4752 + "version": "2.3.0",
4753 + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz",
4754 + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==",
4755 + "license": "MIT"
4756 + },
4757 + "node_modules/rehype": {
4758 + "version": "13.0.2",
4759 + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz",
4760 + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==",
4761 + "license": "MIT",
4762 + "dependencies": {
4763 + "@types/hast": "^3.0.0",
4764 + "rehype-parse": "^9.0.0",
4765 + "rehype-stringify": "^10.0.0",
4766 + "unified": "^11.0.0"
4767 + },
4768 + "funding": {
4769 + "type": "opencollective",
4770 + "url": "https://opencollective.com/unified"
4771 + }
4772 + },
4773 + "node_modules/rehype-parse": {
4774 + "version": "9.0.1",
4775 + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz",
4776 + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==",
4777 + "license": "MIT",
4778 + "dependencies": {
4779 + "@types/hast": "^3.0.0",
4780 + "hast-util-from-html": "^2.0.0",
4781 + "unified": "^11.0.0"
4782 + },
4783 + "funding": {
4784 + "type": "opencollective",
4785 + "url": "https://opencollective.com/unified"
4786 + }
4787 + },
4788 + "node_modules/rehype-raw": {
4789 + "version": "7.0.0",
4790 + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz",
4791 + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==",
4792 + "license": "MIT",
4793 + "dependencies": {
4794 + "@types/hast": "^3.0.0",
4795 + "hast-util-raw": "^9.0.0",
4796 + "vfile": "^6.0.0"
4797 + },
4798 + "funding": {
4799 + "type": "opencollective",
4800 + "url": "https://opencollective.com/unified"
4801 + }
4802 + },
4803 + "node_modules/rehype-stringify": {
4804 + "version": "10.0.1",
4805 + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz",
4806 + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==",
4807 + "license": "MIT",
4808 + "dependencies": {
4809 + "@types/hast": "^3.0.0",
4810 + "hast-util-to-html": "^9.0.0",
4811 + "unified": "^11.0.0"
4812 + },
4813 + "funding": {
4814 + "type": "opencollective",
4815 + "url": "https://opencollective.com/unified"
4816 + }
4817 + },
4818 + "node_modules/remark-gfm": {
4819 + "version": "4.0.1",
4820 + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz",
4821 + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==",
4822 + "license": "MIT",
4823 + "dependencies": {
4824 + "@types/mdast": "^4.0.0",
4825 + "mdast-util-gfm": "^3.0.0",
4826 + "micromark-extension-gfm": "^3.0.0",
4827 + "remark-parse": "^11.0.0",
4828 + "remark-stringify": "^11.0.0",
4829 + "unified": "^11.0.0"
4830 + },
4831 + "funding": {
4832 + "type": "opencollective",
4833 + "url": "https://opencollective.com/unified"
4834 + }
4835 + },
4836 + "node_modules/remark-parse": {
4837 + "version": "11.0.0",
4838 + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
4839 + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
4840 + "license": "MIT",
4841 + "dependencies": {
4842 + "@types/mdast": "^4.0.0",
4843 + "mdast-util-from-markdown": "^2.0.0",
4844 + "micromark-util-types": "^2.0.0",
4845 + "unified": "^11.0.0"
4846 + },
4847 + "funding": {
4848 + "type": "opencollective",
4849 + "url": "https://opencollective.com/unified"
4850 + }
4851 + },
4852 + "node_modules/remark-rehype": {
4853 + "version": "11.1.2",
4854 + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
4855 + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
4856 + "license": "MIT",
4857 + "dependencies": {
4858 + "@types/hast": "^3.0.0",
4859 + "@types/mdast": "^4.0.0",
4860 + "mdast-util-to-hast": "^13.0.0",
4861 + "unified": "^11.0.0",
4862 + "vfile": "^6.0.0"
4863 + },
4864 + "funding": {
4865 + "type": "opencollective",
4866 + "url": "https://opencollective.com/unified"
4867 + }
4868 + },
4869 + "node_modules/remark-smartypants": {
4870 + "version": "3.0.3",
4871 + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.3.tgz",
4872 + "integrity": "sha512-gCaK+ndZ0hYezlqFegHFCVh2CQemsi0Npdh1qVM9bxlUFknjkbP6VmojWhddOCrbK0PbbacmYLWfTULRiT1eWA==",
4873 + "license": "MIT",
4874 + "dependencies": {
4875 + "retext": "^9.0.0",
4876 + "retext-smartypants": "^6.0.0",
4877 + "unified": "^11.0.4",
4878 + "unist-util-visit": "^5.0.0"
4879 + },
4880 + "engines": {
4881 + "node": ">=16.0.0"
4882 + }
4883 + },
4884 + "node_modules/remark-stringify": {
4885 + "version": "11.0.0",
4886 + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
4887 + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
4888 + "license": "MIT",
4889 + "dependencies": {
4890 + "@types/mdast": "^4.0.0",
4891 + "mdast-util-to-markdown": "^2.0.0",
4892 + "unified": "^11.0.0"
4893 + },
4894 + "funding": {
4895 + "type": "opencollective",
4896 + "url": "https://opencollective.com/unified"
4897 + }
4898 + },
4899 + "node_modules/retext": {
4900 + "version": "9.0.0",
4901 + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz",
4902 + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==",
4903 + "license": "MIT",
4904 + "dependencies": {
4905 + "@types/nlcst": "^2.0.0",
4906 + "retext-latin": "^4.0.0",
4907 + "retext-stringify": "^4.0.0",
4908 + "unified": "^11.0.0"
4909 + },
4910 + "funding": {
4911 + "type": "opencollective",
4912 + "url": "https://opencollective.com/unified"
4913 + }
4914 + },
4915 + "node_modules/retext-latin": {
4916 + "version": "4.0.0",
4917 + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz",
4918 + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==",
4919 + "license": "MIT",
4920 + "dependencies": {
4921 + "@types/nlcst": "^2.0.0",
4922 + "parse-latin": "^7.0.0",
4923 + "unified": "^11.0.0"
4924 + },
4925 + "funding": {
4926 + "type": "opencollective",
4927 + "url": "https://opencollective.com/unified"
4928 + }
4929 + },
4930 + "node_modules/retext-smartypants": {
4931 + "version": "6.2.0",
4932 + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz",
4933 + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==",
4934 + "license": "MIT",
4935 + "dependencies": {
4936 + "@types/nlcst": "^2.0.0",
4937 + "nlcst-to-string": "^4.0.0",
4938 + "unist-util-visit": "^5.0.0"
4939 + },
4940 + "funding": {
4941 + "type": "opencollective",
4942 + "url": "https://opencollective.com/unified"
4943 + }
4944 + },
4945 + "node_modules/retext-stringify": {
4946 + "version": "4.0.0",
4947 + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz",
4948 + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==",
4949 + "license": "MIT",
4950 + "dependencies": {
4951 + "@types/nlcst": "^2.0.0",
4952 + "nlcst-to-string": "^4.0.0",
4953 + "unified": "^11.0.0"
4954 + },
4955 + "funding": {
4956 + "type": "opencollective",
4957 + "url": "https://opencollective.com/unified"
4958 + }
4959 + },
4960 + "node_modules/rollup": {
4961 + "version": "4.62.4",
4962 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.4.tgz",
4963 + "integrity": "sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==",
4964 + "license": "MIT",
4965 + "dependencies": {
4966 + "@types/estree": "1.0.9"
4967 + },
4968 + "bin": {
4969 + "rollup": "dist/bin/rollup"
4970 + },
4971 + "engines": {
4972 + "node": ">=18.0.0",
4973 + "npm": ">=8.0.0"
4974 + },
4975 + "optionalDependencies": {
4976 + "@napi-rs/lzma-linux-x64-gnu": "1.5.1",
4977 + "@rollup/rollup-android-arm-eabi": "4.62.4",
4978 + "@rollup/rollup-android-arm64": "4.62.4",
4979 + "@rollup/rollup-darwin-arm64": "4.62.4",
4980 + "@rollup/rollup-darwin-x64": "4.62.4",
4981 + "@rollup/rollup-freebsd-arm64": "4.62.4",
4982 + "@rollup/rollup-freebsd-x64": "4.62.4",
4983 + "@rollup/rollup-linux-arm-gnueabihf": "4.62.4",
4984 + "@rollup/rollup-linux-arm-musleabihf": "4.62.4",
4985 + "@rollup/rollup-linux-arm64-gnu": "4.62.4",
4986 + "@rollup/rollup-linux-arm64-musl": "4.62.4",
4987 + "@rollup/rollup-linux-loong64-gnu": "4.62.4",
4988 + "@rollup/rollup-linux-loong64-musl": "4.62.4",
4989 + "@rollup/rollup-linux-ppc64-gnu": "4.62.4",
4990 + "@rollup/rollup-linux-ppc64-musl": "4.62.4",
4991 + "@rollup/rollup-linux-riscv64-gnu": "4.62.4",
4992 + "@rollup/rollup-linux-riscv64-musl": "4.62.4",
4993 + "@rollup/rollup-linux-s390x-gnu": "4.62.4",
4994 + "@rollup/rollup-linux-x64-gnu": "4.62.4",
4995 + "@rollup/rollup-linux-x64-musl": "4.62.4",
4996 + "@rollup/rollup-openbsd-x64": "4.62.4",
4997 + "@rollup/rollup-openharmony-arm64": "4.62.4",
4998 + "@rollup/rollup-win32-arm64-msvc": "4.62.4",
4999 + "@rollup/rollup-win32-ia32-msvc": "4.62.4",
5000 + "@rollup/rollup-win32-x64-gnu": "4.62.4",
5001 + "@rollup/rollup-win32-x64-msvc": "4.62.4",
5002 + "fsevents": "~2.3.2"
5003 + }
5004 + },
5005 + "node_modules/safe-buffer": {
5006 + "version": "5.2.1",
5007 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
5008 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
5009 + "funding": [
5010 + {
5011 + "type": "github",
5012 + "url": "https://github.com/sponsors/feross"
5013 + },
5014 + {
5015 + "type": "patreon",
5016 + "url": "https://www.patreon.com/feross"
5017 + },
5018 + {
5019 + "type": "consulting",
5020 + "url": "https://feross.org/support"
5021 + }
5022 + ],
5023 + "license": "MIT"
5024 + },
5025 + "node_modules/safer-buffer": {
5026 + "version": "2.1.2",
5027 + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
5028 + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
5029 + "license": "MIT"
5030 + },
5031 + "node_modules/sax": {
5032 + "version": "1.6.1",
5033 + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz",
5034 + "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==",
5035 + "license": "BlueOak-1.0.0",
5036 + "engines": {
5037 + "node": ">=11.0.0"
5038 + }
5039 + },
5040 + "node_modules/semver": {
5041 + "version": "7.8.5",
5042 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz",
5043 + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==",
5044 + "license": "ISC",
5045 + "bin": {
5046 + "semver": "bin/semver.js"
5047 + },
5048 + "engines": {
5049 + "node": ">=10"
5050 + }
5051 + },
5052 + "node_modules/send": {
5053 + "version": "0.19.2",
5054 + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz",
5055 + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==",
5056 + "license": "MIT",
5057 + "dependencies": {
5058 + "debug": "2.6.9",
5059 + "depd": "2.0.0",
5060 + "destroy": "1.2.0",
5061 + "encodeurl": "~2.0.0",
5062 + "escape-html": "~1.0.3",
5063 + "etag": "~1.8.1",
5064 + "fresh": "~0.5.2",
5065 + "http-errors": "~2.0.1",
5066 + "mime": "1.6.0",
5067 + "ms": "2.1.3",
5068 + "on-finished": "~2.4.1",
5069 + "range-parser": "~1.2.1",
5070 + "statuses": "~2.0.2"
5071 + },
5072 + "engines": {
5073 + "node": ">= 0.8.0"
5074 + }
5075 + },
5076 + "node_modules/send/node_modules/debug": {
5077 + "version": "2.6.9",
5078 + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
5079 + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
5080 + "license": "MIT",
5081 + "dependencies": {
5082 + "ms": "2.0.0"
5083 + }
5084 + },
5085 + "node_modules/send/node_modules/debug/node_modules/ms": {
5086 + "version": "2.0.0",
5087 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
5088 + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
5089 + "license": "MIT"
5090 + },
5091 + "node_modules/serve-static": {
5092 + "version": "1.16.3",
5093 + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz",
5094 + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==",
5095 + "license": "MIT",
5096 + "dependencies": {
5097 + "encodeurl": "~2.0.0",
5098 + "escape-html": "~1.0.3",
5099 + "parseurl": "~1.3.3",
5100 + "send": "~0.19.1"
5101 + },
5102 + "engines": {
5103 + "node": ">= 0.8.0"
5104 + }
5105 + },
5106 + "node_modules/setprototypeof": {
5107 + "version": "1.2.0",
5108 + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
5109 + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
5110 + "license": "ISC"
5111 + },
5112 + "node_modules/sharp": {
5113 + "version": "0.34.5",
5114 + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz",
5115 + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==",
5116 + "hasInstallScript": true,
5117 + "license": "Apache-2.0",
5118 + "optional": true,
5119 + "dependencies": {
5120 + "@img/colour": "^1.0.0",
5121 + "detect-libc": "^2.1.2",
5122 + "semver": "^7.7.3"
5123 + },
5124 + "engines": {
5125 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
5126 + },
5127 + "funding": {
5128 + "url": "https://opencollective.com/libvips"
5129 + },
5130 + "optionalDependencies": {
5131 + "@img/sharp-darwin-arm64": "0.34.5",
5132 + "@img/sharp-darwin-x64": "0.34.5",
5133 + "@img/sharp-libvips-darwin-arm64": "1.2.4",
5134 + "@img/sharp-libvips-darwin-x64": "1.2.4",
5135 + "@img/sharp-libvips-linux-arm": "1.2.4",
5136 + "@img/sharp-libvips-linux-arm64": "1.2.4",
5137 + "@img/sharp-libvips-linux-ppc64": "1.2.4",
5138 + "@img/sharp-libvips-linux-riscv64": "1.2.4",
5139 + "@img/sharp-libvips-linux-s390x": "1.2.4",
5140 + "@img/sharp-libvips-linux-x64": "1.2.4",
5141 + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4",
5142 + "@img/sharp-libvips-linuxmusl-x64": "1.2.4",
5143 + "@img/sharp-linux-arm": "0.34.5",
5144 + "@img/sharp-linux-arm64": "0.34.5",
5145 + "@img/sharp-linux-ppc64": "0.34.5",
5146 + "@img/sharp-linux-riscv64": "0.34.5",
5147 + "@img/sharp-linux-s390x": "0.34.5",
5148 + "@img/sharp-linux-x64": "0.34.5",
5149 + "@img/sharp-linuxmusl-arm64": "0.34.5",
5150 + "@img/sharp-linuxmusl-x64": "0.34.5",
5151 + "@img/sharp-wasm32": "0.34.5",
5152 + "@img/sharp-win32-arm64": "0.34.5",
5153 + "@img/sharp-win32-ia32": "0.34.5",
5154 + "@img/sharp-win32-x64": "0.34.5"
5155 + }
5156 + },
5157 + "node_modules/shiki": {
5158 + "version": "3.23.0",
5159 + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz",
5160 + "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==",
5161 + "license": "MIT",
5162 + "dependencies": {
5163 + "@shikijs/core": "3.23.0",
5164 + "@shikijs/engine-javascript": "3.23.0",
5165 + "@shikijs/engine-oniguruma": "3.23.0",
5166 + "@shikijs/langs": "3.23.0",
5167 + "@shikijs/themes": "3.23.0",
5168 + "@shikijs/types": "3.23.0",
5169 + "@shikijs/vscode-textmate": "^10.0.2",
5170 + "@types/hast": "^3.0.4"
5171 + }
5172 + },
5173 + "node_modules/side-channel": {
5174 + "version": "1.1.1",
5175 + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz",
5176 + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==",
5177 + "license": "MIT",
5178 + "dependencies": {
5179 + "es-errors": "^1.3.0",
5180 + "object-inspect": "^1.13.4",
5181 + "side-channel-list": "^1.0.1",
5182 + "side-channel-map": "^1.0.1",
5183 + "side-channel-weakmap": "^1.0.2"
5184 + },
5185 + "engines": {
5186 + "node": ">= 0.4"
5187 + },
5188 + "funding": {
5189 + "url": "https://github.com/sponsors/ljharb"
5190 + }
5191 + },
5192 + "node_modules/side-channel-list": {
5193 + "version": "1.0.1",
5194 + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz",
5195 + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==",
5196 + "license": "MIT",
5197 + "dependencies": {
5198 + "es-errors": "^1.3.0",
5199 + "object-inspect": "^1.13.4"
5200 + },
5201 + "engines": {
5202 + "node": ">= 0.4"
5203 + },
5204 + "funding": {
5205 + "url": "https://github.com/sponsors/ljharb"
5206 + }
5207 + },
5208 + "node_modules/side-channel-map": {
5209 + "version": "1.0.1",
5210 + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
5211 + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
5212 + "license": "MIT",
5213 + "dependencies": {
5214 + "call-bound": "^1.0.2",
5215 + "es-errors": "^1.3.0",
5216 + "get-intrinsic": "^1.2.5",
5217 + "object-inspect": "^1.13.3"
5218 + },
5219 + "engines": {
5220 + "node": ">= 0.4"
5221 + },
5222 + "funding": {
5223 + "url": "https://github.com/sponsors/ljharb"
5224 + }
5225 + },
5226 + "node_modules/side-channel-weakmap": {
5227 + "version": "1.0.2",
5228 + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
5229 + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
5230 + "license": "MIT",
5231 + "dependencies": {
5232 + "call-bound": "^1.0.2",
5233 + "es-errors": "^1.3.0",
5234 + "get-intrinsic": "^1.2.5",
5235 + "object-inspect": "^1.13.3",
5236 + "side-channel-map": "^1.0.1"
5237 + },
5238 + "engines": {
5239 + "node": ">= 0.4"
5240 + },
5241 + "funding": {
5242 + "url": "https://github.com/sponsors/ljharb"
5243 + }
5244 + },
5245 + "node_modules/sisteransi": {
5246 + "version": "1.0.5",
5247 + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
5248 + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
5249 + "license": "MIT"
5250 + },
5251 + "node_modules/smol-toml": {
5252 + "version": "1.7.1",
5253 + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.1.tgz",
5254 + "integrity": "sha512-PPlsspAZ4jbMBu5DMFhfUGDQLu/vrL4SyBROVS37x8ynnVmFIs1VPBz1Co8Xks3TvpIaZXmU85y4DrQ+UyVFoQ==",
5255 + "license": "BSD-3-Clause",
5256 + "engines": {
5257 + "node": ">= 18"
5258 + },
5259 + "funding": {
5260 + "url": "https://github.com/sponsors/cyyynthia"
5261 + }
5262 + },
5263 + "node_modules/source-map-js": {
5264 + "version": "1.2.1",
5265 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
5266 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
5267 + "license": "BSD-3-Clause",
5268 + "engines": {
5269 + "node": ">=0.10.0"
5270 + }
5271 + },
5272 + "node_modules/space-separated-tokens": {
5273 + "version": "2.0.2",
5274 + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
5275 + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
5276 + "license": "MIT",
5277 + "funding": {
5278 + "type": "github",
5279 + "url": "https://github.com/sponsors/wooorm"
5280 + }
5281 + },
5282 + "node_modules/statuses": {
5283 + "version": "2.0.2",
5284 + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
5285 + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
5286 + "license": "MIT",
5287 + "engines": {
5288 + "node": ">= 0.8"
5289 + }
5290 + },
5291 + "node_modules/string-width": {
5292 + "version": "7.2.0",
5293 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
5294 + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
5295 + "license": "MIT",
5296 + "dependencies": {
5297 + "emoji-regex": "^10.3.0",
5298 + "get-east-asian-width": "^1.0.0",
5299 + "strip-ansi": "^7.1.0"
5300 + },
5301 + "engines": {
5302 + "node": ">=18"
5303 + },
5304 + "funding": {
5305 + "url": "https://github.com/sponsors/sindresorhus"
5306 + }
5307 + },
5308 + "node_modules/stringify-entities": {
5309 + "version": "4.0.4",
5310 + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
5311 + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
5312 + "license": "MIT",
5313 + "dependencies": {
5314 + "character-entities-html4": "^2.0.0",
5315 + "character-entities-legacy": "^3.0.0"
5316 + },
5317 + "funding": {
5318 + "type": "github",
5319 + "url": "https://github.com/sponsors/wooorm"
5320 + }
5321 + },
5322 + "node_modules/strip-ansi": {
5323 + "version": "7.2.0",
5324 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
5325 + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
5326 + "license": "MIT",
5327 + "dependencies": {
5328 + "ansi-regex": "^6.2.2"
5329 + },
5330 + "engines": {
5331 + "node": ">=12"
5332 + },
5333 + "funding": {
5334 + "url": "https://github.com/chalk/strip-ansi?sponsor=1"
5335 + }
5336 + },
5337 + "node_modules/svgo": {
5338 + "version": "4.0.2",
5339 + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.2.tgz",
5340 + "integrity": "sha512-ekx94z1rRc5LDi6oSUaeRnYhd0UOJxdtQCL2rF8xpWxD3TPAsISWOrxezqGovqS38GRZOdpDfvQe3ts6F7nsng==",
5341 + "license": "MIT",
5342 + "dependencies": {
5343 + "commander": "^11.1.0",
5344 + "css-select": "^5.1.0",
5345 + "css-tree": "^3.0.1",
5346 + "css-what": "^6.1.0",
5347 + "csso": "^5.0.5",
5348 + "picocolors": "^1.1.1",
5349 + "sax": "^1.5.0"
5350 + },
5351 + "bin": {
5352 + "svgo": "bin/svgo.js"
5353 + },
5354 + "engines": {
5355 + "node": ">=16"
5356 + },
5357 + "funding": {
5358 + "type": "opencollective",
5359 + "url": "https://opencollective.com/svgo"
5360 + }
5361 + },
5362 + "node_modules/tiny-inflate": {
5363 + "version": "1.0.3",
5364 + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
5365 + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==",
5366 + "license": "MIT"
5367 + },
5368 + "node_modules/tinyexec": {
5369 + "version": "1.3.0",
5370 + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.0.tgz",
5371 + "integrity": "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==",
5372 + "license": "MIT",
5373 + "engines": {
5374 + "node": ">=18"
5375 + }
5376 + },
5377 + "node_modules/tinyglobby": {
5378 + "version": "0.2.17",
5379 + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
5380 + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
5381 + "license": "MIT",
5382 + "dependencies": {
5383 + "fdir": "^6.5.0",
5384 + "picomatch": "^4.0.4"
5385 + },
5386 + "engines": {
5387 + "node": ">=12.0.0"
5388 + },
5389 + "funding": {
5390 + "url": "https://github.com/sponsors/SuperchupuDev"
5391 + }
5392 + },
5393 + "node_modules/toidentifier": {
5394 + "version": "1.0.1",
5395 + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
5396 + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
5397 + "license": "MIT",
5398 + "engines": {
5399 + "node": ">=0.6"
5400 + }
5401 + },
5402 + "node_modules/trim-lines": {
5403 + "version": "3.0.1",
5404 + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
5405 + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
5406 + "license": "MIT",
5407 + "funding": {
5408 + "type": "github",
5409 + "url": "https://github.com/sponsors/wooorm"
5410 + }
5411 + },
5412 + "node_modules/trough": {
5413 + "version": "2.2.0",
5414 + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
5415 + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
5416 + "license": "MIT",
5417 + "funding": {
5418 + "type": "github",
5419 + "url": "https://github.com/sponsors/wooorm"
5420 + }
5421 + },
5422 + "node_modules/tsconfck": {
5423 + "version": "3.1.6",
5424 + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz",
5425 + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==",
5426 + "deprecated": "unmaintained",
5427 + "license": "MIT",
5428 + "bin": {
5429 + "tsconfck": "bin/tsconfck.js"
5430 + },
5431 + "engines": {
5432 + "node": "^18 || >=20"
5433 + },
5434 + "peerDependencies": {
5435 + "typescript": "^5.0.0"
5436 + },
5437 + "peerDependenciesMeta": {
5438 + "typescript": {
5439 + "optional": true
5440 + }
5441 + }
5442 + },
5443 + "node_modules/tslib": {
5444 + "version": "2.8.1",
5445 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
5446 + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
5447 + "license": "0BSD",
5448 + "optional": true
5449 + },
5450 + "node_modules/type-fest": {
5451 + "version": "4.41.0",
5452 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
5453 + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
5454 + "license": "(MIT OR CC0-1.0)",
5455 + "engines": {
5456 + "node": ">=16"
5457 + },
5458 + "funding": {
5459 + "url": "https://github.com/sponsors/sindresorhus"
5460 + }
5461 + },
5462 + "node_modules/type-is": {
5463 + "version": "1.6.18",
5464 + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
5465 + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
5466 + "license": "MIT",
5467 + "dependencies": {
5468 + "media-typer": "0.3.0",
5469 + "mime-types": "~2.1.24"
5470 + },
5471 + "engines": {
5472 + "node": ">= 0.6"
5473 + }
5474 + },
5475 + "node_modules/typescript": {
5476 + "version": "5.9.3",
5477 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
5478 + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
5479 + "license": "Apache-2.0",
5480 + "peer": true,
5481 + "bin": {
5482 + "tsc": "bin/tsc",
5483 + "tsserver": "bin/tsserver"
5484 + },
5485 + "engines": {
5486 + "node": ">=14.17"
5487 + }
5488 + },
5489 + "node_modules/ufo": {
5490 + "version": "1.6.4",
5491 + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz",
5492 + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==",
5493 + "license": "MIT"
5494 + },
5495 + "node_modules/ultrahtml": {
5496 + "version": "1.7.0",
5497 + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.7.0.tgz",
5498 + "integrity": "sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==",
5499 + "license": "MIT"
5500 + },
5501 + "node_modules/uncrypto": {
5502 + "version": "0.1.3",
5503 + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",
5504 + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==",
5505 + "license": "MIT"
5506 + },
5507 + "node_modules/unified": {
5508 + "version": "11.0.5",
5509 + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",
5510 + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==",
5511 + "license": "MIT",
5512 + "dependencies": {
5513 + "@types/unist": "^3.0.0",
5514 + "bail": "^2.0.0",
5515 + "devlop": "^1.0.0",
5516 + "extend": "^3.0.0",
5517 + "is-plain-obj": "^4.0.0",
5518 + "trough": "^2.0.0",
5519 + "vfile": "^6.0.0"
5520 + },
5521 + "funding": {
5522 + "type": "opencollective",
5523 + "url": "https://opencollective.com/unified"
5524 + }
5525 + },
5526 + "node_modules/unifont": {
5527 + "version": "0.7.4",
5528 + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz",
5529 + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==",
5530 + "license": "MIT",
5531 + "dependencies": {
5532 + "css-tree": "^3.1.0",
5533 + "ofetch": "^1.5.1",
5534 + "ohash": "^2.0.11"
5535 + }
5536 + },
5537 + "node_modules/unist-util-find-after": {
5538 + "version": "5.0.0",
5539 + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz",
5540 + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==",
5541 + "license": "MIT",
5542 + "dependencies": {
5543 + "@types/unist": "^3.0.0",
5544 + "unist-util-is": "^6.0.0"
5545 + },
5546 + "funding": {
5547 + "type": "opencollective",
5548 + "url": "https://opencollective.com/unified"
5549 + }
5550 + },
5551 + "node_modules/unist-util-is": {
5552 + "version": "6.0.1",
5553 + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz",
5554 + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==",
5555 + "license": "MIT",
5556 + "dependencies": {
5557 + "@types/unist": "^3.0.0"
5558 + },
5559 + "funding": {
5560 + "type": "opencollective",
5561 + "url": "https://opencollective.com/unified"
5562 + }
5563 + },
5564 + "node_modules/unist-util-modify-children": {
5565 + "version": "4.0.0",
5566 + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz",
5567 + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==",
5568 + "license": "MIT",
5569 + "dependencies": {
5570 + "@types/unist": "^3.0.0",
5571 + "array-iterate": "^2.0.0"
5572 + },
5573 + "funding": {
5574 + "type": "opencollective",
5575 + "url": "https://opencollective.com/unified"
5576 + }
5577 + },
5578 + "node_modules/unist-util-position": {
5579 + "version": "5.0.0",
5580 + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
5581 + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
5582 + "license": "MIT",
5583 + "dependencies": {
5584 + "@types/unist": "^3.0.0"
5585 + },
5586 + "funding": {
5587 + "type": "opencollective",
5588 + "url": "https://opencollective.com/unified"
5589 + }
5590 + },
5591 + "node_modules/unist-util-remove-position": {
5592 + "version": "5.0.0",
5593 + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz",
5594 + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==",
5595 + "license": "MIT",
5596 + "dependencies": {
5597 + "@types/unist": "^3.0.0",
5598 + "unist-util-visit": "^5.0.0"
5599 + },
5600 + "funding": {
5601 + "type": "opencollective",
5602 + "url": "https://opencollective.com/unified"
5603 + }
5604 + },
5605 + "node_modules/unist-util-stringify-position": {
5606 + "version": "4.0.0",
5607 + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
5608 + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
5609 + "license": "MIT",
5610 + "dependencies": {
5611 + "@types/unist": "^3.0.0"
5612 + },
5613 + "funding": {
5614 + "type": "opencollective",
5615 + "url": "https://opencollective.com/unified"
5616 + }
5617 + },
5618 + "node_modules/unist-util-visit": {
5619 + "version": "5.1.0",
5620 + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz",
5621 + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==",
5622 + "license": "MIT",
5623 + "dependencies": {
5624 + "@types/unist": "^3.0.0",
5625 + "unist-util-is": "^6.0.0",
5626 + "unist-util-visit-parents": "^6.0.0"
5627 + },
5628 + "funding": {
5629 + "type": "opencollective",
5630 + "url": "https://opencollective.com/unified"
5631 + }
5632 + },
5633 + "node_modules/unist-util-visit-children": {
5634 + "version": "3.0.0",
5635 + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz",
5636 + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==",
5637 + "license": "MIT",
5638 + "dependencies": {
5639 + "@types/unist": "^3.0.0"
5640 + },
5641 + "funding": {
5642 + "type": "opencollective",
5643 + "url": "https://opencollective.com/unified"
5644 + }
5645 + },
5646 + "node_modules/unist-util-visit-parents": {
5647 + "version": "6.0.2",
5648 + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz",
5649 + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==",
5650 + "license": "MIT",
5651 + "dependencies": {
5652 + "@types/unist": "^3.0.0",
5653 + "unist-util-is": "^6.0.0"
5654 + },
5655 + "funding": {
5656 + "type": "opencollective",
5657 + "url": "https://opencollective.com/unified"
5658 + }
5659 + },
5660 + "node_modules/unpipe": {
5661 + "version": "1.0.0",
5662 + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
5663 + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
5664 + "license": "MIT",
5665 + "engines": {
5666 + "node": ">= 0.8"
5667 + }
5668 + },
5669 + "node_modules/unstorage": {
5670 + "version": "1.17.5",
5671 + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz",
5672 + "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==",
5673 + "license": "MIT",
5674 + "dependencies": {
5675 + "anymatch": "^3.1.3",
5676 + "chokidar": "^5.0.0",
5677 + "destr": "^2.0.5",
5678 + "h3": "^1.15.10",
5679 + "lru-cache": "^11.2.7",
5680 + "node-fetch-native": "^1.6.7",
5681 + "ofetch": "^1.5.1",
5682 + "ufo": "^1.6.3"
5683 + },
5684 + "peerDependencies": {
5685 + "@azure/app-configuration": "^1.8.0",
5686 + "@azure/cosmos": "^4.2.0",
5687 + "@azure/data-tables": "^13.3.0",
5688 + "@azure/identity": "^4.6.0",
5689 + "@azure/keyvault-secrets": "^4.9.0",
5690 + "@azure/storage-blob": "^12.26.0",
5691 + "@capacitor/preferences": "^6 || ^7 || ^8",
5692 + "@deno/kv": ">=0.9.0",
5693 + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0",
5694 + "@planetscale/database": "^1.19.0",
5695 + "@upstash/redis": "^1.34.3",
5696 + "@vercel/blob": ">=0.27.1",
5697 + "@vercel/functions": "^2.2.12 || ^3.0.0",
5698 + "@vercel/kv": "^1 || ^2 || ^3",
5699 + "aws4fetch": "^1.0.20",
5700 + "db0": ">=0.2.1",
5701 + "idb-keyval": "^6.2.1",
5702 + "ioredis": "^5.4.2",
5703 + "uploadthing": "^7.4.4"
5704 + },
5705 + "peerDependenciesMeta": {
5706 + "@azure/app-configuration": {
5707 + "optional": true
5708 + },
5709 + "@azure/cosmos": {
5710 + "optional": true
5711 + },
5712 + "@azure/data-tables": {
5713 + "optional": true
5714 + },
5715 + "@azure/identity": {
5716 + "optional": true
5717 + },
5718 + "@azure/keyvault-secrets": {
5719 + "optional": true
5720 + },
5721 + "@azure/storage-blob": {
5722 + "optional": true
5723 + },
5724 + "@capacitor/preferences": {
5725 + "optional": true
5726 + },
5727 + "@deno/kv": {
5728 + "optional": true
5729 + },
5730 + "@netlify/blobs": {
5731 + "optional": true
5732 + },
5733 + "@planetscale/database": {
5734 + "optional": true
5735 + },
5736 + "@upstash/redis": {
5737 + "optional": true
5738 + },
5739 + "@vercel/blob": {
5740 + "optional": true
5741 + },
5742 + "@vercel/functions": {
5743 + "optional": true
5744 + },
5745 + "@vercel/kv": {
5746 + "optional": true
5747 + },
5748 + "aws4fetch": {
5749 + "optional": true
5750 + },
5751 + "db0": {
5752 + "optional": true
5753 + },
5754 + "idb-keyval": {
5755 + "optional": true
5756 + },
5757 + "ioredis": {
5758 + "optional": true
5759 + },
5760 + "uploadthing": {
5761 + "optional": true
5762 + }
5763 + }
5764 + },
5765 + "node_modules/utils-merge": {
5766 + "version": "1.0.1",
5767 + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
5768 + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
5769 + "license": "MIT",
5770 + "engines": {
5771 + "node": ">= 0.4.0"
5772 + }
5773 + },
5774 + "node_modules/vary": {
5775 + "version": "1.1.2",
5776 + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
5777 + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
5778 + "license": "MIT",
5779 + "engines": {
5780 + "node": ">= 0.8"
5781 + }
5782 + },
5783 + "node_modules/vfile": {
5784 + "version": "6.0.3",
5785 + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
5786 + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
5787 + "license": "MIT",
5788 + "dependencies": {
5789 + "@types/unist": "^3.0.0",
5790 + "vfile-message": "^4.0.0"
5791 + },
5792 + "funding": {
5793 + "type": "opencollective",
5794 + "url": "https://opencollective.com/unified"
5795 + }
5796 + },
5797 + "node_modules/vfile-location": {
5798 + "version": "5.0.3",
5799 + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz",
5800 + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==",
5801 + "license": "MIT",
5802 + "dependencies": {
5803 + "@types/unist": "^3.0.0",
5804 + "vfile": "^6.0.0"
5805 + },
5806 + "funding": {
5807 + "type": "opencollective",
5808 + "url": "https://opencollective.com/unified"
5809 + }
5810 + },
5811 + "node_modules/vfile-message": {
5812 + "version": "4.0.3",
5813 + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
5814 + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
5815 + "license": "MIT",
5816 + "dependencies": {
5817 + "@types/unist": "^3.0.0",
5818 + "unist-util-stringify-position": "^4.0.0"
5819 + },
5820 + "funding": {
5821 + "type": "opencollective",
5822 + "url": "https://opencollective.com/unified"
5823 + }
5824 + },
5825 + "node_modules/vite": {
5826 + "version": "6.4.3",
5827 + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz",
5828 + "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==",
5829 + "license": "MIT",
5830 + "dependencies": {
5831 + "esbuild": "^0.25.0",
5832 + "fdir": "^6.4.4",
5833 + "picomatch": "^4.0.2",
5834 + "postcss": "^8.5.3",
5835 + "rollup": "^4.34.9",
5836 + "tinyglobby": "^0.2.13"
5837 + },
5838 + "bin": {
5839 + "vite": "bin/vite.js"
5840 + },
5841 + "engines": {
5842 + "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
5843 + },
5844 + "funding": {
5845 + "url": "https://github.com/vitejs/vite?sponsor=1"
5846 + },
5847 + "optionalDependencies": {
5848 + "fsevents": "~2.3.3"
5849 + },
5850 + "peerDependencies": {
5851 + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
5852 + "jiti": ">=1.21.0",
5853 + "less": "*",
5854 + "lightningcss": "^1.21.0",
5855 + "sass": "*",
5856 + "sass-embedded": "*",
5857 + "stylus": "*",
5858 + "sugarss": "*",
5859 + "terser": "^5.16.0",
5860 + "tsx": "^4.8.1",
5861 + "yaml": "^2.4.2"
5862 + },
5863 + "peerDependenciesMeta": {
5864 + "@types/node": {
5865 + "optional": true
5866 + },
5867 + "jiti": {
5868 + "optional": true
5869 + },
5870 + "less": {
5871 + "optional": true
5872 + },
5873 + "lightningcss": {
5874 + "optional": true
5875 + },
5876 + "sass": {
5877 + "optional": true
5878 + },
5879 + "sass-embedded": {
5880 + "optional": true
5881 + },
5882 + "stylus": {
5883 + "optional": true
5884 + },
5885 + "sugarss": {
5886 + "optional": true
5887 + },
5888 + "terser": {
5889 + "optional": true
5890 + },
5891 + "tsx": {
5892 + "optional": true
5893 + },
5894 + "yaml": {
5895 + "optional": true
5896 + }
5897 + }
5898 + },
5899 + "node_modules/vite/node_modules/@esbuild/aix-ppc64": {
5900 + "version": "0.25.12",
5901 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
5902 + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
5903 + "cpu": [
5904 + "ppc64"
5905 + ],
5906 + "license": "MIT",
5907 + "optional": true,
5908 + "os": [
5909 + "aix"
5910 + ],
5911 + "engines": {
5912 + "node": ">=18"
5913 + }
5914 + },
5915 + "node_modules/vite/node_modules/@esbuild/android-arm": {
5916 + "version": "0.25.12",
5917 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
5918 + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
5919 + "cpu": [
5920 + "arm"
5921 + ],
5922 + "license": "MIT",
5923 + "optional": true,
5924 + "os": [
5925 + "android"
5926 + ],
5927 + "engines": {
5928 + "node": ">=18"
5929 + }
5930 + },
5931 + "node_modules/vite/node_modules/@esbuild/android-arm64": {
5932 + "version": "0.25.12",
5933 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
5934 + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
5935 + "cpu": [
5936 + "arm64"
5937 + ],
5938 + "license": "MIT",
5939 + "optional": true,
5940 + "os": [
5941 + "android"
5942 + ],
5943 + "engines": {
5944 + "node": ">=18"
5945 + }
5946 + },
5947 + "node_modules/vite/node_modules/@esbuild/android-x64": {
5948 + "version": "0.25.12",
5949 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
5950 + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
5951 + "cpu": [
5952 + "x64"
5953 + ],
5954 + "license": "MIT",
5955 + "optional": true,
5956 + "os": [
5957 + "android"
5958 + ],
5959 + "engines": {
5960 + "node": ">=18"
5961 + }
5962 + },
5963 + "node_modules/vite/node_modules/@esbuild/darwin-arm64": {
5964 + "version": "0.25.12",
5965 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
5966 + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
5967 + "cpu": [
5968 + "arm64"
5969 + ],
5970 + "license": "MIT",
5971 + "optional": true,
5972 + "os": [
5973 + "darwin"
5974 + ],
5975 + "engines": {
5976 + "node": ">=18"
5977 + }
5978 + },
5979 + "node_modules/vite/node_modules/@esbuild/darwin-x64": {
5980 + "version": "0.25.12",
5981 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
5982 + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
5983 + "cpu": [
5984 + "x64"
5985 + ],
5986 + "license": "MIT",
5987 + "optional": true,
5988 + "os": [
5989 + "darwin"
5990 + ],
5991 + "engines": {
5992 + "node": ">=18"
5993 + }
5994 + },
5995 + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
5996 + "version": "0.25.12",
5997 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
5998 + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
5999 + "cpu": [
6000 + "arm64"
6001 + ],
6002 + "license": "MIT",
6003 + "optional": true,
6004 + "os": [
6005 + "freebsd"
6006 + ],
6007 + "engines": {
6008 + "node": ">=18"
6009 + }
6010 + },
6011 + "node_modules/vite/node_modules/@esbuild/freebsd-x64": {
6012 + "version": "0.25.12",
6013 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
6014 + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
6015 + "cpu": [
6016 + "x64"
6017 + ],
6018 + "license": "MIT",
6019 + "optional": true,
6020 + "os": [
6021 + "freebsd"
6022 + ],
6023 + "engines": {
6024 + "node": ">=18"
6025 + }
6026 + },
6027 + "node_modules/vite/node_modules/@esbuild/linux-arm": {
6028 + "version": "0.25.12",
6029 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
6030 + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
6031 + "cpu": [
6032 + "arm"
6033 + ],
6034 + "license": "MIT",
6035 + "optional": true,
6036 + "os": [
6037 + "linux"
6038 + ],
6039 + "engines": {
6040 + "node": ">=18"
6041 + }
6042 + },
6043 + "node_modules/vite/node_modules/@esbuild/linux-arm64": {
6044 + "version": "0.25.12",
6045 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
6046 + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
6047 + "cpu": [
6048 + "arm64"
6049 + ],
6050 + "license": "MIT",
6051 + "optional": true,
6052 + "os": [
6053 + "linux"
6054 + ],
6055 + "engines": {
6056 + "node": ">=18"
6057 + }
6058 + },
6059 + "node_modules/vite/node_modules/@esbuild/linux-ia32": {
6060 + "version": "0.25.12",
6061 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
6062 + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
6063 + "cpu": [
6064 + "ia32"
6065 + ],
6066 + "license": "MIT",
6067 + "optional": true,
6068 + "os": [
6069 + "linux"
6070 + ],
6071 + "engines": {
6072 + "node": ">=18"
6073 + }
6074 + },
6075 + "node_modules/vite/node_modules/@esbuild/linux-loong64": {
6076 + "version": "0.25.12",
6077 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
6078 + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
6079 + "cpu": [
6080 + "loong64"
6081 + ],
6082 + "license": "MIT",
6083 + "optional": true,
6084 + "os": [
6085 + "linux"
6086 + ],
6087 + "engines": {
6088 + "node": ">=18"
6089 + }
6090 + },
6091 + "node_modules/vite/node_modules/@esbuild/linux-mips64el": {
6092 + "version": "0.25.12",
6093 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
6094 + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
6095 + "cpu": [
6096 + "mips64el"
6097 + ],
6098 + "license": "MIT",
6099 + "optional": true,
6100 + "os": [
6101 + "linux"
6102 + ],
6103 + "engines": {
6104 + "node": ">=18"
6105 + }
6106 + },
6107 + "node_modules/vite/node_modules/@esbuild/linux-ppc64": {
6108 + "version": "0.25.12",
6109 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
6110 + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
6111 + "cpu": [
6112 + "ppc64"
6113 + ],
6114 + "license": "MIT",
6115 + "optional": true,
6116 + "os": [
6117 + "linux"
6118 + ],
6119 + "engines": {
6120 + "node": ">=18"
6121 + }
6122 + },
6123 + "node_modules/vite/node_modules/@esbuild/linux-riscv64": {
6124 + "version": "0.25.12",
6125 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
6126 + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
6127 + "cpu": [
6128 + "riscv64"
6129 + ],
6130 + "license": "MIT",
6131 + "optional": true,
6132 + "os": [
6133 + "linux"
6134 + ],
6135 + "engines": {
6136 + "node": ">=18"
6137 + }
6138 + },
6139 + "node_modules/vite/node_modules/@esbuild/linux-s390x": {
6140 + "version": "0.25.12",
6141 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
6142 + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
6143 + "cpu": [
6144 + "s390x"
6145 + ],
6146 + "license": "MIT",
6147 + "optional": true,
6148 + "os": [
6149 + "linux"
6150 + ],
6151 + "engines": {
6152 + "node": ">=18"
6153 + }
6154 + },
6155 + "node_modules/vite/node_modules/@esbuild/linux-x64": {
6156 + "version": "0.25.12",
6157 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
6158 + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
6159 + "cpu": [
6160 + "x64"
6161 + ],
6162 + "license": "MIT",
6163 + "optional": true,
6164 + "os": [
6165 + "linux"
6166 + ],
6167 + "engines": {
6168 + "node": ">=18"
6169 + }
6170 + },
6171 + "node_modules/vite/node_modules/@esbuild/netbsd-arm64": {
6172 + "version": "0.25.12",
6173 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
6174 + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
6175 + "cpu": [
6176 + "arm64"
6177 + ],
6178 + "license": "MIT",
6179 + "optional": true,
6180 + "os": [
6181 + "netbsd"
6182 + ],
6183 + "engines": {
6184 + "node": ">=18"
6185 + }
6186 + },
6187 + "node_modules/vite/node_modules/@esbuild/netbsd-x64": {
6188 + "version": "0.25.12",
6189 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
6190 + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
6191 + "cpu": [
6192 + "x64"
6193 + ],
6194 + "license": "MIT",
6195 + "optional": true,
6196 + "os": [
6197 + "netbsd"
6198 + ],
6199 + "engines": {
6200 + "node": ">=18"
6201 + }
6202 + },
6203 + "node_modules/vite/node_modules/@esbuild/openbsd-arm64": {
6204 + "version": "0.25.12",
6205 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
6206 + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
6207 + "cpu": [
6208 + "arm64"
6209 + ],
6210 + "license": "MIT",
6211 + "optional": true,
6212 + "os": [
6213 + "openbsd"
6214 + ],
6215 + "engines": {
6216 + "node": ">=18"
6217 + }
6218 + },
6219 + "node_modules/vite/node_modules/@esbuild/openbsd-x64": {
6220 + "version": "0.25.12",
6221 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
6222 + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
6223 + "cpu": [
6224 + "x64"
6225 + ],
6226 + "license": "MIT",
6227 + "optional": true,
6228 + "os": [
6229 + "openbsd"
6230 + ],
6231 + "engines": {
6232 + "node": ">=18"
6233 + }
6234 + },
6235 + "node_modules/vite/node_modules/@esbuild/openharmony-arm64": {
6236 + "version": "0.25.12",
6237 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
6238 + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
6239 + "cpu": [
6240 + "arm64"
6241 + ],
6242 + "license": "MIT",
6243 + "optional": true,
6244 + "os": [
6245 + "openharmony"
6246 + ],
6247 + "engines": {
6248 + "node": ">=18"
6249 + }
6250 + },
6251 + "node_modules/vite/node_modules/@esbuild/sunos-x64": {
6252 + "version": "0.25.12",
6253 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
6254 + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
6255 + "cpu": [
6256 + "x64"
6257 + ],
6258 + "license": "MIT",
6259 + "optional": true,
6260 + "os": [
6261 + "sunos"
6262 + ],
6263 + "engines": {
6264 + "node": ">=18"
6265 + }
6266 + },
6267 + "node_modules/vite/node_modules/@esbuild/win32-arm64": {
6268 + "version": "0.25.12",
6269 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
6270 + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
6271 + "cpu": [
6272 + "arm64"
6273 + ],
6274 + "license": "MIT",
6275 + "optional": true,
6276 + "os": [
6277 + "win32"
6278 + ],
6279 + "engines": {
6280 + "node": ">=18"
6281 + }
6282 + },
6283 + "node_modules/vite/node_modules/@esbuild/win32-ia32": {
6284 + "version": "0.25.12",
6285 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
6286 + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
6287 + "cpu": [
6288 + "ia32"
6289 + ],
6290 + "license": "MIT",
6291 + "optional": true,
6292 + "os": [
6293 + "win32"
6294 + ],
6295 + "engines": {
6296 + "node": ">=18"
6297 + }
6298 + },
6299 + "node_modules/vite/node_modules/@esbuild/win32-x64": {
6300 + "version": "0.25.12",
6301 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
6302 + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
6303 + "cpu": [
6304 + "x64"
6305 + ],
6306 + "license": "MIT",
6307 + "optional": true,
6308 + "os": [
6309 + "win32"
6310 + ],
6311 + "engines": {
6312 + "node": ">=18"
6313 + }
6314 + },
6315 + "node_modules/vite/node_modules/esbuild": {
6316 + "version": "0.25.12",
6317 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
6318 + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
6319 + "hasInstallScript": true,
6320 + "license": "MIT",
6321 + "bin": {
6322 + "esbuild": "bin/esbuild"
6323 + },
6324 + "engines": {
6325 + "node": ">=18"
6326 + },
6327 + "optionalDependencies": {
6328 + "@esbuild/aix-ppc64": "0.25.12",
6329 + "@esbuild/android-arm": "0.25.12",
6330 + "@esbuild/android-arm64": "0.25.12",
6331 + "@esbuild/android-x64": "0.25.12",
6332 + "@esbuild/darwin-arm64": "0.25.12",
6333 + "@esbuild/darwin-x64": "0.25.12",
6334 + "@esbuild/freebsd-arm64": "0.25.12",
6335 + "@esbuild/freebsd-x64": "0.25.12",
6336 + "@esbuild/linux-arm": "0.25.12",
6337 + "@esbuild/linux-arm64": "0.25.12",
6338 + "@esbuild/linux-ia32": "0.25.12",
6339 + "@esbuild/linux-loong64": "0.25.12",
6340 + "@esbuild/linux-mips64el": "0.25.12",
6341 + "@esbuild/linux-ppc64": "0.25.12",
6342 + "@esbuild/linux-riscv64": "0.25.12",
6343 + "@esbuild/linux-s390x": "0.25.12",
6344 + "@esbuild/linux-x64": "0.25.12",
6345 + "@esbuild/netbsd-arm64": "0.25.12",
6346 + "@esbuild/netbsd-x64": "0.25.12",
6347 + "@esbuild/openbsd-arm64": "0.25.12",
6348 + "@esbuild/openbsd-x64": "0.25.12",
6349 + "@esbuild/openharmony-arm64": "0.25.12",
6350 + "@esbuild/sunos-x64": "0.25.12",
6351 + "@esbuild/win32-arm64": "0.25.12",
6352 + "@esbuild/win32-ia32": "0.25.12",
6353 + "@esbuild/win32-x64": "0.25.12"
6354 + }
6355 + },
6356 + "node_modules/vitefu": {
6357 + "version": "1.1.3",
6358 + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz",
6359 + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==",
6360 + "license": "MIT",
6361 + "workspaces": [
6362 + "tests/deps/*",
6363 + "tests/projects/*",
6364 + "tests/projects/workspace/packages/*"
6365 + ],
6366 + "peerDependencies": {
6367 + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
6368 + },
6369 + "peerDependenciesMeta": {
6370 + "vite": {
6371 + "optional": true
6372 + }
6373 + }
6374 + },
6375 + "node_modules/web-namespaces": {
6376 + "version": "2.0.1",
6377 + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz",
6378 + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==",
6379 + "license": "MIT",
6380 + "funding": {
6381 + "type": "github",
6382 + "url": "https://github.com/sponsors/wooorm"
6383 + }
6384 + },
6385 + "node_modules/which-pm-runs": {
6386 + "version": "1.1.0",
6387 + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz",
6388 + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==",
6389 + "license": "MIT",
6390 + "engines": {
6391 + "node": ">=4"
6392 + }
6393 + },
6394 + "node_modules/widest-line": {
6395 + "version": "5.0.0",
6396 + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz",
6397 + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==",
6398 + "license": "MIT",
6399 + "dependencies": {
6400 + "string-width": "^7.0.0"
6401 + },
6402 + "engines": {
6403 + "node": ">=18"
6404 + },
6405 + "funding": {
6406 + "url": "https://github.com/sponsors/sindresorhus"
6407 + }
6408 + },
6409 + "node_modules/wrap-ansi": {
6410 + "version": "9.0.2",
6411 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
6412 + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
6413 + "license": "MIT",
6414 + "dependencies": {
6415 + "ansi-styles": "^6.2.1",
6416 + "string-width": "^7.0.0",
6417 + "strip-ansi": "^7.1.0"
6418 + },
6419 + "engines": {
6420 + "node": ">=18"
6421 + },
6422 + "funding": {
6423 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
6424 + }
6425 + },
6426 + "node_modules/xxhash-wasm": {
6427 + "version": "1.1.0",
6428 + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz",
6429 + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==",
6430 + "license": "MIT"
6431 + },
6432 + "node_modules/yaml": {
6433 + "version": "2.9.0",
6434 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
6435 + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
6436 + "license": "ISC",
6437 + "bin": {
6438 + "yaml": "bin.mjs"
6439 + },
6440 + "engines": {
6441 + "node": ">= 14.6"
6442 + },
6443 + "funding": {
6444 + "url": "https://github.com/sponsors/eemeli"
6445 + }
6446 + },
6447 + "node_modules/yargs-parser": {
6448 + "version": "21.1.1",
6449 + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
6450 + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
6451 + "license": "ISC",
6452 + "engines": {
6453 + "node": ">=12"
6454 + }
6455 + },
6456 + "node_modules/yocto-queue": {
6457 + "version": "1.2.2",
6458 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz",
6459 + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==",
6460 + "license": "MIT",
6461 + "engines": {
6462 + "node": ">=12.20"
6463 + },
6464 + "funding": {
6465 + "url": "https://github.com/sponsors/sindresorhus"
6466 + }
6467 + },
6468 + "node_modules/yocto-spinner": {
6469 + "version": "0.2.3",
6470 + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz",
6471 + "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==",
6472 + "license": "MIT",
6473 + "dependencies": {
6474 + "yoctocolors": "^2.1.1"
6475 + },
6476 + "engines": {
6477 + "node": ">=18.19"
6478 + },
6479 + "funding": {
6480 + "url": "https://github.com/sponsors/sindresorhus"
6481 + }
6482 + },
6483 + "node_modules/yoctocolors": {
6484 + "version": "2.2.0",
6485 + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.2.0.tgz",
6486 + "integrity": "sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==",
6487 + "license": "MIT",
6488 + "engines": {
6489 + "node": ">=18"
6490 + },
6491 + "funding": {
6492 + "url": "https://github.com/sponsors/sindresorhus"
6493 + }
6494 + },
6495 + "node_modules/zod": {
6496 + "version": "3.25.76",
6497 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
6498 + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
6499 + "license": "MIT",
6500 + "funding": {
6501 + "url": "https://github.com/sponsors/colinhacks"
6502 + }
6503 + },
6504 + "node_modules/zod-to-json-schema": {
6505 + "version": "3.25.2",
6506 + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz",
6507 + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==",
6508 + "license": "ISC",
6509 + "peerDependencies": {
6510 + "zod": "^3.25.28 || ^4"
6511 + }
6512 + },
6513 + "node_modules/zod-to-ts": {
6514 + "version": "1.2.0",
6515 + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz",
6516 + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==",
6517 + "peerDependencies": {
6518 + "typescript": "^4.9.4 || ^5.0.2",
6519 + "zod": "^3"
6520 + }
6521 + },
6522 + "node_modules/zwitch": {
6523 + "version": "2.0.4",
6524 + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
6525 + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
6526 + "license": "MIT",
6527 + "funding": {
6528 + "type": "github",
6529 + "url": "https://github.com/sponsors/wooorm"
6530 + }
6531 + }
6532 + }
6533 +}
added package.json +27 −0
@@ -0,0 +1,27 @@
1 +{
2 + "name": "svgarden",
3 + "version": "1.0.0",
4 + "description": "SVGarden — a massive, searchable bank of SVG + CSS animations with copy-ready code snippets.",
5 + "author": "Simon-Pierre Boucher <contact@spboucher.ai>",
6 + "homepage": "https://www.svgarden.dev",
7 + "license": "MIT",
8 + "type": "module",
9 + "engines": {
10 + "node": ">=20"
11 + },
12 + "scripts": {
13 + "dev": "astro dev",
14 + "validate": "node scripts/validate-snippets.mjs",
15 + "build": "node scripts/validate-snippets.mjs && astro build",
16 + "preview": "astro preview",
17 + "serve": "node server.mjs",
18 + "new": "node scripts/new-snippet.mjs"
19 + },
20 + "dependencies": {
21 + "astro": "^5.12.0",
22 + "compression": "^1.8.0",
23 + "express": "^4.21.2",
24 + "fuse.js": "^7.1.0",
25 + "yaml": "^2.8.0"
26 + }
27 +}
added scripts/deploy.sh +66 −0
@@ -0,0 +1,66 @@
1 +#!/usr/bin/env bash
2 +# ============================================================
3 +# SVGarden — https://www.svgarden.dev
4 +# Author : Simon-Pierre Boucher
5 +# Contact: contact@spboucher.ai
6 +# File : scripts/deploy.sh
7 +# Desc : Deploy to node M3U96b — sync/pull, npm ci, build, pm2, health checks
8 +# ============================================================
9 +set -euo pipefail
10 +
11 +NODE="${SVGARDEN_NODE:-M3U96b}"
12 +APP_DIR="~/apps/svgarden"
13 +LOCAL_URL="http://127.0.0.1:4321"
14 +PUBLIC_URL="https://www.svgarden.dev"
15 +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
16 +REPO_DIR="$(dirname "$SCRIPT_DIR")"
17 +
18 +step() { printf '\n\033[1;35m▸ %s\033[0m\n' "$*"; }
19 +
20 +# 1. Get the latest code onto the node.
21 +# With a git remote configured on the node we `git pull` (per CLAUDE.md §9);
22 +# until one exists we rsync from this working copy instead.
23 +if ssh "$NODE" "cd $APP_DIR 2>/dev/null && git remote get-url origin >/dev/null 2>&1"; then
24 + step "git pull on $NODE"
25 + ssh "$NODE" "cd $APP_DIR && git pull --ff-only"
26 +else
27 + step "rsync source → $NODE:$APP_DIR (no git remote yet)"
28 + ssh "$NODE" "mkdir -p $APP_DIR"
29 + rsync -az --delete \
30 + --exclude node_modules --exclude dist --exclude .git \
31 + --exclude '.env*' --exclude ngrok.yml \
32 + "$REPO_DIR/" "$NODE:$APP_DIR/"
33 +fi
34 +
35 +# 2. Install exact deps + build (validation runs inside `npm run build`).
36 +step "npm ci + npm run build on $NODE"
37 +ssh "$NODE" "export PATH=/opt/homebrew/bin:\$PATH; cd $APP_DIR && npm ci --no-audit --no-fund && npm run build"
38 +
39 +# 3. (Re)start server + tunnel under pm2.
40 +step "pm2 startOrRestart"
41 +ssh "$NODE" "export PATH=/opt/homebrew/bin:\$PATH; cd $APP_DIR && pm2 startOrRestart ecosystem.config.cjs && pm2 save"
42 +
43 +# 4. Health checks.
44 +step "health check $LOCAL_URL (on $NODE)"
45 +sleep 3
46 +ssh "$NODE" "curl -fsS -o /dev/null -w 'local %{http_code} %{time_total}s\n' $LOCAL_URL/healthz && curl -fsS $LOCAL_URL/healthz && echo"
47 +
48 +step "health check $PUBLIC_URL"
49 +if curl -fsS -o /dev/null -m 20 -w 'public %{http_code} %{time_total}s\n' "$PUBLIC_URL/healthz"; then
50 + curl -fsS -m 20 "$PUBLIC_URL/healthz" && echo
51 +else
52 + cat <<'EOF'
53 +⚠ Public URL unreachable. The local server is up; the tunnel is not.
54 + Check on the node:
55 + pm2 logs svgarden-tunnel --lines 30
56 + Likely causes:
57 + • www.svgarden.dev not reserved as a custom domain in the ngrok dashboard
58 + • DNS CNAME for www.svgarden.dev not pointed at ngrok yet
59 + • ngrok agent not authenticated (`ngrok config add-authtoken <token>`)
60 +EOF
61 + exit 1
62 +fi
63 +
64 +step "status summary"
65 +ssh "$NODE" "export PATH=/opt/homebrew/bin:\$PATH; pm2 ls | grep -E 'svgarden|name' || true"
66 +echo "✔ SVGarden deployed — $PUBLIC_URL"
added scripts/new-snippet.mjs +82 −0
@@ -0,0 +1,82 @@
1 +/**
2 + * ============================================================
3 + * SVGarden — https://www.svgarden.dev
4 + * Author : Simon-Pierre Boucher
5 + * Contact: contact@spboucher.ai
6 + * File : scripts/new-snippet.mjs
7 + * Desc : Interactive scaffolder — creates a compliant snippet file skeleton
8 + * ============================================================
9 + */
10 +import { writeFile, mkdir, access } from 'node:fs/promises';
11 +import path from 'node:path';
12 +import readline from 'node:readline/promises';
13 +import { SNIPPETS_DIR, CATEGORIES, DIFFICULTIES, attributionHeader } from '../src/lib/snippets.mjs';
14 +
15 +const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
16 +
17 +const ask = async (q, { def, valid } = {}) => {
18 + for (;;) {
19 + const raw = (await rl.question(def ? `${q} [${def}]: ` : `${q}: `)).trim();
20 + const answer = raw || def || '';
21 + if (!answer) { console.log(' → required.'); continue; }
22 + if (valid && !valid.includes(answer)) { console.log(` → one of: ${valid.join(', ')}`); continue; }
23 + return answer;
24 + }
25 +};
26 +
27 +console.log('SVGarden — new snippet scaffolder\n');
28 +
29 +const title = await ask('Title (e.g. "Dash spinner")');
30 +const slug = await ask('Slug (kebab-case)', { def: title.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '') });
31 +const category = await ask('Category', { valid: CATEGORIES, def: 'loaders' });
32 +const difficulty = await ask('Difficulty', { valid: DIFFICULTIES, def: 'beginner' });
33 +const desc = await ask('One-line description');
34 +const tags = (await ask('Tags (comma-separated)', { def: category.replace(/s$/, '') })).split(',').map((t) => t.trim()).filter(Boolean);
35 +rl.close();
36 +
37 +const relPath = `snippets/${category}/${slug}.html`;
38 +const file = path.join(SNIPPETS_DIR, category, `${slug}.html`);
39 +
40 +try {
41 + await access(file);
42 + console.error(`✖ ${relPath} already exists.`);
43 + process.exit(1);
44 +} catch { /* good — does not exist */ }
45 +
46 +const today = new Date().toISOString().slice(0, 10);
47 +const cls = `sg-${slug}`;
48 +
49 +const content = `${attributionHeader(relPath, desc)}
50 +<!--svgarden
51 +title: ${title}
52 +slug: ${slug}
53 +category: ${category}
54 +tags: [${tags.join(', ')}]
55 +difficulty: ${difficulty}
56 +techniques: [TODO]
57 +how_it_works: >
58 + TODO — explain the technique in 2 to 4 sentences that genuinely teach it.
59 + What property animates, why it produces this visual effect, and what the
60 + reader should tweak first to make it their own.
61 +customizable:
62 + - { var: "--sg-color", label: "Color", type: color, default: "#7F77DD" }
63 + - { var: "--sg-size", label: "Size", type: range, min: 24, max: 120, default: 48, unit: px }
64 + - { var: "--sg-duration", label: "Speed", type: range, min: 0.5, max: 4, step: 0.1, default: 1.5, unit: s }
65 +created: ${today}
66 +-->
67 +<div class="${cls}" style="--sg-color:#7F77DD; --sg-size:48px; --sg-duration:1.5s;">
68 + <svg viewBox="0 0 50 50" width="48" height="48" aria-hidden="true" focusable="false">
69 + <!-- TODO: your SVG -->
70 + <circle cx="25" cy="25" r="20" fill="none" stroke="var(--sg-color)" stroke-width="4"/>
71 + </svg>
72 +</div>
73 +<style>
74 + .${cls} { width: var(--sg-size); height: var(--sg-size); }
75 + .${cls} svg { display: block; width: 100%; height: 100%; }
76 + /* TODO: @keyframes ${cls}-anim { } */
77 +</style>
78 +`;
79 +
80 +await mkdir(path.dirname(file), { recursive: true });
81 +await writeFile(file, content, 'utf8');
82 +console.log(`✔ created ${relPath} — fill in the TODOs, then run: npm run validate`);
added scripts/validate-snippets.mjs +122 −0
@@ -0,0 +1,122 @@
1 +/**
2 + * ============================================================
3 + * SVGarden — https://www.svgarden.dev
4 + * Author : Simon-Pierre Boucher
5 + * Contact: contact@spboucher.ai
6 + * File : scripts/validate-snippets.mjs
7 + * Desc : CI gate — validates headers, frontmatter, scoping and self-containment
8 + * ============================================================
9 + */
10 +import { readFile, readdir } from 'node:fs/promises';
11 +import path from 'node:path';
12 +import {
13 + SNIPPETS_DIR,
14 + CATEGORIES,
15 + DIFFICULTIES,
16 + parseSnippetSource,
17 +} from '../src/lib/snippets.mjs';
18 +
19 +const MAX_LINES = 120;
20 +const errors = [];
21 +const fail = (msg) => errors.push(msg);
22 +
23 +const files = [];
24 +for (const dirent of await readdir(SNIPPETS_DIR, { withFileTypes: true })) {
25 + if (!dirent.isDirectory()) continue;
26 + for (const f of await readdir(path.join(SNIPPETS_DIR, dirent.name))) {
27 + if (f.endsWith('.html')) files.push(path.join(dirent.name, f));
28 + }
29 +}
30 +files.sort();
31 +
32 +if (files.length === 0) {
33 + console.error('validate-snippets: no snippet files found under snippets/');
34 + process.exit(1);
35 +}
36 +
37 +const slugs = new Set();
38 +
39 +for (const rel of files) {
40 + const relPath = path.posix.join('snippets', ...rel.split(path.sep));
41 + const source = await readFile(path.join(SNIPPETS_DIR, rel), 'utf8');
42 +
43 + let s;
44 + try {
45 + s = parseSnippetSource(source, relPath);
46 + } catch (err) {
47 + fail(err.message);
48 + continue;
49 + }
50 +
51 + // Slug ↔ filename ↔ directory coherence
52 + const base = path.basename(rel, '.html');
53 + const dir = rel.split(path.sep)[0];
54 + if (s.slug !== base) fail(`${relPath}: slug "${s.slug}" ≠ filename "${base}"`);
55 + if (s.category !== dir) fail(`${relPath}: category "${s.category}" ≠ directory "${dir}"`);
56 + if (!CATEGORIES.includes(s.category)) fail(`${relPath}: unknown category "${s.category}"`);
57 + if (!DIFFICULTIES.includes(s.difficulty)) fail(`${relPath}: difficulty must be one of ${DIFFICULTIES.join('/')}`);
58 + if (slugs.has(s.slug)) fail(`${relPath}: duplicate slug "${s.slug}"`);
59 + slugs.add(s.slug);
60 +
61 + // Header must reference its own path
62 + const headerFile = source.match(/File {3}: (.+)/)?.[1]?.trim();
63 + if (headerFile !== relPath) fail(`${relPath}: header File line says "${headerFile}"`);
64 +
65 + // Size limit — elegance over bloat
66 + const codeLines = s.code.split('\n').length;
67 + if (codeLines > MAX_LINES) fail(`${relPath}: snippet code is ${codeLines} lines (max ${MAX_LINES})`);
68 +
69 + // Self-containment: no external assets of any kind
70 + if (/\b(?:src|href)\s*=\s*["']https?:/i.test(s.code)) fail(`${relPath}: external src/href — snippets must be self-contained`);
71 + if (/url\(\s*["']?https?:/i.test(s.code)) fail(`${relPath}: external url() — snippets must be self-contained`);
72 + if (/@import/i.test(s.code)) fail(`${relPath}: @import is forbidden`);
73 + if (/<link\b/i.test(s.code)) fail(`${relPath}: <link> is forbidden inside snippets`);
74 +
75 + // Scoping: every class used in markup or CSS must be sg- prefixed
76 + for (const m of s.code.matchAll(/class\s*=\s*["']([^"']+)["']/g)) {
77 + for (const cls of m[1].split(/\s+/).filter(Boolean)) {
78 + if (!cls.startsWith('sg-')) fail(`${relPath}: class "${cls}" is not sg- prefixed`);
79 + }
80 + }
81 + const styleBlocks = [...s.code.matchAll(/<style>([\s\S]*?)<\/style>/g)].map((m) => m[1]).join('\n');
82 + for (const m of styleBlocks.matchAll(/\.((?!sg-)[a-zA-Z_][\w-]*)/g)) {
83 + // Ignore decimals like ".5s" (matcher already excludes digits at start)
84 + fail(`${relPath}: CSS selector ".${m[1]}" is not sg- prefixed`);
85 + }
86 +
87 + // Custom properties: every customizable var must be declared on the root element
88 + const rootStyle = s.code.match(/<[a-z][^>]*style\s*=\s*["']([^"']*)["']/i)?.[1] ?? '';
89 + for (const c of s.customizable) {
90 + if (!c.var || !c.label || !c.type) {
91 + fail(`${relPath}: customizable entries need var/label/type`);
92 + continue;
93 + }
94 + if (!c.var.startsWith('--sg-')) fail(`${relPath}: customizable var "${c.var}" must start with --sg-`);
95 + if (!rootStyle.includes(c.var)) fail(`${relPath}: "${c.var}" not declared in the root element style attribute`);
96 + if (c.default === undefined) fail(`${relPath}: "${c.var}" has no default`);
97 + if (!['color', 'range'].includes(c.type)) fail(`${relPath}: "${c.var}" type must be color or range`);
98 + }
99 +
100 + // JS snippets must carry the js tag
101 + const hasScript = /<script/i.test(s.code);
102 + if (hasScript && !s.tags.includes('js')) fail(`${relPath}: contains <script> but lacks the "js" tag`);
103 + if (!hasScript && s.tags.includes('js')) fail(`${relPath}: tagged "js" but contains no <script>`);
104 +
105 + // Accessibility: every svg needs aria-hidden or role="img"
106 + for (const m of s.code.matchAll(/<svg\b[^>]*>/g)) {
107 + if (!/aria-hidden\s*=\s*["']true["']/.test(m[0]) && !/role\s*=\s*["']img["']/.test(m[0])) {
108 + fail(`${relPath}: <svg> needs aria-hidden="true" (decorative) or role="img" + <title>`);
109 + }
110 + }
111 +
112 + // Pedagogy: how_it_works must genuinely explain (2–4 sentences ≈ length bounds)
113 + if (s.howItWorks.length < 120) fail(`${relPath}: how_it_works too short to teach anything (${s.howItWorks.length} chars)`);
114 +}
115 +
116 +if (errors.length) {
117 + console.error(`✖ validate-snippets: ${errors.length} problem(s)\n`);
118 + for (const e of errors) console.error(` • ${e}`);
119 + process.exit(1);
120 +}
121 +
122 +console.log(`✔ validate-snippets: ${files.length} snippets valid (headers, frontmatter, scoping, self-containment)`);
added server.mjs +65 −0
@@ -0,0 +1,65 @@
1 +/**
2 + * ============================================================
3 + * SVGarden — https://www.svgarden.dev
4 + * Author : Simon-Pierre Boucher
5 + * Contact: contact@spboucher.ai
6 + * File : server.mjs
7 + * Desc : Tiny Express static server for dist/ on 127.0.0.1:4321 (+ /healthz)
8 + * ============================================================
9 + */
10 +import { readFileSync, existsSync } from 'node:fs';
11 +import path from 'node:path';
12 +import { fileURLToPath } from 'node:url';
13 +import express from 'express';
14 +import compression from 'compression';
15 +
16 +const ROOT = path.dirname(fileURLToPath(import.meta.url));
17 +const DIST = path.join(ROOT, 'dist');
18 +const PORT = Number(process.env.PORT ?? 4321);
19 +const HOST = process.env.HOST ?? '127.0.0.1';
20 +
21 +if (!existsSync(DIST)) {
22 + console.error('server.mjs: dist/ not found — run `npm run build` first.');
23 + process.exit(1);
24 +}
25 +
26 +const buildInfoPath = path.join(DIST, 'build-info.json');
27 +const buildInfo = existsSync(buildInfoPath)
28 + ? JSON.parse(readFileSync(buildInfoPath, 'utf8'))
29 + : { built: null, snippets: null };
30 +
31 +const app = express();
32 +app.disable('x-powered-by');
33 +app.use(compression());
34 +
35 +app.get('/healthz', (_req, res) => {
36 + res.set('Cache-Control', 'no-store');
37 + res.json({ status: 'ok', built: buildInfo.built, snippets: buildInfo.snippets });
38 +});
39 +
40 +app.use(
41 + express.static(DIST, {
42 + extensions: ['html'],
43 + setHeaders(res, filePath) {
44 + if (/\.(?:js|css|woff2?|svg|png|jpe?g|webp|avif)$/.test(filePath) && /_astro[\\/]/.test(filePath)) {
45 + // Astro emits content-hashed filenames under _astro/ — safe to cache forever
46 + res.setHeader('Cache-Control', 'public, max-age=31536000, immutable');
47 + } else if (filePath.endsWith('.html') || filePath.endsWith('.json')) {
48 + res.setHeader('Cache-Control', 'no-cache');
49 + } else {
50 + res.setHeader('Cache-Control', 'public, max-age=3600');
51 + }
52 + },
53 + })
54 +);
55 +
56 +app.use((_req, res) => {
57 + res.status(404);
58 + const notFound = path.join(DIST, '404.html');
59 + if (existsSync(notFound)) res.sendFile(notFound);
60 + else res.type('text').send('404 — not found');
61 +});
62 +
63 +app.listen(PORT, HOST, () => {
64 + console.log(`SVGarden serving ${DIST} on http://${HOST}:${PORT} (${buildInfo.snippets ?? '?'} snippets, built ${buildInfo.built ?? '?'})`);
65 +});
added src/lib/snippets.mjs +169 −0
@@ -0,0 +1,169 @@
1 +/**
2 + * ============================================================
3 + * SVGarden — https://www.svgarden.dev
4 + * Author : Simon-Pierre Boucher
5 + * Contact: contact@spboucher.ai
6 + * File : src/lib/snippets.mjs
7 + * Desc : Build-time snippet bank loader — parses snippets/** frontmatter
8 + * ============================================================
9 + */
10 +import { readFile, readdir } from 'node:fs/promises';
11 +import path from 'node:path';
12 +import { fileURLToPath } from 'node:url';
13 +import YAML from 'yaml';
14 +
15 +const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
16 +export const SNIPPETS_DIR = path.join(ROOT, 'snippets');
17 +
18 +export const CATEGORIES = [
19 + 'loaders',
20 + 'stroke-draw',
21 + 'hover',
22 + 'gauges',
23 + 'text',
24 + 'morph',
25 + 'backgrounds',
26 + 'buttons',
27 +];
28 +
29 +export const DIFFICULTIES = ['beginner', 'intermediate', 'advanced'];
30 +
31 +const AUTHOR_HEADER_RE =
32 + /^<!--\s*\n\s*=+\s*\n\s*SVGarden — https:\/\/www\.svgarden\.dev\s*\n\s*Author : Simon-Pierre Boucher\s*\n\s*Contact: contact@spboucher\.ai\s*\n\s*File {3}: (.+)\s*\n\s*Desc {3}: (.+)\s*\n\s*=+\s*\n-->/;
33 +
34 +const FRONTMATTER_RE = /<!--svgarden\n([\s\S]*?)\n-->/;
35 +
36 +/** Builds the attribution header that travels with every copied snippet. */
37 +export function attributionHeader(relPath, desc) {
38 + return [
39 + '<!--',
40 + ' ============================================================',
41 + ' SVGarden — https://www.svgarden.dev',
42 + ' Author : Simon-Pierre Boucher',
43 + ' Contact: contact@spboucher.ai',
44 + ` File : ${relPath}`,
45 + ` Desc : ${desc}`,
46 + ' ============================================================',
47 + '-->',
48 + ].join('\n');
49 +}
50 +
51 +/**
52 + * Parses one snippet file into its metadata + raw code.
53 + * Throws with a descriptive message on any structural violation,
54 + * so both the build and validate-snippets.mjs fail loudly.
55 + */
56 +export function parseSnippetSource(source, relPath) {
57 + const headerMatch = source.match(AUTHOR_HEADER_RE);
58 + if (!headerMatch) {
59 + throw new Error(`${relPath}: missing or malformed SVGarden author header`);
60 + }
61 + const desc = headerMatch[2].trim();
62 +
63 + const fmMatch = source.match(FRONTMATTER_RE);
64 + if (!fmMatch) {
65 + throw new Error(`${relPath}: missing <!--svgarden ...--> frontmatter block`);
66 + }
67 +
68 + let meta;
69 + try {
70 + meta = YAML.parse(fmMatch[1]);
71 + } catch (err) {
72 + throw new Error(`${relPath}: invalid YAML frontmatter — ${err.message}`);
73 + }
74 +
75 + for (const field of ['title', 'slug', 'category', 'tags', 'difficulty', 'techniques', 'how_it_works', 'created']) {
76 + if (meta[field] === undefined || meta[field] === null || meta[field] === '') {
77 + throw new Error(`${relPath}: frontmatter missing required field "${field}"`);
78 + }
79 + }
80 +
81 + const code = source.slice(source.indexOf(fmMatch[0]) + fmMatch[0].length).trim();
82 + if (!code) {
83 + throw new Error(`${relPath}: no snippet code after frontmatter`);
84 + }
85 +
86 + const customizable = Array.isArray(meta.customizable) ? meta.customizable : [];
87 +
88 + return {
89 + title: String(meta.title),
90 + slug: String(meta.slug),
91 + category: String(meta.category),
92 + tags: (meta.tags ?? []).map(String),
93 + difficulty: String(meta.difficulty),
94 + techniques: (meta.techniques ?? []).map(String),
95 + howItWorks: String(meta.how_it_works).trim(),
96 + customizable,
97 + created: String(meta.created),
98 + desc,
99 + relPath,
100 + code,
101 + header: attributionHeader(relPath, desc),
102 + };
103 +}
104 +
105 +/** The full snippet text a visitor gets from Copy / Download. */
106 +export function copyText(snippet, code = snippet.code) {
107 + return `${snippet.header}\n${code}\n`;
108 +}
109 +
110 +/** Loads, parses and sorts the whole bank. Cached per process (one build). */
111 +let cache = null;
112 +export async function loadSnippets() {
113 + if (cache) return cache;
114 + const files = [];
115 + for (const dirent of await readdir(SNIPPETS_DIR, { withFileTypes: true })) {
116 + if (!dirent.isDirectory()) continue;
117 + for (const f of await readdir(path.join(SNIPPETS_DIR, dirent.name))) {
118 + if (f.endsWith('.html')) files.push(path.join(dirent.name, f));
119 + }
120 + }
121 + files.sort();
122 +
123 + const snippets = [];
124 + const slugs = new Set();
125 + for (const rel of files) {
126 + const relPath = path.posix.join('snippets', ...rel.split(path.sep));
127 + const source = await readFile(path.join(SNIPPETS_DIR, rel), 'utf8');
128 + const snippet = parseSnippetSource(source, relPath);
129 + const dirCategory = rel.split(path.sep)[0];
130 + if (snippet.category !== dirCategory) {
131 + throw new Error(`${relPath}: frontmatter category "${snippet.category}" ≠ directory "${dirCategory}"`);
132 + }
133 + if (slugs.has(snippet.slug)) {
134 + throw new Error(`${relPath}: duplicate slug "${snippet.slug}"`);
135 + }
136 + slugs.add(snippet.slug);
137 + snippets.push(snippet);
138 + }
139 +
140 + snippets.sort((a, b) => a.category.localeCompare(b.category) || a.title.localeCompare(b.title));
141 + cache = snippets;
142 + return snippets;
143 +}
144 +
145 +/** Categories that actually contain snippets, with counts. */
146 +export async function loadCategories() {
147 + const snippets = await loadSnippets();
148 + const counts = new Map();
149 + for (const s of snippets) counts.set(s.category, (counts.get(s.category) ?? 0) + 1);
150 + return CATEGORIES.filter((c) => counts.has(c)).map((c) => ({ name: c, count: counts.get(c) }));
151 +}
152 +
153 +/** Standalone HTML document used inside the sandboxed preview iframes. */
154 +export function previewDocument(snippet, { padding = '1rem' } = {}) {
155 + return `<!DOCTYPE html>
156 +<html lang="en">
157 +<head>
158 +<meta charset="utf-8">
159 +<meta name="viewport" content="width=device-width, initial-scale=1">
160 +<style>
161 + html, body { margin: 0; height: 100%; }
162 + body { display: grid; place-items: center; padding: ${padding}; box-sizing: border-box; overflow: hidden; background: var(--sg-preview-bg, #ffffff); transition: background .2s ease; }
163 +</style>
164 +</head>
165 +<body>
166 +${snippet.code}
167 +</body>
168 +</html>`;
169 +}
170