[READ-ONLY] Mirror of https://github.com/excaliburjs/template-nextjs.
excalibur excaliburjs template
0

Configure Feed

Select the types of activity you want to include in your feed.

feat: initial next.js + excalibur template

authored by

ospira and committed by
GitHub
(Mar 23, 2025, 7:44 PM -0500) b32ca1d6 ec93bf87

+6046
+3
.env.example
··· 1 + # Rename this file to `.env.local` to use environment variables locally with `next dev` 2 + # https://nextjs.org/docs/app/building-your-application/configuring/environment-variables 3 + MY_HOST="example.com"
+44
.gitignore
··· 1 + # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 + 3 + # dependencies 4 + /node_modules 5 + /.pnp 6 + .pnp.* 7 + .yarn/* 8 + !.yarn/patches 9 + !.yarn/plugins 10 + !.yarn/releases 11 + !.yarn/versions 12 + 13 + # testing 14 + /coverage 15 + 16 + # excalibur 17 + dist/ 18 + 19 + # next.js 20 + /.next/ 21 + /out/ 22 + 23 + # production 24 + /build 25 + 26 + # misc 27 + .DS_Store 28 + *.pem 29 + 30 + # debug 31 + npm-debug.log* 32 + yarn-debug.log* 33 + yarn-error.log* 34 + .pnpm-debug.log* 35 + 36 + # env files (can opt-in for committing if needed) 37 + .env* 38 + 39 + # vercel 40 + .vercel 41 + 42 + # typescript 43 + *.tsbuildinfo 44 + next-env.d.ts
+22
README.MD
··· 1 + # Excalibur Next.js (TypeScript) Starter 2 + 3 + This is a barebones [Excalibur](https://excaliburjs.com) game engine starter built using Next.js (v15) and React (v19). It's a great starting place to jumpstart building your game! This repo is a template and can be used to [create your own repository](https://github.com/excaliburjs/template-nextjs/generate) in GitHub. 4 + 5 + Check out our [other samples](https://excaliburjs.com/samples) while you build your game or [ask us questions](https://github.com/excaliburjs/Excalibur/discussions). 6 + 7 + ## Get Started 8 + 9 + * Using [Node.js](https://nodejs.org/en/) (18 LTS - minimum) and [npm](https://www.npmjs.com/) 10 + * Run the `npm install` to install dependencies 11 + * Run the `npm run dev` to run the development server to test out changes 12 + * [Next.js](https://nextjs.org/) will automatically handle turning the [Typescript](https://www.typescriptlang.org/) into Javascript and hosting the dev server. 13 + 14 + ## Publishing 15 + 16 + * Run `npm run build` to produce production bundles. Note Next.js has a variety of [options/settings](https://nextjs.org/docs/app/building-your-application/deploying) to familiarize yourself with, from server side rendering to static bundles. 17 + 18 + ### Notes 19 + 20 + When deploying an Excalibur app in a Next.js context, given the Next.js API and strong support for [React Server Components](https://react.dev/reference/rsc/server-components), one should ensure a good familiarity with the basics of the Next.js [docs](https://nextjs.org/learn) if straying too far from this template. Remember, this a barebones example, and Excalibur depends on client side APIs to run correctly. 21 + 22 + Happy coding!
+16
eslint.config.mjs
··· 1 + import { dirname } from "path"; 2 + import { fileURLToPath } from "url"; 3 + import { FlatCompat } from "@eslint/eslintrc"; 4 + 5 + const __filename = fileURLToPath(import.meta.url); 6 + const __dirname = dirname(__filename); 7 + 8 + const compat = new FlatCompat({ 9 + baseDirectory: __dirname, 10 + }); 11 + 12 + const eslintConfig = [ 13 + ...compat.extends("next/core-web-vitals", "next/typescript"), 14 + ]; 15 + 16 + export default eslintConfig;
+7
next.config.ts
··· 1 + import type { NextConfig } from "next"; 2 + 3 + const nextConfig: NextConfig = { 4 + /* config options here */ 5 + }; 6 + 7 + export default nextConfig;
+5495
package-lock.json
··· 1 + { 2 + "name": "template-nextjs", 3 + "version": "1.0.0", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "template-nextjs", 9 + "version": "1.0.0", 10 + "license": "BSD-2-Clause", 11 + "dependencies": { 12 + "@excaliburjs/plugin-tiled": "^0.30.2", 13 + "excalibur": "0.30.3", 14 + "next": "^15.2.3", 15 + "react": "19.0.0", 16 + "react-dom": "19.0.0" 17 + }, 18 + "devDependencies": { 19 + "@playwright/test": "^1.49.1", 20 + "@types/node": "^22", 21 + "@types/react": "^19", 22 + "@types/react-dom": "^19", 23 + "eslint": "^9.22.0", 24 + "eslint-config-next": "^15.2.3", 25 + "typescript": "^5" 26 + } 27 + }, 28 + "node_modules/@asamuzakjp/css-color": { 29 + "version": "3.1.1", 30 + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.1.1.tgz", 31 + "integrity": "sha512-hpRD68SV2OMcZCsrbdkccTw5FXjNDLo5OuqSHyHZfwweGsDWZwDJ2+gONyNAbazZclobMirACLw0lk8WVxIqxA==", 32 + "optional": true, 33 + "dependencies": { 34 + "@csstools/css-calc": "^2.1.2", 35 + "@csstools/css-color-parser": "^3.0.8", 36 + "@csstools/css-parser-algorithms": "^3.0.4", 37 + "@csstools/css-tokenizer": "^3.0.3", 38 + "lru-cache": "^10.4.3" 39 + } 40 + }, 41 + "node_modules/@asamuzakjp/dom-selector": { 42 + "version": "2.0.2", 43 + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-2.0.2.tgz", 44 + "integrity": "sha512-x1KXOatwofR6ZAYzXRBL5wrdV0vwNxlTCK9NCuLqAzQYARqGcvFwiJA6A1ERuh+dgeA4Dxm3JBYictIes+SqUQ==", 45 + "optional": true, 46 + "dependencies": { 47 + "bidi-js": "^1.0.3", 48 + "css-tree": "^2.3.1", 49 + "is-potential-custom-element-name": "^1.0.1" 50 + } 51 + }, 52 + "node_modules/@csstools/color-helpers": { 53 + "version": "5.0.2", 54 + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", 55 + "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", 56 + "funding": [ 57 + { 58 + "type": "github", 59 + "url": "https://github.com/sponsors/csstools" 60 + }, 61 + { 62 + "type": "opencollective", 63 + "url": "https://opencollective.com/csstools" 64 + } 65 + ], 66 + "optional": true, 67 + "engines": { 68 + "node": ">=18" 69 + } 70 + }, 71 + "node_modules/@csstools/css-calc": { 72 + "version": "2.1.2", 73 + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.2.tgz", 74 + "integrity": "sha512-TklMyb3uBB28b5uQdxjReG4L80NxAqgrECqLZFQbyLekwwlcDDS8r3f07DKqeo8C4926Br0gf/ZDe17Zv4wIuw==", 75 + "funding": [ 76 + { 77 + "type": "github", 78 + "url": "https://github.com/sponsors/csstools" 79 + }, 80 + { 81 + "type": "opencollective", 82 + "url": "https://opencollective.com/csstools" 83 + } 84 + ], 85 + "optional": true, 86 + "engines": { 87 + "node": ">=18" 88 + }, 89 + "peerDependencies": { 90 + "@csstools/css-parser-algorithms": "^3.0.4", 91 + "@csstools/css-tokenizer": "^3.0.3" 92 + } 93 + }, 94 + "node_modules/@csstools/css-color-parser": { 95 + "version": "3.0.8", 96 + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.8.tgz", 97 + "integrity": "sha512-pdwotQjCCnRPuNi06jFuP68cykU1f3ZWExLe/8MQ1LOs8Xq+fTkYgd+2V8mWUWMrOn9iS2HftPVaMZDaXzGbhQ==", 98 + "funding": [ 99 + { 100 + "type": "github", 101 + "url": "https://github.com/sponsors/csstools" 102 + }, 103 + { 104 + "type": "opencollective", 105 + "url": "https://opencollective.com/csstools" 106 + } 107 + ], 108 + "optional": true, 109 + "dependencies": { 110 + "@csstools/color-helpers": "^5.0.2", 111 + "@csstools/css-calc": "^2.1.2" 112 + }, 113 + "engines": { 114 + "node": ">=18" 115 + }, 116 + "peerDependencies": { 117 + "@csstools/css-parser-algorithms": "^3.0.4", 118 + "@csstools/css-tokenizer": "^3.0.3" 119 + } 120 + }, 121 + "node_modules/@csstools/css-parser-algorithms": { 122 + "version": "3.0.4", 123 + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz", 124 + "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", 125 + "funding": [ 126 + { 127 + "type": "github", 128 + "url": "https://github.com/sponsors/csstools" 129 + }, 130 + { 131 + "type": "opencollective", 132 + "url": "https://opencollective.com/csstools" 133 + } 134 + ], 135 + "optional": true, 136 + "engines": { 137 + "node": ">=18" 138 + }, 139 + "peerDependencies": { 140 + "@csstools/css-tokenizer": "^3.0.3" 141 + } 142 + }, 143 + "node_modules/@csstools/css-tokenizer": { 144 + "version": "3.0.3", 145 + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz", 146 + "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==", 147 + "funding": [ 148 + { 149 + "type": "github", 150 + "url": "https://github.com/sponsors/csstools" 151 + }, 152 + { 153 + "type": "opencollective", 154 + "url": "https://opencollective.com/csstools" 155 + } 156 + ], 157 + "optional": true, 158 + "engines": { 159 + "node": ">=18" 160 + } 161 + }, 162 + "node_modules/@emnapi/core": { 163 + "version": "1.3.1", 164 + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.1.tgz", 165 + "integrity": "sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==", 166 + "dev": true, 167 + "optional": true, 168 + "dependencies": { 169 + "@emnapi/wasi-threads": "1.0.1", 170 + "tslib": "^2.4.0" 171 + } 172 + }, 173 + "node_modules/@emnapi/runtime": { 174 + "version": "1.3.1", 175 + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", 176 + "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", 177 + "optional": true, 178 + "dependencies": { 179 + "tslib": "^2.4.0" 180 + } 181 + }, 182 + "node_modules/@emnapi/wasi-threads": { 183 + "version": "1.0.1", 184 + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", 185 + "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", 186 + "dev": true, 187 + "optional": true, 188 + "dependencies": { 189 + "tslib": "^2.4.0" 190 + } 191 + }, 192 + "node_modules/@eslint-community/eslint-utils": { 193 + "version": "4.5.1", 194 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", 195 + "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", 196 + "dev": true, 197 + "dependencies": { 198 + "eslint-visitor-keys": "^3.4.3" 199 + }, 200 + "engines": { 201 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 202 + }, 203 + "funding": { 204 + "url": "https://opencollective.com/eslint" 205 + }, 206 + "peerDependencies": { 207 + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 208 + } 209 + }, 210 + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { 211 + "version": "3.4.3", 212 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 213 + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 214 + "dev": true, 215 + "engines": { 216 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 217 + }, 218 + "funding": { 219 + "url": "https://opencollective.com/eslint" 220 + } 221 + }, 222 + "node_modules/@eslint-community/regexpp": { 223 + "version": "4.12.1", 224 + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", 225 + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", 226 + "dev": true, 227 + "engines": { 228 + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 229 + } 230 + }, 231 + "node_modules/@eslint/config-array": { 232 + "version": "0.19.2", 233 + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", 234 + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", 235 + "dev": true, 236 + "dependencies": { 237 + "@eslint/object-schema": "^2.1.6", 238 + "debug": "^4.3.1", 239 + "minimatch": "^3.1.2" 240 + }, 241 + "engines": { 242 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 243 + } 244 + }, 245 + "node_modules/@eslint/config-helpers": { 246 + "version": "0.1.0", 247 + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz", 248 + "integrity": "sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==", 249 + "dev": true, 250 + "engines": { 251 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 252 + } 253 + }, 254 + "node_modules/@eslint/core": { 255 + "version": "0.12.0", 256 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", 257 + "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", 258 + "dev": true, 259 + "dependencies": { 260 + "@types/json-schema": "^7.0.15" 261 + }, 262 + "engines": { 263 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 264 + } 265 + }, 266 + "node_modules/@eslint/eslintrc": { 267 + "version": "3.3.0", 268 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz", 269 + "integrity": "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==", 270 + "dev": true, 271 + "dependencies": { 272 + "ajv": "^6.12.4", 273 + "debug": "^4.3.2", 274 + "espree": "^10.0.1", 275 + "globals": "^14.0.0", 276 + "ignore": "^5.2.0", 277 + "import-fresh": "^3.2.1", 278 + "js-yaml": "^4.1.0", 279 + "minimatch": "^3.1.2", 280 + "strip-json-comments": "^3.1.1" 281 + }, 282 + "engines": { 283 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 284 + }, 285 + "funding": { 286 + "url": "https://opencollective.com/eslint" 287 + } 288 + }, 289 + "node_modules/@eslint/js": { 290 + "version": "9.22.0", 291 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz", 292 + "integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==", 293 + "dev": true, 294 + "engines": { 295 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 296 + } 297 + }, 298 + "node_modules/@eslint/object-schema": { 299 + "version": "2.1.6", 300 + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", 301 + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", 302 + "dev": true, 303 + "engines": { 304 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 305 + } 306 + }, 307 + "node_modules/@eslint/plugin-kit": { 308 + "version": "0.2.7", 309 + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", 310 + "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", 311 + "dev": true, 312 + "dependencies": { 313 + "@eslint/core": "^0.12.0", 314 + "levn": "^0.4.1" 315 + }, 316 + "engines": { 317 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 318 + } 319 + }, 320 + "node_modules/@excaliburjs/plugin-tiled": { 321 + "version": "0.30.2", 322 + "resolved": "https://registry.npmjs.org/@excaliburjs/plugin-tiled/-/plugin-tiled-0.30.2.tgz", 323 + "integrity": "sha512-rSFHMySTIR5gLF56HvVhuQDMQ6cLrBlsBwAjAZ41e235uqOfxu4C79B0VTBlu8AKY8UMKvZFBnOwu+1UtAUpAA==", 324 + "dependencies": { 325 + "compare-versions": "6.1.1", 326 + "pako": "1.0.11", 327 + "zod": "3.24.1", 328 + "zstddec": "0.1.0" 329 + }, 330 + "optionalDependencies": { 331 + "jsdom": "^23.2.0" 332 + }, 333 + "peerDependencies": { 334 + "excalibur": "~0.30.1" 335 + } 336 + }, 337 + "node_modules/@humanfs/core": { 338 + "version": "0.19.1", 339 + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", 340 + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", 341 + "dev": true, 342 + "engines": { 343 + "node": ">=18.18.0" 344 + } 345 + }, 346 + "node_modules/@humanfs/node": { 347 + "version": "0.16.6", 348 + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", 349 + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", 350 + "dev": true, 351 + "dependencies": { 352 + "@humanfs/core": "^0.19.1", 353 + "@humanwhocodes/retry": "^0.3.0" 354 + }, 355 + "engines": { 356 + "node": ">=18.18.0" 357 + } 358 + }, 359 + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { 360 + "version": "0.3.1", 361 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", 362 + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", 363 + "dev": true, 364 + "engines": { 365 + "node": ">=18.18" 366 + }, 367 + "funding": { 368 + "type": "github", 369 + "url": "https://github.com/sponsors/nzakas" 370 + } 371 + }, 372 + "node_modules/@humanwhocodes/module-importer": { 373 + "version": "1.0.1", 374 + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 375 + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 376 + "dev": true, 377 + "engines": { 378 + "node": ">=12.22" 379 + }, 380 + "funding": { 381 + "type": "github", 382 + "url": "https://github.com/sponsors/nzakas" 383 + } 384 + }, 385 + "node_modules/@humanwhocodes/retry": { 386 + "version": "0.4.2", 387 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", 388 + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", 389 + "dev": true, 390 + "engines": { 391 + "node": ">=18.18" 392 + }, 393 + "funding": { 394 + "type": "github", 395 + "url": "https://github.com/sponsors/nzakas" 396 + } 397 + }, 398 + "node_modules/@img/sharp-darwin-arm64": { 399 + "version": "0.33.5", 400 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", 401 + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", 402 + "cpu": [ 403 + "arm64" 404 + ], 405 + "optional": true, 406 + "os": [ 407 + "darwin" 408 + ], 409 + "engines": { 410 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 411 + }, 412 + "funding": { 413 + "url": "https://opencollective.com/libvips" 414 + }, 415 + "optionalDependencies": { 416 + "@img/sharp-libvips-darwin-arm64": "1.0.4" 417 + } 418 + }, 419 + "node_modules/@img/sharp-darwin-x64": { 420 + "version": "0.33.5", 421 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", 422 + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", 423 + "cpu": [ 424 + "x64" 425 + ], 426 + "optional": true, 427 + "os": [ 428 + "darwin" 429 + ], 430 + "engines": { 431 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 432 + }, 433 + "funding": { 434 + "url": "https://opencollective.com/libvips" 435 + }, 436 + "optionalDependencies": { 437 + "@img/sharp-libvips-darwin-x64": "1.0.4" 438 + } 439 + }, 440 + "node_modules/@img/sharp-libvips-darwin-arm64": { 441 + "version": "1.0.4", 442 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", 443 + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", 444 + "cpu": [ 445 + "arm64" 446 + ], 447 + "optional": true, 448 + "os": [ 449 + "darwin" 450 + ], 451 + "funding": { 452 + "url": "https://opencollective.com/libvips" 453 + } 454 + }, 455 + "node_modules/@img/sharp-libvips-darwin-x64": { 456 + "version": "1.0.4", 457 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", 458 + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", 459 + "cpu": [ 460 + "x64" 461 + ], 462 + "optional": true, 463 + "os": [ 464 + "darwin" 465 + ], 466 + "funding": { 467 + "url": "https://opencollective.com/libvips" 468 + } 469 + }, 470 + "node_modules/@img/sharp-libvips-linux-arm": { 471 + "version": "1.0.5", 472 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", 473 + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", 474 + "cpu": [ 475 + "arm" 476 + ], 477 + "optional": true, 478 + "os": [ 479 + "linux" 480 + ], 481 + "funding": { 482 + "url": "https://opencollective.com/libvips" 483 + } 484 + }, 485 + "node_modules/@img/sharp-libvips-linux-arm64": { 486 + "version": "1.0.4", 487 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", 488 + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", 489 + "cpu": [ 490 + "arm64" 491 + ], 492 + "optional": true, 493 + "os": [ 494 + "linux" 495 + ], 496 + "funding": { 497 + "url": "https://opencollective.com/libvips" 498 + } 499 + }, 500 + "node_modules/@img/sharp-libvips-linux-s390x": { 501 + "version": "1.0.4", 502 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", 503 + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", 504 + "cpu": [ 505 + "s390x" 506 + ], 507 + "optional": true, 508 + "os": [ 509 + "linux" 510 + ], 511 + "funding": { 512 + "url": "https://opencollective.com/libvips" 513 + } 514 + }, 515 + "node_modules/@img/sharp-libvips-linux-x64": { 516 + "version": "1.0.4", 517 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", 518 + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", 519 + "cpu": [ 520 + "x64" 521 + ], 522 + "optional": true, 523 + "os": [ 524 + "linux" 525 + ], 526 + "funding": { 527 + "url": "https://opencollective.com/libvips" 528 + } 529 + }, 530 + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { 531 + "version": "1.0.4", 532 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", 533 + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", 534 + "cpu": [ 535 + "arm64" 536 + ], 537 + "optional": true, 538 + "os": [ 539 + "linux" 540 + ], 541 + "funding": { 542 + "url": "https://opencollective.com/libvips" 543 + } 544 + }, 545 + "node_modules/@img/sharp-libvips-linuxmusl-x64": { 546 + "version": "1.0.4", 547 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", 548 + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", 549 + "cpu": [ 550 + "x64" 551 + ], 552 + "optional": true, 553 + "os": [ 554 + "linux" 555 + ], 556 + "funding": { 557 + "url": "https://opencollective.com/libvips" 558 + } 559 + }, 560 + "node_modules/@img/sharp-linux-arm": { 561 + "version": "0.33.5", 562 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", 563 + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", 564 + "cpu": [ 565 + "arm" 566 + ], 567 + "optional": true, 568 + "os": [ 569 + "linux" 570 + ], 571 + "engines": { 572 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 573 + }, 574 + "funding": { 575 + "url": "https://opencollective.com/libvips" 576 + }, 577 + "optionalDependencies": { 578 + "@img/sharp-libvips-linux-arm": "1.0.5" 579 + } 580 + }, 581 + "node_modules/@img/sharp-linux-arm64": { 582 + "version": "0.33.5", 583 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", 584 + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", 585 + "cpu": [ 586 + "arm64" 587 + ], 588 + "optional": true, 589 + "os": [ 590 + "linux" 591 + ], 592 + "engines": { 593 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 594 + }, 595 + "funding": { 596 + "url": "https://opencollective.com/libvips" 597 + }, 598 + "optionalDependencies": { 599 + "@img/sharp-libvips-linux-arm64": "1.0.4" 600 + } 601 + }, 602 + "node_modules/@img/sharp-linux-s390x": { 603 + "version": "0.33.5", 604 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", 605 + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", 606 + "cpu": [ 607 + "s390x" 608 + ], 609 + "optional": true, 610 + "os": [ 611 + "linux" 612 + ], 613 + "engines": { 614 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 615 + }, 616 + "funding": { 617 + "url": "https://opencollective.com/libvips" 618 + }, 619 + "optionalDependencies": { 620 + "@img/sharp-libvips-linux-s390x": "1.0.4" 621 + } 622 + }, 623 + "node_modules/@img/sharp-linux-x64": { 624 + "version": "0.33.5", 625 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", 626 + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", 627 + "cpu": [ 628 + "x64" 629 + ], 630 + "optional": true, 631 + "os": [ 632 + "linux" 633 + ], 634 + "engines": { 635 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 636 + }, 637 + "funding": { 638 + "url": "https://opencollective.com/libvips" 639 + }, 640 + "optionalDependencies": { 641 + "@img/sharp-libvips-linux-x64": "1.0.4" 642 + } 643 + }, 644 + "node_modules/@img/sharp-linuxmusl-arm64": { 645 + "version": "0.33.5", 646 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", 647 + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", 648 + "cpu": [ 649 + "arm64" 650 + ], 651 + "optional": true, 652 + "os": [ 653 + "linux" 654 + ], 655 + "engines": { 656 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 657 + }, 658 + "funding": { 659 + "url": "https://opencollective.com/libvips" 660 + }, 661 + "optionalDependencies": { 662 + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" 663 + } 664 + }, 665 + "node_modules/@img/sharp-linuxmusl-x64": { 666 + "version": "0.33.5", 667 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", 668 + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", 669 + "cpu": [ 670 + "x64" 671 + ], 672 + "optional": true, 673 + "os": [ 674 + "linux" 675 + ], 676 + "engines": { 677 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 678 + }, 679 + "funding": { 680 + "url": "https://opencollective.com/libvips" 681 + }, 682 + "optionalDependencies": { 683 + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" 684 + } 685 + }, 686 + "node_modules/@img/sharp-wasm32": { 687 + "version": "0.33.5", 688 + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", 689 + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", 690 + "cpu": [ 691 + "wasm32" 692 + ], 693 + "optional": true, 694 + "dependencies": { 695 + "@emnapi/runtime": "^1.2.0" 696 + }, 697 + "engines": { 698 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 699 + }, 700 + "funding": { 701 + "url": "https://opencollective.com/libvips" 702 + } 703 + }, 704 + "node_modules/@img/sharp-win32-ia32": { 705 + "version": "0.33.5", 706 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", 707 + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", 708 + "cpu": [ 709 + "ia32" 710 + ], 711 + "optional": true, 712 + "os": [ 713 + "win32" 714 + ], 715 + "engines": { 716 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 717 + }, 718 + "funding": { 719 + "url": "https://opencollective.com/libvips" 720 + } 721 + }, 722 + "node_modules/@img/sharp-win32-x64": { 723 + "version": "0.33.5", 724 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", 725 + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", 726 + "cpu": [ 727 + "x64" 728 + ], 729 + "optional": true, 730 + "os": [ 731 + "win32" 732 + ], 733 + "engines": { 734 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 735 + }, 736 + "funding": { 737 + "url": "https://opencollective.com/libvips" 738 + } 739 + }, 740 + "node_modules/@napi-rs/wasm-runtime": { 741 + "version": "0.2.7", 742 + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.7.tgz", 743 + "integrity": "sha512-5yximcFK5FNompXfJFoWanu5l8v1hNGqNHh9du1xETp9HWk/B/PzvchX55WYOPaIeNglG8++68AAiauBAtbnzw==", 744 + "dev": true, 745 + "optional": true, 746 + "dependencies": { 747 + "@emnapi/core": "^1.3.1", 748 + "@emnapi/runtime": "^1.3.1", 749 + "@tybys/wasm-util": "^0.9.0" 750 + } 751 + }, 752 + "node_modules/@next/env": { 753 + "version": "15.2.3", 754 + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.3.tgz", 755 + "integrity": "sha512-a26KnbW9DFEUsSxAxKBORR/uD9THoYoKbkpFywMN/AFvboTt94b8+g/07T8J6ACsdLag8/PDU60ov4rPxRAixw==" 756 + }, 757 + "node_modules/@next/eslint-plugin-next": { 758 + "version": "15.2.3", 759 + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.2.3.tgz", 760 + "integrity": "sha512-eNSOIMJtjs+dp4Ms1tB1PPPJUQHP3uZK+OQ7iFY9qXpGO6ojT6imCL+KcUOqE/GXGidWbBZJzYdgAdPHqeCEPA==", 761 + "dev": true, 762 + "dependencies": { 763 + "fast-glob": "3.3.1" 764 + } 765 + }, 766 + "node_modules/@next/swc-darwin-arm64": { 767 + "version": "15.2.3", 768 + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.3.tgz", 769 + "integrity": "sha512-uaBhA8aLbXLqwjnsHSkxs353WrRgQgiFjduDpc7YXEU0B54IKx3vU+cxQlYwPCyC8uYEEX7THhtQQsfHnvv8dw==", 770 + "cpu": [ 771 + "arm64" 772 + ], 773 + "optional": true, 774 + "os": [ 775 + "darwin" 776 + ], 777 + "engines": { 778 + "node": ">= 10" 779 + } 780 + }, 781 + "node_modules/@next/swc-darwin-x64": { 782 + "version": "15.2.3", 783 + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.3.tgz", 784 + "integrity": "sha512-pVwKvJ4Zk7h+4hwhqOUuMx7Ib02u3gDX3HXPKIShBi9JlYllI0nU6TWLbPT94dt7FSi6mSBhfc2JrHViwqbOdw==", 785 + "cpu": [ 786 + "x64" 787 + ], 788 + "optional": true, 789 + "os": [ 790 + "darwin" 791 + ], 792 + "engines": { 793 + "node": ">= 10" 794 + } 795 + }, 796 + "node_modules/@next/swc-linux-arm64-gnu": { 797 + "version": "15.2.3", 798 + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.3.tgz", 799 + "integrity": "sha512-50ibWdn2RuFFkOEUmo9NCcQbbV9ViQOrUfG48zHBCONciHjaUKtHcYFiCwBVuzD08fzvzkWuuZkd4AqbvKO7UQ==", 800 + "cpu": [ 801 + "arm64" 802 + ], 803 + "optional": true, 804 + "os": [ 805 + "linux" 806 + ], 807 + "engines": { 808 + "node": ">= 10" 809 + } 810 + }, 811 + "node_modules/@next/swc-linux-arm64-musl": { 812 + "version": "15.2.3", 813 + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.3.tgz", 814 + "integrity": "sha512-2gAPA7P652D3HzR4cLyAuVYwYqjG0mt/3pHSWTCyKZq/N/dJcUAEoNQMyUmwTZWCJRKofB+JPuDVP2aD8w2J6Q==", 815 + "cpu": [ 816 + "arm64" 817 + ], 818 + "optional": true, 819 + "os": [ 820 + "linux" 821 + ], 822 + "engines": { 823 + "node": ">= 10" 824 + } 825 + }, 826 + "node_modules/@next/swc-linux-x64-gnu": { 827 + "version": "15.2.3", 828 + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.3.tgz", 829 + "integrity": "sha512-ODSKvrdMgAJOVU4qElflYy1KSZRM3M45JVbeZu42TINCMG3anp7YCBn80RkISV6bhzKwcUqLBAmOiWkaGtBA9w==", 830 + "cpu": [ 831 + "x64" 832 + ], 833 + "optional": true, 834 + "os": [ 835 + "linux" 836 + ], 837 + "engines": { 838 + "node": ">= 10" 839 + } 840 + }, 841 + "node_modules/@next/swc-linux-x64-musl": { 842 + "version": "15.2.3", 843 + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.3.tgz", 844 + "integrity": "sha512-ZR9kLwCWrlYxwEoytqPi1jhPd1TlsSJWAc+H/CJHmHkf2nD92MQpSRIURR1iNgA/kuFSdxB8xIPt4p/T78kwsg==", 845 + "cpu": [ 846 + "x64" 847 + ], 848 + "optional": true, 849 + "os": [ 850 + "linux" 851 + ], 852 + "engines": { 853 + "node": ">= 10" 854 + } 855 + }, 856 + "node_modules/@next/swc-win32-arm64-msvc": { 857 + "version": "15.2.3", 858 + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.3.tgz", 859 + "integrity": "sha512-+G2FrDcfm2YDbhDiObDU/qPriWeiz/9cRR0yMWJeTLGGX6/x8oryO3tt7HhodA1vZ8r2ddJPCjtLcpaVl7TE2Q==", 860 + "cpu": [ 861 + "arm64" 862 + ], 863 + "optional": true, 864 + "os": [ 865 + "win32" 866 + ], 867 + "engines": { 868 + "node": ">= 10" 869 + } 870 + }, 871 + "node_modules/@next/swc-win32-x64-msvc": { 872 + "version": "15.2.3", 873 + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.3.tgz", 874 + "integrity": "sha512-gHYS9tc+G2W0ZC8rBL+H6RdtXIyk40uLiaos0yj5US85FNhbFEndMA2nW3z47nzOWiSvXTZ5kBClc3rD0zJg0w==", 875 + "cpu": [ 876 + "x64" 877 + ], 878 + "optional": true, 879 + "os": [ 880 + "win32" 881 + ], 882 + "engines": { 883 + "node": ">= 10" 884 + } 885 + }, 886 + "node_modules/@nodelib/fs.scandir": { 887 + "version": "2.1.5", 888 + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 889 + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 890 + "dev": true, 891 + "dependencies": { 892 + "@nodelib/fs.stat": "2.0.5", 893 + "run-parallel": "^1.1.9" 894 + }, 895 + "engines": { 896 + "node": ">= 8" 897 + } 898 + }, 899 + "node_modules/@nodelib/fs.stat": { 900 + "version": "2.0.5", 901 + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 902 + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 903 + "dev": true, 904 + "engines": { 905 + "node": ">= 8" 906 + } 907 + }, 908 + "node_modules/@nodelib/fs.walk": { 909 + "version": "1.2.8", 910 + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 911 + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 912 + "dev": true, 913 + "dependencies": { 914 + "@nodelib/fs.scandir": "2.1.5", 915 + "fastq": "^1.6.0" 916 + }, 917 + "engines": { 918 + "node": ">= 8" 919 + } 920 + }, 921 + "node_modules/@nolyfill/is-core-module": { 922 + "version": "1.0.39", 923 + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", 924 + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", 925 + "dev": true, 926 + "engines": { 927 + "node": ">=12.4.0" 928 + } 929 + }, 930 + "node_modules/@playwright/test": { 931 + "version": "1.51.1", 932 + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.51.1.tgz", 933 + "integrity": "sha512-nM+kEaTSAoVlXmMPH10017vn3FSiFqr/bh4fKg9vmAdMfd9SDqRZNvPSiAHADc/itWak+qPvMPZQOPwCBW7k7Q==", 934 + "devOptional": true, 935 + "dependencies": { 936 + "playwright": "1.51.1" 937 + }, 938 + "bin": { 939 + "playwright": "cli.js" 940 + }, 941 + "engines": { 942 + "node": ">=18" 943 + } 944 + }, 945 + "node_modules/@rtsao/scc": { 946 + "version": "1.1.0", 947 + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", 948 + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", 949 + "dev": true 950 + }, 951 + "node_modules/@rushstack/eslint-patch": { 952 + "version": "1.11.0", 953 + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.11.0.tgz", 954 + "integrity": "sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==", 955 + "dev": true 956 + }, 957 + "node_modules/@swc/counter": { 958 + "version": "0.1.3", 959 + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", 960 + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" 961 + }, 962 + "node_modules/@swc/helpers": { 963 + "version": "0.5.15", 964 + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", 965 + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", 966 + "dependencies": { 967 + "tslib": "^2.8.0" 968 + } 969 + }, 970 + "node_modules/@tybys/wasm-util": { 971 + "version": "0.9.0", 972 + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", 973 + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", 974 + "dev": true, 975 + "optional": true, 976 + "dependencies": { 977 + "tslib": "^2.4.0" 978 + } 979 + }, 980 + "node_modules/@types/estree": { 981 + "version": "1.0.6", 982 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", 983 + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", 984 + "dev": true 985 + }, 986 + "node_modules/@types/json-schema": { 987 + "version": "7.0.15", 988 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 989 + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 990 + "dev": true 991 + }, 992 + "node_modules/@types/json5": { 993 + "version": "0.0.29", 994 + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", 995 + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", 996 + "dev": true 997 + }, 998 + "node_modules/@types/node": { 999 + "version": "22.13.10", 1000 + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz", 1001 + "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", 1002 + "dev": true, 1003 + "dependencies": { 1004 + "undici-types": "~6.20.0" 1005 + } 1006 + }, 1007 + "node_modules/@types/react": { 1008 + "version": "19.0.11", 1009 + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.11.tgz", 1010 + "integrity": "sha512-vrdxRZfo9ALXth6yPfV16PYTLZwsUWhVjjC+DkfE5t1suNSbBrWC9YqSuuxJZ8Ps6z1o2ycRpIqzZJIgklq4Tw==", 1011 + "dev": true, 1012 + "dependencies": { 1013 + "csstype": "^3.0.2" 1014 + } 1015 + }, 1016 + "node_modules/@types/react-dom": { 1017 + "version": "19.0.4", 1018 + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.4.tgz", 1019 + "integrity": "sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==", 1020 + "dev": true, 1021 + "peerDependencies": { 1022 + "@types/react": "^19.0.0" 1023 + } 1024 + }, 1025 + "node_modules/@typescript-eslint/eslint-plugin": { 1026 + "version": "8.26.1", 1027 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz", 1028 + "integrity": "sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==", 1029 + "dev": true, 1030 + "dependencies": { 1031 + "@eslint-community/regexpp": "^4.10.0", 1032 + "@typescript-eslint/scope-manager": "8.26.1", 1033 + "@typescript-eslint/type-utils": "8.26.1", 1034 + "@typescript-eslint/utils": "8.26.1", 1035 + "@typescript-eslint/visitor-keys": "8.26.1", 1036 + "graphemer": "^1.4.0", 1037 + "ignore": "^5.3.1", 1038 + "natural-compare": "^1.4.0", 1039 + "ts-api-utils": "^2.0.1" 1040 + }, 1041 + "engines": { 1042 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1043 + }, 1044 + "funding": { 1045 + "type": "opencollective", 1046 + "url": "https://opencollective.com/typescript-eslint" 1047 + }, 1048 + "peerDependencies": { 1049 + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", 1050 + "eslint": "^8.57.0 || ^9.0.0", 1051 + "typescript": ">=4.8.4 <5.9.0" 1052 + } 1053 + }, 1054 + "node_modules/@typescript-eslint/parser": { 1055 + "version": "8.26.1", 1056 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.1.tgz", 1057 + "integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==", 1058 + "dev": true, 1059 + "dependencies": { 1060 + "@typescript-eslint/scope-manager": "8.26.1", 1061 + "@typescript-eslint/types": "8.26.1", 1062 + "@typescript-eslint/typescript-estree": "8.26.1", 1063 + "@typescript-eslint/visitor-keys": "8.26.1", 1064 + "debug": "^4.3.4" 1065 + }, 1066 + "engines": { 1067 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1068 + }, 1069 + "funding": { 1070 + "type": "opencollective", 1071 + "url": "https://opencollective.com/typescript-eslint" 1072 + }, 1073 + "peerDependencies": { 1074 + "eslint": "^8.57.0 || ^9.0.0", 1075 + "typescript": ">=4.8.4 <5.9.0" 1076 + } 1077 + }, 1078 + "node_modules/@typescript-eslint/scope-manager": { 1079 + "version": "8.26.1", 1080 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", 1081 + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", 1082 + "dev": true, 1083 + "dependencies": { 1084 + "@typescript-eslint/types": "8.26.1", 1085 + "@typescript-eslint/visitor-keys": "8.26.1" 1086 + }, 1087 + "engines": { 1088 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1089 + }, 1090 + "funding": { 1091 + "type": "opencollective", 1092 + "url": "https://opencollective.com/typescript-eslint" 1093 + } 1094 + }, 1095 + "node_modules/@typescript-eslint/type-utils": { 1096 + "version": "8.26.1", 1097 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz", 1098 + "integrity": "sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==", 1099 + "dev": true, 1100 + "dependencies": { 1101 + "@typescript-eslint/typescript-estree": "8.26.1", 1102 + "@typescript-eslint/utils": "8.26.1", 1103 + "debug": "^4.3.4", 1104 + "ts-api-utils": "^2.0.1" 1105 + }, 1106 + "engines": { 1107 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1108 + }, 1109 + "funding": { 1110 + "type": "opencollective", 1111 + "url": "https://opencollective.com/typescript-eslint" 1112 + }, 1113 + "peerDependencies": { 1114 + "eslint": "^8.57.0 || ^9.0.0", 1115 + "typescript": ">=4.8.4 <5.9.0" 1116 + } 1117 + }, 1118 + "node_modules/@typescript-eslint/types": { 1119 + "version": "8.26.1", 1120 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", 1121 + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", 1122 + "dev": true, 1123 + "engines": { 1124 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1125 + }, 1126 + "funding": { 1127 + "type": "opencollective", 1128 + "url": "https://opencollective.com/typescript-eslint" 1129 + } 1130 + }, 1131 + "node_modules/@typescript-eslint/typescript-estree": { 1132 + "version": "8.26.1", 1133 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", 1134 + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", 1135 + "dev": true, 1136 + "dependencies": { 1137 + "@typescript-eslint/types": "8.26.1", 1138 + "@typescript-eslint/visitor-keys": "8.26.1", 1139 + "debug": "^4.3.4", 1140 + "fast-glob": "^3.3.2", 1141 + "is-glob": "^4.0.3", 1142 + "minimatch": "^9.0.4", 1143 + "semver": "^7.6.0", 1144 + "ts-api-utils": "^2.0.1" 1145 + }, 1146 + "engines": { 1147 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1148 + }, 1149 + "funding": { 1150 + "type": "opencollective", 1151 + "url": "https://opencollective.com/typescript-eslint" 1152 + }, 1153 + "peerDependencies": { 1154 + "typescript": ">=4.8.4 <5.9.0" 1155 + } 1156 + }, 1157 + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 1158 + "version": "2.0.1", 1159 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1160 + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1161 + "dev": true, 1162 + "dependencies": { 1163 + "balanced-match": "^1.0.0" 1164 + } 1165 + }, 1166 + "node_modules/@typescript-eslint/typescript-estree/node_modules/fast-glob": { 1167 + "version": "3.3.3", 1168 + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", 1169 + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", 1170 + "dev": true, 1171 + "dependencies": { 1172 + "@nodelib/fs.stat": "^2.0.2", 1173 + "@nodelib/fs.walk": "^1.2.3", 1174 + "glob-parent": "^5.1.2", 1175 + "merge2": "^1.3.0", 1176 + "micromatch": "^4.0.8" 1177 + }, 1178 + "engines": { 1179 + "node": ">=8.6.0" 1180 + } 1181 + }, 1182 + "node_modules/@typescript-eslint/typescript-estree/node_modules/glob-parent": { 1183 + "version": "5.1.2", 1184 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1185 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1186 + "dev": true, 1187 + "dependencies": { 1188 + "is-glob": "^4.0.1" 1189 + }, 1190 + "engines": { 1191 + "node": ">= 6" 1192 + } 1193 + }, 1194 + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { 1195 + "version": "9.0.5", 1196 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1197 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1198 + "dev": true, 1199 + "dependencies": { 1200 + "brace-expansion": "^2.0.1" 1201 + }, 1202 + "engines": { 1203 + "node": ">=16 || 14 >=14.17" 1204 + }, 1205 + "funding": { 1206 + "url": "https://github.com/sponsors/isaacs" 1207 + } 1208 + }, 1209 + "node_modules/@typescript-eslint/utils": { 1210 + "version": "8.26.1", 1211 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", 1212 + "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", 1213 + "dev": true, 1214 + "dependencies": { 1215 + "@eslint-community/eslint-utils": "^4.4.0", 1216 + "@typescript-eslint/scope-manager": "8.26.1", 1217 + "@typescript-eslint/types": "8.26.1", 1218 + "@typescript-eslint/typescript-estree": "8.26.1" 1219 + }, 1220 + "engines": { 1221 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1222 + }, 1223 + "funding": { 1224 + "type": "opencollective", 1225 + "url": "https://opencollective.com/typescript-eslint" 1226 + }, 1227 + "peerDependencies": { 1228 + "eslint": "^8.57.0 || ^9.0.0", 1229 + "typescript": ">=4.8.4 <5.9.0" 1230 + } 1231 + }, 1232 + "node_modules/@typescript-eslint/visitor-keys": { 1233 + "version": "8.26.1", 1234 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", 1235 + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", 1236 + "dev": true, 1237 + "dependencies": { 1238 + "@typescript-eslint/types": "8.26.1", 1239 + "eslint-visitor-keys": "^4.2.0" 1240 + }, 1241 + "engines": { 1242 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1243 + }, 1244 + "funding": { 1245 + "type": "opencollective", 1246 + "url": "https://opencollective.com/typescript-eslint" 1247 + } 1248 + }, 1249 + "node_modules/@unrs/rspack-resolver-binding-darwin-arm64": { 1250 + "version": "1.1.2", 1251 + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-darwin-arm64/-/rspack-resolver-binding-darwin-arm64-1.1.2.tgz", 1252 + "integrity": "sha512-bQx2L40UF5XxsXwkD26PzuspqUbUswWVbmclmUC+c83Cv/EFrFJ1JaZj5Q5jyYglKGOtyIWY/hXTCdWRN9vT0Q==", 1253 + "cpu": [ 1254 + "arm64" 1255 + ], 1256 + "dev": true, 1257 + "optional": true, 1258 + "os": [ 1259 + "darwin" 1260 + ] 1261 + }, 1262 + "node_modules/@unrs/rspack-resolver-binding-darwin-x64": { 1263 + "version": "1.1.2", 1264 + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-darwin-x64/-/rspack-resolver-binding-darwin-x64-1.1.2.tgz", 1265 + "integrity": "sha512-dMi9a7//BsuPTnhWEDxmdKZ6wxQlPnAob8VSjefGbKX/a+pHfTaX1pm/jv2VPdarP96IIjCKPatJS/TtLQeGQA==", 1266 + "cpu": [ 1267 + "x64" 1268 + ], 1269 + "dev": true, 1270 + "optional": true, 1271 + "os": [ 1272 + "darwin" 1273 + ] 1274 + }, 1275 + "node_modules/@unrs/rspack-resolver-binding-freebsd-x64": { 1276 + "version": "1.1.2", 1277 + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-freebsd-x64/-/rspack-resolver-binding-freebsd-x64-1.1.2.tgz", 1278 + "integrity": "sha512-RiBZQ+LSORQObfhV1yH7jGz+4sN3SDYtV53jgc8tUVvqdqVDaUm1KA3zHLffmoiYNGrYkE3sSreGC+FVpsB4Vg==", 1279 + "cpu": [ 1280 + "x64" 1281 + ], 1282 + "dev": true, 1283 + "optional": true, 1284 + "os": [ 1285 + "freebsd" 1286 + ] 1287 + }, 1288 + "node_modules/@unrs/rspack-resolver-binding-linux-arm-gnueabihf": { 1289 + "version": "1.1.2", 1290 + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-arm-gnueabihf/-/rspack-resolver-binding-linux-arm-gnueabihf-1.1.2.tgz", 1291 + "integrity": "sha512-IyKIFBtOvuPCJt1WPx9e9ovTGhZzrIbW11vWzw4aPmx3VShE+YcMpAldqQubdCep0UVKZyFt+2hQDQZwFiJ4jg==", 1292 + "cpu": [ 1293 + "arm" 1294 + ], 1295 + "dev": true, 1296 + "optional": true, 1297 + "os": [ 1298 + "linux" 1299 + ] 1300 + }, 1301 + "node_modules/@unrs/rspack-resolver-binding-linux-arm64-gnu": { 1302 + "version": "1.1.2", 1303 + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-arm64-gnu/-/rspack-resolver-binding-linux-arm64-gnu-1.1.2.tgz", 1304 + "integrity": "sha512-RfYtlCtJrv5i6TO4dSlpbyOJX9Zbhmkqrr9hjDfr6YyE5KD0ywLRzw8UjXsohxG1XWgRpb2tvPuRYtURJwbqWg==", 1305 + "cpu": [ 1306 + "arm64" 1307 + ], 1308 + "dev": true, 1309 + "optional": true, 1310 + "os": [ 1311 + "linux" 1312 + ] 1313 + }, 1314 + "node_modules/@unrs/rspack-resolver-binding-linux-arm64-musl": { 1315 + "version": "1.1.2", 1316 + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-arm64-musl/-/rspack-resolver-binding-linux-arm64-musl-1.1.2.tgz", 1317 + "integrity": "sha512-MaITzkoqsn1Rm3+YnplubgAQEfOt+2jHfFvuFhXseUfcfbxe8Zyc3TM7LKwgv7mRVjIl+/yYN5JqL0cjbnhAnQ==", 1318 + "cpu": [ 1319 + "arm64" 1320 + ], 1321 + "dev": true, 1322 + "optional": true, 1323 + "os": [ 1324 + "linux" 1325 + ] 1326 + }, 1327 + "node_modules/@unrs/rspack-resolver-binding-linux-x64-gnu": { 1328 + "version": "1.1.2", 1329 + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-x64-gnu/-/rspack-resolver-binding-linux-x64-gnu-1.1.2.tgz", 1330 + "integrity": "sha512-Nu981XmzQqis/uB3j4Gi3p5BYCd/zReU5zbJmjMrEH7IIRH0dxZpdOmS/+KwEk6ao7Xd8P2D2gDHpHD/QTp0aQ==", 1331 + "cpu": [ 1332 + "x64" 1333 + ], 1334 + "dev": true, 1335 + "optional": true, 1336 + "os": [ 1337 + "linux" 1338 + ] 1339 + }, 1340 + "node_modules/@unrs/rspack-resolver-binding-linux-x64-musl": { 1341 + "version": "1.1.2", 1342 + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-x64-musl/-/rspack-resolver-binding-linux-x64-musl-1.1.2.tgz", 1343 + "integrity": "sha512-xJupeDvaRpV0ADMuG1dY9jkOjhUzTqtykvchiU2NldSD+nafSUcMWnoqzNUx7HGiqbTMOw9d9xT8ZiFs+6ZFyQ==", 1344 + "cpu": [ 1345 + "x64" 1346 + ], 1347 + "dev": true, 1348 + "optional": true, 1349 + "os": [ 1350 + "linux" 1351 + ] 1352 + }, 1353 + "node_modules/@unrs/rspack-resolver-binding-wasm32-wasi": { 1354 + "version": "1.1.2", 1355 + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-wasm32-wasi/-/rspack-resolver-binding-wasm32-wasi-1.1.2.tgz", 1356 + "integrity": "sha512-un6X/xInks+KEgGpIHFV8BdoODHRohaDRvOwtjq+FXuoI4Ga0P6sLRvf4rPSZDvoMnqUhZtVNG0jG9oxOnrrLQ==", 1357 + "cpu": [ 1358 + "wasm32" 1359 + ], 1360 + "dev": true, 1361 + "optional": true, 1362 + "dependencies": { 1363 + "@napi-rs/wasm-runtime": "^0.2.7" 1364 + }, 1365 + "engines": { 1366 + "node": ">=14.0.0" 1367 + } 1368 + }, 1369 + "node_modules/@unrs/rspack-resolver-binding-win32-arm64-msvc": { 1370 + "version": "1.1.2", 1371 + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-win32-arm64-msvc/-/rspack-resolver-binding-win32-arm64-msvc-1.1.2.tgz", 1372 + "integrity": "sha512-2lCFkeT1HYUb/OOStBS1m67aZOf9BQxRA+Wf/xs94CGgzmoQt7H4V/BrkB/GSGKsudXjkiwt2oHNkHiowAS90A==", 1373 + "cpu": [ 1374 + "arm64" 1375 + ], 1376 + "dev": true, 1377 + "optional": true, 1378 + "os": [ 1379 + "win32" 1380 + ] 1381 + }, 1382 + "node_modules/@unrs/rspack-resolver-binding-win32-x64-msvc": { 1383 + "version": "1.1.2", 1384 + "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-win32-x64-msvc/-/rspack-resolver-binding-win32-x64-msvc-1.1.2.tgz", 1385 + "integrity": "sha512-EYfya5HCQ/8Yfy7rvAAX2rGytu81+d/CIhNCbZfNKLQ690/qFsdEeTXRsMQW1afHoluMM50PsjPYu8ndy8fSQg==", 1386 + "cpu": [ 1387 + "x64" 1388 + ], 1389 + "dev": true, 1390 + "optional": true, 1391 + "os": [ 1392 + "win32" 1393 + ] 1394 + }, 1395 + "node_modules/acorn": { 1396 + "version": "8.14.1", 1397 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", 1398 + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", 1399 + "dev": true, 1400 + "bin": { 1401 + "acorn": "bin/acorn" 1402 + }, 1403 + "engines": { 1404 + "node": ">=0.4.0" 1405 + } 1406 + }, 1407 + "node_modules/acorn-jsx": { 1408 + "version": "5.3.2", 1409 + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 1410 + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 1411 + "dev": true, 1412 + "peerDependencies": { 1413 + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 1414 + } 1415 + }, 1416 + "node_modules/agent-base": { 1417 + "version": "7.1.3", 1418 + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", 1419 + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", 1420 + "optional": true, 1421 + "engines": { 1422 + "node": ">= 14" 1423 + } 1424 + }, 1425 + "node_modules/ajv": { 1426 + "version": "6.12.6", 1427 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1428 + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1429 + "dev": true, 1430 + "dependencies": { 1431 + "fast-deep-equal": "^3.1.1", 1432 + "fast-json-stable-stringify": "^2.0.0", 1433 + "json-schema-traverse": "^0.4.1", 1434 + "uri-js": "^4.2.2" 1435 + }, 1436 + "funding": { 1437 + "type": "github", 1438 + "url": "https://github.com/sponsors/epoberezkin" 1439 + } 1440 + }, 1441 + "node_modules/ansi-styles": { 1442 + "version": "4.3.0", 1443 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1444 + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1445 + "dev": true, 1446 + "dependencies": { 1447 + "color-convert": "^2.0.1" 1448 + }, 1449 + "engines": { 1450 + "node": ">=8" 1451 + }, 1452 + "funding": { 1453 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1454 + } 1455 + }, 1456 + "node_modules/argparse": { 1457 + "version": "2.0.1", 1458 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1459 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 1460 + "dev": true 1461 + }, 1462 + "node_modules/aria-query": { 1463 + "version": "5.3.2", 1464 + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", 1465 + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", 1466 + "dev": true, 1467 + "engines": { 1468 + "node": ">= 0.4" 1469 + } 1470 + }, 1471 + "node_modules/array-buffer-byte-length": { 1472 + "version": "1.0.2", 1473 + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", 1474 + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", 1475 + "dev": true, 1476 + "dependencies": { 1477 + "call-bound": "^1.0.3", 1478 + "is-array-buffer": "^3.0.5" 1479 + }, 1480 + "engines": { 1481 + "node": ">= 0.4" 1482 + }, 1483 + "funding": { 1484 + "url": "https://github.com/sponsors/ljharb" 1485 + } 1486 + }, 1487 + "node_modules/array-includes": { 1488 + "version": "3.1.8", 1489 + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", 1490 + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", 1491 + "dev": true, 1492 + "dependencies": { 1493 + "call-bind": "^1.0.7", 1494 + "define-properties": "^1.2.1", 1495 + "es-abstract": "^1.23.2", 1496 + "es-object-atoms": "^1.0.0", 1497 + "get-intrinsic": "^1.2.4", 1498 + "is-string": "^1.0.7" 1499 + }, 1500 + "engines": { 1501 + "node": ">= 0.4" 1502 + }, 1503 + "funding": { 1504 + "url": "https://github.com/sponsors/ljharb" 1505 + } 1506 + }, 1507 + "node_modules/array.prototype.findlast": { 1508 + "version": "1.2.5", 1509 + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", 1510 + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", 1511 + "dev": true, 1512 + "dependencies": { 1513 + "call-bind": "^1.0.7", 1514 + "define-properties": "^1.2.1", 1515 + "es-abstract": "^1.23.2", 1516 + "es-errors": "^1.3.0", 1517 + "es-object-atoms": "^1.0.0", 1518 + "es-shim-unscopables": "^1.0.2" 1519 + }, 1520 + "engines": { 1521 + "node": ">= 0.4" 1522 + }, 1523 + "funding": { 1524 + "url": "https://github.com/sponsors/ljharb" 1525 + } 1526 + }, 1527 + "node_modules/array.prototype.findlastindex": { 1528 + "version": "1.2.6", 1529 + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", 1530 + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", 1531 + "dev": true, 1532 + "dependencies": { 1533 + "call-bind": "^1.0.8", 1534 + "call-bound": "^1.0.4", 1535 + "define-properties": "^1.2.1", 1536 + "es-abstract": "^1.23.9", 1537 + "es-errors": "^1.3.0", 1538 + "es-object-atoms": "^1.1.1", 1539 + "es-shim-unscopables": "^1.1.0" 1540 + }, 1541 + "engines": { 1542 + "node": ">= 0.4" 1543 + }, 1544 + "funding": { 1545 + "url": "https://github.com/sponsors/ljharb" 1546 + } 1547 + }, 1548 + "node_modules/array.prototype.flat": { 1549 + "version": "1.3.3", 1550 + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", 1551 + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", 1552 + "dev": true, 1553 + "dependencies": { 1554 + "call-bind": "^1.0.8", 1555 + "define-properties": "^1.2.1", 1556 + "es-abstract": "^1.23.5", 1557 + "es-shim-unscopables": "^1.0.2" 1558 + }, 1559 + "engines": { 1560 + "node": ">= 0.4" 1561 + }, 1562 + "funding": { 1563 + "url": "https://github.com/sponsors/ljharb" 1564 + } 1565 + }, 1566 + "node_modules/array.prototype.flatmap": { 1567 + "version": "1.3.3", 1568 + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", 1569 + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", 1570 + "dev": true, 1571 + "dependencies": { 1572 + "call-bind": "^1.0.8", 1573 + "define-properties": "^1.2.1", 1574 + "es-abstract": "^1.23.5", 1575 + "es-shim-unscopables": "^1.0.2" 1576 + }, 1577 + "engines": { 1578 + "node": ">= 0.4" 1579 + }, 1580 + "funding": { 1581 + "url": "https://github.com/sponsors/ljharb" 1582 + } 1583 + }, 1584 + "node_modules/array.prototype.tosorted": { 1585 + "version": "1.1.4", 1586 + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", 1587 + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", 1588 + "dev": true, 1589 + "dependencies": { 1590 + "call-bind": "^1.0.7", 1591 + "define-properties": "^1.2.1", 1592 + "es-abstract": "^1.23.3", 1593 + "es-errors": "^1.3.0", 1594 + "es-shim-unscopables": "^1.0.2" 1595 + }, 1596 + "engines": { 1597 + "node": ">= 0.4" 1598 + } 1599 + }, 1600 + "node_modules/arraybuffer.prototype.slice": { 1601 + "version": "1.0.4", 1602 + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", 1603 + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", 1604 + "dev": true, 1605 + "dependencies": { 1606 + "array-buffer-byte-length": "^1.0.1", 1607 + "call-bind": "^1.0.8", 1608 + "define-properties": "^1.2.1", 1609 + "es-abstract": "^1.23.5", 1610 + "es-errors": "^1.3.0", 1611 + "get-intrinsic": "^1.2.6", 1612 + "is-array-buffer": "^3.0.4" 1613 + }, 1614 + "engines": { 1615 + "node": ">= 0.4" 1616 + }, 1617 + "funding": { 1618 + "url": "https://github.com/sponsors/ljharb" 1619 + } 1620 + }, 1621 + "node_modules/ast-types-flow": { 1622 + "version": "0.0.8", 1623 + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", 1624 + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", 1625 + "dev": true 1626 + }, 1627 + "node_modules/async-function": { 1628 + "version": "1.0.0", 1629 + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", 1630 + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", 1631 + "dev": true, 1632 + "engines": { 1633 + "node": ">= 0.4" 1634 + } 1635 + }, 1636 + "node_modules/asynckit": { 1637 + "version": "0.4.0", 1638 + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 1639 + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", 1640 + "optional": true 1641 + }, 1642 + "node_modules/available-typed-arrays": { 1643 + "version": "1.0.7", 1644 + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", 1645 + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", 1646 + "dev": true, 1647 + "dependencies": { 1648 + "possible-typed-array-names": "^1.0.0" 1649 + }, 1650 + "engines": { 1651 + "node": ">= 0.4" 1652 + }, 1653 + "funding": { 1654 + "url": "https://github.com/sponsors/ljharb" 1655 + } 1656 + }, 1657 + "node_modules/axe-core": { 1658 + "version": "4.10.3", 1659 + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", 1660 + "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", 1661 + "dev": true, 1662 + "engines": { 1663 + "node": ">=4" 1664 + } 1665 + }, 1666 + "node_modules/axobject-query": { 1667 + "version": "4.1.0", 1668 + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", 1669 + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", 1670 + "dev": true, 1671 + "engines": { 1672 + "node": ">= 0.4" 1673 + } 1674 + }, 1675 + "node_modules/balanced-match": { 1676 + "version": "1.0.2", 1677 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1678 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1679 + "dev": true 1680 + }, 1681 + "node_modules/bidi-js": { 1682 + "version": "1.0.3", 1683 + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", 1684 + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", 1685 + "optional": true, 1686 + "dependencies": { 1687 + "require-from-string": "^2.0.2" 1688 + } 1689 + }, 1690 + "node_modules/brace-expansion": { 1691 + "version": "1.1.11", 1692 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1693 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1694 + "dev": true, 1695 + "dependencies": { 1696 + "balanced-match": "^1.0.0", 1697 + "concat-map": "0.0.1" 1698 + } 1699 + }, 1700 + "node_modules/braces": { 1701 + "version": "3.0.3", 1702 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 1703 + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 1704 + "dev": true, 1705 + "dependencies": { 1706 + "fill-range": "^7.1.1" 1707 + }, 1708 + "engines": { 1709 + "node": ">=8" 1710 + } 1711 + }, 1712 + "node_modules/busboy": { 1713 + "version": "1.6.0", 1714 + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", 1715 + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", 1716 + "dependencies": { 1717 + "streamsearch": "^1.1.0" 1718 + }, 1719 + "engines": { 1720 + "node": ">=10.16.0" 1721 + } 1722 + }, 1723 + "node_modules/call-bind": { 1724 + "version": "1.0.8", 1725 + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", 1726 + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", 1727 + "dev": true, 1728 + "dependencies": { 1729 + "call-bind-apply-helpers": "^1.0.0", 1730 + "es-define-property": "^1.0.0", 1731 + "get-intrinsic": "^1.2.4", 1732 + "set-function-length": "^1.2.2" 1733 + }, 1734 + "engines": { 1735 + "node": ">= 0.4" 1736 + }, 1737 + "funding": { 1738 + "url": "https://github.com/sponsors/ljharb" 1739 + } 1740 + }, 1741 + "node_modules/call-bind-apply-helpers": { 1742 + "version": "1.0.2", 1743 + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", 1744 + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", 1745 + "devOptional": true, 1746 + "dependencies": { 1747 + "es-errors": "^1.3.0", 1748 + "function-bind": "^1.1.2" 1749 + }, 1750 + "engines": { 1751 + "node": ">= 0.4" 1752 + } 1753 + }, 1754 + "node_modules/call-bound": { 1755 + "version": "1.0.4", 1756 + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", 1757 + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", 1758 + "dev": true, 1759 + "dependencies": { 1760 + "call-bind-apply-helpers": "^1.0.2", 1761 + "get-intrinsic": "^1.3.0" 1762 + }, 1763 + "engines": { 1764 + "node": ">= 0.4" 1765 + }, 1766 + "funding": { 1767 + "url": "https://github.com/sponsors/ljharb" 1768 + } 1769 + }, 1770 + "node_modules/callsites": { 1771 + "version": "3.1.0", 1772 + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1773 + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1774 + "dev": true, 1775 + "engines": { 1776 + "node": ">=6" 1777 + } 1778 + }, 1779 + "node_modules/caniuse-lite": { 1780 + "version": "1.0.30001705", 1781 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001705.tgz", 1782 + "integrity": "sha512-S0uyMMiYvA7CxNgomYBwwwPUnWzFD83f3B1ce5jHUfHTH//QL6hHsreI8RVC5606R4ssqravelYO5TU6t8sEyg==", 1783 + "funding": [ 1784 + { 1785 + "type": "opencollective", 1786 + "url": "https://opencollective.com/browserslist" 1787 + }, 1788 + { 1789 + "type": "tidelift", 1790 + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1791 + }, 1792 + { 1793 + "type": "github", 1794 + "url": "https://github.com/sponsors/ai" 1795 + } 1796 + ] 1797 + }, 1798 + "node_modules/chalk": { 1799 + "version": "4.1.2", 1800 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1801 + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1802 + "dev": true, 1803 + "dependencies": { 1804 + "ansi-styles": "^4.1.0", 1805 + "supports-color": "^7.1.0" 1806 + }, 1807 + "engines": { 1808 + "node": ">=10" 1809 + }, 1810 + "funding": { 1811 + "url": "https://github.com/chalk/chalk?sponsor=1" 1812 + } 1813 + }, 1814 + "node_modules/client-only": { 1815 + "version": "0.0.1", 1816 + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", 1817 + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" 1818 + }, 1819 + "node_modules/color": { 1820 + "version": "4.2.3", 1821 + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", 1822 + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", 1823 + "optional": true, 1824 + "dependencies": { 1825 + "color-convert": "^2.0.1", 1826 + "color-string": "^1.9.0" 1827 + }, 1828 + "engines": { 1829 + "node": ">=12.5.0" 1830 + } 1831 + }, 1832 + "node_modules/color-convert": { 1833 + "version": "2.0.1", 1834 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1835 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1836 + "devOptional": true, 1837 + "dependencies": { 1838 + "color-name": "~1.1.4" 1839 + }, 1840 + "engines": { 1841 + "node": ">=7.0.0" 1842 + } 1843 + }, 1844 + "node_modules/color-name": { 1845 + "version": "1.1.4", 1846 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1847 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1848 + "devOptional": true 1849 + }, 1850 + "node_modules/color-string": { 1851 + "version": "1.9.1", 1852 + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", 1853 + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", 1854 + "optional": true, 1855 + "dependencies": { 1856 + "color-name": "^1.0.0", 1857 + "simple-swizzle": "^0.2.2" 1858 + } 1859 + }, 1860 + "node_modules/combined-stream": { 1861 + "version": "1.0.8", 1862 + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 1863 + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 1864 + "optional": true, 1865 + "dependencies": { 1866 + "delayed-stream": "~1.0.0" 1867 + }, 1868 + "engines": { 1869 + "node": ">= 0.8" 1870 + } 1871 + }, 1872 + "node_modules/compare-versions": { 1873 + "version": "6.1.1", 1874 + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", 1875 + "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==" 1876 + }, 1877 + "node_modules/concat-map": { 1878 + "version": "0.0.1", 1879 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1880 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1881 + "dev": true 1882 + }, 1883 + "node_modules/cross-spawn": { 1884 + "version": "7.0.6", 1885 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 1886 + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 1887 + "dev": true, 1888 + "dependencies": { 1889 + "path-key": "^3.1.0", 1890 + "shebang-command": "^2.0.0", 1891 + "which": "^2.0.1" 1892 + }, 1893 + "engines": { 1894 + "node": ">= 8" 1895 + } 1896 + }, 1897 + "node_modules/css-tree": { 1898 + "version": "2.3.1", 1899 + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", 1900 + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", 1901 + "optional": true, 1902 + "dependencies": { 1903 + "mdn-data": "2.0.30", 1904 + "source-map-js": "^1.0.1" 1905 + }, 1906 + "engines": { 1907 + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" 1908 + } 1909 + }, 1910 + "node_modules/cssstyle": { 1911 + "version": "4.3.0", 1912 + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.3.0.tgz", 1913 + "integrity": "sha512-6r0NiY0xizYqfBvWp1G7WXJ06/bZyrk7Dc6PHql82C/pKGUTKu4yAX4Y8JPamb1ob9nBKuxWzCGTRuGwU3yxJQ==", 1914 + "optional": true, 1915 + "dependencies": { 1916 + "@asamuzakjp/css-color": "^3.1.1", 1917 + "rrweb-cssom": "^0.8.0" 1918 + }, 1919 + "engines": { 1920 + "node": ">=18" 1921 + } 1922 + }, 1923 + "node_modules/cssstyle/node_modules/rrweb-cssom": { 1924 + "version": "0.8.0", 1925 + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", 1926 + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", 1927 + "optional": true 1928 + }, 1929 + "node_modules/csstype": { 1930 + "version": "3.1.3", 1931 + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 1932 + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", 1933 + "dev": true 1934 + }, 1935 + "node_modules/damerau-levenshtein": { 1936 + "version": "1.0.8", 1937 + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", 1938 + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", 1939 + "dev": true 1940 + }, 1941 + "node_modules/data-urls": { 1942 + "version": "5.0.0", 1943 + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", 1944 + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", 1945 + "optional": true, 1946 + "dependencies": { 1947 + "whatwg-mimetype": "^4.0.0", 1948 + "whatwg-url": "^14.0.0" 1949 + }, 1950 + "engines": { 1951 + "node": ">=18" 1952 + } 1953 + }, 1954 + "node_modules/data-view-buffer": { 1955 + "version": "1.0.2", 1956 + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", 1957 + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", 1958 + "dev": true, 1959 + "dependencies": { 1960 + "call-bound": "^1.0.3", 1961 + "es-errors": "^1.3.0", 1962 + "is-data-view": "^1.0.2" 1963 + }, 1964 + "engines": { 1965 + "node": ">= 0.4" 1966 + }, 1967 + "funding": { 1968 + "url": "https://github.com/sponsors/ljharb" 1969 + } 1970 + }, 1971 + "node_modules/data-view-byte-length": { 1972 + "version": "1.0.2", 1973 + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", 1974 + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", 1975 + "dev": true, 1976 + "dependencies": { 1977 + "call-bound": "^1.0.3", 1978 + "es-errors": "^1.3.0", 1979 + "is-data-view": "^1.0.2" 1980 + }, 1981 + "engines": { 1982 + "node": ">= 0.4" 1983 + }, 1984 + "funding": { 1985 + "url": "https://github.com/sponsors/inspect-js" 1986 + } 1987 + }, 1988 + "node_modules/data-view-byte-offset": { 1989 + "version": "1.0.1", 1990 + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", 1991 + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", 1992 + "dev": true, 1993 + "dependencies": { 1994 + "call-bound": "^1.0.2", 1995 + "es-errors": "^1.3.0", 1996 + "is-data-view": "^1.0.1" 1997 + }, 1998 + "engines": { 1999 + "node": ">= 0.4" 2000 + }, 2001 + "funding": { 2002 + "url": "https://github.com/sponsors/ljharb" 2003 + } 2004 + }, 2005 + "node_modules/debug": { 2006 + "version": "4.4.0", 2007 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", 2008 + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", 2009 + "devOptional": true, 2010 + "dependencies": { 2011 + "ms": "^2.1.3" 2012 + }, 2013 + "engines": { 2014 + "node": ">=6.0" 2015 + }, 2016 + "peerDependenciesMeta": { 2017 + "supports-color": { 2018 + "optional": true 2019 + } 2020 + } 2021 + }, 2022 + "node_modules/decimal.js": { 2023 + "version": "10.5.0", 2024 + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", 2025 + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", 2026 + "optional": true 2027 + }, 2028 + "node_modules/deep-is": { 2029 + "version": "0.1.4", 2030 + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 2031 + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 2032 + "dev": true 2033 + }, 2034 + "node_modules/define-data-property": { 2035 + "version": "1.1.4", 2036 + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", 2037 + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", 2038 + "dev": true, 2039 + "dependencies": { 2040 + "es-define-property": "^1.0.0", 2041 + "es-errors": "^1.3.0", 2042 + "gopd": "^1.0.1" 2043 + }, 2044 + "engines": { 2045 + "node": ">= 0.4" 2046 + }, 2047 + "funding": { 2048 + "url": "https://github.com/sponsors/ljharb" 2049 + } 2050 + }, 2051 + "node_modules/define-properties": { 2052 + "version": "1.2.1", 2053 + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", 2054 + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", 2055 + "dev": true, 2056 + "dependencies": { 2057 + "define-data-property": "^1.0.1", 2058 + "has-property-descriptors": "^1.0.0", 2059 + "object-keys": "^1.1.1" 2060 + }, 2061 + "engines": { 2062 + "node": ">= 0.4" 2063 + }, 2064 + "funding": { 2065 + "url": "https://github.com/sponsors/ljharb" 2066 + } 2067 + }, 2068 + "node_modules/delayed-stream": { 2069 + "version": "1.0.0", 2070 + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 2071 + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 2072 + "optional": true, 2073 + "engines": { 2074 + "node": ">=0.4.0" 2075 + } 2076 + }, 2077 + "node_modules/detect-libc": { 2078 + "version": "2.0.3", 2079 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", 2080 + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", 2081 + "optional": true, 2082 + "engines": { 2083 + "node": ">=8" 2084 + } 2085 + }, 2086 + "node_modules/doctrine": { 2087 + "version": "2.1.0", 2088 + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 2089 + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 2090 + "dev": true, 2091 + "dependencies": { 2092 + "esutils": "^2.0.2" 2093 + }, 2094 + "engines": { 2095 + "node": ">=0.10.0" 2096 + } 2097 + }, 2098 + "node_modules/dunder-proto": { 2099 + "version": "1.0.1", 2100 + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", 2101 + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 2102 + "devOptional": true, 2103 + "dependencies": { 2104 + "call-bind-apply-helpers": "^1.0.1", 2105 + "es-errors": "^1.3.0", 2106 + "gopd": "^1.2.0" 2107 + }, 2108 + "engines": { 2109 + "node": ">= 0.4" 2110 + } 2111 + }, 2112 + "node_modules/emoji-regex": { 2113 + "version": "9.2.2", 2114 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 2115 + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 2116 + "dev": true 2117 + }, 2118 + "node_modules/entities": { 2119 + "version": "4.5.0", 2120 + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 2121 + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 2122 + "optional": true, 2123 + "engines": { 2124 + "node": ">=0.12" 2125 + }, 2126 + "funding": { 2127 + "url": "https://github.com/fb55/entities?sponsor=1" 2128 + } 2129 + }, 2130 + "node_modules/es-abstract": { 2131 + "version": "1.23.9", 2132 + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", 2133 + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", 2134 + "dev": true, 2135 + "dependencies": { 2136 + "array-buffer-byte-length": "^1.0.2", 2137 + "arraybuffer.prototype.slice": "^1.0.4", 2138 + "available-typed-arrays": "^1.0.7", 2139 + "call-bind": "^1.0.8", 2140 + "call-bound": "^1.0.3", 2141 + "data-view-buffer": "^1.0.2", 2142 + "data-view-byte-length": "^1.0.2", 2143 + "data-view-byte-offset": "^1.0.1", 2144 + "es-define-property": "^1.0.1", 2145 + "es-errors": "^1.3.0", 2146 + "es-object-atoms": "^1.0.0", 2147 + "es-set-tostringtag": "^2.1.0", 2148 + "es-to-primitive": "^1.3.0", 2149 + "function.prototype.name": "^1.1.8", 2150 + "get-intrinsic": "^1.2.7", 2151 + "get-proto": "^1.0.0", 2152 + "get-symbol-description": "^1.1.0", 2153 + "globalthis": "^1.0.4", 2154 + "gopd": "^1.2.0", 2155 + "has-property-descriptors": "^1.0.2", 2156 + "has-proto": "^1.2.0", 2157 + "has-symbols": "^1.1.0", 2158 + "hasown": "^2.0.2", 2159 + "internal-slot": "^1.1.0", 2160 + "is-array-buffer": "^3.0.5", 2161 + "is-callable": "^1.2.7", 2162 + "is-data-view": "^1.0.2", 2163 + "is-regex": "^1.2.1", 2164 + "is-shared-array-buffer": "^1.0.4", 2165 + "is-string": "^1.1.1", 2166 + "is-typed-array": "^1.1.15", 2167 + "is-weakref": "^1.1.0", 2168 + "math-intrinsics": "^1.1.0", 2169 + "object-inspect": "^1.13.3", 2170 + "object-keys": "^1.1.1", 2171 + "object.assign": "^4.1.7", 2172 + "own-keys": "^1.0.1", 2173 + "regexp.prototype.flags": "^1.5.3", 2174 + "safe-array-concat": "^1.1.3", 2175 + "safe-push-apply": "^1.0.0", 2176 + "safe-regex-test": "^1.1.0", 2177 + "set-proto": "^1.0.0", 2178 + "string.prototype.trim": "^1.2.10", 2179 + "string.prototype.trimend": "^1.0.9", 2180 + "string.prototype.trimstart": "^1.0.8", 2181 + "typed-array-buffer": "^1.0.3", 2182 + "typed-array-byte-length": "^1.0.3", 2183 + "typed-array-byte-offset": "^1.0.4", 2184 + "typed-array-length": "^1.0.7", 2185 + "unbox-primitive": "^1.1.0", 2186 + "which-typed-array": "^1.1.18" 2187 + }, 2188 + "engines": { 2189 + "node": ">= 0.4" 2190 + }, 2191 + "funding": { 2192 + "url": "https://github.com/sponsors/ljharb" 2193 + } 2194 + }, 2195 + "node_modules/es-define-property": { 2196 + "version": "1.0.1", 2197 + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", 2198 + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", 2199 + "devOptional": true, 2200 + "engines": { 2201 + "node": ">= 0.4" 2202 + } 2203 + }, 2204 + "node_modules/es-errors": { 2205 + "version": "1.3.0", 2206 + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 2207 + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 2208 + "devOptional": true, 2209 + "engines": { 2210 + "node": ">= 0.4" 2211 + } 2212 + }, 2213 + "node_modules/es-iterator-helpers": { 2214 + "version": "1.2.1", 2215 + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", 2216 + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", 2217 + "dev": true, 2218 + "dependencies": { 2219 + "call-bind": "^1.0.8", 2220 + "call-bound": "^1.0.3", 2221 + "define-properties": "^1.2.1", 2222 + "es-abstract": "^1.23.6", 2223 + "es-errors": "^1.3.0", 2224 + "es-set-tostringtag": "^2.0.3", 2225 + "function-bind": "^1.1.2", 2226 + "get-intrinsic": "^1.2.6", 2227 + "globalthis": "^1.0.4", 2228 + "gopd": "^1.2.0", 2229 + "has-property-descriptors": "^1.0.2", 2230 + "has-proto": "^1.2.0", 2231 + "has-symbols": "^1.1.0", 2232 + "internal-slot": "^1.1.0", 2233 + "iterator.prototype": "^1.1.4", 2234 + "safe-array-concat": "^1.1.3" 2235 + }, 2236 + "engines": { 2237 + "node": ">= 0.4" 2238 + } 2239 + }, 2240 + "node_modules/es-object-atoms": { 2241 + "version": "1.1.1", 2242 + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", 2243 + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", 2244 + "devOptional": true, 2245 + "dependencies": { 2246 + "es-errors": "^1.3.0" 2247 + }, 2248 + "engines": { 2249 + "node": ">= 0.4" 2250 + } 2251 + }, 2252 + "node_modules/es-set-tostringtag": { 2253 + "version": "2.1.0", 2254 + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", 2255 + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", 2256 + "devOptional": true, 2257 + "dependencies": { 2258 + "es-errors": "^1.3.0", 2259 + "get-intrinsic": "^1.2.6", 2260 + "has-tostringtag": "^1.0.2", 2261 + "hasown": "^2.0.2" 2262 + }, 2263 + "engines": { 2264 + "node": ">= 0.4" 2265 + } 2266 + }, 2267 + "node_modules/es-shim-unscopables": { 2268 + "version": "1.1.0", 2269 + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", 2270 + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", 2271 + "dev": true, 2272 + "dependencies": { 2273 + "hasown": "^2.0.2" 2274 + }, 2275 + "engines": { 2276 + "node": ">= 0.4" 2277 + } 2278 + }, 2279 + "node_modules/es-to-primitive": { 2280 + "version": "1.3.0", 2281 + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", 2282 + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", 2283 + "dev": true, 2284 + "dependencies": { 2285 + "is-callable": "^1.2.7", 2286 + "is-date-object": "^1.0.5", 2287 + "is-symbol": "^1.0.4" 2288 + }, 2289 + "engines": { 2290 + "node": ">= 0.4" 2291 + }, 2292 + "funding": { 2293 + "url": "https://github.com/sponsors/ljharb" 2294 + } 2295 + }, 2296 + "node_modules/escape-string-regexp": { 2297 + "version": "4.0.0", 2298 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 2299 + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 2300 + "dev": true, 2301 + "engines": { 2302 + "node": ">=10" 2303 + }, 2304 + "funding": { 2305 + "url": "https://github.com/sponsors/sindresorhus" 2306 + } 2307 + }, 2308 + "node_modules/eslint": { 2309 + "version": "9.22.0", 2310 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz", 2311 + "integrity": "sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==", 2312 + "dev": true, 2313 + "dependencies": { 2314 + "@eslint-community/eslint-utils": "^4.2.0", 2315 + "@eslint-community/regexpp": "^4.12.1", 2316 + "@eslint/config-array": "^0.19.2", 2317 + "@eslint/config-helpers": "^0.1.0", 2318 + "@eslint/core": "^0.12.0", 2319 + "@eslint/eslintrc": "^3.3.0", 2320 + "@eslint/js": "9.22.0", 2321 + "@eslint/plugin-kit": "^0.2.7", 2322 + "@humanfs/node": "^0.16.6", 2323 + "@humanwhocodes/module-importer": "^1.0.1", 2324 + "@humanwhocodes/retry": "^0.4.2", 2325 + "@types/estree": "^1.0.6", 2326 + "@types/json-schema": "^7.0.15", 2327 + "ajv": "^6.12.4", 2328 + "chalk": "^4.0.0", 2329 + "cross-spawn": "^7.0.6", 2330 + "debug": "^4.3.2", 2331 + "escape-string-regexp": "^4.0.0", 2332 + "eslint-scope": "^8.3.0", 2333 + "eslint-visitor-keys": "^4.2.0", 2334 + "espree": "^10.3.0", 2335 + "esquery": "^1.5.0", 2336 + "esutils": "^2.0.2", 2337 + "fast-deep-equal": "^3.1.3", 2338 + "file-entry-cache": "^8.0.0", 2339 + "find-up": "^5.0.0", 2340 + "glob-parent": "^6.0.2", 2341 + "ignore": "^5.2.0", 2342 + "imurmurhash": "^0.1.4", 2343 + "is-glob": "^4.0.0", 2344 + "json-stable-stringify-without-jsonify": "^1.0.1", 2345 + "lodash.merge": "^4.6.2", 2346 + "minimatch": "^3.1.2", 2347 + "natural-compare": "^1.4.0", 2348 + "optionator": "^0.9.3" 2349 + }, 2350 + "bin": { 2351 + "eslint": "bin/eslint.js" 2352 + }, 2353 + "engines": { 2354 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2355 + }, 2356 + "funding": { 2357 + "url": "https://eslint.org/donate" 2358 + }, 2359 + "peerDependencies": { 2360 + "jiti": "*" 2361 + }, 2362 + "peerDependenciesMeta": { 2363 + "jiti": { 2364 + "optional": true 2365 + } 2366 + } 2367 + }, 2368 + "node_modules/eslint-config-next": { 2369 + "version": "15.2.3", 2370 + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.2.3.tgz", 2371 + "integrity": "sha512-VDQwbajhNMFmrhLWVyUXCqsGPN+zz5G8Ys/QwFubfsxTIrkqdx3N3x3QPW+pERz8bzGPP0IgEm8cNbZcd8PFRQ==", 2372 + "dev": true, 2373 + "dependencies": { 2374 + "@next/eslint-plugin-next": "15.2.3", 2375 + "@rushstack/eslint-patch": "^1.10.3", 2376 + "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", 2377 + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", 2378 + "eslint-import-resolver-node": "^0.3.6", 2379 + "eslint-import-resolver-typescript": "^3.5.2", 2380 + "eslint-plugin-import": "^2.31.0", 2381 + "eslint-plugin-jsx-a11y": "^6.10.0", 2382 + "eslint-plugin-react": "^7.37.0", 2383 + "eslint-plugin-react-hooks": "^5.0.0" 2384 + }, 2385 + "peerDependencies": { 2386 + "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", 2387 + "typescript": ">=3.3.1" 2388 + }, 2389 + "peerDependenciesMeta": { 2390 + "typescript": { 2391 + "optional": true 2392 + } 2393 + } 2394 + }, 2395 + "node_modules/eslint-import-resolver-node": { 2396 + "version": "0.3.9", 2397 + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", 2398 + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", 2399 + "dev": true, 2400 + "dependencies": { 2401 + "debug": "^3.2.7", 2402 + "is-core-module": "^2.13.0", 2403 + "resolve": "^1.22.4" 2404 + } 2405 + }, 2406 + "node_modules/eslint-import-resolver-node/node_modules/debug": { 2407 + "version": "3.2.7", 2408 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2409 + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2410 + "dev": true, 2411 + "dependencies": { 2412 + "ms": "^2.1.1" 2413 + } 2414 + }, 2415 + "node_modules/eslint-import-resolver-typescript": { 2416 + "version": "3.9.1", 2417 + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.9.1.tgz", 2418 + "integrity": "sha512-euxa5rTGqHeqVxmOHT25hpk58PxkQ4mNoX6Yun4ooGaCHAxOCojJYNvjmyeOQxj/LyW+3fulH0+xtk+p2kPPTw==", 2419 + "dev": true, 2420 + "dependencies": { 2421 + "@nolyfill/is-core-module": "1.0.39", 2422 + "debug": "^4.4.0", 2423 + "get-tsconfig": "^4.10.0", 2424 + "is-bun-module": "^1.3.0", 2425 + "rspack-resolver": "^1.1.0", 2426 + "stable-hash": "^0.0.5", 2427 + "tinyglobby": "^0.2.12" 2428 + }, 2429 + "engines": { 2430 + "node": "^14.18.0 || >=16.0.0" 2431 + }, 2432 + "funding": { 2433 + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" 2434 + }, 2435 + "peerDependencies": { 2436 + "eslint": "*", 2437 + "eslint-plugin-import": "*", 2438 + "eslint-plugin-import-x": "*" 2439 + }, 2440 + "peerDependenciesMeta": { 2441 + "eslint-plugin-import": { 2442 + "optional": true 2443 + }, 2444 + "eslint-plugin-import-x": { 2445 + "optional": true 2446 + } 2447 + } 2448 + }, 2449 + "node_modules/eslint-module-utils": { 2450 + "version": "2.12.0", 2451 + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", 2452 + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", 2453 + "dev": true, 2454 + "dependencies": { 2455 + "debug": "^3.2.7" 2456 + }, 2457 + "engines": { 2458 + "node": ">=4" 2459 + }, 2460 + "peerDependenciesMeta": { 2461 + "eslint": { 2462 + "optional": true 2463 + } 2464 + } 2465 + }, 2466 + "node_modules/eslint-module-utils/node_modules/debug": { 2467 + "version": "3.2.7", 2468 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2469 + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2470 + "dev": true, 2471 + "dependencies": { 2472 + "ms": "^2.1.1" 2473 + } 2474 + }, 2475 + "node_modules/eslint-plugin-import": { 2476 + "version": "2.31.0", 2477 + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", 2478 + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", 2479 + "dev": true, 2480 + "dependencies": { 2481 + "@rtsao/scc": "^1.1.0", 2482 + "array-includes": "^3.1.8", 2483 + "array.prototype.findlastindex": "^1.2.5", 2484 + "array.prototype.flat": "^1.3.2", 2485 + "array.prototype.flatmap": "^1.3.2", 2486 + "debug": "^3.2.7", 2487 + "doctrine": "^2.1.0", 2488 + "eslint-import-resolver-node": "^0.3.9", 2489 + "eslint-module-utils": "^2.12.0", 2490 + "hasown": "^2.0.2", 2491 + "is-core-module": "^2.15.1", 2492 + "is-glob": "^4.0.3", 2493 + "minimatch": "^3.1.2", 2494 + "object.fromentries": "^2.0.8", 2495 + "object.groupby": "^1.0.3", 2496 + "object.values": "^1.2.0", 2497 + "semver": "^6.3.1", 2498 + "string.prototype.trimend": "^1.0.8", 2499 + "tsconfig-paths": "^3.15.0" 2500 + }, 2501 + "engines": { 2502 + "node": ">=4" 2503 + }, 2504 + "peerDependencies": { 2505 + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" 2506 + } 2507 + }, 2508 + "node_modules/eslint-plugin-import/node_modules/debug": { 2509 + "version": "3.2.7", 2510 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2511 + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2512 + "dev": true, 2513 + "dependencies": { 2514 + "ms": "^2.1.1" 2515 + } 2516 + }, 2517 + "node_modules/eslint-plugin-import/node_modules/semver": { 2518 + "version": "6.3.1", 2519 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 2520 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 2521 + "dev": true, 2522 + "bin": { 2523 + "semver": "bin/semver.js" 2524 + } 2525 + }, 2526 + "node_modules/eslint-plugin-jsx-a11y": { 2527 + "version": "6.10.2", 2528 + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", 2529 + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", 2530 + "dev": true, 2531 + "dependencies": { 2532 + "aria-query": "^5.3.2", 2533 + "array-includes": "^3.1.8", 2534 + "array.prototype.flatmap": "^1.3.2", 2535 + "ast-types-flow": "^0.0.8", 2536 + "axe-core": "^4.10.0", 2537 + "axobject-query": "^4.1.0", 2538 + "damerau-levenshtein": "^1.0.8", 2539 + "emoji-regex": "^9.2.2", 2540 + "hasown": "^2.0.2", 2541 + "jsx-ast-utils": "^3.3.5", 2542 + "language-tags": "^1.0.9", 2543 + "minimatch": "^3.1.2", 2544 + "object.fromentries": "^2.0.8", 2545 + "safe-regex-test": "^1.0.3", 2546 + "string.prototype.includes": "^2.0.1" 2547 + }, 2548 + "engines": { 2549 + "node": ">=4.0" 2550 + }, 2551 + "peerDependencies": { 2552 + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" 2553 + } 2554 + }, 2555 + "node_modules/eslint-plugin-react": { 2556 + "version": "7.37.4", 2557 + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", 2558 + "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", 2559 + "dev": true, 2560 + "dependencies": { 2561 + "array-includes": "^3.1.8", 2562 + "array.prototype.findlast": "^1.2.5", 2563 + "array.prototype.flatmap": "^1.3.3", 2564 + "array.prototype.tosorted": "^1.1.4", 2565 + "doctrine": "^2.1.0", 2566 + "es-iterator-helpers": "^1.2.1", 2567 + "estraverse": "^5.3.0", 2568 + "hasown": "^2.0.2", 2569 + "jsx-ast-utils": "^2.4.1 || ^3.0.0", 2570 + "minimatch": "^3.1.2", 2571 + "object.entries": "^1.1.8", 2572 + "object.fromentries": "^2.0.8", 2573 + "object.values": "^1.2.1", 2574 + "prop-types": "^15.8.1", 2575 + "resolve": "^2.0.0-next.5", 2576 + "semver": "^6.3.1", 2577 + "string.prototype.matchall": "^4.0.12", 2578 + "string.prototype.repeat": "^1.0.0" 2579 + }, 2580 + "engines": { 2581 + "node": ">=4" 2582 + }, 2583 + "peerDependencies": { 2584 + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" 2585 + } 2586 + }, 2587 + "node_modules/eslint-plugin-react-hooks": { 2588 + "version": "5.2.0", 2589 + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", 2590 + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", 2591 + "dev": true, 2592 + "engines": { 2593 + "node": ">=10" 2594 + }, 2595 + "peerDependencies": { 2596 + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" 2597 + } 2598 + }, 2599 + "node_modules/eslint-plugin-react/node_modules/resolve": { 2600 + "version": "2.0.0-next.5", 2601 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", 2602 + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", 2603 + "dev": true, 2604 + "dependencies": { 2605 + "is-core-module": "^2.13.0", 2606 + "path-parse": "^1.0.7", 2607 + "supports-preserve-symlinks-flag": "^1.0.0" 2608 + }, 2609 + "bin": { 2610 + "resolve": "bin/resolve" 2611 + }, 2612 + "funding": { 2613 + "url": "https://github.com/sponsors/ljharb" 2614 + } 2615 + }, 2616 + "node_modules/eslint-plugin-react/node_modules/semver": { 2617 + "version": "6.3.1", 2618 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 2619 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 2620 + "dev": true, 2621 + "bin": { 2622 + "semver": "bin/semver.js" 2623 + } 2624 + }, 2625 + "node_modules/eslint-scope": { 2626 + "version": "8.3.0", 2627 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", 2628 + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", 2629 + "dev": true, 2630 + "dependencies": { 2631 + "esrecurse": "^4.3.0", 2632 + "estraverse": "^5.2.0" 2633 + }, 2634 + "engines": { 2635 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2636 + }, 2637 + "funding": { 2638 + "url": "https://opencollective.com/eslint" 2639 + } 2640 + }, 2641 + "node_modules/eslint-visitor-keys": { 2642 + "version": "4.2.0", 2643 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 2644 + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 2645 + "dev": true, 2646 + "engines": { 2647 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2648 + }, 2649 + "funding": { 2650 + "url": "https://opencollective.com/eslint" 2651 + } 2652 + }, 2653 + "node_modules/espree": { 2654 + "version": "10.3.0", 2655 + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", 2656 + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", 2657 + "dev": true, 2658 + "dependencies": { 2659 + "acorn": "^8.14.0", 2660 + "acorn-jsx": "^5.3.2", 2661 + "eslint-visitor-keys": "^4.2.0" 2662 + }, 2663 + "engines": { 2664 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2665 + }, 2666 + "funding": { 2667 + "url": "https://opencollective.com/eslint" 2668 + } 2669 + }, 2670 + "node_modules/esquery": { 2671 + "version": "1.6.0", 2672 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", 2673 + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", 2674 + "dev": true, 2675 + "dependencies": { 2676 + "estraverse": "^5.1.0" 2677 + }, 2678 + "engines": { 2679 + "node": ">=0.10" 2680 + } 2681 + }, 2682 + "node_modules/esrecurse": { 2683 + "version": "4.3.0", 2684 + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2685 + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2686 + "dev": true, 2687 + "dependencies": { 2688 + "estraverse": "^5.2.0" 2689 + }, 2690 + "engines": { 2691 + "node": ">=4.0" 2692 + } 2693 + }, 2694 + "node_modules/estraverse": { 2695 + "version": "5.3.0", 2696 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2697 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2698 + "dev": true, 2699 + "engines": { 2700 + "node": ">=4.0" 2701 + } 2702 + }, 2703 + "node_modules/esutils": { 2704 + "version": "2.0.3", 2705 + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2706 + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2707 + "dev": true, 2708 + "engines": { 2709 + "node": ">=0.10.0" 2710 + } 2711 + }, 2712 + "node_modules/excalibur": { 2713 + "version": "0.30.3", 2714 + "resolved": "https://registry.npmjs.org/excalibur/-/excalibur-0.30.3.tgz", 2715 + "integrity": "sha512-RUP3qQ6tFe9BJxvqh6p/I0B9rKMu+KGlHZruJyVOohiYUtCP0LsRgkVHxezvWtWsvCElVBL4PeCooE4KPlIldA==" 2716 + }, 2717 + "node_modules/fast-deep-equal": { 2718 + "version": "3.1.3", 2719 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2720 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2721 + "dev": true 2722 + }, 2723 + "node_modules/fast-glob": { 2724 + "version": "3.3.1", 2725 + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", 2726 + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", 2727 + "dev": true, 2728 + "dependencies": { 2729 + "@nodelib/fs.stat": "^2.0.2", 2730 + "@nodelib/fs.walk": "^1.2.3", 2731 + "glob-parent": "^5.1.2", 2732 + "merge2": "^1.3.0", 2733 + "micromatch": "^4.0.4" 2734 + }, 2735 + "engines": { 2736 + "node": ">=8.6.0" 2737 + } 2738 + }, 2739 + "node_modules/fast-glob/node_modules/glob-parent": { 2740 + "version": "5.1.2", 2741 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2742 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2743 + "dev": true, 2744 + "dependencies": { 2745 + "is-glob": "^4.0.1" 2746 + }, 2747 + "engines": { 2748 + "node": ">= 6" 2749 + } 2750 + }, 2751 + "node_modules/fast-json-stable-stringify": { 2752 + "version": "2.1.0", 2753 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 2754 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 2755 + "dev": true 2756 + }, 2757 + "node_modules/fast-levenshtein": { 2758 + "version": "2.0.6", 2759 + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2760 + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 2761 + "dev": true 2762 + }, 2763 + "node_modules/fastq": { 2764 + "version": "1.19.1", 2765 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", 2766 + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", 2767 + "dev": true, 2768 + "dependencies": { 2769 + "reusify": "^1.0.4" 2770 + } 2771 + }, 2772 + "node_modules/file-entry-cache": { 2773 + "version": "8.0.0", 2774 + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", 2775 + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", 2776 + "dev": true, 2777 + "dependencies": { 2778 + "flat-cache": "^4.0.0" 2779 + }, 2780 + "engines": { 2781 + "node": ">=16.0.0" 2782 + } 2783 + }, 2784 + "node_modules/fill-range": { 2785 + "version": "7.1.1", 2786 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 2787 + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 2788 + "dev": true, 2789 + "dependencies": { 2790 + "to-regex-range": "^5.0.1" 2791 + }, 2792 + "engines": { 2793 + "node": ">=8" 2794 + } 2795 + }, 2796 + "node_modules/find-up": { 2797 + "version": "5.0.0", 2798 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 2799 + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 2800 + "dev": true, 2801 + "dependencies": { 2802 + "locate-path": "^6.0.0", 2803 + "path-exists": "^4.0.0" 2804 + }, 2805 + "engines": { 2806 + "node": ">=10" 2807 + }, 2808 + "funding": { 2809 + "url": "https://github.com/sponsors/sindresorhus" 2810 + } 2811 + }, 2812 + "node_modules/flat-cache": { 2813 + "version": "4.0.1", 2814 + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", 2815 + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", 2816 + "dev": true, 2817 + "dependencies": { 2818 + "flatted": "^3.2.9", 2819 + "keyv": "^4.5.4" 2820 + }, 2821 + "engines": { 2822 + "node": ">=16" 2823 + } 2824 + }, 2825 + "node_modules/flatted": { 2826 + "version": "3.3.3", 2827 + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", 2828 + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", 2829 + "dev": true 2830 + }, 2831 + "node_modules/for-each": { 2832 + "version": "0.3.5", 2833 + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", 2834 + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", 2835 + "dev": true, 2836 + "dependencies": { 2837 + "is-callable": "^1.2.7" 2838 + }, 2839 + "engines": { 2840 + "node": ">= 0.4" 2841 + }, 2842 + "funding": { 2843 + "url": "https://github.com/sponsors/ljharb" 2844 + } 2845 + }, 2846 + "node_modules/form-data": { 2847 + "version": "4.0.2", 2848 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", 2849 + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", 2850 + "optional": true, 2851 + "dependencies": { 2852 + "asynckit": "^0.4.0", 2853 + "combined-stream": "^1.0.8", 2854 + "es-set-tostringtag": "^2.1.0", 2855 + "mime-types": "^2.1.12" 2856 + }, 2857 + "engines": { 2858 + "node": ">= 6" 2859 + } 2860 + }, 2861 + "node_modules/fsevents": { 2862 + "version": "2.3.2", 2863 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2864 + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2865 + "dev": true, 2866 + "hasInstallScript": true, 2867 + "optional": true, 2868 + "os": [ 2869 + "darwin" 2870 + ], 2871 + "engines": { 2872 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2873 + } 2874 + }, 2875 + "node_modules/function-bind": { 2876 + "version": "1.1.2", 2877 + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 2878 + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 2879 + "devOptional": true, 2880 + "funding": { 2881 + "url": "https://github.com/sponsors/ljharb" 2882 + } 2883 + }, 2884 + "node_modules/function.prototype.name": { 2885 + "version": "1.1.8", 2886 + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", 2887 + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", 2888 + "dev": true, 2889 + "dependencies": { 2890 + "call-bind": "^1.0.8", 2891 + "call-bound": "^1.0.3", 2892 + "define-properties": "^1.2.1", 2893 + "functions-have-names": "^1.2.3", 2894 + "hasown": "^2.0.2", 2895 + "is-callable": "^1.2.7" 2896 + }, 2897 + "engines": { 2898 + "node": ">= 0.4" 2899 + }, 2900 + "funding": { 2901 + "url": "https://github.com/sponsors/ljharb" 2902 + } 2903 + }, 2904 + "node_modules/functions-have-names": { 2905 + "version": "1.2.3", 2906 + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", 2907 + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", 2908 + "dev": true, 2909 + "funding": { 2910 + "url": "https://github.com/sponsors/ljharb" 2911 + } 2912 + }, 2913 + "node_modules/get-intrinsic": { 2914 + "version": "1.3.0", 2915 + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", 2916 + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", 2917 + "devOptional": true, 2918 + "dependencies": { 2919 + "call-bind-apply-helpers": "^1.0.2", 2920 + "es-define-property": "^1.0.1", 2921 + "es-errors": "^1.3.0", 2922 + "es-object-atoms": "^1.1.1", 2923 + "function-bind": "^1.1.2", 2924 + "get-proto": "^1.0.1", 2925 + "gopd": "^1.2.0", 2926 + "has-symbols": "^1.1.0", 2927 + "hasown": "^2.0.2", 2928 + "math-intrinsics": "^1.1.0" 2929 + }, 2930 + "engines": { 2931 + "node": ">= 0.4" 2932 + }, 2933 + "funding": { 2934 + "url": "https://github.com/sponsors/ljharb" 2935 + } 2936 + }, 2937 + "node_modules/get-proto": { 2938 + "version": "1.0.1", 2939 + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", 2940 + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", 2941 + "devOptional": true, 2942 + "dependencies": { 2943 + "dunder-proto": "^1.0.1", 2944 + "es-object-atoms": "^1.0.0" 2945 + }, 2946 + "engines": { 2947 + "node": ">= 0.4" 2948 + } 2949 + }, 2950 + "node_modules/get-symbol-description": { 2951 + "version": "1.1.0", 2952 + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", 2953 + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", 2954 + "dev": true, 2955 + "dependencies": { 2956 + "call-bound": "^1.0.3", 2957 + "es-errors": "^1.3.0", 2958 + "get-intrinsic": "^1.2.6" 2959 + }, 2960 + "engines": { 2961 + "node": ">= 0.4" 2962 + }, 2963 + "funding": { 2964 + "url": "https://github.com/sponsors/ljharb" 2965 + } 2966 + }, 2967 + "node_modules/get-tsconfig": { 2968 + "version": "4.10.0", 2969 + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", 2970 + "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", 2971 + "dev": true, 2972 + "dependencies": { 2973 + "resolve-pkg-maps": "^1.0.0" 2974 + }, 2975 + "funding": { 2976 + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 2977 + } 2978 + }, 2979 + "node_modules/glob-parent": { 2980 + "version": "6.0.2", 2981 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2982 + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2983 + "dev": true, 2984 + "dependencies": { 2985 + "is-glob": "^4.0.3" 2986 + }, 2987 + "engines": { 2988 + "node": ">=10.13.0" 2989 + } 2990 + }, 2991 + "node_modules/globals": { 2992 + "version": "14.0.0", 2993 + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 2994 + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 2995 + "dev": true, 2996 + "engines": { 2997 + "node": ">=18" 2998 + }, 2999 + "funding": { 3000 + "url": "https://github.com/sponsors/sindresorhus" 3001 + } 3002 + }, 3003 + "node_modules/globalthis": { 3004 + "version": "1.0.4", 3005 + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", 3006 + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", 3007 + "dev": true, 3008 + "dependencies": { 3009 + "define-properties": "^1.2.1", 3010 + "gopd": "^1.0.1" 3011 + }, 3012 + "engines": { 3013 + "node": ">= 0.4" 3014 + }, 3015 + "funding": { 3016 + "url": "https://github.com/sponsors/ljharb" 3017 + } 3018 + }, 3019 + "node_modules/gopd": { 3020 + "version": "1.2.0", 3021 + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", 3022 + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", 3023 + "devOptional": true, 3024 + "engines": { 3025 + "node": ">= 0.4" 3026 + }, 3027 + "funding": { 3028 + "url": "https://github.com/sponsors/ljharb" 3029 + } 3030 + }, 3031 + "node_modules/graphemer": { 3032 + "version": "1.4.0", 3033 + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 3034 + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 3035 + "dev": true 3036 + }, 3037 + "node_modules/has-bigints": { 3038 + "version": "1.1.0", 3039 + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", 3040 + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", 3041 + "dev": true, 3042 + "engines": { 3043 + "node": ">= 0.4" 3044 + }, 3045 + "funding": { 3046 + "url": "https://github.com/sponsors/ljharb" 3047 + } 3048 + }, 3049 + "node_modules/has-flag": { 3050 + "version": "4.0.0", 3051 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 3052 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 3053 + "dev": true, 3054 + "engines": { 3055 + "node": ">=8" 3056 + } 3057 + }, 3058 + "node_modules/has-property-descriptors": { 3059 + "version": "1.0.2", 3060 + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", 3061 + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", 3062 + "dev": true, 3063 + "dependencies": { 3064 + "es-define-property": "^1.0.0" 3065 + }, 3066 + "funding": { 3067 + "url": "https://github.com/sponsors/ljharb" 3068 + } 3069 + }, 3070 + "node_modules/has-proto": { 3071 + "version": "1.2.0", 3072 + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", 3073 + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", 3074 + "dev": true, 3075 + "dependencies": { 3076 + "dunder-proto": "^1.0.0" 3077 + }, 3078 + "engines": { 3079 + "node": ">= 0.4" 3080 + }, 3081 + "funding": { 3082 + "url": "https://github.com/sponsors/ljharb" 3083 + } 3084 + }, 3085 + "node_modules/has-symbols": { 3086 + "version": "1.1.0", 3087 + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", 3088 + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", 3089 + "devOptional": true, 3090 + "engines": { 3091 + "node": ">= 0.4" 3092 + }, 3093 + "funding": { 3094 + "url": "https://github.com/sponsors/ljharb" 3095 + } 3096 + }, 3097 + "node_modules/has-tostringtag": { 3098 + "version": "1.0.2", 3099 + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", 3100 + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", 3101 + "devOptional": true, 3102 + "dependencies": { 3103 + "has-symbols": "^1.0.3" 3104 + }, 3105 + "engines": { 3106 + "node": ">= 0.4" 3107 + }, 3108 + "funding": { 3109 + "url": "https://github.com/sponsors/ljharb" 3110 + } 3111 + }, 3112 + "node_modules/hasown": { 3113 + "version": "2.0.2", 3114 + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 3115 + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 3116 + "devOptional": true, 3117 + "dependencies": { 3118 + "function-bind": "^1.1.2" 3119 + }, 3120 + "engines": { 3121 + "node": ">= 0.4" 3122 + } 3123 + }, 3124 + "node_modules/html-encoding-sniffer": { 3125 + "version": "4.0.0", 3126 + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", 3127 + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", 3128 + "optional": true, 3129 + "dependencies": { 3130 + "whatwg-encoding": "^3.1.1" 3131 + }, 3132 + "engines": { 3133 + "node": ">=18" 3134 + } 3135 + }, 3136 + "node_modules/http-proxy-agent": { 3137 + "version": "7.0.2", 3138 + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", 3139 + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", 3140 + "optional": true, 3141 + "dependencies": { 3142 + "agent-base": "^7.1.0", 3143 + "debug": "^4.3.4" 3144 + }, 3145 + "engines": { 3146 + "node": ">= 14" 3147 + } 3148 + }, 3149 + "node_modules/https-proxy-agent": { 3150 + "version": "7.0.6", 3151 + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", 3152 + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", 3153 + "optional": true, 3154 + "dependencies": { 3155 + "agent-base": "^7.1.2", 3156 + "debug": "4" 3157 + }, 3158 + "engines": { 3159 + "node": ">= 14" 3160 + } 3161 + }, 3162 + "node_modules/iconv-lite": { 3163 + "version": "0.6.3", 3164 + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 3165 + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 3166 + "optional": true, 3167 + "dependencies": { 3168 + "safer-buffer": ">= 2.1.2 < 3.0.0" 3169 + }, 3170 + "engines": { 3171 + "node": ">=0.10.0" 3172 + } 3173 + }, 3174 + "node_modules/ignore": { 3175 + "version": "5.3.2", 3176 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", 3177 + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", 3178 + "dev": true, 3179 + "engines": { 3180 + "node": ">= 4" 3181 + } 3182 + }, 3183 + "node_modules/import-fresh": { 3184 + "version": "3.3.1", 3185 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", 3186 + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", 3187 + "dev": true, 3188 + "dependencies": { 3189 + "parent-module": "^1.0.0", 3190 + "resolve-from": "^4.0.0" 3191 + }, 3192 + "engines": { 3193 + "node": ">=6" 3194 + }, 3195 + "funding": { 3196 + "url": "https://github.com/sponsors/sindresorhus" 3197 + } 3198 + }, 3199 + "node_modules/imurmurhash": { 3200 + "version": "0.1.4", 3201 + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 3202 + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 3203 + "dev": true, 3204 + "engines": { 3205 + "node": ">=0.8.19" 3206 + } 3207 + }, 3208 + "node_modules/internal-slot": { 3209 + "version": "1.1.0", 3210 + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", 3211 + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", 3212 + "dev": true, 3213 + "dependencies": { 3214 + "es-errors": "^1.3.0", 3215 + "hasown": "^2.0.2", 3216 + "side-channel": "^1.1.0" 3217 + }, 3218 + "engines": { 3219 + "node": ">= 0.4" 3220 + } 3221 + }, 3222 + "node_modules/is-array-buffer": { 3223 + "version": "3.0.5", 3224 + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", 3225 + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", 3226 + "dev": true, 3227 + "dependencies": { 3228 + "call-bind": "^1.0.8", 3229 + "call-bound": "^1.0.3", 3230 + "get-intrinsic": "^1.2.6" 3231 + }, 3232 + "engines": { 3233 + "node": ">= 0.4" 3234 + }, 3235 + "funding": { 3236 + "url": "https://github.com/sponsors/ljharb" 3237 + } 3238 + }, 3239 + "node_modules/is-arrayish": { 3240 + "version": "0.3.2", 3241 + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", 3242 + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", 3243 + "optional": true 3244 + }, 3245 + "node_modules/is-async-function": { 3246 + "version": "2.1.1", 3247 + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", 3248 + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", 3249 + "dev": true, 3250 + "dependencies": { 3251 + "async-function": "^1.0.0", 3252 + "call-bound": "^1.0.3", 3253 + "get-proto": "^1.0.1", 3254 + "has-tostringtag": "^1.0.2", 3255 + "safe-regex-test": "^1.1.0" 3256 + }, 3257 + "engines": { 3258 + "node": ">= 0.4" 3259 + }, 3260 + "funding": { 3261 + "url": "https://github.com/sponsors/ljharb" 3262 + } 3263 + }, 3264 + "node_modules/is-bigint": { 3265 + "version": "1.1.0", 3266 + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", 3267 + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", 3268 + "dev": true, 3269 + "dependencies": { 3270 + "has-bigints": "^1.0.2" 3271 + }, 3272 + "engines": { 3273 + "node": ">= 0.4" 3274 + }, 3275 + "funding": { 3276 + "url": "https://github.com/sponsors/ljharb" 3277 + } 3278 + }, 3279 + "node_modules/is-boolean-object": { 3280 + "version": "1.2.2", 3281 + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", 3282 + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", 3283 + "dev": true, 3284 + "dependencies": { 3285 + "call-bound": "^1.0.3", 3286 + "has-tostringtag": "^1.0.2" 3287 + }, 3288 + "engines": { 3289 + "node": ">= 0.4" 3290 + }, 3291 + "funding": { 3292 + "url": "https://github.com/sponsors/ljharb" 3293 + } 3294 + }, 3295 + "node_modules/is-bun-module": { 3296 + "version": "1.3.0", 3297 + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.3.0.tgz", 3298 + "integrity": "sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==", 3299 + "dev": true, 3300 + "dependencies": { 3301 + "semver": "^7.6.3" 3302 + } 3303 + }, 3304 + "node_modules/is-callable": { 3305 + "version": "1.2.7", 3306 + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", 3307 + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", 3308 + "dev": true, 3309 + "engines": { 3310 + "node": ">= 0.4" 3311 + }, 3312 + "funding": { 3313 + "url": "https://github.com/sponsors/ljharb" 3314 + } 3315 + }, 3316 + "node_modules/is-core-module": { 3317 + "version": "2.16.1", 3318 + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", 3319 + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", 3320 + "dev": true, 3321 + "dependencies": { 3322 + "hasown": "^2.0.2" 3323 + }, 3324 + "engines": { 3325 + "node": ">= 0.4" 3326 + }, 3327 + "funding": { 3328 + "url": "https://github.com/sponsors/ljharb" 3329 + } 3330 + }, 3331 + "node_modules/is-data-view": { 3332 + "version": "1.0.2", 3333 + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", 3334 + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", 3335 + "dev": true, 3336 + "dependencies": { 3337 + "call-bound": "^1.0.2", 3338 + "get-intrinsic": "^1.2.6", 3339 + "is-typed-array": "^1.1.13" 3340 + }, 3341 + "engines": { 3342 + "node": ">= 0.4" 3343 + }, 3344 + "funding": { 3345 + "url": "https://github.com/sponsors/ljharb" 3346 + } 3347 + }, 3348 + "node_modules/is-date-object": { 3349 + "version": "1.1.0", 3350 + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", 3351 + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", 3352 + "dev": true, 3353 + "dependencies": { 3354 + "call-bound": "^1.0.2", 3355 + "has-tostringtag": "^1.0.2" 3356 + }, 3357 + "engines": { 3358 + "node": ">= 0.4" 3359 + }, 3360 + "funding": { 3361 + "url": "https://github.com/sponsors/ljharb" 3362 + } 3363 + }, 3364 + "node_modules/is-extglob": { 3365 + "version": "2.1.1", 3366 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 3367 + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 3368 + "dev": true, 3369 + "engines": { 3370 + "node": ">=0.10.0" 3371 + } 3372 + }, 3373 + "node_modules/is-finalizationregistry": { 3374 + "version": "1.1.1", 3375 + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", 3376 + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", 3377 + "dev": true, 3378 + "dependencies": { 3379 + "call-bound": "^1.0.3" 3380 + }, 3381 + "engines": { 3382 + "node": ">= 0.4" 3383 + }, 3384 + "funding": { 3385 + "url": "https://github.com/sponsors/ljharb" 3386 + } 3387 + }, 3388 + "node_modules/is-generator-function": { 3389 + "version": "1.1.0", 3390 + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", 3391 + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", 3392 + "dev": true, 3393 + "dependencies": { 3394 + "call-bound": "^1.0.3", 3395 + "get-proto": "^1.0.0", 3396 + "has-tostringtag": "^1.0.2", 3397 + "safe-regex-test": "^1.1.0" 3398 + }, 3399 + "engines": { 3400 + "node": ">= 0.4" 3401 + }, 3402 + "funding": { 3403 + "url": "https://github.com/sponsors/ljharb" 3404 + } 3405 + }, 3406 + "node_modules/is-glob": { 3407 + "version": "4.0.3", 3408 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 3409 + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 3410 + "dev": true, 3411 + "dependencies": { 3412 + "is-extglob": "^2.1.1" 3413 + }, 3414 + "engines": { 3415 + "node": ">=0.10.0" 3416 + } 3417 + }, 3418 + "node_modules/is-map": { 3419 + "version": "2.0.3", 3420 + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", 3421 + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", 3422 + "dev": true, 3423 + "engines": { 3424 + "node": ">= 0.4" 3425 + }, 3426 + "funding": { 3427 + "url": "https://github.com/sponsors/ljharb" 3428 + } 3429 + }, 3430 + "node_modules/is-number": { 3431 + "version": "7.0.0", 3432 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 3433 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 3434 + "dev": true, 3435 + "engines": { 3436 + "node": ">=0.12.0" 3437 + } 3438 + }, 3439 + "node_modules/is-number-object": { 3440 + "version": "1.1.1", 3441 + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", 3442 + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", 3443 + "dev": true, 3444 + "dependencies": { 3445 + "call-bound": "^1.0.3", 3446 + "has-tostringtag": "^1.0.2" 3447 + }, 3448 + "engines": { 3449 + "node": ">= 0.4" 3450 + }, 3451 + "funding": { 3452 + "url": "https://github.com/sponsors/ljharb" 3453 + } 3454 + }, 3455 + "node_modules/is-potential-custom-element-name": { 3456 + "version": "1.0.1", 3457 + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", 3458 + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", 3459 + "optional": true 3460 + }, 3461 + "node_modules/is-regex": { 3462 + "version": "1.2.1", 3463 + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", 3464 + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", 3465 + "dev": true, 3466 + "dependencies": { 3467 + "call-bound": "^1.0.2", 3468 + "gopd": "^1.2.0", 3469 + "has-tostringtag": "^1.0.2", 3470 + "hasown": "^2.0.2" 3471 + }, 3472 + "engines": { 3473 + "node": ">= 0.4" 3474 + }, 3475 + "funding": { 3476 + "url": "https://github.com/sponsors/ljharb" 3477 + } 3478 + }, 3479 + "node_modules/is-set": { 3480 + "version": "2.0.3", 3481 + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", 3482 + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", 3483 + "dev": true, 3484 + "engines": { 3485 + "node": ">= 0.4" 3486 + }, 3487 + "funding": { 3488 + "url": "https://github.com/sponsors/ljharb" 3489 + } 3490 + }, 3491 + "node_modules/is-shared-array-buffer": { 3492 + "version": "1.0.4", 3493 + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", 3494 + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", 3495 + "dev": true, 3496 + "dependencies": { 3497 + "call-bound": "^1.0.3" 3498 + }, 3499 + "engines": { 3500 + "node": ">= 0.4" 3501 + }, 3502 + "funding": { 3503 + "url": "https://github.com/sponsors/ljharb" 3504 + } 3505 + }, 3506 + "node_modules/is-string": { 3507 + "version": "1.1.1", 3508 + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", 3509 + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", 3510 + "dev": true, 3511 + "dependencies": { 3512 + "call-bound": "^1.0.3", 3513 + "has-tostringtag": "^1.0.2" 3514 + }, 3515 + "engines": { 3516 + "node": ">= 0.4" 3517 + }, 3518 + "funding": { 3519 + "url": "https://github.com/sponsors/ljharb" 3520 + } 3521 + }, 3522 + "node_modules/is-symbol": { 3523 + "version": "1.1.1", 3524 + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", 3525 + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", 3526 + "dev": true, 3527 + "dependencies": { 3528 + "call-bound": "^1.0.2", 3529 + "has-symbols": "^1.1.0", 3530 + "safe-regex-test": "^1.1.0" 3531 + }, 3532 + "engines": { 3533 + "node": ">= 0.4" 3534 + }, 3535 + "funding": { 3536 + "url": "https://github.com/sponsors/ljharb" 3537 + } 3538 + }, 3539 + "node_modules/is-typed-array": { 3540 + "version": "1.1.15", 3541 + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", 3542 + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", 3543 + "dev": true, 3544 + "dependencies": { 3545 + "which-typed-array": "^1.1.16" 3546 + }, 3547 + "engines": { 3548 + "node": ">= 0.4" 3549 + }, 3550 + "funding": { 3551 + "url": "https://github.com/sponsors/ljharb" 3552 + } 3553 + }, 3554 + "node_modules/is-weakmap": { 3555 + "version": "2.0.2", 3556 + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", 3557 + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", 3558 + "dev": true, 3559 + "engines": { 3560 + "node": ">= 0.4" 3561 + }, 3562 + "funding": { 3563 + "url": "https://github.com/sponsors/ljharb" 3564 + } 3565 + }, 3566 + "node_modules/is-weakref": { 3567 + "version": "1.1.1", 3568 + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", 3569 + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", 3570 + "dev": true, 3571 + "dependencies": { 3572 + "call-bound": "^1.0.3" 3573 + }, 3574 + "engines": { 3575 + "node": ">= 0.4" 3576 + }, 3577 + "funding": { 3578 + "url": "https://github.com/sponsors/ljharb" 3579 + } 3580 + }, 3581 + "node_modules/is-weakset": { 3582 + "version": "2.0.4", 3583 + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", 3584 + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", 3585 + "dev": true, 3586 + "dependencies": { 3587 + "call-bound": "^1.0.3", 3588 + "get-intrinsic": "^1.2.6" 3589 + }, 3590 + "engines": { 3591 + "node": ">= 0.4" 3592 + }, 3593 + "funding": { 3594 + "url": "https://github.com/sponsors/ljharb" 3595 + } 3596 + }, 3597 + "node_modules/isarray": { 3598 + "version": "2.0.5", 3599 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", 3600 + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", 3601 + "dev": true 3602 + }, 3603 + "node_modules/isexe": { 3604 + "version": "2.0.0", 3605 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3606 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 3607 + "dev": true 3608 + }, 3609 + "node_modules/iterator.prototype": { 3610 + "version": "1.1.5", 3611 + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", 3612 + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", 3613 + "dev": true, 3614 + "dependencies": { 3615 + "define-data-property": "^1.1.4", 3616 + "es-object-atoms": "^1.0.0", 3617 + "get-intrinsic": "^1.2.6", 3618 + "get-proto": "^1.0.0", 3619 + "has-symbols": "^1.1.0", 3620 + "set-function-name": "^2.0.2" 3621 + }, 3622 + "engines": { 3623 + "node": ">= 0.4" 3624 + } 3625 + }, 3626 + "node_modules/js-tokens": { 3627 + "version": "4.0.0", 3628 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3629 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 3630 + "dev": true 3631 + }, 3632 + "node_modules/js-yaml": { 3633 + "version": "4.1.0", 3634 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 3635 + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 3636 + "dev": true, 3637 + "dependencies": { 3638 + "argparse": "^2.0.1" 3639 + }, 3640 + "bin": { 3641 + "js-yaml": "bin/js-yaml.js" 3642 + } 3643 + }, 3644 + "node_modules/jsdom": { 3645 + "version": "23.2.0", 3646 + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-23.2.0.tgz", 3647 + "integrity": "sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA==", 3648 + "optional": true, 3649 + "dependencies": { 3650 + "@asamuzakjp/dom-selector": "^2.0.1", 3651 + "cssstyle": "^4.0.1", 3652 + "data-urls": "^5.0.0", 3653 + "decimal.js": "^10.4.3", 3654 + "form-data": "^4.0.0", 3655 + "html-encoding-sniffer": "^4.0.0", 3656 + "http-proxy-agent": "^7.0.0", 3657 + "https-proxy-agent": "^7.0.2", 3658 + "is-potential-custom-element-name": "^1.0.1", 3659 + "parse5": "^7.1.2", 3660 + "rrweb-cssom": "^0.6.0", 3661 + "saxes": "^6.0.0", 3662 + "symbol-tree": "^3.2.4", 3663 + "tough-cookie": "^4.1.3", 3664 + "w3c-xmlserializer": "^5.0.0", 3665 + "webidl-conversions": "^7.0.0", 3666 + "whatwg-encoding": "^3.1.1", 3667 + "whatwg-mimetype": "^4.0.0", 3668 + "whatwg-url": "^14.0.0", 3669 + "ws": "^8.16.0", 3670 + "xml-name-validator": "^5.0.0" 3671 + }, 3672 + "engines": { 3673 + "node": ">=18" 3674 + }, 3675 + "peerDependencies": { 3676 + "canvas": "^2.11.2" 3677 + }, 3678 + "peerDependenciesMeta": { 3679 + "canvas": { 3680 + "optional": true 3681 + } 3682 + } 3683 + }, 3684 + "node_modules/json-buffer": { 3685 + "version": "3.0.1", 3686 + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 3687 + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 3688 + "dev": true 3689 + }, 3690 + "node_modules/json-schema-traverse": { 3691 + "version": "0.4.1", 3692 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 3693 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 3694 + "dev": true 3695 + }, 3696 + "node_modules/json-stable-stringify-without-jsonify": { 3697 + "version": "1.0.1", 3698 + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 3699 + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 3700 + "dev": true 3701 + }, 3702 + "node_modules/json5": { 3703 + "version": "1.0.2", 3704 + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", 3705 + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", 3706 + "dev": true, 3707 + "dependencies": { 3708 + "minimist": "^1.2.0" 3709 + }, 3710 + "bin": { 3711 + "json5": "lib/cli.js" 3712 + } 3713 + }, 3714 + "node_modules/jsx-ast-utils": { 3715 + "version": "3.3.5", 3716 + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", 3717 + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", 3718 + "dev": true, 3719 + "dependencies": { 3720 + "array-includes": "^3.1.6", 3721 + "array.prototype.flat": "^1.3.1", 3722 + "object.assign": "^4.1.4", 3723 + "object.values": "^1.1.6" 3724 + }, 3725 + "engines": { 3726 + "node": ">=4.0" 3727 + } 3728 + }, 3729 + "node_modules/keyv": { 3730 + "version": "4.5.4", 3731 + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 3732 + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 3733 + "dev": true, 3734 + "dependencies": { 3735 + "json-buffer": "3.0.1" 3736 + } 3737 + }, 3738 + "node_modules/language-subtag-registry": { 3739 + "version": "0.3.23", 3740 + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", 3741 + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", 3742 + "dev": true 3743 + }, 3744 + "node_modules/language-tags": { 3745 + "version": "1.0.9", 3746 + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", 3747 + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", 3748 + "dev": true, 3749 + "dependencies": { 3750 + "language-subtag-registry": "^0.3.20" 3751 + }, 3752 + "engines": { 3753 + "node": ">=0.10" 3754 + } 3755 + }, 3756 + "node_modules/levn": { 3757 + "version": "0.4.1", 3758 + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 3759 + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 3760 + "dev": true, 3761 + "dependencies": { 3762 + "prelude-ls": "^1.2.1", 3763 + "type-check": "~0.4.0" 3764 + }, 3765 + "engines": { 3766 + "node": ">= 0.8.0" 3767 + } 3768 + }, 3769 + "node_modules/locate-path": { 3770 + "version": "6.0.0", 3771 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 3772 + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 3773 + "dev": true, 3774 + "dependencies": { 3775 + "p-locate": "^5.0.0" 3776 + }, 3777 + "engines": { 3778 + "node": ">=10" 3779 + }, 3780 + "funding": { 3781 + "url": "https://github.com/sponsors/sindresorhus" 3782 + } 3783 + }, 3784 + "node_modules/lodash.merge": { 3785 + "version": "4.6.2", 3786 + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 3787 + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 3788 + "dev": true 3789 + }, 3790 + "node_modules/loose-envify": { 3791 + "version": "1.4.0", 3792 + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 3793 + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 3794 + "dev": true, 3795 + "dependencies": { 3796 + "js-tokens": "^3.0.0 || ^4.0.0" 3797 + }, 3798 + "bin": { 3799 + "loose-envify": "cli.js" 3800 + } 3801 + }, 3802 + "node_modules/lru-cache": { 3803 + "version": "10.4.3", 3804 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", 3805 + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", 3806 + "optional": true 3807 + }, 3808 + "node_modules/math-intrinsics": { 3809 + "version": "1.1.0", 3810 + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", 3811 + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", 3812 + "devOptional": true, 3813 + "engines": { 3814 + "node": ">= 0.4" 3815 + } 3816 + }, 3817 + "node_modules/mdn-data": { 3818 + "version": "2.0.30", 3819 + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", 3820 + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", 3821 + "optional": true 3822 + }, 3823 + "node_modules/merge2": { 3824 + "version": "1.4.1", 3825 + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 3826 + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 3827 + "dev": true, 3828 + "engines": { 3829 + "node": ">= 8" 3830 + } 3831 + }, 3832 + "node_modules/micromatch": { 3833 + "version": "4.0.8", 3834 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 3835 + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 3836 + "dev": true, 3837 + "dependencies": { 3838 + "braces": "^3.0.3", 3839 + "picomatch": "^2.3.1" 3840 + }, 3841 + "engines": { 3842 + "node": ">=8.6" 3843 + } 3844 + }, 3845 + "node_modules/mime-db": { 3846 + "version": "1.52.0", 3847 + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 3848 + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 3849 + "optional": true, 3850 + "engines": { 3851 + "node": ">= 0.6" 3852 + } 3853 + }, 3854 + "node_modules/mime-types": { 3855 + "version": "2.1.35", 3856 + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 3857 + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 3858 + "optional": true, 3859 + "dependencies": { 3860 + "mime-db": "1.52.0" 3861 + }, 3862 + "engines": { 3863 + "node": ">= 0.6" 3864 + } 3865 + }, 3866 + "node_modules/minimatch": { 3867 + "version": "3.1.2", 3868 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3869 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3870 + "dev": true, 3871 + "dependencies": { 3872 + "brace-expansion": "^1.1.7" 3873 + }, 3874 + "engines": { 3875 + "node": "*" 3876 + } 3877 + }, 3878 + "node_modules/minimist": { 3879 + "version": "1.2.8", 3880 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 3881 + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 3882 + "dev": true, 3883 + "funding": { 3884 + "url": "https://github.com/sponsors/ljharb" 3885 + } 3886 + }, 3887 + "node_modules/ms": { 3888 + "version": "2.1.3", 3889 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 3890 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 3891 + "devOptional": true 3892 + }, 3893 + "node_modules/nanoid": { 3894 + "version": "3.3.10", 3895 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.10.tgz", 3896 + "integrity": "sha512-vSJJTG+t/dIKAUhUDw/dLdZ9s//5OxcHqLaDWWrW4Cdq7o6tdLIczUkMXt2MBNmk6sJRZBZRXVixs7URY1CmIg==", 3897 + "funding": [ 3898 + { 3899 + "type": "github", 3900 + "url": "https://github.com/sponsors/ai" 3901 + } 3902 + ], 3903 + "bin": { 3904 + "nanoid": "bin/nanoid.cjs" 3905 + }, 3906 + "engines": { 3907 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 3908 + } 3909 + }, 3910 + "node_modules/natural-compare": { 3911 + "version": "1.4.0", 3912 + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 3913 + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 3914 + "dev": true 3915 + }, 3916 + "node_modules/next": { 3917 + "version": "15.2.3", 3918 + "resolved": "https://registry.npmjs.org/next/-/next-15.2.3.tgz", 3919 + "integrity": "sha512-x6eDkZxk2rPpu46E1ZVUWIBhYCLszmUY6fvHBFcbzJ9dD+qRX6vcHusaqqDlnY+VngKzKbAiG2iRCkPbmi8f7w==", 3920 + "dependencies": { 3921 + "@next/env": "15.2.3", 3922 + "@swc/counter": "0.1.3", 3923 + "@swc/helpers": "0.5.15", 3924 + "busboy": "1.6.0", 3925 + "caniuse-lite": "^1.0.30001579", 3926 + "postcss": "8.4.31", 3927 + "styled-jsx": "5.1.6" 3928 + }, 3929 + "bin": { 3930 + "next": "dist/bin/next" 3931 + }, 3932 + "engines": { 3933 + "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" 3934 + }, 3935 + "optionalDependencies": { 3936 + "@next/swc-darwin-arm64": "15.2.3", 3937 + "@next/swc-darwin-x64": "15.2.3", 3938 + "@next/swc-linux-arm64-gnu": "15.2.3", 3939 + "@next/swc-linux-arm64-musl": "15.2.3", 3940 + "@next/swc-linux-x64-gnu": "15.2.3", 3941 + "@next/swc-linux-x64-musl": "15.2.3", 3942 + "@next/swc-win32-arm64-msvc": "15.2.3", 3943 + "@next/swc-win32-x64-msvc": "15.2.3", 3944 + "sharp": "^0.33.5" 3945 + }, 3946 + "peerDependencies": { 3947 + "@opentelemetry/api": "^1.1.0", 3948 + "@playwright/test": "^1.41.2", 3949 + "babel-plugin-react-compiler": "*", 3950 + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", 3951 + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", 3952 + "sass": "^1.3.0" 3953 + }, 3954 + "peerDependenciesMeta": { 3955 + "@opentelemetry/api": { 3956 + "optional": true 3957 + }, 3958 + "@playwright/test": { 3959 + "optional": true 3960 + }, 3961 + "babel-plugin-react-compiler": { 3962 + "optional": true 3963 + }, 3964 + "sass": { 3965 + "optional": true 3966 + } 3967 + } 3968 + }, 3969 + "node_modules/object-assign": { 3970 + "version": "4.1.1", 3971 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 3972 + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 3973 + "dev": true, 3974 + "engines": { 3975 + "node": ">=0.10.0" 3976 + } 3977 + }, 3978 + "node_modules/object-inspect": { 3979 + "version": "1.13.4", 3980 + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", 3981 + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", 3982 + "dev": true, 3983 + "engines": { 3984 + "node": ">= 0.4" 3985 + }, 3986 + "funding": { 3987 + "url": "https://github.com/sponsors/ljharb" 3988 + } 3989 + }, 3990 + "node_modules/object-keys": { 3991 + "version": "1.1.1", 3992 + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 3993 + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 3994 + "dev": true, 3995 + "engines": { 3996 + "node": ">= 0.4" 3997 + } 3998 + }, 3999 + "node_modules/object.assign": { 4000 + "version": "4.1.7", 4001 + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", 4002 + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", 4003 + "dev": true, 4004 + "dependencies": { 4005 + "call-bind": "^1.0.8", 4006 + "call-bound": "^1.0.3", 4007 + "define-properties": "^1.2.1", 4008 + "es-object-atoms": "^1.0.0", 4009 + "has-symbols": "^1.1.0", 4010 + "object-keys": "^1.1.1" 4011 + }, 4012 + "engines": { 4013 + "node": ">= 0.4" 4014 + }, 4015 + "funding": { 4016 + "url": "https://github.com/sponsors/ljharb" 4017 + } 4018 + }, 4019 + "node_modules/object.entries": { 4020 + "version": "1.1.9", 4021 + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", 4022 + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", 4023 + "dev": true, 4024 + "dependencies": { 4025 + "call-bind": "^1.0.8", 4026 + "call-bound": "^1.0.4", 4027 + "define-properties": "^1.2.1", 4028 + "es-object-atoms": "^1.1.1" 4029 + }, 4030 + "engines": { 4031 + "node": ">= 0.4" 4032 + } 4033 + }, 4034 + "node_modules/object.fromentries": { 4035 + "version": "2.0.8", 4036 + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", 4037 + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", 4038 + "dev": true, 4039 + "dependencies": { 4040 + "call-bind": "^1.0.7", 4041 + "define-properties": "^1.2.1", 4042 + "es-abstract": "^1.23.2", 4043 + "es-object-atoms": "^1.0.0" 4044 + }, 4045 + "engines": { 4046 + "node": ">= 0.4" 4047 + }, 4048 + "funding": { 4049 + "url": "https://github.com/sponsors/ljharb" 4050 + } 4051 + }, 4052 + "node_modules/object.groupby": { 4053 + "version": "1.0.3", 4054 + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", 4055 + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", 4056 + "dev": true, 4057 + "dependencies": { 4058 + "call-bind": "^1.0.7", 4059 + "define-properties": "^1.2.1", 4060 + "es-abstract": "^1.23.2" 4061 + }, 4062 + "engines": { 4063 + "node": ">= 0.4" 4064 + } 4065 + }, 4066 + "node_modules/object.values": { 4067 + "version": "1.2.1", 4068 + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", 4069 + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", 4070 + "dev": true, 4071 + "dependencies": { 4072 + "call-bind": "^1.0.8", 4073 + "call-bound": "^1.0.3", 4074 + "define-properties": "^1.2.1", 4075 + "es-object-atoms": "^1.0.0" 4076 + }, 4077 + "engines": { 4078 + "node": ">= 0.4" 4079 + }, 4080 + "funding": { 4081 + "url": "https://github.com/sponsors/ljharb" 4082 + } 4083 + }, 4084 + "node_modules/optionator": { 4085 + "version": "0.9.4", 4086 + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", 4087 + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", 4088 + "dev": true, 4089 + "dependencies": { 4090 + "deep-is": "^0.1.3", 4091 + "fast-levenshtein": "^2.0.6", 4092 + "levn": "^0.4.1", 4093 + "prelude-ls": "^1.2.1", 4094 + "type-check": "^0.4.0", 4095 + "word-wrap": "^1.2.5" 4096 + }, 4097 + "engines": { 4098 + "node": ">= 0.8.0" 4099 + } 4100 + }, 4101 + "node_modules/own-keys": { 4102 + "version": "1.0.1", 4103 + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", 4104 + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", 4105 + "dev": true, 4106 + "dependencies": { 4107 + "get-intrinsic": "^1.2.6", 4108 + "object-keys": "^1.1.1", 4109 + "safe-push-apply": "^1.0.0" 4110 + }, 4111 + "engines": { 4112 + "node": ">= 0.4" 4113 + }, 4114 + "funding": { 4115 + "url": "https://github.com/sponsors/ljharb" 4116 + } 4117 + }, 4118 + "node_modules/p-limit": { 4119 + "version": "3.1.0", 4120 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 4121 + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 4122 + "dev": true, 4123 + "dependencies": { 4124 + "yocto-queue": "^0.1.0" 4125 + }, 4126 + "engines": { 4127 + "node": ">=10" 4128 + }, 4129 + "funding": { 4130 + "url": "https://github.com/sponsors/sindresorhus" 4131 + } 4132 + }, 4133 + "node_modules/p-locate": { 4134 + "version": "5.0.0", 4135 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 4136 + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 4137 + "dev": true, 4138 + "dependencies": { 4139 + "p-limit": "^3.0.2" 4140 + }, 4141 + "engines": { 4142 + "node": ">=10" 4143 + }, 4144 + "funding": { 4145 + "url": "https://github.com/sponsors/sindresorhus" 4146 + } 4147 + }, 4148 + "node_modules/pako": { 4149 + "version": "1.0.11", 4150 + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", 4151 + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" 4152 + }, 4153 + "node_modules/parent-module": { 4154 + "version": "1.0.1", 4155 + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 4156 + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 4157 + "dev": true, 4158 + "dependencies": { 4159 + "callsites": "^3.0.0" 4160 + }, 4161 + "engines": { 4162 + "node": ">=6" 4163 + } 4164 + }, 4165 + "node_modules/parse5": { 4166 + "version": "7.2.1", 4167 + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", 4168 + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", 4169 + "optional": true, 4170 + "dependencies": { 4171 + "entities": "^4.5.0" 4172 + }, 4173 + "funding": { 4174 + "url": "https://github.com/inikulin/parse5?sponsor=1" 4175 + } 4176 + }, 4177 + "node_modules/path-exists": { 4178 + "version": "4.0.0", 4179 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 4180 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 4181 + "dev": true, 4182 + "engines": { 4183 + "node": ">=8" 4184 + } 4185 + }, 4186 + "node_modules/path-key": { 4187 + "version": "3.1.1", 4188 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 4189 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 4190 + "dev": true, 4191 + "engines": { 4192 + "node": ">=8" 4193 + } 4194 + }, 4195 + "node_modules/path-parse": { 4196 + "version": "1.0.7", 4197 + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 4198 + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 4199 + "dev": true 4200 + }, 4201 + "node_modules/picocolors": { 4202 + "version": "1.1.1", 4203 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 4204 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" 4205 + }, 4206 + "node_modules/picomatch": { 4207 + "version": "2.3.1", 4208 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 4209 + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 4210 + "dev": true, 4211 + "engines": { 4212 + "node": ">=8.6" 4213 + }, 4214 + "funding": { 4215 + "url": "https://github.com/sponsors/jonschlinkert" 4216 + } 4217 + }, 4218 + "node_modules/playwright": { 4219 + "version": "1.51.1", 4220 + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.51.1.tgz", 4221 + "integrity": "sha512-kkx+MB2KQRkyxjYPc3a0wLZZoDczmppyGJIvQ43l+aZihkaVvmu/21kiyaHeHjiFxjxNNFnUncKmcGIyOojsaw==", 4222 + "devOptional": true, 4223 + "dependencies": { 4224 + "playwright-core": "1.51.1" 4225 + }, 4226 + "bin": { 4227 + "playwright": "cli.js" 4228 + }, 4229 + "engines": { 4230 + "node": ">=18" 4231 + }, 4232 + "optionalDependencies": { 4233 + "fsevents": "2.3.2" 4234 + } 4235 + }, 4236 + "node_modules/playwright-core": { 4237 + "version": "1.51.1", 4238 + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.51.1.tgz", 4239 + "integrity": "sha512-/crRMj8+j/Nq5s8QcvegseuyeZPxpQCZb6HNk3Sos3BlZyAknRjoyJPFWkpNn8v0+P3WiwqFF8P+zQo4eqiNuw==", 4240 + "devOptional": true, 4241 + "bin": { 4242 + "playwright-core": "cli.js" 4243 + }, 4244 + "engines": { 4245 + "node": ">=18" 4246 + } 4247 + }, 4248 + "node_modules/possible-typed-array-names": { 4249 + "version": "1.1.0", 4250 + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", 4251 + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", 4252 + "dev": true, 4253 + "engines": { 4254 + "node": ">= 0.4" 4255 + } 4256 + }, 4257 + "node_modules/postcss": { 4258 + "version": "8.4.31", 4259 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", 4260 + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", 4261 + "funding": [ 4262 + { 4263 + "type": "opencollective", 4264 + "url": "https://opencollective.com/postcss/" 4265 + }, 4266 + { 4267 + "type": "tidelift", 4268 + "url": "https://tidelift.com/funding/github/npm/postcss" 4269 + }, 4270 + { 4271 + "type": "github", 4272 + "url": "https://github.com/sponsors/ai" 4273 + } 4274 + ], 4275 + "dependencies": { 4276 + "nanoid": "^3.3.6", 4277 + "picocolors": "^1.0.0", 4278 + "source-map-js": "^1.0.2" 4279 + }, 4280 + "engines": { 4281 + "node": "^10 || ^12 || >=14" 4282 + } 4283 + }, 4284 + "node_modules/prelude-ls": { 4285 + "version": "1.2.1", 4286 + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 4287 + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 4288 + "dev": true, 4289 + "engines": { 4290 + "node": ">= 0.8.0" 4291 + } 4292 + }, 4293 + "node_modules/prop-types": { 4294 + "version": "15.8.1", 4295 + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 4296 + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 4297 + "dev": true, 4298 + "dependencies": { 4299 + "loose-envify": "^1.4.0", 4300 + "object-assign": "^4.1.1", 4301 + "react-is": "^16.13.1" 4302 + } 4303 + }, 4304 + "node_modules/psl": { 4305 + "version": "1.15.0", 4306 + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", 4307 + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", 4308 + "optional": true, 4309 + "dependencies": { 4310 + "punycode": "^2.3.1" 4311 + }, 4312 + "funding": { 4313 + "url": "https://github.com/sponsors/lupomontero" 4314 + } 4315 + }, 4316 + "node_modules/punycode": { 4317 + "version": "2.3.1", 4318 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 4319 + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 4320 + "devOptional": true, 4321 + "engines": { 4322 + "node": ">=6" 4323 + } 4324 + }, 4325 + "node_modules/querystringify": { 4326 + "version": "2.2.0", 4327 + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", 4328 + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", 4329 + "optional": true 4330 + }, 4331 + "node_modules/queue-microtask": { 4332 + "version": "1.2.3", 4333 + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 4334 + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 4335 + "dev": true, 4336 + "funding": [ 4337 + { 4338 + "type": "github", 4339 + "url": "https://github.com/sponsors/feross" 4340 + }, 4341 + { 4342 + "type": "patreon", 4343 + "url": "https://www.patreon.com/feross" 4344 + }, 4345 + { 4346 + "type": "consulting", 4347 + "url": "https://feross.org/support" 4348 + } 4349 + ] 4350 + }, 4351 + "node_modules/react": { 4352 + "version": "19.0.0", 4353 + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", 4354 + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", 4355 + "engines": { 4356 + "node": ">=0.10.0" 4357 + } 4358 + }, 4359 + "node_modules/react-dom": { 4360 + "version": "19.0.0", 4361 + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", 4362 + "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", 4363 + "dependencies": { 4364 + "scheduler": "^0.25.0" 4365 + }, 4366 + "peerDependencies": { 4367 + "react": "^19.0.0" 4368 + } 4369 + }, 4370 + "node_modules/react-is": { 4371 + "version": "16.13.1", 4372 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 4373 + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", 4374 + "dev": true 4375 + }, 4376 + "node_modules/reflect.getprototypeof": { 4377 + "version": "1.0.10", 4378 + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", 4379 + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", 4380 + "dev": true, 4381 + "dependencies": { 4382 + "call-bind": "^1.0.8", 4383 + "define-properties": "^1.2.1", 4384 + "es-abstract": "^1.23.9", 4385 + "es-errors": "^1.3.0", 4386 + "es-object-atoms": "^1.0.0", 4387 + "get-intrinsic": "^1.2.7", 4388 + "get-proto": "^1.0.1", 4389 + "which-builtin-type": "^1.2.1" 4390 + }, 4391 + "engines": { 4392 + "node": ">= 0.4" 4393 + }, 4394 + "funding": { 4395 + "url": "https://github.com/sponsors/ljharb" 4396 + } 4397 + }, 4398 + "node_modules/regexp.prototype.flags": { 4399 + "version": "1.5.4", 4400 + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", 4401 + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", 4402 + "dev": true, 4403 + "dependencies": { 4404 + "call-bind": "^1.0.8", 4405 + "define-properties": "^1.2.1", 4406 + "es-errors": "^1.3.0", 4407 + "get-proto": "^1.0.1", 4408 + "gopd": "^1.2.0", 4409 + "set-function-name": "^2.0.2" 4410 + }, 4411 + "engines": { 4412 + "node": ">= 0.4" 4413 + }, 4414 + "funding": { 4415 + "url": "https://github.com/sponsors/ljharb" 4416 + } 4417 + }, 4418 + "node_modules/require-from-string": { 4419 + "version": "2.0.2", 4420 + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 4421 + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 4422 + "optional": true, 4423 + "engines": { 4424 + "node": ">=0.10.0" 4425 + } 4426 + }, 4427 + "node_modules/requires-port": { 4428 + "version": "1.0.0", 4429 + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", 4430 + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", 4431 + "optional": true 4432 + }, 4433 + "node_modules/resolve": { 4434 + "version": "1.22.10", 4435 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", 4436 + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", 4437 + "dev": true, 4438 + "dependencies": { 4439 + "is-core-module": "^2.16.0", 4440 + "path-parse": "^1.0.7", 4441 + "supports-preserve-symlinks-flag": "^1.0.0" 4442 + }, 4443 + "bin": { 4444 + "resolve": "bin/resolve" 4445 + }, 4446 + "engines": { 4447 + "node": ">= 0.4" 4448 + }, 4449 + "funding": { 4450 + "url": "https://github.com/sponsors/ljharb" 4451 + } 4452 + }, 4453 + "node_modules/resolve-from": { 4454 + "version": "4.0.0", 4455 + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 4456 + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 4457 + "dev": true, 4458 + "engines": { 4459 + "node": ">=4" 4460 + } 4461 + }, 4462 + "node_modules/resolve-pkg-maps": { 4463 + "version": "1.0.0", 4464 + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", 4465 + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", 4466 + "dev": true, 4467 + "funding": { 4468 + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 4469 + } 4470 + }, 4471 + "node_modules/reusify": { 4472 + "version": "1.1.0", 4473 + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", 4474 + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", 4475 + "dev": true, 4476 + "engines": { 4477 + "iojs": ">=1.0.0", 4478 + "node": ">=0.10.0" 4479 + } 4480 + }, 4481 + "node_modules/rrweb-cssom": { 4482 + "version": "0.6.0", 4483 + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", 4484 + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", 4485 + "optional": true 4486 + }, 4487 + "node_modules/rspack-resolver": { 4488 + "version": "1.1.2", 4489 + "resolved": "https://registry.npmjs.org/rspack-resolver/-/rspack-resolver-1.1.2.tgz", 4490 + "integrity": "sha512-eHhz+9JWHFdbl/CVVqEP6kviLFZqw1s0MWxLdsGMtUKUspSO3SERptPohmrUIC9jT1bGV9Bd3+r8AmWbdfNAzQ==", 4491 + "dev": true, 4492 + "funding": { 4493 + "url": "https://github.com/sponsors/JounQin" 4494 + }, 4495 + "optionalDependencies": { 4496 + "@unrs/rspack-resolver-binding-darwin-arm64": "1.1.2", 4497 + "@unrs/rspack-resolver-binding-darwin-x64": "1.1.2", 4498 + "@unrs/rspack-resolver-binding-freebsd-x64": "1.1.2", 4499 + "@unrs/rspack-resolver-binding-linux-arm-gnueabihf": "1.1.2", 4500 + "@unrs/rspack-resolver-binding-linux-arm64-gnu": "1.1.2", 4501 + "@unrs/rspack-resolver-binding-linux-arm64-musl": "1.1.2", 4502 + "@unrs/rspack-resolver-binding-linux-x64-gnu": "1.1.2", 4503 + "@unrs/rspack-resolver-binding-linux-x64-musl": "1.1.2", 4504 + "@unrs/rspack-resolver-binding-wasm32-wasi": "1.1.2", 4505 + "@unrs/rspack-resolver-binding-win32-arm64-msvc": "1.1.2", 4506 + "@unrs/rspack-resolver-binding-win32-x64-msvc": "1.1.2" 4507 + } 4508 + }, 4509 + "node_modules/run-parallel": { 4510 + "version": "1.2.0", 4511 + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 4512 + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 4513 + "dev": true, 4514 + "funding": [ 4515 + { 4516 + "type": "github", 4517 + "url": "https://github.com/sponsors/feross" 4518 + }, 4519 + { 4520 + "type": "patreon", 4521 + "url": "https://www.patreon.com/feross" 4522 + }, 4523 + { 4524 + "type": "consulting", 4525 + "url": "https://feross.org/support" 4526 + } 4527 + ], 4528 + "dependencies": { 4529 + "queue-microtask": "^1.2.2" 4530 + } 4531 + }, 4532 + "node_modules/safe-array-concat": { 4533 + "version": "1.1.3", 4534 + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", 4535 + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", 4536 + "dev": true, 4537 + "dependencies": { 4538 + "call-bind": "^1.0.8", 4539 + "call-bound": "^1.0.2", 4540 + "get-intrinsic": "^1.2.6", 4541 + "has-symbols": "^1.1.0", 4542 + "isarray": "^2.0.5" 4543 + }, 4544 + "engines": { 4545 + "node": ">=0.4" 4546 + }, 4547 + "funding": { 4548 + "url": "https://github.com/sponsors/ljharb" 4549 + } 4550 + }, 4551 + "node_modules/safe-push-apply": { 4552 + "version": "1.0.0", 4553 + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", 4554 + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", 4555 + "dev": true, 4556 + "dependencies": { 4557 + "es-errors": "^1.3.0", 4558 + "isarray": "^2.0.5" 4559 + }, 4560 + "engines": { 4561 + "node": ">= 0.4" 4562 + }, 4563 + "funding": { 4564 + "url": "https://github.com/sponsors/ljharb" 4565 + } 4566 + }, 4567 + "node_modules/safe-regex-test": { 4568 + "version": "1.1.0", 4569 + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", 4570 + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", 4571 + "dev": true, 4572 + "dependencies": { 4573 + "call-bound": "^1.0.2", 4574 + "es-errors": "^1.3.0", 4575 + "is-regex": "^1.2.1" 4576 + }, 4577 + "engines": { 4578 + "node": ">= 0.4" 4579 + }, 4580 + "funding": { 4581 + "url": "https://github.com/sponsors/ljharb" 4582 + } 4583 + }, 4584 + "node_modules/safer-buffer": { 4585 + "version": "2.1.2", 4586 + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 4587 + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 4588 + "optional": true 4589 + }, 4590 + "node_modules/saxes": { 4591 + "version": "6.0.0", 4592 + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", 4593 + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", 4594 + "optional": true, 4595 + "dependencies": { 4596 + "xmlchars": "^2.2.0" 4597 + }, 4598 + "engines": { 4599 + "node": ">=v12.22.7" 4600 + } 4601 + }, 4602 + "node_modules/scheduler": { 4603 + "version": "0.25.0", 4604 + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", 4605 + "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==" 4606 + }, 4607 + "node_modules/semver": { 4608 + "version": "7.7.1", 4609 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", 4610 + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", 4611 + "devOptional": true, 4612 + "bin": { 4613 + "semver": "bin/semver.js" 4614 + }, 4615 + "engines": { 4616 + "node": ">=10" 4617 + } 4618 + }, 4619 + "node_modules/set-function-length": { 4620 + "version": "1.2.2", 4621 + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", 4622 + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", 4623 + "dev": true, 4624 + "dependencies": { 4625 + "define-data-property": "^1.1.4", 4626 + "es-errors": "^1.3.0", 4627 + "function-bind": "^1.1.2", 4628 + "get-intrinsic": "^1.2.4", 4629 + "gopd": "^1.0.1", 4630 + "has-property-descriptors": "^1.0.2" 4631 + }, 4632 + "engines": { 4633 + "node": ">= 0.4" 4634 + } 4635 + }, 4636 + "node_modules/set-function-name": { 4637 + "version": "2.0.2", 4638 + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", 4639 + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", 4640 + "dev": true, 4641 + "dependencies": { 4642 + "define-data-property": "^1.1.4", 4643 + "es-errors": "^1.3.0", 4644 + "functions-have-names": "^1.2.3", 4645 + "has-property-descriptors": "^1.0.2" 4646 + }, 4647 + "engines": { 4648 + "node": ">= 0.4" 4649 + } 4650 + }, 4651 + "node_modules/set-proto": { 4652 + "version": "1.0.0", 4653 + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", 4654 + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", 4655 + "dev": true, 4656 + "dependencies": { 4657 + "dunder-proto": "^1.0.1", 4658 + "es-errors": "^1.3.0", 4659 + "es-object-atoms": "^1.0.0" 4660 + }, 4661 + "engines": { 4662 + "node": ">= 0.4" 4663 + } 4664 + }, 4665 + "node_modules/sharp": { 4666 + "version": "0.33.5", 4667 + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", 4668 + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", 4669 + "hasInstallScript": true, 4670 + "optional": true, 4671 + "dependencies": { 4672 + "color": "^4.2.3", 4673 + "detect-libc": "^2.0.3", 4674 + "semver": "^7.6.3" 4675 + }, 4676 + "engines": { 4677 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 4678 + }, 4679 + "funding": { 4680 + "url": "https://opencollective.com/libvips" 4681 + }, 4682 + "optionalDependencies": { 4683 + "@img/sharp-darwin-arm64": "0.33.5", 4684 + "@img/sharp-darwin-x64": "0.33.5", 4685 + "@img/sharp-libvips-darwin-arm64": "1.0.4", 4686 + "@img/sharp-libvips-darwin-x64": "1.0.4", 4687 + "@img/sharp-libvips-linux-arm": "1.0.5", 4688 + "@img/sharp-libvips-linux-arm64": "1.0.4", 4689 + "@img/sharp-libvips-linux-s390x": "1.0.4", 4690 + "@img/sharp-libvips-linux-x64": "1.0.4", 4691 + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", 4692 + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", 4693 + "@img/sharp-linux-arm": "0.33.5", 4694 + "@img/sharp-linux-arm64": "0.33.5", 4695 + "@img/sharp-linux-s390x": "0.33.5", 4696 + "@img/sharp-linux-x64": "0.33.5", 4697 + "@img/sharp-linuxmusl-arm64": "0.33.5", 4698 + "@img/sharp-linuxmusl-x64": "0.33.5", 4699 + "@img/sharp-wasm32": "0.33.5", 4700 + "@img/sharp-win32-ia32": "0.33.5", 4701 + "@img/sharp-win32-x64": "0.33.5" 4702 + } 4703 + }, 4704 + "node_modules/shebang-command": { 4705 + "version": "2.0.0", 4706 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 4707 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 4708 + "dev": true, 4709 + "dependencies": { 4710 + "shebang-regex": "^3.0.0" 4711 + }, 4712 + "engines": { 4713 + "node": ">=8" 4714 + } 4715 + }, 4716 + "node_modules/shebang-regex": { 4717 + "version": "3.0.0", 4718 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 4719 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 4720 + "dev": true, 4721 + "engines": { 4722 + "node": ">=8" 4723 + } 4724 + }, 4725 + "node_modules/side-channel": { 4726 + "version": "1.1.0", 4727 + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", 4728 + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", 4729 + "dev": true, 4730 + "dependencies": { 4731 + "es-errors": "^1.3.0", 4732 + "object-inspect": "^1.13.3", 4733 + "side-channel-list": "^1.0.0", 4734 + "side-channel-map": "^1.0.1", 4735 + "side-channel-weakmap": "^1.0.2" 4736 + }, 4737 + "engines": { 4738 + "node": ">= 0.4" 4739 + }, 4740 + "funding": { 4741 + "url": "https://github.com/sponsors/ljharb" 4742 + } 4743 + }, 4744 + "node_modules/side-channel-list": { 4745 + "version": "1.0.0", 4746 + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", 4747 + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", 4748 + "dev": true, 4749 + "dependencies": { 4750 + "es-errors": "^1.3.0", 4751 + "object-inspect": "^1.13.3" 4752 + }, 4753 + "engines": { 4754 + "node": ">= 0.4" 4755 + }, 4756 + "funding": { 4757 + "url": "https://github.com/sponsors/ljharb" 4758 + } 4759 + }, 4760 + "node_modules/side-channel-map": { 4761 + "version": "1.0.1", 4762 + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", 4763 + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", 4764 + "dev": true, 4765 + "dependencies": { 4766 + "call-bound": "^1.0.2", 4767 + "es-errors": "^1.3.0", 4768 + "get-intrinsic": "^1.2.5", 4769 + "object-inspect": "^1.13.3" 4770 + }, 4771 + "engines": { 4772 + "node": ">= 0.4" 4773 + }, 4774 + "funding": { 4775 + "url": "https://github.com/sponsors/ljharb" 4776 + } 4777 + }, 4778 + "node_modules/side-channel-weakmap": { 4779 + "version": "1.0.2", 4780 + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", 4781 + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", 4782 + "dev": true, 4783 + "dependencies": { 4784 + "call-bound": "^1.0.2", 4785 + "es-errors": "^1.3.0", 4786 + "get-intrinsic": "^1.2.5", 4787 + "object-inspect": "^1.13.3", 4788 + "side-channel-map": "^1.0.1" 4789 + }, 4790 + "engines": { 4791 + "node": ">= 0.4" 4792 + }, 4793 + "funding": { 4794 + "url": "https://github.com/sponsors/ljharb" 4795 + } 4796 + }, 4797 + "node_modules/simple-swizzle": { 4798 + "version": "0.2.2", 4799 + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", 4800 + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", 4801 + "optional": true, 4802 + "dependencies": { 4803 + "is-arrayish": "^0.3.1" 4804 + } 4805 + }, 4806 + "node_modules/source-map-js": { 4807 + "version": "1.2.1", 4808 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 4809 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 4810 + "engines": { 4811 + "node": ">=0.10.0" 4812 + } 4813 + }, 4814 + "node_modules/stable-hash": { 4815 + "version": "0.0.5", 4816 + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", 4817 + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", 4818 + "dev": true 4819 + }, 4820 + "node_modules/streamsearch": { 4821 + "version": "1.1.0", 4822 + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", 4823 + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", 4824 + "engines": { 4825 + "node": ">=10.0.0" 4826 + } 4827 + }, 4828 + "node_modules/string.prototype.includes": { 4829 + "version": "2.0.1", 4830 + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", 4831 + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", 4832 + "dev": true, 4833 + "dependencies": { 4834 + "call-bind": "^1.0.7", 4835 + "define-properties": "^1.2.1", 4836 + "es-abstract": "^1.23.3" 4837 + }, 4838 + "engines": { 4839 + "node": ">= 0.4" 4840 + } 4841 + }, 4842 + "node_modules/string.prototype.matchall": { 4843 + "version": "4.0.12", 4844 + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", 4845 + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", 4846 + "dev": true, 4847 + "dependencies": { 4848 + "call-bind": "^1.0.8", 4849 + "call-bound": "^1.0.3", 4850 + "define-properties": "^1.2.1", 4851 + "es-abstract": "^1.23.6", 4852 + "es-errors": "^1.3.0", 4853 + "es-object-atoms": "^1.0.0", 4854 + "get-intrinsic": "^1.2.6", 4855 + "gopd": "^1.2.0", 4856 + "has-symbols": "^1.1.0", 4857 + "internal-slot": "^1.1.0", 4858 + "regexp.prototype.flags": "^1.5.3", 4859 + "set-function-name": "^2.0.2", 4860 + "side-channel": "^1.1.0" 4861 + }, 4862 + "engines": { 4863 + "node": ">= 0.4" 4864 + }, 4865 + "funding": { 4866 + "url": "https://github.com/sponsors/ljharb" 4867 + } 4868 + }, 4869 + "node_modules/string.prototype.repeat": { 4870 + "version": "1.0.0", 4871 + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", 4872 + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", 4873 + "dev": true, 4874 + "dependencies": { 4875 + "define-properties": "^1.1.3", 4876 + "es-abstract": "^1.17.5" 4877 + } 4878 + }, 4879 + "node_modules/string.prototype.trim": { 4880 + "version": "1.2.10", 4881 + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", 4882 + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", 4883 + "dev": true, 4884 + "dependencies": { 4885 + "call-bind": "^1.0.8", 4886 + "call-bound": "^1.0.2", 4887 + "define-data-property": "^1.1.4", 4888 + "define-properties": "^1.2.1", 4889 + "es-abstract": "^1.23.5", 4890 + "es-object-atoms": "^1.0.0", 4891 + "has-property-descriptors": "^1.0.2" 4892 + }, 4893 + "engines": { 4894 + "node": ">= 0.4" 4895 + }, 4896 + "funding": { 4897 + "url": "https://github.com/sponsors/ljharb" 4898 + } 4899 + }, 4900 + "node_modules/string.prototype.trimend": { 4901 + "version": "1.0.9", 4902 + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", 4903 + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", 4904 + "dev": true, 4905 + "dependencies": { 4906 + "call-bind": "^1.0.8", 4907 + "call-bound": "^1.0.2", 4908 + "define-properties": "^1.2.1", 4909 + "es-object-atoms": "^1.0.0" 4910 + }, 4911 + "engines": { 4912 + "node": ">= 0.4" 4913 + }, 4914 + "funding": { 4915 + "url": "https://github.com/sponsors/ljharb" 4916 + } 4917 + }, 4918 + "node_modules/string.prototype.trimstart": { 4919 + "version": "1.0.8", 4920 + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", 4921 + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", 4922 + "dev": true, 4923 + "dependencies": { 4924 + "call-bind": "^1.0.7", 4925 + "define-properties": "^1.2.1", 4926 + "es-object-atoms": "^1.0.0" 4927 + }, 4928 + "engines": { 4929 + "node": ">= 0.4" 4930 + }, 4931 + "funding": { 4932 + "url": "https://github.com/sponsors/ljharb" 4933 + } 4934 + }, 4935 + "node_modules/strip-bom": { 4936 + "version": "3.0.0", 4937 + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 4938 + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", 4939 + "dev": true, 4940 + "engines": { 4941 + "node": ">=4" 4942 + } 4943 + }, 4944 + "node_modules/strip-json-comments": { 4945 + "version": "3.1.1", 4946 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 4947 + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 4948 + "dev": true, 4949 + "engines": { 4950 + "node": ">=8" 4951 + }, 4952 + "funding": { 4953 + "url": "https://github.com/sponsors/sindresorhus" 4954 + } 4955 + }, 4956 + "node_modules/styled-jsx": { 4957 + "version": "5.1.6", 4958 + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", 4959 + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", 4960 + "dependencies": { 4961 + "client-only": "0.0.1" 4962 + }, 4963 + "engines": { 4964 + "node": ">= 12.0.0" 4965 + }, 4966 + "peerDependencies": { 4967 + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" 4968 + }, 4969 + "peerDependenciesMeta": { 4970 + "@babel/core": { 4971 + "optional": true 4972 + }, 4973 + "babel-plugin-macros": { 4974 + "optional": true 4975 + } 4976 + } 4977 + }, 4978 + "node_modules/supports-color": { 4979 + "version": "7.2.0", 4980 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 4981 + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 4982 + "dev": true, 4983 + "dependencies": { 4984 + "has-flag": "^4.0.0" 4985 + }, 4986 + "engines": { 4987 + "node": ">=8" 4988 + } 4989 + }, 4990 + "node_modules/supports-preserve-symlinks-flag": { 4991 + "version": "1.0.0", 4992 + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 4993 + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 4994 + "dev": true, 4995 + "engines": { 4996 + "node": ">= 0.4" 4997 + }, 4998 + "funding": { 4999 + "url": "https://github.com/sponsors/ljharb" 5000 + } 5001 + }, 5002 + "node_modules/symbol-tree": { 5003 + "version": "3.2.4", 5004 + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", 5005 + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", 5006 + "optional": true 5007 + }, 5008 + "node_modules/tinyglobby": { 5009 + "version": "0.2.12", 5010 + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz", 5011 + "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==", 5012 + "dev": true, 5013 + "dependencies": { 5014 + "fdir": "^6.4.3", 5015 + "picomatch": "^4.0.2" 5016 + }, 5017 + "engines": { 5018 + "node": ">=12.0.0" 5019 + }, 5020 + "funding": { 5021 + "url": "https://github.com/sponsors/SuperchupuDev" 5022 + } 5023 + }, 5024 + "node_modules/tinyglobby/node_modules/fdir": { 5025 + "version": "6.4.3", 5026 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", 5027 + "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", 5028 + "dev": true, 5029 + "peerDependencies": { 5030 + "picomatch": "^3 || ^4" 5031 + }, 5032 + "peerDependenciesMeta": { 5033 + "picomatch": { 5034 + "optional": true 5035 + } 5036 + } 5037 + }, 5038 + "node_modules/tinyglobby/node_modules/picomatch": { 5039 + "version": "4.0.2", 5040 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", 5041 + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 5042 + "dev": true, 5043 + "engines": { 5044 + "node": ">=12" 5045 + }, 5046 + "funding": { 5047 + "url": "https://github.com/sponsors/jonschlinkert" 5048 + } 5049 + }, 5050 + "node_modules/to-regex-range": { 5051 + "version": "5.0.1", 5052 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 5053 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 5054 + "dev": true, 5055 + "dependencies": { 5056 + "is-number": "^7.0.0" 5057 + }, 5058 + "engines": { 5059 + "node": ">=8.0" 5060 + } 5061 + }, 5062 + "node_modules/tough-cookie": { 5063 + "version": "4.1.4", 5064 + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", 5065 + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", 5066 + "optional": true, 5067 + "dependencies": { 5068 + "psl": "^1.1.33", 5069 + "punycode": "^2.1.1", 5070 + "universalify": "^0.2.0", 5071 + "url-parse": "^1.5.3" 5072 + }, 5073 + "engines": { 5074 + "node": ">=6" 5075 + } 5076 + }, 5077 + "node_modules/tr46": { 5078 + "version": "5.1.0", 5079 + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.0.tgz", 5080 + "integrity": "sha512-IUWnUK7ADYR5Sl1fZlO1INDUhVhatWl7BtJWsIhwJ0UAK7ilzzIa8uIqOO/aYVWHZPJkKbEL+362wrzoeRF7bw==", 5081 + "optional": true, 5082 + "dependencies": { 5083 + "punycode": "^2.3.1" 5084 + }, 5085 + "engines": { 5086 + "node": ">=18" 5087 + } 5088 + }, 5089 + "node_modules/ts-api-utils": { 5090 + "version": "2.0.1", 5091 + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", 5092 + "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", 5093 + "dev": true, 5094 + "engines": { 5095 + "node": ">=18.12" 5096 + }, 5097 + "peerDependencies": { 5098 + "typescript": ">=4.8.4" 5099 + } 5100 + }, 5101 + "node_modules/tsconfig-paths": { 5102 + "version": "3.15.0", 5103 + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", 5104 + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", 5105 + "dev": true, 5106 + "dependencies": { 5107 + "@types/json5": "^0.0.29", 5108 + "json5": "^1.0.2", 5109 + "minimist": "^1.2.6", 5110 + "strip-bom": "^3.0.0" 5111 + } 5112 + }, 5113 + "node_modules/tslib": { 5114 + "version": "2.8.1", 5115 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 5116 + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" 5117 + }, 5118 + "node_modules/type-check": { 5119 + "version": "0.4.0", 5120 + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 5121 + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 5122 + "dev": true, 5123 + "dependencies": { 5124 + "prelude-ls": "^1.2.1" 5125 + }, 5126 + "engines": { 5127 + "node": ">= 0.8.0" 5128 + } 5129 + }, 5130 + "node_modules/typed-array-buffer": { 5131 + "version": "1.0.3", 5132 + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", 5133 + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", 5134 + "dev": true, 5135 + "dependencies": { 5136 + "call-bound": "^1.0.3", 5137 + "es-errors": "^1.3.0", 5138 + "is-typed-array": "^1.1.14" 5139 + }, 5140 + "engines": { 5141 + "node": ">= 0.4" 5142 + } 5143 + }, 5144 + "node_modules/typed-array-byte-length": { 5145 + "version": "1.0.3", 5146 + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", 5147 + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", 5148 + "dev": true, 5149 + "dependencies": { 5150 + "call-bind": "^1.0.8", 5151 + "for-each": "^0.3.3", 5152 + "gopd": "^1.2.0", 5153 + "has-proto": "^1.2.0", 5154 + "is-typed-array": "^1.1.14" 5155 + }, 5156 + "engines": { 5157 + "node": ">= 0.4" 5158 + }, 5159 + "funding": { 5160 + "url": "https://github.com/sponsors/ljharb" 5161 + } 5162 + }, 5163 + "node_modules/typed-array-byte-offset": { 5164 + "version": "1.0.4", 5165 + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", 5166 + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", 5167 + "dev": true, 5168 + "dependencies": { 5169 + "available-typed-arrays": "^1.0.7", 5170 + "call-bind": "^1.0.8", 5171 + "for-each": "^0.3.3", 5172 + "gopd": "^1.2.0", 5173 + "has-proto": "^1.2.0", 5174 + "is-typed-array": "^1.1.15", 5175 + "reflect.getprototypeof": "^1.0.9" 5176 + }, 5177 + "engines": { 5178 + "node": ">= 0.4" 5179 + }, 5180 + "funding": { 5181 + "url": "https://github.com/sponsors/ljharb" 5182 + } 5183 + }, 5184 + "node_modules/typed-array-length": { 5185 + "version": "1.0.7", 5186 + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", 5187 + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", 5188 + "dev": true, 5189 + "dependencies": { 5190 + "call-bind": "^1.0.7", 5191 + "for-each": "^0.3.3", 5192 + "gopd": "^1.0.1", 5193 + "is-typed-array": "^1.1.13", 5194 + "possible-typed-array-names": "^1.0.0", 5195 + "reflect.getprototypeof": "^1.0.6" 5196 + }, 5197 + "engines": { 5198 + "node": ">= 0.4" 5199 + }, 5200 + "funding": { 5201 + "url": "https://github.com/sponsors/ljharb" 5202 + } 5203 + }, 5204 + "node_modules/typescript": { 5205 + "version": "5.8.2", 5206 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", 5207 + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", 5208 + "dev": true, 5209 + "bin": { 5210 + "tsc": "bin/tsc", 5211 + "tsserver": "bin/tsserver" 5212 + }, 5213 + "engines": { 5214 + "node": ">=14.17" 5215 + } 5216 + }, 5217 + "node_modules/unbox-primitive": { 5218 + "version": "1.1.0", 5219 + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", 5220 + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", 5221 + "dev": true, 5222 + "dependencies": { 5223 + "call-bound": "^1.0.3", 5224 + "has-bigints": "^1.0.2", 5225 + "has-symbols": "^1.1.0", 5226 + "which-boxed-primitive": "^1.1.1" 5227 + }, 5228 + "engines": { 5229 + "node": ">= 0.4" 5230 + }, 5231 + "funding": { 5232 + "url": "https://github.com/sponsors/ljharb" 5233 + } 5234 + }, 5235 + "node_modules/undici-types": { 5236 + "version": "6.20.0", 5237 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", 5238 + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", 5239 + "dev": true 5240 + }, 5241 + "node_modules/universalify": { 5242 + "version": "0.2.0", 5243 + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", 5244 + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", 5245 + "optional": true, 5246 + "engines": { 5247 + "node": ">= 4.0.0" 5248 + } 5249 + }, 5250 + "node_modules/uri-js": { 5251 + "version": "4.4.1", 5252 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 5253 + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 5254 + "dev": true, 5255 + "dependencies": { 5256 + "punycode": "^2.1.0" 5257 + } 5258 + }, 5259 + "node_modules/url-parse": { 5260 + "version": "1.5.10", 5261 + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", 5262 + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", 5263 + "optional": true, 5264 + "dependencies": { 5265 + "querystringify": "^2.1.1", 5266 + "requires-port": "^1.0.0" 5267 + } 5268 + }, 5269 + "node_modules/w3c-xmlserializer": { 5270 + "version": "5.0.0", 5271 + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", 5272 + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", 5273 + "optional": true, 5274 + "dependencies": { 5275 + "xml-name-validator": "^5.0.0" 5276 + }, 5277 + "engines": { 5278 + "node": ">=18" 5279 + } 5280 + }, 5281 + "node_modules/webidl-conversions": { 5282 + "version": "7.0.0", 5283 + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", 5284 + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", 5285 + "optional": true, 5286 + "engines": { 5287 + "node": ">=12" 5288 + } 5289 + }, 5290 + "node_modules/whatwg-encoding": { 5291 + "version": "3.1.1", 5292 + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", 5293 + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", 5294 + "optional": true, 5295 + "dependencies": { 5296 + "iconv-lite": "0.6.3" 5297 + }, 5298 + "engines": { 5299 + "node": ">=18" 5300 + } 5301 + }, 5302 + "node_modules/whatwg-mimetype": { 5303 + "version": "4.0.0", 5304 + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", 5305 + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", 5306 + "optional": true, 5307 + "engines": { 5308 + "node": ">=18" 5309 + } 5310 + }, 5311 + "node_modules/whatwg-url": { 5312 + "version": "14.2.0", 5313 + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", 5314 + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", 5315 + "optional": true, 5316 + "dependencies": { 5317 + "tr46": "^5.1.0", 5318 + "webidl-conversions": "^7.0.0" 5319 + }, 5320 + "engines": { 5321 + "node": ">=18" 5322 + } 5323 + }, 5324 + "node_modules/which": { 5325 + "version": "2.0.2", 5326 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 5327 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 5328 + "dev": true, 5329 + "dependencies": { 5330 + "isexe": "^2.0.0" 5331 + }, 5332 + "bin": { 5333 + "node-which": "bin/node-which" 5334 + }, 5335 + "engines": { 5336 + "node": ">= 8" 5337 + } 5338 + }, 5339 + "node_modules/which-boxed-primitive": { 5340 + "version": "1.1.1", 5341 + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", 5342 + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", 5343 + "dev": true, 5344 + "dependencies": { 5345 + "is-bigint": "^1.1.0", 5346 + "is-boolean-object": "^1.2.1", 5347 + "is-number-object": "^1.1.1", 5348 + "is-string": "^1.1.1", 5349 + "is-symbol": "^1.1.1" 5350 + }, 5351 + "engines": { 5352 + "node": ">= 0.4" 5353 + }, 5354 + "funding": { 5355 + "url": "https://github.com/sponsors/ljharb" 5356 + } 5357 + }, 5358 + "node_modules/which-builtin-type": { 5359 + "version": "1.2.1", 5360 + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", 5361 + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", 5362 + "dev": true, 5363 + "dependencies": { 5364 + "call-bound": "^1.0.2", 5365 + "function.prototype.name": "^1.1.6", 5366 + "has-tostringtag": "^1.0.2", 5367 + "is-async-function": "^2.0.0", 5368 + "is-date-object": "^1.1.0", 5369 + "is-finalizationregistry": "^1.1.0", 5370 + "is-generator-function": "^1.0.10", 5371 + "is-regex": "^1.2.1", 5372 + "is-weakref": "^1.0.2", 5373 + "isarray": "^2.0.5", 5374 + "which-boxed-primitive": "^1.1.0", 5375 + "which-collection": "^1.0.2", 5376 + "which-typed-array": "^1.1.16" 5377 + }, 5378 + "engines": { 5379 + "node": ">= 0.4" 5380 + }, 5381 + "funding": { 5382 + "url": "https://github.com/sponsors/ljharb" 5383 + } 5384 + }, 5385 + "node_modules/which-collection": { 5386 + "version": "1.0.2", 5387 + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", 5388 + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", 5389 + "dev": true, 5390 + "dependencies": { 5391 + "is-map": "^2.0.3", 5392 + "is-set": "^2.0.3", 5393 + "is-weakmap": "^2.0.2", 5394 + "is-weakset": "^2.0.3" 5395 + }, 5396 + "engines": { 5397 + "node": ">= 0.4" 5398 + }, 5399 + "funding": { 5400 + "url": "https://github.com/sponsors/ljharb" 5401 + } 5402 + }, 5403 + "node_modules/which-typed-array": { 5404 + "version": "1.1.19", 5405 + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", 5406 + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", 5407 + "dev": true, 5408 + "dependencies": { 5409 + "available-typed-arrays": "^1.0.7", 5410 + "call-bind": "^1.0.8", 5411 + "call-bound": "^1.0.4", 5412 + "for-each": "^0.3.5", 5413 + "get-proto": "^1.0.1", 5414 + "gopd": "^1.2.0", 5415 + "has-tostringtag": "^1.0.2" 5416 + }, 5417 + "engines": { 5418 + "node": ">= 0.4" 5419 + }, 5420 + "funding": { 5421 + "url": "https://github.com/sponsors/ljharb" 5422 + } 5423 + }, 5424 + "node_modules/word-wrap": { 5425 + "version": "1.2.5", 5426 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", 5427 + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", 5428 + "dev": true, 5429 + "engines": { 5430 + "node": ">=0.10.0" 5431 + } 5432 + }, 5433 + "node_modules/ws": { 5434 + "version": "8.18.1", 5435 + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", 5436 + "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", 5437 + "optional": true, 5438 + "engines": { 5439 + "node": ">=10.0.0" 5440 + }, 5441 + "peerDependencies": { 5442 + "bufferutil": "^4.0.1", 5443 + "utf-8-validate": ">=5.0.2" 5444 + }, 5445 + "peerDependenciesMeta": { 5446 + "bufferutil": { 5447 + "optional": true 5448 + }, 5449 + "utf-8-validate": { 5450 + "optional": true 5451 + } 5452 + } 5453 + }, 5454 + "node_modules/xml-name-validator": { 5455 + "version": "5.0.0", 5456 + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", 5457 + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", 5458 + "optional": true, 5459 + "engines": { 5460 + "node": ">=18" 5461 + } 5462 + }, 5463 + "node_modules/xmlchars": { 5464 + "version": "2.2.0", 5465 + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", 5466 + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", 5467 + "optional": true 5468 + }, 5469 + "node_modules/yocto-queue": { 5470 + "version": "0.1.0", 5471 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 5472 + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 5473 + "dev": true, 5474 + "engines": { 5475 + "node": ">=10" 5476 + }, 5477 + "funding": { 5478 + "url": "https://github.com/sponsors/sindresorhus" 5479 + } 5480 + }, 5481 + "node_modules/zod": { 5482 + "version": "3.24.1", 5483 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", 5484 + "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==", 5485 + "funding": { 5486 + "url": "https://github.com/sponsors/colinhacks" 5487 + } 5488 + }, 5489 + "node_modules/zstddec": { 5490 + "version": "0.1.0", 5491 + "resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.1.0.tgz", 5492 + "integrity": "sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg==" 5493 + } 5494 + } 5495 + }
+47
package.json
··· 1 + { 2 + "name": "template-nextjs", 3 + "version": "1.0.0", 4 + "description": "Excalibur Next.js template (TypeScript).", 5 + "main": "src/main.ts", 6 + "scripts": { 7 + "dev": "next dev -p 8080", 8 + "build": "next build", 9 + "start": "next start", 10 + "lint": "next lint" 11 + }, 12 + "repository": { 13 + "type": "git", 14 + "url": "git+https://github.com/excaliburjs/template-nextjs.git" 15 + }, 16 + "keywords": [ 17 + "excalibur", 18 + "excaliburjs", 19 + "next.js", 20 + "react", 21 + "typescript", 22 + "javascript", 23 + "game-engine" 24 + ], 25 + "author": "Erik Onarheim", 26 + "license": "BSD-2-Clause", 27 + "bugs": { 28 + "url": "https://github.com/excaliburjs/template-nextjs/issues" 29 + }, 30 + "homepage": "https://github.com/excaliburjs/template-nextjs#readme", 31 + "dependencies": { 32 + "@excaliburjs/plugin-tiled": "^0.30.2", 33 + "excalibur": "0.30.3", 34 + "next": "^15.2.3", 35 + "react": "19.0.0", 36 + "react-dom": "19.0.0" 37 + }, 38 + "devDependencies": { 39 + "@playwright/test": "^1.49.1", 40 + "@types/node": "^22", 41 + "@types/react": "^19", 42 + "@types/react-dom": "^19", 43 + "eslint": "^9.22.0", 44 + "eslint-config-next": "^15.2.3", 45 + "typescript": "^5" 46 + } 47 + }
+92
playwright.config.ts
··· 1 + import { defineConfig, devices } from '@playwright/test'; 2 + 3 + /** 4 + * Read environment variables from file. 5 + * https://github.com/motdotla/dotenv 6 + */ 7 + // import dotenv from 'dotenv'; 8 + // import path from 'path'; 9 + // dotenv.config({ path: path.resolve(__dirname, '.env') }); 10 + 11 + /** 12 + * See https://playwright.dev/docs/test-configuration. 13 + */ 14 + export default defineConfig({ 15 + testDir: './tests', 16 + webServer: { 17 + command: 'npm run serve', 18 + timeout: 240 * 1000, // linux takes a long time 19 + url: 'http://localhost:4173', 20 + reuseExistingServer: !process.env.CI, 21 + stdout: 'ignore', 22 + stderr: 'pipe', 23 + }, 24 + /* Run tests in files in parallel */ 25 + fullyParallel: true, 26 + /* Fail the build on CI if you accidentally left test.only in the source code. */ 27 + forbidOnly: !!process.env.CI, 28 + /* Retry on CI only */ 29 + retries: process.env.CI ? 2 : 0, 30 + /* Opt out of parallel tests on CI. */ 31 + workers: process.env.CI ? 1 : undefined, 32 + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ 33 + reporter: 'html', 34 + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ 35 + use: { 36 + /* Base URL to use in actions like `await page.goto('/')`. */ 37 + // baseURL: 'http://127.0.0.1:3000', 38 + 39 + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ 40 + trace: 'on-first-retry', 41 + }, 42 + 43 + /* Configure projects for major browsers */ 44 + projects: [ 45 + { 46 + name: 'chromium', 47 + use: { 48 + ...devices['Desktop Chrome'], 49 + launchOptions: { 50 + args: ["--no-sandbox", '--disable-web-security', "--use-angle=gl"] 51 + } 52 + }, 53 + }, 54 + 55 + // { 56 + // name: 'firefox', 57 + // use: { ...devices['Desktop Firefox'] }, 58 + // }, 59 + 60 + // { 61 + // name: 'webkit', 62 + // use: { ...devices['Desktop Safari'] }, 63 + // }, 64 + 65 + /* Test against mobile viewports. */ 66 + // { 67 + // name: 'Mobile Chrome', 68 + // use: { ...devices['Pixel 5'] }, 69 + // }, 70 + // { 71 + // name: 'Mobile Safari', 72 + // use: { ...devices['iPhone 12'] }, 73 + // }, 74 + 75 + /* Test against branded browsers. */ 76 + // { 77 + // name: 'Microsoft Edge', 78 + // use: { ...devices['Desktop Edge'], channel: 'msedge' }, 79 + // }, 80 + // { 81 + // name: 'Google Chrome', 82 + // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, 83 + // }, 84 + ], 85 + 86 + /* Run your local dev server before starting the tests */ 87 + // webServer: { 88 + // command: 'npm run start', 89 + // url: 'http://127.0.0.1:3000', 90 + // reuseExistingServer: !process.env.CI, 91 + // }, 92 + });
+5
postcss.config.mjs
··· 1 + const config = { 2 + // plugins: ["@tailwindcss/postcss"], 3 + }; 4 + 5 + export default config;
public/images/sword.png

This is a binary file and will not be displayed.

+1
src/app/global.css
··· 1 + /* @import "tailwindcss"; */
+19
src/app/layout.tsx
··· 1 + import type { Metadata } from "next"; 2 + // import "./globals.css"; 3 + 4 + export const metadata: Metadata = { 5 + title: "Excalibur Nextjs Template", 6 + description: "A Excalibur.js Next.js project template.", 7 + }; 8 + 9 + export default function RootLayout({ 10 + children, 11 + }: Readonly<{ 12 + children: React.ReactNode; 13 + }>) { 14 + return ( 15 + <html lang="en"> 16 + <body>{children}</body> 17 + </html> 18 + ); 19 + }
+9
src/app/page.tsx
··· 1 + import App from "@/components/App"; 2 + 3 + export default function HomePage() { 4 + return ( 5 + <main> 6 + <App/> 7 + </main> 8 + ); 9 + }
+24
src/components/App.tsx
··· 1 + 'use client' 2 + // This is a Client Component 3 + // It receives data as props, has access to state and effects, and is 4 + // prerendered on the server during the initial page load. 5 + 6 + import dynamic from "next/dynamic"; 7 + import { useRef } from "react" 8 + import { IExcaliburGameComponentProps } from "./ExcaliburGame" 9 + 10 + const ExcaliburGame = dynamic<IExcaliburGameComponentProps>(() => import('./ExcaliburGame'), { 11 + ssr: false, 12 + // width/height copied from game config in ExcaliburGame.tsx 13 + loading: () => <div style={{width:800,height: 600}}></div> 14 + }); 15 + export default function App() { 16 + 17 + const excaliburRef = useRef(null) 18 + 19 + return ( 20 + <main> 21 + <ExcaliburGame ref={excaliburRef}/> 22 + </main> 23 + ) 24 + }
+31
src/components/ExcaliburGame.tsx
··· 1 + import { DisplayMode } from "excalibur" 2 + import { MyLevel } from "@/excalibur/level" 3 + 4 + import useExcaliburGame, { IExcaliburRef } from "@/hooks/useExcaliburGame"; 5 + 6 + type IExcaliburGameComponentProps = {ref: IExcaliburRef} 7 + 8 + 9 + const ExcaliburGame = ({ref}: IExcaliburGameComponentProps)=> { 10 + const excaliburConfig = { 11 + width: 800, // Logical width and height in game pixels 12 + height: 600, 13 + suppressHiDPIScaling: true, 14 + displayMode: DisplayMode.FitScreenAndFill, // Display mode tells excalibur how to fill the window 15 + pixelArt: true, // pixelArt will turn on the correct settings to render pixel art without jaggies or shimmering artifacts 16 + scenes: { 17 + start: MyLevel 18 + }, 19 + // physics: { 20 + // solver: SolverStrategy.Realistic, 21 + // substep: 5 // Sub step the physics simulation for more robust simulations 22 + // }, 23 + // fixedUpdateTimestep: 16 // Turn on fixed update timestep when consistent physic simulation is important 24 + } 25 + 26 + const [someState, setSomeState] = useExcaliburGame(ref, excaliburConfig) 27 + 28 + return <></> 29 + } 30 + 31 + export {ExcaliburGame as default, type IExcaliburGameComponentProps}
+1
src/excalibur/files.d.ts
··· 1 + declare module "*.png";
+40
src/excalibur/level.ts
··· 1 + import { DefaultLoader, Engine, ExcaliburGraphicsContext, Scene, SceneActivationContext } from "excalibur"; 2 + import { Player } from "./player"; 3 + 4 + export class MyLevel extends Scene { 5 + override onInitialize(engine: Engine): void { 6 + // Scene.onInitialize is where we recommend you perform the composition for your game 7 + const player = new Player(); 8 + this.add(player); // Actors need to be added to a scene to be drawn 9 + } 10 + 11 + override onPreLoad(loader: DefaultLoader): void { 12 + // Add any scene specific resources to load 13 + } 14 + 15 + override onActivate(context: SceneActivationContext<unknown>): void { 16 + // Called when Excalibur transitions to this scene 17 + // Only 1 scene is active at a time 18 + } 19 + 20 + override onDeactivate(context: SceneActivationContext): void { 21 + // Called when Excalibur transitions away from this scene 22 + // Only 1 scene is active at a time 23 + } 24 + 25 + override onPreUpdate(engine: Engine, elapsedMs: number): void { 26 + // Called before anything updates in the scene 27 + } 28 + 29 + override onPostUpdate(engine: Engine, elapsedMs: number): void { 30 + // Called after everything updates in the scene 31 + } 32 + 33 + override onPreDraw(ctx: ExcaliburGraphicsContext, elapsedMs: number): void { 34 + // Called before Excalibur draws to the screen 35 + } 36 + 37 + override onPostDraw(ctx: ExcaliburGraphicsContext, elapsedMs: number): void { 38 + // Called after Excalibur draws to the screen 39 + } 40 + }
+86
src/excalibur/player.ts
··· 1 + import { Actor, Collider, CollisionContact, Engine, Side, vec } from "excalibur"; 2 + import { Resources } from "./resources"; 3 + 4 + // Actors are the main unit of composition you'll likely use, anything that you want to draw and move around the screen 5 + // is likely built with an actor 6 + 7 + // They contain a bunch of useful components that you might use 8 + // actor.transform 9 + // actor.motion 10 + // actor.graphics 11 + // actor.body 12 + // actor.collider 13 + // actor.actions 14 + // actor.pointer 15 + 16 + 17 + export class Player extends Actor { 18 + constructor() { 19 + super({ 20 + // Giving your actor a name is optional, but helps in debugging using the dev tools or debug mode 21 + // https://github.com/excaliburjs/excalibur-extension/ 22 + // Chrome: https://chromewebstore.google.com/detail/excalibur-dev-tools/dinddaeielhddflijbbcmpefamfffekc 23 + // Firefox: https://addons.mozilla.org/en-US/firefox/addon/excalibur-dev-tools/ 24 + name: 'Player', 25 + pos: vec(150, 150), 26 + width: 100, 27 + height: 100, 28 + // anchor: vec(0, 0), // Actors default center colliders and graphics with anchor (0.5, 0.5) 29 + // collisionType: CollisionType.Active, // Collision Type Active means this participates in collisions read more https://excaliburjs.com/docs/collisiontypes 30 + }); 31 + 32 + } 33 + 34 + override onInitialize() { 35 + // Generally recommended to stick logic in the "On initialize" 36 + // This runs before the first update 37 + // Useful when 38 + // 1. You need things to be loaded like Images for graphics 39 + // 2. You need excalibur to be initialized & started 40 + // 3. Deferring logic to run time instead of constructor time 41 + // 4. Lazy instantiation 42 + this.graphics.add(Resources.Sword.toSprite()); 43 + 44 + // Actions are useful for scripting common behavior, for example patrolling enemies 45 + this.actions.delay(2000); 46 + this.actions.repeatForever(ctx => { 47 + ctx.moveBy({offset: vec(100, 0), duration: 1000}); 48 + ctx.moveBy({offset: vec(0, 100), duration: 1000}); 49 + ctx.moveBy({offset: vec(-100, 0), duration: 1000}); 50 + ctx.moveBy({offset: vec(0, -100), duration: 1000}); 51 + }); 52 + 53 + // Sometimes you want to click on an actor! 54 + this.on('pointerdown', evt => { 55 + // Pointer events tunnel in z order from the screen down, you can cancel them! 56 + // if (true) { 57 + // evt.cancel(); 58 + // } 59 + console.log('You clicked the actor @', evt.worldPos.toString()); 60 + }); 61 + } 62 + 63 + override onPreUpdate(engine: Engine, elapsedMs: number): void { 64 + // Put any update logic here runs every frame before Actor builtins 65 + } 66 + 67 + override onPostUpdate(engine: Engine, elapsedMs: number): void { 68 + // Put any update logic here runs every frame after Actor builtins 69 + } 70 + 71 + override onPreCollisionResolve(self: Collider, other: Collider, side: Side, contact: CollisionContact): void { 72 + // Called before a collision is resolved, if you want to opt out of this specific collision call contact.cancel() 73 + } 74 + 75 + override onPostCollisionResolve(self: Collider, other: Collider, side: Side, contact: CollisionContact): void { 76 + // Called every time a collision is resolved and overlap is solved 77 + } 78 + 79 + override onCollisionStart(self: Collider, other: Collider, side: Side, contact: CollisionContact): void { 80 + // Called when a pair of objects are in contact 81 + } 82 + 83 + override onCollisionEnd(self: Collider, other: Collider, side: Side, lastContact: CollisionContact): void { 84 + // Called when a pair of objects separates 85 + } 86 + }
+14
src/excalibur/resources.ts
··· 1 + import { ImageSource, Loader } from "excalibur"; 2 + 3 + // It is convenient to put your resources in one place 4 + export const Resources = { 5 + Sword: new ImageSource("/images/sword.png") // public/ directory serves the root images 6 + } as const; // the 'as const' is a neat typescript trick to get strong typing on your resources. 7 + // So when you type Resources.Sword -> ImageSource 8 + 9 + // We build a loader and add all of our resources to the boot loader 10 + // You can build your own loader by extending DefaultLoader 11 + export const loader = new Loader(Object.values(Resources)); 12 + // for (const res of Object.values(Resources)) { 13 + // loader.addResource(res); 14 + // }
+63
src/hooks/useExcaliburGame.ts
··· 1 + import {Engine, Scene, Color, FadeInOut, EngineOptions} from 'excalibur'; 2 + import { Dispatch, RefObject, SetStateAction, useEffect, useLayoutEffect, useRef, useState} from 'react'; 3 + 4 + import { loader } from "@/excalibur/resources" 5 + 6 + interface IRefExcaliburGame 7 + { 8 + game: Engine | null; 9 + currentScene: Scene | null; 10 + } 11 + 12 + type IExcaliburRef = RefObject<IRefExcaliburGame | null> 13 + 14 + type UseExcaliburReturn = [ 15 + someState: any, 16 + setSomeState:Dispatch<SetStateAction<any>> 17 + ] 18 + 19 + 20 + const useExcaliburGame = ( 21 + excaliburRef: IExcaliburRef, 22 + excaliburRefConfig: EngineOptions 23 + ): UseExcaliburReturn => { 24 + 25 + const [someState, setSomeState] = useState(false) 26 + 27 + useLayoutEffect(() => { 28 + if (excaliburRef.current === null){ 29 + 30 + const game = new Engine(excaliburRefConfig) 31 + 32 + excaliburRef.current = {game, currentScene: null} 33 + 34 + game.start('start', { // name of the start scene 'start' 35 + loader, // Optional loader (but needed for loading images/sounds) 36 + inTransition: new FadeInOut({ // Optional in transition 37 + duration: 1000, 38 + direction: 'in', 39 + color: Color.ExcaliburBlue 40 + }) 41 + }).then(() => { 42 + excaliburRef.current = {game: game, currentScene:game.currentScene} 43 + }); 44 + } 45 + 46 + return () => { 47 + if (excaliburRef.current?.game) 48 + { 49 + excaliburRef.current.game.dispose() 50 + } 51 + excaliburRef.current = null 52 + } 53 + 54 + }, []); 55 + 56 + useEffect(() => { 57 + // EventEmitter 58 + }, []); 59 + 60 + return [someState, setSomeState]; 61 + }; 62 + 63 + export {useExcaliburGame as default, type IExcaliburRef}
+27
tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + "target": "ES2017", 4 + "lib": ["dom", "dom.iterable", "esnext"], 5 + "allowJs": true, 6 + "skipLibCheck": true, 7 + "strict": true, 8 + "noEmit": true, 9 + "esModuleInterop": true, 10 + "module": "esnext", 11 + "moduleResolution": "bundler", 12 + "resolveJsonModule": true, 13 + "isolatedModules": true, 14 + "jsx": "preserve", 15 + "incremental": true, 16 + "plugins": [ 17 + { 18 + "name": "next" 19 + } 20 + ], 21 + "paths": { 22 + "@/*": ["./src/*"], 23 + } 24 + }, 25 + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 26 + "exclude": ["node_modules"] 27 + }