From cb05f9834b7aab46160518392dc564b8aaf5a5a5 Mon Sep 17 00:00:00 2001
From: KaseToatz1337 <112391293+Raeven69@users.noreply.github.com>
Date: Fri, 28 Nov 2025 13:28:52 +0100
Subject: [PATCH] initial commit
---
.gitignore | 24 +
README.md | 73 +
eslint.config.js | 23 +
index.html | 13 +
package-lock.json | 3901 ++++++++++++++++++++++++++++++++++++++++++
package.json | 34 +
public/car.glb | Bin 0 -> 23147404 bytes
public/character.glb | Bin 0 -> 11664080 bytes
public/vite.svg | 1 +
src/App.css | 42 +
src/App.tsx | 36 +
src/Car.tsx | 149 ++
src/Character.tsx | 197 +++
src/assets/react.svg | 1 +
src/index.css | 7 +
src/main.tsx | 10 +
tsconfig.app.json | 28 +
tsconfig.json | 7 +
tsconfig.node.json | 26 +
vite.config.ts | 7 +
20 files changed, 4579 insertions(+)
create mode 100644 .gitignore
create mode 100644 README.md
create mode 100644 eslint.config.js
create mode 100644 index.html
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 public/car.glb
create mode 100644 public/character.glb
create mode 100644 public/vite.svg
create mode 100644 src/App.css
create mode 100644 src/App.tsx
create mode 100644 src/Car.tsx
create mode 100644 src/Character.tsx
create mode 100644 src/assets/react.svg
create mode 100644 src/index.css
create mode 100644 src/main.tsx
create mode 100644 tsconfig.app.json
create mode 100644 tsconfig.json
create mode 100644 tsconfig.node.json
create mode 100644 vite.config.ts
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a547bf3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d2e7761
--- /dev/null
+++ b/README.md
@@ -0,0 +1,73 @@
+# React + TypeScript + Vite
+
+This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
+
+Currently, two official plugins are available:
+
+- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
+- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
+
+## React Compiler
+
+The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
+
+## Expanding the ESLint configuration
+
+If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
+
+```js
+export default defineConfig([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ // Other configs...
+
+ // Remove tseslint.configs.recommended and replace with this
+ tseslint.configs.recommendedTypeChecked,
+ // Alternatively, use this for stricter rules
+ tseslint.configs.strictTypeChecked,
+ // Optionally, add this for stylistic rules
+ tseslint.configs.stylisticTypeChecked,
+
+ // Other configs...
+ ],
+ languageOptions: {
+ parserOptions: {
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
+ tsconfigRootDir: import.meta.dirname,
+ },
+ // other options...
+ },
+ },
+])
+```
+
+You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
+
+```js
+// eslint.config.js
+import reactX from 'eslint-plugin-react-x'
+import reactDom from 'eslint-plugin-react-dom'
+
+export default defineConfig([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ // Other configs...
+ // Enable lint rules for React
+ reactX.configs['recommended-typescript'],
+ // Enable lint rules for React DOM
+ reactDom.configs.recommended,
+ ],
+ languageOptions: {
+ parserOptions: {
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
+ tsconfigRootDir: import.meta.dirname,
+ },
+ // other options...
+ },
+ },
+])
+```
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 0000000..5e6b472
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,23 @@
+import js from '@eslint/js'
+import globals from 'globals'
+import reactHooks from 'eslint-plugin-react-hooks'
+import reactRefresh from 'eslint-plugin-react-refresh'
+import tseslint from 'typescript-eslint'
+import { defineConfig, globalIgnores } from 'eslint/config'
+
+export default defineConfig([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ js.configs.recommended,
+ tseslint.configs.recommended,
+ reactHooks.configs.flat.recommended,
+ reactRefresh.configs.vite,
+ ],
+ languageOptions: {
+ ecmaVersion: 2020,
+ globals: globals.browser,
+ },
+ },
+])
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..d459785
--- /dev/null
+++ b/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ gta6
+
+
+
+
+
+
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..6151c14
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,3901 @@
+{
+ "name": "gta6",
+ "version": "0.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "gta6",
+ "version": "0.0.0",
+ "dependencies": {
+ "@react-three/drei": "^10.7.7",
+ "@react-three/fiber": "^9.4.0",
+ "@types/three": "^0.181.0",
+ "react": "^19.2.0",
+ "react-dom": "^19.2.0",
+ "three": "^0.181.2"
+ },
+ "devDependencies": {
+ "@eslint/js": "^9.39.1",
+ "@types/node": "^24.10.1",
+ "@types/react": "^19.2.5",
+ "@types/react-dom": "^19.2.3",
+ "@vitejs/plugin-react": "^5.1.1",
+ "eslint": "^9.39.1",
+ "eslint-plugin-react-hooks": "^7.0.1",
+ "eslint-plugin-react-refresh": "^0.4.24",
+ "globals": "^16.5.0",
+ "typescript": "~5.9.3",
+ "typescript-eslint": "^8.46.4",
+ "vite": "^7.2.4"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+ "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz",
+ "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz",
+ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.5",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-module-transforms": "^7.28.3",
+ "@babel/helpers": "^7.28.4",
+ "@babel/parser": "^7.28.5",
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.28.5",
+ "@babel/types": "^7.28.5",
+ "@jridgewell/remapping": "^2.3.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz",
+ "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.28.5",
+ "@babel/types": "^7.28.5",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
+ "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.27.2",
+ "@babel/helper-validator-option": "^7.27.1",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
+ "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz",
+ "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "@babel/traverse": "^7.28.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
+ "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz",
+ "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz",
+ "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.5"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
+ "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
+ "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
+ "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+ "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/parser": "^7.27.2",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz",
+ "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.5",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.28.5",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.5",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz",
+ "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@dimforge/rapier3d-compat": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz",
+ "integrity": "sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
+ "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
+ "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
+ "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
+ "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
+ "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
+ "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
+ "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
+ "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
+ "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
+ "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
+ "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
+ "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
+ "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
+ "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
+ "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
+ "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
+ "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
+ "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
+ "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
+ "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
+ "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
+ "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.12.2",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
+ "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/config-array": {
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
+ "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/object-schema": "^2.1.7",
+ "debug": "^4.3.1",
+ "minimatch": "^3.1.2"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/config-helpers": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz",
+ "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/core": "^0.17.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/core": {
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz",
+ "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/json-schema": "^7.0.15"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
+ "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "9.39.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz",
+ "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://eslint.org/donate"
+ }
+ },
+ "node_modules/@eslint/object-schema": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz",
+ "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/plugin-kit": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz",
+ "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/core": "^0.17.0",
+ "levn": "^0.4.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@humanfs/core": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
+ "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@humanfs/node": {
+ "version": "0.16.7",
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz",
+ "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@humanfs/core": "^0.19.1",
+ "@humanwhocodes/retry": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/retry": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
+ "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@mediapipe/tasks-vision": {
+ "version": "0.10.17",
+ "resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.17.tgz",
+ "integrity": "sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@monogrid/gainmap-js": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@monogrid/gainmap-js/-/gainmap-js-3.4.0.tgz",
+ "integrity": "sha512-2Z0FATFHaoYJ8b+Y4y4Hgfn3FRFwuU5zRrk+9dFWp4uGAdHGqVEdP7HP+gLA3X469KXHmfupJaUbKo1b/aDKIg==",
+ "license": "MIT",
+ "dependencies": {
+ "promise-worker-transferable": "^1.0.4"
+ },
+ "peerDependencies": {
+ "three": ">= 0.159.0"
+ }
+ },
+ "node_modules/@react-three/drei": {
+ "version": "10.7.7",
+ "resolved": "https://registry.npmjs.org/@react-three/drei/-/drei-10.7.7.tgz",
+ "integrity": "sha512-ff+J5iloR0k4tC++QtD/j9u3w5fzfgFAWDtAGQah9pF2B1YgOq/5JxqY0/aVoQG5r3xSZz0cv5tk2YuBob4xEQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.26.0",
+ "@mediapipe/tasks-vision": "0.10.17",
+ "@monogrid/gainmap-js": "^3.0.6",
+ "@use-gesture/react": "^10.3.1",
+ "camera-controls": "^3.1.0",
+ "cross-env": "^7.0.3",
+ "detect-gpu": "^5.0.56",
+ "glsl-noise": "^0.0.0",
+ "hls.js": "^1.5.17",
+ "maath": "^0.10.8",
+ "meshline": "^3.3.1",
+ "stats-gl": "^2.2.8",
+ "stats.js": "^0.17.0",
+ "suspend-react": "^0.1.3",
+ "three-mesh-bvh": "^0.8.3",
+ "three-stdlib": "^2.35.6",
+ "troika-three-text": "^0.52.4",
+ "tunnel-rat": "^0.1.2",
+ "use-sync-external-store": "^1.4.0",
+ "utility-types": "^3.11.0",
+ "zustand": "^5.0.1"
+ },
+ "peerDependencies": {
+ "@react-three/fiber": "^9.0.0",
+ "react": "^19",
+ "react-dom": "^19",
+ "three": ">=0.159"
+ },
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@react-three/fiber": {
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-9.4.0.tgz",
+ "integrity": "sha512-k4iu1R6e5D54918V4sqmISUkI5OgTw3v7/sDRKEC632Wd5g2WBtUS5gyG63X0GJO/HZUj1tsjSXfyzwrUHZl1g==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.17.8",
+ "@types/react-reconciler": "^0.32.0",
+ "@types/webxr": "*",
+ "base64-js": "^1.5.1",
+ "buffer": "^6.0.3",
+ "its-fine": "^2.0.0",
+ "react-reconciler": "^0.31.0",
+ "react-use-measure": "^2.1.7",
+ "scheduler": "^0.25.0",
+ "suspend-react": "^0.1.3",
+ "use-sync-external-store": "^1.4.0",
+ "zustand": "^5.0.3"
+ },
+ "peerDependencies": {
+ "expo": ">=43.0",
+ "expo-asset": ">=8.4",
+ "expo-file-system": ">=11.0",
+ "expo-gl": ">=11.0",
+ "react": "^19.0.0",
+ "react-dom": "^19.0.0",
+ "react-native": ">=0.78",
+ "three": ">=0.156"
+ },
+ "peerDependenciesMeta": {
+ "expo": {
+ "optional": true
+ },
+ "expo-asset": {
+ "optional": true
+ },
+ "expo-file-system": {
+ "optional": true
+ },
+ "expo-gl": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ },
+ "react-native": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@react-three/fiber/node_modules/scheduler": {
+ "version": "0.25.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz",
+ "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==",
+ "license": "MIT"
+ },
+ "node_modules/@rolldown/pluginutils": {
+ "version": "1.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.47.tgz",
+ "integrity": "sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz",
+ "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz",
+ "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz",
+ "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz",
+ "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz",
+ "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz",
+ "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz",
+ "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz",
+ "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz",
+ "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz",
+ "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz",
+ "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz",
+ "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz",
+ "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz",
+ "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz",
+ "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz",
+ "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz",
+ "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-openharmony-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz",
+ "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz",
+ "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz",
+ "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz",
+ "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz",
+ "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@tweenjs/tween.js": {
+ "version": "23.1.3",
+ "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz",
+ "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+ "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
+ "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.2"
+ }
+ },
+ "node_modules/@types/draco3d": {
+ "version": "1.4.10",
+ "resolved": "https://registry.npmjs.org/@types/draco3d/-/draco3d-1.4.10.tgz",
+ "integrity": "sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "24.10.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
+ "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "undici-types": "~7.16.0"
+ }
+ },
+ "node_modules/@types/offscreencanvas": {
+ "version": "2019.7.3",
+ "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz",
+ "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==",
+ "license": "MIT"
+ },
+ "node_modules/@types/react": {
+ "version": "19.2.7",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz",
+ "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "csstype": "^3.2.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "19.2.3",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz",
+ "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "^19.2.0"
+ }
+ },
+ "node_modules/@types/react-reconciler": {
+ "version": "0.32.3",
+ "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.32.3.tgz",
+ "integrity": "sha512-cMi5ZrLG7UtbL7LTK6hq9w/EZIRk4Mf1Z5qHoI+qBh7/WkYkFXQ7gOto2yfUvPzF5ERMAhaXS5eTQ2SAnHjLzA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/stats.js": {
+ "version": "0.17.4",
+ "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.4.tgz",
+ "integrity": "sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/three": {
+ "version": "0.181.0",
+ "resolved": "https://registry.npmjs.org/@types/three/-/three-0.181.0.tgz",
+ "integrity": "sha512-MLF1ks8yRM2k71D7RprFpDb9DOX0p22DbdPqT/uAkc6AtQXjxWCVDjCy23G9t1o8HcQPk7woD2NIyiaWcWPYmA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@dimforge/rapier3d-compat": "~0.12.0",
+ "@tweenjs/tween.js": "~23.1.3",
+ "@types/stats.js": "*",
+ "@types/webxr": "*",
+ "@webgpu/types": "*",
+ "fflate": "~0.8.2",
+ "meshoptimizer": "~0.22.0"
+ }
+ },
+ "node_modules/@types/webxr": {
+ "version": "0.5.24",
+ "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz",
+ "integrity": "sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==",
+ "license": "MIT"
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "8.48.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.48.0.tgz",
+ "integrity": "sha512-XxXP5tL1txl13YFtrECECQYeZjBZad4fyd3cFV4a19LkAY/bIp9fev3US4S5fDVV2JaYFiKAZ/GRTOLer+mbyQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "8.48.0",
+ "@typescript-eslint/type-utils": "8.48.0",
+ "@typescript-eslint/utils": "8.48.0",
+ "@typescript-eslint/visitor-keys": "8.48.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^7.0.0",
+ "natural-compare": "^1.4.0",
+ "ts-api-utils": "^2.1.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^8.48.0",
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "8.48.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.48.0.tgz",
+ "integrity": "sha512-jCzKdm/QK0Kg4V4IK/oMlRZlY+QOcdjv89U2NgKHZk1CYTj82/RVSx1mV/0gqCVMJ/DA+Zf/S4NBWNF8GQ+eqQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "8.48.0",
+ "@typescript-eslint/types": "8.48.0",
+ "@typescript-eslint/typescript-estree": "8.48.0",
+ "@typescript-eslint/visitor-keys": "8.48.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/project-service": {
+ "version": "8.48.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.48.0.tgz",
+ "integrity": "sha512-Ne4CTZyRh1BecBf84siv42wv5vQvVmgtk8AuiEffKTUo3DrBaGYZueJSxxBZ8fjk/N3DrgChH4TOdIOwOwiqqw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/tsconfig-utils": "^8.48.0",
+ "@typescript-eslint/types": "^8.48.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "8.48.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.0.tgz",
+ "integrity": "sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.48.0",
+ "@typescript-eslint/visitor-keys": "8.48.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/tsconfig-utils": {
+ "version": "8.48.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.0.tgz",
+ "integrity": "sha512-WNebjBdFdyu10sR1M4OXTt2OkMd5KWIL+LLfeH9KhgP+jzfDV/LI3eXzwJ1s9+Yc0Kzo2fQCdY/OpdusCMmh6w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "8.48.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.48.0.tgz",
+ "integrity": "sha512-zbeVaVqeXhhab6QNEKfK96Xyc7UQuoFWERhEnj3mLVnUWrQnv15cJNseUni7f3g557gm0e46LZ6IJ4NJVOgOpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.48.0",
+ "@typescript-eslint/typescript-estree": "8.48.0",
+ "@typescript-eslint/utils": "8.48.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^2.1.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "8.48.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.0.tgz",
+ "integrity": "sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "8.48.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.0.tgz",
+ "integrity": "sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/project-service": "8.48.0",
+ "@typescript-eslint/tsconfig-utils": "8.48.0",
+ "@typescript-eslint/types": "8.48.0",
+ "@typescript-eslint/visitor-keys": "8.48.0",
+ "debug": "^4.3.4",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "tinyglobby": "^0.2.15",
+ "ts-api-utils": "^2.1.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "8.48.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.48.0.tgz",
+ "integrity": "sha512-yTJO1XuGxCsSfIVt1+1UrLHtue8xz16V8apzPYI06W0HbEbEWHxHXgZaAgavIkoh+GeV6hKKd5jm0sS6OYxWXQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.7.0",
+ "@typescript-eslint/scope-manager": "8.48.0",
+ "@typescript-eslint/types": "8.48.0",
+ "@typescript-eslint/typescript-estree": "8.48.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "8.48.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.0.tgz",
+ "integrity": "sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.48.0",
+ "eslint-visitor-keys": "^4.2.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@use-gesture/core": {
+ "version": "10.3.1",
+ "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.3.1.tgz",
+ "integrity": "sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw==",
+ "license": "MIT"
+ },
+ "node_modules/@use-gesture/react": {
+ "version": "10.3.1",
+ "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.3.1.tgz",
+ "integrity": "sha512-Yy19y6O2GJq8f7CHf7L0nxL8bf4PZCPaVOCgJrusOeFHY1LvHgYXnmnXg6N5iwAnbgbZCDjo60SiM6IPJi9C5g==",
+ "license": "MIT",
+ "dependencies": {
+ "@use-gesture/core": "10.3.1"
+ },
+ "peerDependencies": {
+ "react": ">= 16.8.0"
+ }
+ },
+ "node_modules/@vitejs/plugin-react": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.1.tgz",
+ "integrity": "sha512-WQfkSw0QbQ5aJ2CHYw23ZGkqnRwqKHD/KYsMeTkZzPT4Jcf0DcBxBtwMJxnu6E7oxw5+JC6ZAiePgh28uJ1HBA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.28.5",
+ "@babel/plugin-transform-react-jsx-self": "^7.27.1",
+ "@babel/plugin-transform-react-jsx-source": "^7.27.1",
+ "@rolldown/pluginutils": "1.0.0-beta.47",
+ "@types/babel__core": "^7.20.5",
+ "react-refresh": "^0.18.0"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "peerDependencies": {
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
+ "node_modules/@webgpu/types": {
+ "version": "0.1.66",
+ "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.66.tgz",
+ "integrity": "sha512-YA2hLrwLpDsRueNDXIMqN9NTzD6bCDkuXbOSe0heS+f8YE8usA6Gbv1prj81pzVHrbaAma7zObnIC+I6/sXJgA==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "license": "Python-2.0"
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.8.31",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.31.tgz",
+ "integrity": "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.js"
+ }
+ },
+ "node_modules/bidi-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz",
+ "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==",
+ "license": "MIT",
+ "dependencies": {
+ "require-from-string": "^2.0.2"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.28.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz",
+ "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "baseline-browser-mapping": "^2.8.25",
+ "caniuse-lite": "^1.0.30001754",
+ "electron-to-chromium": "^1.5.249",
+ "node-releases": "^2.0.27",
+ "update-browserslist-db": "^1.1.4"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camera-controls": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/camera-controls/-/camera-controls-3.1.2.tgz",
+ "integrity": "sha512-xkxfpG2ECZ6Ww5/9+kf4mfg1VEYAoe9aDSY+IwF0UEs7qEzwy0aVRfs2grImIECs/PoBtWFrh7RXsQkwG922JA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=22.0.0",
+ "npm": ">=10.5.1"
+ },
+ "peerDependencies": {
+ "three": ">=0.126.1"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001757",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz",
+ "integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cross-env": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
+ "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.1"
+ },
+ "bin": {
+ "cross-env": "src/bin/cross-env.js",
+ "cross-env-shell": "src/bin/cross-env-shell.js"
+ },
+ "engines": {
+ "node": ">=10.14",
+ "npm": ">=6",
+ "yarn": ">=1"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
+ "license": "MIT"
+ },
+ "node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/detect-gpu": {
+ "version": "5.0.70",
+ "resolved": "https://registry.npmjs.org/detect-gpu/-/detect-gpu-5.0.70.tgz",
+ "integrity": "sha512-bqerEP1Ese6nt3rFkwPnGbsUF9a4q+gMmpTVVOEzoCyeCc+y7/RvJnQZJx1JwhgQI5Ntg0Kgat8Uu7XpBqnz1w==",
+ "license": "MIT",
+ "dependencies": {
+ "webgl-constants": "^1.1.1"
+ }
+ },
+ "node_modules/draco3d": {
+ "version": "1.5.7",
+ "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz",
+ "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.262",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.262.tgz",
+ "integrity": "sha512-NlAsMteRHek05jRUxUR0a5jpjYq9ykk6+kO0yRaMi5moe7u0fVIOeQ3Y30A8dIiWFBNUoQGi1ljb1i5VtS9WQQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/esbuild": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
+ "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.25.12",
+ "@esbuild/android-arm": "0.25.12",
+ "@esbuild/android-arm64": "0.25.12",
+ "@esbuild/android-x64": "0.25.12",
+ "@esbuild/darwin-arm64": "0.25.12",
+ "@esbuild/darwin-x64": "0.25.12",
+ "@esbuild/freebsd-arm64": "0.25.12",
+ "@esbuild/freebsd-x64": "0.25.12",
+ "@esbuild/linux-arm": "0.25.12",
+ "@esbuild/linux-arm64": "0.25.12",
+ "@esbuild/linux-ia32": "0.25.12",
+ "@esbuild/linux-loong64": "0.25.12",
+ "@esbuild/linux-mips64el": "0.25.12",
+ "@esbuild/linux-ppc64": "0.25.12",
+ "@esbuild/linux-riscv64": "0.25.12",
+ "@esbuild/linux-s390x": "0.25.12",
+ "@esbuild/linux-x64": "0.25.12",
+ "@esbuild/netbsd-arm64": "0.25.12",
+ "@esbuild/netbsd-x64": "0.25.12",
+ "@esbuild/openbsd-arm64": "0.25.12",
+ "@esbuild/openbsd-x64": "0.25.12",
+ "@esbuild/openharmony-arm64": "0.25.12",
+ "@esbuild/sunos-x64": "0.25.12",
+ "@esbuild/win32-arm64": "0.25.12",
+ "@esbuild/win32-ia32": "0.25.12",
+ "@esbuild/win32-x64": "0.25.12"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "9.39.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz",
+ "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.8.0",
+ "@eslint-community/regexpp": "^4.12.1",
+ "@eslint/config-array": "^0.21.1",
+ "@eslint/config-helpers": "^0.4.2",
+ "@eslint/core": "^0.17.0",
+ "@eslint/eslintrc": "^3.3.1",
+ "@eslint/js": "9.39.1",
+ "@eslint/plugin-kit": "^0.4.1",
+ "@humanfs/node": "^0.16.6",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@humanwhocodes/retry": "^0.4.2",
+ "@types/estree": "^1.0.6",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.6",
+ "debug": "^4.3.2",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^8.4.0",
+ "eslint-visitor-keys": "^4.2.1",
+ "espree": "^10.4.0",
+ "esquery": "^1.5.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^8.0.0",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://eslint.org/donate"
+ },
+ "peerDependencies": {
+ "jiti": "*"
+ },
+ "peerDependenciesMeta": {
+ "jiti": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-react-hooks": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz",
+ "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.24.4",
+ "@babel/parser": "^7.24.4",
+ "hermes-parser": "^0.25.1",
+ "zod": "^3.25.0 || ^4.0.0",
+ "zod-validation-error": "^3.5.0 || ^4.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-react-refresh": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.24.tgz",
+ "integrity": "sha512-nLHIW7TEq3aLrEYWpVaJ1dRgFR+wLDPN8e8FpYAql/bMV2oBEfC37K0gLEGgv9fy66juNShSMV8OkTqzltcG/w==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "eslint": ">=8.40"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
+ "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/espree": {
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+ "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "acorn": "^8.15.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^4.2.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+ "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/fflate": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz",
+ "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==",
+ "license": "MIT"
+ },
+ "node_modules/file-entry-cache": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flat-cache": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.4"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
+ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/globals": {
+ "version": "16.5.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz",
+ "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/glsl-noise": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/glsl-noise/-/glsl-noise-0.0.0.tgz",
+ "integrity": "sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==",
+ "license": "MIT"
+ },
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/hermes-estree": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
+ "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/hermes-parser": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz",
+ "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hermes-estree": "0.25.1"
+ }
+ },
+ "node_modules/hls.js": {
+ "version": "1.6.15",
+ "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.15.tgz",
+ "integrity": "sha512-E3a5VwgXimGHwpRGV+WxRTKeSp2DW5DI5MWv34ulL3t5UNmyJWCQ1KmLEHbYzcfThfXG8amBL+fCYPneGHC4VA==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
+ "license": "MIT"
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-promise": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "license": "ISC"
+ },
+ "node_modules/its-fine": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/its-fine/-/its-fine-2.0.0.tgz",
+ "integrity": "sha512-KLViCmWx94zOvpLwSlsx6yOCeMhZYaxrJV87Po5k/FoZzcPSahvK5qJ7fYhS61sZi5ikmh2S3Hz55A2l3U69ng==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/react-reconciler": "^0.28.9"
+ },
+ "peerDependencies": {
+ "react": "^19.0.0"
+ }
+ },
+ "node_modules/its-fine/node_modules/@types/react-reconciler": {
+ "version": "0.28.9",
+ "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.9.tgz",
+ "integrity": "sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lie": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+ "license": "MIT",
+ "dependencies": {
+ "immediate": "~3.0.5"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/maath": {
+ "version": "0.10.8",
+ "resolved": "https://registry.npmjs.org/maath/-/maath-0.10.8.tgz",
+ "integrity": "sha512-tRvbDF0Pgqz+9XUa4jjfgAQ8/aPKmQdWXilFu2tMy4GWj4NOsx99HlULO4IeREfbO3a0sA145DZYyvXPkybm0g==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/three": ">=0.134.0",
+ "three": ">=0.134.0"
+ }
+ },
+ "node_modules/meshline": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/meshline/-/meshline-3.3.1.tgz",
+ "integrity": "sha512-/TQj+JdZkeSUOl5Mk2J7eLcYTLiQm2IDzmlSvYm7ov15anEcDJ92GHqqazxTSreeNgfnYu24kiEvvv0WlbCdFQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "three": ">=0.137"
+ }
+ },
+ "node_modules/meshoptimizer": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.22.0.tgz",
+ "integrity": "sha512-IebiK79sqIy+E4EgOr+CAw+Ke8hAspXKzBd0JdgEmPHiAwmvEj2S4h1rfvo+o/BnfEYd/jAOg5IeeIjzlzSnDg==",
+ "license": "MIT"
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.27",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+ "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/optionator": {
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/potpack": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz",
+ "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==",
+ "license": "ISC"
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/promise-worker-transferable": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/promise-worker-transferable/-/promise-worker-transferable-1.0.4.tgz",
+ "integrity": "sha512-bN+0ehEnrXfxV2ZQvU2PetO0n4gqBD4ulq3MI1WOPLgr7/Mg9yRQkX5+0v1vagr74ZTsl7XtzlaYDo2EuCeYJw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "is-promise": "^2.1.0",
+ "lie": "^3.0.2"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/react": {
+ "version": "19.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz",
+ "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "19.2.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz",
+ "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "scheduler": "^0.27.0"
+ },
+ "peerDependencies": {
+ "react": "^19.2.0"
+ }
+ },
+ "node_modules/react-reconciler": {
+ "version": "0.31.0",
+ "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.31.0.tgz",
+ "integrity": "sha512-7Ob7Z+URmesIsIVRjnLoDGwBEG/tVitidU0nMsqX/eeJaLY89RISO/10ERe0MqmzuKUUB1rmY+h1itMbUHg9BQ==",
+ "license": "MIT",
+ "dependencies": {
+ "scheduler": "^0.25.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "peerDependencies": {
+ "react": "^19.0.0"
+ }
+ },
+ "node_modules/react-reconciler/node_modules/scheduler": {
+ "version": "0.25.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz",
+ "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==",
+ "license": "MIT"
+ },
+ "node_modules/react-refresh": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz",
+ "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-use-measure": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz",
+ "integrity": "sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": ">=16.13",
+ "react-dom": ">=16.13"
+ },
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz",
+ "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.8"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.53.3",
+ "@rollup/rollup-android-arm64": "4.53.3",
+ "@rollup/rollup-darwin-arm64": "4.53.3",
+ "@rollup/rollup-darwin-x64": "4.53.3",
+ "@rollup/rollup-freebsd-arm64": "4.53.3",
+ "@rollup/rollup-freebsd-x64": "4.53.3",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.53.3",
+ "@rollup/rollup-linux-arm-musleabihf": "4.53.3",
+ "@rollup/rollup-linux-arm64-gnu": "4.53.3",
+ "@rollup/rollup-linux-arm64-musl": "4.53.3",
+ "@rollup/rollup-linux-loong64-gnu": "4.53.3",
+ "@rollup/rollup-linux-ppc64-gnu": "4.53.3",
+ "@rollup/rollup-linux-riscv64-gnu": "4.53.3",
+ "@rollup/rollup-linux-riscv64-musl": "4.53.3",
+ "@rollup/rollup-linux-s390x-gnu": "4.53.3",
+ "@rollup/rollup-linux-x64-gnu": "4.53.3",
+ "@rollup/rollup-linux-x64-musl": "4.53.3",
+ "@rollup/rollup-openharmony-arm64": "4.53.3",
+ "@rollup/rollup-win32-arm64-msvc": "4.53.3",
+ "@rollup/rollup-win32-ia32-msvc": "4.53.3",
+ "@rollup/rollup-win32-x64-gnu": "4.53.3",
+ "@rollup/rollup-win32-x64-msvc": "4.53.3",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
+ "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
+ "license": "MIT"
+ },
+ "node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/stats-gl": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/stats-gl/-/stats-gl-2.4.2.tgz",
+ "integrity": "sha512-g5O9B0hm9CvnM36+v7SFl39T7hmAlv541tU81ME8YeSb3i1CIP5/QdDeSB3A0la0bKNHpxpwxOVRo2wFTYEosQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/three": "*",
+ "three": "^0.170.0"
+ },
+ "peerDependencies": {
+ "@types/three": "*",
+ "three": "*"
+ }
+ },
+ "node_modules/stats-gl/node_modules/three": {
+ "version": "0.170.0",
+ "resolved": "https://registry.npmjs.org/three/-/three-0.170.0.tgz",
+ "integrity": "sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ==",
+ "license": "MIT"
+ },
+ "node_modules/stats.js": {
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz",
+ "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==",
+ "license": "MIT"
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/suspend-react": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz",
+ "integrity": "sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": ">=17.0"
+ }
+ },
+ "node_modules/three": {
+ "version": "0.181.2",
+ "resolved": "https://registry.npmjs.org/three/-/three-0.181.2.tgz",
+ "integrity": "sha512-k/CjiZ80bYss6Qs7/ex1TBlPD11whT9oKfT8oTGiHa34W4JRd1NiH/Tr1DbHWQ2/vMUypxksLnF2CfmlmM5XFQ==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/three-mesh-bvh": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.8.3.tgz",
+ "integrity": "sha512-4G5lBaF+g2auKX3P0yqx+MJC6oVt6sB5k+CchS6Ob0qvH0YIhuUk1eYr7ktsIpY+albCqE80/FVQGV190PmiAg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "three": ">= 0.159.0"
+ }
+ },
+ "node_modules/three-stdlib": {
+ "version": "2.36.1",
+ "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.36.1.tgz",
+ "integrity": "sha512-XyGQrFmNQ5O/IoKm556ftwKsBg11TIb301MB5dWNicziQBEs2g3gtOYIf7pFiLa0zI2gUwhtCjv9fmjnxKZ1Cg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/draco3d": "^1.4.0",
+ "@types/offscreencanvas": "^2019.6.4",
+ "@types/webxr": "^0.5.2",
+ "draco3d": "^1.4.1",
+ "fflate": "^0.6.9",
+ "potpack": "^1.0.1"
+ },
+ "peerDependencies": {
+ "three": ">=0.128.0"
+ }
+ },
+ "node_modules/three-stdlib/node_modules/fflate": {
+ "version": "0.6.10",
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz",
+ "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==",
+ "license": "MIT"
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/troika-three-text": {
+ "version": "0.52.4",
+ "resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.52.4.tgz",
+ "integrity": "sha512-V50EwcYGruV5rUZ9F4aNsrytGdKcXKALjEtQXIOBfhVoZU9VAqZNIoGQ3TMiooVqFAbR1w15T+f+8gkzoFzawg==",
+ "license": "MIT",
+ "dependencies": {
+ "bidi-js": "^1.0.2",
+ "troika-three-utils": "^0.52.4",
+ "troika-worker-utils": "^0.52.0",
+ "webgl-sdf-generator": "1.1.1"
+ },
+ "peerDependencies": {
+ "three": ">=0.125.0"
+ }
+ },
+ "node_modules/troika-three-utils": {
+ "version": "0.52.4",
+ "resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.52.4.tgz",
+ "integrity": "sha512-NORAStSVa/BDiG52Mfudk4j1FG4jC4ILutB3foPnfGbOeIs9+G5vZLa0pnmnaftZUGm4UwSoqEpWdqvC7zms3A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "three": ">=0.125.0"
+ }
+ },
+ "node_modules/troika-worker-utils": {
+ "version": "0.52.0",
+ "resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.52.0.tgz",
+ "integrity": "sha512-W1CpvTHykaPH5brv5VHLfQo9D1OYuo0cSBEUQFFT/nBUzM8iD6Lq2/tgG/f1OelbAS1WtaTPQzE5uM49egnngw==",
+ "license": "MIT"
+ },
+ "node_modules/ts-api-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
+ "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.12"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4"
+ }
+ },
+ "node_modules/tunnel-rat": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/tunnel-rat/-/tunnel-rat-0.1.2.tgz",
+ "integrity": "sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==",
+ "license": "MIT",
+ "dependencies": {
+ "zustand": "^4.3.2"
+ }
+ },
+ "node_modules/tunnel-rat/node_modules/zustand": {
+ "version": "4.5.7",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.7.tgz",
+ "integrity": "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==",
+ "license": "MIT",
+ "dependencies": {
+ "use-sync-external-store": "^1.2.2"
+ },
+ "engines": {
+ "node": ">=12.7.0"
+ },
+ "peerDependencies": {
+ "@types/react": ">=16.8",
+ "immer": ">=9.0.6",
+ "react": ">=16.8"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "immer": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/typescript-eslint": {
+ "version": "8.48.0",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.48.0.tgz",
+ "integrity": "sha512-fcKOvQD9GUn3Xw63EgiDqhvWJ5jsyZUaekl3KVpGsDJnN46WJTe3jWxtQP9lMZm1LJNkFLlTaWAxK2vUQR+cqw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "8.48.0",
+ "@typescript-eslint/parser": "8.48.0",
+ "@typescript-eslint/typescript-estree": "8.48.0",
+ "@typescript-eslint/utils": "8.48.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
+ "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz",
+ "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
+ "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/utility-types": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz",
+ "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/vite": {
+ "version": "7.2.4",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.4.tgz",
+ "integrity": "sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "esbuild": "^0.25.0",
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3",
+ "postcss": "^8.5.6",
+ "rollup": "^4.43.0",
+ "tinyglobby": "^0.2.15"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^20.19.0 || >=22.12.0",
+ "jiti": ">=1.21.0",
+ "less": "^4.0.0",
+ "lightningcss": "^1.21.0",
+ "sass": "^1.70.0",
+ "sass-embedded": "^1.70.0",
+ "stylus": ">=0.54.8",
+ "sugarss": "^5.0.0",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webgl-constants": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/webgl-constants/-/webgl-constants-1.1.1.tgz",
+ "integrity": "sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg=="
+ },
+ "node_modules/webgl-sdf-generator": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz",
+ "integrity": "sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==",
+ "license": "MIT"
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/zod": {
+ "version": "4.1.13",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz",
+ "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/zod-validation-error": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz",
+ "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "zod": "^3.25.0 || ^4.0.0"
+ }
+ },
+ "node_modules/zustand": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.8.tgz",
+ "integrity": "sha512-gyPKpIaxY9XcO2vSMrLbiER7QMAMGOQZVRdJ6Zi782jkbzZygq5GI9nG8g+sMgitRtndwaBSl7uiqC49o1SSiw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.20.0"
+ },
+ "peerDependencies": {
+ "@types/react": ">=18.0.0",
+ "immer": ">=9.0.6",
+ "react": ">=18.0.0",
+ "use-sync-external-store": ">=1.2.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "immer": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "use-sync-external-store": {
+ "optional": true
+ }
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..1eb78ee
--- /dev/null
+++ b/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "gta6",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc -b && vite build",
+ "lint": "eslint .",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@react-three/drei": "^10.7.7",
+ "@react-three/fiber": "^9.4.0",
+ "@types/three": "^0.181.0",
+ "react": "^19.2.0",
+ "react-dom": "^19.2.0",
+ "three": "^0.181.2"
+ },
+ "devDependencies": {
+ "@eslint/js": "^9.39.1",
+ "@types/node": "^24.10.1",
+ "@types/react": "^19.2.5",
+ "@types/react-dom": "^19.2.3",
+ "@vitejs/plugin-react": "^5.1.1",
+ "eslint": "^9.39.1",
+ "eslint-plugin-react-hooks": "^7.0.1",
+ "eslint-plugin-react-refresh": "^0.4.24",
+ "globals": "^16.5.0",
+ "typescript": "~5.9.3",
+ "typescript-eslint": "^8.46.4",
+ "vite": "^7.2.4"
+ }
+}
diff --git a/public/car.glb b/public/car.glb
new file mode 100644
index 0000000000000000000000000000000000000000..92409b82862dce165421a3fbc319626ac26e7dad
GIT binary patch
literal 23147404
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