experimental bluesky client
0
fork

Configure Feed

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

Initial commit

Alex Seubert 4d0d66ed

+6569
+16
.cta.json
··· 1 + { 2 + "projectName": "dudesky", 3 + "mode": "file-router", 4 + "typescript": true, 5 + "tailwind": true, 6 + "packageManager": "npm", 7 + "git": true, 8 + "install": true, 9 + "addOnOptions": {}, 10 + "includeExamples": true, 11 + "envVarValues": {}, 12 + "routerOnly": false, 13 + "version": 1, 14 + "framework": "react", 15 + "chosenAddOns": [] 16 + }
+13
.gitignore
··· 1 + node_modules 2 + .DS_Store 3 + dist 4 + dist-ssr 5 + *.local 6 + .env 7 + .nitro 8 + .tanstack 9 + .wrangler 10 + .output 11 + .vinxi 12 + __unconfig* 13 + todos.json
+11
.vscode/settings.json
··· 1 + { 2 + "files.watcherExclude": { 3 + "**/routeTree.gen.ts": true 4 + }, 5 + "search.exclude": { 6 + "**/routeTree.gen.ts": true 7 + }, 8 + "files.readonlyInclude": { 9 + "**/routeTree.gen.ts": true 10 + } 11 + }
+21
AGENTS.md
··· 1 + <!-- intent-skills:start --> 2 + # Skill mappings - when working in these areas, load the linked skill file into context. 3 + skills: 4 + - task: "Root route / SSR shell setup (HeadContent, Scripts, shellComponent, head config)" 5 + load: "node_modules/@tanstack/start-client-core/skills/start-core/SKILL.md" 6 + 7 + - task: "Adding or modifying routes (file-based routing, params, nested routes)" 8 + load: "node_modules/@tanstack/router-core/skills/router-core/SKILL.md" 9 + 10 + - task: "Route data loading (loaders, caching, pendingComponent)" 11 + load: "node_modules/@tanstack/router-core/skills/router-core/data-loading/SKILL.md" 12 + 13 + - task: "Server functions (createServerFn, API calls, server-side logic)" 14 + load: "node_modules/@tanstack/start-client-core/skills/start-core/server-functions/SKILL.md" 15 + 16 + - task: "Devtools configuration (plugins, position, hotkeys)" 17 + load: "node_modules/@tanstack/devtools/skills/devtools-app-setup/SKILL.md" 18 + 19 + - task: "Devtools Vite plugin (source inspection, console piping, production stripping)" 20 + load: "node_modules/@tanstack/devtools-vite/skills/devtools-vite-plugin/SKILL.md" 21 + <!-- intent-skills:end -->
+193
README.md
··· 1 + Welcome to your new TanStack Start app! 2 + 3 + # Getting Started 4 + 5 + To run this application: 6 + 7 + ```bash 8 + npm install 9 + npm run dev 10 + ``` 11 + 12 + # Building For Production 13 + 14 + To build this application for production: 15 + 16 + ```bash 17 + npm run build 18 + ``` 19 + 20 + ## Testing 21 + 22 + This project uses [Vitest](https://vitest.dev/) for testing. You can run the tests with: 23 + 24 + ```bash 25 + npm run test 26 + ``` 27 + 28 + ## Styling 29 + 30 + This project uses [Tailwind CSS](https://tailwindcss.com/) for styling. 31 + 32 + ### Removing Tailwind CSS 33 + 34 + If you prefer not to use Tailwind CSS: 35 + 36 + 1. Remove the demo pages in `src/routes/demo/` 37 + 2. Replace the Tailwind import in `src/styles.css` with your own styles 38 + 3. Remove `tailwindcss()` from the plugins array in `vite.config.ts` 39 + 4. Uninstall the packages: `npm install @tailwindcss/vite tailwindcss -D` 40 + 41 + 42 + 43 + ## Routing 44 + 45 + This project uses [TanStack Router](https://tanstack.com/router) with file-based routing. Routes are managed as files in `src/routes`. 46 + 47 + ### Adding A Route 48 + 49 + To add a new route to your application just add a new file in the `./src/routes` directory. 50 + 51 + TanStack will automatically generate the content of the route file for you. 52 + 53 + Now that you have two routes you can use a `Link` component to navigate between them. 54 + 55 + ### Adding Links 56 + 57 + To use SPA (Single Page Application) navigation you will need to import the `Link` component from `@tanstack/react-router`. 58 + 59 + ```tsx 60 + import { Link } from "@tanstack/react-router"; 61 + ``` 62 + 63 + Then anywhere in your JSX you can use it like so: 64 + 65 + ```tsx 66 + <Link to="/about">About</Link> 67 + ``` 68 + 69 + This will create a link that will navigate to the `/about` route. 70 + 71 + More information on the `Link` component can be found in the [Link documentation](https://tanstack.com/router/v1/docs/framework/react/api/router/linkComponent). 72 + 73 + ### Using A Layout 74 + 75 + In the File Based Routing setup the layout is located in `src/routes/__root.tsx`. Anything you add to the root route will appear in all the routes. The route content will appear in the JSX where you render `{children}` in the `shellComponent`. 76 + 77 + Here is an example layout that includes a header: 78 + 79 + ```tsx 80 + import { HeadContent, Scripts, createRootRoute } from '@tanstack/react-router' 81 + 82 + export const Route = createRootRoute({ 83 + head: () => ({ 84 + meta: [ 85 + { charSet: 'utf-8' }, 86 + { name: 'viewport', content: 'width=device-width, initial-scale=1' }, 87 + { title: 'My App' }, 88 + ], 89 + }), 90 + shellComponent: ({ children }) => ( 91 + <html lang="en"> 92 + <head> 93 + <HeadContent /> 94 + </head> 95 + <body> 96 + <header> 97 + <nav> 98 + <Link to="/">Home</Link> 99 + <Link to="/about">About</Link> 100 + </nav> 101 + </header> 102 + {children} 103 + <Scripts /> 104 + </body> 105 + </html> 106 + ), 107 + }) 108 + ``` 109 + 110 + More information on layouts can be found in the [Layouts documentation](https://tanstack.com/router/latest/docs/framework/react/guide/routing-concepts#layouts). 111 + 112 + ## Server Functions 113 + 114 + TanStack Start provides server functions that allow you to write server-side code that seamlessly integrates with your client components. 115 + 116 + ```tsx 117 + import { createServerFn } from '@tanstack/react-start' 118 + 119 + const getServerTime = createServerFn({ 120 + method: 'GET', 121 + }).handler(async () => { 122 + return new Date().toISOString() 123 + }) 124 + 125 + // Use in a component 126 + function MyComponent() { 127 + const [time, setTime] = useState('') 128 + 129 + useEffect(() => { 130 + getServerTime().then(setTime) 131 + }, []) 132 + 133 + return <div>Server time: {time}</div> 134 + } 135 + ``` 136 + 137 + ## API Routes 138 + 139 + You can create API routes by using the `server` property in your route definitions: 140 + 141 + ```tsx 142 + import { createFileRoute } from '@tanstack/react-router' 143 + import { json } from '@tanstack/react-start' 144 + 145 + export const Route = createFileRoute('/api/hello')({ 146 + server: { 147 + handlers: { 148 + GET: () => json({ message: 'Hello, World!' }), 149 + }, 150 + }, 151 + }) 152 + ``` 153 + 154 + ## Data Fetching 155 + 156 + There are multiple ways to fetch data in your application. You can use TanStack Query to fetch data from a server. But you can also use the `loader` functionality built into TanStack Router to load the data for a route before it's rendered. 157 + 158 + For example: 159 + 160 + ```tsx 161 + import { createFileRoute } from '@tanstack/react-router' 162 + 163 + export const Route = createFileRoute('/people')({ 164 + loader: async () => { 165 + const response = await fetch('https://swapi.dev/api/people') 166 + return response.json() 167 + }, 168 + component: PeopleComponent, 169 + }) 170 + 171 + function PeopleComponent() { 172 + const data = Route.useLoaderData() 173 + return ( 174 + <ul> 175 + {data.results.map((person) => ( 176 + <li key={person.name}>{person.name}</li> 177 + ))} 178 + </ul> 179 + ) 180 + } 181 + ``` 182 + 183 + Loaders simplify your data fetching logic dramatically. Check out more information in the [Loader documentation](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#loader-parameters). 184 + 185 + # Demo files 186 + 187 + Files prefixed with `demo` can be safely deleted. They are there to provide a starting point for you to play around with the features you've installed. 188 + 189 + # Learn More 190 + 191 + You can learn more about all of the offerings from TanStack in the [TanStack documentation](https://tanstack.com). 192 + 193 + For TanStack Start specific documentation, visit [TanStack Start](https://tanstack.com/start).
+5425
package-lock.json
··· 1 + { 2 + "name": "dudesky", 3 + "lockfileVersion": 3, 4 + "requires": true, 5 + "packages": { 6 + "": { 7 + "name": "dudesky", 8 + "dependencies": { 9 + "@tailwindcss/vite": "^4.1.18", 10 + "@tanstack/react-devtools": "latest", 11 + "@tanstack/react-router": "latest", 12 + "@tanstack/react-router-devtools": "latest", 13 + "@tanstack/react-router-ssr-query": "latest", 14 + "@tanstack/react-start": "latest", 15 + "@tanstack/router-plugin": "^1.132.0", 16 + "lucide-react": "^0.545.0", 17 + "react": "^19.2.0", 18 + "react-dom": "^19.2.0", 19 + "tailwindcss": "^4.1.18" 20 + }, 21 + "devDependencies": { 22 + "@tailwindcss/typography": "^0.5.16", 23 + "@tanstack/devtools-vite": "latest", 24 + "@testing-library/dom": "^10.4.1", 25 + "@testing-library/react": "^16.3.0", 26 + "@types/node": "^22.10.2", 27 + "@types/react": "^19.2.0", 28 + "@types/react-dom": "^19.2.0", 29 + "@vitejs/plugin-react": "^5.1.4", 30 + "jsdom": "^28.1.0", 31 + "typescript": "^5.7.2", 32 + "vite": "^7.3.1", 33 + "vite-tsconfig-paths": "^5.1.4", 34 + "vitest": "^3.0.5" 35 + } 36 + }, 37 + "node_modules/@acemir/cssom": { 38 + "version": "0.9.31", 39 + "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.31.tgz", 40 + "integrity": "sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==", 41 + "dev": true, 42 + "license": "MIT" 43 + }, 44 + "node_modules/@asamuzakjp/css-color": { 45 + "version": "5.1.8", 46 + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.8.tgz", 47 + "integrity": "sha512-OISPR9c2uPo23rUdvfEQiLPjoMLOpEeLNnP5iGkxr6tDDxJd3NjD+6fxY0mdaMbIPUjFGL4HFOJqLvow5q4aqQ==", 48 + "dev": true, 49 + "license": "MIT", 50 + "dependencies": { 51 + "@csstools/css-calc": "^3.1.1", 52 + "@csstools/css-color-parser": "^4.0.2", 53 + "@csstools/css-parser-algorithms": "^4.0.0", 54 + "@csstools/css-tokenizer": "^4.0.0" 55 + }, 56 + "engines": { 57 + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" 58 + } 59 + }, 60 + "node_modules/@asamuzakjp/dom-selector": { 61 + "version": "6.8.1", 62 + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.8.1.tgz", 63 + "integrity": "sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==", 64 + "dev": true, 65 + "license": "MIT", 66 + "dependencies": { 67 + "@asamuzakjp/nwsapi": "^2.3.9", 68 + "bidi-js": "^1.0.3", 69 + "css-tree": "^3.1.0", 70 + "is-potential-custom-element-name": "^1.0.1", 71 + "lru-cache": "^11.2.6" 72 + } 73 + }, 74 + "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": { 75 + "version": "11.3.3", 76 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.3.tgz", 77 + "integrity": "sha512-JvNw9Y81y33E+BEYPr0U7omo+U9AySnsMsEiXgwT6yqd31VQWTLNQqmT4ou5eqPFUrTfIDFta2wKhB1hyohtAQ==", 78 + "dev": true, 79 + "license": "BlueOak-1.0.0", 80 + "engines": { 81 + "node": "20 || >=22" 82 + } 83 + }, 84 + "node_modules/@asamuzakjp/nwsapi": { 85 + "version": "2.3.9", 86 + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", 87 + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", 88 + "dev": true, 89 + "license": "MIT" 90 + }, 91 + "node_modules/@babel/code-frame": { 92 + "version": "7.29.0", 93 + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", 94 + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", 95 + "license": "MIT", 96 + "dependencies": { 97 + "@babel/helper-validator-identifier": "^7.28.5", 98 + "js-tokens": "^4.0.0", 99 + "picocolors": "^1.1.1" 100 + }, 101 + "engines": { 102 + "node": ">=6.9.0" 103 + } 104 + }, 105 + "node_modules/@babel/compat-data": { 106 + "version": "7.29.0", 107 + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", 108 + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", 109 + "license": "MIT", 110 + "engines": { 111 + "node": ">=6.9.0" 112 + } 113 + }, 114 + "node_modules/@babel/core": { 115 + "version": "7.29.0", 116 + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", 117 + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", 118 + "license": "MIT", 119 + "dependencies": { 120 + "@babel/code-frame": "^7.29.0", 121 + "@babel/generator": "^7.29.0", 122 + "@babel/helper-compilation-targets": "^7.28.6", 123 + "@babel/helper-module-transforms": "^7.28.6", 124 + "@babel/helpers": "^7.28.6", 125 + "@babel/parser": "^7.29.0", 126 + "@babel/template": "^7.28.6", 127 + "@babel/traverse": "^7.29.0", 128 + "@babel/types": "^7.29.0", 129 + "@jridgewell/remapping": "^2.3.5", 130 + "convert-source-map": "^2.0.0", 131 + "debug": "^4.1.0", 132 + "gensync": "^1.0.0-beta.2", 133 + "json5": "^2.2.3", 134 + "semver": "^6.3.1" 135 + }, 136 + "engines": { 137 + "node": ">=6.9.0" 138 + }, 139 + "funding": { 140 + "type": "opencollective", 141 + "url": "https://opencollective.com/babel" 142 + } 143 + }, 144 + "node_modules/@babel/generator": { 145 + "version": "7.29.1", 146 + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", 147 + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", 148 + "license": "MIT", 149 + "dependencies": { 150 + "@babel/parser": "^7.29.0", 151 + "@babel/types": "^7.29.0", 152 + "@jridgewell/gen-mapping": "^0.3.12", 153 + "@jridgewell/trace-mapping": "^0.3.28", 154 + "jsesc": "^3.0.2" 155 + }, 156 + "engines": { 157 + "node": ">=6.9.0" 158 + } 159 + }, 160 + "node_modules/@babel/helper-compilation-targets": { 161 + "version": "7.28.6", 162 + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", 163 + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", 164 + "license": "MIT", 165 + "dependencies": { 166 + "@babel/compat-data": "^7.28.6", 167 + "@babel/helper-validator-option": "^7.27.1", 168 + "browserslist": "^4.24.0", 169 + "lru-cache": "^5.1.1", 170 + "semver": "^6.3.1" 171 + }, 172 + "engines": { 173 + "node": ">=6.9.0" 174 + } 175 + }, 176 + "node_modules/@babel/helper-globals": { 177 + "version": "7.28.0", 178 + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", 179 + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", 180 + "license": "MIT", 181 + "engines": { 182 + "node": ">=6.9.0" 183 + } 184 + }, 185 + "node_modules/@babel/helper-module-imports": { 186 + "version": "7.28.6", 187 + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", 188 + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", 189 + "license": "MIT", 190 + "dependencies": { 191 + "@babel/traverse": "^7.28.6", 192 + "@babel/types": "^7.28.6" 193 + }, 194 + "engines": { 195 + "node": ">=6.9.0" 196 + } 197 + }, 198 + "node_modules/@babel/helper-module-transforms": { 199 + "version": "7.28.6", 200 + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", 201 + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", 202 + "license": "MIT", 203 + "dependencies": { 204 + "@babel/helper-module-imports": "^7.28.6", 205 + "@babel/helper-validator-identifier": "^7.28.5", 206 + "@babel/traverse": "^7.28.6" 207 + }, 208 + "engines": { 209 + "node": ">=6.9.0" 210 + }, 211 + "peerDependencies": { 212 + "@babel/core": "^7.0.0" 213 + } 214 + }, 215 + "node_modules/@babel/helper-plugin-utils": { 216 + "version": "7.28.6", 217 + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", 218 + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", 219 + "license": "MIT", 220 + "engines": { 221 + "node": ">=6.9.0" 222 + } 223 + }, 224 + "node_modules/@babel/helper-string-parser": { 225 + "version": "7.27.1", 226 + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", 227 + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", 228 + "license": "MIT", 229 + "engines": { 230 + "node": ">=6.9.0" 231 + } 232 + }, 233 + "node_modules/@babel/helper-validator-identifier": { 234 + "version": "7.28.5", 235 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", 236 + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", 237 + "license": "MIT", 238 + "engines": { 239 + "node": ">=6.9.0" 240 + } 241 + }, 242 + "node_modules/@babel/helper-validator-option": { 243 + "version": "7.27.1", 244 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", 245 + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", 246 + "license": "MIT", 247 + "engines": { 248 + "node": ">=6.9.0" 249 + } 250 + }, 251 + "node_modules/@babel/helpers": { 252 + "version": "7.29.2", 253 + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", 254 + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", 255 + "license": "MIT", 256 + "dependencies": { 257 + "@babel/template": "^7.28.6", 258 + "@babel/types": "^7.29.0" 259 + }, 260 + "engines": { 261 + "node": ">=6.9.0" 262 + } 263 + }, 264 + "node_modules/@babel/parser": { 265 + "version": "7.29.2", 266 + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", 267 + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", 268 + "license": "MIT", 269 + "dependencies": { 270 + "@babel/types": "^7.29.0" 271 + }, 272 + "bin": { 273 + "parser": "bin/babel-parser.js" 274 + }, 275 + "engines": { 276 + "node": ">=6.0.0" 277 + } 278 + }, 279 + "node_modules/@babel/plugin-syntax-jsx": { 280 + "version": "7.28.6", 281 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", 282 + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", 283 + "license": "MIT", 284 + "dependencies": { 285 + "@babel/helper-plugin-utils": "^7.28.6" 286 + }, 287 + "engines": { 288 + "node": ">=6.9.0" 289 + }, 290 + "peerDependencies": { 291 + "@babel/core": "^7.0.0-0" 292 + } 293 + }, 294 + "node_modules/@babel/plugin-syntax-typescript": { 295 + "version": "7.28.6", 296 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", 297 + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", 298 + "license": "MIT", 299 + "dependencies": { 300 + "@babel/helper-plugin-utils": "^7.28.6" 301 + }, 302 + "engines": { 303 + "node": ">=6.9.0" 304 + }, 305 + "peerDependencies": { 306 + "@babel/core": "^7.0.0-0" 307 + } 308 + }, 309 + "node_modules/@babel/plugin-transform-react-jsx-self": { 310 + "version": "7.27.1", 311 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", 312 + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", 313 + "dev": true, 314 + "license": "MIT", 315 + "dependencies": { 316 + "@babel/helper-plugin-utils": "^7.27.1" 317 + }, 318 + "engines": { 319 + "node": ">=6.9.0" 320 + }, 321 + "peerDependencies": { 322 + "@babel/core": "^7.0.0-0" 323 + } 324 + }, 325 + "node_modules/@babel/plugin-transform-react-jsx-source": { 326 + "version": "7.27.1", 327 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", 328 + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", 329 + "dev": true, 330 + "license": "MIT", 331 + "dependencies": { 332 + "@babel/helper-plugin-utils": "^7.27.1" 333 + }, 334 + "engines": { 335 + "node": ">=6.9.0" 336 + }, 337 + "peerDependencies": { 338 + "@babel/core": "^7.0.0-0" 339 + } 340 + }, 341 + "node_modules/@babel/runtime": { 342 + "version": "7.29.2", 343 + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", 344 + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", 345 + "dev": true, 346 + "license": "MIT", 347 + "engines": { 348 + "node": ">=6.9.0" 349 + } 350 + }, 351 + "node_modules/@babel/template": { 352 + "version": "7.28.6", 353 + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", 354 + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", 355 + "license": "MIT", 356 + "dependencies": { 357 + "@babel/code-frame": "^7.28.6", 358 + "@babel/parser": "^7.28.6", 359 + "@babel/types": "^7.28.6" 360 + }, 361 + "engines": { 362 + "node": ">=6.9.0" 363 + } 364 + }, 365 + "node_modules/@babel/traverse": { 366 + "version": "7.29.0", 367 + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", 368 + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", 369 + "license": "MIT", 370 + "dependencies": { 371 + "@babel/code-frame": "^7.29.0", 372 + "@babel/generator": "^7.29.0", 373 + "@babel/helper-globals": "^7.28.0", 374 + "@babel/parser": "^7.29.0", 375 + "@babel/template": "^7.28.6", 376 + "@babel/types": "^7.29.0", 377 + "debug": "^4.3.1" 378 + }, 379 + "engines": { 380 + "node": ">=6.9.0" 381 + } 382 + }, 383 + "node_modules/@babel/types": { 384 + "version": "7.29.0", 385 + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", 386 + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", 387 + "license": "MIT", 388 + "dependencies": { 389 + "@babel/helper-string-parser": "^7.27.1", 390 + "@babel/helper-validator-identifier": "^7.28.5" 391 + }, 392 + "engines": { 393 + "node": ">=6.9.0" 394 + } 395 + }, 396 + "node_modules/@bramus/specificity": { 397 + "version": "2.4.2", 398 + "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", 399 + "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", 400 + "dev": true, 401 + "license": "MIT", 402 + "dependencies": { 403 + "css-tree": "^3.0.0" 404 + }, 405 + "bin": { 406 + "specificity": "bin/cli.js" 407 + } 408 + }, 409 + "node_modules/@csstools/color-helpers": { 410 + "version": "6.0.2", 411 + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", 412 + "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", 413 + "dev": true, 414 + "funding": [ 415 + { 416 + "type": "github", 417 + "url": "https://github.com/sponsors/csstools" 418 + }, 419 + { 420 + "type": "opencollective", 421 + "url": "https://opencollective.com/csstools" 422 + } 423 + ], 424 + "license": "MIT-0", 425 + "engines": { 426 + "node": ">=20.19.0" 427 + } 428 + }, 429 + "node_modules/@csstools/css-calc": { 430 + "version": "3.1.1", 431 + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.1.1.tgz", 432 + "integrity": "sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==", 433 + "dev": true, 434 + "funding": [ 435 + { 436 + "type": "github", 437 + "url": "https://github.com/sponsors/csstools" 438 + }, 439 + { 440 + "type": "opencollective", 441 + "url": "https://opencollective.com/csstools" 442 + } 443 + ], 444 + "license": "MIT", 445 + "engines": { 446 + "node": ">=20.19.0" 447 + }, 448 + "peerDependencies": { 449 + "@csstools/css-parser-algorithms": "^4.0.0", 450 + "@csstools/css-tokenizer": "^4.0.0" 451 + } 452 + }, 453 + "node_modules/@csstools/css-color-parser": { 454 + "version": "4.0.2", 455 + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.0.2.tgz", 456 + "integrity": "sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==", 457 + "dev": true, 458 + "funding": [ 459 + { 460 + "type": "github", 461 + "url": "https://github.com/sponsors/csstools" 462 + }, 463 + { 464 + "type": "opencollective", 465 + "url": "https://opencollective.com/csstools" 466 + } 467 + ], 468 + "license": "MIT", 469 + "dependencies": { 470 + "@csstools/color-helpers": "^6.0.2", 471 + "@csstools/css-calc": "^3.1.1" 472 + }, 473 + "engines": { 474 + "node": ">=20.19.0" 475 + }, 476 + "peerDependencies": { 477 + "@csstools/css-parser-algorithms": "^4.0.0", 478 + "@csstools/css-tokenizer": "^4.0.0" 479 + } 480 + }, 481 + "node_modules/@csstools/css-parser-algorithms": { 482 + "version": "4.0.0", 483 + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", 484 + "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", 485 + "dev": true, 486 + "funding": [ 487 + { 488 + "type": "github", 489 + "url": "https://github.com/sponsors/csstools" 490 + }, 491 + { 492 + "type": "opencollective", 493 + "url": "https://opencollective.com/csstools" 494 + } 495 + ], 496 + "license": "MIT", 497 + "engines": { 498 + "node": ">=20.19.0" 499 + }, 500 + "peerDependencies": { 501 + "@csstools/css-tokenizer": "^4.0.0" 502 + } 503 + }, 504 + "node_modules/@csstools/css-syntax-patches-for-csstree": { 505 + "version": "1.1.2", 506 + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.2.tgz", 507 + "integrity": "sha512-5GkLzz4prTIpoyeUiIu3iV6CSG3Plo7xRVOFPKI7FVEJ3mZ0A8SwK0XU3Gl7xAkiQ+mDyam+NNp875/C5y+jSA==", 508 + "dev": true, 509 + "funding": [ 510 + { 511 + "type": "github", 512 + "url": "https://github.com/sponsors/csstools" 513 + }, 514 + { 515 + "type": "opencollective", 516 + "url": "https://opencollective.com/csstools" 517 + } 518 + ], 519 + "license": "MIT-0", 520 + "peerDependencies": { 521 + "css-tree": "^3.2.1" 522 + }, 523 + "peerDependenciesMeta": { 524 + "css-tree": { 525 + "optional": true 526 + } 527 + } 528 + }, 529 + "node_modules/@csstools/css-tokenizer": { 530 + "version": "4.0.0", 531 + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", 532 + "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", 533 + "dev": true, 534 + "funding": [ 535 + { 536 + "type": "github", 537 + "url": "https://github.com/sponsors/csstools" 538 + }, 539 + { 540 + "type": "opencollective", 541 + "url": "https://opencollective.com/csstools" 542 + } 543 + ], 544 + "license": "MIT", 545 + "engines": { 546 + "node": ">=20.19.0" 547 + } 548 + }, 549 + "node_modules/@esbuild/aix-ppc64": { 550 + "version": "0.27.7", 551 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", 552 + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", 553 + "cpu": [ 554 + "ppc64" 555 + ], 556 + "license": "MIT", 557 + "optional": true, 558 + "os": [ 559 + "aix" 560 + ], 561 + "engines": { 562 + "node": ">=18" 563 + } 564 + }, 565 + "node_modules/@esbuild/android-arm": { 566 + "version": "0.27.7", 567 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", 568 + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", 569 + "cpu": [ 570 + "arm" 571 + ], 572 + "license": "MIT", 573 + "optional": true, 574 + "os": [ 575 + "android" 576 + ], 577 + "engines": { 578 + "node": ">=18" 579 + } 580 + }, 581 + "node_modules/@esbuild/android-arm64": { 582 + "version": "0.27.7", 583 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", 584 + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", 585 + "cpu": [ 586 + "arm64" 587 + ], 588 + "license": "MIT", 589 + "optional": true, 590 + "os": [ 591 + "android" 592 + ], 593 + "engines": { 594 + "node": ">=18" 595 + } 596 + }, 597 + "node_modules/@esbuild/android-x64": { 598 + "version": "0.27.7", 599 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", 600 + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", 601 + "cpu": [ 602 + "x64" 603 + ], 604 + "license": "MIT", 605 + "optional": true, 606 + "os": [ 607 + "android" 608 + ], 609 + "engines": { 610 + "node": ">=18" 611 + } 612 + }, 613 + "node_modules/@esbuild/darwin-arm64": { 614 + "version": "0.27.7", 615 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", 616 + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", 617 + "cpu": [ 618 + "arm64" 619 + ], 620 + "license": "MIT", 621 + "optional": true, 622 + "os": [ 623 + "darwin" 624 + ], 625 + "engines": { 626 + "node": ">=18" 627 + } 628 + }, 629 + "node_modules/@esbuild/darwin-x64": { 630 + "version": "0.27.7", 631 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", 632 + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", 633 + "cpu": [ 634 + "x64" 635 + ], 636 + "license": "MIT", 637 + "optional": true, 638 + "os": [ 639 + "darwin" 640 + ], 641 + "engines": { 642 + "node": ">=18" 643 + } 644 + }, 645 + "node_modules/@esbuild/freebsd-arm64": { 646 + "version": "0.27.7", 647 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", 648 + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", 649 + "cpu": [ 650 + "arm64" 651 + ], 652 + "license": "MIT", 653 + "optional": true, 654 + "os": [ 655 + "freebsd" 656 + ], 657 + "engines": { 658 + "node": ">=18" 659 + } 660 + }, 661 + "node_modules/@esbuild/freebsd-x64": { 662 + "version": "0.27.7", 663 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", 664 + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", 665 + "cpu": [ 666 + "x64" 667 + ], 668 + "license": "MIT", 669 + "optional": true, 670 + "os": [ 671 + "freebsd" 672 + ], 673 + "engines": { 674 + "node": ">=18" 675 + } 676 + }, 677 + "node_modules/@esbuild/linux-arm": { 678 + "version": "0.27.7", 679 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", 680 + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", 681 + "cpu": [ 682 + "arm" 683 + ], 684 + "license": "MIT", 685 + "optional": true, 686 + "os": [ 687 + "linux" 688 + ], 689 + "engines": { 690 + "node": ">=18" 691 + } 692 + }, 693 + "node_modules/@esbuild/linux-arm64": { 694 + "version": "0.27.7", 695 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", 696 + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", 697 + "cpu": [ 698 + "arm64" 699 + ], 700 + "license": "MIT", 701 + "optional": true, 702 + "os": [ 703 + "linux" 704 + ], 705 + "engines": { 706 + "node": ">=18" 707 + } 708 + }, 709 + "node_modules/@esbuild/linux-ia32": { 710 + "version": "0.27.7", 711 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", 712 + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", 713 + "cpu": [ 714 + "ia32" 715 + ], 716 + "license": "MIT", 717 + "optional": true, 718 + "os": [ 719 + "linux" 720 + ], 721 + "engines": { 722 + "node": ">=18" 723 + } 724 + }, 725 + "node_modules/@esbuild/linux-loong64": { 726 + "version": "0.27.7", 727 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", 728 + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", 729 + "cpu": [ 730 + "loong64" 731 + ], 732 + "license": "MIT", 733 + "optional": true, 734 + "os": [ 735 + "linux" 736 + ], 737 + "engines": { 738 + "node": ">=18" 739 + } 740 + }, 741 + "node_modules/@esbuild/linux-mips64el": { 742 + "version": "0.27.7", 743 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", 744 + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", 745 + "cpu": [ 746 + "mips64el" 747 + ], 748 + "license": "MIT", 749 + "optional": true, 750 + "os": [ 751 + "linux" 752 + ], 753 + "engines": { 754 + "node": ">=18" 755 + } 756 + }, 757 + "node_modules/@esbuild/linux-ppc64": { 758 + "version": "0.27.7", 759 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", 760 + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", 761 + "cpu": [ 762 + "ppc64" 763 + ], 764 + "license": "MIT", 765 + "optional": true, 766 + "os": [ 767 + "linux" 768 + ], 769 + "engines": { 770 + "node": ">=18" 771 + } 772 + }, 773 + "node_modules/@esbuild/linux-riscv64": { 774 + "version": "0.27.7", 775 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", 776 + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", 777 + "cpu": [ 778 + "riscv64" 779 + ], 780 + "license": "MIT", 781 + "optional": true, 782 + "os": [ 783 + "linux" 784 + ], 785 + "engines": { 786 + "node": ">=18" 787 + } 788 + }, 789 + "node_modules/@esbuild/linux-s390x": { 790 + "version": "0.27.7", 791 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", 792 + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", 793 + "cpu": [ 794 + "s390x" 795 + ], 796 + "license": "MIT", 797 + "optional": true, 798 + "os": [ 799 + "linux" 800 + ], 801 + "engines": { 802 + "node": ">=18" 803 + } 804 + }, 805 + "node_modules/@esbuild/linux-x64": { 806 + "version": "0.27.7", 807 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", 808 + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", 809 + "cpu": [ 810 + "x64" 811 + ], 812 + "license": "MIT", 813 + "optional": true, 814 + "os": [ 815 + "linux" 816 + ], 817 + "engines": { 818 + "node": ">=18" 819 + } 820 + }, 821 + "node_modules/@esbuild/netbsd-arm64": { 822 + "version": "0.27.7", 823 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", 824 + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", 825 + "cpu": [ 826 + "arm64" 827 + ], 828 + "license": "MIT", 829 + "optional": true, 830 + "os": [ 831 + "netbsd" 832 + ], 833 + "engines": { 834 + "node": ">=18" 835 + } 836 + }, 837 + "node_modules/@esbuild/netbsd-x64": { 838 + "version": "0.27.7", 839 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", 840 + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", 841 + "cpu": [ 842 + "x64" 843 + ], 844 + "license": "MIT", 845 + "optional": true, 846 + "os": [ 847 + "netbsd" 848 + ], 849 + "engines": { 850 + "node": ">=18" 851 + } 852 + }, 853 + "node_modules/@esbuild/openbsd-arm64": { 854 + "version": "0.27.7", 855 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", 856 + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", 857 + "cpu": [ 858 + "arm64" 859 + ], 860 + "license": "MIT", 861 + "optional": true, 862 + "os": [ 863 + "openbsd" 864 + ], 865 + "engines": { 866 + "node": ">=18" 867 + } 868 + }, 869 + "node_modules/@esbuild/openbsd-x64": { 870 + "version": "0.27.7", 871 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", 872 + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", 873 + "cpu": [ 874 + "x64" 875 + ], 876 + "license": "MIT", 877 + "optional": true, 878 + "os": [ 879 + "openbsd" 880 + ], 881 + "engines": { 882 + "node": ">=18" 883 + } 884 + }, 885 + "node_modules/@esbuild/openharmony-arm64": { 886 + "version": "0.27.7", 887 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", 888 + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", 889 + "cpu": [ 890 + "arm64" 891 + ], 892 + "license": "MIT", 893 + "optional": true, 894 + "os": [ 895 + "openharmony" 896 + ], 897 + "engines": { 898 + "node": ">=18" 899 + } 900 + }, 901 + "node_modules/@esbuild/sunos-x64": { 902 + "version": "0.27.7", 903 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", 904 + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", 905 + "cpu": [ 906 + "x64" 907 + ], 908 + "license": "MIT", 909 + "optional": true, 910 + "os": [ 911 + "sunos" 912 + ], 913 + "engines": { 914 + "node": ">=18" 915 + } 916 + }, 917 + "node_modules/@esbuild/win32-arm64": { 918 + "version": "0.27.7", 919 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", 920 + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", 921 + "cpu": [ 922 + "arm64" 923 + ], 924 + "license": "MIT", 925 + "optional": true, 926 + "os": [ 927 + "win32" 928 + ], 929 + "engines": { 930 + "node": ">=18" 931 + } 932 + }, 933 + "node_modules/@esbuild/win32-ia32": { 934 + "version": "0.27.7", 935 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", 936 + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", 937 + "cpu": [ 938 + "ia32" 939 + ], 940 + "license": "MIT", 941 + "optional": true, 942 + "os": [ 943 + "win32" 944 + ], 945 + "engines": { 946 + "node": ">=18" 947 + } 948 + }, 949 + "node_modules/@esbuild/win32-x64": { 950 + "version": "0.27.7", 951 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", 952 + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", 953 + "cpu": [ 954 + "x64" 955 + ], 956 + "license": "MIT", 957 + "optional": true, 958 + "os": [ 959 + "win32" 960 + ], 961 + "engines": { 962 + "node": ">=18" 963 + } 964 + }, 965 + "node_modules/@exodus/bytes": { 966 + "version": "1.15.0", 967 + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz", 968 + "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==", 969 + "dev": true, 970 + "license": "MIT", 971 + "engines": { 972 + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" 973 + }, 974 + "peerDependencies": { 975 + "@noble/hashes": "^1.8.0 || ^2.0.0" 976 + }, 977 + "peerDependenciesMeta": { 978 + "@noble/hashes": { 979 + "optional": true 980 + } 981 + } 982 + }, 983 + "node_modules/@jridgewell/gen-mapping": { 984 + "version": "0.3.13", 985 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", 986 + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", 987 + "license": "MIT", 988 + "dependencies": { 989 + "@jridgewell/sourcemap-codec": "^1.5.0", 990 + "@jridgewell/trace-mapping": "^0.3.24" 991 + } 992 + }, 993 + "node_modules/@jridgewell/remapping": { 994 + "version": "2.3.5", 995 + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", 996 + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", 997 + "license": "MIT", 998 + "dependencies": { 999 + "@jridgewell/gen-mapping": "^0.3.5", 1000 + "@jridgewell/trace-mapping": "^0.3.24" 1001 + } 1002 + }, 1003 + "node_modules/@jridgewell/resolve-uri": { 1004 + "version": "3.1.2", 1005 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 1006 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 1007 + "license": "MIT", 1008 + "engines": { 1009 + "node": ">=6.0.0" 1010 + } 1011 + }, 1012 + "node_modules/@jridgewell/sourcemap-codec": { 1013 + "version": "1.5.5", 1014 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", 1015 + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", 1016 + "license": "MIT" 1017 + }, 1018 + "node_modules/@jridgewell/trace-mapping": { 1019 + "version": "0.3.31", 1020 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 1021 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 1022 + "license": "MIT", 1023 + "dependencies": { 1024 + "@jridgewell/resolve-uri": "^3.1.0", 1025 + "@jridgewell/sourcemap-codec": "^1.4.14" 1026 + } 1027 + }, 1028 + "node_modules/@oozcitak/dom": { 1029 + "version": "2.0.2", 1030 + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-2.0.2.tgz", 1031 + "integrity": "sha512-GjpKhkSYC3Mj4+lfwEyI1dqnsKTgwGy48ytZEhm4A/xnH/8z9M3ZVXKr/YGQi3uCLs1AEBS+x5T2JPiueEDW8w==", 1032 + "license": "MIT", 1033 + "dependencies": { 1034 + "@oozcitak/infra": "^2.0.2", 1035 + "@oozcitak/url": "^3.0.0", 1036 + "@oozcitak/util": "^10.0.0" 1037 + }, 1038 + "engines": { 1039 + "node": ">=20.0" 1040 + } 1041 + }, 1042 + "node_modules/@oozcitak/infra": { 1043 + "version": "2.0.2", 1044 + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-2.0.2.tgz", 1045 + "integrity": "sha512-2g+E7hoE2dgCz/APPOEK5s3rMhJvNxSMBrP+U+j1OWsIbtSpWxxlUjq1lU8RIsFJNYv7NMlnVsCuHcUzJW+8vA==", 1046 + "license": "MIT", 1047 + "dependencies": { 1048 + "@oozcitak/util": "^10.0.0" 1049 + }, 1050 + "engines": { 1051 + "node": ">=20.0" 1052 + } 1053 + }, 1054 + "node_modules/@oozcitak/url": { 1055 + "version": "3.0.0", 1056 + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-3.0.0.tgz", 1057 + "integrity": "sha512-ZKfET8Ak1wsLAiLWNfFkZc/BraDccuTJKR6svTYc7sVjbR+Iu0vtXdiDMY4o6jaFl5TW2TlS7jbLl4VovtAJWQ==", 1058 + "license": "MIT", 1059 + "dependencies": { 1060 + "@oozcitak/infra": "^2.0.2", 1061 + "@oozcitak/util": "^10.0.0" 1062 + }, 1063 + "engines": { 1064 + "node": ">=20.0" 1065 + } 1066 + }, 1067 + "node_modules/@oozcitak/util": { 1068 + "version": "10.0.0", 1069 + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-10.0.0.tgz", 1070 + "integrity": "sha512-hAX0pT/73190NLqBPPWSdBVGtbY6VOhWYK3qqHqtXQ1gK7kS2yz4+ivsN07hpJ6I3aeMtKP6J6npsEKOAzuTLA==", 1071 + "license": "MIT", 1072 + "engines": { 1073 + "node": ">=20.0" 1074 + } 1075 + }, 1076 + "node_modules/@rolldown/pluginutils": { 1077 + "version": "1.0.0-beta.40", 1078 + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.40.tgz", 1079 + "integrity": "sha512-s3GeJKSQOwBlzdUrj4ISjJj5SfSh+aqn0wjOar4Bx95iV1ETI7F6S/5hLcfAxZ9kXDcyrAkxPlqmd1ZITttf+w==", 1080 + "license": "MIT" 1081 + }, 1082 + "node_modules/@rollup/rollup-android-arm-eabi": { 1083 + "version": "4.60.1", 1084 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.1.tgz", 1085 + "integrity": "sha512-d6FinEBLdIiK+1uACUttJKfgZREXrF0Qc2SmLII7W2AD8FfiZ9Wjd+rD/iRuf5s5dWrr1GgwXCvPqOuDquOowA==", 1086 + "cpu": [ 1087 + "arm" 1088 + ], 1089 + "license": "MIT", 1090 + "optional": true, 1091 + "os": [ 1092 + "android" 1093 + ] 1094 + }, 1095 + "node_modules/@rollup/rollup-android-arm64": { 1096 + "version": "4.60.1", 1097 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.1.tgz", 1098 + "integrity": "sha512-YjG/EwIDvvYI1YvYbHvDz/BYHtkY4ygUIXHnTdLhG+hKIQFBiosfWiACWortsKPKU/+dUwQQCKQM3qrDe8c9BA==", 1099 + "cpu": [ 1100 + "arm64" 1101 + ], 1102 + "license": "MIT", 1103 + "optional": true, 1104 + "os": [ 1105 + "android" 1106 + ] 1107 + }, 1108 + "node_modules/@rollup/rollup-darwin-arm64": { 1109 + "version": "4.60.1", 1110 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.1.tgz", 1111 + "integrity": "sha512-mjCpF7GmkRtSJwon+Rq1N8+pI+8l7w5g9Z3vWj4T7abguC4Czwi3Yu/pFaLvA3TTeMVjnu3ctigusqWUfjZzvw==", 1112 + "cpu": [ 1113 + "arm64" 1114 + ], 1115 + "license": "MIT", 1116 + "optional": true, 1117 + "os": [ 1118 + "darwin" 1119 + ] 1120 + }, 1121 + "node_modules/@rollup/rollup-darwin-x64": { 1122 + "version": "4.60.1", 1123 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.1.tgz", 1124 + "integrity": "sha512-haZ7hJ1JT4e9hqkoT9R/19XW2QKqjfJVv+i5AGg57S+nLk9lQnJ1F/eZloRO3o9Scy9CM3wQ9l+dkXtcBgN5Ew==", 1125 + "cpu": [ 1126 + "x64" 1127 + ], 1128 + "license": "MIT", 1129 + "optional": true, 1130 + "os": [ 1131 + "darwin" 1132 + ] 1133 + }, 1134 + "node_modules/@rollup/rollup-freebsd-arm64": { 1135 + "version": "4.60.1", 1136 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.1.tgz", 1137 + "integrity": "sha512-czw90wpQq3ZsAVBlinZjAYTKduOjTywlG7fEeWKUA7oCmpA8xdTkxZZlwNJKWqILlq0wehoZcJYfBvOyhPTQ6w==", 1138 + "cpu": [ 1139 + "arm64" 1140 + ], 1141 + "license": "MIT", 1142 + "optional": true, 1143 + "os": [ 1144 + "freebsd" 1145 + ] 1146 + }, 1147 + "node_modules/@rollup/rollup-freebsd-x64": { 1148 + "version": "4.60.1", 1149 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.1.tgz", 1150 + "integrity": "sha512-KVB2rqsxTHuBtfOeySEyzEOB7ltlB/ux38iu2rBQzkjbwRVlkhAGIEDiiYnO2kFOkJp+Z7pUXKyrRRFuFUKt+g==", 1151 + "cpu": [ 1152 + "x64" 1153 + ], 1154 + "license": "MIT", 1155 + "optional": true, 1156 + "os": [ 1157 + "freebsd" 1158 + ] 1159 + }, 1160 + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 1161 + "version": "4.60.1", 1162 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.1.tgz", 1163 + "integrity": "sha512-L+34Qqil+v5uC0zEubW7uByo78WOCIrBvci69E7sFASRl0X7b/MB6Cqd1lky/CtcSVTydWa2WZwFuWexjS5o6g==", 1164 + "cpu": [ 1165 + "arm" 1166 + ], 1167 + "libc": [ 1168 + "glibc" 1169 + ], 1170 + "license": "MIT", 1171 + "optional": true, 1172 + "os": [ 1173 + "linux" 1174 + ] 1175 + }, 1176 + "node_modules/@rollup/rollup-linux-arm-musleabihf": { 1177 + "version": "4.60.1", 1178 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.1.tgz", 1179 + "integrity": "sha512-n83O8rt4v34hgFzlkb1ycniJh7IR5RCIqt6mz1VRJD6pmhRi0CXdmfnLu9dIUS6buzh60IvACM842Ffb3xd6Gg==", 1180 + "cpu": [ 1181 + "arm" 1182 + ], 1183 + "libc": [ 1184 + "musl" 1185 + ], 1186 + "license": "MIT", 1187 + "optional": true, 1188 + "os": [ 1189 + "linux" 1190 + ] 1191 + }, 1192 + "node_modules/@rollup/rollup-linux-arm64-gnu": { 1193 + "version": "4.60.1", 1194 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.1.tgz", 1195 + "integrity": "sha512-Nql7sTeAzhTAja3QXeAI48+/+GjBJ+QmAH13snn0AJSNL50JsDqotyudHyMbO2RbJkskbMbFJfIJKWA6R1LCJQ==", 1196 + "cpu": [ 1197 + "arm64" 1198 + ], 1199 + "libc": [ 1200 + "glibc" 1201 + ], 1202 + "license": "MIT", 1203 + "optional": true, 1204 + "os": [ 1205 + "linux" 1206 + ] 1207 + }, 1208 + "node_modules/@rollup/rollup-linux-arm64-musl": { 1209 + "version": "4.60.1", 1210 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.1.tgz", 1211 + "integrity": "sha512-+pUymDhd0ys9GcKZPPWlFiZ67sTWV5UU6zOJat02M1+PiuSGDziyRuI/pPue3hoUwm2uGfxdL+trT6Z9rxnlMA==", 1212 + "cpu": [ 1213 + "arm64" 1214 + ], 1215 + "libc": [ 1216 + "musl" 1217 + ], 1218 + "license": "MIT", 1219 + "optional": true, 1220 + "os": [ 1221 + "linux" 1222 + ] 1223 + }, 1224 + "node_modules/@rollup/rollup-linux-loong64-gnu": { 1225 + "version": "4.60.1", 1226 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.1.tgz", 1227 + "integrity": "sha512-VSvgvQeIcsEvY4bKDHEDWcpW4Yw7BtlKG1GUT4FzBUlEKQK0rWHYBqQt6Fm2taXS+1bXvJT6kICu5ZwqKCnvlQ==", 1228 + "cpu": [ 1229 + "loong64" 1230 + ], 1231 + "libc": [ 1232 + "glibc" 1233 + ], 1234 + "license": "MIT", 1235 + "optional": true, 1236 + "os": [ 1237 + "linux" 1238 + ] 1239 + }, 1240 + "node_modules/@rollup/rollup-linux-loong64-musl": { 1241 + "version": "4.60.1", 1242 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.1.tgz", 1243 + "integrity": "sha512-4LqhUomJqwe641gsPp6xLfhqWMbQV04KtPp7/dIp0nzPxAkNY1AbwL5W0MQpcalLYk07vaW9Kp1PBhdpZYYcEw==", 1244 + "cpu": [ 1245 + "loong64" 1246 + ], 1247 + "libc": [ 1248 + "musl" 1249 + ], 1250 + "license": "MIT", 1251 + "optional": true, 1252 + "os": [ 1253 + "linux" 1254 + ] 1255 + }, 1256 + "node_modules/@rollup/rollup-linux-ppc64-gnu": { 1257 + "version": "4.60.1", 1258 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.1.tgz", 1259 + "integrity": "sha512-tLQQ9aPvkBxOc/EUT6j3pyeMD6Hb8QF2BTBnCQWP/uu1lhc9AIrIjKnLYMEroIz/JvtGYgI9dF3AxHZNaEH0rw==", 1260 + "cpu": [ 1261 + "ppc64" 1262 + ], 1263 + "libc": [ 1264 + "glibc" 1265 + ], 1266 + "license": "MIT", 1267 + "optional": true, 1268 + "os": [ 1269 + "linux" 1270 + ] 1271 + }, 1272 + "node_modules/@rollup/rollup-linux-ppc64-musl": { 1273 + "version": "4.60.1", 1274 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.1.tgz", 1275 + "integrity": "sha512-RMxFhJwc9fSXP6PqmAz4cbv3kAyvD1etJFjTx4ONqFP9DkTkXsAMU4v3Vyc5BgzC+anz7nS/9tp4obsKfqkDHg==", 1276 + "cpu": [ 1277 + "ppc64" 1278 + ], 1279 + "libc": [ 1280 + "musl" 1281 + ], 1282 + "license": "MIT", 1283 + "optional": true, 1284 + "os": [ 1285 + "linux" 1286 + ] 1287 + }, 1288 + "node_modules/@rollup/rollup-linux-riscv64-gnu": { 1289 + "version": "4.60.1", 1290 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.1.tgz", 1291 + "integrity": "sha512-QKgFl+Yc1eEk6MmOBfRHYF6lTxiiiV3/z/BRrbSiW2I7AFTXoBFvdMEyglohPj//2mZS4hDOqeB0H1ACh3sBbg==", 1292 + "cpu": [ 1293 + "riscv64" 1294 + ], 1295 + "libc": [ 1296 + "glibc" 1297 + ], 1298 + "license": "MIT", 1299 + "optional": true, 1300 + "os": [ 1301 + "linux" 1302 + ] 1303 + }, 1304 + "node_modules/@rollup/rollup-linux-riscv64-musl": { 1305 + "version": "4.60.1", 1306 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.1.tgz", 1307 + "integrity": "sha512-RAjXjP/8c6ZtzatZcA1RaQr6O1TRhzC+adn8YZDnChliZHviqIjmvFwHcxi4JKPSDAt6Uhf/7vqcBzQJy0PDJg==", 1308 + "cpu": [ 1309 + "riscv64" 1310 + ], 1311 + "libc": [ 1312 + "musl" 1313 + ], 1314 + "license": "MIT", 1315 + "optional": true, 1316 + "os": [ 1317 + "linux" 1318 + ] 1319 + }, 1320 + "node_modules/@rollup/rollup-linux-s390x-gnu": { 1321 + "version": "4.60.1", 1322 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.1.tgz", 1323 + "integrity": "sha512-wcuocpaOlaL1COBYiA89O6yfjlp3RwKDeTIA0hM7OpmhR1Bjo9j31G1uQVpDlTvwxGn2nQs65fBFL5UFd76FcQ==", 1324 + "cpu": [ 1325 + "s390x" 1326 + ], 1327 + "libc": [ 1328 + "glibc" 1329 + ], 1330 + "license": "MIT", 1331 + "optional": true, 1332 + "os": [ 1333 + "linux" 1334 + ] 1335 + }, 1336 + "node_modules/@rollup/rollup-linux-x64-gnu": { 1337 + "version": "4.60.1", 1338 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.1.tgz", 1339 + "integrity": "sha512-77PpsFQUCOiZR9+LQEFg9GClyfkNXj1MP6wRnzYs0EeWbPcHs02AXu4xuUbM1zhwn3wqaizle3AEYg5aeoohhg==", 1340 + "cpu": [ 1341 + "x64" 1342 + ], 1343 + "libc": [ 1344 + "glibc" 1345 + ], 1346 + "license": "MIT", 1347 + "optional": true, 1348 + "os": [ 1349 + "linux" 1350 + ] 1351 + }, 1352 + "node_modules/@rollup/rollup-linux-x64-musl": { 1353 + "version": "4.60.1", 1354 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.1.tgz", 1355 + "integrity": "sha512-5cIATbk5vynAjqqmyBjlciMJl1+R/CwX9oLk/EyiFXDWd95KpHdrOJT//rnUl4cUcskrd0jCCw3wpZnhIHdD9w==", 1356 + "cpu": [ 1357 + "x64" 1358 + ], 1359 + "libc": [ 1360 + "musl" 1361 + ], 1362 + "license": "MIT", 1363 + "optional": true, 1364 + "os": [ 1365 + "linux" 1366 + ] 1367 + }, 1368 + "node_modules/@rollup/rollup-openbsd-x64": { 1369 + "version": "4.60.1", 1370 + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.1.tgz", 1371 + "integrity": "sha512-cl0w09WsCi17mcmWqqglez9Gk8isgeWvoUZ3WiJFYSR3zjBQc2J5/ihSjpl+VLjPqjQ/1hJRcqBfLjssREQILw==", 1372 + "cpu": [ 1373 + "x64" 1374 + ], 1375 + "license": "MIT", 1376 + "optional": true, 1377 + "os": [ 1378 + "openbsd" 1379 + ] 1380 + }, 1381 + "node_modules/@rollup/rollup-openharmony-arm64": { 1382 + "version": "4.60.1", 1383 + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.1.tgz", 1384 + "integrity": "sha512-4Cv23ZrONRbNtbZa37mLSueXUCtN7MXccChtKpUnQNgF010rjrjfHx3QxkS2PI7LqGT5xXyYs1a7LbzAwT0iCA==", 1385 + "cpu": [ 1386 + "arm64" 1387 + ], 1388 + "license": "MIT", 1389 + "optional": true, 1390 + "os": [ 1391 + "openharmony" 1392 + ] 1393 + }, 1394 + "node_modules/@rollup/rollup-win32-arm64-msvc": { 1395 + "version": "4.60.1", 1396 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.1.tgz", 1397 + "integrity": "sha512-i1okWYkA4FJICtr7KpYzFpRTHgy5jdDbZiWfvny21iIKky5YExiDXP+zbXzm3dUcFpkEeYNHgQ5fuG236JPq0g==", 1398 + "cpu": [ 1399 + "arm64" 1400 + ], 1401 + "license": "MIT", 1402 + "optional": true, 1403 + "os": [ 1404 + "win32" 1405 + ] 1406 + }, 1407 + "node_modules/@rollup/rollup-win32-ia32-msvc": { 1408 + "version": "4.60.1", 1409 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.1.tgz", 1410 + "integrity": "sha512-u09m3CuwLzShA0EYKMNiFgcjjzwqtUMLmuCJLeZWjjOYA3IT2Di09KaxGBTP9xVztWyIWjVdsB2E9goMjZvTQg==", 1411 + "cpu": [ 1412 + "ia32" 1413 + ], 1414 + "license": "MIT", 1415 + "optional": true, 1416 + "os": [ 1417 + "win32" 1418 + ] 1419 + }, 1420 + "node_modules/@rollup/rollup-win32-x64-gnu": { 1421 + "version": "4.60.1", 1422 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.1.tgz", 1423 + "integrity": "sha512-k+600V9Zl1CM7eZxJgMyTUzmrmhB/0XZnF4pRypKAlAgxmedUA+1v9R+XOFv56W4SlHEzfeMtzujLJD22Uz5zg==", 1424 + "cpu": [ 1425 + "x64" 1426 + ], 1427 + "license": "MIT", 1428 + "optional": true, 1429 + "os": [ 1430 + "win32" 1431 + ] 1432 + }, 1433 + "node_modules/@rollup/rollup-win32-x64-msvc": { 1434 + "version": "4.60.1", 1435 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.1.tgz", 1436 + "integrity": "sha512-lWMnixq/QzxyhTV6NjQJ4SFo1J6PvOX8vUx5Wb4bBPsEb+8xZ89Bz6kOXpfXj9ak9AHTQVQzlgzBEc1SyM27xQ==", 1437 + "cpu": [ 1438 + "x64" 1439 + ], 1440 + "license": "MIT", 1441 + "optional": true, 1442 + "os": [ 1443 + "win32" 1444 + ] 1445 + }, 1446 + "node_modules/@solid-primitives/event-listener": { 1447 + "version": "2.4.5", 1448 + "resolved": "https://registry.npmjs.org/@solid-primitives/event-listener/-/event-listener-2.4.5.tgz", 1449 + "integrity": "sha512-nwRV558mIabl4yVAhZKY8cb6G+O1F0M6Z75ttTu5hk+SxdOnKSGj+eetDIu7Oax1P138ZdUU01qnBPR8rnxaEA==", 1450 + "license": "MIT", 1451 + "dependencies": { 1452 + "@solid-primitives/utils": "^6.4.0" 1453 + }, 1454 + "peerDependencies": { 1455 + "solid-js": "^1.6.12" 1456 + } 1457 + }, 1458 + "node_modules/@solid-primitives/keyboard": { 1459 + "version": "1.3.5", 1460 + "resolved": "https://registry.npmjs.org/@solid-primitives/keyboard/-/keyboard-1.3.5.tgz", 1461 + "integrity": "sha512-sav+l+PL+74z3yaftVs7qd8c2SXkqzuxPOVibUe5wYMt+U5Hxp3V3XCPgBPN2I6cANjvoFtz0NiU8uHVLdi9FQ==", 1462 + "license": "MIT", 1463 + "dependencies": { 1464 + "@solid-primitives/event-listener": "^2.4.5", 1465 + "@solid-primitives/rootless": "^1.5.3", 1466 + "@solid-primitives/utils": "^6.4.0" 1467 + }, 1468 + "peerDependencies": { 1469 + "solid-js": "^1.6.12" 1470 + } 1471 + }, 1472 + "node_modules/@solid-primitives/resize-observer": { 1473 + "version": "2.1.5", 1474 + "resolved": "https://registry.npmjs.org/@solid-primitives/resize-observer/-/resize-observer-2.1.5.tgz", 1475 + "integrity": "sha512-AiyTknKcNBaKHbcSMuxtSNM8FjIuiSuFyFghdD0TcCMU9hKi9EmsC5pjfjDwxE+5EueB1a+T/34PLRI5vbBbKw==", 1476 + "license": "MIT", 1477 + "dependencies": { 1478 + "@solid-primitives/event-listener": "^2.4.5", 1479 + "@solid-primitives/rootless": "^1.5.3", 1480 + "@solid-primitives/static-store": "^0.1.3", 1481 + "@solid-primitives/utils": "^6.4.0" 1482 + }, 1483 + "peerDependencies": { 1484 + "solid-js": "^1.6.12" 1485 + } 1486 + }, 1487 + "node_modules/@solid-primitives/rootless": { 1488 + "version": "1.5.3", 1489 + "resolved": "https://registry.npmjs.org/@solid-primitives/rootless/-/rootless-1.5.3.tgz", 1490 + "integrity": "sha512-N8cIDAHbWcLahNRLr0knAAQvXyEdEMoAZvIMZKmhNb1mlx9e2UOv9BRD5YNwQUJwbNoYVhhLwFOEOcVXFx0HqA==", 1491 + "license": "MIT", 1492 + "dependencies": { 1493 + "@solid-primitives/utils": "^6.4.0" 1494 + }, 1495 + "peerDependencies": { 1496 + "solid-js": "^1.6.12" 1497 + } 1498 + }, 1499 + "node_modules/@solid-primitives/static-store": { 1500 + "version": "0.1.3", 1501 + "resolved": "https://registry.npmjs.org/@solid-primitives/static-store/-/static-store-0.1.3.tgz", 1502 + "integrity": "sha512-uxez7SXnr5GiRnzqO2IEDjOJRIXaG+0LZLBizmUA1FwSi+hrpuMzVBwyk70m4prcl8X6FDDXUl9O8hSq8wHbBQ==", 1503 + "license": "MIT", 1504 + "dependencies": { 1505 + "@solid-primitives/utils": "^6.4.0" 1506 + }, 1507 + "peerDependencies": { 1508 + "solid-js": "^1.6.12" 1509 + } 1510 + }, 1511 + "node_modules/@solid-primitives/utils": { 1512 + "version": "6.4.0", 1513 + "resolved": "https://registry.npmjs.org/@solid-primitives/utils/-/utils-6.4.0.tgz", 1514 + "integrity": "sha512-AeGTBg8Wtkh/0s+evyLtP8piQoS4wyqqQaAFs2HJcFMMjYAtUgo+ZPduRXLjPlqKVc2ejeR544oeqpbn8Egn8A==", 1515 + "license": "MIT", 1516 + "peerDependencies": { 1517 + "solid-js": "^1.6.12" 1518 + } 1519 + }, 1520 + "node_modules/@tailwindcss/node": { 1521 + "version": "4.2.2", 1522 + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.2.tgz", 1523 + "integrity": "sha512-pXS+wJ2gZpVXqFaUEjojq7jzMpTGf8rU6ipJz5ovJV6PUGmlJ+jvIwGrzdHdQ80Sg+wmQxUFuoW1UAAwHNEdFA==", 1524 + "license": "MIT", 1525 + "dependencies": { 1526 + "@jridgewell/remapping": "^2.3.5", 1527 + "enhanced-resolve": "^5.19.0", 1528 + "jiti": "^2.6.1", 1529 + "lightningcss": "1.32.0", 1530 + "magic-string": "^0.30.21", 1531 + "source-map-js": "^1.2.1", 1532 + "tailwindcss": "4.2.2" 1533 + } 1534 + }, 1535 + "node_modules/@tailwindcss/oxide": { 1536 + "version": "4.2.2", 1537 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.2.tgz", 1538 + "integrity": "sha512-qEUA07+E5kehxYp9BVMpq9E8vnJuBHfJEC0vPC5e7iL/hw7HR61aDKoVoKzrG+QKp56vhNZe4qwkRmMC0zDLvg==", 1539 + "license": "MIT", 1540 + "engines": { 1541 + "node": ">= 20" 1542 + }, 1543 + "optionalDependencies": { 1544 + "@tailwindcss/oxide-android-arm64": "4.2.2", 1545 + "@tailwindcss/oxide-darwin-arm64": "4.2.2", 1546 + "@tailwindcss/oxide-darwin-x64": "4.2.2", 1547 + "@tailwindcss/oxide-freebsd-x64": "4.2.2", 1548 + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.2", 1549 + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.2", 1550 + "@tailwindcss/oxide-linux-arm64-musl": "4.2.2", 1551 + "@tailwindcss/oxide-linux-x64-gnu": "4.2.2", 1552 + "@tailwindcss/oxide-linux-x64-musl": "4.2.2", 1553 + "@tailwindcss/oxide-wasm32-wasi": "4.2.2", 1554 + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.2", 1555 + "@tailwindcss/oxide-win32-x64-msvc": "4.2.2" 1556 + } 1557 + }, 1558 + "node_modules/@tailwindcss/oxide-android-arm64": { 1559 + "version": "4.2.2", 1560 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.2.tgz", 1561 + "integrity": "sha512-dXGR1n+P3B6748jZO/SvHZq7qBOqqzQ+yFrXpoOWWALWndF9MoSKAT3Q0fYgAzYzGhxNYOoysRvYlpixRBBoDg==", 1562 + "cpu": [ 1563 + "arm64" 1564 + ], 1565 + "license": "MIT", 1566 + "optional": true, 1567 + "os": [ 1568 + "android" 1569 + ], 1570 + "engines": { 1571 + "node": ">= 20" 1572 + } 1573 + }, 1574 + "node_modules/@tailwindcss/oxide-darwin-arm64": { 1575 + "version": "4.2.2", 1576 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.2.tgz", 1577 + "integrity": "sha512-iq9Qjr6knfMpZHj55/37ouZeykwbDqF21gPFtfnhCCKGDcPI/21FKC9XdMO/XyBM7qKORx6UIhGgg6jLl7BZlg==", 1578 + "cpu": [ 1579 + "arm64" 1580 + ], 1581 + "license": "MIT", 1582 + "optional": true, 1583 + "os": [ 1584 + "darwin" 1585 + ], 1586 + "engines": { 1587 + "node": ">= 20" 1588 + } 1589 + }, 1590 + "node_modules/@tailwindcss/oxide-darwin-x64": { 1591 + "version": "4.2.2", 1592 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.2.tgz", 1593 + "integrity": "sha512-BlR+2c3nzc8f2G639LpL89YY4bdcIdUmiOOkv2GQv4/4M0vJlpXEa0JXNHhCHU7VWOKWT/CjqHdTP8aUuDJkuw==", 1594 + "cpu": [ 1595 + "x64" 1596 + ], 1597 + "license": "MIT", 1598 + "optional": true, 1599 + "os": [ 1600 + "darwin" 1601 + ], 1602 + "engines": { 1603 + "node": ">= 20" 1604 + } 1605 + }, 1606 + "node_modules/@tailwindcss/oxide-freebsd-x64": { 1607 + "version": "4.2.2", 1608 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.2.tgz", 1609 + "integrity": "sha512-YUqUgrGMSu2CDO82hzlQ5qSb5xmx3RUrke/QgnoEx7KvmRJHQuZHZmZTLSuuHwFf0DJPybFMXMYf+WJdxHy/nQ==", 1610 + "cpu": [ 1611 + "x64" 1612 + ], 1613 + "license": "MIT", 1614 + "optional": true, 1615 + "os": [ 1616 + "freebsd" 1617 + ], 1618 + "engines": { 1619 + "node": ">= 20" 1620 + } 1621 + }, 1622 + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { 1623 + "version": "4.2.2", 1624 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.2.tgz", 1625 + "integrity": "sha512-FPdhvsW6g06T9BWT0qTwiVZYE2WIFo2dY5aCSpjG/S/u1tby+wXoslXS0kl3/KXnULlLr1E3NPRRw0g7t2kgaQ==", 1626 + "cpu": [ 1627 + "arm" 1628 + ], 1629 + "license": "MIT", 1630 + "optional": true, 1631 + "os": [ 1632 + "linux" 1633 + ], 1634 + "engines": { 1635 + "node": ">= 20" 1636 + } 1637 + }, 1638 + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { 1639 + "version": "4.2.2", 1640 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.2.tgz", 1641 + "integrity": "sha512-4og1V+ftEPXGttOO7eCmW7VICmzzJWgMx+QXAJRAhjrSjumCwWqMfkDrNu1LXEQzNAwz28NCUpucgQPrR4S2yw==", 1642 + "cpu": [ 1643 + "arm64" 1644 + ], 1645 + "libc": [ 1646 + "glibc" 1647 + ], 1648 + "license": "MIT", 1649 + "optional": true, 1650 + "os": [ 1651 + "linux" 1652 + ], 1653 + "engines": { 1654 + "node": ">= 20" 1655 + } 1656 + }, 1657 + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { 1658 + "version": "4.2.2", 1659 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.2.tgz", 1660 + "integrity": "sha512-oCfG/mS+/+XRlwNjnsNLVwnMWYH7tn/kYPsNPh+JSOMlnt93mYNCKHYzylRhI51X+TbR+ufNhhKKzm6QkqX8ag==", 1661 + "cpu": [ 1662 + "arm64" 1663 + ], 1664 + "libc": [ 1665 + "musl" 1666 + ], 1667 + "license": "MIT", 1668 + "optional": true, 1669 + "os": [ 1670 + "linux" 1671 + ], 1672 + "engines": { 1673 + "node": ">= 20" 1674 + } 1675 + }, 1676 + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { 1677 + "version": "4.2.2", 1678 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.2.tgz", 1679 + "integrity": "sha512-rTAGAkDgqbXHNp/xW0iugLVmX62wOp2PoE39BTCGKjv3Iocf6AFbRP/wZT/kuCxC9QBh9Pu8XPkv/zCZB2mcMg==", 1680 + "cpu": [ 1681 + "x64" 1682 + ], 1683 + "libc": [ 1684 + "glibc" 1685 + ], 1686 + "license": "MIT", 1687 + "optional": true, 1688 + "os": [ 1689 + "linux" 1690 + ], 1691 + "engines": { 1692 + "node": ">= 20" 1693 + } 1694 + }, 1695 + "node_modules/@tailwindcss/oxide-linux-x64-musl": { 1696 + "version": "4.2.2", 1697 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.2.tgz", 1698 + "integrity": "sha512-XW3t3qwbIwiSyRCggeO2zxe3KWaEbM0/kW9e8+0XpBgyKU4ATYzcVSMKteZJ1iukJ3HgHBjbg9P5YPRCVUxlnQ==", 1699 + "cpu": [ 1700 + "x64" 1701 + ], 1702 + "libc": [ 1703 + "musl" 1704 + ], 1705 + "license": "MIT", 1706 + "optional": true, 1707 + "os": [ 1708 + "linux" 1709 + ], 1710 + "engines": { 1711 + "node": ">= 20" 1712 + } 1713 + }, 1714 + "node_modules/@tailwindcss/oxide-wasm32-wasi": { 1715 + "version": "4.2.2", 1716 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.2.tgz", 1717 + "integrity": "sha512-eKSztKsmEsn1O5lJ4ZAfyn41NfG7vzCg496YiGtMDV86jz1q/irhms5O0VrY6ZwTUkFy/EKG3RfWgxSI3VbZ8Q==", 1718 + "bundleDependencies": [ 1719 + "@napi-rs/wasm-runtime", 1720 + "@emnapi/core", 1721 + "@emnapi/runtime", 1722 + "@tybys/wasm-util", 1723 + "@emnapi/wasi-threads", 1724 + "tslib" 1725 + ], 1726 + "cpu": [ 1727 + "wasm32" 1728 + ], 1729 + "license": "MIT", 1730 + "optional": true, 1731 + "dependencies": { 1732 + "@emnapi/core": "^1.8.1", 1733 + "@emnapi/runtime": "^1.8.1", 1734 + "@emnapi/wasi-threads": "^1.1.0", 1735 + "@napi-rs/wasm-runtime": "^1.1.1", 1736 + "@tybys/wasm-util": "^0.10.1", 1737 + "tslib": "^2.8.1" 1738 + }, 1739 + "engines": { 1740 + "node": ">=14.0.0" 1741 + } 1742 + }, 1743 + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { 1744 + "version": "4.2.2", 1745 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.2.tgz", 1746 + "integrity": "sha512-qPmaQM4iKu5mxpsrWZMOZRgZv1tOZpUm+zdhhQP0VhJfyGGO3aUKdbh3gDZc/dPLQwW4eSqWGrrcWNBZWUWaXQ==", 1747 + "cpu": [ 1748 + "arm64" 1749 + ], 1750 + "license": "MIT", 1751 + "optional": true, 1752 + "os": [ 1753 + "win32" 1754 + ], 1755 + "engines": { 1756 + "node": ">= 20" 1757 + } 1758 + }, 1759 + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { 1760 + "version": "4.2.2", 1761 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.2.tgz", 1762 + "integrity": "sha512-1T/37VvI7WyH66b+vqHj/cLwnCxt7Qt3WFu5Q8hk65aOvlwAhs7rAp1VkulBJw/N4tMirXjVnylTR72uI0HGcA==", 1763 + "cpu": [ 1764 + "x64" 1765 + ], 1766 + "license": "MIT", 1767 + "optional": true, 1768 + "os": [ 1769 + "win32" 1770 + ], 1771 + "engines": { 1772 + "node": ">= 20" 1773 + } 1774 + }, 1775 + "node_modules/@tailwindcss/typography": { 1776 + "version": "0.5.19", 1777 + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.19.tgz", 1778 + "integrity": "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==", 1779 + "dev": true, 1780 + "license": "MIT", 1781 + "dependencies": { 1782 + "postcss-selector-parser": "6.0.10" 1783 + }, 1784 + "peerDependencies": { 1785 + "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" 1786 + } 1787 + }, 1788 + "node_modules/@tailwindcss/vite": { 1789 + "version": "4.2.2", 1790 + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.2.2.tgz", 1791 + "integrity": "sha512-mEiF5HO1QqCLXoNEfXVA1Tzo+cYsrqV7w9Juj2wdUFyW07JRenqMG225MvPwr3ZD9N1bFQj46X7r33iHxLUW0w==", 1792 + "license": "MIT", 1793 + "dependencies": { 1794 + "@tailwindcss/node": "4.2.2", 1795 + "@tailwindcss/oxide": "4.2.2", 1796 + "tailwindcss": "4.2.2" 1797 + }, 1798 + "peerDependencies": { 1799 + "vite": "^5.2.0 || ^6 || ^7 || ^8" 1800 + } 1801 + }, 1802 + "node_modules/@tanstack/devtools": { 1803 + "version": "0.11.2", 1804 + "resolved": "https://registry.npmjs.org/@tanstack/devtools/-/devtools-0.11.2.tgz", 1805 + "integrity": "sha512-K8+tsBx+ptTLqqd4dOF10B6laj1g+XYImqYZL9n0jBINGaT+sOf17PKV9pbBt8kdbZeIGsHaJ5OZWCyZoHqN4A==", 1806 + "license": "MIT", 1807 + "dependencies": { 1808 + "@solid-primitives/event-listener": "^2.4.3", 1809 + "@solid-primitives/keyboard": "^1.3.3", 1810 + "@solid-primitives/resize-observer": "^2.1.3", 1811 + "@tanstack/devtools-client": "0.0.6", 1812 + "@tanstack/devtools-event-bus": "0.4.1", 1813 + "@tanstack/devtools-ui": "0.5.1", 1814 + "clsx": "^2.1.1", 1815 + "goober": "^2.1.16", 1816 + "solid-js": "^1.9.9" 1817 + }, 1818 + "bin": { 1819 + "intent": "bin/intent.js" 1820 + }, 1821 + "engines": { 1822 + "node": ">=18" 1823 + }, 1824 + "funding": { 1825 + "type": "github", 1826 + "url": "https://github.com/sponsors/tannerlinsley" 1827 + }, 1828 + "peerDependencies": { 1829 + "solid-js": ">=1.9.7" 1830 + } 1831 + }, 1832 + "node_modules/@tanstack/devtools-client": { 1833 + "version": "0.0.6", 1834 + "resolved": "https://registry.npmjs.org/@tanstack/devtools-client/-/devtools-client-0.0.6.tgz", 1835 + "integrity": "sha512-f85ZJXJnDIFOoykG/BFIixuAevJovCvJF391LPs6YjBAPhGYC50NWlx1y4iF/UmK5/cCMx+/JqI5SBOz7FanQQ==", 1836 + "license": "MIT", 1837 + "dependencies": { 1838 + "@tanstack/devtools-event-client": "^0.4.1" 1839 + }, 1840 + "engines": { 1841 + "node": ">=18" 1842 + }, 1843 + "funding": { 1844 + "type": "github", 1845 + "url": "https://github.com/sponsors/tannerlinsley" 1846 + } 1847 + }, 1848 + "node_modules/@tanstack/devtools-event-bus": { 1849 + "version": "0.4.1", 1850 + "resolved": "https://registry.npmjs.org/@tanstack/devtools-event-bus/-/devtools-event-bus-0.4.1.tgz", 1851 + "integrity": "sha512-cNnJ89Q021Zf883rlbBTfsaxTfi2r73/qejGtyTa7ksErF3hyDyAq1aTbo5crK9dAL7zSHh9viKY1BtMls1QOA==", 1852 + "license": "MIT", 1853 + "dependencies": { 1854 + "ws": "^8.18.3" 1855 + }, 1856 + "engines": { 1857 + "node": ">=18" 1858 + }, 1859 + "funding": { 1860 + "type": "github", 1861 + "url": "https://github.com/sponsors/tannerlinsley" 1862 + } 1863 + }, 1864 + "node_modules/@tanstack/devtools-event-client": { 1865 + "version": "0.4.3", 1866 + "resolved": "https://registry.npmjs.org/@tanstack/devtools-event-client/-/devtools-event-client-0.4.3.tgz", 1867 + "integrity": "sha512-OZI6QyULw0FI0wjgmeYzCIfbgPsOEzwJtCpa69XrfLMtNXLGnz3d/dIabk7frg0TmHo+Ah49w5I4KC7Tufwsvw==", 1868 + "license": "MIT", 1869 + "bin": { 1870 + "intent": "bin/intent.js" 1871 + }, 1872 + "engines": { 1873 + "node": ">=18" 1874 + }, 1875 + "funding": { 1876 + "type": "github", 1877 + "url": "https://github.com/sponsors/tannerlinsley" 1878 + } 1879 + }, 1880 + "node_modules/@tanstack/devtools-ui": { 1881 + "version": "0.5.1", 1882 + "resolved": "https://registry.npmjs.org/@tanstack/devtools-ui/-/devtools-ui-0.5.1.tgz", 1883 + "integrity": "sha512-T9JjAdqMSnxsVO6AQykD5vhxPF4iFLKtbYxee/bU3OLlk446F5C1220GdCmhDSz7y4lx+m8AvIS0bq6zzvdDUA==", 1884 + "license": "MIT", 1885 + "dependencies": { 1886 + "clsx": "^2.1.1", 1887 + "dayjs": "^1.11.19", 1888 + "goober": "^2.1.16", 1889 + "solid-js": "^1.9.9" 1890 + }, 1891 + "engines": { 1892 + "node": ">=18" 1893 + }, 1894 + "funding": { 1895 + "type": "github", 1896 + "url": "https://github.com/sponsors/tannerlinsley" 1897 + }, 1898 + "peerDependencies": { 1899 + "solid-js": ">=1.9.7" 1900 + } 1901 + }, 1902 + "node_modules/@tanstack/devtools-vite": { 1903 + "version": "0.6.0", 1904 + "resolved": "https://registry.npmjs.org/@tanstack/devtools-vite/-/devtools-vite-0.6.0.tgz", 1905 + "integrity": "sha512-h0r0ct7zlrgjkhmn4QW6wRjgUXd4JMs+r7gtx+BXo9f5H9Y+jtUdtvC0rnZcPto6gw/9yMUq7yOmMK5qDWRExg==", 1906 + "dev": true, 1907 + "license": "MIT", 1908 + "dependencies": { 1909 + "@babel/core": "^7.28.4", 1910 + "@babel/generator": "^7.28.3", 1911 + "@babel/parser": "^7.28.4", 1912 + "@babel/traverse": "^7.28.4", 1913 + "@babel/types": "^7.28.4", 1914 + "@tanstack/devtools-client": "0.0.6", 1915 + "@tanstack/devtools-event-bus": "0.4.1", 1916 + "chalk": "^5.6.2", 1917 + "launch-editor": "^2.11.1", 1918 + "picomatch": "^4.0.3" 1919 + }, 1920 + "bin": { 1921 + "intent": "bin/intent.js" 1922 + }, 1923 + "engines": { 1924 + "node": ">=18" 1925 + }, 1926 + "funding": { 1927 + "type": "github", 1928 + "url": "https://github.com/sponsors/tannerlinsley" 1929 + }, 1930 + "peerDependencies": { 1931 + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" 1932 + } 1933 + }, 1934 + "node_modules/@tanstack/history": { 1935 + "version": "1.161.6", 1936 + "resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.161.6.tgz", 1937 + "integrity": "sha512-NaOGLRrddszbQj9upGat6HG/4TKvXLvu+osAIgfxPYA+eIvYKv8GKDJOrY2D3/U9MRnKfMWD7bU4jeD4xmqyIg==", 1938 + "license": "MIT", 1939 + "engines": { 1940 + "node": ">=20.19" 1941 + }, 1942 + "funding": { 1943 + "type": "github", 1944 + "url": "https://github.com/sponsors/tannerlinsley" 1945 + } 1946 + }, 1947 + "node_modules/@tanstack/query-core": { 1948 + "version": "5.96.2", 1949 + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.96.2.tgz", 1950 + "integrity": "sha512-hzI6cTVh4KNRk8UtoIBS7Lv9g6BnJPXvBKsvYH1aGWvv0347jT3BnSvztOE+kD76XGvZnRC/t6qdW1CaIfwCeA==", 1951 + "license": "MIT", 1952 + "peer": true, 1953 + "funding": { 1954 + "type": "github", 1955 + "url": "https://github.com/sponsors/tannerlinsley" 1956 + } 1957 + }, 1958 + "node_modules/@tanstack/react-devtools": { 1959 + "version": "0.10.2", 1960 + "resolved": "https://registry.npmjs.org/@tanstack/react-devtools/-/react-devtools-0.10.2.tgz", 1961 + "integrity": "sha512-1BmZyxOrI5SqmRJ5MgkYZNNdnlLsJxQRI2YgorrAvcF2MxK6x5RcuStvD8+YlXoMw3JtNukPxoITirKAnKYDQA==", 1962 + "license": "MIT", 1963 + "dependencies": { 1964 + "@tanstack/devtools": "0.11.2" 1965 + }, 1966 + "engines": { 1967 + "node": ">=18" 1968 + }, 1969 + "funding": { 1970 + "type": "github", 1971 + "url": "https://github.com/sponsors/tannerlinsley" 1972 + }, 1973 + "peerDependencies": { 1974 + "@types/react": ">=16.8", 1975 + "@types/react-dom": ">=16.8", 1976 + "react": ">=16.8", 1977 + "react-dom": ">=16.8" 1978 + } 1979 + }, 1980 + "node_modules/@tanstack/react-query": { 1981 + "version": "5.96.2", 1982 + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.96.2.tgz", 1983 + "integrity": "sha512-sYyzzJT4G0g02azzJ8o55VFFV31XvFpdUpG+unxS0vSaYsJnSPKGoI6WdPwUucJL1wpgGfwfmntNX/Ub1uOViA==", 1984 + "license": "MIT", 1985 + "peer": true, 1986 + "dependencies": { 1987 + "@tanstack/query-core": "5.96.2" 1988 + }, 1989 + "funding": { 1990 + "type": "github", 1991 + "url": "https://github.com/sponsors/tannerlinsley" 1992 + }, 1993 + "peerDependencies": { 1994 + "react": "^18 || ^19" 1995 + } 1996 + }, 1997 + "node_modules/@tanstack/react-router": { 1998 + "version": "1.168.10", 1999 + "resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.168.10.tgz", 2000 + "integrity": "sha512-/RmDlOwDkCug609KdPB3U+U1zmrtadJpvsmRg2zEn8TRCKRNri7dYZIjQZbNg8PgUiRL4T6njrZBV1ChzblNaA==", 2001 + "license": "MIT", 2002 + "dependencies": { 2003 + "@tanstack/history": "1.161.6", 2004 + "@tanstack/react-store": "^0.9.3", 2005 + "@tanstack/router-core": "1.168.9", 2006 + "isbot": "^5.1.22" 2007 + }, 2008 + "engines": { 2009 + "node": ">=20.19" 2010 + }, 2011 + "funding": { 2012 + "type": "github", 2013 + "url": "https://github.com/sponsors/tannerlinsley" 2014 + }, 2015 + "peerDependencies": { 2016 + "react": ">=18.0.0 || >=19.0.0", 2017 + "react-dom": ">=18.0.0 || >=19.0.0" 2018 + } 2019 + }, 2020 + "node_modules/@tanstack/react-router-devtools": { 2021 + "version": "1.166.11", 2022 + "resolved": "https://registry.npmjs.org/@tanstack/react-router-devtools/-/react-router-devtools-1.166.11.tgz", 2023 + "integrity": "sha512-WYR3q4Xui5yPT/5PXtQh8i03iUA7q8dONBjWpV3nsGdM8Cs1FxpfhLstW0wZO1dOvSyElscwTRCJ6nO5N8r3Lg==", 2024 + "license": "MIT", 2025 + "dependencies": { 2026 + "@tanstack/router-devtools-core": "1.167.1" 2027 + }, 2028 + "engines": { 2029 + "node": ">=20.19" 2030 + }, 2031 + "funding": { 2032 + "type": "github", 2033 + "url": "https://github.com/sponsors/tannerlinsley" 2034 + }, 2035 + "peerDependencies": { 2036 + "@tanstack/react-router": "^1.168.2", 2037 + "@tanstack/router-core": "^1.168.2", 2038 + "react": ">=18.0.0 || >=19.0.0", 2039 + "react-dom": ">=18.0.0 || >=19.0.0" 2040 + }, 2041 + "peerDependenciesMeta": { 2042 + "@tanstack/router-core": { 2043 + "optional": true 2044 + } 2045 + } 2046 + }, 2047 + "node_modules/@tanstack/react-router-ssr-query": { 2048 + "version": "1.166.10", 2049 + "resolved": "https://registry.npmjs.org/@tanstack/react-router-ssr-query/-/react-router-ssr-query-1.166.10.tgz", 2050 + "integrity": "sha512-Ny5jKZPSy+RBXICJBJkW2q3SKjEwVooIn2zuWfIFL1MNVImQPh/p+yvqDqKdJseIQ45B4JsqFtWVcdy/6rQ0Rg==", 2051 + "license": "MIT", 2052 + "dependencies": { 2053 + "@tanstack/router-ssr-query-core": "1.167.0" 2054 + }, 2055 + "engines": { 2056 + "node": ">=20.19" 2057 + }, 2058 + "funding": { 2059 + "type": "github", 2060 + "url": "https://github.com/sponsors/tannerlinsley" 2061 + }, 2062 + "peerDependencies": { 2063 + "@tanstack/query-core": ">=5.90.0", 2064 + "@tanstack/react-query": ">=5.90.0", 2065 + "@tanstack/react-router": ">=1.127.0", 2066 + "react": ">=18.0.0 || >=19.0.0", 2067 + "react-dom": ">=18.0.0 || >=19.0.0" 2068 + } 2069 + }, 2070 + "node_modules/@tanstack/react-start": { 2071 + "version": "1.167.16", 2072 + "resolved": "https://registry.npmjs.org/@tanstack/react-start/-/react-start-1.167.16.tgz", 2073 + "integrity": "sha512-vHIhn+FTWfAVhRus1BZEaBZPhnYL+StDuMlShslIBPEGGTCRt11BxNUfV/iDpr7zbxw36Snj7zGfI7DwfjjlDQ==", 2074 + "license": "MIT", 2075 + "dependencies": { 2076 + "@tanstack/react-router": "1.168.10", 2077 + "@tanstack/react-start-client": "1.166.25", 2078 + "@tanstack/react-start-server": "1.166.25", 2079 + "@tanstack/router-utils": "^1.161.6", 2080 + "@tanstack/start-client-core": "1.167.9", 2081 + "@tanstack/start-plugin-core": "1.167.17", 2082 + "@tanstack/start-server-core": "1.167.9", 2083 + "pathe": "^2.0.3" 2084 + }, 2085 + "bin": { 2086 + "intent": "bin/intent.js" 2087 + }, 2088 + "engines": { 2089 + "node": ">=22.12.0" 2090 + }, 2091 + "funding": { 2092 + "type": "github", 2093 + "url": "https://github.com/sponsors/tannerlinsley" 2094 + }, 2095 + "peerDependencies": { 2096 + "react": ">=18.0.0 || >=19.0.0", 2097 + "react-dom": ">=18.0.0 || >=19.0.0", 2098 + "vite": ">=7.0.0" 2099 + } 2100 + }, 2101 + "node_modules/@tanstack/react-start-client": { 2102 + "version": "1.166.25", 2103 + "resolved": "https://registry.npmjs.org/@tanstack/react-start-client/-/react-start-client-1.166.25.tgz", 2104 + "integrity": "sha512-FvD279zzneUtsfhaTv2c29qhE1Z3wHy3dt3cCjn9LzWZehOgn5Ij78s0YpmQaQ8lSF3YL7CySE3pDk9XHE6YeA==", 2105 + "license": "MIT", 2106 + "dependencies": { 2107 + "@tanstack/react-router": "1.168.10", 2108 + "@tanstack/router-core": "1.168.9", 2109 + "@tanstack/start-client-core": "1.167.9" 2110 + }, 2111 + "engines": { 2112 + "node": ">=22.12.0" 2113 + }, 2114 + "funding": { 2115 + "type": "github", 2116 + "url": "https://github.com/sponsors/tannerlinsley" 2117 + }, 2118 + "peerDependencies": { 2119 + "react": ">=18.0.0 || >=19.0.0", 2120 + "react-dom": ">=18.0.0 || >=19.0.0" 2121 + } 2122 + }, 2123 + "node_modules/@tanstack/react-start-server": { 2124 + "version": "1.166.25", 2125 + "resolved": "https://registry.npmjs.org/@tanstack/react-start-server/-/react-start-server-1.166.25.tgz", 2126 + "integrity": "sha512-bPLADxlplvcnAcnZvBjJl2MzgUnB85d7Mu5aEkYoOFxhz0WiG6mZp7BDadIJuCd33NYMirsd3XrjfCHNzrMTyg==", 2127 + "license": "MIT", 2128 + "dependencies": { 2129 + "@tanstack/history": "1.161.6", 2130 + "@tanstack/react-router": "1.168.10", 2131 + "@tanstack/router-core": "1.168.9", 2132 + "@tanstack/start-client-core": "1.167.9", 2133 + "@tanstack/start-server-core": "1.167.9" 2134 + }, 2135 + "engines": { 2136 + "node": ">=22.12.0" 2137 + }, 2138 + "funding": { 2139 + "type": "github", 2140 + "url": "https://github.com/sponsors/tannerlinsley" 2141 + }, 2142 + "peerDependencies": { 2143 + "react": ">=18.0.0 || >=19.0.0", 2144 + "react-dom": ">=18.0.0 || >=19.0.0" 2145 + } 2146 + }, 2147 + "node_modules/@tanstack/react-store": { 2148 + "version": "0.9.3", 2149 + "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.9.3.tgz", 2150 + "integrity": "sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==", 2151 + "license": "MIT", 2152 + "dependencies": { 2153 + "@tanstack/store": "0.9.3", 2154 + "use-sync-external-store": "^1.6.0" 2155 + }, 2156 + "funding": { 2157 + "type": "github", 2158 + "url": "https://github.com/sponsors/tannerlinsley" 2159 + }, 2160 + "peerDependencies": { 2161 + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", 2162 + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 2163 + } 2164 + }, 2165 + "node_modules/@tanstack/router-core": { 2166 + "version": "1.168.9", 2167 + "resolved": "https://registry.npmjs.org/@tanstack/router-core/-/router-core-1.168.9.tgz", 2168 + "integrity": "sha512-18oeEwEDyXOIuO1VBP9ACaK7tYHZUjynGDCoUh/5c/BNhia9vCJCp9O0LfhZXOorDc/PmLSgvmweFhVmIxF10g==", 2169 + "license": "MIT", 2170 + "dependencies": { 2171 + "@tanstack/history": "1.161.6", 2172 + "cookie-es": "^2.0.0", 2173 + "seroval": "^1.4.2", 2174 + "seroval-plugins": "^1.4.2" 2175 + }, 2176 + "bin": { 2177 + "intent": "bin/intent.js" 2178 + }, 2179 + "engines": { 2180 + "node": ">=20.19" 2181 + }, 2182 + "funding": { 2183 + "type": "github", 2184 + "url": "https://github.com/sponsors/tannerlinsley" 2185 + } 2186 + }, 2187 + "node_modules/@tanstack/router-devtools-core": { 2188 + "version": "1.167.1", 2189 + "resolved": "https://registry.npmjs.org/@tanstack/router-devtools-core/-/router-devtools-core-1.167.1.tgz", 2190 + "integrity": "sha512-ECMM47J4KmifUvJguGituSiBpfN8SyCUEoxQks5RY09hpIBfR2eswCv2e6cJimjkKwBQXOVTPkTUk/yRvER+9w==", 2191 + "license": "MIT", 2192 + "dependencies": { 2193 + "clsx": "^2.1.1", 2194 + "goober": "^2.1.16" 2195 + }, 2196 + "engines": { 2197 + "node": ">=20.19" 2198 + }, 2199 + "funding": { 2200 + "type": "github", 2201 + "url": "https://github.com/sponsors/tannerlinsley" 2202 + }, 2203 + "peerDependencies": { 2204 + "@tanstack/router-core": "^1.168.2", 2205 + "csstype": "^3.0.10" 2206 + }, 2207 + "peerDependenciesMeta": { 2208 + "csstype": { 2209 + "optional": true 2210 + } 2211 + } 2212 + }, 2213 + "node_modules/@tanstack/router-generator": { 2214 + "version": "1.166.24", 2215 + "resolved": "https://registry.npmjs.org/@tanstack/router-generator/-/router-generator-1.166.24.tgz", 2216 + "integrity": "sha512-vdaGKwuH+r+DPe6R1mjk+TDDmDH6NTG7QqwxHqGEvOH4aGf9sPjhmRKNJZqQr8cPIbfp6u5lXyZ1TeDcSNMVEA==", 2217 + "license": "MIT", 2218 + "dependencies": { 2219 + "@tanstack/router-core": "1.168.9", 2220 + "@tanstack/router-utils": "1.161.6", 2221 + "@tanstack/virtual-file-routes": "1.161.7", 2222 + "prettier": "^3.5.0", 2223 + "recast": "^0.23.11", 2224 + "source-map": "^0.7.4", 2225 + "tsx": "^4.19.2", 2226 + "zod": "^3.24.2" 2227 + }, 2228 + "engines": { 2229 + "node": ">=20.19" 2230 + }, 2231 + "funding": { 2232 + "type": "github", 2233 + "url": "https://github.com/sponsors/tannerlinsley" 2234 + } 2235 + }, 2236 + "node_modules/@tanstack/router-plugin": { 2237 + "version": "1.167.12", 2238 + "resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.167.12.tgz", 2239 + "integrity": "sha512-StEHcctCuFI5taSjO+lhR/yQ+EK63BdyYa+ne6FoNQPB3MMrOUrz2ZVnbqILRLkh2b+p2EfBKt65sgAKdKygPQ==", 2240 + "license": "MIT", 2241 + "dependencies": { 2242 + "@babel/core": "^7.28.5", 2243 + "@babel/plugin-syntax-jsx": "^7.27.1", 2244 + "@babel/plugin-syntax-typescript": "^7.27.1", 2245 + "@babel/template": "^7.27.2", 2246 + "@babel/traverse": "^7.28.5", 2247 + "@babel/types": "^7.28.5", 2248 + "@tanstack/router-core": "1.168.9", 2249 + "@tanstack/router-generator": "1.166.24", 2250 + "@tanstack/router-utils": "1.161.6", 2251 + "@tanstack/virtual-file-routes": "1.161.7", 2252 + "chokidar": "^3.6.0", 2253 + "unplugin": "^2.1.2", 2254 + "zod": "^3.24.2" 2255 + }, 2256 + "bin": { 2257 + "intent": "bin/intent.js" 2258 + }, 2259 + "engines": { 2260 + "node": ">=20.19" 2261 + }, 2262 + "funding": { 2263 + "type": "github", 2264 + "url": "https://github.com/sponsors/tannerlinsley" 2265 + }, 2266 + "peerDependencies": { 2267 + "@rsbuild/core": ">=1.0.2", 2268 + "@tanstack/react-router": "^1.168.10", 2269 + "vite": ">=5.0.0 || >=6.0.0 || >=7.0.0", 2270 + "vite-plugin-solid": "^2.11.10", 2271 + "webpack": ">=5.92.0" 2272 + }, 2273 + "peerDependenciesMeta": { 2274 + "@rsbuild/core": { 2275 + "optional": true 2276 + }, 2277 + "@tanstack/react-router": { 2278 + "optional": true 2279 + }, 2280 + "vite": { 2281 + "optional": true 2282 + }, 2283 + "vite-plugin-solid": { 2284 + "optional": true 2285 + }, 2286 + "webpack": { 2287 + "optional": true 2288 + } 2289 + } 2290 + }, 2291 + "node_modules/@tanstack/router-ssr-query-core": { 2292 + "version": "1.167.0", 2293 + "resolved": "https://registry.npmjs.org/@tanstack/router-ssr-query-core/-/router-ssr-query-core-1.167.0.tgz", 2294 + "integrity": "sha512-+fpK1U+NR8YzcUmXhEy2tdPfT/XxIn1AMd/ODkYGMExAAUWnV8Zptptf41djK5eBj6718P6YTfxLRkxtfUdnVA==", 2295 + "license": "MIT", 2296 + "engines": { 2297 + "node": ">=20.19" 2298 + }, 2299 + "funding": { 2300 + "type": "github", 2301 + "url": "https://github.com/sponsors/tannerlinsley" 2302 + }, 2303 + "peerDependencies": { 2304 + "@tanstack/query-core": ">=5.90.0", 2305 + "@tanstack/router-core": ">=1.127.0" 2306 + } 2307 + }, 2308 + "node_modules/@tanstack/router-utils": { 2309 + "version": "1.161.6", 2310 + "resolved": "https://registry.npmjs.org/@tanstack/router-utils/-/router-utils-1.161.6.tgz", 2311 + "integrity": "sha512-nRcYw+w2OEgK6VfjirYvGyPLOK+tZQz1jkYcmH5AjMamQ9PycnlxZF2aEZtPpNoUsaceX2bHptn6Ub5hGXqNvw==", 2312 + "license": "MIT", 2313 + "dependencies": { 2314 + "@babel/core": "^7.28.5", 2315 + "@babel/generator": "^7.28.5", 2316 + "@babel/parser": "^7.28.5", 2317 + "@babel/types": "^7.28.5", 2318 + "ansis": "^4.1.0", 2319 + "babel-dead-code-elimination": "^1.0.12", 2320 + "diff": "^8.0.2", 2321 + "pathe": "^2.0.3", 2322 + "tinyglobby": "^0.2.15" 2323 + }, 2324 + "engines": { 2325 + "node": ">=20.19" 2326 + }, 2327 + "funding": { 2328 + "type": "github", 2329 + "url": "https://github.com/sponsors/tannerlinsley" 2330 + } 2331 + }, 2332 + "node_modules/@tanstack/start-client-core": { 2333 + "version": "1.167.9", 2334 + "resolved": "https://registry.npmjs.org/@tanstack/start-client-core/-/start-client-core-1.167.9.tgz", 2335 + "integrity": "sha512-2ETQO/bxiZGsoTdPxZb7xR8YqCy5l4kv/QPkwIXuvx/A4BjufngXfgISjXUicXsFRIBZeiFnBzp9A38UMsS2iA==", 2336 + "license": "MIT", 2337 + "dependencies": { 2338 + "@tanstack/router-core": "1.168.9", 2339 + "@tanstack/start-fn-stubs": "1.161.6", 2340 + "@tanstack/start-storage-context": "1.166.23", 2341 + "seroval": "^1.4.2" 2342 + }, 2343 + "bin": { 2344 + "intent": "bin/intent.js" 2345 + }, 2346 + "engines": { 2347 + "node": ">=22.12.0" 2348 + }, 2349 + "funding": { 2350 + "type": "github", 2351 + "url": "https://github.com/sponsors/tannerlinsley" 2352 + } 2353 + }, 2354 + "node_modules/@tanstack/start-fn-stubs": { 2355 + "version": "1.161.6", 2356 + "resolved": "https://registry.npmjs.org/@tanstack/start-fn-stubs/-/start-fn-stubs-1.161.6.tgz", 2357 + "integrity": "sha512-Y6QSlGiLga8cHfvxGGaonXIlt2bIUTVdH6AMjmpMp7+ANNCp+N96GQbjjhLye3JkaxDfP68x5iZA8NK4imgRig==", 2358 + "license": "MIT", 2359 + "engines": { 2360 + "node": ">=22.12.0" 2361 + }, 2362 + "funding": { 2363 + "type": "github", 2364 + "url": "https://github.com/sponsors/tannerlinsley" 2365 + } 2366 + }, 2367 + "node_modules/@tanstack/start-plugin-core": { 2368 + "version": "1.167.17", 2369 + "resolved": "https://registry.npmjs.org/@tanstack/start-plugin-core/-/start-plugin-core-1.167.17.tgz", 2370 + "integrity": "sha512-OkorpOobGOEDVr72QUmkzKjbawKC05CSz+1B3OObB/AxBIIw+lLLhTXbV45QkX2LZA7dcRvPJYZGOH1pkFqA1g==", 2371 + "license": "MIT", 2372 + "dependencies": { 2373 + "@babel/code-frame": "7.27.1", 2374 + "@babel/core": "^7.28.5", 2375 + "@babel/types": "^7.28.5", 2376 + "@rolldown/pluginutils": "1.0.0-beta.40", 2377 + "@tanstack/router-core": "1.168.9", 2378 + "@tanstack/router-generator": "1.166.24", 2379 + "@tanstack/router-plugin": "1.167.12", 2380 + "@tanstack/router-utils": "1.161.6", 2381 + "@tanstack/start-client-core": "1.167.9", 2382 + "@tanstack/start-server-core": "1.167.9", 2383 + "cheerio": "^1.0.0", 2384 + "exsolve": "^1.0.7", 2385 + "pathe": "^2.0.3", 2386 + "picomatch": "^4.0.3", 2387 + "source-map": "^0.7.6", 2388 + "srvx": "^0.11.9", 2389 + "tinyglobby": "^0.2.15", 2390 + "ufo": "^1.5.4", 2391 + "vitefu": "^1.1.1", 2392 + "xmlbuilder2": "^4.0.3", 2393 + "zod": "^3.24.2" 2394 + }, 2395 + "engines": { 2396 + "node": ">=22.12.0" 2397 + }, 2398 + "funding": { 2399 + "type": "github", 2400 + "url": "https://github.com/sponsors/tannerlinsley" 2401 + }, 2402 + "peerDependencies": { 2403 + "vite": ">=7.0.0" 2404 + } 2405 + }, 2406 + "node_modules/@tanstack/start-plugin-core/node_modules/@babel/code-frame": { 2407 + "version": "7.27.1", 2408 + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", 2409 + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", 2410 + "license": "MIT", 2411 + "dependencies": { 2412 + "@babel/helper-validator-identifier": "^7.27.1", 2413 + "js-tokens": "^4.0.0", 2414 + "picocolors": "^1.1.1" 2415 + }, 2416 + "engines": { 2417 + "node": ">=6.9.0" 2418 + } 2419 + }, 2420 + "node_modules/@tanstack/start-server-core": { 2421 + "version": "1.167.9", 2422 + "resolved": "https://registry.npmjs.org/@tanstack/start-server-core/-/start-server-core-1.167.9.tgz", 2423 + "integrity": "sha512-vKkslQIihoDDVumF73VXT7PVFmN7Nea0nKhZx7gMbc0m09yPQYYR1dn86/dz14k6/7cDkJ+qKXa09rlVlN/i9Q==", 2424 + "license": "MIT", 2425 + "dependencies": { 2426 + "@tanstack/history": "1.161.6", 2427 + "@tanstack/router-core": "1.168.9", 2428 + "@tanstack/start-client-core": "1.167.9", 2429 + "@tanstack/start-storage-context": "1.166.23", 2430 + "h3-v2": "npm:h3@2.0.1-rc.16", 2431 + "seroval": "^1.4.2" 2432 + }, 2433 + "bin": { 2434 + "intent": "bin/intent.js" 2435 + }, 2436 + "engines": { 2437 + "node": ">=22.12.0" 2438 + }, 2439 + "funding": { 2440 + "type": "github", 2441 + "url": "https://github.com/sponsors/tannerlinsley" 2442 + } 2443 + }, 2444 + "node_modules/@tanstack/start-storage-context": { 2445 + "version": "1.166.23", 2446 + "resolved": "https://registry.npmjs.org/@tanstack/start-storage-context/-/start-storage-context-1.166.23.tgz", 2447 + "integrity": "sha512-3vEdiYRMx+r+Q7Xqxj3YmADPIpMm7fkKxDa8ITwodGXiw+SBJCGkpBXGUWjOXyXkIyqGHKM5UrReTcVUTkmaug==", 2448 + "license": "MIT", 2449 + "dependencies": { 2450 + "@tanstack/router-core": "1.168.9" 2451 + }, 2452 + "engines": { 2453 + "node": ">=22.12.0" 2454 + }, 2455 + "funding": { 2456 + "type": "github", 2457 + "url": "https://github.com/sponsors/tannerlinsley" 2458 + } 2459 + }, 2460 + "node_modules/@tanstack/store": { 2461 + "version": "0.9.3", 2462 + "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.9.3.tgz", 2463 + "integrity": "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==", 2464 + "license": "MIT", 2465 + "funding": { 2466 + "type": "github", 2467 + "url": "https://github.com/sponsors/tannerlinsley" 2468 + } 2469 + }, 2470 + "node_modules/@tanstack/virtual-file-routes": { 2471 + "version": "1.161.7", 2472 + "resolved": "https://registry.npmjs.org/@tanstack/virtual-file-routes/-/virtual-file-routes-1.161.7.tgz", 2473 + "integrity": "sha512-olW33+Cn+bsCsZKPwEGhlkqS6w3M2slFv11JIobdnCFKMLG97oAI2kWKdx5/zsywTL8flpnoIgaZZPlQTFYhdQ==", 2474 + "license": "MIT", 2475 + "bin": { 2476 + "intent": "bin/intent.js" 2477 + }, 2478 + "engines": { 2479 + "node": ">=20.19" 2480 + }, 2481 + "funding": { 2482 + "type": "github", 2483 + "url": "https://github.com/sponsors/tannerlinsley" 2484 + } 2485 + }, 2486 + "node_modules/@testing-library/dom": { 2487 + "version": "10.4.1", 2488 + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", 2489 + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", 2490 + "dev": true, 2491 + "license": "MIT", 2492 + "dependencies": { 2493 + "@babel/code-frame": "^7.10.4", 2494 + "@babel/runtime": "^7.12.5", 2495 + "@types/aria-query": "^5.0.1", 2496 + "aria-query": "5.3.0", 2497 + "dom-accessibility-api": "^0.5.9", 2498 + "lz-string": "^1.5.0", 2499 + "picocolors": "1.1.1", 2500 + "pretty-format": "^27.0.2" 2501 + }, 2502 + "engines": { 2503 + "node": ">=18" 2504 + } 2505 + }, 2506 + "node_modules/@testing-library/react": { 2507 + "version": "16.3.2", 2508 + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", 2509 + "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", 2510 + "dev": true, 2511 + "license": "MIT", 2512 + "dependencies": { 2513 + "@babel/runtime": "^7.12.5" 2514 + }, 2515 + "engines": { 2516 + "node": ">=18" 2517 + }, 2518 + "peerDependencies": { 2519 + "@testing-library/dom": "^10.0.0", 2520 + "@types/react": "^18.0.0 || ^19.0.0", 2521 + "@types/react-dom": "^18.0.0 || ^19.0.0", 2522 + "react": "^18.0.0 || ^19.0.0", 2523 + "react-dom": "^18.0.0 || ^19.0.0" 2524 + }, 2525 + "peerDependenciesMeta": { 2526 + "@types/react": { 2527 + "optional": true 2528 + }, 2529 + "@types/react-dom": { 2530 + "optional": true 2531 + } 2532 + } 2533 + }, 2534 + "node_modules/@types/aria-query": { 2535 + "version": "5.0.4", 2536 + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", 2537 + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", 2538 + "dev": true, 2539 + "license": "MIT" 2540 + }, 2541 + "node_modules/@types/babel__core": { 2542 + "version": "7.20.5", 2543 + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", 2544 + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", 2545 + "dev": true, 2546 + "license": "MIT", 2547 + "dependencies": { 2548 + "@babel/parser": "^7.20.7", 2549 + "@babel/types": "^7.20.7", 2550 + "@types/babel__generator": "*", 2551 + "@types/babel__template": "*", 2552 + "@types/babel__traverse": "*" 2553 + } 2554 + }, 2555 + "node_modules/@types/babel__generator": { 2556 + "version": "7.27.0", 2557 + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", 2558 + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", 2559 + "dev": true, 2560 + "license": "MIT", 2561 + "dependencies": { 2562 + "@babel/types": "^7.0.0" 2563 + } 2564 + }, 2565 + "node_modules/@types/babel__template": { 2566 + "version": "7.4.4", 2567 + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", 2568 + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", 2569 + "dev": true, 2570 + "license": "MIT", 2571 + "dependencies": { 2572 + "@babel/parser": "^7.1.0", 2573 + "@babel/types": "^7.0.0" 2574 + } 2575 + }, 2576 + "node_modules/@types/babel__traverse": { 2577 + "version": "7.28.0", 2578 + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", 2579 + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", 2580 + "dev": true, 2581 + "license": "MIT", 2582 + "dependencies": { 2583 + "@babel/types": "^7.28.2" 2584 + } 2585 + }, 2586 + "node_modules/@types/chai": { 2587 + "version": "5.2.3", 2588 + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", 2589 + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", 2590 + "dev": true, 2591 + "license": "MIT", 2592 + "dependencies": { 2593 + "@types/deep-eql": "*", 2594 + "assertion-error": "^2.0.1" 2595 + } 2596 + }, 2597 + "node_modules/@types/deep-eql": { 2598 + "version": "4.0.2", 2599 + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", 2600 + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", 2601 + "dev": true, 2602 + "license": "MIT" 2603 + }, 2604 + "node_modules/@types/estree": { 2605 + "version": "1.0.8", 2606 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", 2607 + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", 2608 + "license": "MIT" 2609 + }, 2610 + "node_modules/@types/node": { 2611 + "version": "22.19.17", 2612 + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz", 2613 + "integrity": "sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==", 2614 + "devOptional": true, 2615 + "license": "MIT", 2616 + "dependencies": { 2617 + "undici-types": "~6.21.0" 2618 + } 2619 + }, 2620 + "node_modules/@types/react": { 2621 + "version": "19.2.14", 2622 + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", 2623 + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", 2624 + "license": "MIT", 2625 + "dependencies": { 2626 + "csstype": "^3.2.2" 2627 + } 2628 + }, 2629 + "node_modules/@types/react-dom": { 2630 + "version": "19.2.3", 2631 + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", 2632 + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", 2633 + "license": "MIT", 2634 + "peerDependencies": { 2635 + "@types/react": "^19.2.0" 2636 + } 2637 + }, 2638 + "node_modules/@vitejs/plugin-react": { 2639 + "version": "5.2.0", 2640 + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.2.0.tgz", 2641 + "integrity": "sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==", 2642 + "dev": true, 2643 + "license": "MIT", 2644 + "dependencies": { 2645 + "@babel/core": "^7.29.0", 2646 + "@babel/plugin-transform-react-jsx-self": "^7.27.1", 2647 + "@babel/plugin-transform-react-jsx-source": "^7.27.1", 2648 + "@rolldown/pluginutils": "1.0.0-rc.3", 2649 + "@types/babel__core": "^7.20.5", 2650 + "react-refresh": "^0.18.0" 2651 + }, 2652 + "engines": { 2653 + "node": "^20.19.0 || >=22.12.0" 2654 + }, 2655 + "peerDependencies": { 2656 + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" 2657 + } 2658 + }, 2659 + "node_modules/@vitejs/plugin-react/node_modules/@rolldown/pluginutils": { 2660 + "version": "1.0.0-rc.3", 2661 + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz", 2662 + "integrity": "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==", 2663 + "dev": true, 2664 + "license": "MIT" 2665 + }, 2666 + "node_modules/@vitest/expect": { 2667 + "version": "3.2.4", 2668 + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", 2669 + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", 2670 + "dev": true, 2671 + "license": "MIT", 2672 + "dependencies": { 2673 + "@types/chai": "^5.2.2", 2674 + "@vitest/spy": "3.2.4", 2675 + "@vitest/utils": "3.2.4", 2676 + "chai": "^5.2.0", 2677 + "tinyrainbow": "^2.0.0" 2678 + }, 2679 + "funding": { 2680 + "url": "https://opencollective.com/vitest" 2681 + } 2682 + }, 2683 + "node_modules/@vitest/mocker": { 2684 + "version": "3.2.4", 2685 + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", 2686 + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", 2687 + "dev": true, 2688 + "license": "MIT", 2689 + "dependencies": { 2690 + "@vitest/spy": "3.2.4", 2691 + "estree-walker": "^3.0.3", 2692 + "magic-string": "^0.30.17" 2693 + }, 2694 + "funding": { 2695 + "url": "https://opencollective.com/vitest" 2696 + }, 2697 + "peerDependencies": { 2698 + "msw": "^2.4.9", 2699 + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" 2700 + }, 2701 + "peerDependenciesMeta": { 2702 + "msw": { 2703 + "optional": true 2704 + }, 2705 + "vite": { 2706 + "optional": true 2707 + } 2708 + } 2709 + }, 2710 + "node_modules/@vitest/pretty-format": { 2711 + "version": "3.2.4", 2712 + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", 2713 + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", 2714 + "dev": true, 2715 + "license": "MIT", 2716 + "dependencies": { 2717 + "tinyrainbow": "^2.0.0" 2718 + }, 2719 + "funding": { 2720 + "url": "https://opencollective.com/vitest" 2721 + } 2722 + }, 2723 + "node_modules/@vitest/runner": { 2724 + "version": "3.2.4", 2725 + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", 2726 + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", 2727 + "dev": true, 2728 + "license": "MIT", 2729 + "dependencies": { 2730 + "@vitest/utils": "3.2.4", 2731 + "pathe": "^2.0.3", 2732 + "strip-literal": "^3.0.0" 2733 + }, 2734 + "funding": { 2735 + "url": "https://opencollective.com/vitest" 2736 + } 2737 + }, 2738 + "node_modules/@vitest/snapshot": { 2739 + "version": "3.2.4", 2740 + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", 2741 + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", 2742 + "dev": true, 2743 + "license": "MIT", 2744 + "dependencies": { 2745 + "@vitest/pretty-format": "3.2.4", 2746 + "magic-string": "^0.30.17", 2747 + "pathe": "^2.0.3" 2748 + }, 2749 + "funding": { 2750 + "url": "https://opencollective.com/vitest" 2751 + } 2752 + }, 2753 + "node_modules/@vitest/spy": { 2754 + "version": "3.2.4", 2755 + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", 2756 + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", 2757 + "dev": true, 2758 + "license": "MIT", 2759 + "dependencies": { 2760 + "tinyspy": "^4.0.3" 2761 + }, 2762 + "funding": { 2763 + "url": "https://opencollective.com/vitest" 2764 + } 2765 + }, 2766 + "node_modules/@vitest/utils": { 2767 + "version": "3.2.4", 2768 + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", 2769 + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", 2770 + "dev": true, 2771 + "license": "MIT", 2772 + "dependencies": { 2773 + "@vitest/pretty-format": "3.2.4", 2774 + "loupe": "^3.1.4", 2775 + "tinyrainbow": "^2.0.0" 2776 + }, 2777 + "funding": { 2778 + "url": "https://opencollective.com/vitest" 2779 + } 2780 + }, 2781 + "node_modules/acorn": { 2782 + "version": "8.16.0", 2783 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", 2784 + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", 2785 + "license": "MIT", 2786 + "bin": { 2787 + "acorn": "bin/acorn" 2788 + }, 2789 + "engines": { 2790 + "node": ">=0.4.0" 2791 + } 2792 + }, 2793 + "node_modules/agent-base": { 2794 + "version": "7.1.4", 2795 + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", 2796 + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", 2797 + "dev": true, 2798 + "license": "MIT", 2799 + "engines": { 2800 + "node": ">= 14" 2801 + } 2802 + }, 2803 + "node_modules/ansi-regex": { 2804 + "version": "5.0.1", 2805 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2806 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2807 + "dev": true, 2808 + "license": "MIT", 2809 + "engines": { 2810 + "node": ">=8" 2811 + } 2812 + }, 2813 + "node_modules/ansi-styles": { 2814 + "version": "5.2.0", 2815 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 2816 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 2817 + "dev": true, 2818 + "license": "MIT", 2819 + "engines": { 2820 + "node": ">=10" 2821 + }, 2822 + "funding": { 2823 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2824 + } 2825 + }, 2826 + "node_modules/ansis": { 2827 + "version": "4.2.0", 2828 + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", 2829 + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", 2830 + "license": "ISC", 2831 + "engines": { 2832 + "node": ">=14" 2833 + } 2834 + }, 2835 + "node_modules/anymatch": { 2836 + "version": "3.1.3", 2837 + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 2838 + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 2839 + "license": "ISC", 2840 + "dependencies": { 2841 + "normalize-path": "^3.0.0", 2842 + "picomatch": "^2.0.4" 2843 + }, 2844 + "engines": { 2845 + "node": ">= 8" 2846 + } 2847 + }, 2848 + "node_modules/anymatch/node_modules/picomatch": { 2849 + "version": "2.3.2", 2850 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", 2851 + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", 2852 + "license": "MIT", 2853 + "engines": { 2854 + "node": ">=8.6" 2855 + }, 2856 + "funding": { 2857 + "url": "https://github.com/sponsors/jonschlinkert" 2858 + } 2859 + }, 2860 + "node_modules/argparse": { 2861 + "version": "2.0.1", 2862 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 2863 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 2864 + "license": "Python-2.0" 2865 + }, 2866 + "node_modules/aria-query": { 2867 + "version": "5.3.0", 2868 + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", 2869 + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", 2870 + "dev": true, 2871 + "license": "Apache-2.0", 2872 + "dependencies": { 2873 + "dequal": "^2.0.3" 2874 + } 2875 + }, 2876 + "node_modules/assertion-error": { 2877 + "version": "2.0.1", 2878 + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", 2879 + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", 2880 + "dev": true, 2881 + "license": "MIT", 2882 + "engines": { 2883 + "node": ">=12" 2884 + } 2885 + }, 2886 + "node_modules/ast-types": { 2887 + "version": "0.16.1", 2888 + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", 2889 + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", 2890 + "license": "MIT", 2891 + "dependencies": { 2892 + "tslib": "^2.0.1" 2893 + }, 2894 + "engines": { 2895 + "node": ">=4" 2896 + } 2897 + }, 2898 + "node_modules/babel-dead-code-elimination": { 2899 + "version": "1.0.12", 2900 + "resolved": "https://registry.npmjs.org/babel-dead-code-elimination/-/babel-dead-code-elimination-1.0.12.tgz", 2901 + "integrity": "sha512-GERT7L2TiYcYDtYk1IpD+ASAYXjKbLTDPhBtYj7X1NuRMDTMtAx9kyBenub1Ev41lo91OHCKdmP+egTDmfQ7Ig==", 2902 + "license": "MIT", 2903 + "dependencies": { 2904 + "@babel/core": "^7.23.7", 2905 + "@babel/parser": "^7.23.6", 2906 + "@babel/traverse": "^7.23.7", 2907 + "@babel/types": "^7.23.6" 2908 + } 2909 + }, 2910 + "node_modules/baseline-browser-mapping": { 2911 + "version": "2.10.16", 2912 + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.16.tgz", 2913 + "integrity": "sha512-Lyf3aK28zpsD1yQMiiHD4RvVb6UdMoo8xzG2XzFIfR9luPzOpcBlAsT/qfB1XWS1bxWT+UtE4WmQgsp297FYOA==", 2914 + "license": "Apache-2.0", 2915 + "bin": { 2916 + "baseline-browser-mapping": "dist/cli.cjs" 2917 + }, 2918 + "engines": { 2919 + "node": ">=6.0.0" 2920 + } 2921 + }, 2922 + "node_modules/bidi-js": { 2923 + "version": "1.0.3", 2924 + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", 2925 + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", 2926 + "dev": true, 2927 + "license": "MIT", 2928 + "dependencies": { 2929 + "require-from-string": "^2.0.2" 2930 + } 2931 + }, 2932 + "node_modules/binary-extensions": { 2933 + "version": "2.3.0", 2934 + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 2935 + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 2936 + "license": "MIT", 2937 + "engines": { 2938 + "node": ">=8" 2939 + }, 2940 + "funding": { 2941 + "url": "https://github.com/sponsors/sindresorhus" 2942 + } 2943 + }, 2944 + "node_modules/boolbase": { 2945 + "version": "1.0.0", 2946 + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 2947 + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", 2948 + "license": "ISC" 2949 + }, 2950 + "node_modules/braces": { 2951 + "version": "3.0.3", 2952 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 2953 + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 2954 + "license": "MIT", 2955 + "dependencies": { 2956 + "fill-range": "^7.1.1" 2957 + }, 2958 + "engines": { 2959 + "node": ">=8" 2960 + } 2961 + }, 2962 + "node_modules/browserslist": { 2963 + "version": "4.28.2", 2964 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", 2965 + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", 2966 + "funding": [ 2967 + { 2968 + "type": "opencollective", 2969 + "url": "https://opencollective.com/browserslist" 2970 + }, 2971 + { 2972 + "type": "tidelift", 2973 + "url": "https://tidelift.com/funding/github/npm/browserslist" 2974 + }, 2975 + { 2976 + "type": "github", 2977 + "url": "https://github.com/sponsors/ai" 2978 + } 2979 + ], 2980 + "license": "MIT", 2981 + "dependencies": { 2982 + "baseline-browser-mapping": "^2.10.12", 2983 + "caniuse-lite": "^1.0.30001782", 2984 + "electron-to-chromium": "^1.5.328", 2985 + "node-releases": "^2.0.36", 2986 + "update-browserslist-db": "^1.2.3" 2987 + }, 2988 + "bin": { 2989 + "browserslist": "cli.js" 2990 + }, 2991 + "engines": { 2992 + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 2993 + } 2994 + }, 2995 + "node_modules/cac": { 2996 + "version": "6.7.14", 2997 + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", 2998 + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", 2999 + "dev": true, 3000 + "license": "MIT", 3001 + "engines": { 3002 + "node": ">=8" 3003 + } 3004 + }, 3005 + "node_modules/caniuse-lite": { 3006 + "version": "1.0.30001787", 3007 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001787.tgz", 3008 + "integrity": "sha512-mNcrMN9KeI68u7muanUpEejSLghOKlVhRqS/Za2IeyGllJ9I9otGpR9g3nsw7n4W378TE/LyIteA0+/FOZm4Kg==", 3009 + "funding": [ 3010 + { 3011 + "type": "opencollective", 3012 + "url": "https://opencollective.com/browserslist" 3013 + }, 3014 + { 3015 + "type": "tidelift", 3016 + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 3017 + }, 3018 + { 3019 + "type": "github", 3020 + "url": "https://github.com/sponsors/ai" 3021 + } 3022 + ], 3023 + "license": "CC-BY-4.0" 3024 + }, 3025 + "node_modules/chai": { 3026 + "version": "5.3.3", 3027 + "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", 3028 + "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", 3029 + "dev": true, 3030 + "license": "MIT", 3031 + "dependencies": { 3032 + "assertion-error": "^2.0.1", 3033 + "check-error": "^2.1.1", 3034 + "deep-eql": "^5.0.1", 3035 + "loupe": "^3.1.0", 3036 + "pathval": "^2.0.0" 3037 + }, 3038 + "engines": { 3039 + "node": ">=18" 3040 + } 3041 + }, 3042 + "node_modules/chalk": { 3043 + "version": "5.6.2", 3044 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", 3045 + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", 3046 + "dev": true, 3047 + "license": "MIT", 3048 + "engines": { 3049 + "node": "^12.17.0 || ^14.13 || >=16.0.0" 3050 + }, 3051 + "funding": { 3052 + "url": "https://github.com/chalk/chalk?sponsor=1" 3053 + } 3054 + }, 3055 + "node_modules/check-error": { 3056 + "version": "2.1.3", 3057 + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz", 3058 + "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==", 3059 + "dev": true, 3060 + "license": "MIT", 3061 + "engines": { 3062 + "node": ">= 16" 3063 + } 3064 + }, 3065 + "node_modules/cheerio": { 3066 + "version": "1.2.0", 3067 + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.2.0.tgz", 3068 + "integrity": "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==", 3069 + "license": "MIT", 3070 + "dependencies": { 3071 + "cheerio-select": "^2.1.0", 3072 + "dom-serializer": "^2.0.0", 3073 + "domhandler": "^5.0.3", 3074 + "domutils": "^3.2.2", 3075 + "encoding-sniffer": "^0.2.1", 3076 + "htmlparser2": "^10.1.0", 3077 + "parse5": "^7.3.0", 3078 + "parse5-htmlparser2-tree-adapter": "^7.1.0", 3079 + "parse5-parser-stream": "^7.1.2", 3080 + "undici": "^7.19.0", 3081 + "whatwg-mimetype": "^4.0.0" 3082 + }, 3083 + "engines": { 3084 + "node": ">=20.18.1" 3085 + }, 3086 + "funding": { 3087 + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" 3088 + } 3089 + }, 3090 + "node_modules/cheerio-select": { 3091 + "version": "2.1.0", 3092 + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", 3093 + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", 3094 + "license": "BSD-2-Clause", 3095 + "dependencies": { 3096 + "boolbase": "^1.0.0", 3097 + "css-select": "^5.1.0", 3098 + "css-what": "^6.1.0", 3099 + "domelementtype": "^2.3.0", 3100 + "domhandler": "^5.0.3", 3101 + "domutils": "^3.0.1" 3102 + }, 3103 + "funding": { 3104 + "url": "https://github.com/sponsors/fb55" 3105 + } 3106 + }, 3107 + "node_modules/chokidar": { 3108 + "version": "3.6.0", 3109 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 3110 + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 3111 + "license": "MIT", 3112 + "dependencies": { 3113 + "anymatch": "~3.1.2", 3114 + "braces": "~3.0.2", 3115 + "glob-parent": "~5.1.2", 3116 + "is-binary-path": "~2.1.0", 3117 + "is-glob": "~4.0.1", 3118 + "normalize-path": "~3.0.0", 3119 + "readdirp": "~3.6.0" 3120 + }, 3121 + "engines": { 3122 + "node": ">= 8.10.0" 3123 + }, 3124 + "funding": { 3125 + "url": "https://paulmillr.com/funding/" 3126 + }, 3127 + "optionalDependencies": { 3128 + "fsevents": "~2.3.2" 3129 + } 3130 + }, 3131 + "node_modules/clsx": { 3132 + "version": "2.1.1", 3133 + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", 3134 + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", 3135 + "license": "MIT", 3136 + "engines": { 3137 + "node": ">=6" 3138 + } 3139 + }, 3140 + "node_modules/convert-source-map": { 3141 + "version": "2.0.0", 3142 + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 3143 + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 3144 + "license": "MIT" 3145 + }, 3146 + "node_modules/cookie-es": { 3147 + "version": "2.0.1", 3148 + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-2.0.1.tgz", 3149 + "integrity": "sha512-aVf4A4hI2w70LnF7GG+7xDQUkliwiXWXFvTjkip4+b64ygDQ2sJPRSKFDHbxn8o0xu9QzPkMuuiWIXyFSE2slA==", 3150 + "license": "MIT" 3151 + }, 3152 + "node_modules/css-select": { 3153 + "version": "5.2.2", 3154 + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", 3155 + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", 3156 + "license": "BSD-2-Clause", 3157 + "dependencies": { 3158 + "boolbase": "^1.0.0", 3159 + "css-what": "^6.1.0", 3160 + "domhandler": "^5.0.2", 3161 + "domutils": "^3.0.1", 3162 + "nth-check": "^2.0.1" 3163 + }, 3164 + "funding": { 3165 + "url": "https://github.com/sponsors/fb55" 3166 + } 3167 + }, 3168 + "node_modules/css-tree": { 3169 + "version": "3.2.1", 3170 + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", 3171 + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", 3172 + "dev": true, 3173 + "license": "MIT", 3174 + "dependencies": { 3175 + "mdn-data": "2.27.1", 3176 + "source-map-js": "^1.2.1" 3177 + }, 3178 + "engines": { 3179 + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" 3180 + } 3181 + }, 3182 + "node_modules/css-what": { 3183 + "version": "6.2.2", 3184 + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", 3185 + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", 3186 + "license": "BSD-2-Clause", 3187 + "engines": { 3188 + "node": ">= 6" 3189 + }, 3190 + "funding": { 3191 + "url": "https://github.com/sponsors/fb55" 3192 + } 3193 + }, 3194 + "node_modules/cssesc": { 3195 + "version": "3.0.0", 3196 + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 3197 + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 3198 + "dev": true, 3199 + "license": "MIT", 3200 + "bin": { 3201 + "cssesc": "bin/cssesc" 3202 + }, 3203 + "engines": { 3204 + "node": ">=4" 3205 + } 3206 + }, 3207 + "node_modules/cssstyle": { 3208 + "version": "6.2.0", 3209 + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-6.2.0.tgz", 3210 + "integrity": "sha512-Fm5NvhYathRnXNVndkUsCCuR63DCLVVwGOOwQw782coXFi5HhkXdu289l59HlXZBawsyNccXfWRYvLzcDCdDig==", 3211 + "dev": true, 3212 + "license": "MIT", 3213 + "dependencies": { 3214 + "@asamuzakjp/css-color": "^5.0.1", 3215 + "@csstools/css-syntax-patches-for-csstree": "^1.0.28", 3216 + "css-tree": "^3.1.0", 3217 + "lru-cache": "^11.2.6" 3218 + }, 3219 + "engines": { 3220 + "node": ">=20" 3221 + } 3222 + }, 3223 + "node_modules/cssstyle/node_modules/lru-cache": { 3224 + "version": "11.3.3", 3225 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.3.tgz", 3226 + "integrity": "sha512-JvNw9Y81y33E+BEYPr0U7omo+U9AySnsMsEiXgwT6yqd31VQWTLNQqmT4ou5eqPFUrTfIDFta2wKhB1hyohtAQ==", 3227 + "dev": true, 3228 + "license": "BlueOak-1.0.0", 3229 + "engines": { 3230 + "node": "20 || >=22" 3231 + } 3232 + }, 3233 + "node_modules/csstype": { 3234 + "version": "3.2.3", 3235 + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", 3236 + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", 3237 + "license": "MIT" 3238 + }, 3239 + "node_modules/data-urls": { 3240 + "version": "7.0.0", 3241 + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", 3242 + "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", 3243 + "dev": true, 3244 + "license": "MIT", 3245 + "dependencies": { 3246 + "whatwg-mimetype": "^5.0.0", 3247 + "whatwg-url": "^16.0.0" 3248 + }, 3249 + "engines": { 3250 + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" 3251 + } 3252 + }, 3253 + "node_modules/data-urls/node_modules/whatwg-mimetype": { 3254 + "version": "5.0.0", 3255 + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", 3256 + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", 3257 + "dev": true, 3258 + "license": "MIT", 3259 + "engines": { 3260 + "node": ">=20" 3261 + } 3262 + }, 3263 + "node_modules/dayjs": { 3264 + "version": "1.11.20", 3265 + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.20.tgz", 3266 + "integrity": "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==", 3267 + "license": "MIT" 3268 + }, 3269 + "node_modules/debug": { 3270 + "version": "4.4.3", 3271 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 3272 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 3273 + "license": "MIT", 3274 + "dependencies": { 3275 + "ms": "^2.1.3" 3276 + }, 3277 + "engines": { 3278 + "node": ">=6.0" 3279 + }, 3280 + "peerDependenciesMeta": { 3281 + "supports-color": { 3282 + "optional": true 3283 + } 3284 + } 3285 + }, 3286 + "node_modules/decimal.js": { 3287 + "version": "10.6.0", 3288 + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", 3289 + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", 3290 + "dev": true, 3291 + "license": "MIT" 3292 + }, 3293 + "node_modules/deep-eql": { 3294 + "version": "5.0.2", 3295 + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", 3296 + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", 3297 + "dev": true, 3298 + "license": "MIT", 3299 + "engines": { 3300 + "node": ">=6" 3301 + } 3302 + }, 3303 + "node_modules/dequal": { 3304 + "version": "2.0.3", 3305 + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", 3306 + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", 3307 + "dev": true, 3308 + "license": "MIT", 3309 + "engines": { 3310 + "node": ">=6" 3311 + } 3312 + }, 3313 + "node_modules/detect-libc": { 3314 + "version": "2.1.2", 3315 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", 3316 + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", 3317 + "license": "Apache-2.0", 3318 + "engines": { 3319 + "node": ">=8" 3320 + } 3321 + }, 3322 + "node_modules/diff": { 3323 + "version": "8.0.4", 3324 + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", 3325 + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", 3326 + "license": "BSD-3-Clause", 3327 + "engines": { 3328 + "node": ">=0.3.1" 3329 + } 3330 + }, 3331 + "node_modules/dom-accessibility-api": { 3332 + "version": "0.5.16", 3333 + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", 3334 + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", 3335 + "dev": true, 3336 + "license": "MIT" 3337 + }, 3338 + "node_modules/dom-serializer": { 3339 + "version": "2.0.0", 3340 + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", 3341 + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", 3342 + "license": "MIT", 3343 + "dependencies": { 3344 + "domelementtype": "^2.3.0", 3345 + "domhandler": "^5.0.2", 3346 + "entities": "^4.2.0" 3347 + }, 3348 + "funding": { 3349 + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 3350 + } 3351 + }, 3352 + "node_modules/domelementtype": { 3353 + "version": "2.3.0", 3354 + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 3355 + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 3356 + "funding": [ 3357 + { 3358 + "type": "github", 3359 + "url": "https://github.com/sponsors/fb55" 3360 + } 3361 + ], 3362 + "license": "BSD-2-Clause" 3363 + }, 3364 + "node_modules/domhandler": { 3365 + "version": "5.0.3", 3366 + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", 3367 + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", 3368 + "license": "BSD-2-Clause", 3369 + "dependencies": { 3370 + "domelementtype": "^2.3.0" 3371 + }, 3372 + "engines": { 3373 + "node": ">= 4" 3374 + }, 3375 + "funding": { 3376 + "url": "https://github.com/fb55/domhandler?sponsor=1" 3377 + } 3378 + }, 3379 + "node_modules/domutils": { 3380 + "version": "3.2.2", 3381 + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", 3382 + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", 3383 + "license": "BSD-2-Clause", 3384 + "dependencies": { 3385 + "dom-serializer": "^2.0.0", 3386 + "domelementtype": "^2.3.0", 3387 + "domhandler": "^5.0.3" 3388 + }, 3389 + "funding": { 3390 + "url": "https://github.com/fb55/domutils?sponsor=1" 3391 + } 3392 + }, 3393 + "node_modules/electron-to-chromium": { 3394 + "version": "1.5.334", 3395 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.334.tgz", 3396 + "integrity": "sha512-mgjZAz7Jyx1SRCwEpy9wefDS7GvNPazLthHg8eQMJ76wBdGQQDW33TCrUTvQ4wzpmOrv2zrFoD3oNufMdyMpog==", 3397 + "license": "ISC" 3398 + }, 3399 + "node_modules/encoding-sniffer": { 3400 + "version": "0.2.1", 3401 + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", 3402 + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", 3403 + "license": "MIT", 3404 + "dependencies": { 3405 + "iconv-lite": "^0.6.3", 3406 + "whatwg-encoding": "^3.1.1" 3407 + }, 3408 + "funding": { 3409 + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" 3410 + } 3411 + }, 3412 + "node_modules/enhanced-resolve": { 3413 + "version": "5.20.1", 3414 + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", 3415 + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", 3416 + "license": "MIT", 3417 + "dependencies": { 3418 + "graceful-fs": "^4.2.4", 3419 + "tapable": "^2.3.0" 3420 + }, 3421 + "engines": { 3422 + "node": ">=10.13.0" 3423 + } 3424 + }, 3425 + "node_modules/entities": { 3426 + "version": "4.5.0", 3427 + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 3428 + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 3429 + "license": "BSD-2-Clause", 3430 + "engines": { 3431 + "node": ">=0.12" 3432 + }, 3433 + "funding": { 3434 + "url": "https://github.com/fb55/entities?sponsor=1" 3435 + } 3436 + }, 3437 + "node_modules/es-module-lexer": { 3438 + "version": "1.7.0", 3439 + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", 3440 + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", 3441 + "dev": true, 3442 + "license": "MIT" 3443 + }, 3444 + "node_modules/esbuild": { 3445 + "version": "0.27.7", 3446 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", 3447 + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", 3448 + "hasInstallScript": true, 3449 + "license": "MIT", 3450 + "bin": { 3451 + "esbuild": "bin/esbuild" 3452 + }, 3453 + "engines": { 3454 + "node": ">=18" 3455 + }, 3456 + "optionalDependencies": { 3457 + "@esbuild/aix-ppc64": "0.27.7", 3458 + "@esbuild/android-arm": "0.27.7", 3459 + "@esbuild/android-arm64": "0.27.7", 3460 + "@esbuild/android-x64": "0.27.7", 3461 + "@esbuild/darwin-arm64": "0.27.7", 3462 + "@esbuild/darwin-x64": "0.27.7", 3463 + "@esbuild/freebsd-arm64": "0.27.7", 3464 + "@esbuild/freebsd-x64": "0.27.7", 3465 + "@esbuild/linux-arm": "0.27.7", 3466 + "@esbuild/linux-arm64": "0.27.7", 3467 + "@esbuild/linux-ia32": "0.27.7", 3468 + "@esbuild/linux-loong64": "0.27.7", 3469 + "@esbuild/linux-mips64el": "0.27.7", 3470 + "@esbuild/linux-ppc64": "0.27.7", 3471 + "@esbuild/linux-riscv64": "0.27.7", 3472 + "@esbuild/linux-s390x": "0.27.7", 3473 + "@esbuild/linux-x64": "0.27.7", 3474 + "@esbuild/netbsd-arm64": "0.27.7", 3475 + "@esbuild/netbsd-x64": "0.27.7", 3476 + "@esbuild/openbsd-arm64": "0.27.7", 3477 + "@esbuild/openbsd-x64": "0.27.7", 3478 + "@esbuild/openharmony-arm64": "0.27.7", 3479 + "@esbuild/sunos-x64": "0.27.7", 3480 + "@esbuild/win32-arm64": "0.27.7", 3481 + "@esbuild/win32-ia32": "0.27.7", 3482 + "@esbuild/win32-x64": "0.27.7" 3483 + } 3484 + }, 3485 + "node_modules/escalade": { 3486 + "version": "3.2.0", 3487 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 3488 + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 3489 + "license": "MIT", 3490 + "engines": { 3491 + "node": ">=6" 3492 + } 3493 + }, 3494 + "node_modules/esprima": { 3495 + "version": "4.0.1", 3496 + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 3497 + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 3498 + "license": "BSD-2-Clause", 3499 + "bin": { 3500 + "esparse": "bin/esparse.js", 3501 + "esvalidate": "bin/esvalidate.js" 3502 + }, 3503 + "engines": { 3504 + "node": ">=4" 3505 + } 3506 + }, 3507 + "node_modules/estree-walker": { 3508 + "version": "3.0.3", 3509 + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", 3510 + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", 3511 + "dev": true, 3512 + "license": "MIT", 3513 + "dependencies": { 3514 + "@types/estree": "^1.0.0" 3515 + } 3516 + }, 3517 + "node_modules/expect-type": { 3518 + "version": "1.3.0", 3519 + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", 3520 + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", 3521 + "dev": true, 3522 + "license": "Apache-2.0", 3523 + "engines": { 3524 + "node": ">=12.0.0" 3525 + } 3526 + }, 3527 + "node_modules/exsolve": { 3528 + "version": "1.0.8", 3529 + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", 3530 + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==", 3531 + "license": "MIT" 3532 + }, 3533 + "node_modules/fdir": { 3534 + "version": "6.5.0", 3535 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", 3536 + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", 3537 + "license": "MIT", 3538 + "engines": { 3539 + "node": ">=12.0.0" 3540 + }, 3541 + "peerDependencies": { 3542 + "picomatch": "^3 || ^4" 3543 + }, 3544 + "peerDependenciesMeta": { 3545 + "picomatch": { 3546 + "optional": true 3547 + } 3548 + } 3549 + }, 3550 + "node_modules/fill-range": { 3551 + "version": "7.1.1", 3552 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 3553 + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 3554 + "license": "MIT", 3555 + "dependencies": { 3556 + "to-regex-range": "^5.0.1" 3557 + }, 3558 + "engines": { 3559 + "node": ">=8" 3560 + } 3561 + }, 3562 + "node_modules/fsevents": { 3563 + "version": "2.3.3", 3564 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 3565 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 3566 + "hasInstallScript": true, 3567 + "license": "MIT", 3568 + "optional": true, 3569 + "os": [ 3570 + "darwin" 3571 + ], 3572 + "engines": { 3573 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 3574 + } 3575 + }, 3576 + "node_modules/gensync": { 3577 + "version": "1.0.0-beta.2", 3578 + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 3579 + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 3580 + "license": "MIT", 3581 + "engines": { 3582 + "node": ">=6.9.0" 3583 + } 3584 + }, 3585 + "node_modules/get-tsconfig": { 3586 + "version": "4.13.7", 3587 + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.7.tgz", 3588 + "integrity": "sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==", 3589 + "license": "MIT", 3590 + "dependencies": { 3591 + "resolve-pkg-maps": "^1.0.0" 3592 + }, 3593 + "funding": { 3594 + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 3595 + } 3596 + }, 3597 + "node_modules/glob-parent": { 3598 + "version": "5.1.2", 3599 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 3600 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 3601 + "license": "ISC", 3602 + "dependencies": { 3603 + "is-glob": "^4.0.1" 3604 + }, 3605 + "engines": { 3606 + "node": ">= 6" 3607 + } 3608 + }, 3609 + "node_modules/globrex": { 3610 + "version": "0.1.2", 3611 + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", 3612 + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", 3613 + "dev": true, 3614 + "license": "MIT" 3615 + }, 3616 + "node_modules/goober": { 3617 + "version": "2.1.18", 3618 + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.18.tgz", 3619 + "integrity": "sha512-2vFqsaDVIT9Gz7N6kAL++pLpp41l3PfDuusHcjnGLfR6+huZkl6ziX+zgVC3ZxpqWhzH6pyDdGrCeDhMIvwaxw==", 3620 + "license": "MIT", 3621 + "peerDependencies": { 3622 + "csstype": "^3.0.10" 3623 + } 3624 + }, 3625 + "node_modules/graceful-fs": { 3626 + "version": "4.2.11", 3627 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 3628 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 3629 + "license": "ISC" 3630 + }, 3631 + "node_modules/h3-v2": { 3632 + "name": "h3", 3633 + "version": "2.0.1-rc.16", 3634 + "resolved": "https://registry.npmjs.org/h3/-/h3-2.0.1-rc.16.tgz", 3635 + "integrity": "sha512-h+pjvyujdo9way8qj6FUbhaQcHlR8FEq65EhTX9ViT5pK8aLj68uFl4hBkF+hsTJAH+H1END2Yv6hTIsabGfag==", 3636 + "license": "MIT", 3637 + "dependencies": { 3638 + "rou3": "^0.8.0", 3639 + "srvx": "^0.11.9" 3640 + }, 3641 + "bin": { 3642 + "h3": "bin/h3.mjs" 3643 + }, 3644 + "engines": { 3645 + "node": ">=20.11.1" 3646 + }, 3647 + "peerDependencies": { 3648 + "crossws": "^0.4.1" 3649 + }, 3650 + "peerDependenciesMeta": { 3651 + "crossws": { 3652 + "optional": true 3653 + } 3654 + } 3655 + }, 3656 + "node_modules/html-encoding-sniffer": { 3657 + "version": "6.0.0", 3658 + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", 3659 + "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", 3660 + "dev": true, 3661 + "license": "MIT", 3662 + "dependencies": { 3663 + "@exodus/bytes": "^1.6.0" 3664 + }, 3665 + "engines": { 3666 + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" 3667 + } 3668 + }, 3669 + "node_modules/htmlparser2": { 3670 + "version": "10.1.0", 3671 + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", 3672 + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", 3673 + "funding": [ 3674 + "https://github.com/fb55/htmlparser2?sponsor=1", 3675 + { 3676 + "type": "github", 3677 + "url": "https://github.com/sponsors/fb55" 3678 + } 3679 + ], 3680 + "license": "MIT", 3681 + "dependencies": { 3682 + "domelementtype": "^2.3.0", 3683 + "domhandler": "^5.0.3", 3684 + "domutils": "^3.2.2", 3685 + "entities": "^7.0.1" 3686 + } 3687 + }, 3688 + "node_modules/htmlparser2/node_modules/entities": { 3689 + "version": "7.0.1", 3690 + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", 3691 + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", 3692 + "license": "BSD-2-Clause", 3693 + "engines": { 3694 + "node": ">=0.12" 3695 + }, 3696 + "funding": { 3697 + "url": "https://github.com/fb55/entities?sponsor=1" 3698 + } 3699 + }, 3700 + "node_modules/http-proxy-agent": { 3701 + "version": "7.0.2", 3702 + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", 3703 + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", 3704 + "dev": true, 3705 + "license": "MIT", 3706 + "dependencies": { 3707 + "agent-base": "^7.1.0", 3708 + "debug": "^4.3.4" 3709 + }, 3710 + "engines": { 3711 + "node": ">= 14" 3712 + } 3713 + }, 3714 + "node_modules/https-proxy-agent": { 3715 + "version": "7.0.6", 3716 + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", 3717 + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", 3718 + "dev": true, 3719 + "license": "MIT", 3720 + "dependencies": { 3721 + "agent-base": "^7.1.2", 3722 + "debug": "4" 3723 + }, 3724 + "engines": { 3725 + "node": ">= 14" 3726 + } 3727 + }, 3728 + "node_modules/iconv-lite": { 3729 + "version": "0.6.3", 3730 + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 3731 + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 3732 + "license": "MIT", 3733 + "dependencies": { 3734 + "safer-buffer": ">= 2.1.2 < 3.0.0" 3735 + }, 3736 + "engines": { 3737 + "node": ">=0.10.0" 3738 + } 3739 + }, 3740 + "node_modules/is-binary-path": { 3741 + "version": "2.1.0", 3742 + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 3743 + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 3744 + "license": "MIT", 3745 + "dependencies": { 3746 + "binary-extensions": "^2.0.0" 3747 + }, 3748 + "engines": { 3749 + "node": ">=8" 3750 + } 3751 + }, 3752 + "node_modules/is-extglob": { 3753 + "version": "2.1.1", 3754 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 3755 + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 3756 + "license": "MIT", 3757 + "engines": { 3758 + "node": ">=0.10.0" 3759 + } 3760 + }, 3761 + "node_modules/is-glob": { 3762 + "version": "4.0.3", 3763 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 3764 + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 3765 + "license": "MIT", 3766 + "dependencies": { 3767 + "is-extglob": "^2.1.1" 3768 + }, 3769 + "engines": { 3770 + "node": ">=0.10.0" 3771 + } 3772 + }, 3773 + "node_modules/is-number": { 3774 + "version": "7.0.0", 3775 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 3776 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 3777 + "license": "MIT", 3778 + "engines": { 3779 + "node": ">=0.12.0" 3780 + } 3781 + }, 3782 + "node_modules/is-potential-custom-element-name": { 3783 + "version": "1.0.1", 3784 + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", 3785 + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", 3786 + "dev": true, 3787 + "license": "MIT" 3788 + }, 3789 + "node_modules/isbot": { 3790 + "version": "5.1.37", 3791 + "resolved": "https://registry.npmjs.org/isbot/-/isbot-5.1.37.tgz", 3792 + "integrity": "sha512-5bcicX81xf6NlTEV8rWdg7Pk01LFizDetuYGHx6d/f6y3lR2/oo8IfxjzJqn1UdDEyCcwT9e7NRloj8DwCYujQ==", 3793 + "license": "Unlicense", 3794 + "engines": { 3795 + "node": ">=18" 3796 + } 3797 + }, 3798 + "node_modules/jiti": { 3799 + "version": "2.6.1", 3800 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", 3801 + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", 3802 + "license": "MIT", 3803 + "bin": { 3804 + "jiti": "lib/jiti-cli.mjs" 3805 + } 3806 + }, 3807 + "node_modules/js-tokens": { 3808 + "version": "4.0.0", 3809 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3810 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 3811 + "license": "MIT" 3812 + }, 3813 + "node_modules/js-yaml": { 3814 + "version": "4.1.1", 3815 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", 3816 + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", 3817 + "license": "MIT", 3818 + "dependencies": { 3819 + "argparse": "^2.0.1" 3820 + }, 3821 + "bin": { 3822 + "js-yaml": "bin/js-yaml.js" 3823 + } 3824 + }, 3825 + "node_modules/jsdom": { 3826 + "version": "28.1.0", 3827 + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-28.1.0.tgz", 3828 + "integrity": "sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==", 3829 + "dev": true, 3830 + "license": "MIT", 3831 + "dependencies": { 3832 + "@acemir/cssom": "^0.9.31", 3833 + "@asamuzakjp/dom-selector": "^6.8.1", 3834 + "@bramus/specificity": "^2.4.2", 3835 + "@exodus/bytes": "^1.11.0", 3836 + "cssstyle": "^6.0.1", 3837 + "data-urls": "^7.0.0", 3838 + "decimal.js": "^10.6.0", 3839 + "html-encoding-sniffer": "^6.0.0", 3840 + "http-proxy-agent": "^7.0.2", 3841 + "https-proxy-agent": "^7.0.6", 3842 + "is-potential-custom-element-name": "^1.0.1", 3843 + "parse5": "^8.0.0", 3844 + "saxes": "^6.0.0", 3845 + "symbol-tree": "^3.2.4", 3846 + "tough-cookie": "^6.0.0", 3847 + "undici": "^7.21.0", 3848 + "w3c-xmlserializer": "^5.0.0", 3849 + "webidl-conversions": "^8.0.1", 3850 + "whatwg-mimetype": "^5.0.0", 3851 + "whatwg-url": "^16.0.0", 3852 + "xml-name-validator": "^5.0.0" 3853 + }, 3854 + "engines": { 3855 + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" 3856 + }, 3857 + "peerDependencies": { 3858 + "canvas": "^3.0.0" 3859 + }, 3860 + "peerDependenciesMeta": { 3861 + "canvas": { 3862 + "optional": true 3863 + } 3864 + } 3865 + }, 3866 + "node_modules/jsdom/node_modules/entities": { 3867 + "version": "6.0.1", 3868 + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", 3869 + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", 3870 + "dev": true, 3871 + "license": "BSD-2-Clause", 3872 + "engines": { 3873 + "node": ">=0.12" 3874 + }, 3875 + "funding": { 3876 + "url": "https://github.com/fb55/entities?sponsor=1" 3877 + } 3878 + }, 3879 + "node_modules/jsdom/node_modules/parse5": { 3880 + "version": "8.0.0", 3881 + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", 3882 + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", 3883 + "dev": true, 3884 + "license": "MIT", 3885 + "dependencies": { 3886 + "entities": "^6.0.0" 3887 + }, 3888 + "funding": { 3889 + "url": "https://github.com/inikulin/parse5?sponsor=1" 3890 + } 3891 + }, 3892 + "node_modules/jsdom/node_modules/whatwg-mimetype": { 3893 + "version": "5.0.0", 3894 + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", 3895 + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", 3896 + "dev": true, 3897 + "license": "MIT", 3898 + "engines": { 3899 + "node": ">=20" 3900 + } 3901 + }, 3902 + "node_modules/jsesc": { 3903 + "version": "3.1.0", 3904 + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", 3905 + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", 3906 + "license": "MIT", 3907 + "bin": { 3908 + "jsesc": "bin/jsesc" 3909 + }, 3910 + "engines": { 3911 + "node": ">=6" 3912 + } 3913 + }, 3914 + "node_modules/json5": { 3915 + "version": "2.2.3", 3916 + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 3917 + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 3918 + "license": "MIT", 3919 + "bin": { 3920 + "json5": "lib/cli.js" 3921 + }, 3922 + "engines": { 3923 + "node": ">=6" 3924 + } 3925 + }, 3926 + "node_modules/launch-editor": { 3927 + "version": "2.13.2", 3928 + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.2.tgz", 3929 + "integrity": "sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==", 3930 + "dev": true, 3931 + "license": "MIT", 3932 + "dependencies": { 3933 + "picocolors": "^1.1.1", 3934 + "shell-quote": "^1.8.3" 3935 + } 3936 + }, 3937 + "node_modules/lightningcss": { 3938 + "version": "1.32.0", 3939 + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", 3940 + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", 3941 + "license": "MPL-2.0", 3942 + "dependencies": { 3943 + "detect-libc": "^2.0.3" 3944 + }, 3945 + "engines": { 3946 + "node": ">= 12.0.0" 3947 + }, 3948 + "funding": { 3949 + "type": "opencollective", 3950 + "url": "https://opencollective.com/parcel" 3951 + }, 3952 + "optionalDependencies": { 3953 + "lightningcss-android-arm64": "1.32.0", 3954 + "lightningcss-darwin-arm64": "1.32.0", 3955 + "lightningcss-darwin-x64": "1.32.0", 3956 + "lightningcss-freebsd-x64": "1.32.0", 3957 + "lightningcss-linux-arm-gnueabihf": "1.32.0", 3958 + "lightningcss-linux-arm64-gnu": "1.32.0", 3959 + "lightningcss-linux-arm64-musl": "1.32.0", 3960 + "lightningcss-linux-x64-gnu": "1.32.0", 3961 + "lightningcss-linux-x64-musl": "1.32.0", 3962 + "lightningcss-win32-arm64-msvc": "1.32.0", 3963 + "lightningcss-win32-x64-msvc": "1.32.0" 3964 + } 3965 + }, 3966 + "node_modules/lightningcss-android-arm64": { 3967 + "version": "1.32.0", 3968 + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", 3969 + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", 3970 + "cpu": [ 3971 + "arm64" 3972 + ], 3973 + "license": "MPL-2.0", 3974 + "optional": true, 3975 + "os": [ 3976 + "android" 3977 + ], 3978 + "engines": { 3979 + "node": ">= 12.0.0" 3980 + }, 3981 + "funding": { 3982 + "type": "opencollective", 3983 + "url": "https://opencollective.com/parcel" 3984 + } 3985 + }, 3986 + "node_modules/lightningcss-darwin-arm64": { 3987 + "version": "1.32.0", 3988 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", 3989 + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", 3990 + "cpu": [ 3991 + "arm64" 3992 + ], 3993 + "license": "MPL-2.0", 3994 + "optional": true, 3995 + "os": [ 3996 + "darwin" 3997 + ], 3998 + "engines": { 3999 + "node": ">= 12.0.0" 4000 + }, 4001 + "funding": { 4002 + "type": "opencollective", 4003 + "url": "https://opencollective.com/parcel" 4004 + } 4005 + }, 4006 + "node_modules/lightningcss-darwin-x64": { 4007 + "version": "1.32.0", 4008 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", 4009 + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", 4010 + "cpu": [ 4011 + "x64" 4012 + ], 4013 + "license": "MPL-2.0", 4014 + "optional": true, 4015 + "os": [ 4016 + "darwin" 4017 + ], 4018 + "engines": { 4019 + "node": ">= 12.0.0" 4020 + }, 4021 + "funding": { 4022 + "type": "opencollective", 4023 + "url": "https://opencollective.com/parcel" 4024 + } 4025 + }, 4026 + "node_modules/lightningcss-freebsd-x64": { 4027 + "version": "1.32.0", 4028 + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", 4029 + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", 4030 + "cpu": [ 4031 + "x64" 4032 + ], 4033 + "license": "MPL-2.0", 4034 + "optional": true, 4035 + "os": [ 4036 + "freebsd" 4037 + ], 4038 + "engines": { 4039 + "node": ">= 12.0.0" 4040 + }, 4041 + "funding": { 4042 + "type": "opencollective", 4043 + "url": "https://opencollective.com/parcel" 4044 + } 4045 + }, 4046 + "node_modules/lightningcss-linux-arm-gnueabihf": { 4047 + "version": "1.32.0", 4048 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", 4049 + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", 4050 + "cpu": [ 4051 + "arm" 4052 + ], 4053 + "license": "MPL-2.0", 4054 + "optional": true, 4055 + "os": [ 4056 + "linux" 4057 + ], 4058 + "engines": { 4059 + "node": ">= 12.0.0" 4060 + }, 4061 + "funding": { 4062 + "type": "opencollective", 4063 + "url": "https://opencollective.com/parcel" 4064 + } 4065 + }, 4066 + "node_modules/lightningcss-linux-arm64-gnu": { 4067 + "version": "1.32.0", 4068 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", 4069 + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", 4070 + "cpu": [ 4071 + "arm64" 4072 + ], 4073 + "libc": [ 4074 + "glibc" 4075 + ], 4076 + "license": "MPL-2.0", 4077 + "optional": true, 4078 + "os": [ 4079 + "linux" 4080 + ], 4081 + "engines": { 4082 + "node": ">= 12.0.0" 4083 + }, 4084 + "funding": { 4085 + "type": "opencollective", 4086 + "url": "https://opencollective.com/parcel" 4087 + } 4088 + }, 4089 + "node_modules/lightningcss-linux-arm64-musl": { 4090 + "version": "1.32.0", 4091 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", 4092 + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", 4093 + "cpu": [ 4094 + "arm64" 4095 + ], 4096 + "libc": [ 4097 + "musl" 4098 + ], 4099 + "license": "MPL-2.0", 4100 + "optional": true, 4101 + "os": [ 4102 + "linux" 4103 + ], 4104 + "engines": { 4105 + "node": ">= 12.0.0" 4106 + }, 4107 + "funding": { 4108 + "type": "opencollective", 4109 + "url": "https://opencollective.com/parcel" 4110 + } 4111 + }, 4112 + "node_modules/lightningcss-linux-x64-gnu": { 4113 + "version": "1.32.0", 4114 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", 4115 + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", 4116 + "cpu": [ 4117 + "x64" 4118 + ], 4119 + "libc": [ 4120 + "glibc" 4121 + ], 4122 + "license": "MPL-2.0", 4123 + "optional": true, 4124 + "os": [ 4125 + "linux" 4126 + ], 4127 + "engines": { 4128 + "node": ">= 12.0.0" 4129 + }, 4130 + "funding": { 4131 + "type": "opencollective", 4132 + "url": "https://opencollective.com/parcel" 4133 + } 4134 + }, 4135 + "node_modules/lightningcss-linux-x64-musl": { 4136 + "version": "1.32.0", 4137 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", 4138 + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", 4139 + "cpu": [ 4140 + "x64" 4141 + ], 4142 + "libc": [ 4143 + "musl" 4144 + ], 4145 + "license": "MPL-2.0", 4146 + "optional": true, 4147 + "os": [ 4148 + "linux" 4149 + ], 4150 + "engines": { 4151 + "node": ">= 12.0.0" 4152 + }, 4153 + "funding": { 4154 + "type": "opencollective", 4155 + "url": "https://opencollective.com/parcel" 4156 + } 4157 + }, 4158 + "node_modules/lightningcss-win32-arm64-msvc": { 4159 + "version": "1.32.0", 4160 + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", 4161 + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", 4162 + "cpu": [ 4163 + "arm64" 4164 + ], 4165 + "license": "MPL-2.0", 4166 + "optional": true, 4167 + "os": [ 4168 + "win32" 4169 + ], 4170 + "engines": { 4171 + "node": ">= 12.0.0" 4172 + }, 4173 + "funding": { 4174 + "type": "opencollective", 4175 + "url": "https://opencollective.com/parcel" 4176 + } 4177 + }, 4178 + "node_modules/lightningcss-win32-x64-msvc": { 4179 + "version": "1.32.0", 4180 + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", 4181 + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", 4182 + "cpu": [ 4183 + "x64" 4184 + ], 4185 + "license": "MPL-2.0", 4186 + "optional": true, 4187 + "os": [ 4188 + "win32" 4189 + ], 4190 + "engines": { 4191 + "node": ">= 12.0.0" 4192 + }, 4193 + "funding": { 4194 + "type": "opencollective", 4195 + "url": "https://opencollective.com/parcel" 4196 + } 4197 + }, 4198 + "node_modules/loupe": { 4199 + "version": "3.2.1", 4200 + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", 4201 + "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", 4202 + "dev": true, 4203 + "license": "MIT" 4204 + }, 4205 + "node_modules/lru-cache": { 4206 + "version": "5.1.1", 4207 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 4208 + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 4209 + "license": "ISC", 4210 + "dependencies": { 4211 + "yallist": "^3.0.2" 4212 + } 4213 + }, 4214 + "node_modules/lucide-react": { 4215 + "version": "0.545.0", 4216 + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.545.0.tgz", 4217 + "integrity": "sha512-7r1/yUuflQDSt4f1bpn5ZAocyIxcTyVyBBChSVtBKn5M+392cPmI5YJMWOJKk/HUWGm5wg83chlAZtCcGbEZtw==", 4218 + "license": "ISC", 4219 + "peerDependencies": { 4220 + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" 4221 + } 4222 + }, 4223 + "node_modules/lz-string": { 4224 + "version": "1.5.0", 4225 + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", 4226 + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", 4227 + "dev": true, 4228 + "license": "MIT", 4229 + "bin": { 4230 + "lz-string": "bin/bin.js" 4231 + } 4232 + }, 4233 + "node_modules/magic-string": { 4234 + "version": "0.30.21", 4235 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", 4236 + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", 4237 + "license": "MIT", 4238 + "dependencies": { 4239 + "@jridgewell/sourcemap-codec": "^1.5.5" 4240 + } 4241 + }, 4242 + "node_modules/mdn-data": { 4243 + "version": "2.27.1", 4244 + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", 4245 + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", 4246 + "dev": true, 4247 + "license": "CC0-1.0" 4248 + }, 4249 + "node_modules/ms": { 4250 + "version": "2.1.3", 4251 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 4252 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 4253 + "license": "MIT" 4254 + }, 4255 + "node_modules/nanoid": { 4256 + "version": "3.3.11", 4257 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 4258 + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 4259 + "funding": [ 4260 + { 4261 + "type": "github", 4262 + "url": "https://github.com/sponsors/ai" 4263 + } 4264 + ], 4265 + "license": "MIT", 4266 + "bin": { 4267 + "nanoid": "bin/nanoid.cjs" 4268 + }, 4269 + "engines": { 4270 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 4271 + } 4272 + }, 4273 + "node_modules/node-releases": { 4274 + "version": "2.0.37", 4275 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz", 4276 + "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==", 4277 + "license": "MIT" 4278 + }, 4279 + "node_modules/normalize-path": { 4280 + "version": "3.0.0", 4281 + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 4282 + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 4283 + "license": "MIT", 4284 + "engines": { 4285 + "node": ">=0.10.0" 4286 + } 4287 + }, 4288 + "node_modules/nth-check": { 4289 + "version": "2.1.1", 4290 + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", 4291 + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", 4292 + "license": "BSD-2-Clause", 4293 + "dependencies": { 4294 + "boolbase": "^1.0.0" 4295 + }, 4296 + "funding": { 4297 + "url": "https://github.com/fb55/nth-check?sponsor=1" 4298 + } 4299 + }, 4300 + "node_modules/parse5": { 4301 + "version": "7.3.0", 4302 + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", 4303 + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", 4304 + "license": "MIT", 4305 + "dependencies": { 4306 + "entities": "^6.0.0" 4307 + }, 4308 + "funding": { 4309 + "url": "https://github.com/inikulin/parse5?sponsor=1" 4310 + } 4311 + }, 4312 + "node_modules/parse5-htmlparser2-tree-adapter": { 4313 + "version": "7.1.0", 4314 + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", 4315 + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", 4316 + "license": "MIT", 4317 + "dependencies": { 4318 + "domhandler": "^5.0.3", 4319 + "parse5": "^7.0.0" 4320 + }, 4321 + "funding": { 4322 + "url": "https://github.com/inikulin/parse5?sponsor=1" 4323 + } 4324 + }, 4325 + "node_modules/parse5-parser-stream": { 4326 + "version": "7.1.2", 4327 + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", 4328 + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", 4329 + "license": "MIT", 4330 + "dependencies": { 4331 + "parse5": "^7.0.0" 4332 + }, 4333 + "funding": { 4334 + "url": "https://github.com/inikulin/parse5?sponsor=1" 4335 + } 4336 + }, 4337 + "node_modules/parse5/node_modules/entities": { 4338 + "version": "6.0.1", 4339 + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", 4340 + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", 4341 + "license": "BSD-2-Clause", 4342 + "engines": { 4343 + "node": ">=0.12" 4344 + }, 4345 + "funding": { 4346 + "url": "https://github.com/fb55/entities?sponsor=1" 4347 + } 4348 + }, 4349 + "node_modules/pathe": { 4350 + "version": "2.0.3", 4351 + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", 4352 + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", 4353 + "license": "MIT" 4354 + }, 4355 + "node_modules/pathval": { 4356 + "version": "2.0.1", 4357 + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", 4358 + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", 4359 + "dev": true, 4360 + "license": "MIT", 4361 + "engines": { 4362 + "node": ">= 14.16" 4363 + } 4364 + }, 4365 + "node_modules/picocolors": { 4366 + "version": "1.1.1", 4367 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 4368 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 4369 + "license": "ISC" 4370 + }, 4371 + "node_modules/picomatch": { 4372 + "version": "4.0.4", 4373 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", 4374 + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", 4375 + "license": "MIT", 4376 + "engines": { 4377 + "node": ">=12" 4378 + }, 4379 + "funding": { 4380 + "url": "https://github.com/sponsors/jonschlinkert" 4381 + } 4382 + }, 4383 + "node_modules/postcss": { 4384 + "version": "8.5.9", 4385 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.9.tgz", 4386 + "integrity": "sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==", 4387 + "funding": [ 4388 + { 4389 + "type": "opencollective", 4390 + "url": "https://opencollective.com/postcss/" 4391 + }, 4392 + { 4393 + "type": "tidelift", 4394 + "url": "https://tidelift.com/funding/github/npm/postcss" 4395 + }, 4396 + { 4397 + "type": "github", 4398 + "url": "https://github.com/sponsors/ai" 4399 + } 4400 + ], 4401 + "license": "MIT", 4402 + "dependencies": { 4403 + "nanoid": "^3.3.11", 4404 + "picocolors": "^1.1.1", 4405 + "source-map-js": "^1.2.1" 4406 + }, 4407 + "engines": { 4408 + "node": "^10 || ^12 || >=14" 4409 + } 4410 + }, 4411 + "node_modules/postcss-selector-parser": { 4412 + "version": "6.0.10", 4413 + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 4414 + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 4415 + "dev": true, 4416 + "license": "MIT", 4417 + "dependencies": { 4418 + "cssesc": "^3.0.0", 4419 + "util-deprecate": "^1.0.2" 4420 + }, 4421 + "engines": { 4422 + "node": ">=4" 4423 + } 4424 + }, 4425 + "node_modules/prettier": { 4426 + "version": "3.8.1", 4427 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", 4428 + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", 4429 + "license": "MIT", 4430 + "bin": { 4431 + "prettier": "bin/prettier.cjs" 4432 + }, 4433 + "engines": { 4434 + "node": ">=14" 4435 + }, 4436 + "funding": { 4437 + "url": "https://github.com/prettier/prettier?sponsor=1" 4438 + } 4439 + }, 4440 + "node_modules/pretty-format": { 4441 + "version": "27.5.1", 4442 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", 4443 + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", 4444 + "dev": true, 4445 + "license": "MIT", 4446 + "dependencies": { 4447 + "ansi-regex": "^5.0.1", 4448 + "ansi-styles": "^5.0.0", 4449 + "react-is": "^17.0.1" 4450 + }, 4451 + "engines": { 4452 + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" 4453 + } 4454 + }, 4455 + "node_modules/punycode": { 4456 + "version": "2.3.1", 4457 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 4458 + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 4459 + "dev": true, 4460 + "license": "MIT", 4461 + "engines": { 4462 + "node": ">=6" 4463 + } 4464 + }, 4465 + "node_modules/react": { 4466 + "version": "19.2.5", 4467 + "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", 4468 + "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", 4469 + "license": "MIT", 4470 + "engines": { 4471 + "node": ">=0.10.0" 4472 + } 4473 + }, 4474 + "node_modules/react-dom": { 4475 + "version": "19.2.5", 4476 + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", 4477 + "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", 4478 + "license": "MIT", 4479 + "dependencies": { 4480 + "scheduler": "^0.27.0" 4481 + }, 4482 + "peerDependencies": { 4483 + "react": "^19.2.5" 4484 + } 4485 + }, 4486 + "node_modules/react-is": { 4487 + "version": "17.0.2", 4488 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", 4489 + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", 4490 + "dev": true, 4491 + "license": "MIT" 4492 + }, 4493 + "node_modules/react-refresh": { 4494 + "version": "0.18.0", 4495 + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", 4496 + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", 4497 + "dev": true, 4498 + "license": "MIT", 4499 + "engines": { 4500 + "node": ">=0.10.0" 4501 + } 4502 + }, 4503 + "node_modules/readdirp": { 4504 + "version": "3.6.0", 4505 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 4506 + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 4507 + "license": "MIT", 4508 + "dependencies": { 4509 + "picomatch": "^2.2.1" 4510 + }, 4511 + "engines": { 4512 + "node": ">=8.10.0" 4513 + } 4514 + }, 4515 + "node_modules/readdirp/node_modules/picomatch": { 4516 + "version": "2.3.2", 4517 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", 4518 + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", 4519 + "license": "MIT", 4520 + "engines": { 4521 + "node": ">=8.6" 4522 + }, 4523 + "funding": { 4524 + "url": "https://github.com/sponsors/jonschlinkert" 4525 + } 4526 + }, 4527 + "node_modules/recast": { 4528 + "version": "0.23.11", 4529 + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", 4530 + "integrity": "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==", 4531 + "license": "MIT", 4532 + "dependencies": { 4533 + "ast-types": "^0.16.1", 4534 + "esprima": "~4.0.0", 4535 + "source-map": "~0.6.1", 4536 + "tiny-invariant": "^1.3.3", 4537 + "tslib": "^2.0.1" 4538 + }, 4539 + "engines": { 4540 + "node": ">= 4" 4541 + } 4542 + }, 4543 + "node_modules/recast/node_modules/source-map": { 4544 + "version": "0.6.1", 4545 + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 4546 + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 4547 + "license": "BSD-3-Clause", 4548 + "engines": { 4549 + "node": ">=0.10.0" 4550 + } 4551 + }, 4552 + "node_modules/require-from-string": { 4553 + "version": "2.0.2", 4554 + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 4555 + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 4556 + "dev": true, 4557 + "license": "MIT", 4558 + "engines": { 4559 + "node": ">=0.10.0" 4560 + } 4561 + }, 4562 + "node_modules/resolve-pkg-maps": { 4563 + "version": "1.0.0", 4564 + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", 4565 + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", 4566 + "license": "MIT", 4567 + "funding": { 4568 + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 4569 + } 4570 + }, 4571 + "node_modules/rollup": { 4572 + "version": "4.60.1", 4573 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.1.tgz", 4574 + "integrity": "sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==", 4575 + "license": "MIT", 4576 + "dependencies": { 4577 + "@types/estree": "1.0.8" 4578 + }, 4579 + "bin": { 4580 + "rollup": "dist/bin/rollup" 4581 + }, 4582 + "engines": { 4583 + "node": ">=18.0.0", 4584 + "npm": ">=8.0.0" 4585 + }, 4586 + "optionalDependencies": { 4587 + "@rollup/rollup-android-arm-eabi": "4.60.1", 4588 + "@rollup/rollup-android-arm64": "4.60.1", 4589 + "@rollup/rollup-darwin-arm64": "4.60.1", 4590 + "@rollup/rollup-darwin-x64": "4.60.1", 4591 + "@rollup/rollup-freebsd-arm64": "4.60.1", 4592 + "@rollup/rollup-freebsd-x64": "4.60.1", 4593 + "@rollup/rollup-linux-arm-gnueabihf": "4.60.1", 4594 + "@rollup/rollup-linux-arm-musleabihf": "4.60.1", 4595 + "@rollup/rollup-linux-arm64-gnu": "4.60.1", 4596 + "@rollup/rollup-linux-arm64-musl": "4.60.1", 4597 + "@rollup/rollup-linux-loong64-gnu": "4.60.1", 4598 + "@rollup/rollup-linux-loong64-musl": "4.60.1", 4599 + "@rollup/rollup-linux-ppc64-gnu": "4.60.1", 4600 + "@rollup/rollup-linux-ppc64-musl": "4.60.1", 4601 + "@rollup/rollup-linux-riscv64-gnu": "4.60.1", 4602 + "@rollup/rollup-linux-riscv64-musl": "4.60.1", 4603 + "@rollup/rollup-linux-s390x-gnu": "4.60.1", 4604 + "@rollup/rollup-linux-x64-gnu": "4.60.1", 4605 + "@rollup/rollup-linux-x64-musl": "4.60.1", 4606 + "@rollup/rollup-openbsd-x64": "4.60.1", 4607 + "@rollup/rollup-openharmony-arm64": "4.60.1", 4608 + "@rollup/rollup-win32-arm64-msvc": "4.60.1", 4609 + "@rollup/rollup-win32-ia32-msvc": "4.60.1", 4610 + "@rollup/rollup-win32-x64-gnu": "4.60.1", 4611 + "@rollup/rollup-win32-x64-msvc": "4.60.1", 4612 + "fsevents": "~2.3.2" 4613 + } 4614 + }, 4615 + "node_modules/rou3": { 4616 + "version": "0.8.1", 4617 + "resolved": "https://registry.npmjs.org/rou3/-/rou3-0.8.1.tgz", 4618 + "integrity": "sha512-ePa+XGk00/3HuCqrEnK3LxJW7I0SdNg6EFzKUJG73hMAdDcOUC/i/aSz7LSDwLrGr33kal/rqOGydzwl6U7zBA==", 4619 + "license": "MIT" 4620 + }, 4621 + "node_modules/safer-buffer": { 4622 + "version": "2.1.2", 4623 + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 4624 + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 4625 + "license": "MIT" 4626 + }, 4627 + "node_modules/saxes": { 4628 + "version": "6.0.0", 4629 + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", 4630 + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", 4631 + "dev": true, 4632 + "license": "ISC", 4633 + "dependencies": { 4634 + "xmlchars": "^2.2.0" 4635 + }, 4636 + "engines": { 4637 + "node": ">=v12.22.7" 4638 + } 4639 + }, 4640 + "node_modules/scheduler": { 4641 + "version": "0.27.0", 4642 + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", 4643 + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", 4644 + "license": "MIT" 4645 + }, 4646 + "node_modules/semver": { 4647 + "version": "6.3.1", 4648 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 4649 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 4650 + "license": "ISC", 4651 + "bin": { 4652 + "semver": "bin/semver.js" 4653 + } 4654 + }, 4655 + "node_modules/seroval": { 4656 + "version": "1.5.2", 4657 + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.5.2.tgz", 4658 + "integrity": "sha512-xcRN39BdsnO9Tf+VzsE7b3JyTJASItIV1FVFewJKCFcW4s4haIKS3e6vj8PGB9qBwC7tnuOywQMdv5N4qkzi7Q==", 4659 + "license": "MIT", 4660 + "engines": { 4661 + "node": ">=10" 4662 + } 4663 + }, 4664 + "node_modules/seroval-plugins": { 4665 + "version": "1.5.2", 4666 + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.5.2.tgz", 4667 + "integrity": "sha512-qpY0Cl+fKYFn4GOf3cMiq6l72CpuVaawb6ILjubOQ+diJ54LfOWaSSPsaswN8DRPIPW4Yq+tE1k5aKd7ILyaFg==", 4668 + "license": "MIT", 4669 + "engines": { 4670 + "node": ">=10" 4671 + }, 4672 + "peerDependencies": { 4673 + "seroval": "^1.0" 4674 + } 4675 + }, 4676 + "node_modules/shell-quote": { 4677 + "version": "1.8.3", 4678 + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", 4679 + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", 4680 + "dev": true, 4681 + "license": "MIT", 4682 + "engines": { 4683 + "node": ">= 0.4" 4684 + }, 4685 + "funding": { 4686 + "url": "https://github.com/sponsors/ljharb" 4687 + } 4688 + }, 4689 + "node_modules/siginfo": { 4690 + "version": "2.0.0", 4691 + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", 4692 + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", 4693 + "dev": true, 4694 + "license": "ISC" 4695 + }, 4696 + "node_modules/solid-js": { 4697 + "version": "1.9.12", 4698 + "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.12.tgz", 4699 + "integrity": "sha512-QzKaSJq2/iDrWR1As6MHZQ8fQkdOBf8GReYb7L5iKwMGceg7HxDcaOHk0at66tNgn9U2U7dXo8ZZpLIAmGMzgw==", 4700 + "license": "MIT", 4701 + "dependencies": { 4702 + "csstype": "^3.1.0", 4703 + "seroval": "~1.5.0", 4704 + "seroval-plugins": "~1.5.0" 4705 + } 4706 + }, 4707 + "node_modules/source-map": { 4708 + "version": "0.7.6", 4709 + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", 4710 + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", 4711 + "license": "BSD-3-Clause", 4712 + "engines": { 4713 + "node": ">= 12" 4714 + } 4715 + }, 4716 + "node_modules/source-map-js": { 4717 + "version": "1.2.1", 4718 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 4719 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 4720 + "license": "BSD-3-Clause", 4721 + "engines": { 4722 + "node": ">=0.10.0" 4723 + } 4724 + }, 4725 + "node_modules/srvx": { 4726 + "version": "0.11.15", 4727 + "resolved": "https://registry.npmjs.org/srvx/-/srvx-0.11.15.tgz", 4728 + "integrity": "sha512-iXsux0UcOjdvs0LCMa2Ws3WwcDUozA3JN3BquNXkaFPP7TpRqgunKdEgoZ/uwb1J6xaYHfxtz9Twlh6yzwM6Tg==", 4729 + "license": "MIT", 4730 + "bin": { 4731 + "srvx": "bin/srvx.mjs" 4732 + }, 4733 + "engines": { 4734 + "node": ">=20.16.0" 4735 + } 4736 + }, 4737 + "node_modules/stackback": { 4738 + "version": "0.0.2", 4739 + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", 4740 + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", 4741 + "dev": true, 4742 + "license": "MIT" 4743 + }, 4744 + "node_modules/std-env": { 4745 + "version": "3.10.0", 4746 + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", 4747 + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", 4748 + "dev": true, 4749 + "license": "MIT" 4750 + }, 4751 + "node_modules/strip-literal": { 4752 + "version": "3.1.0", 4753 + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz", 4754 + "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==", 4755 + "dev": true, 4756 + "license": "MIT", 4757 + "dependencies": { 4758 + "js-tokens": "^9.0.1" 4759 + }, 4760 + "funding": { 4761 + "url": "https://github.com/sponsors/antfu" 4762 + } 4763 + }, 4764 + "node_modules/strip-literal/node_modules/js-tokens": { 4765 + "version": "9.0.1", 4766 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", 4767 + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", 4768 + "dev": true, 4769 + "license": "MIT" 4770 + }, 4771 + "node_modules/symbol-tree": { 4772 + "version": "3.2.4", 4773 + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", 4774 + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", 4775 + "dev": true, 4776 + "license": "MIT" 4777 + }, 4778 + "node_modules/tailwindcss": { 4779 + "version": "4.2.2", 4780 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz", 4781 + "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==", 4782 + "license": "MIT" 4783 + }, 4784 + "node_modules/tapable": { 4785 + "version": "2.3.2", 4786 + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", 4787 + "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", 4788 + "license": "MIT", 4789 + "engines": { 4790 + "node": ">=6" 4791 + }, 4792 + "funding": { 4793 + "type": "opencollective", 4794 + "url": "https://opencollective.com/webpack" 4795 + } 4796 + }, 4797 + "node_modules/tiny-invariant": { 4798 + "version": "1.3.3", 4799 + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", 4800 + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", 4801 + "license": "MIT" 4802 + }, 4803 + "node_modules/tinybench": { 4804 + "version": "2.9.0", 4805 + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", 4806 + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", 4807 + "dev": true, 4808 + "license": "MIT" 4809 + }, 4810 + "node_modules/tinyexec": { 4811 + "version": "0.3.2", 4812 + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", 4813 + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", 4814 + "dev": true, 4815 + "license": "MIT" 4816 + }, 4817 + "node_modules/tinyglobby": { 4818 + "version": "0.2.16", 4819 + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", 4820 + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", 4821 + "license": "MIT", 4822 + "dependencies": { 4823 + "fdir": "^6.5.0", 4824 + "picomatch": "^4.0.4" 4825 + }, 4826 + "engines": { 4827 + "node": ">=12.0.0" 4828 + }, 4829 + "funding": { 4830 + "url": "https://github.com/sponsors/SuperchupuDev" 4831 + } 4832 + }, 4833 + "node_modules/tinypool": { 4834 + "version": "1.1.1", 4835 + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", 4836 + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", 4837 + "dev": true, 4838 + "license": "MIT", 4839 + "engines": { 4840 + "node": "^18.0.0 || >=20.0.0" 4841 + } 4842 + }, 4843 + "node_modules/tinyrainbow": { 4844 + "version": "2.0.0", 4845 + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", 4846 + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", 4847 + "dev": true, 4848 + "license": "MIT", 4849 + "engines": { 4850 + "node": ">=14.0.0" 4851 + } 4852 + }, 4853 + "node_modules/tinyspy": { 4854 + "version": "4.0.4", 4855 + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz", 4856 + "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==", 4857 + "dev": true, 4858 + "license": "MIT", 4859 + "engines": { 4860 + "node": ">=14.0.0" 4861 + } 4862 + }, 4863 + "node_modules/tldts": { 4864 + "version": "7.0.28", 4865 + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.28.tgz", 4866 + "integrity": "sha512-+Zg3vWhRUv8B1maGSTFdev9mjoo8Etn2Ayfs4cnjlD3CsGkxXX4QyW3j2WJ0wdjYcYmy7Lx2RDsZMhgCWafKIw==", 4867 + "dev": true, 4868 + "license": "MIT", 4869 + "dependencies": { 4870 + "tldts-core": "^7.0.28" 4871 + }, 4872 + "bin": { 4873 + "tldts": "bin/cli.js" 4874 + } 4875 + }, 4876 + "node_modules/tldts-core": { 4877 + "version": "7.0.28", 4878 + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.28.tgz", 4879 + "integrity": "sha512-7W5Efjhsc3chVdFhqtaU0KtK32J37Zcr9RKtID54nG+tIpcY79CQK/veYPODxtD/LJ4Lue66jvrQzIX2Z2/pUQ==", 4880 + "dev": true, 4881 + "license": "MIT" 4882 + }, 4883 + "node_modules/to-regex-range": { 4884 + "version": "5.0.1", 4885 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 4886 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 4887 + "license": "MIT", 4888 + "dependencies": { 4889 + "is-number": "^7.0.0" 4890 + }, 4891 + "engines": { 4892 + "node": ">=8.0" 4893 + } 4894 + }, 4895 + "node_modules/tough-cookie": { 4896 + "version": "6.0.1", 4897 + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", 4898 + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", 4899 + "dev": true, 4900 + "license": "BSD-3-Clause", 4901 + "dependencies": { 4902 + "tldts": "^7.0.5" 4903 + }, 4904 + "engines": { 4905 + "node": ">=16" 4906 + } 4907 + }, 4908 + "node_modules/tr46": { 4909 + "version": "6.0.0", 4910 + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", 4911 + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", 4912 + "dev": true, 4913 + "license": "MIT", 4914 + "dependencies": { 4915 + "punycode": "^2.3.1" 4916 + }, 4917 + "engines": { 4918 + "node": ">=20" 4919 + } 4920 + }, 4921 + "node_modules/tsconfck": { 4922 + "version": "3.1.6", 4923 + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", 4924 + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", 4925 + "dev": true, 4926 + "license": "MIT", 4927 + "bin": { 4928 + "tsconfck": "bin/tsconfck.js" 4929 + }, 4930 + "engines": { 4931 + "node": "^18 || >=20" 4932 + }, 4933 + "peerDependencies": { 4934 + "typescript": "^5.0.0" 4935 + }, 4936 + "peerDependenciesMeta": { 4937 + "typescript": { 4938 + "optional": true 4939 + } 4940 + } 4941 + }, 4942 + "node_modules/tslib": { 4943 + "version": "2.8.1", 4944 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 4945 + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 4946 + "license": "0BSD" 4947 + }, 4948 + "node_modules/tsx": { 4949 + "version": "4.21.0", 4950 + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", 4951 + "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", 4952 + "license": "MIT", 4953 + "dependencies": { 4954 + "esbuild": "~0.27.0", 4955 + "get-tsconfig": "^4.7.5" 4956 + }, 4957 + "bin": { 4958 + "tsx": "dist/cli.mjs" 4959 + }, 4960 + "engines": { 4961 + "node": ">=18.0.0" 4962 + }, 4963 + "optionalDependencies": { 4964 + "fsevents": "~2.3.3" 4965 + } 4966 + }, 4967 + "node_modules/typescript": { 4968 + "version": "5.9.3", 4969 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", 4970 + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", 4971 + "dev": true, 4972 + "license": "Apache-2.0", 4973 + "bin": { 4974 + "tsc": "bin/tsc", 4975 + "tsserver": "bin/tsserver" 4976 + }, 4977 + "engines": { 4978 + "node": ">=14.17" 4979 + } 4980 + }, 4981 + "node_modules/ufo": { 4982 + "version": "1.6.3", 4983 + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", 4984 + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", 4985 + "license": "MIT" 4986 + }, 4987 + "node_modules/undici": { 4988 + "version": "7.24.7", 4989 + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.7.tgz", 4990 + "integrity": "sha512-H/nlJ/h0ggGC+uRL3ovD+G0i4bqhvsDOpbDv7At5eFLlj2b41L8QliGbnl2H7SnDiYhENphh1tQFJZf+MyfLsQ==", 4991 + "license": "MIT", 4992 + "engines": { 4993 + "node": ">=20.18.1" 4994 + } 4995 + }, 4996 + "node_modules/undici-types": { 4997 + "version": "6.21.0", 4998 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", 4999 + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", 5000 + "devOptional": true, 5001 + "license": "MIT" 5002 + }, 5003 + "node_modules/unplugin": { 5004 + "version": "2.3.11", 5005 + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz", 5006 + "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==", 5007 + "license": "MIT", 5008 + "dependencies": { 5009 + "@jridgewell/remapping": "^2.3.5", 5010 + "acorn": "^8.15.0", 5011 + "picomatch": "^4.0.3", 5012 + "webpack-virtual-modules": "^0.6.2" 5013 + }, 5014 + "engines": { 5015 + "node": ">=18.12.0" 5016 + } 5017 + }, 5018 + "node_modules/update-browserslist-db": { 5019 + "version": "1.2.3", 5020 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", 5021 + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", 5022 + "funding": [ 5023 + { 5024 + "type": "opencollective", 5025 + "url": "https://opencollective.com/browserslist" 5026 + }, 5027 + { 5028 + "type": "tidelift", 5029 + "url": "https://tidelift.com/funding/github/npm/browserslist" 5030 + }, 5031 + { 5032 + "type": "github", 5033 + "url": "https://github.com/sponsors/ai" 5034 + } 5035 + ], 5036 + "license": "MIT", 5037 + "dependencies": { 5038 + "escalade": "^3.2.0", 5039 + "picocolors": "^1.1.1" 5040 + }, 5041 + "bin": { 5042 + "update-browserslist-db": "cli.js" 5043 + }, 5044 + "peerDependencies": { 5045 + "browserslist": ">= 4.21.0" 5046 + } 5047 + }, 5048 + "node_modules/use-sync-external-store": { 5049 + "version": "1.6.0", 5050 + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", 5051 + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", 5052 + "license": "MIT", 5053 + "peerDependencies": { 5054 + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 5055 + } 5056 + }, 5057 + "node_modules/util-deprecate": { 5058 + "version": "1.0.2", 5059 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 5060 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 5061 + "dev": true, 5062 + "license": "MIT" 5063 + }, 5064 + "node_modules/vite": { 5065 + "version": "7.3.2", 5066 + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", 5067 + "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", 5068 + "license": "MIT", 5069 + "dependencies": { 5070 + "esbuild": "^0.27.0", 5071 + "fdir": "^6.5.0", 5072 + "picomatch": "^4.0.3", 5073 + "postcss": "^8.5.6", 5074 + "rollup": "^4.43.0", 5075 + "tinyglobby": "^0.2.15" 5076 + }, 5077 + "bin": { 5078 + "vite": "bin/vite.js" 5079 + }, 5080 + "engines": { 5081 + "node": "^20.19.0 || >=22.12.0" 5082 + }, 5083 + "funding": { 5084 + "url": "https://github.com/vitejs/vite?sponsor=1" 5085 + }, 5086 + "optionalDependencies": { 5087 + "fsevents": "~2.3.3" 5088 + }, 5089 + "peerDependencies": { 5090 + "@types/node": "^20.19.0 || >=22.12.0", 5091 + "jiti": ">=1.21.0", 5092 + "less": "^4.0.0", 5093 + "lightningcss": "^1.21.0", 5094 + "sass": "^1.70.0", 5095 + "sass-embedded": "^1.70.0", 5096 + "stylus": ">=0.54.8", 5097 + "sugarss": "^5.0.0", 5098 + "terser": "^5.16.0", 5099 + "tsx": "^4.8.1", 5100 + "yaml": "^2.4.2" 5101 + }, 5102 + "peerDependenciesMeta": { 5103 + "@types/node": { 5104 + "optional": true 5105 + }, 5106 + "jiti": { 5107 + "optional": true 5108 + }, 5109 + "less": { 5110 + "optional": true 5111 + }, 5112 + "lightningcss": { 5113 + "optional": true 5114 + }, 5115 + "sass": { 5116 + "optional": true 5117 + }, 5118 + "sass-embedded": { 5119 + "optional": true 5120 + }, 5121 + "stylus": { 5122 + "optional": true 5123 + }, 5124 + "sugarss": { 5125 + "optional": true 5126 + }, 5127 + "terser": { 5128 + "optional": true 5129 + }, 5130 + "tsx": { 5131 + "optional": true 5132 + }, 5133 + "yaml": { 5134 + "optional": true 5135 + } 5136 + } 5137 + }, 5138 + "node_modules/vite-node": { 5139 + "version": "3.2.4", 5140 + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", 5141 + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", 5142 + "dev": true, 5143 + "license": "MIT", 5144 + "dependencies": { 5145 + "cac": "^6.7.14", 5146 + "debug": "^4.4.1", 5147 + "es-module-lexer": "^1.7.0", 5148 + "pathe": "^2.0.3", 5149 + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" 5150 + }, 5151 + "bin": { 5152 + "vite-node": "vite-node.mjs" 5153 + }, 5154 + "engines": { 5155 + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" 5156 + }, 5157 + "funding": { 5158 + "url": "https://opencollective.com/vitest" 5159 + } 5160 + }, 5161 + "node_modules/vite-tsconfig-paths": { 5162 + "version": "5.1.4", 5163 + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz", 5164 + "integrity": "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==", 5165 + "dev": true, 5166 + "license": "MIT", 5167 + "dependencies": { 5168 + "debug": "^4.1.1", 5169 + "globrex": "^0.1.2", 5170 + "tsconfck": "^3.0.3" 5171 + }, 5172 + "peerDependencies": { 5173 + "vite": "*" 5174 + }, 5175 + "peerDependenciesMeta": { 5176 + "vite": { 5177 + "optional": true 5178 + } 5179 + } 5180 + }, 5181 + "node_modules/vitefu": { 5182 + "version": "1.1.3", 5183 + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", 5184 + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", 5185 + "license": "MIT", 5186 + "workspaces": [ 5187 + "tests/deps/*", 5188 + "tests/projects/*", 5189 + "tests/projects/workspace/packages/*" 5190 + ], 5191 + "peerDependencies": { 5192 + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" 5193 + }, 5194 + "peerDependenciesMeta": { 5195 + "vite": { 5196 + "optional": true 5197 + } 5198 + } 5199 + }, 5200 + "node_modules/vitest": { 5201 + "version": "3.2.4", 5202 + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", 5203 + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", 5204 + "dev": true, 5205 + "license": "MIT", 5206 + "dependencies": { 5207 + "@types/chai": "^5.2.2", 5208 + "@vitest/expect": "3.2.4", 5209 + "@vitest/mocker": "3.2.4", 5210 + "@vitest/pretty-format": "^3.2.4", 5211 + "@vitest/runner": "3.2.4", 5212 + "@vitest/snapshot": "3.2.4", 5213 + "@vitest/spy": "3.2.4", 5214 + "@vitest/utils": "3.2.4", 5215 + "chai": "^5.2.0", 5216 + "debug": "^4.4.1", 5217 + "expect-type": "^1.2.1", 5218 + "magic-string": "^0.30.17", 5219 + "pathe": "^2.0.3", 5220 + "picomatch": "^4.0.2", 5221 + "std-env": "^3.9.0", 5222 + "tinybench": "^2.9.0", 5223 + "tinyexec": "^0.3.2", 5224 + "tinyglobby": "^0.2.14", 5225 + "tinypool": "^1.1.1", 5226 + "tinyrainbow": "^2.0.0", 5227 + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", 5228 + "vite-node": "3.2.4", 5229 + "why-is-node-running": "^2.3.0" 5230 + }, 5231 + "bin": { 5232 + "vitest": "vitest.mjs" 5233 + }, 5234 + "engines": { 5235 + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" 5236 + }, 5237 + "funding": { 5238 + "url": "https://opencollective.com/vitest" 5239 + }, 5240 + "peerDependencies": { 5241 + "@edge-runtime/vm": "*", 5242 + "@types/debug": "^4.1.12", 5243 + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", 5244 + "@vitest/browser": "3.2.4", 5245 + "@vitest/ui": "3.2.4", 5246 + "happy-dom": "*", 5247 + "jsdom": "*" 5248 + }, 5249 + "peerDependenciesMeta": { 5250 + "@edge-runtime/vm": { 5251 + "optional": true 5252 + }, 5253 + "@types/debug": { 5254 + "optional": true 5255 + }, 5256 + "@types/node": { 5257 + "optional": true 5258 + }, 5259 + "@vitest/browser": { 5260 + "optional": true 5261 + }, 5262 + "@vitest/ui": { 5263 + "optional": true 5264 + }, 5265 + "happy-dom": { 5266 + "optional": true 5267 + }, 5268 + "jsdom": { 5269 + "optional": true 5270 + } 5271 + } 5272 + }, 5273 + "node_modules/w3c-xmlserializer": { 5274 + "version": "5.0.0", 5275 + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", 5276 + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", 5277 + "dev": true, 5278 + "license": "MIT", 5279 + "dependencies": { 5280 + "xml-name-validator": "^5.0.0" 5281 + }, 5282 + "engines": { 5283 + "node": ">=18" 5284 + } 5285 + }, 5286 + "node_modules/webidl-conversions": { 5287 + "version": "8.0.1", 5288 + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", 5289 + "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", 5290 + "dev": true, 5291 + "license": "BSD-2-Clause", 5292 + "engines": { 5293 + "node": ">=20" 5294 + } 5295 + }, 5296 + "node_modules/webpack-virtual-modules": { 5297 + "version": "0.6.2", 5298 + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", 5299 + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", 5300 + "license": "MIT" 5301 + }, 5302 + "node_modules/whatwg-encoding": { 5303 + "version": "3.1.1", 5304 + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", 5305 + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", 5306 + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", 5307 + "license": "MIT", 5308 + "dependencies": { 5309 + "iconv-lite": "0.6.3" 5310 + }, 5311 + "engines": { 5312 + "node": ">=18" 5313 + } 5314 + }, 5315 + "node_modules/whatwg-mimetype": { 5316 + "version": "4.0.0", 5317 + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", 5318 + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", 5319 + "license": "MIT", 5320 + "engines": { 5321 + "node": ">=18" 5322 + } 5323 + }, 5324 + "node_modules/whatwg-url": { 5325 + "version": "16.0.1", 5326 + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", 5327 + "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", 5328 + "dev": true, 5329 + "license": "MIT", 5330 + "dependencies": { 5331 + "@exodus/bytes": "^1.11.0", 5332 + "tr46": "^6.0.0", 5333 + "webidl-conversions": "^8.0.1" 5334 + }, 5335 + "engines": { 5336 + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" 5337 + } 5338 + }, 5339 + "node_modules/why-is-node-running": { 5340 + "version": "2.3.0", 5341 + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", 5342 + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", 5343 + "dev": true, 5344 + "license": "MIT", 5345 + "dependencies": { 5346 + "siginfo": "^2.0.0", 5347 + "stackback": "0.0.2" 5348 + }, 5349 + "bin": { 5350 + "why-is-node-running": "cli.js" 5351 + }, 5352 + "engines": { 5353 + "node": ">=8" 5354 + } 5355 + }, 5356 + "node_modules/ws": { 5357 + "version": "8.20.0", 5358 + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", 5359 + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", 5360 + "license": "MIT", 5361 + "engines": { 5362 + "node": ">=10.0.0" 5363 + }, 5364 + "peerDependencies": { 5365 + "bufferutil": "^4.0.1", 5366 + "utf-8-validate": ">=5.0.2" 5367 + }, 5368 + "peerDependenciesMeta": { 5369 + "bufferutil": { 5370 + "optional": true 5371 + }, 5372 + "utf-8-validate": { 5373 + "optional": true 5374 + } 5375 + } 5376 + }, 5377 + "node_modules/xml-name-validator": { 5378 + "version": "5.0.0", 5379 + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", 5380 + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", 5381 + "dev": true, 5382 + "license": "Apache-2.0", 5383 + "engines": { 5384 + "node": ">=18" 5385 + } 5386 + }, 5387 + "node_modules/xmlbuilder2": { 5388 + "version": "4.0.3", 5389 + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-4.0.3.tgz", 5390 + "integrity": "sha512-bx8Q1STctnNaaDymWnkfQLKofs0mGNN7rLLapJlGuV3VlvegD7Ls4ggMjE3aUSWItCCzU0PEv45lI87iSigiCA==", 5391 + "license": "MIT", 5392 + "dependencies": { 5393 + "@oozcitak/dom": "^2.0.2", 5394 + "@oozcitak/infra": "^2.0.2", 5395 + "@oozcitak/util": "^10.0.0", 5396 + "js-yaml": "^4.1.1" 5397 + }, 5398 + "engines": { 5399 + "node": ">=20.0" 5400 + } 5401 + }, 5402 + "node_modules/xmlchars": { 5403 + "version": "2.2.0", 5404 + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", 5405 + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", 5406 + "dev": true, 5407 + "license": "MIT" 5408 + }, 5409 + "node_modules/yallist": { 5410 + "version": "3.1.1", 5411 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 5412 + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 5413 + "license": "ISC" 5414 + }, 5415 + "node_modules/zod": { 5416 + "version": "3.25.76", 5417 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", 5418 + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", 5419 + "license": "MIT", 5420 + "funding": { 5421 + "url": "https://github.com/sponsors/colinhacks" 5422 + } 5423 + } 5424 + } 5425 + }
+48
package.json
··· 1 + { 2 + "name": "dudesky", 3 + "private": true, 4 + "type": "module", 5 + "imports": { 6 + "#/*": "./src/*" 7 + }, 8 + "scripts": { 9 + "dev": "vite dev --port 3000", 10 + "build": "vite build", 11 + "preview": "vite preview", 12 + "test": "vitest run" 13 + }, 14 + "dependencies": { 15 + "@tailwindcss/vite": "^4.1.18", 16 + "@tanstack/react-devtools": "latest", 17 + "@tanstack/react-router": "latest", 18 + "@tanstack/react-router-devtools": "latest", 19 + "@tanstack/react-router-ssr-query": "latest", 20 + "@tanstack/react-start": "latest", 21 + "@tanstack/router-plugin": "^1.132.0", 22 + "lucide-react": "^0.545.0", 23 + "react": "^19.2.0", 24 + "react-dom": "^19.2.0", 25 + "tailwindcss": "^4.1.18" 26 + }, 27 + "devDependencies": { 28 + "@tailwindcss/typography": "^0.5.16", 29 + "@tanstack/devtools-vite": "latest", 30 + "@testing-library/dom": "^10.4.1", 31 + "@testing-library/react": "^16.3.0", 32 + "@types/node": "^22.10.2", 33 + "@types/react": "^19.2.0", 34 + "@types/react-dom": "^19.2.0", 35 + "@vitejs/plugin-react": "^5.1.4", 36 + "jsdom": "^28.1.0", 37 + "typescript": "^5.7.2", 38 + "vite": "^7.3.1", 39 + "vite-tsconfig-paths": "^5.1.4", 40 + "vitest": "^3.0.5" 41 + }, 42 + "pnpm": { 43 + "onlyBuiltDependencies": [ 44 + "esbuild", 45 + "lightningcss" 46 + ] 47 + } 48 + }
public/favicon.ico

This is a binary file and will not be displayed.

public/logo192.png

This is a binary file and will not be displayed.

public/logo512.png

This is a binary file and will not be displayed.

+25
public/manifest.json
··· 1 + { 2 + "short_name": "TanStack App", 3 + "name": "Create TanStack App Sample", 4 + "icons": [ 5 + { 6 + "src": "favicon.ico", 7 + "sizes": "64x64 32x32 24x24 16x16", 8 + "type": "image/x-icon" 9 + }, 10 + { 11 + "src": "logo192.png", 12 + "type": "image/png", 13 + "sizes": "192x192" 14 + }, 15 + { 16 + "src": "logo512.png", 17 + "type": "image/png", 18 + "sizes": "512x512" 19 + } 20 + ], 21 + "start_url": ".", 22 + "display": "standalone", 23 + "theme_color": "#000000", 24 + "background_color": "#ffffff" 25 + }
+3
public/robots.txt
··· 1 + # https://www.robotstxt.org/robotstxt.html 2 + User-agent: * 3 + Disallow:
+44
src/components/Footer.tsx
··· 1 + export default function Footer() { 2 + const year = new Date().getFullYear() 3 + 4 + return ( 5 + <footer className="mt-20 border-t border-[var(--line)] px-4 pb-14 pt-10 text-[var(--sea-ink-soft)]"> 6 + <div className="page-wrap flex flex-col items-center justify-between gap-4 text-center sm:flex-row sm:text-left"> 7 + <p className="m-0 text-sm"> 8 + &copy; {year} Your name here. All rights reserved. 9 + </p> 10 + <p className="island-kicker m-0">Built with TanStack Start</p> 11 + </div> 12 + <div className="mt-4 flex justify-center gap-4"> 13 + <a 14 + href="https://x.com/tan_stack" 15 + target="_blank" 16 + rel="noreferrer" 17 + className="rounded-xl p-2 text-[var(--sea-ink-soft)] transition hover:bg-[var(--link-bg-hover)] hover:text-[var(--sea-ink)]" 18 + > 19 + <span className="sr-only">Follow TanStack on X</span> 20 + <svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32"> 21 + <path 22 + fill="currentColor" 23 + d="M12.6 1h2.2L10 6.48 15.64 15h-4.41L7.78 9.82 3.23 15H1l5.14-5.84L.72 1h4.52l3.12 4.73L12.6 1zm-.77 12.67h1.22L4.57 2.26H3.26l8.57 11.41z" 24 + /> 25 + </svg> 26 + </a> 27 + <a 28 + href="https://github.com/TanStack" 29 + target="_blank" 30 + rel="noreferrer" 31 + className="rounded-xl p-2 text-[var(--sea-ink-soft)] transition hover:bg-[var(--link-bg-hover)] hover:text-[var(--sea-ink)]" 32 + > 33 + <span className="sr-only">Go to TanStack GitHub</span> 34 + <svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32"> 35 + <path 36 + fill="currentColor" 37 + d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" 38 + /> 39 + </svg> 40 + </a> 41 + </div> 42 + </footer> 43 + ) 44 + }
+78
src/components/Header.tsx
··· 1 + import { Link } from '@tanstack/react-router' 2 + import ThemeToggle from './ThemeToggle' 3 + 4 + export default function Header() { 5 + return ( 6 + <header className="sticky top-0 z-50 border-b border-[var(--line)] bg-[var(--header-bg)] px-4 backdrop-blur-lg"> 7 + <nav className="page-wrap flex flex-wrap items-center gap-x-3 gap-y-2 py-3 sm:py-4"> 8 + <h2 className="m-0 flex-shrink-0 text-base font-semibold tracking-tight"> 9 + <Link 10 + to="/" 11 + className="inline-flex items-center gap-2 rounded-full border border-[var(--chip-line)] bg-[var(--chip-bg)] px-3 py-1.5 text-sm text-[var(--sea-ink)] no-underline shadow-[0_8px_24px_rgba(30,90,72,0.08)] sm:px-4 sm:py-2" 12 + > 13 + <span className="h-2 w-2 rounded-full bg-[linear-gradient(90deg,#56c6be,#7ed3bf)]" /> 14 + TanStack Start 15 + </Link> 16 + </h2> 17 + 18 + <div className="ml-auto flex items-center gap-1.5 sm:ml-0 sm:gap-2"> 19 + <a 20 + href="https://x.com/tan_stack" 21 + target="_blank" 22 + rel="noreferrer" 23 + className="hidden rounded-xl p-2 text-[var(--sea-ink-soft)] transition hover:bg-[var(--link-bg-hover)] hover:text-[var(--sea-ink)] sm:block" 24 + > 25 + <span className="sr-only">Follow TanStack on X</span> 26 + <svg viewBox="0 0 16 16" aria-hidden="true" width="24" height="24"> 27 + <path 28 + fill="currentColor" 29 + d="M12.6 1h2.2L10 6.48 15.64 15h-4.41L7.78 9.82 3.23 15H1l5.14-5.84L.72 1h4.52l3.12 4.73L12.6 1zm-.77 12.67h1.22L4.57 2.26H3.26l8.57 11.41z" 30 + /> 31 + </svg> 32 + </a> 33 + <a 34 + href="https://github.com/TanStack" 35 + target="_blank" 36 + rel="noreferrer" 37 + className="hidden rounded-xl p-2 text-[var(--sea-ink-soft)] transition hover:bg-[var(--link-bg-hover)] hover:text-[var(--sea-ink)] sm:block" 38 + > 39 + <span className="sr-only">Go to TanStack GitHub</span> 40 + <svg viewBox="0 0 16 16" aria-hidden="true" width="24" height="24"> 41 + <path 42 + fill="currentColor" 43 + d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" 44 + /> 45 + </svg> 46 + </a> 47 + 48 + <ThemeToggle /> 49 + </div> 50 + 51 + <div className="order-3 flex w-full flex-wrap items-center gap-x-4 gap-y-1 pb-1 text-sm font-semibold sm:order-2 sm:w-auto sm:flex-nowrap sm:pb-0"> 52 + <Link 53 + to="/" 54 + className="nav-link" 55 + activeProps={{ className: 'nav-link is-active' }} 56 + > 57 + Home 58 + </Link> 59 + <Link 60 + to="/about" 61 + className="nav-link" 62 + activeProps={{ className: 'nav-link is-active' }} 63 + > 64 + About 65 + </Link> 66 + <a 67 + href="https://tanstack.com/start/latest/docs/framework/react/overview" 68 + className="nav-link" 69 + target="_blank" 70 + rel="noreferrer" 71 + > 72 + Docs 73 + </a> 74 + </div> 75 + </nav> 76 + </header> 77 + ) 78 + }
+81
src/components/ThemeToggle.tsx
··· 1 + import { useEffect, useState } from 'react' 2 + 3 + type ThemeMode = 'light' | 'dark' | 'auto' 4 + 5 + function getInitialMode(): ThemeMode { 6 + if (typeof window === 'undefined') { 7 + return 'auto' 8 + } 9 + 10 + const stored = window.localStorage.getItem('theme') 11 + if (stored === 'light' || stored === 'dark' || stored === 'auto') { 12 + return stored 13 + } 14 + 15 + return 'auto' 16 + } 17 + 18 + function applyThemeMode(mode: ThemeMode) { 19 + const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches 20 + const resolved = mode === 'auto' ? (prefersDark ? 'dark' : 'light') : mode 21 + 22 + document.documentElement.classList.remove('light', 'dark') 23 + document.documentElement.classList.add(resolved) 24 + 25 + if (mode === 'auto') { 26 + document.documentElement.removeAttribute('data-theme') 27 + } else { 28 + document.documentElement.setAttribute('data-theme', mode) 29 + } 30 + 31 + document.documentElement.style.colorScheme = resolved 32 + } 33 + 34 + export default function ThemeToggle() { 35 + const [mode, setMode] = useState<ThemeMode>('auto') 36 + 37 + useEffect(() => { 38 + const initialMode = getInitialMode() 39 + setMode(initialMode) 40 + applyThemeMode(initialMode) 41 + }, []) 42 + 43 + useEffect(() => { 44 + if (mode !== 'auto') { 45 + return 46 + } 47 + 48 + const media = window.matchMedia('(prefers-color-scheme: dark)') 49 + const onChange = () => applyThemeMode('auto') 50 + 51 + media.addEventListener('change', onChange) 52 + return () => { 53 + media.removeEventListener('change', onChange) 54 + } 55 + }, [mode]) 56 + 57 + function toggleMode() { 58 + const nextMode: ThemeMode = 59 + mode === 'light' ? 'dark' : mode === 'dark' ? 'auto' : 'light' 60 + setMode(nextMode) 61 + applyThemeMode(nextMode) 62 + window.localStorage.setItem('theme', nextMode) 63 + } 64 + 65 + const label = 66 + mode === 'auto' 67 + ? 'Theme mode: auto (system). Click to switch to light mode.' 68 + : `Theme mode: ${mode}. Click to switch mode.` 69 + 70 + return ( 71 + <button 72 + type="button" 73 + onClick={toggleMode} 74 + aria-label={label} 75 + title={label} 76 + className="rounded-full border border-[var(--chip-line)] bg-[var(--chip-bg)] px-3 py-1.5 text-sm font-semibold text-[var(--sea-ink)] shadow-[0_8px_22px_rgba(30,90,72,0.08)] transition hover:-translate-y-0.5" 77 + > 78 + {mode === 'auto' ? 'Auto' : mode === 'dark' ? 'Dark' : 'Light'} 79 + </button> 80 + ) 81 + }
+104
src/routeTree.gen.ts
··· 1 + /* eslint-disable */ 2 + 3 + // @ts-nocheck 4 + 5 + // noinspection JSUnusedGlobalSymbols 6 + 7 + // This file was automatically generated by TanStack Router. 8 + // You should NOT make any changes in this file as it will be overwritten. 9 + // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. 10 + 11 + import { Route as rootRouteImport } from './routes/__root' 12 + import { Route as FeedRouteImport } from './routes/feed' 13 + import { Route as AboutRouteImport } from './routes/about' 14 + import { Route as IndexRouteImport } from './routes/index' 15 + 16 + const FeedRoute = FeedRouteImport.update({ 17 + id: '/feed', 18 + path: '/feed', 19 + getParentRoute: () => rootRouteImport, 20 + } as any) 21 + const AboutRoute = AboutRouteImport.update({ 22 + id: '/about', 23 + path: '/about', 24 + getParentRoute: () => rootRouteImport, 25 + } as any) 26 + const IndexRoute = IndexRouteImport.update({ 27 + id: '/', 28 + path: '/', 29 + getParentRoute: () => rootRouteImport, 30 + } as any) 31 + 32 + export interface FileRoutesByFullPath { 33 + '/': typeof IndexRoute 34 + '/about': typeof AboutRoute 35 + '/feed': typeof FeedRoute 36 + } 37 + export interface FileRoutesByTo { 38 + '/': typeof IndexRoute 39 + '/about': typeof AboutRoute 40 + '/feed': typeof FeedRoute 41 + } 42 + export interface FileRoutesById { 43 + __root__: typeof rootRouteImport 44 + '/': typeof IndexRoute 45 + '/about': typeof AboutRoute 46 + '/feed': typeof FeedRoute 47 + } 48 + export interface FileRouteTypes { 49 + fileRoutesByFullPath: FileRoutesByFullPath 50 + fullPaths: '/' | '/about' | '/feed' 51 + fileRoutesByTo: FileRoutesByTo 52 + to: '/' | '/about' | '/feed' 53 + id: '__root__' | '/' | '/about' | '/feed' 54 + fileRoutesById: FileRoutesById 55 + } 56 + export interface RootRouteChildren { 57 + IndexRoute: typeof IndexRoute 58 + AboutRoute: typeof AboutRoute 59 + FeedRoute: typeof FeedRoute 60 + } 61 + 62 + declare module '@tanstack/react-router' { 63 + interface FileRoutesByPath { 64 + '/feed': { 65 + id: '/feed' 66 + path: '/feed' 67 + fullPath: '/feed' 68 + preLoaderRoute: typeof FeedRouteImport 69 + parentRoute: typeof rootRouteImport 70 + } 71 + '/about': { 72 + id: '/about' 73 + path: '/about' 74 + fullPath: '/about' 75 + preLoaderRoute: typeof AboutRouteImport 76 + parentRoute: typeof rootRouteImport 77 + } 78 + '/': { 79 + id: '/' 80 + path: '/' 81 + fullPath: '/' 82 + preLoaderRoute: typeof IndexRouteImport 83 + parentRoute: typeof rootRouteImport 84 + } 85 + } 86 + } 87 + 88 + const rootRouteChildren: RootRouteChildren = { 89 + IndexRoute: IndexRoute, 90 + AboutRoute: AboutRoute, 91 + FeedRoute: FeedRoute, 92 + } 93 + export const routeTree = rootRouteImport 94 + ._addFileChildren(rootRouteChildren) 95 + ._addFileTypes<FileRouteTypes>() 96 + 97 + import type { getRouter } from './router.tsx' 98 + import type { createStart } from '@tanstack/react-start' 99 + declare module '@tanstack/react-start' { 100 + interface Register { 101 + ssr: true 102 + router: Awaited<ReturnType<typeof getRouter>> 103 + } 104 + }
+19
src/router.tsx
··· 1 + import { createRouter as createTanStackRouter } from '@tanstack/react-router' 2 + import { routeTree } from './routeTree.gen' 3 + 4 + export function getRouter() { 5 + const router = createTanStackRouter({ 6 + routeTree, 7 + scrollRestoration: true, 8 + defaultPreload: 'intent', 9 + defaultPreloadStaleTime: 0, 10 + }) 11 + 12 + return router 13 + } 14 + 15 + declare module '@tanstack/react-router' { 16 + interface Register { 17 + router: ReturnType<typeof getRouter> 18 + } 19 + }
+62
src/routes/__root.tsx
··· 1 + import { HeadContent, Scripts, createRootRoute } from '@tanstack/react-router' 2 + import { TanStackRouterDevtoolsPanel } from '@tanstack/react-router-devtools' 3 + import { TanStackDevtools } from '@tanstack/react-devtools' 4 + import Footer from '../components/Footer' 5 + import Header from '../components/Header' 6 + 7 + import appCss from '../styles.css?url' 8 + 9 + const THEME_INIT_SCRIPT = `(function(){try{var stored=window.localStorage.getItem('theme');var mode=(stored==='light'||stored==='dark'||stored==='auto')?stored:'auto';var prefersDark=window.matchMedia('(prefers-color-scheme: dark)').matches;var resolved=mode==='auto'?(prefersDark?'dark':'light'):mode;var root=document.documentElement;root.classList.remove('light','dark');root.classList.add(resolved);if(mode==='auto'){root.removeAttribute('data-theme')}else{root.setAttribute('data-theme',mode)}root.style.colorScheme=resolved;}catch(e){}})();` 10 + 11 + export const Route = createRootRoute({ 12 + head: () => ({ 13 + meta: [ 14 + { 15 + charSet: 'utf-8', 16 + }, 17 + { 18 + name: 'viewport', 19 + content: 'width=device-width, initial-scale=1', 20 + }, 21 + { 22 + title: 'TanStack Start Starter', 23 + }, 24 + ], 25 + links: [ 26 + { 27 + rel: 'stylesheet', 28 + href: appCss, 29 + }, 30 + ], 31 + }), 32 + shellComponent: RootDocument, 33 + notFoundComponent: () => <div>404 Not Found, Try Again</div>, 34 + }) 35 + 36 + function RootDocument({ children }: { children: React.ReactNode }) { 37 + return ( 38 + <html lang="en" suppressHydrationWarning> 39 + <head> 40 + <script dangerouslySetInnerHTML={{ __html: THEME_INIT_SCRIPT }} /> 41 + <HeadContent /> 42 + </head> 43 + <body className="font-sans antialiased [overflow-wrap:anywhere] selection:bg-[rgba(79,184,178,0.24)]"> 44 + <Header /> 45 + {children} 46 + <Footer /> 47 + <TanStackDevtools 48 + config={{ 49 + position: 'bottom-right', 50 + }} 51 + plugins={[ 52 + { 53 + name: 'Tanstack Router', 54 + render: <TanStackRouterDevtoolsPanel />, 55 + }, 56 + ]} 57 + /> 58 + <Scripts /> 59 + </body> 60 + </html> 61 + ) 62 + }
+23
src/routes/about.tsx
··· 1 + import { createFileRoute } from '@tanstack/react-router' 2 + 3 + export const Route = createFileRoute('/about')({ 4 + component: About, 5 + }) 6 + 7 + function About() { 8 + return ( 9 + <main className="page-wrap px-4 py-12"> 10 + <section className="island-shell rounded-2xl p-6 sm:p-8"> 11 + <p className="island-kicker mb-2">About</p> 12 + <h1 className="display-title mb-3 text-4xl font-bold text-[var(--sea-ink)] sm:text-5xl"> 13 + A small starter with room to grow. 14 + </h1> 15 + <p className="m-0 max-w-3xl text-base leading-8 text-[var(--sea-ink-soft)]"> 16 + TanStack Start gives you type-safe routing, server functions, and 17 + modern SSR defaults. Use this as a clean foundation, then layer in 18 + your own routes, styling, and add-ons. 19 + </p> 20 + </section> 21 + </main> 22 + ) 23 + }
+9
src/routes/feed.tsx
··· 1 + import { createFileRoute } from '@tanstack/react-router' 2 + 3 + export const Route = createFileRoute('/feed')({ 4 + component: RouteComponent, 5 + }) 6 + 7 + function RouteComponent() { 8 + return <div>Hello "/feed"!</div> 9 + }
+87
src/routes/index.tsx
··· 1 + import { createFileRoute } from '@tanstack/react-router' 2 + 3 + export const Route = createFileRoute('/')({ component: App }) 4 + 5 + function App() { 6 + return ( 7 + <main className="page-wrap px-4 pb-8 pt-14"> 8 + <section className="island-shell rise-in relative overflow-hidden rounded-[2rem] px-6 py-10 sm:px-10 sm:py-14"> 9 + <div className="pointer-events-none absolute -left-20 -top-24 h-56 w-56 rounded-full bg-[radial-gradient(circle,rgba(79,184,178,0.32),transparent_66%)]" /> 10 + <div className="pointer-events-none absolute -bottom-20 -right-20 h-56 w-56 rounded-full bg-[radial-gradient(circle,rgba(47,106,74,0.18),transparent_66%)]" /> 11 + <p className="island-kicker mb-3">TanStack Start Base Template</p> 12 + <h1 className="display-title mb-5 max-w-3xl text-4xl leading-[1.02] font-bold tracking-tight text-[var(--sea-ink)] sm:text-6xl"> 13 + Start simple, ship quickly. 14 + </h1> 15 + <p className="mb-8 max-w-2xl text-base text-[var(--sea-ink-soft)] sm:text-lg"> 16 + This base starter intentionally keeps things light: two routes, clean 17 + structure, and the essentials you need to build from scratch. 18 + </p> 19 + <div className="flex flex-wrap gap-3"> 20 + <a 21 + href="/about" 22 + className="rounded-full border border-[rgba(50,143,151,0.3)] bg-[rgba(79,184,178,0.14)] px-5 py-2.5 text-sm font-semibold text-[var(--lagoon-deep)] no-underline transition hover:-translate-y-0.5 hover:bg-[rgba(79,184,178,0.24)]" 23 + > 24 + About This Starter 25 + </a> 26 + <a 27 + href="https://tanstack.com/router" 28 + target="_blank" 29 + rel="noopener noreferrer" 30 + className="rounded-full border border-[rgba(23,58,64,0.2)] bg-white/50 px-5 py-2.5 text-sm font-semibold text-[var(--sea-ink)] no-underline transition hover:-translate-y-0.5 hover:border-[rgba(23,58,64,0.35)]" 31 + > 32 + Router Guide 33 + </a> 34 + </div> 35 + </section> 36 + 37 + <section className="mt-8 grid gap-4 sm:grid-cols-2 lg:grid-cols-4"> 38 + {[ 39 + [ 40 + 'Type-Safe Routing', 41 + 'Routes and links stay in sync across every page.', 42 + ], 43 + [ 44 + 'Server Functions', 45 + 'Call server code from your UI without creating API boilerplate.', 46 + ], 47 + [ 48 + 'Streaming by Default', 49 + 'Ship progressively rendered responses for faster experiences.', 50 + ], 51 + [ 52 + 'Tailwind Native', 53 + 'Design quickly with utility-first styling and reusable tokens.', 54 + ], 55 + ].map(([title, desc], index) => ( 56 + <article 57 + key={title} 58 + className="island-shell feature-card rise-in rounded-2xl p-5" 59 + style={{ animationDelay: `${index * 90 + 80}ms` }} 60 + > 61 + <h2 className="mb-2 text-base font-semibold text-[var(--sea-ink)]"> 62 + {title} 63 + </h2> 64 + <p className="m-0 text-sm text-[var(--sea-ink-soft)]">{desc}</p> 65 + </article> 66 + ))} 67 + </section> 68 + 69 + <section className="island-shell mt-8 rounded-2xl p-6"> 70 + <p className="island-kicker mb-2">Quick Start</p> 71 + <ul className="m-0 list-disc space-y-2 pl-5 text-sm text-[var(--sea-ink-soft)]"> 72 + <li> 73 + Edit <code>src/routes/index.tsx</code> to customize the home page. 74 + </li> 75 + <li> 76 + Update <code>src/components/Header.tsx</code> and{' '} 77 + <code>src/components/Footer.tsx</code> for brand links. 78 + </li> 79 + <li> 80 + Add routes in <code>src/routes</code> and tweak visual tokens in{' '} 81 + <code>src/styles.css</code>. 82 + </li> 83 + </ul> 84 + </section> 85 + </main> 86 + ) 87 + }
+259
src/styles.css
··· 1 + @import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap"); 2 + @import "tailwindcss"; 3 + @plugin "@tailwindcss/typography"; 4 + 5 + @theme { 6 + --font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif; 7 + } 8 + 9 + :root { 10 + --sea-ink: #173a40; 11 + --sea-ink-soft: #416166; 12 + --lagoon: #4fb8b2; 13 + --lagoon-deep: #328f97; 14 + --palm: #2f6a4a; 15 + --sand: #e7f0e8; 16 + --foam: #f3faf5; 17 + --surface: rgba(255, 255, 255, 0.74); 18 + --surface-strong: rgba(255, 255, 255, 0.9); 19 + --line: rgba(23, 58, 64, 0.14); 20 + --inset-glint: rgba(255, 255, 255, 0.82); 21 + --kicker: rgba(47, 106, 74, 0.9); 22 + --bg-base: #e7f3ec; 23 + --header-bg: rgba(251, 255, 248, 0.84); 24 + --chip-bg: rgba(255, 255, 255, 0.8); 25 + --chip-line: rgba(47, 106, 74, 0.18); 26 + --link-bg-hover: rgba(255, 255, 255, 0.9); 27 + --hero-a: rgba(79, 184, 178, 0.36); 28 + --hero-b: rgba(47, 106, 74, 0.2); 29 + } 30 + 31 + :root[data-theme="dark"] { 32 + --sea-ink: #d7ece8; 33 + --sea-ink-soft: #afcdc8; 34 + --lagoon: #60d7cf; 35 + --lagoon-deep: #8de5db; 36 + --palm: #6ec89a; 37 + --sand: #0f1a1e; 38 + --foam: #101d22; 39 + --surface: rgba(16, 30, 34, 0.8); 40 + --surface-strong: rgba(15, 27, 31, 0.92); 41 + --line: rgba(141, 229, 219, 0.18); 42 + --inset-glint: rgba(194, 247, 238, 0.14); 43 + --kicker: #b8efe5; 44 + --bg-base: #0a1418; 45 + --header-bg: rgba(10, 20, 24, 0.8); 46 + --chip-bg: rgba(13, 28, 32, 0.9); 47 + --chip-line: rgba(141, 229, 219, 0.24); 48 + --link-bg-hover: rgba(24, 44, 49, 0.8); 49 + --hero-a: rgba(96, 215, 207, 0.18); 50 + --hero-b: rgba(110, 200, 154, 0.12); 51 + } 52 + 53 + @media (prefers-color-scheme: dark) { 54 + :root:not([data-theme="light"]) { 55 + --sea-ink: #d7ece8; 56 + --sea-ink-soft: #afcdc8; 57 + --lagoon: #60d7cf; 58 + --lagoon-deep: #8de5db; 59 + --palm: #6ec89a; 60 + --sand: #0f1a1e; 61 + --foam: #101d22; 62 + --surface: rgba(16, 30, 34, 0.8); 63 + --surface-strong: rgba(15, 27, 31, 0.92); 64 + --line: rgba(141, 229, 219, 0.18); 65 + --inset-glint: rgba(194, 247, 238, 0.14); 66 + --kicker: #b8efe5; 67 + --bg-base: #0a1418; 68 + --header-bg: rgba(10, 20, 24, 0.8); 69 + --chip-bg: rgba(13, 28, 32, 0.9); 70 + --chip-line: rgba(141, 229, 219, 0.24); 71 + --link-bg-hover: rgba(24, 44, 49, 0.8); 72 + --hero-a: rgba(96, 215, 207, 0.18); 73 + --hero-b: rgba(110, 200, 154, 0.12); 74 + } 75 + } 76 + 77 + * { 78 + box-sizing: border-box; 79 + } 80 + 81 + html, 82 + body, 83 + #app { 84 + min-height: 100%; 85 + } 86 + 87 + body { 88 + margin: 0; 89 + color: var(--sea-ink); 90 + font-family: var(--font-sans); 91 + background-color: var(--bg-base); 92 + background: 93 + radial-gradient(1100px 620px at -8% -10%, var(--hero-a), transparent 58%), 94 + radial-gradient(1050px 620px at 112% -12%, var(--hero-b), transparent 62%), 95 + radial-gradient(720px 380px at 50% 115%, rgba(79, 184, 178, 0.1), transparent 68%), 96 + linear-gradient(180deg, color-mix(in oklab, var(--sand) 68%, white) 0%, var(--foam) 44%, var(--bg-base) 100%); 97 + overflow-x: hidden; 98 + -webkit-font-smoothing: antialiased; 99 + -moz-osx-font-smoothing: grayscale; 100 + } 101 + 102 + body::before { 103 + content: ""; 104 + position: fixed; 105 + inset: 0; 106 + pointer-events: none; 107 + z-index: -1; 108 + opacity: 0.28; 109 + background: 110 + radial-gradient(circle at 20% 15%, rgba(255, 255, 255, 0.8), transparent 34%), 111 + radial-gradient(circle at 78% 26%, rgba(79, 184, 178, 0.2), transparent 42%), 112 + radial-gradient(circle at 42% 82%, rgba(47, 106, 74, 0.14), transparent 36%); 113 + } 114 + 115 + body::after { 116 + content: ""; 117 + position: fixed; 118 + inset: 0; 119 + pointer-events: none; 120 + z-index: -1; 121 + opacity: 0.14; 122 + background-image: 123 + linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px), 124 + linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px); 125 + background-size: 28px 28px; 126 + mask-image: radial-gradient(circle at 50% 30%, black, transparent 78%); 127 + } 128 + 129 + a { 130 + color: var(--lagoon-deep); 131 + text-decoration-color: rgba(50, 143, 151, 0.4); 132 + text-decoration-thickness: 1px; 133 + text-underline-offset: 2px; 134 + } 135 + 136 + a:hover { 137 + color: #246f76; 138 + } 139 + 140 + code { 141 + font-size: 0.9em; 142 + border: 1px solid var(--line); 143 + background: color-mix(in oklab, var(--surface-strong) 82%, white 18%); 144 + border-radius: 7px; 145 + padding: 2px 7px; 146 + } 147 + 148 + pre code { 149 + border: 0; 150 + background: transparent; 151 + padding: 0; 152 + border-radius: 0; 153 + font-size: inherit; 154 + color: inherit; 155 + } 156 + 157 + .page-wrap { 158 + width: min(1080px, calc(100% - 2rem)); 159 + margin-inline: auto; 160 + } 161 + 162 + .display-title { 163 + font-family: "Fraunces", Georgia, serif; 164 + } 165 + 166 + .island-shell { 167 + border: 1px solid var(--line); 168 + background: linear-gradient(165deg, var(--surface-strong), var(--surface)); 169 + box-shadow: 170 + 0 1px 0 var(--inset-glint) inset, 171 + 0 22px 44px rgba(30, 90, 72, 0.1), 172 + 0 6px 18px rgba(23, 58, 64, 0.08); 173 + backdrop-filter: blur(4px); 174 + } 175 + 176 + .feature-card { 177 + background: linear-gradient(165deg, color-mix(in oklab, var(--surface-strong) 93%, white 7%), var(--surface)); 178 + box-shadow: 179 + 0 1px 0 var(--inset-glint) inset, 180 + 0 18px 34px rgba(30, 90, 72, 0.1), 181 + 0 4px 14px rgba(23, 58, 64, 0.06); 182 + } 183 + 184 + .feature-card:hover { 185 + transform: translateY(-2px); 186 + border-color: color-mix(in oklab, var(--lagoon-deep) 35%, var(--line)); 187 + } 188 + 189 + button, 190 + .island-shell, 191 + a { 192 + transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, 193 + transform 180ms ease; 194 + } 195 + 196 + .island-kicker { 197 + letter-spacing: 0.16em; 198 + text-transform: uppercase; 199 + font-weight: 700; 200 + font-size: 0.69rem; 201 + color: var(--kicker); 202 + } 203 + 204 + .nav-link { 205 + position: relative; 206 + display: inline-flex; 207 + align-items: center; 208 + text-decoration: none; 209 + color: var(--sea-ink-soft); 210 + } 211 + 212 + .nav-link::after { 213 + content: ""; 214 + position: absolute; 215 + left: 0; 216 + bottom: -6px; 217 + width: 100%; 218 + height: 2px; 219 + transform: scaleX(0); 220 + transform-origin: left; 221 + background: linear-gradient(90deg, var(--lagoon), #7ed3bf); 222 + transition: transform 170ms ease; 223 + } 224 + 225 + .nav-link:hover, 226 + .nav-link.is-active { 227 + color: var(--sea-ink); 228 + } 229 + 230 + .nav-link:hover::after, 231 + .nav-link.is-active::after { 232 + transform: scaleX(1); 233 + } 234 + 235 + @media (max-width: 640px) { 236 + .nav-link::after { 237 + bottom: -4px; 238 + } 239 + } 240 + 241 + .site-footer { 242 + border-top: 1px solid var(--line); 243 + background: color-mix(in oklab, var(--header-bg) 84%, transparent 16%); 244 + } 245 + 246 + .rise-in { 247 + animation: rise-in 700ms cubic-bezier(0.16, 1, 0.3, 1) both; 248 + } 249 + 250 + @keyframes rise-in { 251 + from { 252 + opacity: 0; 253 + transform: translateY(12px); 254 + } 255 + to { 256 + opacity: 1; 257 + transform: translateY(0); 258 + } 259 + }
+28
tsconfig.json
··· 1 + { 2 + "include": ["**/*.ts", "**/*.tsx"], 3 + "compilerOptions": { 4 + "target": "ES2022", 5 + "jsx": "react-jsx", 6 + "module": "ESNext", 7 + "paths": { 8 + "#/*": ["./src/*"], 9 + "@/*": ["./src/*"] 10 + }, 11 + "lib": ["ES2022", "DOM", "DOM.Iterable"], 12 + "types": ["vite/client"], 13 + 14 + /* Bundler mode */ 15 + "moduleResolution": "bundler", 16 + "allowImportingTsExtensions": true, 17 + "verbatimModuleSyntax": true, 18 + "noEmit": true, 19 + 20 + /* Linting */ 21 + "skipLibCheck": true, 22 + "strict": true, 23 + "noUnusedLocals": true, 24 + "noUnusedParameters": true, 25 + "noFallthroughCasesInSwitch": true, 26 + "noUncheckedSideEffectImports": true 27 + } 28 + }
+20
vite.config.ts
··· 1 + import { defineConfig } from 'vite' 2 + import { devtools } from '@tanstack/devtools-vite' 3 + import tsconfigPaths from 'vite-tsconfig-paths' 4 + 5 + import { tanstackStart } from '@tanstack/react-start/plugin/vite' 6 + 7 + import viteReact from '@vitejs/plugin-react' 8 + import tailwindcss from '@tailwindcss/vite' 9 + 10 + const config = defineConfig({ 11 + plugins: [ 12 + devtools(), 13 + tsconfigPaths({ projects: ['./tsconfig.json'] }), 14 + tailwindcss(), 15 + tanstackStart(), 16 + viteReact(), 17 + ], 18 + }) 19 + 20 + export default config