├── .gitignore ├── .prettierignore ├── README.md ├── app ├── entry.client.tsx ├── entry.server.tsx ├── root.tsx ├── routes.ts ├── routes │ └── _index.tsx └── tailwind.css ├── biome.json ├── load-context.ts ├── package.json ├── pnpm-lock.yaml ├── postcss.config.js ├── prettier.config.js ├── public ├── favicon.ico ├── logo-dark.svg └── logo-light.svg ├── server.ts ├── tailwind.config.ts ├── tsconfig.json ├── vite.config.ts ├── worker-configuration.d.ts └── wrangler.toml /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | /.wrangler 4 | /build 5 | .env 6 | .dev.vars 7 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | pnpm-lock.yaml 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Welcome to React Router v7 + Cloudflare Workers 2 | 3 | - 📖 [React Router v7 docs](https://reactrouter.com/dev/guides) 4 | 5 | ## Development 6 | 7 | Run the dev server: 8 | 9 | ```sh 10 | pnpm run dev 11 | ``` 12 | 13 | To run Wrangler: 14 | 15 | ```sh 16 | pnpm run build 17 | pnpm start 18 | ``` 19 | 20 | ## Typegen 21 | 22 | Generate types for your Cloudflare bindings in `wrangler.toml`: 23 | 24 | ```sh 25 | pnpm run typegen 26 | ``` 27 | 28 | You will need to rerun typegen whenever you make changes to `wrangler.toml`. 29 | 30 | ## Deployment 31 | 32 | If you don't already have an account, then [create a cloudflare account here](https://dash.cloudflare.com/sign-up) and after verifying your email address with Cloudflare, go to your dashboard and set up your free custom Cloudflare Workers subdomain. 33 | 34 | Once that's done, you should be able to deploy your app: 35 | 36 | ```sh 37 | pnpm run deploy 38 | ``` 39 | 40 | ## Styling 41 | 42 | This template comes with [Tailwind CSS](https://tailwindcss.com/) already configured for a simple default starting experience. You can use whatever css framework you prefer. See the [Vite docs on css](https://vitejs.dev/guide/features.html#css) for more information. 43 | -------------------------------------------------------------------------------- /app/entry.client.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * By default, Remix will handle hydrating your app on the client for you. 3 | * You are free to delete this file if you'd like to, but if you ever want it revealed again, you can run `npx remix reveal` ✨ 4 | * For more information, see https://remix.run/file-conventions/entry.client 5 | */ 6 | 7 | import { startTransition, StrictMode } from 'react' 8 | import { hydrateRoot } from 'react-dom/client' 9 | import { HydratedRouter } from 'react-router/dom' 10 | 11 | startTransition(() => { 12 | hydrateRoot( 13 | document, 14 | 15 | 16 | , 17 | ) 18 | }) 19 | -------------------------------------------------------------------------------- /app/entry.server.tsx: -------------------------------------------------------------------------------- 1 | import { isbot } from 'isbot' 2 | import { renderToReadableStream } from 'react-dom/server' 3 | import type { AppLoadContext, EntryContext } from 'react-router' 4 | import { ServerRouter } from 'react-router' 5 | 6 | export default async function handleRequest( 7 | request: Request, 8 | responseStatusCode: number, 9 | responseHeaders: Headers, 10 | remixContext: EntryContext, 11 | // This is ignored so we can keep it in the template for visibility. Feel 12 | // free to delete this parameter in your app if you're not using it! 13 | // eslint-disable-next-line @typescript-eslint/no-unused-vars 14 | loadContext: AppLoadContext, 15 | ) { 16 | let statusCode = responseStatusCode 17 | const body = await renderToReadableStream( 18 | , 19 | { 20 | signal: request.signal, 21 | onError(error: unknown) { 22 | // Log streaming rendering errors from inside the shell 23 | console.error(error) 24 | statusCode = 500 25 | }, 26 | }, 27 | ) 28 | 29 | if (isbot(request.headers.get('user-agent') || '')) { 30 | await body.allReady 31 | } 32 | 33 | responseHeaders.set('Content-Type', 'text/html') 34 | return new Response(body, { 35 | headers: responseHeaders, 36 | status: statusCode, 37 | }) 38 | } 39 | -------------------------------------------------------------------------------- /app/root.tsx: -------------------------------------------------------------------------------- 1 | import { 2 | Links, 3 | Meta, 4 | Outlet, 5 | Scripts, 6 | ScrollRestoration, 7 | type LinksFunction, 8 | } from 'react-router' 9 | 10 | import styles from './tailwind.css?url' 11 | 12 | export const links: LinksFunction = () => [ 13 | { rel: 'preconnect', href: 'https://fonts.googleapis.com' }, 14 | { 15 | rel: 'preconnect', 16 | href: 'https://fonts.gstatic.com', 17 | crossOrigin: 'anonymous', 18 | }, 19 | { rel: 'stylesheet', href: styles }, 20 | { 21 | rel: 'stylesheet', 22 | href: 'https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap', 23 | }, 24 | ] 25 | 26 | export function Layout({ children }: { children: React.ReactNode }) { 27 | return ( 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | {children} 37 | 38 | 39 | 40 | 41 | ) 42 | } 43 | 44 | export default function App() { 45 | return 46 | } 47 | -------------------------------------------------------------------------------- /app/routes.ts: -------------------------------------------------------------------------------- 1 | import type { RouteConfig } from '@react-router/dev/routes' 2 | import { flatRoutes } from '@react-router/fs-routes' 3 | 4 | export const routes: RouteConfig = flatRoutes() 5 | -------------------------------------------------------------------------------- /app/routes/_index.tsx: -------------------------------------------------------------------------------- 1 | import type { MetaFunction } from 'react-router' 2 | 3 | export const meta: MetaFunction = () => { 4 | return [ 5 | { title: 'New React Router App' }, 6 | { name: 'description', content: 'Welcome to React Router!' }, 7 | ] 8 | } 9 | 10 | export default function Index() { 11 | return ( 12 |
13 |
14 |
15 |

16 | Welcome to React Router 17 |

18 |
19 | React Router 24 | React Router 29 |
30 |
31 | 51 |
52 |
53 | ) 54 | } 55 | 56 | const resources = [ 57 | { 58 | href: 'https://reactrouter.com/dev', 59 | text: 'React Router Docs', 60 | icon: ( 61 | 69 | React 70 | 75 | 76 | ), 77 | }, 78 | { 79 | href: 'https://rmx.as/discord', 80 | text: 'Join Discord', 81 | icon: ( 82 | 90 | Discord 91 | 95 | 96 | ), 97 | }, 98 | ] 99 | -------------------------------------------------------------------------------- /app/tailwind.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | html, 6 | body { 7 | @apply bg-white dark:bg-gray-950; 8 | 9 | @media (prefers-color-scheme: dark) { 10 | color-scheme: dark; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /biome.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://biomejs.dev/schemas/1.9.0/schema.json", 3 | "organizeImports": { 4 | "enabled": false 5 | }, 6 | "vcs": { 7 | "enabled": true, 8 | "clientKind": "git", 9 | "useIgnoreFile": true 10 | }, 11 | "linter": { 12 | "enabled": true, 13 | "rules": { 14 | "recommended": true, 15 | "suspicious": { 16 | "useAwait": "error" 17 | } 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /load-context.ts: -------------------------------------------------------------------------------- 1 | import type { PlatformProxy } from 'wrangler' 2 | 3 | type GetLoadContextArgs = { 4 | request: Request 5 | context: { 6 | cloudflare: Omit< 7 | PlatformProxy, 8 | 'dispose' | 'caches' 9 | > & { 10 | caches: 11 | | PlatformProxy['caches'] 12 | | CacheStorage 13 | } 14 | } 15 | } 16 | 17 | declare module 'react-router' { 18 | // eslint-disable-next-line @typescript-eslint/no-empty-interface 19 | interface AppLoadContext extends ReturnType { 20 | // This will merge the result of `getLoadContext` into the `AppLoadContext` 21 | } 22 | } 23 | 24 | export function getLoadContext({ context }: GetLoadContextArgs) { 25 | return context 26 | } 27 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "remix-cf-workers", 3 | "private": true, 4 | "sideEffects": false, 5 | "type": "module", 6 | "scripts": { 7 | "build": "react-router build", 8 | "deploy": "wrangler deploy", 9 | "dev": "react-router dev", 10 | "start": "wrangler dev", 11 | "typegen": "wrangler types", 12 | "lint": "biome lint .", 13 | "format": "prettier --check .", 14 | "typecheck": "tsc", 15 | "validate": "pnpm run lint && pnpm run format && pnpm run typecheck" 16 | }, 17 | "dependencies": { 18 | "@react-router/cloudflare": "7.0.0-pre.1", 19 | "isbot": "^5.1.17", 20 | "react": "^18.3.1", 21 | "react-dom": "^18.3.1", 22 | "react-router": "7.0.0-pre.1" 23 | }, 24 | "devDependencies": { 25 | "@biomejs/biome": "^1.9.3", 26 | "@cloudflare/workers-types": "^4.20241011.0", 27 | "@react-router/dev": "7.0.0-pre.1", 28 | "@react-router/fs-routes": "7.0.0-pre.1", 29 | "@types/react": "^18.3.11", 30 | "@types/react-dom": "^18.3.1", 31 | "autoprefixer": "^10.4.20", 32 | "postcss": "^8.4.47", 33 | "prettier": "^3.3.3", 34 | "prettier-plugin-organize-imports": "^4.1.0", 35 | "prettier-plugin-tailwindcss": "^0.6.8", 36 | "tailwindcss": "^3.4.14", 37 | "typescript": "^5.6.3", 38 | "vite": "^5.4.9", 39 | "vite-tsconfig-paths": "^5.0.1", 40 | "wrangler": "^3.80.4" 41 | }, 42 | "engines": { 43 | "node": ">=20.0.0" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@react-router/cloudflare': 12 | specifier: 7.0.0-pre.1 13 | version: 7.0.0-pre.1(@cloudflare/workers-types@4.20241011.0)(react-router@7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) 14 | isbot: 15 | specifier: ^5.1.17 16 | version: 5.1.17 17 | react: 18 | specifier: ^18.3.1 19 | version: 18.3.1 20 | react-dom: 21 | specifier: ^18.3.1 22 | version: 18.3.1(react@18.3.1) 23 | react-router: 24 | specifier: 7.0.0-pre.1 25 | version: 7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 26 | devDependencies: 27 | '@biomejs/biome': 28 | specifier: ^1.9.3 29 | version: 1.9.3 30 | '@cloudflare/workers-types': 31 | specifier: ^4.20241011.0 32 | version: 4.20241011.0 33 | '@react-router/dev': 34 | specifier: 7.0.0-pre.1 35 | version: 7.0.0-pre.1(@types/node@22.7.5)(react-router@7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.5))(wrangler@3.80.4(@cloudflare/workers-types@4.20241011.0)) 36 | '@react-router/fs-routes': 37 | specifier: 7.0.0-pre.1 38 | version: 7.0.0-pre.1(@react-router/dev@7.0.0-pre.1(@types/node@22.7.5)(react-router@7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.5))(wrangler@3.80.4(@cloudflare/workers-types@4.20241011.0)))(typescript@5.6.3) 39 | '@types/react': 40 | specifier: ^18.3.11 41 | version: 18.3.11 42 | '@types/react-dom': 43 | specifier: ^18.3.1 44 | version: 18.3.1 45 | autoprefixer: 46 | specifier: ^10.4.20 47 | version: 10.4.20(postcss@8.4.47) 48 | postcss: 49 | specifier: ^8.4.47 50 | version: 8.4.47 51 | prettier: 52 | specifier: ^3.3.3 53 | version: 3.3.3 54 | prettier-plugin-organize-imports: 55 | specifier: ^4.1.0 56 | version: 4.1.0(prettier@3.3.3)(typescript@5.6.3) 57 | prettier-plugin-tailwindcss: 58 | specifier: ^0.6.8 59 | version: 0.6.8(prettier-plugin-organize-imports@4.1.0(prettier@3.3.3)(typescript@5.6.3))(prettier@3.3.3) 60 | tailwindcss: 61 | specifier: ^3.4.14 62 | version: 3.4.14 63 | typescript: 64 | specifier: ^5.6.3 65 | version: 5.6.3 66 | vite: 67 | specifier: ^5.4.9 68 | version: 5.4.9(@types/node@22.7.5) 69 | vite-tsconfig-paths: 70 | specifier: ^5.0.1 71 | version: 5.0.1(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.5)) 72 | wrangler: 73 | specifier: ^3.80.4 74 | version: 3.80.4(@cloudflare/workers-types@4.20241011.0) 75 | 76 | packages: 77 | 78 | '@alloc/quick-lru@5.2.0': 79 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 80 | engines: {node: '>=10'} 81 | 82 | '@ampproject/remapping@2.3.0': 83 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 84 | engines: {node: '>=6.0.0'} 85 | 86 | '@babel/code-frame@7.25.7': 87 | resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} 88 | engines: {node: '>=6.9.0'} 89 | 90 | '@babel/compat-data@7.25.8': 91 | resolution: {integrity: sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==} 92 | engines: {node: '>=6.9.0'} 93 | 94 | '@babel/core@7.25.8': 95 | resolution: {integrity: sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==} 96 | engines: {node: '>=6.9.0'} 97 | 98 | '@babel/generator@7.25.7': 99 | resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} 100 | engines: {node: '>=6.9.0'} 101 | 102 | '@babel/helper-annotate-as-pure@7.25.7': 103 | resolution: {integrity: sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==} 104 | engines: {node: '>=6.9.0'} 105 | 106 | '@babel/helper-compilation-targets@7.25.7': 107 | resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==} 108 | engines: {node: '>=6.9.0'} 109 | 110 | '@babel/helper-create-class-features-plugin@7.25.7': 111 | resolution: {integrity: sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==} 112 | engines: {node: '>=6.9.0'} 113 | peerDependencies: 114 | '@babel/core': ^7.0.0 115 | 116 | '@babel/helper-member-expression-to-functions@7.25.7': 117 | resolution: {integrity: sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==} 118 | engines: {node: '>=6.9.0'} 119 | 120 | '@babel/helper-module-imports@7.25.7': 121 | resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} 122 | engines: {node: '>=6.9.0'} 123 | 124 | '@babel/helper-module-transforms@7.25.7': 125 | resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==} 126 | engines: {node: '>=6.9.0'} 127 | peerDependencies: 128 | '@babel/core': ^7.0.0 129 | 130 | '@babel/helper-optimise-call-expression@7.25.7': 131 | resolution: {integrity: sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==} 132 | engines: {node: '>=6.9.0'} 133 | 134 | '@babel/helper-plugin-utils@7.25.7': 135 | resolution: {integrity: sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==} 136 | engines: {node: '>=6.9.0'} 137 | 138 | '@babel/helper-replace-supers@7.25.7': 139 | resolution: {integrity: sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==} 140 | engines: {node: '>=6.9.0'} 141 | peerDependencies: 142 | '@babel/core': ^7.0.0 143 | 144 | '@babel/helper-simple-access@7.25.7': 145 | resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} 146 | engines: {node: '>=6.9.0'} 147 | 148 | '@babel/helper-skip-transparent-expression-wrappers@7.25.7': 149 | resolution: {integrity: sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==} 150 | engines: {node: '>=6.9.0'} 151 | 152 | '@babel/helper-string-parser@7.25.7': 153 | resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} 154 | engines: {node: '>=6.9.0'} 155 | 156 | '@babel/helper-validator-identifier@7.25.7': 157 | resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} 158 | engines: {node: '>=6.9.0'} 159 | 160 | '@babel/helper-validator-option@7.25.7': 161 | resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==} 162 | engines: {node: '>=6.9.0'} 163 | 164 | '@babel/helpers@7.25.7': 165 | resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==} 166 | engines: {node: '>=6.9.0'} 167 | 168 | '@babel/highlight@7.25.7': 169 | resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} 170 | engines: {node: '>=6.9.0'} 171 | 172 | '@babel/parser@7.25.8': 173 | resolution: {integrity: sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==} 174 | engines: {node: '>=6.0.0'} 175 | hasBin: true 176 | 177 | '@babel/plugin-syntax-decorators@7.25.7': 178 | resolution: {integrity: sha512-oXduHo642ZhstLVYTe2z2GSJIruU0c/W3/Ghr6A5yGMsVrvdnxO1z+3pbTcT7f3/Clnt+1z8D/w1r1f1SHaCHw==} 179 | engines: {node: '>=6.9.0'} 180 | peerDependencies: 181 | '@babel/core': ^7.0.0-0 182 | 183 | '@babel/plugin-syntax-jsx@7.25.7': 184 | resolution: {integrity: sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==} 185 | engines: {node: '>=6.9.0'} 186 | peerDependencies: 187 | '@babel/core': ^7.0.0-0 188 | 189 | '@babel/plugin-syntax-typescript@7.25.7': 190 | resolution: {integrity: sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==} 191 | engines: {node: '>=6.9.0'} 192 | peerDependencies: 193 | '@babel/core': ^7.0.0-0 194 | 195 | '@babel/plugin-transform-modules-commonjs@7.25.7': 196 | resolution: {integrity: sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==} 197 | engines: {node: '>=6.9.0'} 198 | peerDependencies: 199 | '@babel/core': ^7.0.0-0 200 | 201 | '@babel/plugin-transform-typescript@7.25.7': 202 | resolution: {integrity: sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q==} 203 | engines: {node: '>=6.9.0'} 204 | peerDependencies: 205 | '@babel/core': ^7.0.0-0 206 | 207 | '@babel/preset-typescript@7.25.7': 208 | resolution: {integrity: sha512-rkkpaXJZOFN45Fb+Gki0c+KMIglk4+zZXOoMJuyEK8y8Kkc8Jd3BDmP7qPsz0zQMJj+UD7EprF+AqAXcILnexw==} 209 | engines: {node: '>=6.9.0'} 210 | peerDependencies: 211 | '@babel/core': ^7.0.0-0 212 | 213 | '@babel/template@7.25.7': 214 | resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} 215 | engines: {node: '>=6.9.0'} 216 | 217 | '@babel/traverse@7.25.7': 218 | resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} 219 | engines: {node: '>=6.9.0'} 220 | 221 | '@babel/types@7.25.8': 222 | resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==} 223 | engines: {node: '>=6.9.0'} 224 | 225 | '@biomejs/biome@1.9.3': 226 | resolution: {integrity: sha512-POjAPz0APAmX33WOQFGQrwLvlu7WLV4CFJMlB12b6ZSg+2q6fYu9kZwLCOA+x83zXfcPd1RpuWOKJW0GbBwLIQ==} 227 | engines: {node: '>=14.21.3'} 228 | hasBin: true 229 | 230 | '@biomejs/cli-darwin-arm64@1.9.3': 231 | resolution: {integrity: sha512-QZzD2XrjJDUyIZK+aR2i5DDxCJfdwiYbUKu9GzkCUJpL78uSelAHAPy7m0GuPMVtF/Uo+OKv97W3P9nuWZangQ==} 232 | engines: {node: '>=14.21.3'} 233 | cpu: [arm64] 234 | os: [darwin] 235 | 236 | '@biomejs/cli-darwin-x64@1.9.3': 237 | resolution: {integrity: sha512-vSCoIBJE0BN3SWDFuAY/tRavpUtNoqiceJ5PrU3xDfsLcm/U6N93JSM0M9OAiC/X7mPPfejtr6Yc9vSgWlEgVw==} 238 | engines: {node: '>=14.21.3'} 239 | cpu: [x64] 240 | os: [darwin] 241 | 242 | '@biomejs/cli-linux-arm64-musl@1.9.3': 243 | resolution: {integrity: sha512-VBzyhaqqqwP3bAkkBrhVq50i3Uj9+RWuj+pYmXrMDgjS5+SKYGE56BwNw4l8hR3SmYbLSbEo15GcV043CDSk+Q==} 244 | engines: {node: '>=14.21.3'} 245 | cpu: [arm64] 246 | os: [linux] 247 | 248 | '@biomejs/cli-linux-arm64@1.9.3': 249 | resolution: {integrity: sha512-vJkAimD2+sVviNTbaWOGqEBy31cW0ZB52KtpVIbkuma7PlfII3tsLhFa+cwbRAcRBkobBBhqZ06hXoZAN8NODQ==} 250 | engines: {node: '>=14.21.3'} 251 | cpu: [arm64] 252 | os: [linux] 253 | 254 | '@biomejs/cli-linux-x64-musl@1.9.3': 255 | resolution: {integrity: sha512-TJmnOG2+NOGM72mlczEsNki9UT+XAsMFAOo8J0me/N47EJ/vkLXxf481evfHLlxMejTY6IN8SdRSiPVLv6AHlA==} 256 | engines: {node: '>=14.21.3'} 257 | cpu: [x64] 258 | os: [linux] 259 | 260 | '@biomejs/cli-linux-x64@1.9.3': 261 | resolution: {integrity: sha512-x220V4c+romd26Mu1ptU+EudMXVS4xmzKxPVb9mgnfYlN4Yx9vD5NZraSx/onJnd3Gh/y8iPUdU5CDZJKg9COA==} 262 | engines: {node: '>=14.21.3'} 263 | cpu: [x64] 264 | os: [linux] 265 | 266 | '@biomejs/cli-win32-arm64@1.9.3': 267 | resolution: {integrity: sha512-lg/yZis2HdQGsycUvHWSzo9kOvnGgvtrYRgoCEwPBwwAL8/6crOp3+f47tPwI/LI1dZrhSji7PNsGKGHbwyAhw==} 268 | engines: {node: '>=14.21.3'} 269 | cpu: [arm64] 270 | os: [win32] 271 | 272 | '@biomejs/cli-win32-x64@1.9.3': 273 | resolution: {integrity: sha512-cQMy2zanBkVLpmmxXdK6YePzmZx0s5Z7KEnwmrW54rcXK3myCNbQa09SwGZ8i/8sLw0H9F3X7K4rxVNGU8/D4Q==} 274 | engines: {node: '>=14.21.3'} 275 | cpu: [x64] 276 | os: [win32] 277 | 278 | '@cloudflare/kv-asset-handler@0.3.4': 279 | resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} 280 | engines: {node: '>=16.13'} 281 | 282 | '@cloudflare/workerd-darwin-64@1.20241004.0': 283 | resolution: {integrity: sha512-c2afR486NXDRcPm7RaTSRDnffFklPCXde/IeNVhEhBJ8O+pQhBOdDcGIy8zXPwMu0CYga0iHNZmpbsl+ZcHttA==} 284 | engines: {node: '>=16'} 285 | cpu: [x64] 286 | os: [darwin] 287 | 288 | '@cloudflare/workerd-darwin-arm64@1.20241004.0': 289 | resolution: {integrity: sha512-siD9fexv5lr2IpBczWV7OPgJvHj8/fJUrRAYCMcBURkfiwssK91coQeZlN1NdQ85aYELVgxDFoG+p86OS+ZzLw==} 290 | engines: {node: '>=16'} 291 | cpu: [arm64] 292 | os: [darwin] 293 | 294 | '@cloudflare/workerd-linux-64@1.20241004.0': 295 | resolution: {integrity: sha512-EtKGXO5fzRgX6UhDDLhjjEsB1QtliHb12zavZ/S0C8hKPz76II7MQ3Lls9kfB62fbdMP8L6vcqWPObEUcw6GSw==} 296 | engines: {node: '>=16'} 297 | cpu: [x64] 298 | os: [linux] 299 | 300 | '@cloudflare/workerd-linux-arm64@1.20241004.0': 301 | resolution: {integrity: sha512-XO7VBE1YaFf/o9tKO1PqDqaxkU2eAR2DLX7R0+R8p+q92sUDXyoxo48T3yJDfxWndnKJ6hSJfvKanw3Mq9Tisw==} 302 | engines: {node: '>=16'} 303 | cpu: [arm64] 304 | os: [linux] 305 | 306 | '@cloudflare/workerd-windows-64@1.20241004.0': 307 | resolution: {integrity: sha512-o+TmCYGq58jNUDbG73xOvd648XvJ2TicI++2BBoySklJXG6f4But5AwA8TxQgmeujR3vpBjPZKexEzcZSUOTtA==} 308 | engines: {node: '>=16'} 309 | cpu: [x64] 310 | os: [win32] 311 | 312 | '@cloudflare/workers-shared@0.6.0': 313 | resolution: {integrity: sha512-rfUCvb3hx4AsvdUZsxgk9lmgEnQehqV3jdtXLP/Xr0+P56n11T/0nXNMzmn7Nnv+IJFOV6X9NmFhuMz4sBPw7w==} 314 | engines: {node: '>=16.7.0'} 315 | 316 | '@cloudflare/workers-types@4.20241011.0': 317 | resolution: {integrity: sha512-emwBnuFB/2lS1z6NXAeBqrSL8Xwnr7YpgdLuchOmgu/igqBsLLNPBb4Qmgh3neFWUe9wbzQyx030836YF3c3Xw==} 318 | 319 | '@cspotcode/source-map-support@0.8.1': 320 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 321 | engines: {node: '>=12'} 322 | 323 | '@esbuild-plugins/node-globals-polyfill@0.2.3': 324 | resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==} 325 | peerDependencies: 326 | esbuild: '*' 327 | 328 | '@esbuild-plugins/node-modules-polyfill@0.2.2': 329 | resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==} 330 | peerDependencies: 331 | esbuild: '*' 332 | 333 | '@esbuild/aix-ppc64@0.21.5': 334 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 335 | engines: {node: '>=12'} 336 | cpu: [ppc64] 337 | os: [aix] 338 | 339 | '@esbuild/android-arm64@0.17.19': 340 | resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} 341 | engines: {node: '>=12'} 342 | cpu: [arm64] 343 | os: [android] 344 | 345 | '@esbuild/android-arm64@0.21.5': 346 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 347 | engines: {node: '>=12'} 348 | cpu: [arm64] 349 | os: [android] 350 | 351 | '@esbuild/android-arm@0.17.19': 352 | resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} 353 | engines: {node: '>=12'} 354 | cpu: [arm] 355 | os: [android] 356 | 357 | '@esbuild/android-arm@0.21.5': 358 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 359 | engines: {node: '>=12'} 360 | cpu: [arm] 361 | os: [android] 362 | 363 | '@esbuild/android-x64@0.17.19': 364 | resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} 365 | engines: {node: '>=12'} 366 | cpu: [x64] 367 | os: [android] 368 | 369 | '@esbuild/android-x64@0.21.5': 370 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 371 | engines: {node: '>=12'} 372 | cpu: [x64] 373 | os: [android] 374 | 375 | '@esbuild/darwin-arm64@0.17.19': 376 | resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} 377 | engines: {node: '>=12'} 378 | cpu: [arm64] 379 | os: [darwin] 380 | 381 | '@esbuild/darwin-arm64@0.21.5': 382 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 383 | engines: {node: '>=12'} 384 | cpu: [arm64] 385 | os: [darwin] 386 | 387 | '@esbuild/darwin-x64@0.17.19': 388 | resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} 389 | engines: {node: '>=12'} 390 | cpu: [x64] 391 | os: [darwin] 392 | 393 | '@esbuild/darwin-x64@0.21.5': 394 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 395 | engines: {node: '>=12'} 396 | cpu: [x64] 397 | os: [darwin] 398 | 399 | '@esbuild/freebsd-arm64@0.17.19': 400 | resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} 401 | engines: {node: '>=12'} 402 | cpu: [arm64] 403 | os: [freebsd] 404 | 405 | '@esbuild/freebsd-arm64@0.21.5': 406 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 407 | engines: {node: '>=12'} 408 | cpu: [arm64] 409 | os: [freebsd] 410 | 411 | '@esbuild/freebsd-x64@0.17.19': 412 | resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} 413 | engines: {node: '>=12'} 414 | cpu: [x64] 415 | os: [freebsd] 416 | 417 | '@esbuild/freebsd-x64@0.21.5': 418 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 419 | engines: {node: '>=12'} 420 | cpu: [x64] 421 | os: [freebsd] 422 | 423 | '@esbuild/linux-arm64@0.17.19': 424 | resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} 425 | engines: {node: '>=12'} 426 | cpu: [arm64] 427 | os: [linux] 428 | 429 | '@esbuild/linux-arm64@0.21.5': 430 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 431 | engines: {node: '>=12'} 432 | cpu: [arm64] 433 | os: [linux] 434 | 435 | '@esbuild/linux-arm@0.17.19': 436 | resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} 437 | engines: {node: '>=12'} 438 | cpu: [arm] 439 | os: [linux] 440 | 441 | '@esbuild/linux-arm@0.21.5': 442 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 443 | engines: {node: '>=12'} 444 | cpu: [arm] 445 | os: [linux] 446 | 447 | '@esbuild/linux-ia32@0.17.19': 448 | resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} 449 | engines: {node: '>=12'} 450 | cpu: [ia32] 451 | os: [linux] 452 | 453 | '@esbuild/linux-ia32@0.21.5': 454 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 455 | engines: {node: '>=12'} 456 | cpu: [ia32] 457 | os: [linux] 458 | 459 | '@esbuild/linux-loong64@0.17.19': 460 | resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} 461 | engines: {node: '>=12'} 462 | cpu: [loong64] 463 | os: [linux] 464 | 465 | '@esbuild/linux-loong64@0.21.5': 466 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 467 | engines: {node: '>=12'} 468 | cpu: [loong64] 469 | os: [linux] 470 | 471 | '@esbuild/linux-mips64el@0.17.19': 472 | resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} 473 | engines: {node: '>=12'} 474 | cpu: [mips64el] 475 | os: [linux] 476 | 477 | '@esbuild/linux-mips64el@0.21.5': 478 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 479 | engines: {node: '>=12'} 480 | cpu: [mips64el] 481 | os: [linux] 482 | 483 | '@esbuild/linux-ppc64@0.17.19': 484 | resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} 485 | engines: {node: '>=12'} 486 | cpu: [ppc64] 487 | os: [linux] 488 | 489 | '@esbuild/linux-ppc64@0.21.5': 490 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 491 | engines: {node: '>=12'} 492 | cpu: [ppc64] 493 | os: [linux] 494 | 495 | '@esbuild/linux-riscv64@0.17.19': 496 | resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} 497 | engines: {node: '>=12'} 498 | cpu: [riscv64] 499 | os: [linux] 500 | 501 | '@esbuild/linux-riscv64@0.21.5': 502 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 503 | engines: {node: '>=12'} 504 | cpu: [riscv64] 505 | os: [linux] 506 | 507 | '@esbuild/linux-s390x@0.17.19': 508 | resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} 509 | engines: {node: '>=12'} 510 | cpu: [s390x] 511 | os: [linux] 512 | 513 | '@esbuild/linux-s390x@0.21.5': 514 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 515 | engines: {node: '>=12'} 516 | cpu: [s390x] 517 | os: [linux] 518 | 519 | '@esbuild/linux-x64@0.17.19': 520 | resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} 521 | engines: {node: '>=12'} 522 | cpu: [x64] 523 | os: [linux] 524 | 525 | '@esbuild/linux-x64@0.21.5': 526 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 527 | engines: {node: '>=12'} 528 | cpu: [x64] 529 | os: [linux] 530 | 531 | '@esbuild/netbsd-x64@0.17.19': 532 | resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} 533 | engines: {node: '>=12'} 534 | cpu: [x64] 535 | os: [netbsd] 536 | 537 | '@esbuild/netbsd-x64@0.21.5': 538 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 539 | engines: {node: '>=12'} 540 | cpu: [x64] 541 | os: [netbsd] 542 | 543 | '@esbuild/openbsd-x64@0.17.19': 544 | resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} 545 | engines: {node: '>=12'} 546 | cpu: [x64] 547 | os: [openbsd] 548 | 549 | '@esbuild/openbsd-x64@0.21.5': 550 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 551 | engines: {node: '>=12'} 552 | cpu: [x64] 553 | os: [openbsd] 554 | 555 | '@esbuild/sunos-x64@0.17.19': 556 | resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} 557 | engines: {node: '>=12'} 558 | cpu: [x64] 559 | os: [sunos] 560 | 561 | '@esbuild/sunos-x64@0.21.5': 562 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 563 | engines: {node: '>=12'} 564 | cpu: [x64] 565 | os: [sunos] 566 | 567 | '@esbuild/win32-arm64@0.17.19': 568 | resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} 569 | engines: {node: '>=12'} 570 | cpu: [arm64] 571 | os: [win32] 572 | 573 | '@esbuild/win32-arm64@0.21.5': 574 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 575 | engines: {node: '>=12'} 576 | cpu: [arm64] 577 | os: [win32] 578 | 579 | '@esbuild/win32-ia32@0.17.19': 580 | resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} 581 | engines: {node: '>=12'} 582 | cpu: [ia32] 583 | os: [win32] 584 | 585 | '@esbuild/win32-ia32@0.21.5': 586 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 587 | engines: {node: '>=12'} 588 | cpu: [ia32] 589 | os: [win32] 590 | 591 | '@esbuild/win32-x64@0.17.19': 592 | resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} 593 | engines: {node: '>=12'} 594 | cpu: [x64] 595 | os: [win32] 596 | 597 | '@esbuild/win32-x64@0.21.5': 598 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 599 | engines: {node: '>=12'} 600 | cpu: [x64] 601 | os: [win32] 602 | 603 | '@fastify/busboy@2.1.1': 604 | resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} 605 | engines: {node: '>=14'} 606 | 607 | '@isaacs/cliui@8.0.2': 608 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 609 | engines: {node: '>=12'} 610 | 611 | '@jridgewell/gen-mapping@0.3.5': 612 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 613 | engines: {node: '>=6.0.0'} 614 | 615 | '@jridgewell/resolve-uri@3.1.2': 616 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 617 | engines: {node: '>=6.0.0'} 618 | 619 | '@jridgewell/set-array@1.2.1': 620 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 621 | engines: {node: '>=6.0.0'} 622 | 623 | '@jridgewell/sourcemap-codec@1.5.0': 624 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 625 | 626 | '@jridgewell/trace-mapping@0.3.25': 627 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 628 | 629 | '@jridgewell/trace-mapping@0.3.9': 630 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 631 | 632 | '@nodelib/fs.scandir@2.1.5': 633 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 634 | engines: {node: '>= 8'} 635 | 636 | '@nodelib/fs.stat@2.0.5': 637 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 638 | engines: {node: '>= 8'} 639 | 640 | '@nodelib/fs.walk@1.2.8': 641 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 642 | engines: {node: '>= 8'} 643 | 644 | '@npmcli/git@4.1.0': 645 | resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} 646 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 647 | 648 | '@npmcli/package-json@4.0.1': 649 | resolution: {integrity: sha512-lRCEGdHZomFsURroh522YvA/2cVb9oPIJrjHanCJZkiasz1BzcnLr3tBJhlV7S86MBJBuAQ33is2D60YitZL2Q==} 650 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 651 | 652 | '@npmcli/promise-spawn@6.0.2': 653 | resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} 654 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 655 | 656 | '@pkgjs/parseargs@0.11.0': 657 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 658 | engines: {node: '>=14'} 659 | 660 | '@react-router/cloudflare@7.0.0-pre.1': 661 | resolution: {integrity: sha512-3kkkw0JnE7wWLE5uNfuSQwArzoT3AA9bIxq08EnfaAo6ktrPJz1dQUOP2UmmocsDHYR7edYxgdIl0hETac7DuQ==} 662 | engines: {node: '>=18.0.0'} 663 | peerDependencies: 664 | '@cloudflare/workers-types': ^4.0.0 665 | react-router: ^7.0.0-pre.1 666 | typescript: ^5.1.0 667 | peerDependenciesMeta: 668 | typescript: 669 | optional: true 670 | 671 | '@react-router/dev@7.0.0-pre.1': 672 | resolution: {integrity: sha512-Nlp6YXuC2DSMJ7ZgfT/OBwRGlHvieO27WB+SrlL6ipqbi/Ut23UOQ3pn5+y2SS3h1+N6Y+uIOFlnEg8k9adT1g==} 673 | engines: {node: '>=18.0.0'} 674 | hasBin: true 675 | peerDependencies: 676 | '@react-router/serve': ^7.0.0-pre.1 677 | react-router: ^7.0.0-pre.1 678 | typescript: ^5.1.0 679 | vite: ^5.1.0 680 | wrangler: ^3.28.2 681 | peerDependenciesMeta: 682 | '@react-router/serve': 683 | optional: true 684 | typescript: 685 | optional: true 686 | wrangler: 687 | optional: true 688 | 689 | '@react-router/fs-routes@7.0.0-pre.1': 690 | resolution: {integrity: sha512-MQu2egp+5l5lPliWB33wLN/rZ4TMWCIPvbVjI1sdpy3NYhPan1/RDGAUAdIX5MddhLZm5DKQaxlKSxpiQutCug==} 691 | engines: {node: '>=18.0.0'} 692 | peerDependencies: 693 | '@react-router/dev': ^7.0.0-pre.1 694 | typescript: ^5.1.0 695 | peerDependenciesMeta: 696 | typescript: 697 | optional: true 698 | 699 | '@react-router/node@7.0.0-pre.1': 700 | resolution: {integrity: sha512-592GlQxAUcMSzyzeC28dvmLHJgq4uk2uGB9Lzouj9M7uINuFOdBMP/k+bjRD9m281fEB/TBpKsTVfrpnat//Ug==} 701 | engines: {node: '>=18.0.0'} 702 | peerDependencies: 703 | react-router: 7.0.0-pre.1 704 | typescript: ^5.1.0 705 | peerDependenciesMeta: 706 | typescript: 707 | optional: true 708 | 709 | '@rollup/rollup-android-arm-eabi@4.24.0': 710 | resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==} 711 | cpu: [arm] 712 | os: [android] 713 | 714 | '@rollup/rollup-android-arm64@4.24.0': 715 | resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==} 716 | cpu: [arm64] 717 | os: [android] 718 | 719 | '@rollup/rollup-darwin-arm64@4.24.0': 720 | resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==} 721 | cpu: [arm64] 722 | os: [darwin] 723 | 724 | '@rollup/rollup-darwin-x64@4.24.0': 725 | resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==} 726 | cpu: [x64] 727 | os: [darwin] 728 | 729 | '@rollup/rollup-linux-arm-gnueabihf@4.24.0': 730 | resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==} 731 | cpu: [arm] 732 | os: [linux] 733 | 734 | '@rollup/rollup-linux-arm-musleabihf@4.24.0': 735 | resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==} 736 | cpu: [arm] 737 | os: [linux] 738 | 739 | '@rollup/rollup-linux-arm64-gnu@4.24.0': 740 | resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==} 741 | cpu: [arm64] 742 | os: [linux] 743 | 744 | '@rollup/rollup-linux-arm64-musl@4.24.0': 745 | resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==} 746 | cpu: [arm64] 747 | os: [linux] 748 | 749 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': 750 | resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==} 751 | cpu: [ppc64] 752 | os: [linux] 753 | 754 | '@rollup/rollup-linux-riscv64-gnu@4.24.0': 755 | resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==} 756 | cpu: [riscv64] 757 | os: [linux] 758 | 759 | '@rollup/rollup-linux-s390x-gnu@4.24.0': 760 | resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==} 761 | cpu: [s390x] 762 | os: [linux] 763 | 764 | '@rollup/rollup-linux-x64-gnu@4.24.0': 765 | resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==} 766 | cpu: [x64] 767 | os: [linux] 768 | 769 | '@rollup/rollup-linux-x64-musl@4.24.0': 770 | resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==} 771 | cpu: [x64] 772 | os: [linux] 773 | 774 | '@rollup/rollup-win32-arm64-msvc@4.24.0': 775 | resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==} 776 | cpu: [arm64] 777 | os: [win32] 778 | 779 | '@rollup/rollup-win32-ia32-msvc@4.24.0': 780 | resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==} 781 | cpu: [ia32] 782 | os: [win32] 783 | 784 | '@rollup/rollup-win32-x64-msvc@4.24.0': 785 | resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==} 786 | cpu: [x64] 787 | os: [win32] 788 | 789 | '@types/cookie@0.6.0': 790 | resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} 791 | 792 | '@types/estree@1.0.6': 793 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 794 | 795 | '@types/node-forge@1.3.11': 796 | resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} 797 | 798 | '@types/node@22.7.5': 799 | resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} 800 | 801 | '@types/prop-types@15.7.13': 802 | resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} 803 | 804 | '@types/react-dom@18.3.1': 805 | resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} 806 | 807 | '@types/react@18.3.11': 808 | resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==} 809 | 810 | '@web3-storage/multipart-parser@1.0.0': 811 | resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==} 812 | 813 | acorn-walk@8.3.4: 814 | resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} 815 | engines: {node: '>=0.4.0'} 816 | 817 | acorn@8.13.0: 818 | resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} 819 | engines: {node: '>=0.4.0'} 820 | hasBin: true 821 | 822 | ansi-regex@5.0.1: 823 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 824 | engines: {node: '>=8'} 825 | 826 | ansi-regex@6.1.0: 827 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 828 | engines: {node: '>=12'} 829 | 830 | ansi-styles@3.2.1: 831 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 832 | engines: {node: '>=4'} 833 | 834 | ansi-styles@4.3.0: 835 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 836 | engines: {node: '>=8'} 837 | 838 | ansi-styles@6.2.1: 839 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 840 | engines: {node: '>=12'} 841 | 842 | any-promise@1.3.0: 843 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 844 | 845 | anymatch@3.1.3: 846 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 847 | engines: {node: '>= 8'} 848 | 849 | arg@5.0.2: 850 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 851 | 852 | as-table@1.0.55: 853 | resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} 854 | 855 | autoprefixer@10.4.20: 856 | resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} 857 | engines: {node: ^10 || ^12 || >=14} 858 | hasBin: true 859 | peerDependencies: 860 | postcss: ^8.1.0 861 | 862 | babel-dead-code-elimination@1.0.6: 863 | resolution: {integrity: sha512-JxFi9qyRJpN0LjEbbjbN8g0ux71Qppn9R8Qe3k6QzHg2CaKsbUQtbn307LQGiDLGjV6JCtEFqfxzVig9MyDCHQ==} 864 | 865 | balanced-match@1.0.2: 866 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 867 | 868 | binary-extensions@2.3.0: 869 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 870 | engines: {node: '>=8'} 871 | 872 | blake3-wasm@2.1.5: 873 | resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} 874 | 875 | brace-expansion@2.0.1: 876 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 877 | 878 | braces@3.0.3: 879 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 880 | engines: {node: '>=8'} 881 | 882 | browserify-zlib@0.1.4: 883 | resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==} 884 | 885 | browserslist@4.24.0: 886 | resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} 887 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 888 | hasBin: true 889 | 890 | buffer-from@1.1.2: 891 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 892 | 893 | cac@6.7.14: 894 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 895 | engines: {node: '>=8'} 896 | 897 | camelcase-css@2.0.1: 898 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 899 | engines: {node: '>= 6'} 900 | 901 | caniuse-lite@1.0.30001669: 902 | resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==} 903 | 904 | capnp-ts@0.7.0: 905 | resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} 906 | 907 | chalk@2.4.2: 908 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 909 | engines: {node: '>=4'} 910 | 911 | chalk@4.1.2: 912 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 913 | engines: {node: '>=10'} 914 | 915 | chokidar@3.6.0: 916 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 917 | engines: {node: '>= 8.10.0'} 918 | 919 | chokidar@4.0.1: 920 | resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} 921 | engines: {node: '>= 14.16.0'} 922 | 923 | color-convert@1.9.3: 924 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 925 | 926 | color-convert@2.0.1: 927 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 928 | engines: {node: '>=7.0.0'} 929 | 930 | color-name@1.1.3: 931 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 932 | 933 | color-name@1.1.4: 934 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 935 | 936 | commander@4.1.1: 937 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 938 | engines: {node: '>= 6'} 939 | 940 | convert-source-map@2.0.0: 941 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 942 | 943 | cookie@0.6.0: 944 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 945 | engines: {node: '>= 0.6'} 946 | 947 | cookie@0.7.2: 948 | resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} 949 | engines: {node: '>= 0.6'} 950 | 951 | core-util-is@1.0.3: 952 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 953 | 954 | cross-spawn@7.0.3: 955 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 956 | engines: {node: '>= 8'} 957 | 958 | cssesc@3.0.0: 959 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 960 | engines: {node: '>=4'} 961 | hasBin: true 962 | 963 | csstype@3.1.3: 964 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 965 | 966 | data-uri-to-buffer@2.0.2: 967 | resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} 968 | 969 | debug@4.3.7: 970 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} 971 | engines: {node: '>=6.0'} 972 | peerDependencies: 973 | supports-color: '*' 974 | peerDependenciesMeta: 975 | supports-color: 976 | optional: true 977 | 978 | dedent@1.5.3: 979 | resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} 980 | peerDependencies: 981 | babel-plugin-macros: ^3.1.0 982 | peerDependenciesMeta: 983 | babel-plugin-macros: 984 | optional: true 985 | 986 | defu@6.1.4: 987 | resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 988 | 989 | didyoumean@1.2.2: 990 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 991 | 992 | dlv@1.1.3: 993 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 994 | 995 | duplexify@3.7.1: 996 | resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} 997 | 998 | eastasianwidth@0.2.0: 999 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 1000 | 1001 | electron-to-chromium@1.5.39: 1002 | resolution: {integrity: sha512-4xkpSR6CjuiaNyvwiWDI85N9AxsvbPawB8xc7yzLPonYTuP19BVgYweKyUMFtHEZgIcHWMt1ks5Cqx2m+6/Grg==} 1003 | 1004 | emoji-regex@8.0.0: 1005 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1006 | 1007 | emoji-regex@9.2.2: 1008 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1009 | 1010 | end-of-stream@1.4.4: 1011 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 1012 | 1013 | err-code@2.0.3: 1014 | resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} 1015 | 1016 | es-module-lexer@1.5.4: 1017 | resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} 1018 | 1019 | esbuild@0.17.19: 1020 | resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} 1021 | engines: {node: '>=12'} 1022 | hasBin: true 1023 | 1024 | esbuild@0.21.5: 1025 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 1026 | engines: {node: '>=12'} 1027 | hasBin: true 1028 | 1029 | escalade@3.2.0: 1030 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 1031 | engines: {node: '>=6'} 1032 | 1033 | escape-string-regexp@1.0.5: 1034 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1035 | engines: {node: '>=0.8.0'} 1036 | 1037 | escape-string-regexp@4.0.0: 1038 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1039 | engines: {node: '>=10'} 1040 | 1041 | estree-walker@0.6.1: 1042 | resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} 1043 | 1044 | exit-hook@2.2.1: 1045 | resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} 1046 | engines: {node: '>=6'} 1047 | 1048 | fast-glob@3.3.2: 1049 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1050 | engines: {node: '>=8.6.0'} 1051 | 1052 | fastq@1.17.1: 1053 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1054 | 1055 | fill-range@7.1.1: 1056 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1057 | engines: {node: '>=8'} 1058 | 1059 | foreground-child@3.3.0: 1060 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 1061 | engines: {node: '>=14'} 1062 | 1063 | fraction.js@4.3.7: 1064 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} 1065 | 1066 | fs-extra@10.1.0: 1067 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 1068 | engines: {node: '>=12'} 1069 | 1070 | fsevents@2.3.3: 1071 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1072 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1073 | os: [darwin] 1074 | 1075 | function-bind@1.1.2: 1076 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1077 | 1078 | gensync@1.0.0-beta.2: 1079 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1080 | engines: {node: '>=6.9.0'} 1081 | 1082 | get-source@2.0.12: 1083 | resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} 1084 | 1085 | glob-parent@5.1.2: 1086 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1087 | engines: {node: '>= 6'} 1088 | 1089 | glob-parent@6.0.2: 1090 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1091 | engines: {node: '>=10.13.0'} 1092 | 1093 | glob-to-regexp@0.4.1: 1094 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 1095 | 1096 | glob@10.4.5: 1097 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1098 | hasBin: true 1099 | 1100 | globals@11.12.0: 1101 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1102 | engines: {node: '>=4'} 1103 | 1104 | globrex@0.1.2: 1105 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} 1106 | 1107 | graceful-fs@4.2.11: 1108 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1109 | 1110 | gunzip-maybe@1.4.2: 1111 | resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} 1112 | hasBin: true 1113 | 1114 | has-flag@3.0.0: 1115 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1116 | engines: {node: '>=4'} 1117 | 1118 | has-flag@4.0.0: 1119 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1120 | engines: {node: '>=8'} 1121 | 1122 | hasown@2.0.2: 1123 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1124 | engines: {node: '>= 0.4'} 1125 | 1126 | hosted-git-info@6.1.1: 1127 | resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} 1128 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1129 | 1130 | inherits@2.0.4: 1131 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1132 | 1133 | is-binary-path@2.1.0: 1134 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1135 | engines: {node: '>=8'} 1136 | 1137 | is-core-module@2.15.1: 1138 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 1139 | engines: {node: '>= 0.4'} 1140 | 1141 | is-deflate@1.0.0: 1142 | resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==} 1143 | 1144 | is-extglob@2.1.1: 1145 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1146 | engines: {node: '>=0.10.0'} 1147 | 1148 | is-fullwidth-code-point@3.0.0: 1149 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1150 | engines: {node: '>=8'} 1151 | 1152 | is-glob@4.0.3: 1153 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1154 | engines: {node: '>=0.10.0'} 1155 | 1156 | is-gzip@1.0.0: 1157 | resolution: {integrity: sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==} 1158 | engines: {node: '>=0.10.0'} 1159 | 1160 | is-number@7.0.0: 1161 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1162 | engines: {node: '>=0.12.0'} 1163 | 1164 | isarray@1.0.0: 1165 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 1166 | 1167 | isbot@5.1.17: 1168 | resolution: {integrity: sha512-/wch8pRKZE+aoVhRX/hYPY1C7dMCeeMyhkQLNLNlYAbGQn9bkvMB8fOUXNnk5I0m4vDYbBJ9ciVtkr9zfBJ7qA==} 1169 | engines: {node: '>=18'} 1170 | 1171 | isexe@2.0.0: 1172 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1173 | 1174 | jackspeak@3.4.3: 1175 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1176 | 1177 | jiti@1.21.6: 1178 | resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 1179 | hasBin: true 1180 | 1181 | js-tokens@4.0.0: 1182 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1183 | 1184 | jsesc@3.0.2: 1185 | resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} 1186 | engines: {node: '>=6'} 1187 | hasBin: true 1188 | 1189 | json-parse-even-better-errors@3.0.2: 1190 | resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} 1191 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1192 | 1193 | json5@2.2.3: 1194 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1195 | engines: {node: '>=6'} 1196 | hasBin: true 1197 | 1198 | jsonfile@6.1.0: 1199 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 1200 | 1201 | lilconfig@2.1.0: 1202 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1203 | engines: {node: '>=10'} 1204 | 1205 | lilconfig@3.1.2: 1206 | resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} 1207 | engines: {node: '>=14'} 1208 | 1209 | lines-and-columns@1.2.4: 1210 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1211 | 1212 | lodash@4.17.21: 1213 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1214 | 1215 | loose-envify@1.4.0: 1216 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1217 | hasBin: true 1218 | 1219 | lru-cache@10.4.3: 1220 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1221 | 1222 | lru-cache@5.1.1: 1223 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1224 | 1225 | lru-cache@7.18.3: 1226 | resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} 1227 | engines: {node: '>=12'} 1228 | 1229 | magic-string@0.25.9: 1230 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 1231 | 1232 | merge2@1.4.1: 1233 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1234 | engines: {node: '>= 8'} 1235 | 1236 | micromatch@4.0.8: 1237 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1238 | engines: {node: '>=8.6'} 1239 | 1240 | mime@3.0.0: 1241 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 1242 | engines: {node: '>=10.0.0'} 1243 | hasBin: true 1244 | 1245 | miniflare@3.20241004.0: 1246 | resolution: {integrity: sha512-QSSmCR2V1AJnnpYwlyLXobKLSGiY1FlAiZYULMdGgOUThV7HJeSysDxsmPmrH+D4GQbmUERnmDdB6M6Rrz7uPg==} 1247 | engines: {node: '>=16.13'} 1248 | hasBin: true 1249 | 1250 | minimatch@9.0.5: 1251 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1252 | engines: {node: '>=16 || 14 >=14.17'} 1253 | 1254 | minipass@7.1.2: 1255 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1256 | engines: {node: '>=16 || 14 >=14.17'} 1257 | 1258 | ms@2.1.3: 1259 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1260 | 1261 | mustache@4.2.0: 1262 | resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} 1263 | hasBin: true 1264 | 1265 | mz@2.7.0: 1266 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1267 | 1268 | nanoid@3.3.7: 1269 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1270 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1271 | hasBin: true 1272 | 1273 | node-forge@1.3.1: 1274 | resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} 1275 | engines: {node: '>= 6.13.0'} 1276 | 1277 | node-releases@2.0.18: 1278 | resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} 1279 | 1280 | normalize-package-data@5.0.0: 1281 | resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} 1282 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1283 | 1284 | normalize-path@3.0.0: 1285 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1286 | engines: {node: '>=0.10.0'} 1287 | 1288 | normalize-range@0.1.2: 1289 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 1290 | engines: {node: '>=0.10.0'} 1291 | 1292 | npm-install-checks@6.3.0: 1293 | resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} 1294 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1295 | 1296 | npm-normalize-package-bin@3.0.1: 1297 | resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} 1298 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1299 | 1300 | npm-package-arg@10.1.0: 1301 | resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} 1302 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1303 | 1304 | npm-pick-manifest@8.0.2: 1305 | resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==} 1306 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1307 | 1308 | object-assign@4.1.1: 1309 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1310 | engines: {node: '>=0.10.0'} 1311 | 1312 | object-hash@3.0.0: 1313 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1314 | engines: {node: '>= 6'} 1315 | 1316 | ohash@1.1.4: 1317 | resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} 1318 | 1319 | once@1.4.0: 1320 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1321 | 1322 | package-json-from-dist@1.0.1: 1323 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1324 | 1325 | pako@0.2.9: 1326 | resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} 1327 | 1328 | path-key@3.1.1: 1329 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1330 | engines: {node: '>=8'} 1331 | 1332 | path-parse@1.0.7: 1333 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1334 | 1335 | path-scurry@1.11.1: 1336 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1337 | engines: {node: '>=16 || 14 >=14.18'} 1338 | 1339 | path-to-regexp@6.3.0: 1340 | resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} 1341 | 1342 | pathe@1.1.2: 1343 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 1344 | 1345 | peek-stream@1.1.3: 1346 | resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} 1347 | 1348 | picocolors@1.1.0: 1349 | resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} 1350 | 1351 | picomatch@2.3.1: 1352 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1353 | engines: {node: '>=8.6'} 1354 | 1355 | pify@2.3.0: 1356 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1357 | engines: {node: '>=0.10.0'} 1358 | 1359 | pirates@4.0.6: 1360 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1361 | engines: {node: '>= 6'} 1362 | 1363 | postcss-import@15.1.0: 1364 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 1365 | engines: {node: '>=14.0.0'} 1366 | peerDependencies: 1367 | postcss: ^8.0.0 1368 | 1369 | postcss-js@4.0.1: 1370 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1371 | engines: {node: ^12 || ^14 || >= 16} 1372 | peerDependencies: 1373 | postcss: ^8.4.21 1374 | 1375 | postcss-load-config@4.0.2: 1376 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 1377 | engines: {node: '>= 14'} 1378 | peerDependencies: 1379 | postcss: '>=8.0.9' 1380 | ts-node: '>=9.0.0' 1381 | peerDependenciesMeta: 1382 | postcss: 1383 | optional: true 1384 | ts-node: 1385 | optional: true 1386 | 1387 | postcss-nested@6.2.0: 1388 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 1389 | engines: {node: '>=12.0'} 1390 | peerDependencies: 1391 | postcss: ^8.2.14 1392 | 1393 | postcss-selector-parser@6.1.2: 1394 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 1395 | engines: {node: '>=4'} 1396 | 1397 | postcss-value-parser@4.2.0: 1398 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1399 | 1400 | postcss@8.4.47: 1401 | resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} 1402 | engines: {node: ^10 || ^12 || >=14} 1403 | 1404 | prettier-plugin-organize-imports@4.1.0: 1405 | resolution: {integrity: sha512-5aWRdCgv645xaa58X8lOxzZoiHAldAPChljr/MT0crXVOWTZ+Svl4hIWlz+niYSlO6ikE5UXkN1JrRvIP2ut0A==} 1406 | peerDependencies: 1407 | prettier: '>=2.0' 1408 | typescript: '>=2.9' 1409 | vue-tsc: ^2.1.0 1410 | peerDependenciesMeta: 1411 | vue-tsc: 1412 | optional: true 1413 | 1414 | prettier-plugin-tailwindcss@0.6.8: 1415 | resolution: {integrity: sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==} 1416 | engines: {node: '>=14.21.3'} 1417 | peerDependencies: 1418 | '@ianvs/prettier-plugin-sort-imports': '*' 1419 | '@prettier/plugin-pug': '*' 1420 | '@shopify/prettier-plugin-liquid': '*' 1421 | '@trivago/prettier-plugin-sort-imports': '*' 1422 | '@zackad/prettier-plugin-twig-melody': '*' 1423 | prettier: ^3.0 1424 | prettier-plugin-astro: '*' 1425 | prettier-plugin-css-order: '*' 1426 | prettier-plugin-import-sort: '*' 1427 | prettier-plugin-jsdoc: '*' 1428 | prettier-plugin-marko: '*' 1429 | prettier-plugin-multiline-arrays: '*' 1430 | prettier-plugin-organize-attributes: '*' 1431 | prettier-plugin-organize-imports: '*' 1432 | prettier-plugin-sort-imports: '*' 1433 | prettier-plugin-style-order: '*' 1434 | prettier-plugin-svelte: '*' 1435 | peerDependenciesMeta: 1436 | '@ianvs/prettier-plugin-sort-imports': 1437 | optional: true 1438 | '@prettier/plugin-pug': 1439 | optional: true 1440 | '@shopify/prettier-plugin-liquid': 1441 | optional: true 1442 | '@trivago/prettier-plugin-sort-imports': 1443 | optional: true 1444 | '@zackad/prettier-plugin-twig-melody': 1445 | optional: true 1446 | prettier-plugin-astro: 1447 | optional: true 1448 | prettier-plugin-css-order: 1449 | optional: true 1450 | prettier-plugin-import-sort: 1451 | optional: true 1452 | prettier-plugin-jsdoc: 1453 | optional: true 1454 | prettier-plugin-marko: 1455 | optional: true 1456 | prettier-plugin-multiline-arrays: 1457 | optional: true 1458 | prettier-plugin-organize-attributes: 1459 | optional: true 1460 | prettier-plugin-organize-imports: 1461 | optional: true 1462 | prettier-plugin-sort-imports: 1463 | optional: true 1464 | prettier-plugin-style-order: 1465 | optional: true 1466 | prettier-plugin-svelte: 1467 | optional: true 1468 | 1469 | prettier@2.8.8: 1470 | resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} 1471 | engines: {node: '>=10.13.0'} 1472 | hasBin: true 1473 | 1474 | prettier@3.3.3: 1475 | resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} 1476 | engines: {node: '>=14'} 1477 | hasBin: true 1478 | 1479 | printable-characters@1.0.42: 1480 | resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} 1481 | 1482 | proc-log@3.0.0: 1483 | resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} 1484 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1485 | 1486 | process-nextick-args@2.0.1: 1487 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 1488 | 1489 | promise-inflight@1.0.1: 1490 | resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} 1491 | peerDependencies: 1492 | bluebird: '*' 1493 | peerDependenciesMeta: 1494 | bluebird: 1495 | optional: true 1496 | 1497 | promise-retry@2.0.1: 1498 | resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} 1499 | engines: {node: '>=10'} 1500 | 1501 | pump@2.0.1: 1502 | resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} 1503 | 1504 | pumpify@1.5.1: 1505 | resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} 1506 | 1507 | queue-microtask@1.2.3: 1508 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1509 | 1510 | react-dom@18.3.1: 1511 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} 1512 | peerDependencies: 1513 | react: ^18.3.1 1514 | 1515 | react-refresh@0.14.2: 1516 | resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} 1517 | engines: {node: '>=0.10.0'} 1518 | 1519 | react-router@7.0.0-pre.1: 1520 | resolution: {integrity: sha512-KAopqhQWpZUdIbSVGXBszhvHJjI20XBgYYwD83GL2uXFluKzb1SEw1XY4h3kg0wOT6WpQB7m655MJnk2CIBufQ==} 1521 | engines: {node: '>=18.0.0'} 1522 | peerDependencies: 1523 | react: '>=18' 1524 | react-dom: '>=18' 1525 | peerDependenciesMeta: 1526 | react-dom: 1527 | optional: true 1528 | 1529 | react@18.3.1: 1530 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} 1531 | engines: {node: '>=0.10.0'} 1532 | 1533 | read-cache@1.0.0: 1534 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1535 | 1536 | readable-stream@2.3.8: 1537 | resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} 1538 | 1539 | readdirp@3.6.0: 1540 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1541 | engines: {node: '>=8.10.0'} 1542 | 1543 | readdirp@4.0.2: 1544 | resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} 1545 | engines: {node: '>= 14.16.0'} 1546 | 1547 | resolve.exports@2.0.2: 1548 | resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} 1549 | engines: {node: '>=10'} 1550 | 1551 | resolve@1.22.8: 1552 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1553 | hasBin: true 1554 | 1555 | retry@0.12.0: 1556 | resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} 1557 | engines: {node: '>= 4'} 1558 | 1559 | reusify@1.0.4: 1560 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1561 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1562 | 1563 | rollup-plugin-inject@3.0.2: 1564 | resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} 1565 | deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. 1566 | 1567 | rollup-plugin-node-polyfills@0.2.1: 1568 | resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} 1569 | 1570 | rollup-pluginutils@2.8.2: 1571 | resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} 1572 | 1573 | rollup@4.24.0: 1574 | resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} 1575 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1576 | hasBin: true 1577 | 1578 | run-parallel@1.2.0: 1579 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1580 | 1581 | safe-buffer@5.1.2: 1582 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 1583 | 1584 | scheduler@0.23.2: 1585 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} 1586 | 1587 | selfsigned@2.4.1: 1588 | resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} 1589 | engines: {node: '>=10'} 1590 | 1591 | semver@6.3.1: 1592 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1593 | hasBin: true 1594 | 1595 | semver@7.6.3: 1596 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 1597 | engines: {node: '>=10'} 1598 | hasBin: true 1599 | 1600 | set-cookie-parser@2.7.0: 1601 | resolution: {integrity: sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==} 1602 | 1603 | shebang-command@2.0.0: 1604 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1605 | engines: {node: '>=8'} 1606 | 1607 | shebang-regex@3.0.0: 1608 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1609 | engines: {node: '>=8'} 1610 | 1611 | signal-exit@4.1.0: 1612 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1613 | engines: {node: '>=14'} 1614 | 1615 | source-map-js@1.2.1: 1616 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1617 | engines: {node: '>=0.10.0'} 1618 | 1619 | source-map-support@0.5.21: 1620 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1621 | 1622 | source-map@0.6.1: 1623 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1624 | engines: {node: '>=0.10.0'} 1625 | 1626 | source-map@0.7.4: 1627 | resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 1628 | engines: {node: '>= 8'} 1629 | 1630 | sourcemap-codec@1.4.8: 1631 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 1632 | deprecated: Please use @jridgewell/sourcemap-codec instead 1633 | 1634 | spdx-correct@3.2.0: 1635 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 1636 | 1637 | spdx-exceptions@2.5.0: 1638 | resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} 1639 | 1640 | spdx-expression-parse@3.0.1: 1641 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 1642 | 1643 | spdx-license-ids@3.0.20: 1644 | resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} 1645 | 1646 | stacktracey@2.1.8: 1647 | resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} 1648 | 1649 | stoppable@1.1.0: 1650 | resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} 1651 | engines: {node: '>=4', npm: '>=6'} 1652 | 1653 | stream-shift@1.0.3: 1654 | resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} 1655 | 1656 | stream-slice@0.1.2: 1657 | resolution: {integrity: sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==} 1658 | 1659 | string-width@4.2.3: 1660 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1661 | engines: {node: '>=8'} 1662 | 1663 | string-width@5.1.2: 1664 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1665 | engines: {node: '>=12'} 1666 | 1667 | string_decoder@1.1.1: 1668 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 1669 | 1670 | strip-ansi@6.0.1: 1671 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1672 | engines: {node: '>=8'} 1673 | 1674 | strip-ansi@7.1.0: 1675 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1676 | engines: {node: '>=12'} 1677 | 1678 | sucrase@3.35.0: 1679 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1680 | engines: {node: '>=16 || 14 >=14.17'} 1681 | hasBin: true 1682 | 1683 | supports-color@5.5.0: 1684 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1685 | engines: {node: '>=4'} 1686 | 1687 | supports-color@7.2.0: 1688 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1689 | engines: {node: '>=8'} 1690 | 1691 | supports-preserve-symlinks-flag@1.0.0: 1692 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1693 | engines: {node: '>= 0.4'} 1694 | 1695 | tailwindcss@3.4.14: 1696 | resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==} 1697 | engines: {node: '>=14.0.0'} 1698 | hasBin: true 1699 | 1700 | thenify-all@1.6.0: 1701 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1702 | engines: {node: '>=0.8'} 1703 | 1704 | thenify@3.3.1: 1705 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1706 | 1707 | through2@2.0.5: 1708 | resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} 1709 | 1710 | to-fast-properties@2.0.0: 1711 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1712 | engines: {node: '>=4'} 1713 | 1714 | to-regex-range@5.0.1: 1715 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1716 | engines: {node: '>=8.0'} 1717 | 1718 | ts-interface-checker@0.1.13: 1719 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1720 | 1721 | tsconfck@3.1.4: 1722 | resolution: {integrity: sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==} 1723 | engines: {node: ^18 || >=20} 1724 | hasBin: true 1725 | peerDependencies: 1726 | typescript: ^5.0.0 1727 | peerDependenciesMeta: 1728 | typescript: 1729 | optional: true 1730 | 1731 | tslib@2.8.0: 1732 | resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} 1733 | 1734 | turbo-stream@2.4.0: 1735 | resolution: {integrity: sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==} 1736 | 1737 | typescript@5.6.3: 1738 | resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} 1739 | engines: {node: '>=14.17'} 1740 | hasBin: true 1741 | 1742 | ufo@1.5.4: 1743 | resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} 1744 | 1745 | undici-types@6.19.8: 1746 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 1747 | 1748 | undici@5.28.4: 1749 | resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} 1750 | engines: {node: '>=14.0'} 1751 | 1752 | undici@6.20.1: 1753 | resolution: {integrity: sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==} 1754 | engines: {node: '>=18.17'} 1755 | 1756 | unenv-nightly@2.0.0-20241009-125958-e8ea22f: 1757 | resolution: {integrity: sha512-hRxmKz1iSVRmuFx/vBdPsx7rX4o7Cas9vdjDNeUeWpQTK2LzU3Xy3Jz0zbo7MJX0bpqo/LEFCA+GPwsbl6zKEQ==} 1758 | 1759 | universalify@2.0.1: 1760 | resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} 1761 | engines: {node: '>= 10.0.0'} 1762 | 1763 | update-browserslist-db@1.1.1: 1764 | resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} 1765 | hasBin: true 1766 | peerDependencies: 1767 | browserslist: '>= 4.21.0' 1768 | 1769 | util-deprecate@1.0.2: 1770 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1771 | 1772 | valibot@0.41.0: 1773 | resolution: {integrity: sha512-igDBb8CTYr8YTQlOKgaN9nSS0Be7z+WRuaeYqGf3Cjz3aKmSnqEmYnkfVjzIuumGqfHpa3fLIvMEAfhrpqN8ng==} 1774 | peerDependencies: 1775 | typescript: '>=5' 1776 | peerDependenciesMeta: 1777 | typescript: 1778 | optional: true 1779 | 1780 | validate-npm-package-license@3.0.4: 1781 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 1782 | 1783 | validate-npm-package-name@5.0.1: 1784 | resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} 1785 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1786 | 1787 | vite-node@1.6.0: 1788 | resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} 1789 | engines: {node: ^18.0.0 || >=20.0.0} 1790 | hasBin: true 1791 | 1792 | vite-tsconfig-paths@5.0.1: 1793 | resolution: {integrity: sha512-yqwv+LstU7NwPeNqajZzLEBVpUFU6Dugtb2P84FXuvaoYA+/70l9MHE+GYfYAycVyPSDYZ7mjOFuYBRqlEpTig==} 1794 | peerDependencies: 1795 | vite: '*' 1796 | peerDependenciesMeta: 1797 | vite: 1798 | optional: true 1799 | 1800 | vite@5.4.9: 1801 | resolution: {integrity: sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==} 1802 | engines: {node: ^18.0.0 || >=20.0.0} 1803 | hasBin: true 1804 | peerDependencies: 1805 | '@types/node': ^18.0.0 || >=20.0.0 1806 | less: '*' 1807 | lightningcss: ^1.21.0 1808 | sass: '*' 1809 | sass-embedded: '*' 1810 | stylus: '*' 1811 | sugarss: '*' 1812 | terser: ^5.4.0 1813 | peerDependenciesMeta: 1814 | '@types/node': 1815 | optional: true 1816 | less: 1817 | optional: true 1818 | lightningcss: 1819 | optional: true 1820 | sass: 1821 | optional: true 1822 | sass-embedded: 1823 | optional: true 1824 | stylus: 1825 | optional: true 1826 | sugarss: 1827 | optional: true 1828 | terser: 1829 | optional: true 1830 | 1831 | which@2.0.2: 1832 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1833 | engines: {node: '>= 8'} 1834 | hasBin: true 1835 | 1836 | which@3.0.1: 1837 | resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} 1838 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1839 | hasBin: true 1840 | 1841 | workerd@1.20241004.0: 1842 | resolution: {integrity: sha512-TCFJ7Zw7svR3adg1fnlPWj/yXhjBnQloLEIJqdu57hli/GsgwlbomwrbM3mdMgbS+K9zYeaYqknXiBN0EXk3QQ==} 1843 | engines: {node: '>=16'} 1844 | hasBin: true 1845 | 1846 | wrangler@3.80.4: 1847 | resolution: {integrity: sha512-DyNvShtVH3k7ZyBndlIiwyRDXqtHr3g01hxwn4FfwKlAaT6EL0wb3KL3UGbsdpeM/xbJiUQxFQ4WuFBWgZS18Q==} 1848 | engines: {node: '>=16.17.0'} 1849 | hasBin: true 1850 | peerDependencies: 1851 | '@cloudflare/workers-types': ^4.20241004.0 1852 | peerDependenciesMeta: 1853 | '@cloudflare/workers-types': 1854 | optional: true 1855 | 1856 | wrap-ansi@7.0.0: 1857 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1858 | engines: {node: '>=10'} 1859 | 1860 | wrap-ansi@8.1.0: 1861 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1862 | engines: {node: '>=12'} 1863 | 1864 | wrappy@1.0.2: 1865 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1866 | 1867 | ws@8.18.0: 1868 | resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} 1869 | engines: {node: '>=10.0.0'} 1870 | peerDependencies: 1871 | bufferutil: ^4.0.1 1872 | utf-8-validate: '>=5.0.2' 1873 | peerDependenciesMeta: 1874 | bufferutil: 1875 | optional: true 1876 | utf-8-validate: 1877 | optional: true 1878 | 1879 | xtend@4.0.2: 1880 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 1881 | engines: {node: '>=0.4'} 1882 | 1883 | xxhash-wasm@1.0.2: 1884 | resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} 1885 | 1886 | yallist@3.1.1: 1887 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 1888 | 1889 | yaml@2.6.0: 1890 | resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} 1891 | engines: {node: '>= 14'} 1892 | hasBin: true 1893 | 1894 | youch@3.3.4: 1895 | resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==} 1896 | 1897 | zod@3.23.8: 1898 | resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} 1899 | 1900 | snapshots: 1901 | 1902 | '@alloc/quick-lru@5.2.0': {} 1903 | 1904 | '@ampproject/remapping@2.3.0': 1905 | dependencies: 1906 | '@jridgewell/gen-mapping': 0.3.5 1907 | '@jridgewell/trace-mapping': 0.3.25 1908 | 1909 | '@babel/code-frame@7.25.7': 1910 | dependencies: 1911 | '@babel/highlight': 7.25.7 1912 | picocolors: 1.1.0 1913 | 1914 | '@babel/compat-data@7.25.8': {} 1915 | 1916 | '@babel/core@7.25.8': 1917 | dependencies: 1918 | '@ampproject/remapping': 2.3.0 1919 | '@babel/code-frame': 7.25.7 1920 | '@babel/generator': 7.25.7 1921 | '@babel/helper-compilation-targets': 7.25.7 1922 | '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) 1923 | '@babel/helpers': 7.25.7 1924 | '@babel/parser': 7.25.8 1925 | '@babel/template': 7.25.7 1926 | '@babel/traverse': 7.25.7 1927 | '@babel/types': 7.25.8 1928 | convert-source-map: 2.0.0 1929 | debug: 4.3.7 1930 | gensync: 1.0.0-beta.2 1931 | json5: 2.2.3 1932 | semver: 6.3.1 1933 | transitivePeerDependencies: 1934 | - supports-color 1935 | 1936 | '@babel/generator@7.25.7': 1937 | dependencies: 1938 | '@babel/types': 7.25.8 1939 | '@jridgewell/gen-mapping': 0.3.5 1940 | '@jridgewell/trace-mapping': 0.3.25 1941 | jsesc: 3.0.2 1942 | 1943 | '@babel/helper-annotate-as-pure@7.25.7': 1944 | dependencies: 1945 | '@babel/types': 7.25.8 1946 | 1947 | '@babel/helper-compilation-targets@7.25.7': 1948 | dependencies: 1949 | '@babel/compat-data': 7.25.8 1950 | '@babel/helper-validator-option': 7.25.7 1951 | browserslist: 4.24.0 1952 | lru-cache: 5.1.1 1953 | semver: 6.3.1 1954 | 1955 | '@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.25.8)': 1956 | dependencies: 1957 | '@babel/core': 7.25.8 1958 | '@babel/helper-annotate-as-pure': 7.25.7 1959 | '@babel/helper-member-expression-to-functions': 7.25.7 1960 | '@babel/helper-optimise-call-expression': 7.25.7 1961 | '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8) 1962 | '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 1963 | '@babel/traverse': 7.25.7 1964 | semver: 6.3.1 1965 | transitivePeerDependencies: 1966 | - supports-color 1967 | 1968 | '@babel/helper-member-expression-to-functions@7.25.7': 1969 | dependencies: 1970 | '@babel/traverse': 7.25.7 1971 | '@babel/types': 7.25.8 1972 | transitivePeerDependencies: 1973 | - supports-color 1974 | 1975 | '@babel/helper-module-imports@7.25.7': 1976 | dependencies: 1977 | '@babel/traverse': 7.25.7 1978 | '@babel/types': 7.25.8 1979 | transitivePeerDependencies: 1980 | - supports-color 1981 | 1982 | '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.8)': 1983 | dependencies: 1984 | '@babel/core': 7.25.8 1985 | '@babel/helper-module-imports': 7.25.7 1986 | '@babel/helper-simple-access': 7.25.7 1987 | '@babel/helper-validator-identifier': 7.25.7 1988 | '@babel/traverse': 7.25.7 1989 | transitivePeerDependencies: 1990 | - supports-color 1991 | 1992 | '@babel/helper-optimise-call-expression@7.25.7': 1993 | dependencies: 1994 | '@babel/types': 7.25.8 1995 | 1996 | '@babel/helper-plugin-utils@7.25.7': {} 1997 | 1998 | '@babel/helper-replace-supers@7.25.7(@babel/core@7.25.8)': 1999 | dependencies: 2000 | '@babel/core': 7.25.8 2001 | '@babel/helper-member-expression-to-functions': 7.25.7 2002 | '@babel/helper-optimise-call-expression': 7.25.7 2003 | '@babel/traverse': 7.25.7 2004 | transitivePeerDependencies: 2005 | - supports-color 2006 | 2007 | '@babel/helper-simple-access@7.25.7': 2008 | dependencies: 2009 | '@babel/traverse': 7.25.7 2010 | '@babel/types': 7.25.8 2011 | transitivePeerDependencies: 2012 | - supports-color 2013 | 2014 | '@babel/helper-skip-transparent-expression-wrappers@7.25.7': 2015 | dependencies: 2016 | '@babel/traverse': 7.25.7 2017 | '@babel/types': 7.25.8 2018 | transitivePeerDependencies: 2019 | - supports-color 2020 | 2021 | '@babel/helper-string-parser@7.25.7': {} 2022 | 2023 | '@babel/helper-validator-identifier@7.25.7': {} 2024 | 2025 | '@babel/helper-validator-option@7.25.7': {} 2026 | 2027 | '@babel/helpers@7.25.7': 2028 | dependencies: 2029 | '@babel/template': 7.25.7 2030 | '@babel/types': 7.25.8 2031 | 2032 | '@babel/highlight@7.25.7': 2033 | dependencies: 2034 | '@babel/helper-validator-identifier': 7.25.7 2035 | chalk: 2.4.2 2036 | js-tokens: 4.0.0 2037 | picocolors: 1.1.0 2038 | 2039 | '@babel/parser@7.25.8': 2040 | dependencies: 2041 | '@babel/types': 7.25.8 2042 | 2043 | '@babel/plugin-syntax-decorators@7.25.7(@babel/core@7.25.8)': 2044 | dependencies: 2045 | '@babel/core': 7.25.8 2046 | '@babel/helper-plugin-utils': 7.25.7 2047 | 2048 | '@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.8)': 2049 | dependencies: 2050 | '@babel/core': 7.25.8 2051 | '@babel/helper-plugin-utils': 7.25.7 2052 | 2053 | '@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.25.8)': 2054 | dependencies: 2055 | '@babel/core': 7.25.8 2056 | '@babel/helper-plugin-utils': 7.25.7 2057 | 2058 | '@babel/plugin-transform-modules-commonjs@7.25.7(@babel/core@7.25.8)': 2059 | dependencies: 2060 | '@babel/core': 7.25.8 2061 | '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) 2062 | '@babel/helper-plugin-utils': 7.25.7 2063 | '@babel/helper-simple-access': 7.25.7 2064 | transitivePeerDependencies: 2065 | - supports-color 2066 | 2067 | '@babel/plugin-transform-typescript@7.25.7(@babel/core@7.25.8)': 2068 | dependencies: 2069 | '@babel/core': 7.25.8 2070 | '@babel/helper-annotate-as-pure': 7.25.7 2071 | '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) 2072 | '@babel/helper-plugin-utils': 7.25.7 2073 | '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 2074 | '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8) 2075 | transitivePeerDependencies: 2076 | - supports-color 2077 | 2078 | '@babel/preset-typescript@7.25.7(@babel/core@7.25.8)': 2079 | dependencies: 2080 | '@babel/core': 7.25.8 2081 | '@babel/helper-plugin-utils': 7.25.7 2082 | '@babel/helper-validator-option': 7.25.7 2083 | '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) 2084 | '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.8) 2085 | '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.8) 2086 | transitivePeerDependencies: 2087 | - supports-color 2088 | 2089 | '@babel/template@7.25.7': 2090 | dependencies: 2091 | '@babel/code-frame': 7.25.7 2092 | '@babel/parser': 7.25.8 2093 | '@babel/types': 7.25.8 2094 | 2095 | '@babel/traverse@7.25.7': 2096 | dependencies: 2097 | '@babel/code-frame': 7.25.7 2098 | '@babel/generator': 7.25.7 2099 | '@babel/parser': 7.25.8 2100 | '@babel/template': 7.25.7 2101 | '@babel/types': 7.25.8 2102 | debug: 4.3.7 2103 | globals: 11.12.0 2104 | transitivePeerDependencies: 2105 | - supports-color 2106 | 2107 | '@babel/types@7.25.8': 2108 | dependencies: 2109 | '@babel/helper-string-parser': 7.25.7 2110 | '@babel/helper-validator-identifier': 7.25.7 2111 | to-fast-properties: 2.0.0 2112 | 2113 | '@biomejs/biome@1.9.3': 2114 | optionalDependencies: 2115 | '@biomejs/cli-darwin-arm64': 1.9.3 2116 | '@biomejs/cli-darwin-x64': 1.9.3 2117 | '@biomejs/cli-linux-arm64': 1.9.3 2118 | '@biomejs/cli-linux-arm64-musl': 1.9.3 2119 | '@biomejs/cli-linux-x64': 1.9.3 2120 | '@biomejs/cli-linux-x64-musl': 1.9.3 2121 | '@biomejs/cli-win32-arm64': 1.9.3 2122 | '@biomejs/cli-win32-x64': 1.9.3 2123 | 2124 | '@biomejs/cli-darwin-arm64@1.9.3': 2125 | optional: true 2126 | 2127 | '@biomejs/cli-darwin-x64@1.9.3': 2128 | optional: true 2129 | 2130 | '@biomejs/cli-linux-arm64-musl@1.9.3': 2131 | optional: true 2132 | 2133 | '@biomejs/cli-linux-arm64@1.9.3': 2134 | optional: true 2135 | 2136 | '@biomejs/cli-linux-x64-musl@1.9.3': 2137 | optional: true 2138 | 2139 | '@biomejs/cli-linux-x64@1.9.3': 2140 | optional: true 2141 | 2142 | '@biomejs/cli-win32-arm64@1.9.3': 2143 | optional: true 2144 | 2145 | '@biomejs/cli-win32-x64@1.9.3': 2146 | optional: true 2147 | 2148 | '@cloudflare/kv-asset-handler@0.3.4': 2149 | dependencies: 2150 | mime: 3.0.0 2151 | 2152 | '@cloudflare/workerd-darwin-64@1.20241004.0': 2153 | optional: true 2154 | 2155 | '@cloudflare/workerd-darwin-arm64@1.20241004.0': 2156 | optional: true 2157 | 2158 | '@cloudflare/workerd-linux-64@1.20241004.0': 2159 | optional: true 2160 | 2161 | '@cloudflare/workerd-linux-arm64@1.20241004.0': 2162 | optional: true 2163 | 2164 | '@cloudflare/workerd-windows-64@1.20241004.0': 2165 | optional: true 2166 | 2167 | '@cloudflare/workers-shared@0.6.0': 2168 | dependencies: 2169 | mime: 3.0.0 2170 | zod: 3.23.8 2171 | 2172 | '@cloudflare/workers-types@4.20241011.0': {} 2173 | 2174 | '@cspotcode/source-map-support@0.8.1': 2175 | dependencies: 2176 | '@jridgewell/trace-mapping': 0.3.9 2177 | 2178 | '@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)': 2179 | dependencies: 2180 | esbuild: 0.17.19 2181 | 2182 | '@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19)': 2183 | dependencies: 2184 | esbuild: 0.17.19 2185 | escape-string-regexp: 4.0.0 2186 | rollup-plugin-node-polyfills: 0.2.1 2187 | 2188 | '@esbuild/aix-ppc64@0.21.5': 2189 | optional: true 2190 | 2191 | '@esbuild/android-arm64@0.17.19': 2192 | optional: true 2193 | 2194 | '@esbuild/android-arm64@0.21.5': 2195 | optional: true 2196 | 2197 | '@esbuild/android-arm@0.17.19': 2198 | optional: true 2199 | 2200 | '@esbuild/android-arm@0.21.5': 2201 | optional: true 2202 | 2203 | '@esbuild/android-x64@0.17.19': 2204 | optional: true 2205 | 2206 | '@esbuild/android-x64@0.21.5': 2207 | optional: true 2208 | 2209 | '@esbuild/darwin-arm64@0.17.19': 2210 | optional: true 2211 | 2212 | '@esbuild/darwin-arm64@0.21.5': 2213 | optional: true 2214 | 2215 | '@esbuild/darwin-x64@0.17.19': 2216 | optional: true 2217 | 2218 | '@esbuild/darwin-x64@0.21.5': 2219 | optional: true 2220 | 2221 | '@esbuild/freebsd-arm64@0.17.19': 2222 | optional: true 2223 | 2224 | '@esbuild/freebsd-arm64@0.21.5': 2225 | optional: true 2226 | 2227 | '@esbuild/freebsd-x64@0.17.19': 2228 | optional: true 2229 | 2230 | '@esbuild/freebsd-x64@0.21.5': 2231 | optional: true 2232 | 2233 | '@esbuild/linux-arm64@0.17.19': 2234 | optional: true 2235 | 2236 | '@esbuild/linux-arm64@0.21.5': 2237 | optional: true 2238 | 2239 | '@esbuild/linux-arm@0.17.19': 2240 | optional: true 2241 | 2242 | '@esbuild/linux-arm@0.21.5': 2243 | optional: true 2244 | 2245 | '@esbuild/linux-ia32@0.17.19': 2246 | optional: true 2247 | 2248 | '@esbuild/linux-ia32@0.21.5': 2249 | optional: true 2250 | 2251 | '@esbuild/linux-loong64@0.17.19': 2252 | optional: true 2253 | 2254 | '@esbuild/linux-loong64@0.21.5': 2255 | optional: true 2256 | 2257 | '@esbuild/linux-mips64el@0.17.19': 2258 | optional: true 2259 | 2260 | '@esbuild/linux-mips64el@0.21.5': 2261 | optional: true 2262 | 2263 | '@esbuild/linux-ppc64@0.17.19': 2264 | optional: true 2265 | 2266 | '@esbuild/linux-ppc64@0.21.5': 2267 | optional: true 2268 | 2269 | '@esbuild/linux-riscv64@0.17.19': 2270 | optional: true 2271 | 2272 | '@esbuild/linux-riscv64@0.21.5': 2273 | optional: true 2274 | 2275 | '@esbuild/linux-s390x@0.17.19': 2276 | optional: true 2277 | 2278 | '@esbuild/linux-s390x@0.21.5': 2279 | optional: true 2280 | 2281 | '@esbuild/linux-x64@0.17.19': 2282 | optional: true 2283 | 2284 | '@esbuild/linux-x64@0.21.5': 2285 | optional: true 2286 | 2287 | '@esbuild/netbsd-x64@0.17.19': 2288 | optional: true 2289 | 2290 | '@esbuild/netbsd-x64@0.21.5': 2291 | optional: true 2292 | 2293 | '@esbuild/openbsd-x64@0.17.19': 2294 | optional: true 2295 | 2296 | '@esbuild/openbsd-x64@0.21.5': 2297 | optional: true 2298 | 2299 | '@esbuild/sunos-x64@0.17.19': 2300 | optional: true 2301 | 2302 | '@esbuild/sunos-x64@0.21.5': 2303 | optional: true 2304 | 2305 | '@esbuild/win32-arm64@0.17.19': 2306 | optional: true 2307 | 2308 | '@esbuild/win32-arm64@0.21.5': 2309 | optional: true 2310 | 2311 | '@esbuild/win32-ia32@0.17.19': 2312 | optional: true 2313 | 2314 | '@esbuild/win32-ia32@0.21.5': 2315 | optional: true 2316 | 2317 | '@esbuild/win32-x64@0.17.19': 2318 | optional: true 2319 | 2320 | '@esbuild/win32-x64@0.21.5': 2321 | optional: true 2322 | 2323 | '@fastify/busboy@2.1.1': {} 2324 | 2325 | '@isaacs/cliui@8.0.2': 2326 | dependencies: 2327 | string-width: 5.1.2 2328 | string-width-cjs: string-width@4.2.3 2329 | strip-ansi: 7.1.0 2330 | strip-ansi-cjs: strip-ansi@6.0.1 2331 | wrap-ansi: 8.1.0 2332 | wrap-ansi-cjs: wrap-ansi@7.0.0 2333 | 2334 | '@jridgewell/gen-mapping@0.3.5': 2335 | dependencies: 2336 | '@jridgewell/set-array': 1.2.1 2337 | '@jridgewell/sourcemap-codec': 1.5.0 2338 | '@jridgewell/trace-mapping': 0.3.25 2339 | 2340 | '@jridgewell/resolve-uri@3.1.2': {} 2341 | 2342 | '@jridgewell/set-array@1.2.1': {} 2343 | 2344 | '@jridgewell/sourcemap-codec@1.5.0': {} 2345 | 2346 | '@jridgewell/trace-mapping@0.3.25': 2347 | dependencies: 2348 | '@jridgewell/resolve-uri': 3.1.2 2349 | '@jridgewell/sourcemap-codec': 1.5.0 2350 | 2351 | '@jridgewell/trace-mapping@0.3.9': 2352 | dependencies: 2353 | '@jridgewell/resolve-uri': 3.1.2 2354 | '@jridgewell/sourcemap-codec': 1.5.0 2355 | 2356 | '@nodelib/fs.scandir@2.1.5': 2357 | dependencies: 2358 | '@nodelib/fs.stat': 2.0.5 2359 | run-parallel: 1.2.0 2360 | 2361 | '@nodelib/fs.stat@2.0.5': {} 2362 | 2363 | '@nodelib/fs.walk@1.2.8': 2364 | dependencies: 2365 | '@nodelib/fs.scandir': 2.1.5 2366 | fastq: 1.17.1 2367 | 2368 | '@npmcli/git@4.1.0': 2369 | dependencies: 2370 | '@npmcli/promise-spawn': 6.0.2 2371 | lru-cache: 7.18.3 2372 | npm-pick-manifest: 8.0.2 2373 | proc-log: 3.0.0 2374 | promise-inflight: 1.0.1 2375 | promise-retry: 2.0.1 2376 | semver: 7.6.3 2377 | which: 3.0.1 2378 | transitivePeerDependencies: 2379 | - bluebird 2380 | 2381 | '@npmcli/package-json@4.0.1': 2382 | dependencies: 2383 | '@npmcli/git': 4.1.0 2384 | glob: 10.4.5 2385 | hosted-git-info: 6.1.1 2386 | json-parse-even-better-errors: 3.0.2 2387 | normalize-package-data: 5.0.0 2388 | proc-log: 3.0.0 2389 | semver: 7.6.3 2390 | transitivePeerDependencies: 2391 | - bluebird 2392 | 2393 | '@npmcli/promise-spawn@6.0.2': 2394 | dependencies: 2395 | which: 3.0.1 2396 | 2397 | '@pkgjs/parseargs@0.11.0': 2398 | optional: true 2399 | 2400 | '@react-router/cloudflare@7.0.0-pre.1(@cloudflare/workers-types@4.20241011.0)(react-router@7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)': 2401 | dependencies: 2402 | '@cloudflare/workers-types': 4.20241011.0 2403 | react-router: 7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2404 | optionalDependencies: 2405 | typescript: 5.6.3 2406 | 2407 | '@react-router/dev@7.0.0-pre.1(@types/node@22.7.5)(react-router@7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.5))(wrangler@3.80.4(@cloudflare/workers-types@4.20241011.0))': 2408 | dependencies: 2409 | '@babel/core': 7.25.8 2410 | '@babel/generator': 7.25.7 2411 | '@babel/parser': 7.25.8 2412 | '@babel/plugin-syntax-decorators': 7.25.7(@babel/core@7.25.8) 2413 | '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) 2414 | '@babel/preset-typescript': 7.25.7(@babel/core@7.25.8) 2415 | '@babel/traverse': 7.25.7 2416 | '@babel/types': 7.25.8 2417 | '@npmcli/package-json': 4.0.1 2418 | '@react-router/node': 7.0.0-pre.1(react-router@7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) 2419 | arg: 5.0.2 2420 | babel-dead-code-elimination: 1.0.6 2421 | chalk: 4.1.2 2422 | chokidar: 4.0.1 2423 | dedent: 1.5.3 2424 | es-module-lexer: 1.5.4 2425 | exit-hook: 2.2.1 2426 | fs-extra: 10.1.0 2427 | gunzip-maybe: 1.4.2 2428 | jsesc: 3.0.2 2429 | lodash: 4.17.21 2430 | pathe: 1.1.2 2431 | picocolors: 1.1.0 2432 | picomatch: 2.3.1 2433 | prettier: 2.8.8 2434 | react-refresh: 0.14.2 2435 | react-router: 7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2436 | semver: 7.6.3 2437 | set-cookie-parser: 2.7.0 2438 | valibot: 0.41.0(typescript@5.6.3) 2439 | vite: 5.4.9(@types/node@22.7.5) 2440 | vite-node: 1.6.0(@types/node@22.7.5) 2441 | optionalDependencies: 2442 | typescript: 5.6.3 2443 | wrangler: 3.80.4(@cloudflare/workers-types@4.20241011.0) 2444 | transitivePeerDependencies: 2445 | - '@types/node' 2446 | - babel-plugin-macros 2447 | - bluebird 2448 | - less 2449 | - lightningcss 2450 | - sass 2451 | - sass-embedded 2452 | - stylus 2453 | - sugarss 2454 | - supports-color 2455 | - terser 2456 | 2457 | '@react-router/fs-routes@7.0.0-pre.1(@react-router/dev@7.0.0-pre.1(@types/node@22.7.5)(react-router@7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.5))(wrangler@3.80.4(@cloudflare/workers-types@4.20241011.0)))(typescript@5.6.3)': 2458 | dependencies: 2459 | '@react-router/dev': 7.0.0-pre.1(@types/node@22.7.5)(react-router@7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.5))(wrangler@3.80.4(@cloudflare/workers-types@4.20241011.0)) 2460 | minimatch: 9.0.5 2461 | optionalDependencies: 2462 | typescript: 5.6.3 2463 | 2464 | '@react-router/node@7.0.0-pre.1(react-router@7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)': 2465 | dependencies: 2466 | '@web3-storage/multipart-parser': 1.0.0 2467 | react-router: 7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2468 | source-map-support: 0.5.21 2469 | stream-slice: 0.1.2 2470 | undici: 6.20.1 2471 | optionalDependencies: 2472 | typescript: 5.6.3 2473 | 2474 | '@rollup/rollup-android-arm-eabi@4.24.0': 2475 | optional: true 2476 | 2477 | '@rollup/rollup-android-arm64@4.24.0': 2478 | optional: true 2479 | 2480 | '@rollup/rollup-darwin-arm64@4.24.0': 2481 | optional: true 2482 | 2483 | '@rollup/rollup-darwin-x64@4.24.0': 2484 | optional: true 2485 | 2486 | '@rollup/rollup-linux-arm-gnueabihf@4.24.0': 2487 | optional: true 2488 | 2489 | '@rollup/rollup-linux-arm-musleabihf@4.24.0': 2490 | optional: true 2491 | 2492 | '@rollup/rollup-linux-arm64-gnu@4.24.0': 2493 | optional: true 2494 | 2495 | '@rollup/rollup-linux-arm64-musl@4.24.0': 2496 | optional: true 2497 | 2498 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': 2499 | optional: true 2500 | 2501 | '@rollup/rollup-linux-riscv64-gnu@4.24.0': 2502 | optional: true 2503 | 2504 | '@rollup/rollup-linux-s390x-gnu@4.24.0': 2505 | optional: true 2506 | 2507 | '@rollup/rollup-linux-x64-gnu@4.24.0': 2508 | optional: true 2509 | 2510 | '@rollup/rollup-linux-x64-musl@4.24.0': 2511 | optional: true 2512 | 2513 | '@rollup/rollup-win32-arm64-msvc@4.24.0': 2514 | optional: true 2515 | 2516 | '@rollup/rollup-win32-ia32-msvc@4.24.0': 2517 | optional: true 2518 | 2519 | '@rollup/rollup-win32-x64-msvc@4.24.0': 2520 | optional: true 2521 | 2522 | '@types/cookie@0.6.0': {} 2523 | 2524 | '@types/estree@1.0.6': {} 2525 | 2526 | '@types/node-forge@1.3.11': 2527 | dependencies: 2528 | '@types/node': 22.7.5 2529 | 2530 | '@types/node@22.7.5': 2531 | dependencies: 2532 | undici-types: 6.19.8 2533 | 2534 | '@types/prop-types@15.7.13': {} 2535 | 2536 | '@types/react-dom@18.3.1': 2537 | dependencies: 2538 | '@types/react': 18.3.11 2539 | 2540 | '@types/react@18.3.11': 2541 | dependencies: 2542 | '@types/prop-types': 15.7.13 2543 | csstype: 3.1.3 2544 | 2545 | '@web3-storage/multipart-parser@1.0.0': {} 2546 | 2547 | acorn-walk@8.3.4: 2548 | dependencies: 2549 | acorn: 8.13.0 2550 | 2551 | acorn@8.13.0: {} 2552 | 2553 | ansi-regex@5.0.1: {} 2554 | 2555 | ansi-regex@6.1.0: {} 2556 | 2557 | ansi-styles@3.2.1: 2558 | dependencies: 2559 | color-convert: 1.9.3 2560 | 2561 | ansi-styles@4.3.0: 2562 | dependencies: 2563 | color-convert: 2.0.1 2564 | 2565 | ansi-styles@6.2.1: {} 2566 | 2567 | any-promise@1.3.0: {} 2568 | 2569 | anymatch@3.1.3: 2570 | dependencies: 2571 | normalize-path: 3.0.0 2572 | picomatch: 2.3.1 2573 | 2574 | arg@5.0.2: {} 2575 | 2576 | as-table@1.0.55: 2577 | dependencies: 2578 | printable-characters: 1.0.42 2579 | 2580 | autoprefixer@10.4.20(postcss@8.4.47): 2581 | dependencies: 2582 | browserslist: 4.24.0 2583 | caniuse-lite: 1.0.30001669 2584 | fraction.js: 4.3.7 2585 | normalize-range: 0.1.2 2586 | picocolors: 1.1.0 2587 | postcss: 8.4.47 2588 | postcss-value-parser: 4.2.0 2589 | 2590 | babel-dead-code-elimination@1.0.6: 2591 | dependencies: 2592 | '@babel/core': 7.25.8 2593 | '@babel/parser': 7.25.8 2594 | '@babel/traverse': 7.25.7 2595 | '@babel/types': 7.25.8 2596 | transitivePeerDependencies: 2597 | - supports-color 2598 | 2599 | balanced-match@1.0.2: {} 2600 | 2601 | binary-extensions@2.3.0: {} 2602 | 2603 | blake3-wasm@2.1.5: {} 2604 | 2605 | brace-expansion@2.0.1: 2606 | dependencies: 2607 | balanced-match: 1.0.2 2608 | 2609 | braces@3.0.3: 2610 | dependencies: 2611 | fill-range: 7.1.1 2612 | 2613 | browserify-zlib@0.1.4: 2614 | dependencies: 2615 | pako: 0.2.9 2616 | 2617 | browserslist@4.24.0: 2618 | dependencies: 2619 | caniuse-lite: 1.0.30001669 2620 | electron-to-chromium: 1.5.39 2621 | node-releases: 2.0.18 2622 | update-browserslist-db: 1.1.1(browserslist@4.24.0) 2623 | 2624 | buffer-from@1.1.2: {} 2625 | 2626 | cac@6.7.14: {} 2627 | 2628 | camelcase-css@2.0.1: {} 2629 | 2630 | caniuse-lite@1.0.30001669: {} 2631 | 2632 | capnp-ts@0.7.0: 2633 | dependencies: 2634 | debug: 4.3.7 2635 | tslib: 2.8.0 2636 | transitivePeerDependencies: 2637 | - supports-color 2638 | 2639 | chalk@2.4.2: 2640 | dependencies: 2641 | ansi-styles: 3.2.1 2642 | escape-string-regexp: 1.0.5 2643 | supports-color: 5.5.0 2644 | 2645 | chalk@4.1.2: 2646 | dependencies: 2647 | ansi-styles: 4.3.0 2648 | supports-color: 7.2.0 2649 | 2650 | chokidar@3.6.0: 2651 | dependencies: 2652 | anymatch: 3.1.3 2653 | braces: 3.0.3 2654 | glob-parent: 5.1.2 2655 | is-binary-path: 2.1.0 2656 | is-glob: 4.0.3 2657 | normalize-path: 3.0.0 2658 | readdirp: 3.6.0 2659 | optionalDependencies: 2660 | fsevents: 2.3.3 2661 | 2662 | chokidar@4.0.1: 2663 | dependencies: 2664 | readdirp: 4.0.2 2665 | 2666 | color-convert@1.9.3: 2667 | dependencies: 2668 | color-name: 1.1.3 2669 | 2670 | color-convert@2.0.1: 2671 | dependencies: 2672 | color-name: 1.1.4 2673 | 2674 | color-name@1.1.3: {} 2675 | 2676 | color-name@1.1.4: {} 2677 | 2678 | commander@4.1.1: {} 2679 | 2680 | convert-source-map@2.0.0: {} 2681 | 2682 | cookie@0.6.0: {} 2683 | 2684 | cookie@0.7.2: {} 2685 | 2686 | core-util-is@1.0.3: {} 2687 | 2688 | cross-spawn@7.0.3: 2689 | dependencies: 2690 | path-key: 3.1.1 2691 | shebang-command: 2.0.0 2692 | which: 2.0.2 2693 | 2694 | cssesc@3.0.0: {} 2695 | 2696 | csstype@3.1.3: {} 2697 | 2698 | data-uri-to-buffer@2.0.2: {} 2699 | 2700 | debug@4.3.7: 2701 | dependencies: 2702 | ms: 2.1.3 2703 | 2704 | dedent@1.5.3: {} 2705 | 2706 | defu@6.1.4: {} 2707 | 2708 | didyoumean@1.2.2: {} 2709 | 2710 | dlv@1.1.3: {} 2711 | 2712 | duplexify@3.7.1: 2713 | dependencies: 2714 | end-of-stream: 1.4.4 2715 | inherits: 2.0.4 2716 | readable-stream: 2.3.8 2717 | stream-shift: 1.0.3 2718 | 2719 | eastasianwidth@0.2.0: {} 2720 | 2721 | electron-to-chromium@1.5.39: {} 2722 | 2723 | emoji-regex@8.0.0: {} 2724 | 2725 | emoji-regex@9.2.2: {} 2726 | 2727 | end-of-stream@1.4.4: 2728 | dependencies: 2729 | once: 1.4.0 2730 | 2731 | err-code@2.0.3: {} 2732 | 2733 | es-module-lexer@1.5.4: {} 2734 | 2735 | esbuild@0.17.19: 2736 | optionalDependencies: 2737 | '@esbuild/android-arm': 0.17.19 2738 | '@esbuild/android-arm64': 0.17.19 2739 | '@esbuild/android-x64': 0.17.19 2740 | '@esbuild/darwin-arm64': 0.17.19 2741 | '@esbuild/darwin-x64': 0.17.19 2742 | '@esbuild/freebsd-arm64': 0.17.19 2743 | '@esbuild/freebsd-x64': 0.17.19 2744 | '@esbuild/linux-arm': 0.17.19 2745 | '@esbuild/linux-arm64': 0.17.19 2746 | '@esbuild/linux-ia32': 0.17.19 2747 | '@esbuild/linux-loong64': 0.17.19 2748 | '@esbuild/linux-mips64el': 0.17.19 2749 | '@esbuild/linux-ppc64': 0.17.19 2750 | '@esbuild/linux-riscv64': 0.17.19 2751 | '@esbuild/linux-s390x': 0.17.19 2752 | '@esbuild/linux-x64': 0.17.19 2753 | '@esbuild/netbsd-x64': 0.17.19 2754 | '@esbuild/openbsd-x64': 0.17.19 2755 | '@esbuild/sunos-x64': 0.17.19 2756 | '@esbuild/win32-arm64': 0.17.19 2757 | '@esbuild/win32-ia32': 0.17.19 2758 | '@esbuild/win32-x64': 0.17.19 2759 | 2760 | esbuild@0.21.5: 2761 | optionalDependencies: 2762 | '@esbuild/aix-ppc64': 0.21.5 2763 | '@esbuild/android-arm': 0.21.5 2764 | '@esbuild/android-arm64': 0.21.5 2765 | '@esbuild/android-x64': 0.21.5 2766 | '@esbuild/darwin-arm64': 0.21.5 2767 | '@esbuild/darwin-x64': 0.21.5 2768 | '@esbuild/freebsd-arm64': 0.21.5 2769 | '@esbuild/freebsd-x64': 0.21.5 2770 | '@esbuild/linux-arm': 0.21.5 2771 | '@esbuild/linux-arm64': 0.21.5 2772 | '@esbuild/linux-ia32': 0.21.5 2773 | '@esbuild/linux-loong64': 0.21.5 2774 | '@esbuild/linux-mips64el': 0.21.5 2775 | '@esbuild/linux-ppc64': 0.21.5 2776 | '@esbuild/linux-riscv64': 0.21.5 2777 | '@esbuild/linux-s390x': 0.21.5 2778 | '@esbuild/linux-x64': 0.21.5 2779 | '@esbuild/netbsd-x64': 0.21.5 2780 | '@esbuild/openbsd-x64': 0.21.5 2781 | '@esbuild/sunos-x64': 0.21.5 2782 | '@esbuild/win32-arm64': 0.21.5 2783 | '@esbuild/win32-ia32': 0.21.5 2784 | '@esbuild/win32-x64': 0.21.5 2785 | 2786 | escalade@3.2.0: {} 2787 | 2788 | escape-string-regexp@1.0.5: {} 2789 | 2790 | escape-string-regexp@4.0.0: {} 2791 | 2792 | estree-walker@0.6.1: {} 2793 | 2794 | exit-hook@2.2.1: {} 2795 | 2796 | fast-glob@3.3.2: 2797 | dependencies: 2798 | '@nodelib/fs.stat': 2.0.5 2799 | '@nodelib/fs.walk': 1.2.8 2800 | glob-parent: 5.1.2 2801 | merge2: 1.4.1 2802 | micromatch: 4.0.8 2803 | 2804 | fastq@1.17.1: 2805 | dependencies: 2806 | reusify: 1.0.4 2807 | 2808 | fill-range@7.1.1: 2809 | dependencies: 2810 | to-regex-range: 5.0.1 2811 | 2812 | foreground-child@3.3.0: 2813 | dependencies: 2814 | cross-spawn: 7.0.3 2815 | signal-exit: 4.1.0 2816 | 2817 | fraction.js@4.3.7: {} 2818 | 2819 | fs-extra@10.1.0: 2820 | dependencies: 2821 | graceful-fs: 4.2.11 2822 | jsonfile: 6.1.0 2823 | universalify: 2.0.1 2824 | 2825 | fsevents@2.3.3: 2826 | optional: true 2827 | 2828 | function-bind@1.1.2: {} 2829 | 2830 | gensync@1.0.0-beta.2: {} 2831 | 2832 | get-source@2.0.12: 2833 | dependencies: 2834 | data-uri-to-buffer: 2.0.2 2835 | source-map: 0.6.1 2836 | 2837 | glob-parent@5.1.2: 2838 | dependencies: 2839 | is-glob: 4.0.3 2840 | 2841 | glob-parent@6.0.2: 2842 | dependencies: 2843 | is-glob: 4.0.3 2844 | 2845 | glob-to-regexp@0.4.1: {} 2846 | 2847 | glob@10.4.5: 2848 | dependencies: 2849 | foreground-child: 3.3.0 2850 | jackspeak: 3.4.3 2851 | minimatch: 9.0.5 2852 | minipass: 7.1.2 2853 | package-json-from-dist: 1.0.1 2854 | path-scurry: 1.11.1 2855 | 2856 | globals@11.12.0: {} 2857 | 2858 | globrex@0.1.2: {} 2859 | 2860 | graceful-fs@4.2.11: {} 2861 | 2862 | gunzip-maybe@1.4.2: 2863 | dependencies: 2864 | browserify-zlib: 0.1.4 2865 | is-deflate: 1.0.0 2866 | is-gzip: 1.0.0 2867 | peek-stream: 1.1.3 2868 | pumpify: 1.5.1 2869 | through2: 2.0.5 2870 | 2871 | has-flag@3.0.0: {} 2872 | 2873 | has-flag@4.0.0: {} 2874 | 2875 | hasown@2.0.2: 2876 | dependencies: 2877 | function-bind: 1.1.2 2878 | 2879 | hosted-git-info@6.1.1: 2880 | dependencies: 2881 | lru-cache: 7.18.3 2882 | 2883 | inherits@2.0.4: {} 2884 | 2885 | is-binary-path@2.1.0: 2886 | dependencies: 2887 | binary-extensions: 2.3.0 2888 | 2889 | is-core-module@2.15.1: 2890 | dependencies: 2891 | hasown: 2.0.2 2892 | 2893 | is-deflate@1.0.0: {} 2894 | 2895 | is-extglob@2.1.1: {} 2896 | 2897 | is-fullwidth-code-point@3.0.0: {} 2898 | 2899 | is-glob@4.0.3: 2900 | dependencies: 2901 | is-extglob: 2.1.1 2902 | 2903 | is-gzip@1.0.0: {} 2904 | 2905 | is-number@7.0.0: {} 2906 | 2907 | isarray@1.0.0: {} 2908 | 2909 | isbot@5.1.17: {} 2910 | 2911 | isexe@2.0.0: {} 2912 | 2913 | jackspeak@3.4.3: 2914 | dependencies: 2915 | '@isaacs/cliui': 8.0.2 2916 | optionalDependencies: 2917 | '@pkgjs/parseargs': 0.11.0 2918 | 2919 | jiti@1.21.6: {} 2920 | 2921 | js-tokens@4.0.0: {} 2922 | 2923 | jsesc@3.0.2: {} 2924 | 2925 | json-parse-even-better-errors@3.0.2: {} 2926 | 2927 | json5@2.2.3: {} 2928 | 2929 | jsonfile@6.1.0: 2930 | dependencies: 2931 | universalify: 2.0.1 2932 | optionalDependencies: 2933 | graceful-fs: 4.2.11 2934 | 2935 | lilconfig@2.1.0: {} 2936 | 2937 | lilconfig@3.1.2: {} 2938 | 2939 | lines-and-columns@1.2.4: {} 2940 | 2941 | lodash@4.17.21: {} 2942 | 2943 | loose-envify@1.4.0: 2944 | dependencies: 2945 | js-tokens: 4.0.0 2946 | 2947 | lru-cache@10.4.3: {} 2948 | 2949 | lru-cache@5.1.1: 2950 | dependencies: 2951 | yallist: 3.1.1 2952 | 2953 | lru-cache@7.18.3: {} 2954 | 2955 | magic-string@0.25.9: 2956 | dependencies: 2957 | sourcemap-codec: 1.4.8 2958 | 2959 | merge2@1.4.1: {} 2960 | 2961 | micromatch@4.0.8: 2962 | dependencies: 2963 | braces: 3.0.3 2964 | picomatch: 2.3.1 2965 | 2966 | mime@3.0.0: {} 2967 | 2968 | miniflare@3.20241004.0: 2969 | dependencies: 2970 | '@cspotcode/source-map-support': 0.8.1 2971 | acorn: 8.13.0 2972 | acorn-walk: 8.3.4 2973 | capnp-ts: 0.7.0 2974 | exit-hook: 2.2.1 2975 | glob-to-regexp: 0.4.1 2976 | stoppable: 1.1.0 2977 | undici: 5.28.4 2978 | workerd: 1.20241004.0 2979 | ws: 8.18.0 2980 | youch: 3.3.4 2981 | zod: 3.23.8 2982 | transitivePeerDependencies: 2983 | - bufferutil 2984 | - supports-color 2985 | - utf-8-validate 2986 | 2987 | minimatch@9.0.5: 2988 | dependencies: 2989 | brace-expansion: 2.0.1 2990 | 2991 | minipass@7.1.2: {} 2992 | 2993 | ms@2.1.3: {} 2994 | 2995 | mustache@4.2.0: {} 2996 | 2997 | mz@2.7.0: 2998 | dependencies: 2999 | any-promise: 1.3.0 3000 | object-assign: 4.1.1 3001 | thenify-all: 1.6.0 3002 | 3003 | nanoid@3.3.7: {} 3004 | 3005 | node-forge@1.3.1: {} 3006 | 3007 | node-releases@2.0.18: {} 3008 | 3009 | normalize-package-data@5.0.0: 3010 | dependencies: 3011 | hosted-git-info: 6.1.1 3012 | is-core-module: 2.15.1 3013 | semver: 7.6.3 3014 | validate-npm-package-license: 3.0.4 3015 | 3016 | normalize-path@3.0.0: {} 3017 | 3018 | normalize-range@0.1.2: {} 3019 | 3020 | npm-install-checks@6.3.0: 3021 | dependencies: 3022 | semver: 7.6.3 3023 | 3024 | npm-normalize-package-bin@3.0.1: {} 3025 | 3026 | npm-package-arg@10.1.0: 3027 | dependencies: 3028 | hosted-git-info: 6.1.1 3029 | proc-log: 3.0.0 3030 | semver: 7.6.3 3031 | validate-npm-package-name: 5.0.1 3032 | 3033 | npm-pick-manifest@8.0.2: 3034 | dependencies: 3035 | npm-install-checks: 6.3.0 3036 | npm-normalize-package-bin: 3.0.1 3037 | npm-package-arg: 10.1.0 3038 | semver: 7.6.3 3039 | 3040 | object-assign@4.1.1: {} 3041 | 3042 | object-hash@3.0.0: {} 3043 | 3044 | ohash@1.1.4: {} 3045 | 3046 | once@1.4.0: 3047 | dependencies: 3048 | wrappy: 1.0.2 3049 | 3050 | package-json-from-dist@1.0.1: {} 3051 | 3052 | pako@0.2.9: {} 3053 | 3054 | path-key@3.1.1: {} 3055 | 3056 | path-parse@1.0.7: {} 3057 | 3058 | path-scurry@1.11.1: 3059 | dependencies: 3060 | lru-cache: 10.4.3 3061 | minipass: 7.1.2 3062 | 3063 | path-to-regexp@6.3.0: {} 3064 | 3065 | pathe@1.1.2: {} 3066 | 3067 | peek-stream@1.1.3: 3068 | dependencies: 3069 | buffer-from: 1.1.2 3070 | duplexify: 3.7.1 3071 | through2: 2.0.5 3072 | 3073 | picocolors@1.1.0: {} 3074 | 3075 | picomatch@2.3.1: {} 3076 | 3077 | pify@2.3.0: {} 3078 | 3079 | pirates@4.0.6: {} 3080 | 3081 | postcss-import@15.1.0(postcss@8.4.47): 3082 | dependencies: 3083 | postcss: 8.4.47 3084 | postcss-value-parser: 4.2.0 3085 | read-cache: 1.0.0 3086 | resolve: 1.22.8 3087 | 3088 | postcss-js@4.0.1(postcss@8.4.47): 3089 | dependencies: 3090 | camelcase-css: 2.0.1 3091 | postcss: 8.4.47 3092 | 3093 | postcss-load-config@4.0.2(postcss@8.4.47): 3094 | dependencies: 3095 | lilconfig: 3.1.2 3096 | yaml: 2.6.0 3097 | optionalDependencies: 3098 | postcss: 8.4.47 3099 | 3100 | postcss-nested@6.2.0(postcss@8.4.47): 3101 | dependencies: 3102 | postcss: 8.4.47 3103 | postcss-selector-parser: 6.1.2 3104 | 3105 | postcss-selector-parser@6.1.2: 3106 | dependencies: 3107 | cssesc: 3.0.0 3108 | util-deprecate: 1.0.2 3109 | 3110 | postcss-value-parser@4.2.0: {} 3111 | 3112 | postcss@8.4.47: 3113 | dependencies: 3114 | nanoid: 3.3.7 3115 | picocolors: 1.1.0 3116 | source-map-js: 1.2.1 3117 | 3118 | prettier-plugin-organize-imports@4.1.0(prettier@3.3.3)(typescript@5.6.3): 3119 | dependencies: 3120 | prettier: 3.3.3 3121 | typescript: 5.6.3 3122 | 3123 | prettier-plugin-tailwindcss@0.6.8(prettier-plugin-organize-imports@4.1.0(prettier@3.3.3)(typescript@5.6.3))(prettier@3.3.3): 3124 | dependencies: 3125 | prettier: 3.3.3 3126 | optionalDependencies: 3127 | prettier-plugin-organize-imports: 4.1.0(prettier@3.3.3)(typescript@5.6.3) 3128 | 3129 | prettier@2.8.8: {} 3130 | 3131 | prettier@3.3.3: {} 3132 | 3133 | printable-characters@1.0.42: {} 3134 | 3135 | proc-log@3.0.0: {} 3136 | 3137 | process-nextick-args@2.0.1: {} 3138 | 3139 | promise-inflight@1.0.1: {} 3140 | 3141 | promise-retry@2.0.1: 3142 | dependencies: 3143 | err-code: 2.0.3 3144 | retry: 0.12.0 3145 | 3146 | pump@2.0.1: 3147 | dependencies: 3148 | end-of-stream: 1.4.4 3149 | once: 1.4.0 3150 | 3151 | pumpify@1.5.1: 3152 | dependencies: 3153 | duplexify: 3.7.1 3154 | inherits: 2.0.4 3155 | pump: 2.0.1 3156 | 3157 | queue-microtask@1.2.3: {} 3158 | 3159 | react-dom@18.3.1(react@18.3.1): 3160 | dependencies: 3161 | loose-envify: 1.4.0 3162 | react: 18.3.1 3163 | scheduler: 0.23.2 3164 | 3165 | react-refresh@0.14.2: {} 3166 | 3167 | react-router@7.0.0-pre.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): 3168 | dependencies: 3169 | '@types/cookie': 0.6.0 3170 | '@web3-storage/multipart-parser': 1.0.0 3171 | cookie: 0.6.0 3172 | react: 18.3.1 3173 | set-cookie-parser: 2.7.0 3174 | source-map: 0.7.4 3175 | turbo-stream: 2.4.0 3176 | optionalDependencies: 3177 | react-dom: 18.3.1(react@18.3.1) 3178 | 3179 | react@18.3.1: 3180 | dependencies: 3181 | loose-envify: 1.4.0 3182 | 3183 | read-cache@1.0.0: 3184 | dependencies: 3185 | pify: 2.3.0 3186 | 3187 | readable-stream@2.3.8: 3188 | dependencies: 3189 | core-util-is: 1.0.3 3190 | inherits: 2.0.4 3191 | isarray: 1.0.0 3192 | process-nextick-args: 2.0.1 3193 | safe-buffer: 5.1.2 3194 | string_decoder: 1.1.1 3195 | util-deprecate: 1.0.2 3196 | 3197 | readdirp@3.6.0: 3198 | dependencies: 3199 | picomatch: 2.3.1 3200 | 3201 | readdirp@4.0.2: {} 3202 | 3203 | resolve.exports@2.0.2: {} 3204 | 3205 | resolve@1.22.8: 3206 | dependencies: 3207 | is-core-module: 2.15.1 3208 | path-parse: 1.0.7 3209 | supports-preserve-symlinks-flag: 1.0.0 3210 | 3211 | retry@0.12.0: {} 3212 | 3213 | reusify@1.0.4: {} 3214 | 3215 | rollup-plugin-inject@3.0.2: 3216 | dependencies: 3217 | estree-walker: 0.6.1 3218 | magic-string: 0.25.9 3219 | rollup-pluginutils: 2.8.2 3220 | 3221 | rollup-plugin-node-polyfills@0.2.1: 3222 | dependencies: 3223 | rollup-plugin-inject: 3.0.2 3224 | 3225 | rollup-pluginutils@2.8.2: 3226 | dependencies: 3227 | estree-walker: 0.6.1 3228 | 3229 | rollup@4.24.0: 3230 | dependencies: 3231 | '@types/estree': 1.0.6 3232 | optionalDependencies: 3233 | '@rollup/rollup-android-arm-eabi': 4.24.0 3234 | '@rollup/rollup-android-arm64': 4.24.0 3235 | '@rollup/rollup-darwin-arm64': 4.24.0 3236 | '@rollup/rollup-darwin-x64': 4.24.0 3237 | '@rollup/rollup-linux-arm-gnueabihf': 4.24.0 3238 | '@rollup/rollup-linux-arm-musleabihf': 4.24.0 3239 | '@rollup/rollup-linux-arm64-gnu': 4.24.0 3240 | '@rollup/rollup-linux-arm64-musl': 4.24.0 3241 | '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0 3242 | '@rollup/rollup-linux-riscv64-gnu': 4.24.0 3243 | '@rollup/rollup-linux-s390x-gnu': 4.24.0 3244 | '@rollup/rollup-linux-x64-gnu': 4.24.0 3245 | '@rollup/rollup-linux-x64-musl': 4.24.0 3246 | '@rollup/rollup-win32-arm64-msvc': 4.24.0 3247 | '@rollup/rollup-win32-ia32-msvc': 4.24.0 3248 | '@rollup/rollup-win32-x64-msvc': 4.24.0 3249 | fsevents: 2.3.3 3250 | 3251 | run-parallel@1.2.0: 3252 | dependencies: 3253 | queue-microtask: 1.2.3 3254 | 3255 | safe-buffer@5.1.2: {} 3256 | 3257 | scheduler@0.23.2: 3258 | dependencies: 3259 | loose-envify: 1.4.0 3260 | 3261 | selfsigned@2.4.1: 3262 | dependencies: 3263 | '@types/node-forge': 1.3.11 3264 | node-forge: 1.3.1 3265 | 3266 | semver@6.3.1: {} 3267 | 3268 | semver@7.6.3: {} 3269 | 3270 | set-cookie-parser@2.7.0: {} 3271 | 3272 | shebang-command@2.0.0: 3273 | dependencies: 3274 | shebang-regex: 3.0.0 3275 | 3276 | shebang-regex@3.0.0: {} 3277 | 3278 | signal-exit@4.1.0: {} 3279 | 3280 | source-map-js@1.2.1: {} 3281 | 3282 | source-map-support@0.5.21: 3283 | dependencies: 3284 | buffer-from: 1.1.2 3285 | source-map: 0.6.1 3286 | 3287 | source-map@0.6.1: {} 3288 | 3289 | source-map@0.7.4: {} 3290 | 3291 | sourcemap-codec@1.4.8: {} 3292 | 3293 | spdx-correct@3.2.0: 3294 | dependencies: 3295 | spdx-expression-parse: 3.0.1 3296 | spdx-license-ids: 3.0.20 3297 | 3298 | spdx-exceptions@2.5.0: {} 3299 | 3300 | spdx-expression-parse@3.0.1: 3301 | dependencies: 3302 | spdx-exceptions: 2.5.0 3303 | spdx-license-ids: 3.0.20 3304 | 3305 | spdx-license-ids@3.0.20: {} 3306 | 3307 | stacktracey@2.1.8: 3308 | dependencies: 3309 | as-table: 1.0.55 3310 | get-source: 2.0.12 3311 | 3312 | stoppable@1.1.0: {} 3313 | 3314 | stream-shift@1.0.3: {} 3315 | 3316 | stream-slice@0.1.2: {} 3317 | 3318 | string-width@4.2.3: 3319 | dependencies: 3320 | emoji-regex: 8.0.0 3321 | is-fullwidth-code-point: 3.0.0 3322 | strip-ansi: 6.0.1 3323 | 3324 | string-width@5.1.2: 3325 | dependencies: 3326 | eastasianwidth: 0.2.0 3327 | emoji-regex: 9.2.2 3328 | strip-ansi: 7.1.0 3329 | 3330 | string_decoder@1.1.1: 3331 | dependencies: 3332 | safe-buffer: 5.1.2 3333 | 3334 | strip-ansi@6.0.1: 3335 | dependencies: 3336 | ansi-regex: 5.0.1 3337 | 3338 | strip-ansi@7.1.0: 3339 | dependencies: 3340 | ansi-regex: 6.1.0 3341 | 3342 | sucrase@3.35.0: 3343 | dependencies: 3344 | '@jridgewell/gen-mapping': 0.3.5 3345 | commander: 4.1.1 3346 | glob: 10.4.5 3347 | lines-and-columns: 1.2.4 3348 | mz: 2.7.0 3349 | pirates: 4.0.6 3350 | ts-interface-checker: 0.1.13 3351 | 3352 | supports-color@5.5.0: 3353 | dependencies: 3354 | has-flag: 3.0.0 3355 | 3356 | supports-color@7.2.0: 3357 | dependencies: 3358 | has-flag: 4.0.0 3359 | 3360 | supports-preserve-symlinks-flag@1.0.0: {} 3361 | 3362 | tailwindcss@3.4.14: 3363 | dependencies: 3364 | '@alloc/quick-lru': 5.2.0 3365 | arg: 5.0.2 3366 | chokidar: 3.6.0 3367 | didyoumean: 1.2.2 3368 | dlv: 1.1.3 3369 | fast-glob: 3.3.2 3370 | glob-parent: 6.0.2 3371 | is-glob: 4.0.3 3372 | jiti: 1.21.6 3373 | lilconfig: 2.1.0 3374 | micromatch: 4.0.8 3375 | normalize-path: 3.0.0 3376 | object-hash: 3.0.0 3377 | picocolors: 1.1.0 3378 | postcss: 8.4.47 3379 | postcss-import: 15.1.0(postcss@8.4.47) 3380 | postcss-js: 4.0.1(postcss@8.4.47) 3381 | postcss-load-config: 4.0.2(postcss@8.4.47) 3382 | postcss-nested: 6.2.0(postcss@8.4.47) 3383 | postcss-selector-parser: 6.1.2 3384 | resolve: 1.22.8 3385 | sucrase: 3.35.0 3386 | transitivePeerDependencies: 3387 | - ts-node 3388 | 3389 | thenify-all@1.6.0: 3390 | dependencies: 3391 | thenify: 3.3.1 3392 | 3393 | thenify@3.3.1: 3394 | dependencies: 3395 | any-promise: 1.3.0 3396 | 3397 | through2@2.0.5: 3398 | dependencies: 3399 | readable-stream: 2.3.8 3400 | xtend: 4.0.2 3401 | 3402 | to-fast-properties@2.0.0: {} 3403 | 3404 | to-regex-range@5.0.1: 3405 | dependencies: 3406 | is-number: 7.0.0 3407 | 3408 | ts-interface-checker@0.1.13: {} 3409 | 3410 | tsconfck@3.1.4(typescript@5.6.3): 3411 | optionalDependencies: 3412 | typescript: 5.6.3 3413 | 3414 | tslib@2.8.0: {} 3415 | 3416 | turbo-stream@2.4.0: {} 3417 | 3418 | typescript@5.6.3: {} 3419 | 3420 | ufo@1.5.4: {} 3421 | 3422 | undici-types@6.19.8: {} 3423 | 3424 | undici@5.28.4: 3425 | dependencies: 3426 | '@fastify/busboy': 2.1.1 3427 | 3428 | undici@6.20.1: {} 3429 | 3430 | unenv-nightly@2.0.0-20241009-125958-e8ea22f: 3431 | dependencies: 3432 | defu: 6.1.4 3433 | ohash: 1.1.4 3434 | pathe: 1.1.2 3435 | ufo: 1.5.4 3436 | 3437 | universalify@2.0.1: {} 3438 | 3439 | update-browserslist-db@1.1.1(browserslist@4.24.0): 3440 | dependencies: 3441 | browserslist: 4.24.0 3442 | escalade: 3.2.0 3443 | picocolors: 1.1.0 3444 | 3445 | util-deprecate@1.0.2: {} 3446 | 3447 | valibot@0.41.0(typescript@5.6.3): 3448 | optionalDependencies: 3449 | typescript: 5.6.3 3450 | 3451 | validate-npm-package-license@3.0.4: 3452 | dependencies: 3453 | spdx-correct: 3.2.0 3454 | spdx-expression-parse: 3.0.1 3455 | 3456 | validate-npm-package-name@5.0.1: {} 3457 | 3458 | vite-node@1.6.0(@types/node@22.7.5): 3459 | dependencies: 3460 | cac: 6.7.14 3461 | debug: 4.3.7 3462 | pathe: 1.1.2 3463 | picocolors: 1.1.0 3464 | vite: 5.4.9(@types/node@22.7.5) 3465 | transitivePeerDependencies: 3466 | - '@types/node' 3467 | - less 3468 | - lightningcss 3469 | - sass 3470 | - sass-embedded 3471 | - stylus 3472 | - sugarss 3473 | - supports-color 3474 | - terser 3475 | 3476 | vite-tsconfig-paths@5.0.1(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.5)): 3477 | dependencies: 3478 | debug: 4.3.7 3479 | globrex: 0.1.2 3480 | tsconfck: 3.1.4(typescript@5.6.3) 3481 | optionalDependencies: 3482 | vite: 5.4.9(@types/node@22.7.5) 3483 | transitivePeerDependencies: 3484 | - supports-color 3485 | - typescript 3486 | 3487 | vite@5.4.9(@types/node@22.7.5): 3488 | dependencies: 3489 | esbuild: 0.21.5 3490 | postcss: 8.4.47 3491 | rollup: 4.24.0 3492 | optionalDependencies: 3493 | '@types/node': 22.7.5 3494 | fsevents: 2.3.3 3495 | 3496 | which@2.0.2: 3497 | dependencies: 3498 | isexe: 2.0.0 3499 | 3500 | which@3.0.1: 3501 | dependencies: 3502 | isexe: 2.0.0 3503 | 3504 | workerd@1.20241004.0: 3505 | optionalDependencies: 3506 | '@cloudflare/workerd-darwin-64': 1.20241004.0 3507 | '@cloudflare/workerd-darwin-arm64': 1.20241004.0 3508 | '@cloudflare/workerd-linux-64': 1.20241004.0 3509 | '@cloudflare/workerd-linux-arm64': 1.20241004.0 3510 | '@cloudflare/workerd-windows-64': 1.20241004.0 3511 | 3512 | wrangler@3.80.4(@cloudflare/workers-types@4.20241011.0): 3513 | dependencies: 3514 | '@cloudflare/kv-asset-handler': 0.3.4 3515 | '@cloudflare/workers-shared': 0.6.0 3516 | '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) 3517 | '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) 3518 | blake3-wasm: 2.1.5 3519 | chokidar: 3.6.0 3520 | esbuild: 0.17.19 3521 | miniflare: 3.20241004.0 3522 | nanoid: 3.3.7 3523 | path-to-regexp: 6.3.0 3524 | resolve: 1.22.8 3525 | resolve.exports: 2.0.2 3526 | selfsigned: 2.4.1 3527 | source-map: 0.6.1 3528 | unenv: unenv-nightly@2.0.0-20241009-125958-e8ea22f 3529 | workerd: 1.20241004.0 3530 | xxhash-wasm: 1.0.2 3531 | optionalDependencies: 3532 | '@cloudflare/workers-types': 4.20241011.0 3533 | fsevents: 2.3.3 3534 | transitivePeerDependencies: 3535 | - bufferutil 3536 | - supports-color 3537 | - utf-8-validate 3538 | 3539 | wrap-ansi@7.0.0: 3540 | dependencies: 3541 | ansi-styles: 4.3.0 3542 | string-width: 4.2.3 3543 | strip-ansi: 6.0.1 3544 | 3545 | wrap-ansi@8.1.0: 3546 | dependencies: 3547 | ansi-styles: 6.2.1 3548 | string-width: 5.1.2 3549 | strip-ansi: 7.1.0 3550 | 3551 | wrappy@1.0.2: {} 3552 | 3553 | ws@8.18.0: {} 3554 | 3555 | xtend@4.0.2: {} 3556 | 3557 | xxhash-wasm@1.0.2: {} 3558 | 3559 | yallist@3.1.1: {} 3560 | 3561 | yaml@2.6.0: {} 3562 | 3563 | youch@3.3.4: 3564 | dependencies: 3565 | cookie: 0.7.2 3566 | mustache: 4.2.0 3567 | stacktracey: 2.1.8 3568 | 3569 | zod@3.23.8: {} 3570 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | semi: false, 3 | singleQuote: true, 4 | trailingComma: 'all', 5 | printWidth: 80, 6 | plugins: ['prettier-plugin-organize-imports', 'prettier-plugin-tailwindcss'], 7 | } 8 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coji/react-router-cf-workers/18f7d08fb311ae066a77e672472050efba8ce3c2/public/favicon.ico -------------------------------------------------------------------------------- /public/logo-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /public/logo-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /server.ts: -------------------------------------------------------------------------------- 1 | import { createRequestHandler, type ServerBuild } from 'react-router' 2 | import * as build from './build/server' 3 | import { getLoadContext } from './load-context' 4 | 5 | const requestHandler = createRequestHandler(build as unknown as ServerBuild) 6 | 7 | export default { 8 | async fetch(request, env, ctx) { 9 | try { 10 | const loadContext = getLoadContext({ 11 | request, 12 | context: { 13 | cloudflare: { 14 | // This object matches the return value from Wrangler's 15 | // `getPlatformProxy` used during development via Remix's 16 | // `cloudflareDevProxyVitePlugin`: 17 | // https://developers.cloudflare.com/workers/wrangler/api/#getplatformproxy 18 | // @ts-ignore 19 | cf: request.cf, 20 | ctx: { 21 | waitUntil: ctx.waitUntil.bind(ctx), 22 | passThroughOnException: ctx.passThroughOnException.bind(ctx), 23 | }, 24 | caches, 25 | env, 26 | }, 27 | }, 28 | }) 29 | return await requestHandler(request, loadContext) 30 | } catch (error) { 31 | console.log(error) 32 | return new Response('An unexpected error occurred', { status: 500 }) 33 | } 34 | }, 35 | } satisfies ExportedHandler 36 | -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from 'tailwindcss' 2 | 3 | export default { 4 | content: ['./app/**/{**,.client,.server}/**/*.{js,jsx,ts,tsx}'], 5 | theme: { 6 | extend: { 7 | fontFamily: { 8 | sans: [ 9 | '"Inter"', 10 | 'ui-sans-serif', 11 | 'system-ui', 12 | 'sans-serif', 13 | '"Apple Color Emoji"', 14 | '"Segoe UI Emoji"', 15 | '"Segoe UI Symbol"', 16 | '"Noto Color Emoji"', 17 | ], 18 | }, 19 | }, 20 | }, 21 | plugins: [], 22 | } satisfies Config 23 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": [ 3 | "worker-configuration.d.ts", 4 | "env.d.ts", 5 | "**/*.ts", 6 | "**/*.tsx", 7 | "**/.server/**/*.ts", 8 | "**/.server/**/*.tsx", 9 | "**/.client/**/*.ts", 10 | "**/.client/**/*.tsx" 11 | ], 12 | "compilerOptions": { 13 | "lib": ["DOM", "DOM.Iterable", "ES2022"], 14 | "types": [ 15 | "@react-router/cloudflare", 16 | "@cloudflare/workers-types", 17 | "vite/client" 18 | ], 19 | "isolatedModules": true, 20 | "esModuleInterop": true, 21 | "jsx": "react-jsx", 22 | "moduleResolution": "Bundler", 23 | "resolveJsonModule": true, 24 | "target": "ES2022", 25 | "strict": true, 26 | "allowJs": true, 27 | "skipLibCheck": true, 28 | "forceConsistentCasingInFileNames": true, 29 | "baseUrl": ".", 30 | "paths": { 31 | "~/*": ["./app/*"] 32 | }, 33 | 34 | // Remix takes care of building everything in `remix build`. 35 | "noEmit": true 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { reactRouter } from '@react-router/dev/vite' 2 | import { cloudflareDevProxy } from '@react-router/dev/vite/cloudflare' 3 | import { defineConfig } from 'vite' 4 | import tsconfigPaths from 'vite-tsconfig-paths' 5 | import { getLoadContext } from './load-context' 6 | 7 | export default defineConfig({ 8 | plugins: [ 9 | cloudflareDevProxy({ getLoadContext }), 10 | reactRouter(), 11 | tsconfigPaths(), 12 | ], 13 | ssr: { 14 | resolve: { 15 | conditions: ['workerd', 'worker', 'browser'], 16 | }, 17 | }, 18 | resolve: { 19 | mainFields: ['browser', 'module', 'main'], 20 | }, 21 | build: { 22 | minify: true, 23 | }, 24 | }) 25 | -------------------------------------------------------------------------------- /worker-configuration.d.ts: -------------------------------------------------------------------------------- 1 | // Generated by Wrangler by running `wrangler types` 2 | 3 | // biome-ignore lint/complexity/noBannedTypes: 4 | type Env = {} 5 | -------------------------------------------------------------------------------- /wrangler.toml: -------------------------------------------------------------------------------- 1 | #:schema node_modules/wrangler/config-schema.json 2 | name = "remix-cloudflare-workers-template" 3 | 4 | main = "./server.ts" 5 | workers_dev = true 6 | # https://developers.cloudflare.com/workers/platform/compatibility-dates 7 | compatibility_date = "2024-09-26" 8 | 9 | [assets] 10 | # https://developers.cloudflare.com/workers/static-assets/binding/ 11 | directory = "./build/client" 12 | 13 | [build] 14 | command = "pnpm run build" 15 | --------------------------------------------------------------------------------