web ui or whatever

+24
atproto-notifications/.gitignore
···
··· 1 + # Logs 2 + logs 3 + *.log 4 + npm-debug.log* 5 + yarn-debug.log* 6 + yarn-error.log* 7 + pnpm-debug.log* 8 + lerna-debug.log* 9 + 10 + node_modules 11 + dist 12 + dist-ssr 13 + *.local 14 + 15 + # Editor directories and files 16 + .vscode/* 17 + !.vscode/extensions.json 18 + .idea 19 + .DS_Store 20 + *.suo 21 + *.ntvs* 22 + *.njsproj 23 + *.sln 24 + *.sw?
+69
atproto-notifications/README.md
···
··· 1 + # React + TypeScript + Vite 2 + 3 + This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. 4 + 5 + Currently, two official plugins are available: 6 + 7 + - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh 8 + - [@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 9 + 10 + ## Expanding the ESLint configuration 11 + 12 + If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules: 13 + 14 + ```js 15 + export default tseslint.config([ 16 + globalIgnores(['dist']), 17 + { 18 + files: ['**/*.{ts,tsx}'], 19 + extends: [ 20 + // Other configs... 21 + 22 + // Remove tseslint.configs.recommended and replace with this 23 + ...tseslint.configs.recommendedTypeChecked, 24 + // Alternatively, use this for stricter rules 25 + ...tseslint.configs.strictTypeChecked, 26 + // Optionally, add this for stylistic rules 27 + ...tseslint.configs.stylisticTypeChecked, 28 + 29 + // Other configs... 30 + ], 31 + languageOptions: { 32 + parserOptions: { 33 + project: ['./tsconfig.node.json', './tsconfig.app.json'], 34 + tsconfigRootDir: import.meta.dirname, 35 + }, 36 + // other options... 37 + }, 38 + }, 39 + ]) 40 + ``` 41 + 42 + 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: 43 + 44 + ```js 45 + // eslint.config.js 46 + import reactX from 'eslint-plugin-react-x' 47 + import reactDom from 'eslint-plugin-react-dom' 48 + 49 + export default tseslint.config([ 50 + globalIgnores(['dist']), 51 + { 52 + files: ['**/*.{ts,tsx}'], 53 + extends: [ 54 + // Other configs... 55 + // Enable lint rules for React 56 + reactX.configs['recommended-typescript'], 57 + // Enable lint rules for React DOM 58 + reactDom.configs.recommended, 59 + ], 60 + languageOptions: { 61 + parserOptions: { 62 + project: ['./tsconfig.node.json', './tsconfig.app.json'], 63 + tsconfigRootDir: import.meta.dirname, 64 + }, 65 + // other options... 66 + }, 67 + }, 68 + ]) 69 + ```
+23
atproto-notifications/eslint.config.js
···
··· 1 + import js from '@eslint/js' 2 + import globals from 'globals' 3 + import reactHooks from 'eslint-plugin-react-hooks' 4 + import reactRefresh from 'eslint-plugin-react-refresh' 5 + import tseslint from 'typescript-eslint' 6 + import { globalIgnores } from 'eslint/config' 7 + 8 + export default tseslint.config([ 9 + globalIgnores(['dist']), 10 + { 11 + files: ['**/*.{ts,tsx}'], 12 + extends: [ 13 + js.configs.recommended, 14 + tseslint.configs.recommended, 15 + reactHooks.configs['recommended-latest'], 16 + reactRefresh.configs.vite, 17 + ], 18 + languageOptions: { 19 + ecmaVersion: 2020, 20 + globals: globals.browser, 21 + }, 22 + }, 23 + ])
+13
atproto-notifications/index.html
···
··· 1 + <!doctype html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="UTF-8" /> 5 + <link rel="icon" type="image/svg+xml" href="/vite.svg" /> 6 + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 + <title>Vite + React + TS</title> 8 + </head> 9 + <body> 10 + <div id="root"></div> 11 + <script type="module" src="/src/main.tsx"></script> 12 + </body> 13 + </html>
+3396
atproto-notifications/package-lock.json
···
··· 1 + { 2 + "name": "atproto-notifications", 3 + "version": "0.0.0", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "atproto-notifications", 9 + "version": "0.0.0", 10 + "dependencies": { 11 + "@uidotdev/usehooks": "^2.4.1", 12 + "react": "^19.1.0", 13 + "react-dom": "^19.1.0" 14 + }, 15 + "devDependencies": { 16 + "@eslint/js": "^9.29.0", 17 + "@types/react": "^19.1.8", 18 + "@types/react-dom": "^19.1.6", 19 + "@vitejs/plugin-react": "^4.5.2", 20 + "eslint": "^9.29.0", 21 + "eslint-plugin-react-hooks": "^5.2.0", 22 + "eslint-plugin-react-refresh": "^0.4.20", 23 + "globals": "^16.2.0", 24 + "typescript": "~5.8.3", 25 + "typescript-eslint": "^8.34.1", 26 + "vite": "^7.0.0" 27 + } 28 + }, 29 + "node_modules/@ampproject/remapping": { 30 + "version": "2.3.0", 31 + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", 32 + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", 33 + "dev": true, 34 + "license": "Apache-2.0", 35 + "dependencies": { 36 + "@jridgewell/gen-mapping": "^0.3.5", 37 + "@jridgewell/trace-mapping": "^0.3.24" 38 + }, 39 + "engines": { 40 + "node": ">=6.0.0" 41 + } 42 + }, 43 + "node_modules/@babel/code-frame": { 44 + "version": "7.27.1", 45 + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", 46 + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", 47 + "dev": true, 48 + "license": "MIT", 49 + "dependencies": { 50 + "@babel/helper-validator-identifier": "^7.27.1", 51 + "js-tokens": "^4.0.0", 52 + "picocolors": "^1.1.1" 53 + }, 54 + "engines": { 55 + "node": ">=6.9.0" 56 + } 57 + }, 58 + "node_modules/@babel/compat-data": { 59 + "version": "7.27.5", 60 + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz", 61 + "integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==", 62 + "dev": true, 63 + "license": "MIT", 64 + "engines": { 65 + "node": ">=6.9.0" 66 + } 67 + }, 68 + "node_modules/@babel/core": { 69 + "version": "7.27.4", 70 + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz", 71 + "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", 72 + "dev": true, 73 + "license": "MIT", 74 + "dependencies": { 75 + "@ampproject/remapping": "^2.2.0", 76 + "@babel/code-frame": "^7.27.1", 77 + "@babel/generator": "^7.27.3", 78 + "@babel/helper-compilation-targets": "^7.27.2", 79 + "@babel/helper-module-transforms": "^7.27.3", 80 + "@babel/helpers": "^7.27.4", 81 + "@babel/parser": "^7.27.4", 82 + "@babel/template": "^7.27.2", 83 + "@babel/traverse": "^7.27.4", 84 + "@babel/types": "^7.27.3", 85 + "convert-source-map": "^2.0.0", 86 + "debug": "^4.1.0", 87 + "gensync": "^1.0.0-beta.2", 88 + "json5": "^2.2.3", 89 + "semver": "^6.3.1" 90 + }, 91 + "engines": { 92 + "node": ">=6.9.0" 93 + }, 94 + "funding": { 95 + "type": "opencollective", 96 + "url": "https://opencollective.com/babel" 97 + } 98 + }, 99 + "node_modules/@babel/generator": { 100 + "version": "7.27.5", 101 + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz", 102 + "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==", 103 + "dev": true, 104 + "license": "MIT", 105 + "dependencies": { 106 + "@babel/parser": "^7.27.5", 107 + "@babel/types": "^7.27.3", 108 + "@jridgewell/gen-mapping": "^0.3.5", 109 + "@jridgewell/trace-mapping": "^0.3.25", 110 + "jsesc": "^3.0.2" 111 + }, 112 + "engines": { 113 + "node": ">=6.9.0" 114 + } 115 + }, 116 + "node_modules/@babel/helper-compilation-targets": { 117 + "version": "7.27.2", 118 + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", 119 + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", 120 + "dev": true, 121 + "license": "MIT", 122 + "dependencies": { 123 + "@babel/compat-data": "^7.27.2", 124 + "@babel/helper-validator-option": "^7.27.1", 125 + "browserslist": "^4.24.0", 126 + "lru-cache": "^5.1.1", 127 + "semver": "^6.3.1" 128 + }, 129 + "engines": { 130 + "node": ">=6.9.0" 131 + } 132 + }, 133 + "node_modules/@babel/helper-module-imports": { 134 + "version": "7.27.1", 135 + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", 136 + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", 137 + "dev": true, 138 + "license": "MIT", 139 + "dependencies": { 140 + "@babel/traverse": "^7.27.1", 141 + "@babel/types": "^7.27.1" 142 + }, 143 + "engines": { 144 + "node": ">=6.9.0" 145 + } 146 + }, 147 + "node_modules/@babel/helper-module-transforms": { 148 + "version": "7.27.3", 149 + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", 150 + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", 151 + "dev": true, 152 + "license": "MIT", 153 + "dependencies": { 154 + "@babel/helper-module-imports": "^7.27.1", 155 + "@babel/helper-validator-identifier": "^7.27.1", 156 + "@babel/traverse": "^7.27.3" 157 + }, 158 + "engines": { 159 + "node": ">=6.9.0" 160 + }, 161 + "peerDependencies": { 162 + "@babel/core": "^7.0.0" 163 + } 164 + }, 165 + "node_modules/@babel/helper-plugin-utils": { 166 + "version": "7.27.1", 167 + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", 168 + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", 169 + "dev": true, 170 + "license": "MIT", 171 + "engines": { 172 + "node": ">=6.9.0" 173 + } 174 + }, 175 + "node_modules/@babel/helper-string-parser": { 176 + "version": "7.27.1", 177 + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", 178 + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", 179 + "dev": true, 180 + "license": "MIT", 181 + "engines": { 182 + "node": ">=6.9.0" 183 + } 184 + }, 185 + "node_modules/@babel/helper-validator-identifier": { 186 + "version": "7.27.1", 187 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", 188 + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", 189 + "dev": true, 190 + "license": "MIT", 191 + "engines": { 192 + "node": ">=6.9.0" 193 + } 194 + }, 195 + "node_modules/@babel/helper-validator-option": { 196 + "version": "7.27.1", 197 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", 198 + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", 199 + "dev": true, 200 + "license": "MIT", 201 + "engines": { 202 + "node": ">=6.9.0" 203 + } 204 + }, 205 + "node_modules/@babel/helpers": { 206 + "version": "7.27.6", 207 + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", 208 + "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", 209 + "dev": true, 210 + "license": "MIT", 211 + "dependencies": { 212 + "@babel/template": "^7.27.2", 213 + "@babel/types": "^7.27.6" 214 + }, 215 + "engines": { 216 + "node": ">=6.9.0" 217 + } 218 + }, 219 + "node_modules/@babel/parser": { 220 + "version": "7.27.5", 221 + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", 222 + "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", 223 + "dev": true, 224 + "license": "MIT", 225 + "dependencies": { 226 + "@babel/types": "^7.27.3" 227 + }, 228 + "bin": { 229 + "parser": "bin/babel-parser.js" 230 + }, 231 + "engines": { 232 + "node": ">=6.0.0" 233 + } 234 + }, 235 + "node_modules/@babel/plugin-transform-react-jsx-self": { 236 + "version": "7.27.1", 237 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", 238 + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", 239 + "dev": true, 240 + "license": "MIT", 241 + "dependencies": { 242 + "@babel/helper-plugin-utils": "^7.27.1" 243 + }, 244 + "engines": { 245 + "node": ">=6.9.0" 246 + }, 247 + "peerDependencies": { 248 + "@babel/core": "^7.0.0-0" 249 + } 250 + }, 251 + "node_modules/@babel/plugin-transform-react-jsx-source": { 252 + "version": "7.27.1", 253 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", 254 + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", 255 + "dev": true, 256 + "license": "MIT", 257 + "dependencies": { 258 + "@babel/helper-plugin-utils": "^7.27.1" 259 + }, 260 + "engines": { 261 + "node": ">=6.9.0" 262 + }, 263 + "peerDependencies": { 264 + "@babel/core": "^7.0.0-0" 265 + } 266 + }, 267 + "node_modules/@babel/template": { 268 + "version": "7.27.2", 269 + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", 270 + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", 271 + "dev": true, 272 + "license": "MIT", 273 + "dependencies": { 274 + "@babel/code-frame": "^7.27.1", 275 + "@babel/parser": "^7.27.2", 276 + "@babel/types": "^7.27.1" 277 + }, 278 + "engines": { 279 + "node": ">=6.9.0" 280 + } 281 + }, 282 + "node_modules/@babel/traverse": { 283 + "version": "7.27.4", 284 + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz", 285 + "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==", 286 + "dev": true, 287 + "license": "MIT", 288 + "dependencies": { 289 + "@babel/code-frame": "^7.27.1", 290 + "@babel/generator": "^7.27.3", 291 + "@babel/parser": "^7.27.4", 292 + "@babel/template": "^7.27.2", 293 + "@babel/types": "^7.27.3", 294 + "debug": "^4.3.1", 295 + "globals": "^11.1.0" 296 + }, 297 + "engines": { 298 + "node": ">=6.9.0" 299 + } 300 + }, 301 + "node_modules/@babel/traverse/node_modules/globals": { 302 + "version": "11.12.0", 303 + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 304 + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 305 + "dev": true, 306 + "license": "MIT", 307 + "engines": { 308 + "node": ">=4" 309 + } 310 + }, 311 + "node_modules/@babel/types": { 312 + "version": "7.27.6", 313 + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", 314 + "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", 315 + "dev": true, 316 + "license": "MIT", 317 + "dependencies": { 318 + "@babel/helper-string-parser": "^7.27.1", 319 + "@babel/helper-validator-identifier": "^7.27.1" 320 + }, 321 + "engines": { 322 + "node": ">=6.9.0" 323 + } 324 + }, 325 + "node_modules/@esbuild/aix-ppc64": { 326 + "version": "0.25.5", 327 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", 328 + "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", 329 + "cpu": [ 330 + "ppc64" 331 + ], 332 + "dev": true, 333 + "license": "MIT", 334 + "optional": true, 335 + "os": [ 336 + "aix" 337 + ], 338 + "engines": { 339 + "node": ">=18" 340 + } 341 + }, 342 + "node_modules/@esbuild/android-arm": { 343 + "version": "0.25.5", 344 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", 345 + "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", 346 + "cpu": [ 347 + "arm" 348 + ], 349 + "dev": true, 350 + "license": "MIT", 351 + "optional": true, 352 + "os": [ 353 + "android" 354 + ], 355 + "engines": { 356 + "node": ">=18" 357 + } 358 + }, 359 + "node_modules/@esbuild/android-arm64": { 360 + "version": "0.25.5", 361 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", 362 + "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", 363 + "cpu": [ 364 + "arm64" 365 + ], 366 + "dev": true, 367 + "license": "MIT", 368 + "optional": true, 369 + "os": [ 370 + "android" 371 + ], 372 + "engines": { 373 + "node": ">=18" 374 + } 375 + }, 376 + "node_modules/@esbuild/android-x64": { 377 + "version": "0.25.5", 378 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", 379 + "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", 380 + "cpu": [ 381 + "x64" 382 + ], 383 + "dev": true, 384 + "license": "MIT", 385 + "optional": true, 386 + "os": [ 387 + "android" 388 + ], 389 + "engines": { 390 + "node": ">=18" 391 + } 392 + }, 393 + "node_modules/@esbuild/darwin-arm64": { 394 + "version": "0.25.5", 395 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", 396 + "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", 397 + "cpu": [ 398 + "arm64" 399 + ], 400 + "dev": true, 401 + "license": "MIT", 402 + "optional": true, 403 + "os": [ 404 + "darwin" 405 + ], 406 + "engines": { 407 + "node": ">=18" 408 + } 409 + }, 410 + "node_modules/@esbuild/darwin-x64": { 411 + "version": "0.25.5", 412 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", 413 + "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", 414 + "cpu": [ 415 + "x64" 416 + ], 417 + "dev": true, 418 + "license": "MIT", 419 + "optional": true, 420 + "os": [ 421 + "darwin" 422 + ], 423 + "engines": { 424 + "node": ">=18" 425 + } 426 + }, 427 + "node_modules/@esbuild/freebsd-arm64": { 428 + "version": "0.25.5", 429 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", 430 + "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", 431 + "cpu": [ 432 + "arm64" 433 + ], 434 + "dev": true, 435 + "license": "MIT", 436 + "optional": true, 437 + "os": [ 438 + "freebsd" 439 + ], 440 + "engines": { 441 + "node": ">=18" 442 + } 443 + }, 444 + "node_modules/@esbuild/freebsd-x64": { 445 + "version": "0.25.5", 446 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", 447 + "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", 448 + "cpu": [ 449 + "x64" 450 + ], 451 + "dev": true, 452 + "license": "MIT", 453 + "optional": true, 454 + "os": [ 455 + "freebsd" 456 + ], 457 + "engines": { 458 + "node": ">=18" 459 + } 460 + }, 461 + "node_modules/@esbuild/linux-arm": { 462 + "version": "0.25.5", 463 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", 464 + "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", 465 + "cpu": [ 466 + "arm" 467 + ], 468 + "dev": true, 469 + "license": "MIT", 470 + "optional": true, 471 + "os": [ 472 + "linux" 473 + ], 474 + "engines": { 475 + "node": ">=18" 476 + } 477 + }, 478 + "node_modules/@esbuild/linux-arm64": { 479 + "version": "0.25.5", 480 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", 481 + "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", 482 + "cpu": [ 483 + "arm64" 484 + ], 485 + "dev": true, 486 + "license": "MIT", 487 + "optional": true, 488 + "os": [ 489 + "linux" 490 + ], 491 + "engines": { 492 + "node": ">=18" 493 + } 494 + }, 495 + "node_modules/@esbuild/linux-ia32": { 496 + "version": "0.25.5", 497 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", 498 + "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", 499 + "cpu": [ 500 + "ia32" 501 + ], 502 + "dev": true, 503 + "license": "MIT", 504 + "optional": true, 505 + "os": [ 506 + "linux" 507 + ], 508 + "engines": { 509 + "node": ">=18" 510 + } 511 + }, 512 + "node_modules/@esbuild/linux-loong64": { 513 + "version": "0.25.5", 514 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", 515 + "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", 516 + "cpu": [ 517 + "loong64" 518 + ], 519 + "dev": true, 520 + "license": "MIT", 521 + "optional": true, 522 + "os": [ 523 + "linux" 524 + ], 525 + "engines": { 526 + "node": ">=18" 527 + } 528 + }, 529 + "node_modules/@esbuild/linux-mips64el": { 530 + "version": "0.25.5", 531 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", 532 + "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", 533 + "cpu": [ 534 + "mips64el" 535 + ], 536 + "dev": true, 537 + "license": "MIT", 538 + "optional": true, 539 + "os": [ 540 + "linux" 541 + ], 542 + "engines": { 543 + "node": ">=18" 544 + } 545 + }, 546 + "node_modules/@esbuild/linux-ppc64": { 547 + "version": "0.25.5", 548 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", 549 + "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", 550 + "cpu": [ 551 + "ppc64" 552 + ], 553 + "dev": true, 554 + "license": "MIT", 555 + "optional": true, 556 + "os": [ 557 + "linux" 558 + ], 559 + "engines": { 560 + "node": ">=18" 561 + } 562 + }, 563 + "node_modules/@esbuild/linux-riscv64": { 564 + "version": "0.25.5", 565 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", 566 + "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", 567 + "cpu": [ 568 + "riscv64" 569 + ], 570 + "dev": true, 571 + "license": "MIT", 572 + "optional": true, 573 + "os": [ 574 + "linux" 575 + ], 576 + "engines": { 577 + "node": ">=18" 578 + } 579 + }, 580 + "node_modules/@esbuild/linux-s390x": { 581 + "version": "0.25.5", 582 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", 583 + "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", 584 + "cpu": [ 585 + "s390x" 586 + ], 587 + "dev": true, 588 + "license": "MIT", 589 + "optional": true, 590 + "os": [ 591 + "linux" 592 + ], 593 + "engines": { 594 + "node": ">=18" 595 + } 596 + }, 597 + "node_modules/@esbuild/linux-x64": { 598 + "version": "0.25.5", 599 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", 600 + "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", 601 + "cpu": [ 602 + "x64" 603 + ], 604 + "dev": true, 605 + "license": "MIT", 606 + "optional": true, 607 + "os": [ 608 + "linux" 609 + ], 610 + "engines": { 611 + "node": ">=18" 612 + } 613 + }, 614 + "node_modules/@esbuild/netbsd-arm64": { 615 + "version": "0.25.5", 616 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", 617 + "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", 618 + "cpu": [ 619 + "arm64" 620 + ], 621 + "dev": true, 622 + "license": "MIT", 623 + "optional": true, 624 + "os": [ 625 + "netbsd" 626 + ], 627 + "engines": { 628 + "node": ">=18" 629 + } 630 + }, 631 + "node_modules/@esbuild/netbsd-x64": { 632 + "version": "0.25.5", 633 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", 634 + "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", 635 + "cpu": [ 636 + "x64" 637 + ], 638 + "dev": true, 639 + "license": "MIT", 640 + "optional": true, 641 + "os": [ 642 + "netbsd" 643 + ], 644 + "engines": { 645 + "node": ">=18" 646 + } 647 + }, 648 + "node_modules/@esbuild/openbsd-arm64": { 649 + "version": "0.25.5", 650 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", 651 + "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", 652 + "cpu": [ 653 + "arm64" 654 + ], 655 + "dev": true, 656 + "license": "MIT", 657 + "optional": true, 658 + "os": [ 659 + "openbsd" 660 + ], 661 + "engines": { 662 + "node": ">=18" 663 + } 664 + }, 665 + "node_modules/@esbuild/openbsd-x64": { 666 + "version": "0.25.5", 667 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", 668 + "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", 669 + "cpu": [ 670 + "x64" 671 + ], 672 + "dev": true, 673 + "license": "MIT", 674 + "optional": true, 675 + "os": [ 676 + "openbsd" 677 + ], 678 + "engines": { 679 + "node": ">=18" 680 + } 681 + }, 682 + "node_modules/@esbuild/sunos-x64": { 683 + "version": "0.25.5", 684 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", 685 + "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", 686 + "cpu": [ 687 + "x64" 688 + ], 689 + "dev": true, 690 + "license": "MIT", 691 + "optional": true, 692 + "os": [ 693 + "sunos" 694 + ], 695 + "engines": { 696 + "node": ">=18" 697 + } 698 + }, 699 + "node_modules/@esbuild/win32-arm64": { 700 + "version": "0.25.5", 701 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", 702 + "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", 703 + "cpu": [ 704 + "arm64" 705 + ], 706 + "dev": true, 707 + "license": "MIT", 708 + "optional": true, 709 + "os": [ 710 + "win32" 711 + ], 712 + "engines": { 713 + "node": ">=18" 714 + } 715 + }, 716 + "node_modules/@esbuild/win32-ia32": { 717 + "version": "0.25.5", 718 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", 719 + "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", 720 + "cpu": [ 721 + "ia32" 722 + ], 723 + "dev": true, 724 + "license": "MIT", 725 + "optional": true, 726 + "os": [ 727 + "win32" 728 + ], 729 + "engines": { 730 + "node": ">=18" 731 + } 732 + }, 733 + "node_modules/@esbuild/win32-x64": { 734 + "version": "0.25.5", 735 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", 736 + "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", 737 + "cpu": [ 738 + "x64" 739 + ], 740 + "dev": true, 741 + "license": "MIT", 742 + "optional": true, 743 + "os": [ 744 + "win32" 745 + ], 746 + "engines": { 747 + "node": ">=18" 748 + } 749 + }, 750 + "node_modules/@eslint-community/eslint-utils": { 751 + "version": "4.7.0", 752 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", 753 + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", 754 + "dev": true, 755 + "license": "MIT", 756 + "dependencies": { 757 + "eslint-visitor-keys": "^3.4.3" 758 + }, 759 + "engines": { 760 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 761 + }, 762 + "funding": { 763 + "url": "https://opencollective.com/eslint" 764 + }, 765 + "peerDependencies": { 766 + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 767 + } 768 + }, 769 + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { 770 + "version": "3.4.3", 771 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 772 + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 773 + "dev": true, 774 + "license": "Apache-2.0", 775 + "engines": { 776 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 777 + }, 778 + "funding": { 779 + "url": "https://opencollective.com/eslint" 780 + } 781 + }, 782 + "node_modules/@eslint-community/regexpp": { 783 + "version": "4.12.1", 784 + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", 785 + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", 786 + "dev": true, 787 + "license": "MIT", 788 + "engines": { 789 + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 790 + } 791 + }, 792 + "node_modules/@eslint/config-array": { 793 + "version": "0.20.1", 794 + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz", 795 + "integrity": "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==", 796 + "dev": true, 797 + "license": "Apache-2.0", 798 + "dependencies": { 799 + "@eslint/object-schema": "^2.1.6", 800 + "debug": "^4.3.1", 801 + "minimatch": "^3.1.2" 802 + }, 803 + "engines": { 804 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 805 + } 806 + }, 807 + "node_modules/@eslint/config-helpers": { 808 + "version": "0.2.3", 809 + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.3.tgz", 810 + "integrity": "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==", 811 + "dev": true, 812 + "license": "Apache-2.0", 813 + "engines": { 814 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 815 + } 816 + }, 817 + "node_modules/@eslint/core": { 818 + "version": "0.14.0", 819 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", 820 + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", 821 + "dev": true, 822 + "license": "Apache-2.0", 823 + "dependencies": { 824 + "@types/json-schema": "^7.0.15" 825 + }, 826 + "engines": { 827 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 828 + } 829 + }, 830 + "node_modules/@eslint/eslintrc": { 831 + "version": "3.3.1", 832 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", 833 + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", 834 + "dev": true, 835 + "license": "MIT", 836 + "dependencies": { 837 + "ajv": "^6.12.4", 838 + "debug": "^4.3.2", 839 + "espree": "^10.0.1", 840 + "globals": "^14.0.0", 841 + "ignore": "^5.2.0", 842 + "import-fresh": "^3.2.1", 843 + "js-yaml": "^4.1.0", 844 + "minimatch": "^3.1.2", 845 + "strip-json-comments": "^3.1.1" 846 + }, 847 + "engines": { 848 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 849 + }, 850 + "funding": { 851 + "url": "https://opencollective.com/eslint" 852 + } 853 + }, 854 + "node_modules/@eslint/eslintrc/node_modules/globals": { 855 + "version": "14.0.0", 856 + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 857 + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 858 + "dev": true, 859 + "license": "MIT", 860 + "engines": { 861 + "node": ">=18" 862 + }, 863 + "funding": { 864 + "url": "https://github.com/sponsors/sindresorhus" 865 + } 866 + }, 867 + "node_modules/@eslint/js": { 868 + "version": "9.29.0", 869 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz", 870 + "integrity": "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==", 871 + "dev": true, 872 + "license": "MIT", 873 + "engines": { 874 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 875 + }, 876 + "funding": { 877 + "url": "https://eslint.org/donate" 878 + } 879 + }, 880 + "node_modules/@eslint/object-schema": { 881 + "version": "2.1.6", 882 + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", 883 + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", 884 + "dev": true, 885 + "license": "Apache-2.0", 886 + "engines": { 887 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 888 + } 889 + }, 890 + "node_modules/@eslint/plugin-kit": { 891 + "version": "0.3.2", 892 + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz", 893 + "integrity": "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==", 894 + "dev": true, 895 + "license": "Apache-2.0", 896 + "dependencies": { 897 + "@eslint/core": "^0.15.0", 898 + "levn": "^0.4.1" 899 + }, 900 + "engines": { 901 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 902 + } 903 + }, 904 + "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { 905 + "version": "0.15.0", 906 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.0.tgz", 907 + "integrity": "sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==", 908 + "dev": true, 909 + "license": "Apache-2.0", 910 + "dependencies": { 911 + "@types/json-schema": "^7.0.15" 912 + }, 913 + "engines": { 914 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 915 + } 916 + }, 917 + "node_modules/@humanfs/core": { 918 + "version": "0.19.1", 919 + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", 920 + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", 921 + "dev": true, 922 + "license": "Apache-2.0", 923 + "engines": { 924 + "node": ">=18.18.0" 925 + } 926 + }, 927 + "node_modules/@humanfs/node": { 928 + "version": "0.16.6", 929 + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", 930 + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", 931 + "dev": true, 932 + "license": "Apache-2.0", 933 + "dependencies": { 934 + "@humanfs/core": "^0.19.1", 935 + "@humanwhocodes/retry": "^0.3.0" 936 + }, 937 + "engines": { 938 + "node": ">=18.18.0" 939 + } 940 + }, 941 + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { 942 + "version": "0.3.1", 943 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", 944 + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", 945 + "dev": true, 946 + "license": "Apache-2.0", 947 + "engines": { 948 + "node": ">=18.18" 949 + }, 950 + "funding": { 951 + "type": "github", 952 + "url": "https://github.com/sponsors/nzakas" 953 + } 954 + }, 955 + "node_modules/@humanwhocodes/module-importer": { 956 + "version": "1.0.1", 957 + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 958 + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 959 + "dev": true, 960 + "license": "Apache-2.0", 961 + "engines": { 962 + "node": ">=12.22" 963 + }, 964 + "funding": { 965 + "type": "github", 966 + "url": "https://github.com/sponsors/nzakas" 967 + } 968 + }, 969 + "node_modules/@humanwhocodes/retry": { 970 + "version": "0.4.3", 971 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", 972 + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", 973 + "dev": true, 974 + "license": "Apache-2.0", 975 + "engines": { 976 + "node": ">=18.18" 977 + }, 978 + "funding": { 979 + "type": "github", 980 + "url": "https://github.com/sponsors/nzakas" 981 + } 982 + }, 983 + "node_modules/@jridgewell/gen-mapping": { 984 + "version": "0.3.8", 985 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", 986 + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", 987 + "dev": true, 988 + "license": "MIT", 989 + "dependencies": { 990 + "@jridgewell/set-array": "^1.2.1", 991 + "@jridgewell/sourcemap-codec": "^1.4.10", 992 + "@jridgewell/trace-mapping": "^0.3.24" 993 + }, 994 + "engines": { 995 + "node": ">=6.0.0" 996 + } 997 + }, 998 + "node_modules/@jridgewell/resolve-uri": { 999 + "version": "3.1.2", 1000 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 1001 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 1002 + "dev": true, 1003 + "license": "MIT", 1004 + "engines": { 1005 + "node": ">=6.0.0" 1006 + } 1007 + }, 1008 + "node_modules/@jridgewell/set-array": { 1009 + "version": "1.2.1", 1010 + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 1011 + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 1012 + "dev": true, 1013 + "license": "MIT", 1014 + "engines": { 1015 + "node": ">=6.0.0" 1016 + } 1017 + }, 1018 + "node_modules/@jridgewell/sourcemap-codec": { 1019 + "version": "1.5.0", 1020 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 1021 + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 1022 + "dev": true, 1023 + "license": "MIT" 1024 + }, 1025 + "node_modules/@jridgewell/trace-mapping": { 1026 + "version": "0.3.25", 1027 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 1028 + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 1029 + "dev": true, 1030 + "license": "MIT", 1031 + "dependencies": { 1032 + "@jridgewell/resolve-uri": "^3.1.0", 1033 + "@jridgewell/sourcemap-codec": "^1.4.14" 1034 + } 1035 + }, 1036 + "node_modules/@nodelib/fs.scandir": { 1037 + "version": "2.1.5", 1038 + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1039 + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1040 + "dev": true, 1041 + "license": "MIT", 1042 + "dependencies": { 1043 + "@nodelib/fs.stat": "2.0.5", 1044 + "run-parallel": "^1.1.9" 1045 + }, 1046 + "engines": { 1047 + "node": ">= 8" 1048 + } 1049 + }, 1050 + "node_modules/@nodelib/fs.stat": { 1051 + "version": "2.0.5", 1052 + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1053 + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 1054 + "dev": true, 1055 + "license": "MIT", 1056 + "engines": { 1057 + "node": ">= 8" 1058 + } 1059 + }, 1060 + "node_modules/@nodelib/fs.walk": { 1061 + "version": "1.2.8", 1062 + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 1063 + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 1064 + "dev": true, 1065 + "license": "MIT", 1066 + "dependencies": { 1067 + "@nodelib/fs.scandir": "2.1.5", 1068 + "fastq": "^1.6.0" 1069 + }, 1070 + "engines": { 1071 + "node": ">= 8" 1072 + } 1073 + }, 1074 + "node_modules/@rolldown/pluginutils": { 1075 + "version": "1.0.0-beta.19", 1076 + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz", 1077 + "integrity": "sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==", 1078 + "dev": true, 1079 + "license": "MIT" 1080 + }, 1081 + "node_modules/@rollup/rollup-android-arm-eabi": { 1082 + "version": "4.44.0", 1083 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.0.tgz", 1084 + "integrity": "sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==", 1085 + "cpu": [ 1086 + "arm" 1087 + ], 1088 + "dev": true, 1089 + "license": "MIT", 1090 + "optional": true, 1091 + "os": [ 1092 + "android" 1093 + ] 1094 + }, 1095 + "node_modules/@rollup/rollup-android-arm64": { 1096 + "version": "4.44.0", 1097 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.0.tgz", 1098 + "integrity": "sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==", 1099 + "cpu": [ 1100 + "arm64" 1101 + ], 1102 + "dev": true, 1103 + "license": "MIT", 1104 + "optional": true, 1105 + "os": [ 1106 + "android" 1107 + ] 1108 + }, 1109 + "node_modules/@rollup/rollup-darwin-arm64": { 1110 + "version": "4.44.0", 1111 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.0.tgz", 1112 + "integrity": "sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==", 1113 + "cpu": [ 1114 + "arm64" 1115 + ], 1116 + "dev": true, 1117 + "license": "MIT", 1118 + "optional": true, 1119 + "os": [ 1120 + "darwin" 1121 + ] 1122 + }, 1123 + "node_modules/@rollup/rollup-darwin-x64": { 1124 + "version": "4.44.0", 1125 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.0.tgz", 1126 + "integrity": "sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==", 1127 + "cpu": [ 1128 + "x64" 1129 + ], 1130 + "dev": true, 1131 + "license": "MIT", 1132 + "optional": true, 1133 + "os": [ 1134 + "darwin" 1135 + ] 1136 + }, 1137 + "node_modules/@rollup/rollup-freebsd-arm64": { 1138 + "version": "4.44.0", 1139 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.0.tgz", 1140 + "integrity": "sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==", 1141 + "cpu": [ 1142 + "arm64" 1143 + ], 1144 + "dev": true, 1145 + "license": "MIT", 1146 + "optional": true, 1147 + "os": [ 1148 + "freebsd" 1149 + ] 1150 + }, 1151 + "node_modules/@rollup/rollup-freebsd-x64": { 1152 + "version": "4.44.0", 1153 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.0.tgz", 1154 + "integrity": "sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==", 1155 + "cpu": [ 1156 + "x64" 1157 + ], 1158 + "dev": true, 1159 + "license": "MIT", 1160 + "optional": true, 1161 + "os": [ 1162 + "freebsd" 1163 + ] 1164 + }, 1165 + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 1166 + "version": "4.44.0", 1167 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.0.tgz", 1168 + "integrity": "sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==", 1169 + "cpu": [ 1170 + "arm" 1171 + ], 1172 + "dev": true, 1173 + "license": "MIT", 1174 + "optional": true, 1175 + "os": [ 1176 + "linux" 1177 + ] 1178 + }, 1179 + "node_modules/@rollup/rollup-linux-arm-musleabihf": { 1180 + "version": "4.44.0", 1181 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.0.tgz", 1182 + "integrity": "sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==", 1183 + "cpu": [ 1184 + "arm" 1185 + ], 1186 + "dev": true, 1187 + "license": "MIT", 1188 + "optional": true, 1189 + "os": [ 1190 + "linux" 1191 + ] 1192 + }, 1193 + "node_modules/@rollup/rollup-linux-arm64-gnu": { 1194 + "version": "4.44.0", 1195 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.0.tgz", 1196 + "integrity": "sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==", 1197 + "cpu": [ 1198 + "arm64" 1199 + ], 1200 + "dev": true, 1201 + "license": "MIT", 1202 + "optional": true, 1203 + "os": [ 1204 + "linux" 1205 + ] 1206 + }, 1207 + "node_modules/@rollup/rollup-linux-arm64-musl": { 1208 + "version": "4.44.0", 1209 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.0.tgz", 1210 + "integrity": "sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==", 1211 + "cpu": [ 1212 + "arm64" 1213 + ], 1214 + "dev": true, 1215 + "license": "MIT", 1216 + "optional": true, 1217 + "os": [ 1218 + "linux" 1219 + ] 1220 + }, 1221 + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { 1222 + "version": "4.44.0", 1223 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.0.tgz", 1224 + "integrity": "sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==", 1225 + "cpu": [ 1226 + "loong64" 1227 + ], 1228 + "dev": true, 1229 + "license": "MIT", 1230 + "optional": true, 1231 + "os": [ 1232 + "linux" 1233 + ] 1234 + }, 1235 + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 1236 + "version": "4.44.0", 1237 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.0.tgz", 1238 + "integrity": "sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==", 1239 + "cpu": [ 1240 + "ppc64" 1241 + ], 1242 + "dev": true, 1243 + "license": "MIT", 1244 + "optional": true, 1245 + "os": [ 1246 + "linux" 1247 + ] 1248 + }, 1249 + "node_modules/@rollup/rollup-linux-riscv64-gnu": { 1250 + "version": "4.44.0", 1251 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.0.tgz", 1252 + "integrity": "sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==", 1253 + "cpu": [ 1254 + "riscv64" 1255 + ], 1256 + "dev": true, 1257 + "license": "MIT", 1258 + "optional": true, 1259 + "os": [ 1260 + "linux" 1261 + ] 1262 + }, 1263 + "node_modules/@rollup/rollup-linux-riscv64-musl": { 1264 + "version": "4.44.0", 1265 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.0.tgz", 1266 + "integrity": "sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==", 1267 + "cpu": [ 1268 + "riscv64" 1269 + ], 1270 + "dev": true, 1271 + "license": "MIT", 1272 + "optional": true, 1273 + "os": [ 1274 + "linux" 1275 + ] 1276 + }, 1277 + "node_modules/@rollup/rollup-linux-s390x-gnu": { 1278 + "version": "4.44.0", 1279 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.0.tgz", 1280 + "integrity": "sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==", 1281 + "cpu": [ 1282 + "s390x" 1283 + ], 1284 + "dev": true, 1285 + "license": "MIT", 1286 + "optional": true, 1287 + "os": [ 1288 + "linux" 1289 + ] 1290 + }, 1291 + "node_modules/@rollup/rollup-linux-x64-gnu": { 1292 + "version": "4.44.0", 1293 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.0.tgz", 1294 + "integrity": "sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==", 1295 + "cpu": [ 1296 + "x64" 1297 + ], 1298 + "dev": true, 1299 + "license": "MIT", 1300 + "optional": true, 1301 + "os": [ 1302 + "linux" 1303 + ] 1304 + }, 1305 + "node_modules/@rollup/rollup-linux-x64-musl": { 1306 + "version": "4.44.0", 1307 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.0.tgz", 1308 + "integrity": "sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==", 1309 + "cpu": [ 1310 + "x64" 1311 + ], 1312 + "dev": true, 1313 + "license": "MIT", 1314 + "optional": true, 1315 + "os": [ 1316 + "linux" 1317 + ] 1318 + }, 1319 + "node_modules/@rollup/rollup-win32-arm64-msvc": { 1320 + "version": "4.44.0", 1321 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.0.tgz", 1322 + "integrity": "sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==", 1323 + "cpu": [ 1324 + "arm64" 1325 + ], 1326 + "dev": true, 1327 + "license": "MIT", 1328 + "optional": true, 1329 + "os": [ 1330 + "win32" 1331 + ] 1332 + }, 1333 + "node_modules/@rollup/rollup-win32-ia32-msvc": { 1334 + "version": "4.44.0", 1335 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.0.tgz", 1336 + "integrity": "sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==", 1337 + "cpu": [ 1338 + "ia32" 1339 + ], 1340 + "dev": true, 1341 + "license": "MIT", 1342 + "optional": true, 1343 + "os": [ 1344 + "win32" 1345 + ] 1346 + }, 1347 + "node_modules/@rollup/rollup-win32-x64-msvc": { 1348 + "version": "4.44.0", 1349 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.0.tgz", 1350 + "integrity": "sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==", 1351 + "cpu": [ 1352 + "x64" 1353 + ], 1354 + "dev": true, 1355 + "license": "MIT", 1356 + "optional": true, 1357 + "os": [ 1358 + "win32" 1359 + ] 1360 + }, 1361 + "node_modules/@types/babel__core": { 1362 + "version": "7.20.5", 1363 + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", 1364 + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", 1365 + "dev": true, 1366 + "license": "MIT", 1367 + "dependencies": { 1368 + "@babel/parser": "^7.20.7", 1369 + "@babel/types": "^7.20.7", 1370 + "@types/babel__generator": "*", 1371 + "@types/babel__template": "*", 1372 + "@types/babel__traverse": "*" 1373 + } 1374 + }, 1375 + "node_modules/@types/babel__generator": { 1376 + "version": "7.27.0", 1377 + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", 1378 + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", 1379 + "dev": true, 1380 + "license": "MIT", 1381 + "dependencies": { 1382 + "@babel/types": "^7.0.0" 1383 + } 1384 + }, 1385 + "node_modules/@types/babel__template": { 1386 + "version": "7.4.4", 1387 + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", 1388 + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", 1389 + "dev": true, 1390 + "license": "MIT", 1391 + "dependencies": { 1392 + "@babel/parser": "^7.1.0", 1393 + "@babel/types": "^7.0.0" 1394 + } 1395 + }, 1396 + "node_modules/@types/babel__traverse": { 1397 + "version": "7.20.7", 1398 + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", 1399 + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", 1400 + "dev": true, 1401 + "license": "MIT", 1402 + "dependencies": { 1403 + "@babel/types": "^7.20.7" 1404 + } 1405 + }, 1406 + "node_modules/@types/estree": { 1407 + "version": "1.0.8", 1408 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", 1409 + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", 1410 + "dev": true, 1411 + "license": "MIT" 1412 + }, 1413 + "node_modules/@types/json-schema": { 1414 + "version": "7.0.15", 1415 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 1416 + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 1417 + "dev": true, 1418 + "license": "MIT" 1419 + }, 1420 + "node_modules/@types/react": { 1421 + "version": "19.1.8", 1422 + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.8.tgz", 1423 + "integrity": "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==", 1424 + "dev": true, 1425 + "license": "MIT", 1426 + "dependencies": { 1427 + "csstype": "^3.0.2" 1428 + } 1429 + }, 1430 + "node_modules/@types/react-dom": { 1431 + "version": "19.1.6", 1432 + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.6.tgz", 1433 + "integrity": "sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==", 1434 + "dev": true, 1435 + "license": "MIT", 1436 + "peerDependencies": { 1437 + "@types/react": "^19.0.0" 1438 + } 1439 + }, 1440 + "node_modules/@typescript-eslint/eslint-plugin": { 1441 + "version": "8.35.0", 1442 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.35.0.tgz", 1443 + "integrity": "sha512-ijItUYaiWuce0N1SoSMrEd0b6b6lYkYt99pqCPfybd+HKVXtEvYhICfLdwp42MhiI5mp0oq7PKEL+g1cNiz/Eg==", 1444 + "dev": true, 1445 + "license": "MIT", 1446 + "dependencies": { 1447 + "@eslint-community/regexpp": "^4.10.0", 1448 + "@typescript-eslint/scope-manager": "8.35.0", 1449 + "@typescript-eslint/type-utils": "8.35.0", 1450 + "@typescript-eslint/utils": "8.35.0", 1451 + "@typescript-eslint/visitor-keys": "8.35.0", 1452 + "graphemer": "^1.4.0", 1453 + "ignore": "^7.0.0", 1454 + "natural-compare": "^1.4.0", 1455 + "ts-api-utils": "^2.1.0" 1456 + }, 1457 + "engines": { 1458 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1459 + }, 1460 + "funding": { 1461 + "type": "opencollective", 1462 + "url": "https://opencollective.com/typescript-eslint" 1463 + }, 1464 + "peerDependencies": { 1465 + "@typescript-eslint/parser": "^8.35.0", 1466 + "eslint": "^8.57.0 || ^9.0.0", 1467 + "typescript": ">=4.8.4 <5.9.0" 1468 + } 1469 + }, 1470 + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { 1471 + "version": "7.0.5", 1472 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", 1473 + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", 1474 + "dev": true, 1475 + "license": "MIT", 1476 + "engines": { 1477 + "node": ">= 4" 1478 + } 1479 + }, 1480 + "node_modules/@typescript-eslint/parser": { 1481 + "version": "8.35.0", 1482 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.35.0.tgz", 1483 + "integrity": "sha512-6sMvZePQrnZH2/cJkwRpkT7DxoAWh+g6+GFRK6bV3YQo7ogi3SX5rgF6099r5Q53Ma5qeT7LGmOmuIutF4t3lA==", 1484 + "dev": true, 1485 + "license": "MIT", 1486 + "dependencies": { 1487 + "@typescript-eslint/scope-manager": "8.35.0", 1488 + "@typescript-eslint/types": "8.35.0", 1489 + "@typescript-eslint/typescript-estree": "8.35.0", 1490 + "@typescript-eslint/visitor-keys": "8.35.0", 1491 + "debug": "^4.3.4" 1492 + }, 1493 + "engines": { 1494 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1495 + }, 1496 + "funding": { 1497 + "type": "opencollective", 1498 + "url": "https://opencollective.com/typescript-eslint" 1499 + }, 1500 + "peerDependencies": { 1501 + "eslint": "^8.57.0 || ^9.0.0", 1502 + "typescript": ">=4.8.4 <5.9.0" 1503 + } 1504 + }, 1505 + "node_modules/@typescript-eslint/project-service": { 1506 + "version": "8.35.0", 1507 + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.35.0.tgz", 1508 + "integrity": "sha512-41xatqRwWZuhUMF/aZm2fcUsOFKNcG28xqRSS6ZVr9BVJtGExosLAm5A1OxTjRMagx8nJqva+P5zNIGt8RIgbQ==", 1509 + "dev": true, 1510 + "license": "MIT", 1511 + "dependencies": { 1512 + "@typescript-eslint/tsconfig-utils": "^8.35.0", 1513 + "@typescript-eslint/types": "^8.35.0", 1514 + "debug": "^4.3.4" 1515 + }, 1516 + "engines": { 1517 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1518 + }, 1519 + "funding": { 1520 + "type": "opencollective", 1521 + "url": "https://opencollective.com/typescript-eslint" 1522 + }, 1523 + "peerDependencies": { 1524 + "typescript": ">=4.8.4 <5.9.0" 1525 + } 1526 + }, 1527 + "node_modules/@typescript-eslint/scope-manager": { 1528 + "version": "8.35.0", 1529 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.35.0.tgz", 1530 + "integrity": "sha512-+AgL5+mcoLxl1vGjwNfiWq5fLDZM1TmTPYs2UkyHfFhgERxBbqHlNjRzhThJqz+ktBqTChRYY6zwbMwy0591AA==", 1531 + "dev": true, 1532 + "license": "MIT", 1533 + "dependencies": { 1534 + "@typescript-eslint/types": "8.35.0", 1535 + "@typescript-eslint/visitor-keys": "8.35.0" 1536 + }, 1537 + "engines": { 1538 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1539 + }, 1540 + "funding": { 1541 + "type": "opencollective", 1542 + "url": "https://opencollective.com/typescript-eslint" 1543 + } 1544 + }, 1545 + "node_modules/@typescript-eslint/tsconfig-utils": { 1546 + "version": "8.35.0", 1547 + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.35.0.tgz", 1548 + "integrity": "sha512-04k/7247kZzFraweuEirmvUj+W3bJLI9fX6fbo1Qm2YykuBvEhRTPl8tcxlYO8kZZW+HIXfkZNoasVb8EV4jpA==", 1549 + "dev": true, 1550 + "license": "MIT", 1551 + "engines": { 1552 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1553 + }, 1554 + "funding": { 1555 + "type": "opencollective", 1556 + "url": "https://opencollective.com/typescript-eslint" 1557 + }, 1558 + "peerDependencies": { 1559 + "typescript": ">=4.8.4 <5.9.0" 1560 + } 1561 + }, 1562 + "node_modules/@typescript-eslint/type-utils": { 1563 + "version": "8.35.0", 1564 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.35.0.tgz", 1565 + "integrity": "sha512-ceNNttjfmSEoM9PW87bWLDEIaLAyR+E6BoYJQ5PfaDau37UGca9Nyq3lBk8Bw2ad0AKvYabz6wxc7DMTO2jnNA==", 1566 + "dev": true, 1567 + "license": "MIT", 1568 + "dependencies": { 1569 + "@typescript-eslint/typescript-estree": "8.35.0", 1570 + "@typescript-eslint/utils": "8.35.0", 1571 + "debug": "^4.3.4", 1572 + "ts-api-utils": "^2.1.0" 1573 + }, 1574 + "engines": { 1575 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1576 + }, 1577 + "funding": { 1578 + "type": "opencollective", 1579 + "url": "https://opencollective.com/typescript-eslint" 1580 + }, 1581 + "peerDependencies": { 1582 + "eslint": "^8.57.0 || ^9.0.0", 1583 + "typescript": ">=4.8.4 <5.9.0" 1584 + } 1585 + }, 1586 + "node_modules/@typescript-eslint/types": { 1587 + "version": "8.35.0", 1588 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.35.0.tgz", 1589 + "integrity": "sha512-0mYH3emanku0vHw2aRLNGqe7EXh9WHEhi7kZzscrMDf6IIRUQ5Jk4wp1QrledE/36KtdZrVfKnE32eZCf/vaVQ==", 1590 + "dev": true, 1591 + "license": "MIT", 1592 + "engines": { 1593 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1594 + }, 1595 + "funding": { 1596 + "type": "opencollective", 1597 + "url": "https://opencollective.com/typescript-eslint" 1598 + } 1599 + }, 1600 + "node_modules/@typescript-eslint/typescript-estree": { 1601 + "version": "8.35.0", 1602 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.35.0.tgz", 1603 + "integrity": "sha512-F+BhnaBemgu1Qf8oHrxyw14wq6vbL8xwWKKMwTMwYIRmFFY/1n/9T/jpbobZL8vp7QyEUcC6xGrnAO4ua8Kp7w==", 1604 + "dev": true, 1605 + "license": "MIT", 1606 + "dependencies": { 1607 + "@typescript-eslint/project-service": "8.35.0", 1608 + "@typescript-eslint/tsconfig-utils": "8.35.0", 1609 + "@typescript-eslint/types": "8.35.0", 1610 + "@typescript-eslint/visitor-keys": "8.35.0", 1611 + "debug": "^4.3.4", 1612 + "fast-glob": "^3.3.2", 1613 + "is-glob": "^4.0.3", 1614 + "minimatch": "^9.0.4", 1615 + "semver": "^7.6.0", 1616 + "ts-api-utils": "^2.1.0" 1617 + }, 1618 + "engines": { 1619 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1620 + }, 1621 + "funding": { 1622 + "type": "opencollective", 1623 + "url": "https://opencollective.com/typescript-eslint" 1624 + }, 1625 + "peerDependencies": { 1626 + "typescript": ">=4.8.4 <5.9.0" 1627 + } 1628 + }, 1629 + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 1630 + "version": "2.0.2", 1631 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 1632 + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 1633 + "dev": true, 1634 + "license": "MIT", 1635 + "dependencies": { 1636 + "balanced-match": "^1.0.0" 1637 + } 1638 + }, 1639 + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { 1640 + "version": "9.0.5", 1641 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1642 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1643 + "dev": true, 1644 + "license": "ISC", 1645 + "dependencies": { 1646 + "brace-expansion": "^2.0.1" 1647 + }, 1648 + "engines": { 1649 + "node": ">=16 || 14 >=14.17" 1650 + }, 1651 + "funding": { 1652 + "url": "https://github.com/sponsors/isaacs" 1653 + } 1654 + }, 1655 + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { 1656 + "version": "7.7.2", 1657 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 1658 + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 1659 + "dev": true, 1660 + "license": "ISC", 1661 + "bin": { 1662 + "semver": "bin/semver.js" 1663 + }, 1664 + "engines": { 1665 + "node": ">=10" 1666 + } 1667 + }, 1668 + "node_modules/@typescript-eslint/utils": { 1669 + "version": "8.35.0", 1670 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.35.0.tgz", 1671 + "integrity": "sha512-nqoMu7WWM7ki5tPgLVsmPM8CkqtoPUG6xXGeefM5t4x3XumOEKMoUZPdi+7F+/EotukN4R9OWdmDxN80fqoZeg==", 1672 + "dev": true, 1673 + "license": "MIT", 1674 + "dependencies": { 1675 + "@eslint-community/eslint-utils": "^4.7.0", 1676 + "@typescript-eslint/scope-manager": "8.35.0", 1677 + "@typescript-eslint/types": "8.35.0", 1678 + "@typescript-eslint/typescript-estree": "8.35.0" 1679 + }, 1680 + "engines": { 1681 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1682 + }, 1683 + "funding": { 1684 + "type": "opencollective", 1685 + "url": "https://opencollective.com/typescript-eslint" 1686 + }, 1687 + "peerDependencies": { 1688 + "eslint": "^8.57.0 || ^9.0.0", 1689 + "typescript": ">=4.8.4 <5.9.0" 1690 + } 1691 + }, 1692 + "node_modules/@typescript-eslint/visitor-keys": { 1693 + "version": "8.35.0", 1694 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.35.0.tgz", 1695 + "integrity": "sha512-zTh2+1Y8ZpmeQaQVIc/ZZxsx8UzgKJyNg1PTvjzC7WMhPSVS8bfDX34k1SrwOf016qd5RU3az2UxUNue3IfQ5g==", 1696 + "dev": true, 1697 + "license": "MIT", 1698 + "dependencies": { 1699 + "@typescript-eslint/types": "8.35.0", 1700 + "eslint-visitor-keys": "^4.2.1" 1701 + }, 1702 + "engines": { 1703 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1704 + }, 1705 + "funding": { 1706 + "type": "opencollective", 1707 + "url": "https://opencollective.com/typescript-eslint" 1708 + } 1709 + }, 1710 + "node_modules/@uidotdev/usehooks": { 1711 + "version": "2.4.1", 1712 + "resolved": "https://registry.npmjs.org/@uidotdev/usehooks/-/usehooks-2.4.1.tgz", 1713 + "integrity": "sha512-1I+RwWyS+kdv3Mv0Vmc+p0dPYH0DTRAo04HLyXReYBL9AeseDWUJyi4THuksBJcu9F0Pih69Ak150VDnqbVnXg==", 1714 + "license": "MIT", 1715 + "engines": { 1716 + "node": ">=16" 1717 + }, 1718 + "peerDependencies": { 1719 + "react": ">=18.0.0", 1720 + "react-dom": ">=18.0.0" 1721 + } 1722 + }, 1723 + "node_modules/@vitejs/plugin-react": { 1724 + "version": "4.6.0", 1725 + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.6.0.tgz", 1726 + "integrity": "sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==", 1727 + "dev": true, 1728 + "license": "MIT", 1729 + "dependencies": { 1730 + "@babel/core": "^7.27.4", 1731 + "@babel/plugin-transform-react-jsx-self": "^7.27.1", 1732 + "@babel/plugin-transform-react-jsx-source": "^7.27.1", 1733 + "@rolldown/pluginutils": "1.0.0-beta.19", 1734 + "@types/babel__core": "^7.20.5", 1735 + "react-refresh": "^0.17.0" 1736 + }, 1737 + "engines": { 1738 + "node": "^14.18.0 || >=16.0.0" 1739 + }, 1740 + "peerDependencies": { 1741 + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" 1742 + } 1743 + }, 1744 + "node_modules/acorn": { 1745 + "version": "8.15.0", 1746 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 1747 + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 1748 + "dev": true, 1749 + "license": "MIT", 1750 + "bin": { 1751 + "acorn": "bin/acorn" 1752 + }, 1753 + "engines": { 1754 + "node": ">=0.4.0" 1755 + } 1756 + }, 1757 + "node_modules/acorn-jsx": { 1758 + "version": "5.3.2", 1759 + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 1760 + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 1761 + "dev": true, 1762 + "license": "MIT", 1763 + "peerDependencies": { 1764 + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 1765 + } 1766 + }, 1767 + "node_modules/ajv": { 1768 + "version": "6.12.6", 1769 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1770 + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1771 + "dev": true, 1772 + "license": "MIT", 1773 + "dependencies": { 1774 + "fast-deep-equal": "^3.1.1", 1775 + "fast-json-stable-stringify": "^2.0.0", 1776 + "json-schema-traverse": "^0.4.1", 1777 + "uri-js": "^4.2.2" 1778 + }, 1779 + "funding": { 1780 + "type": "github", 1781 + "url": "https://github.com/sponsors/epoberezkin" 1782 + } 1783 + }, 1784 + "node_modules/ansi-styles": { 1785 + "version": "4.3.0", 1786 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1787 + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1788 + "dev": true, 1789 + "license": "MIT", 1790 + "dependencies": { 1791 + "color-convert": "^2.0.1" 1792 + }, 1793 + "engines": { 1794 + "node": ">=8" 1795 + }, 1796 + "funding": { 1797 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1798 + } 1799 + }, 1800 + "node_modules/argparse": { 1801 + "version": "2.0.1", 1802 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1803 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 1804 + "dev": true, 1805 + "license": "Python-2.0" 1806 + }, 1807 + "node_modules/balanced-match": { 1808 + "version": "1.0.2", 1809 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1810 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1811 + "dev": true, 1812 + "license": "MIT" 1813 + }, 1814 + "node_modules/brace-expansion": { 1815 + "version": "1.1.12", 1816 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 1817 + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 1818 + "dev": true, 1819 + "license": "MIT", 1820 + "dependencies": { 1821 + "balanced-match": "^1.0.0", 1822 + "concat-map": "0.0.1" 1823 + } 1824 + }, 1825 + "node_modules/braces": { 1826 + "version": "3.0.3", 1827 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 1828 + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 1829 + "dev": true, 1830 + "license": "MIT", 1831 + "dependencies": { 1832 + "fill-range": "^7.1.1" 1833 + }, 1834 + "engines": { 1835 + "node": ">=8" 1836 + } 1837 + }, 1838 + "node_modules/browserslist": { 1839 + "version": "4.25.0", 1840 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", 1841 + "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", 1842 + "dev": true, 1843 + "funding": [ 1844 + { 1845 + "type": "opencollective", 1846 + "url": "https://opencollective.com/browserslist" 1847 + }, 1848 + { 1849 + "type": "tidelift", 1850 + "url": "https://tidelift.com/funding/github/npm/browserslist" 1851 + }, 1852 + { 1853 + "type": "github", 1854 + "url": "https://github.com/sponsors/ai" 1855 + } 1856 + ], 1857 + "license": "MIT", 1858 + "dependencies": { 1859 + "caniuse-lite": "^1.0.30001718", 1860 + "electron-to-chromium": "^1.5.160", 1861 + "node-releases": "^2.0.19", 1862 + "update-browserslist-db": "^1.1.3" 1863 + }, 1864 + "bin": { 1865 + "browserslist": "cli.js" 1866 + }, 1867 + "engines": { 1868 + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 1869 + } 1870 + }, 1871 + "node_modules/callsites": { 1872 + "version": "3.1.0", 1873 + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1874 + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1875 + "dev": true, 1876 + "license": "MIT", 1877 + "engines": { 1878 + "node": ">=6" 1879 + } 1880 + }, 1881 + "node_modules/caniuse-lite": { 1882 + "version": "1.0.30001724", 1883 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001724.tgz", 1884 + "integrity": "sha512-WqJo7p0TbHDOythNTqYujmaJTvtYRZrjpP8TCvH6Vb9CYJerJNKamKzIWOM4BkQatWj9H2lYulpdAQNBe7QhNA==", 1885 + "dev": true, 1886 + "funding": [ 1887 + { 1888 + "type": "opencollective", 1889 + "url": "https://opencollective.com/browserslist" 1890 + }, 1891 + { 1892 + "type": "tidelift", 1893 + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1894 + }, 1895 + { 1896 + "type": "github", 1897 + "url": "https://github.com/sponsors/ai" 1898 + } 1899 + ], 1900 + "license": "CC-BY-4.0" 1901 + }, 1902 + "node_modules/chalk": { 1903 + "version": "4.1.2", 1904 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1905 + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1906 + "dev": true, 1907 + "license": "MIT", 1908 + "dependencies": { 1909 + "ansi-styles": "^4.1.0", 1910 + "supports-color": "^7.1.0" 1911 + }, 1912 + "engines": { 1913 + "node": ">=10" 1914 + }, 1915 + "funding": { 1916 + "url": "https://github.com/chalk/chalk?sponsor=1" 1917 + } 1918 + }, 1919 + "node_modules/color-convert": { 1920 + "version": "2.0.1", 1921 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1922 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1923 + "dev": true, 1924 + "license": "MIT", 1925 + "dependencies": { 1926 + "color-name": "~1.1.4" 1927 + }, 1928 + "engines": { 1929 + "node": ">=7.0.0" 1930 + } 1931 + }, 1932 + "node_modules/color-name": { 1933 + "version": "1.1.4", 1934 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1935 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1936 + "dev": true, 1937 + "license": "MIT" 1938 + }, 1939 + "node_modules/concat-map": { 1940 + "version": "0.0.1", 1941 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1942 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1943 + "dev": true, 1944 + "license": "MIT" 1945 + }, 1946 + "node_modules/convert-source-map": { 1947 + "version": "2.0.0", 1948 + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 1949 + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 1950 + "dev": true, 1951 + "license": "MIT" 1952 + }, 1953 + "node_modules/cross-spawn": { 1954 + "version": "7.0.6", 1955 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 1956 + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 1957 + "dev": true, 1958 + "license": "MIT", 1959 + "dependencies": { 1960 + "path-key": "^3.1.0", 1961 + "shebang-command": "^2.0.0", 1962 + "which": "^2.0.1" 1963 + }, 1964 + "engines": { 1965 + "node": ">= 8" 1966 + } 1967 + }, 1968 + "node_modules/csstype": { 1969 + "version": "3.1.3", 1970 + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 1971 + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", 1972 + "dev": true, 1973 + "license": "MIT" 1974 + }, 1975 + "node_modules/debug": { 1976 + "version": "4.4.1", 1977 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 1978 + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 1979 + "dev": true, 1980 + "license": "MIT", 1981 + "dependencies": { 1982 + "ms": "^2.1.3" 1983 + }, 1984 + "engines": { 1985 + "node": ">=6.0" 1986 + }, 1987 + "peerDependenciesMeta": { 1988 + "supports-color": { 1989 + "optional": true 1990 + } 1991 + } 1992 + }, 1993 + "node_modules/deep-is": { 1994 + "version": "0.1.4", 1995 + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1996 + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 1997 + "dev": true, 1998 + "license": "MIT" 1999 + }, 2000 + "node_modules/electron-to-chromium": { 2001 + "version": "1.5.173", 2002 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.173.tgz", 2003 + "integrity": "sha512-2bFhXP2zqSfQHugjqJIDFVwa+qIxyNApenmXTp9EjaKtdPrES5Qcn9/aSFy/NaP2E+fWG/zxKu/LBvY36p5VNQ==", 2004 + "dev": true, 2005 + "license": "ISC" 2006 + }, 2007 + "node_modules/esbuild": { 2008 + "version": "0.25.5", 2009 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", 2010 + "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", 2011 + "dev": true, 2012 + "hasInstallScript": true, 2013 + "license": "MIT", 2014 + "bin": { 2015 + "esbuild": "bin/esbuild" 2016 + }, 2017 + "engines": { 2018 + "node": ">=18" 2019 + }, 2020 + "optionalDependencies": { 2021 + "@esbuild/aix-ppc64": "0.25.5", 2022 + "@esbuild/android-arm": "0.25.5", 2023 + "@esbuild/android-arm64": "0.25.5", 2024 + "@esbuild/android-x64": "0.25.5", 2025 + "@esbuild/darwin-arm64": "0.25.5", 2026 + "@esbuild/darwin-x64": "0.25.5", 2027 + "@esbuild/freebsd-arm64": "0.25.5", 2028 + "@esbuild/freebsd-x64": "0.25.5", 2029 + "@esbuild/linux-arm": "0.25.5", 2030 + "@esbuild/linux-arm64": "0.25.5", 2031 + "@esbuild/linux-ia32": "0.25.5", 2032 + "@esbuild/linux-loong64": "0.25.5", 2033 + "@esbuild/linux-mips64el": "0.25.5", 2034 + "@esbuild/linux-ppc64": "0.25.5", 2035 + "@esbuild/linux-riscv64": "0.25.5", 2036 + "@esbuild/linux-s390x": "0.25.5", 2037 + "@esbuild/linux-x64": "0.25.5", 2038 + "@esbuild/netbsd-arm64": "0.25.5", 2039 + "@esbuild/netbsd-x64": "0.25.5", 2040 + "@esbuild/openbsd-arm64": "0.25.5", 2041 + "@esbuild/openbsd-x64": "0.25.5", 2042 + "@esbuild/sunos-x64": "0.25.5", 2043 + "@esbuild/win32-arm64": "0.25.5", 2044 + "@esbuild/win32-ia32": "0.25.5", 2045 + "@esbuild/win32-x64": "0.25.5" 2046 + } 2047 + }, 2048 + "node_modules/escalade": { 2049 + "version": "3.2.0", 2050 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 2051 + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 2052 + "dev": true, 2053 + "license": "MIT", 2054 + "engines": { 2055 + "node": ">=6" 2056 + } 2057 + }, 2058 + "node_modules/escape-string-regexp": { 2059 + "version": "4.0.0", 2060 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 2061 + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 2062 + "dev": true, 2063 + "license": "MIT", 2064 + "engines": { 2065 + "node": ">=10" 2066 + }, 2067 + "funding": { 2068 + "url": "https://github.com/sponsors/sindresorhus" 2069 + } 2070 + }, 2071 + "node_modules/eslint": { 2072 + "version": "9.29.0", 2073 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz", 2074 + "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==", 2075 + "dev": true, 2076 + "license": "MIT", 2077 + "dependencies": { 2078 + "@eslint-community/eslint-utils": "^4.2.0", 2079 + "@eslint-community/regexpp": "^4.12.1", 2080 + "@eslint/config-array": "^0.20.1", 2081 + "@eslint/config-helpers": "^0.2.1", 2082 + "@eslint/core": "^0.14.0", 2083 + "@eslint/eslintrc": "^3.3.1", 2084 + "@eslint/js": "9.29.0", 2085 + "@eslint/plugin-kit": "^0.3.1", 2086 + "@humanfs/node": "^0.16.6", 2087 + "@humanwhocodes/module-importer": "^1.0.1", 2088 + "@humanwhocodes/retry": "^0.4.2", 2089 + "@types/estree": "^1.0.6", 2090 + "@types/json-schema": "^7.0.15", 2091 + "ajv": "^6.12.4", 2092 + "chalk": "^4.0.0", 2093 + "cross-spawn": "^7.0.6", 2094 + "debug": "^4.3.2", 2095 + "escape-string-regexp": "^4.0.0", 2096 + "eslint-scope": "^8.4.0", 2097 + "eslint-visitor-keys": "^4.2.1", 2098 + "espree": "^10.4.0", 2099 + "esquery": "^1.5.0", 2100 + "esutils": "^2.0.2", 2101 + "fast-deep-equal": "^3.1.3", 2102 + "file-entry-cache": "^8.0.0", 2103 + "find-up": "^5.0.0", 2104 + "glob-parent": "^6.0.2", 2105 + "ignore": "^5.2.0", 2106 + "imurmurhash": "^0.1.4", 2107 + "is-glob": "^4.0.0", 2108 + "json-stable-stringify-without-jsonify": "^1.0.1", 2109 + "lodash.merge": "^4.6.2", 2110 + "minimatch": "^3.1.2", 2111 + "natural-compare": "^1.4.0", 2112 + "optionator": "^0.9.3" 2113 + }, 2114 + "bin": { 2115 + "eslint": "bin/eslint.js" 2116 + }, 2117 + "engines": { 2118 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2119 + }, 2120 + "funding": { 2121 + "url": "https://eslint.org/donate" 2122 + }, 2123 + "peerDependencies": { 2124 + "jiti": "*" 2125 + }, 2126 + "peerDependenciesMeta": { 2127 + "jiti": { 2128 + "optional": true 2129 + } 2130 + } 2131 + }, 2132 + "node_modules/eslint-plugin-react-hooks": { 2133 + "version": "5.2.0", 2134 + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", 2135 + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", 2136 + "dev": true, 2137 + "license": "MIT", 2138 + "engines": { 2139 + "node": ">=10" 2140 + }, 2141 + "peerDependencies": { 2142 + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" 2143 + } 2144 + }, 2145 + "node_modules/eslint-plugin-react-refresh": { 2146 + "version": "0.4.20", 2147 + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz", 2148 + "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==", 2149 + "dev": true, 2150 + "license": "MIT", 2151 + "peerDependencies": { 2152 + "eslint": ">=8.40" 2153 + } 2154 + }, 2155 + "node_modules/eslint-scope": { 2156 + "version": "8.4.0", 2157 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", 2158 + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", 2159 + "dev": true, 2160 + "license": "BSD-2-Clause", 2161 + "dependencies": { 2162 + "esrecurse": "^4.3.0", 2163 + "estraverse": "^5.2.0" 2164 + }, 2165 + "engines": { 2166 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2167 + }, 2168 + "funding": { 2169 + "url": "https://opencollective.com/eslint" 2170 + } 2171 + }, 2172 + "node_modules/eslint-visitor-keys": { 2173 + "version": "4.2.1", 2174 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 2175 + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 2176 + "dev": true, 2177 + "license": "Apache-2.0", 2178 + "engines": { 2179 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2180 + }, 2181 + "funding": { 2182 + "url": "https://opencollective.com/eslint" 2183 + } 2184 + }, 2185 + "node_modules/espree": { 2186 + "version": "10.4.0", 2187 + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", 2188 + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", 2189 + "dev": true, 2190 + "license": "BSD-2-Clause", 2191 + "dependencies": { 2192 + "acorn": "^8.15.0", 2193 + "acorn-jsx": "^5.3.2", 2194 + "eslint-visitor-keys": "^4.2.1" 2195 + }, 2196 + "engines": { 2197 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2198 + }, 2199 + "funding": { 2200 + "url": "https://opencollective.com/eslint" 2201 + } 2202 + }, 2203 + "node_modules/esquery": { 2204 + "version": "1.6.0", 2205 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", 2206 + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", 2207 + "dev": true, 2208 + "license": "BSD-3-Clause", 2209 + "dependencies": { 2210 + "estraverse": "^5.1.0" 2211 + }, 2212 + "engines": { 2213 + "node": ">=0.10" 2214 + } 2215 + }, 2216 + "node_modules/esrecurse": { 2217 + "version": "4.3.0", 2218 + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2219 + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2220 + "dev": true, 2221 + "license": "BSD-2-Clause", 2222 + "dependencies": { 2223 + "estraverse": "^5.2.0" 2224 + }, 2225 + "engines": { 2226 + "node": ">=4.0" 2227 + } 2228 + }, 2229 + "node_modules/estraverse": { 2230 + "version": "5.3.0", 2231 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2232 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2233 + "dev": true, 2234 + "license": "BSD-2-Clause", 2235 + "engines": { 2236 + "node": ">=4.0" 2237 + } 2238 + }, 2239 + "node_modules/esutils": { 2240 + "version": "2.0.3", 2241 + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2242 + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2243 + "dev": true, 2244 + "license": "BSD-2-Clause", 2245 + "engines": { 2246 + "node": ">=0.10.0" 2247 + } 2248 + }, 2249 + "node_modules/fast-deep-equal": { 2250 + "version": "3.1.3", 2251 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2252 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2253 + "dev": true, 2254 + "license": "MIT" 2255 + }, 2256 + "node_modules/fast-glob": { 2257 + "version": "3.3.3", 2258 + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", 2259 + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", 2260 + "dev": true, 2261 + "license": "MIT", 2262 + "dependencies": { 2263 + "@nodelib/fs.stat": "^2.0.2", 2264 + "@nodelib/fs.walk": "^1.2.3", 2265 + "glob-parent": "^5.1.2", 2266 + "merge2": "^1.3.0", 2267 + "micromatch": "^4.0.8" 2268 + }, 2269 + "engines": { 2270 + "node": ">=8.6.0" 2271 + } 2272 + }, 2273 + "node_modules/fast-glob/node_modules/glob-parent": { 2274 + "version": "5.1.2", 2275 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2276 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2277 + "dev": true, 2278 + "license": "ISC", 2279 + "dependencies": { 2280 + "is-glob": "^4.0.1" 2281 + }, 2282 + "engines": { 2283 + "node": ">= 6" 2284 + } 2285 + }, 2286 + "node_modules/fast-json-stable-stringify": { 2287 + "version": "2.1.0", 2288 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 2289 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 2290 + "dev": true, 2291 + "license": "MIT" 2292 + }, 2293 + "node_modules/fast-levenshtein": { 2294 + "version": "2.0.6", 2295 + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2296 + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 2297 + "dev": true, 2298 + "license": "MIT" 2299 + }, 2300 + "node_modules/fastq": { 2301 + "version": "1.19.1", 2302 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", 2303 + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", 2304 + "dev": true, 2305 + "license": "ISC", 2306 + "dependencies": { 2307 + "reusify": "^1.0.4" 2308 + } 2309 + }, 2310 + "node_modules/file-entry-cache": { 2311 + "version": "8.0.0", 2312 + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", 2313 + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", 2314 + "dev": true, 2315 + "license": "MIT", 2316 + "dependencies": { 2317 + "flat-cache": "^4.0.0" 2318 + }, 2319 + "engines": { 2320 + "node": ">=16.0.0" 2321 + } 2322 + }, 2323 + "node_modules/fill-range": { 2324 + "version": "7.1.1", 2325 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 2326 + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 2327 + "dev": true, 2328 + "license": "MIT", 2329 + "dependencies": { 2330 + "to-regex-range": "^5.0.1" 2331 + }, 2332 + "engines": { 2333 + "node": ">=8" 2334 + } 2335 + }, 2336 + "node_modules/find-up": { 2337 + "version": "5.0.0", 2338 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 2339 + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 2340 + "dev": true, 2341 + "license": "MIT", 2342 + "dependencies": { 2343 + "locate-path": "^6.0.0", 2344 + "path-exists": "^4.0.0" 2345 + }, 2346 + "engines": { 2347 + "node": ">=10" 2348 + }, 2349 + "funding": { 2350 + "url": "https://github.com/sponsors/sindresorhus" 2351 + } 2352 + }, 2353 + "node_modules/flat-cache": { 2354 + "version": "4.0.1", 2355 + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", 2356 + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", 2357 + "dev": true, 2358 + "license": "MIT", 2359 + "dependencies": { 2360 + "flatted": "^3.2.9", 2361 + "keyv": "^4.5.4" 2362 + }, 2363 + "engines": { 2364 + "node": ">=16" 2365 + } 2366 + }, 2367 + "node_modules/flatted": { 2368 + "version": "3.3.3", 2369 + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", 2370 + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", 2371 + "dev": true, 2372 + "license": "ISC" 2373 + }, 2374 + "node_modules/fsevents": { 2375 + "version": "2.3.3", 2376 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 2377 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 2378 + "dev": true, 2379 + "hasInstallScript": true, 2380 + "license": "MIT", 2381 + "optional": true, 2382 + "os": [ 2383 + "darwin" 2384 + ], 2385 + "engines": { 2386 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2387 + } 2388 + }, 2389 + "node_modules/gensync": { 2390 + "version": "1.0.0-beta.2", 2391 + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 2392 + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 2393 + "dev": true, 2394 + "license": "MIT", 2395 + "engines": { 2396 + "node": ">=6.9.0" 2397 + } 2398 + }, 2399 + "node_modules/glob-parent": { 2400 + "version": "6.0.2", 2401 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2402 + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2403 + "dev": true, 2404 + "license": "ISC", 2405 + "dependencies": { 2406 + "is-glob": "^4.0.3" 2407 + }, 2408 + "engines": { 2409 + "node": ">=10.13.0" 2410 + } 2411 + }, 2412 + "node_modules/globals": { 2413 + "version": "16.2.0", 2414 + "resolved": "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz", 2415 + "integrity": "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==", 2416 + "dev": true, 2417 + "license": "MIT", 2418 + "engines": { 2419 + "node": ">=18" 2420 + }, 2421 + "funding": { 2422 + "url": "https://github.com/sponsors/sindresorhus" 2423 + } 2424 + }, 2425 + "node_modules/graphemer": { 2426 + "version": "1.4.0", 2427 + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 2428 + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 2429 + "dev": true, 2430 + "license": "MIT" 2431 + }, 2432 + "node_modules/has-flag": { 2433 + "version": "4.0.0", 2434 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2435 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2436 + "dev": true, 2437 + "license": "MIT", 2438 + "engines": { 2439 + "node": ">=8" 2440 + } 2441 + }, 2442 + "node_modules/ignore": { 2443 + "version": "5.3.2", 2444 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", 2445 + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", 2446 + "dev": true, 2447 + "license": "MIT", 2448 + "engines": { 2449 + "node": ">= 4" 2450 + } 2451 + }, 2452 + "node_modules/import-fresh": { 2453 + "version": "3.3.1", 2454 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", 2455 + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", 2456 + "dev": true, 2457 + "license": "MIT", 2458 + "dependencies": { 2459 + "parent-module": "^1.0.0", 2460 + "resolve-from": "^4.0.0" 2461 + }, 2462 + "engines": { 2463 + "node": ">=6" 2464 + }, 2465 + "funding": { 2466 + "url": "https://github.com/sponsors/sindresorhus" 2467 + } 2468 + }, 2469 + "node_modules/imurmurhash": { 2470 + "version": "0.1.4", 2471 + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2472 + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 2473 + "dev": true, 2474 + "license": "MIT", 2475 + "engines": { 2476 + "node": ">=0.8.19" 2477 + } 2478 + }, 2479 + "node_modules/is-extglob": { 2480 + "version": "2.1.1", 2481 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2482 + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2483 + "dev": true, 2484 + "license": "MIT", 2485 + "engines": { 2486 + "node": ">=0.10.0" 2487 + } 2488 + }, 2489 + "node_modules/is-glob": { 2490 + "version": "4.0.3", 2491 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2492 + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2493 + "dev": true, 2494 + "license": "MIT", 2495 + "dependencies": { 2496 + "is-extglob": "^2.1.1" 2497 + }, 2498 + "engines": { 2499 + "node": ">=0.10.0" 2500 + } 2501 + }, 2502 + "node_modules/is-number": { 2503 + "version": "7.0.0", 2504 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2505 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2506 + "dev": true, 2507 + "license": "MIT", 2508 + "engines": { 2509 + "node": ">=0.12.0" 2510 + } 2511 + }, 2512 + "node_modules/isexe": { 2513 + "version": "2.0.0", 2514 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2515 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 2516 + "dev": true, 2517 + "license": "ISC" 2518 + }, 2519 + "node_modules/js-tokens": { 2520 + "version": "4.0.0", 2521 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2522 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 2523 + "dev": true, 2524 + "license": "MIT" 2525 + }, 2526 + "node_modules/js-yaml": { 2527 + "version": "4.1.0", 2528 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 2529 + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 2530 + "dev": true, 2531 + "license": "MIT", 2532 + "dependencies": { 2533 + "argparse": "^2.0.1" 2534 + }, 2535 + "bin": { 2536 + "js-yaml": "bin/js-yaml.js" 2537 + } 2538 + }, 2539 + "node_modules/jsesc": { 2540 + "version": "3.1.0", 2541 + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", 2542 + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", 2543 + "dev": true, 2544 + "license": "MIT", 2545 + "bin": { 2546 + "jsesc": "bin/jsesc" 2547 + }, 2548 + "engines": { 2549 + "node": ">=6" 2550 + } 2551 + }, 2552 + "node_modules/json-buffer": { 2553 + "version": "3.0.1", 2554 + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 2555 + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 2556 + "dev": true, 2557 + "license": "MIT" 2558 + }, 2559 + "node_modules/json-schema-traverse": { 2560 + "version": "0.4.1", 2561 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2562 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2563 + "dev": true, 2564 + "license": "MIT" 2565 + }, 2566 + "node_modules/json-stable-stringify-without-jsonify": { 2567 + "version": "1.0.1", 2568 + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2569 + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 2570 + "dev": true, 2571 + "license": "MIT" 2572 + }, 2573 + "node_modules/json5": { 2574 + "version": "2.2.3", 2575 + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 2576 + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 2577 + "dev": true, 2578 + "license": "MIT", 2579 + "bin": { 2580 + "json5": "lib/cli.js" 2581 + }, 2582 + "engines": { 2583 + "node": ">=6" 2584 + } 2585 + }, 2586 + "node_modules/keyv": { 2587 + "version": "4.5.4", 2588 + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 2589 + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 2590 + "dev": true, 2591 + "license": "MIT", 2592 + "dependencies": { 2593 + "json-buffer": "3.0.1" 2594 + } 2595 + }, 2596 + "node_modules/levn": { 2597 + "version": "0.4.1", 2598 + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 2599 + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 2600 + "dev": true, 2601 + "license": "MIT", 2602 + "dependencies": { 2603 + "prelude-ls": "^1.2.1", 2604 + "type-check": "~0.4.0" 2605 + }, 2606 + "engines": { 2607 + "node": ">= 0.8.0" 2608 + } 2609 + }, 2610 + "node_modules/locate-path": { 2611 + "version": "6.0.0", 2612 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 2613 + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 2614 + "dev": true, 2615 + "license": "MIT", 2616 + "dependencies": { 2617 + "p-locate": "^5.0.0" 2618 + }, 2619 + "engines": { 2620 + "node": ">=10" 2621 + }, 2622 + "funding": { 2623 + "url": "https://github.com/sponsors/sindresorhus" 2624 + } 2625 + }, 2626 + "node_modules/lodash.merge": { 2627 + "version": "4.6.2", 2628 + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 2629 + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 2630 + "dev": true, 2631 + "license": "MIT" 2632 + }, 2633 + "node_modules/lru-cache": { 2634 + "version": "5.1.1", 2635 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 2636 + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 2637 + "dev": true, 2638 + "license": "ISC", 2639 + "dependencies": { 2640 + "yallist": "^3.0.2" 2641 + } 2642 + }, 2643 + "node_modules/merge2": { 2644 + "version": "1.4.1", 2645 + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2646 + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 2647 + "dev": true, 2648 + "license": "MIT", 2649 + "engines": { 2650 + "node": ">= 8" 2651 + } 2652 + }, 2653 + "node_modules/micromatch": { 2654 + "version": "4.0.8", 2655 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 2656 + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 2657 + "dev": true, 2658 + "license": "MIT", 2659 + "dependencies": { 2660 + "braces": "^3.0.3", 2661 + "picomatch": "^2.3.1" 2662 + }, 2663 + "engines": { 2664 + "node": ">=8.6" 2665 + } 2666 + }, 2667 + "node_modules/minimatch": { 2668 + "version": "3.1.2", 2669 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2670 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2671 + "dev": true, 2672 + "license": "ISC", 2673 + "dependencies": { 2674 + "brace-expansion": "^1.1.7" 2675 + }, 2676 + "engines": { 2677 + "node": "*" 2678 + } 2679 + }, 2680 + "node_modules/ms": { 2681 + "version": "2.1.3", 2682 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 2683 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 2684 + "dev": true, 2685 + "license": "MIT" 2686 + }, 2687 + "node_modules/nanoid": { 2688 + "version": "3.3.11", 2689 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 2690 + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 2691 + "dev": true, 2692 + "funding": [ 2693 + { 2694 + "type": "github", 2695 + "url": "https://github.com/sponsors/ai" 2696 + } 2697 + ], 2698 + "license": "MIT", 2699 + "bin": { 2700 + "nanoid": "bin/nanoid.cjs" 2701 + }, 2702 + "engines": { 2703 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 2704 + } 2705 + }, 2706 + "node_modules/natural-compare": { 2707 + "version": "1.4.0", 2708 + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2709 + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 2710 + "dev": true, 2711 + "license": "MIT" 2712 + }, 2713 + "node_modules/node-releases": { 2714 + "version": "2.0.19", 2715 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", 2716 + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", 2717 + "dev": true, 2718 + "license": "MIT" 2719 + }, 2720 + "node_modules/optionator": { 2721 + "version": "0.9.4", 2722 + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", 2723 + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", 2724 + "dev": true, 2725 + "license": "MIT", 2726 + "dependencies": { 2727 + "deep-is": "^0.1.3", 2728 + "fast-levenshtein": "^2.0.6", 2729 + "levn": "^0.4.1", 2730 + "prelude-ls": "^1.2.1", 2731 + "type-check": "^0.4.0", 2732 + "word-wrap": "^1.2.5" 2733 + }, 2734 + "engines": { 2735 + "node": ">= 0.8.0" 2736 + } 2737 + }, 2738 + "node_modules/p-limit": { 2739 + "version": "3.1.0", 2740 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 2741 + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 2742 + "dev": true, 2743 + "license": "MIT", 2744 + "dependencies": { 2745 + "yocto-queue": "^0.1.0" 2746 + }, 2747 + "engines": { 2748 + "node": ">=10" 2749 + }, 2750 + "funding": { 2751 + "url": "https://github.com/sponsors/sindresorhus" 2752 + } 2753 + }, 2754 + "node_modules/p-locate": { 2755 + "version": "5.0.0", 2756 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 2757 + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 2758 + "dev": true, 2759 + "license": "MIT", 2760 + "dependencies": { 2761 + "p-limit": "^3.0.2" 2762 + }, 2763 + "engines": { 2764 + "node": ">=10" 2765 + }, 2766 + "funding": { 2767 + "url": "https://github.com/sponsors/sindresorhus" 2768 + } 2769 + }, 2770 + "node_modules/parent-module": { 2771 + "version": "1.0.1", 2772 + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 2773 + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 2774 + "dev": true, 2775 + "license": "MIT", 2776 + "dependencies": { 2777 + "callsites": "^3.0.0" 2778 + }, 2779 + "engines": { 2780 + "node": ">=6" 2781 + } 2782 + }, 2783 + "node_modules/path-exists": { 2784 + "version": "4.0.0", 2785 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 2786 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 2787 + "dev": true, 2788 + "license": "MIT", 2789 + "engines": { 2790 + "node": ">=8" 2791 + } 2792 + }, 2793 + "node_modules/path-key": { 2794 + "version": "3.1.1", 2795 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2796 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2797 + "dev": true, 2798 + "license": "MIT", 2799 + "engines": { 2800 + "node": ">=8" 2801 + } 2802 + }, 2803 + "node_modules/picocolors": { 2804 + "version": "1.1.1", 2805 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 2806 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 2807 + "dev": true, 2808 + "license": "ISC" 2809 + }, 2810 + "node_modules/picomatch": { 2811 + "version": "2.3.1", 2812 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2813 + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2814 + "dev": true, 2815 + "license": "MIT", 2816 + "engines": { 2817 + "node": ">=8.6" 2818 + }, 2819 + "funding": { 2820 + "url": "https://github.com/sponsors/jonschlinkert" 2821 + } 2822 + }, 2823 + "node_modules/postcss": { 2824 + "version": "8.5.6", 2825 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", 2826 + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", 2827 + "dev": true, 2828 + "funding": [ 2829 + { 2830 + "type": "opencollective", 2831 + "url": "https://opencollective.com/postcss/" 2832 + }, 2833 + { 2834 + "type": "tidelift", 2835 + "url": "https://tidelift.com/funding/github/npm/postcss" 2836 + }, 2837 + { 2838 + "type": "github", 2839 + "url": "https://github.com/sponsors/ai" 2840 + } 2841 + ], 2842 + "license": "MIT", 2843 + "dependencies": { 2844 + "nanoid": "^3.3.11", 2845 + "picocolors": "^1.1.1", 2846 + "source-map-js": "^1.2.1" 2847 + }, 2848 + "engines": { 2849 + "node": "^10 || ^12 || >=14" 2850 + } 2851 + }, 2852 + "node_modules/prelude-ls": { 2853 + "version": "1.2.1", 2854 + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 2855 + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 2856 + "dev": true, 2857 + "license": "MIT", 2858 + "engines": { 2859 + "node": ">= 0.8.0" 2860 + } 2861 + }, 2862 + "node_modules/punycode": { 2863 + "version": "2.3.1", 2864 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 2865 + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 2866 + "dev": true, 2867 + "license": "MIT", 2868 + "engines": { 2869 + "node": ">=6" 2870 + } 2871 + }, 2872 + "node_modules/queue-microtask": { 2873 + "version": "1.2.3", 2874 + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2875 + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 2876 + "dev": true, 2877 + "funding": [ 2878 + { 2879 + "type": "github", 2880 + "url": "https://github.com/sponsors/feross" 2881 + }, 2882 + { 2883 + "type": "patreon", 2884 + "url": "https://www.patreon.com/feross" 2885 + }, 2886 + { 2887 + "type": "consulting", 2888 + "url": "https://feross.org/support" 2889 + } 2890 + ], 2891 + "license": "MIT" 2892 + }, 2893 + "node_modules/react": { 2894 + "version": "19.1.0", 2895 + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", 2896 + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", 2897 + "license": "MIT", 2898 + "engines": { 2899 + "node": ">=0.10.0" 2900 + } 2901 + }, 2902 + "node_modules/react-dom": { 2903 + "version": "19.1.0", 2904 + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", 2905 + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", 2906 + "license": "MIT", 2907 + "dependencies": { 2908 + "scheduler": "^0.26.0" 2909 + }, 2910 + "peerDependencies": { 2911 + "react": "^19.1.0" 2912 + } 2913 + }, 2914 + "node_modules/react-refresh": { 2915 + "version": "0.17.0", 2916 + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", 2917 + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", 2918 + "dev": true, 2919 + "license": "MIT", 2920 + "engines": { 2921 + "node": ">=0.10.0" 2922 + } 2923 + }, 2924 + "node_modules/resolve-from": { 2925 + "version": "4.0.0", 2926 + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2927 + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2928 + "dev": true, 2929 + "license": "MIT", 2930 + "engines": { 2931 + "node": ">=4" 2932 + } 2933 + }, 2934 + "node_modules/reusify": { 2935 + "version": "1.1.0", 2936 + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", 2937 + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", 2938 + "dev": true, 2939 + "license": "MIT", 2940 + "engines": { 2941 + "iojs": ">=1.0.0", 2942 + "node": ">=0.10.0" 2943 + } 2944 + }, 2945 + "node_modules/rollup": { 2946 + "version": "4.44.0", 2947 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.0.tgz", 2948 + "integrity": "sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==", 2949 + "dev": true, 2950 + "license": "MIT", 2951 + "dependencies": { 2952 + "@types/estree": "1.0.8" 2953 + }, 2954 + "bin": { 2955 + "rollup": "dist/bin/rollup" 2956 + }, 2957 + "engines": { 2958 + "node": ">=18.0.0", 2959 + "npm": ">=8.0.0" 2960 + }, 2961 + "optionalDependencies": { 2962 + "@rollup/rollup-android-arm-eabi": "4.44.0", 2963 + "@rollup/rollup-android-arm64": "4.44.0", 2964 + "@rollup/rollup-darwin-arm64": "4.44.0", 2965 + "@rollup/rollup-darwin-x64": "4.44.0", 2966 + "@rollup/rollup-freebsd-arm64": "4.44.0", 2967 + "@rollup/rollup-freebsd-x64": "4.44.0", 2968 + "@rollup/rollup-linux-arm-gnueabihf": "4.44.0", 2969 + "@rollup/rollup-linux-arm-musleabihf": "4.44.0", 2970 + "@rollup/rollup-linux-arm64-gnu": "4.44.0", 2971 + "@rollup/rollup-linux-arm64-musl": "4.44.0", 2972 + "@rollup/rollup-linux-loongarch64-gnu": "4.44.0", 2973 + "@rollup/rollup-linux-powerpc64le-gnu": "4.44.0", 2974 + "@rollup/rollup-linux-riscv64-gnu": "4.44.0", 2975 + "@rollup/rollup-linux-riscv64-musl": "4.44.0", 2976 + "@rollup/rollup-linux-s390x-gnu": "4.44.0", 2977 + "@rollup/rollup-linux-x64-gnu": "4.44.0", 2978 + "@rollup/rollup-linux-x64-musl": "4.44.0", 2979 + "@rollup/rollup-win32-arm64-msvc": "4.44.0", 2980 + "@rollup/rollup-win32-ia32-msvc": "4.44.0", 2981 + "@rollup/rollup-win32-x64-msvc": "4.44.0", 2982 + "fsevents": "~2.3.2" 2983 + } 2984 + }, 2985 + "node_modules/run-parallel": { 2986 + "version": "1.2.0", 2987 + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2988 + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2989 + "dev": true, 2990 + "funding": [ 2991 + { 2992 + "type": "github", 2993 + "url": "https://github.com/sponsors/feross" 2994 + }, 2995 + { 2996 + "type": "patreon", 2997 + "url": "https://www.patreon.com/feross" 2998 + }, 2999 + { 3000 + "type": "consulting", 3001 + "url": "https://feross.org/support" 3002 + } 3003 + ], 3004 + "license": "MIT", 3005 + "dependencies": { 3006 + "queue-microtask": "^1.2.2" 3007 + } 3008 + }, 3009 + "node_modules/scheduler": { 3010 + "version": "0.26.0", 3011 + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", 3012 + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", 3013 + "license": "MIT" 3014 + }, 3015 + "node_modules/semver": { 3016 + "version": "6.3.1", 3017 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 3018 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 3019 + "dev": true, 3020 + "license": "ISC", 3021 + "bin": { 3022 + "semver": "bin/semver.js" 3023 + } 3024 + }, 3025 + "node_modules/shebang-command": { 3026 + "version": "2.0.0", 3027 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3028 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3029 + "dev": true, 3030 + "license": "MIT", 3031 + "dependencies": { 3032 + "shebang-regex": "^3.0.0" 3033 + }, 3034 + "engines": { 3035 + "node": ">=8" 3036 + } 3037 + }, 3038 + "node_modules/shebang-regex": { 3039 + "version": "3.0.0", 3040 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3041 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3042 + "dev": true, 3043 + "license": "MIT", 3044 + "engines": { 3045 + "node": ">=8" 3046 + } 3047 + }, 3048 + "node_modules/source-map-js": { 3049 + "version": "1.2.1", 3050 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 3051 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 3052 + "dev": true, 3053 + "license": "BSD-3-Clause", 3054 + "engines": { 3055 + "node": ">=0.10.0" 3056 + } 3057 + }, 3058 + "node_modules/strip-json-comments": { 3059 + "version": "3.1.1", 3060 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 3061 + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 3062 + "dev": true, 3063 + "license": "MIT", 3064 + "engines": { 3065 + "node": ">=8" 3066 + }, 3067 + "funding": { 3068 + "url": "https://github.com/sponsors/sindresorhus" 3069 + } 3070 + }, 3071 + "node_modules/supports-color": { 3072 + "version": "7.2.0", 3073 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 3074 + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 3075 + "dev": true, 3076 + "license": "MIT", 3077 + "dependencies": { 3078 + "has-flag": "^4.0.0" 3079 + }, 3080 + "engines": { 3081 + "node": ">=8" 3082 + } 3083 + }, 3084 + "node_modules/tinyglobby": { 3085 + "version": "0.2.14", 3086 + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", 3087 + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", 3088 + "dev": true, 3089 + "license": "MIT", 3090 + "dependencies": { 3091 + "fdir": "^6.4.4", 3092 + "picomatch": "^4.0.2" 3093 + }, 3094 + "engines": { 3095 + "node": ">=12.0.0" 3096 + }, 3097 + "funding": { 3098 + "url": "https://github.com/sponsors/SuperchupuDev" 3099 + } 3100 + }, 3101 + "node_modules/tinyglobby/node_modules/fdir": { 3102 + "version": "6.4.6", 3103 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", 3104 + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", 3105 + "dev": true, 3106 + "license": "MIT", 3107 + "peerDependencies": { 3108 + "picomatch": "^3 || ^4" 3109 + }, 3110 + "peerDependenciesMeta": { 3111 + "picomatch": { 3112 + "optional": true 3113 + } 3114 + } 3115 + }, 3116 + "node_modules/tinyglobby/node_modules/picomatch": { 3117 + "version": "4.0.2", 3118 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", 3119 + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 3120 + "dev": true, 3121 + "license": "MIT", 3122 + "engines": { 3123 + "node": ">=12" 3124 + }, 3125 + "funding": { 3126 + "url": "https://github.com/sponsors/jonschlinkert" 3127 + } 3128 + }, 3129 + "node_modules/to-regex-range": { 3130 + "version": "5.0.1", 3131 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3132 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3133 + "dev": true, 3134 + "license": "MIT", 3135 + "dependencies": { 3136 + "is-number": "^7.0.0" 3137 + }, 3138 + "engines": { 3139 + "node": ">=8.0" 3140 + } 3141 + }, 3142 + "node_modules/ts-api-utils": { 3143 + "version": "2.1.0", 3144 + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", 3145 + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", 3146 + "dev": true, 3147 + "license": "MIT", 3148 + "engines": { 3149 + "node": ">=18.12" 3150 + }, 3151 + "peerDependencies": { 3152 + "typescript": ">=4.8.4" 3153 + } 3154 + }, 3155 + "node_modules/type-check": { 3156 + "version": "0.4.0", 3157 + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 3158 + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 3159 + "dev": true, 3160 + "license": "MIT", 3161 + "dependencies": { 3162 + "prelude-ls": "^1.2.1" 3163 + }, 3164 + "engines": { 3165 + "node": ">= 0.8.0" 3166 + } 3167 + }, 3168 + "node_modules/typescript": { 3169 + "version": "5.8.3", 3170 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", 3171 + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", 3172 + "dev": true, 3173 + "license": "Apache-2.0", 3174 + "bin": { 3175 + "tsc": "bin/tsc", 3176 + "tsserver": "bin/tsserver" 3177 + }, 3178 + "engines": { 3179 + "node": ">=14.17" 3180 + } 3181 + }, 3182 + "node_modules/typescript-eslint": { 3183 + "version": "8.35.0", 3184 + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.35.0.tgz", 3185 + "integrity": "sha512-uEnz70b7kBz6eg/j0Czy6K5NivaYopgxRjsnAJ2Fx5oTLo3wefTHIbL7AkQr1+7tJCRVpTs/wiM8JR/11Loq9A==", 3186 + "dev": true, 3187 + "license": "MIT", 3188 + "dependencies": { 3189 + "@typescript-eslint/eslint-plugin": "8.35.0", 3190 + "@typescript-eslint/parser": "8.35.0", 3191 + "@typescript-eslint/utils": "8.35.0" 3192 + }, 3193 + "engines": { 3194 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3195 + }, 3196 + "funding": { 3197 + "type": "opencollective", 3198 + "url": "https://opencollective.com/typescript-eslint" 3199 + }, 3200 + "peerDependencies": { 3201 + "eslint": "^8.57.0 || ^9.0.0", 3202 + "typescript": ">=4.8.4 <5.9.0" 3203 + } 3204 + }, 3205 + "node_modules/update-browserslist-db": { 3206 + "version": "1.1.3", 3207 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", 3208 + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", 3209 + "dev": true, 3210 + "funding": [ 3211 + { 3212 + "type": "opencollective", 3213 + "url": "https://opencollective.com/browserslist" 3214 + }, 3215 + { 3216 + "type": "tidelift", 3217 + "url": "https://tidelift.com/funding/github/npm/browserslist" 3218 + }, 3219 + { 3220 + "type": "github", 3221 + "url": "https://github.com/sponsors/ai" 3222 + } 3223 + ], 3224 + "license": "MIT", 3225 + "dependencies": { 3226 + "escalade": "^3.2.0", 3227 + "picocolors": "^1.1.1" 3228 + }, 3229 + "bin": { 3230 + "update-browserslist-db": "cli.js" 3231 + }, 3232 + "peerDependencies": { 3233 + "browserslist": ">= 4.21.0" 3234 + } 3235 + }, 3236 + "node_modules/uri-js": { 3237 + "version": "4.4.1", 3238 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 3239 + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 3240 + "dev": true, 3241 + "license": "BSD-2-Clause", 3242 + "dependencies": { 3243 + "punycode": "^2.1.0" 3244 + } 3245 + }, 3246 + "node_modules/vite": { 3247 + "version": "7.0.0", 3248 + "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.0.tgz", 3249 + "integrity": "sha512-ixXJB1YRgDIw2OszKQS9WxGHKwLdCsbQNkpJN171udl6szi/rIySHL6/Os3s2+oE4P/FLD4dxg4mD7Wust+u5g==", 3250 + "dev": true, 3251 + "license": "MIT", 3252 + "dependencies": { 3253 + "esbuild": "^0.25.0", 3254 + "fdir": "^6.4.6", 3255 + "picomatch": "^4.0.2", 3256 + "postcss": "^8.5.6", 3257 + "rollup": "^4.40.0", 3258 + "tinyglobby": "^0.2.14" 3259 + }, 3260 + "bin": { 3261 + "vite": "bin/vite.js" 3262 + }, 3263 + "engines": { 3264 + "node": "^20.19.0 || >=22.12.0" 3265 + }, 3266 + "funding": { 3267 + "url": "https://github.com/vitejs/vite?sponsor=1" 3268 + }, 3269 + "optionalDependencies": { 3270 + "fsevents": "~2.3.3" 3271 + }, 3272 + "peerDependencies": { 3273 + "@types/node": "^20.19.0 || >=22.12.0", 3274 + "jiti": ">=1.21.0", 3275 + "less": "^4.0.0", 3276 + "lightningcss": "^1.21.0", 3277 + "sass": "^1.70.0", 3278 + "sass-embedded": "^1.70.0", 3279 + "stylus": ">=0.54.8", 3280 + "sugarss": "^5.0.0", 3281 + "terser": "^5.16.0", 3282 + "tsx": "^4.8.1", 3283 + "yaml": "^2.4.2" 3284 + }, 3285 + "peerDependenciesMeta": { 3286 + "@types/node": { 3287 + "optional": true 3288 + }, 3289 + "jiti": { 3290 + "optional": true 3291 + }, 3292 + "less": { 3293 + "optional": true 3294 + }, 3295 + "lightningcss": { 3296 + "optional": true 3297 + }, 3298 + "sass": { 3299 + "optional": true 3300 + }, 3301 + "sass-embedded": { 3302 + "optional": true 3303 + }, 3304 + "stylus": { 3305 + "optional": true 3306 + }, 3307 + "sugarss": { 3308 + "optional": true 3309 + }, 3310 + "terser": { 3311 + "optional": true 3312 + }, 3313 + "tsx": { 3314 + "optional": true 3315 + }, 3316 + "yaml": { 3317 + "optional": true 3318 + } 3319 + } 3320 + }, 3321 + "node_modules/vite/node_modules/fdir": { 3322 + "version": "6.4.6", 3323 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", 3324 + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", 3325 + "dev": true, 3326 + "license": "MIT", 3327 + "peerDependencies": { 3328 + "picomatch": "^3 || ^4" 3329 + }, 3330 + "peerDependenciesMeta": { 3331 + "picomatch": { 3332 + "optional": true 3333 + } 3334 + } 3335 + }, 3336 + "node_modules/vite/node_modules/picomatch": { 3337 + "version": "4.0.2", 3338 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", 3339 + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 3340 + "dev": true, 3341 + "license": "MIT", 3342 + "engines": { 3343 + "node": ">=12" 3344 + }, 3345 + "funding": { 3346 + "url": "https://github.com/sponsors/jonschlinkert" 3347 + } 3348 + }, 3349 + "node_modules/which": { 3350 + "version": "2.0.2", 3351 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3352 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3353 + "dev": true, 3354 + "license": "ISC", 3355 + "dependencies": { 3356 + "isexe": "^2.0.0" 3357 + }, 3358 + "bin": { 3359 + "node-which": "bin/node-which" 3360 + }, 3361 + "engines": { 3362 + "node": ">= 8" 3363 + } 3364 + }, 3365 + "node_modules/word-wrap": { 3366 + "version": "1.2.5", 3367 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", 3368 + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", 3369 + "dev": true, 3370 + "license": "MIT", 3371 + "engines": { 3372 + "node": ">=0.10.0" 3373 + } 3374 + }, 3375 + "node_modules/yallist": { 3376 + "version": "3.1.1", 3377 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 3378 + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 3379 + "dev": true, 3380 + "license": "ISC" 3381 + }, 3382 + "node_modules/yocto-queue": { 3383 + "version": "0.1.0", 3384 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 3385 + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 3386 + "dev": true, 3387 + "license": "MIT", 3388 + "engines": { 3389 + "node": ">=10" 3390 + }, 3391 + "funding": { 3392 + "url": "https://github.com/sponsors/sindresorhus" 3393 + } 3394 + } 3395 + } 3396 + }
+30
atproto-notifications/package.json
···
··· 1 + { 2 + "name": "atproto-notifications", 3 + "private": true, 4 + "version": "0.0.0", 5 + "type": "module", 6 + "scripts": { 7 + "dev": "vite", 8 + "build": "tsc -b && vite build", 9 + "lint": "eslint .", 10 + "preview": "vite preview" 11 + }, 12 + "dependencies": { 13 + "@uidotdev/usehooks": "^2.4.1", 14 + "react": "^19.1.0", 15 + "react-dom": "^19.1.0" 16 + }, 17 + "devDependencies": { 18 + "@eslint/js": "^9.29.0", 19 + "@types/react": "^19.1.8", 20 + "@types/react-dom": "^19.1.6", 21 + "@vitejs/plugin-react": "^4.5.2", 22 + "eslint": "^9.29.0", 23 + "eslint-plugin-react-hooks": "^5.2.0", 24 + "eslint-plugin-react-refresh": "^0.4.20", 25 + "globals": "^16.2.0", 26 + "typescript": "~5.8.3", 27 + "typescript-eslint": "^8.34.1", 28 + "vite": "^7.0.0" 29 + } 30 + }
+1
atproto-notifications/public/vite.svg
···
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
+14
atproto-notifications/src/App.css
···
··· 1 + #root { 2 + max-width: 1280px; 3 + margin: 0 auto; 4 + padding: 2rem; 5 + text-align: center; 6 + } 7 + 8 + .card { 9 + padding: 2em; 10 + } 11 + 12 + .read-the-docs { 13 + color: #888; 14 + }
+21
atproto-notifications/src/App.tsx
···
··· 1 + import { useLocalStorage } from "@uidotdev/usehooks"; 2 + import { HostContext } from './context' 3 + import { Hello } from './components/Hello'; 4 + import './App.css' 5 + 6 + function App() { 7 + const [host, setHost] = useLocalStorage('spacedust-notif-host', 'http://localhost:8000'); 8 + const [user, setUser] = useLocalStorage('spacedust-notif-user', null); 9 + 10 + return ( 11 + <HostContext.Provider value={host}> 12 + <h1>🎇 atproto notifications demo</h1> 13 + 14 + {user === null && ( 15 + <Hello onSetUser={setUser} /> 16 + )} 17 + </HostContext.Provider> 18 + ) 19 + } 20 + 21 + export default App
+1
atproto-notifications/src/assets/react.svg
···
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
+15
atproto-notifications/src/components/Hello.tsx
···
··· 1 + import { useState } from 'react'; 2 + 3 + export function Hello({ onSetUser }) { 4 + const [userVal, setUserVal] = useState(''); 5 + return ( 6 + <div className="hello card"> 7 + <label> 8 + <input /> 9 + </label> 10 + <button onClick={() => {}}> 11 + count is 12 + </button> 13 + </div> 14 + ); 15 + }
+5
atproto-notifications/src/context.ts
···
··· 1 + import { createContext } from 'react'; 2 + 3 + const HostContext = createContext(null); 4 + 5 + export { HostContext };
+68
atproto-notifications/src/index.css
···
··· 1 + :root { 2 + font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; 3 + line-height: 1.5; 4 + font-weight: 400; 5 + 6 + color-scheme: light dark; 7 + color: rgba(255, 255, 255, 0.87); 8 + background-color: #242424; 9 + 10 + font-synthesis: none; 11 + text-rendering: optimizeLegibility; 12 + -webkit-font-smoothing: antialiased; 13 + -moz-osx-font-smoothing: grayscale; 14 + } 15 + 16 + a { 17 + font-weight: 500; 18 + color: #646cff; 19 + text-decoration: inherit; 20 + } 21 + a:hover { 22 + color: #535bf2; 23 + } 24 + 25 + body { 26 + margin: 0; 27 + display: flex; 28 + place-items: center; 29 + min-width: 320px; 30 + min-height: 100vh; 31 + } 32 + 33 + h1 { 34 + font-size: 1.5em; 35 + line-height: 1.1; 36 + } 37 + 38 + button { 39 + border-radius: 8px; 40 + border: 1px solid transparent; 41 + padding: 0.6em 1.2em; 42 + font-size: 1em; 43 + font-weight: 500; 44 + font-family: inherit; 45 + background-color: #1a1a1a; 46 + cursor: pointer; 47 + transition: border-color 0.25s; 48 + } 49 + button:hover { 50 + border-color: #646cff; 51 + } 52 + button:focus, 53 + button:focus-visible { 54 + outline: 4px auto -webkit-focus-ring-color; 55 + } 56 + 57 + @media (prefers-color-scheme: light) { 58 + :root { 59 + color: #213547; 60 + background-color: #ffffff; 61 + } 62 + a:hover { 63 + color: #747bff; 64 + } 65 + button { 66 + background-color: #f9f9f9; 67 + } 68 + }
+10
atproto-notifications/src/main.tsx
···
··· 1 + import { StrictMode } from 'react' 2 + import { createRoot } from 'react-dom/client' 3 + import './index.css' 4 + import App from './App.tsx' 5 + 6 + createRoot(document.getElementById('root')!).render( 7 + <StrictMode> 8 + <App /> 9 + </StrictMode>, 10 + )
+1
atproto-notifications/src/vite-env.d.ts
···
··· 1 + /// <reference types="vite/client" />
+27
atproto-notifications/tsconfig.app.json
···
··· 1 + { 2 + "compilerOptions": { 3 + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", 4 + "target": "ES2022", 5 + "useDefineForClassFields": true, 6 + "lib": ["ES2022", "DOM", "DOM.Iterable"], 7 + "module": "ESNext", 8 + "skipLibCheck": true, 9 + 10 + /* Bundler mode */ 11 + "moduleResolution": "bundler", 12 + "allowImportingTsExtensions": true, 13 + "verbatimModuleSyntax": true, 14 + "moduleDetection": "force", 15 + "noEmit": true, 16 + "jsx": "react-jsx", 17 + 18 + /* Linting */ 19 + "strict": true, 20 + "noUnusedLocals": true, 21 + "noUnusedParameters": true, 22 + "erasableSyntaxOnly": true, 23 + "noFallthroughCasesInSwitch": true, 24 + "noUncheckedSideEffectImports": true 25 + }, 26 + "include": ["src"] 27 + }
+7
atproto-notifications/tsconfig.json
···
··· 1 + { 2 + "files": [], 3 + "references": [ 4 + { "path": "./tsconfig.app.json" }, 5 + { "path": "./tsconfig.node.json" } 6 + ] 7 + }
+25
atproto-notifications/tsconfig.node.json
···
··· 1 + { 2 + "compilerOptions": { 3 + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", 4 + "target": "ES2023", 5 + "lib": ["ES2023"], 6 + "module": "ESNext", 7 + "skipLibCheck": true, 8 + 9 + /* Bundler mode */ 10 + "moduleResolution": "bundler", 11 + "allowImportingTsExtensions": true, 12 + "verbatimModuleSyntax": true, 13 + "moduleDetection": "force", 14 + "noEmit": true, 15 + 16 + /* Linting */ 17 + "strict": true, 18 + "noUnusedLocals": true, 19 + "noUnusedParameters": true, 20 + "erasableSyntaxOnly": true, 21 + "noFallthroughCasesInSwitch": true, 22 + "noUncheckedSideEffectImports": true 23 + }, 24 + "include": ["vite.config.ts"] 25 + }
+7
atproto-notifications/vite.config.ts
···
··· 1 + import { defineConfig } from 'vite' 2 + import react from '@vitejs/plugin-react' 3 + 4 + // https://vite.dev/config/ 5 + export default defineConfig({ 6 + plugins: [react()], 7 + })
-6
server/index.js
··· 114 }; 115 } 116 117 - const subscribeSpacedust = (did, sub) => { 118 - if (!subs.has(did)) { 119 - subs.set(did, []); 120 - } 121 - } 122 - 123 const getOrCreateKeys = filename => { 124 let keys; 125 try {
··· 114 }; 115 } 116 117 const getOrCreateKeys = filename => { 118 let keys; 119 try {
+1 -26
server/web-content/service-worker.js
··· 1 - console.log('hello????'); 2 - 3 function urlBase64ToUint8Array(base64String) { 4 var padding = '='.repeat((4 - base64String.length % 4) % 4); 5 var base64 = (base64String + padding) ··· 27 28 event.waitUntil(self.registration.showNotification(title, { body })); 29 30 - // Attempt to resubscribe after receiving a notification 31 - // event.waitUntil(resubscribeToPush()); 32 }); 33 - 34 - // function resubscribeToPush() { 35 - // return self.registration.pushManager.getSubscription() 36 - // .then(function(subscription) { 37 - // if (subscription) { 38 - // return subscription.unsubscribe(); 39 - // } 40 - // }) 41 - // .then(function() { 42 - // return self.registration.pushManager.subscribe({ 43 - // userVisibleOnly: true, 44 - // applicationServerKey: urlBase64ToUint8Array(PUBKEY) 45 - // }); 46 - // }) 47 - // .then(function(subscription) { 48 - // console.log('Resubscribed to push notifications:', subscription); 49 - // // Optionally, send new subscription details to your server 50 - // }) 51 - // .catch(function(error) { 52 - // console.error('Failed to resubscribe:', error); 53 - // }); 54 - // }
··· 1 function urlBase64ToUint8Array(base64String) { 2 var padding = '='.repeat((4 - base64String.length % 4) % 4); 3 var base64 = (base64String + padding) ··· 25 26 event.waitUntil(self.registration.showNotification(title, { body })); 27 28 + // TODO: resubscribe to notifs to try to stay alive 29 });