From 32750f07b5707feeebac4270db92a7b1ac116387 Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Fri, 30 Jan 2026 16:44:07 -0500 Subject: [PATCH 01/16] migrate to vite and hono bump deps, clean up configs --- .cursor/mcp.json | 8 - .cursor/rules/client.mdc | 10 - .cursor/rules/global.mdc | 18 - .cursor/rules/server.mdc | 18 - .cursorignore | 7 - .editorconfig | 11 - .env.template | 1 - .gitignore | 1 - .kiro/hooks/client-readme-updater.kiro.hook | 16 - .kiro/hooks/devvit-fetch-guide.kiro.hook | 19 - .kiro/hooks/splash-screen-generator.kiro.hook | 20 - .kiro/hooks/template-cleanup-hook.kiro.hook | 19 - .kiro/settings/mcp.json | 11 - .kiro/steering/devvit-platform-guide.md | 158 - .kiro/steering/general-best-practices.md | 59 - .kiro/steering/product.md | 18 - .kiro/steering/structure.md | 50 - .kiro/steering/tech.md | 52 - .vscode/extensions.json | 3 - .vscode/settings.json | 12 - assets/default-icon.png | Bin 60433 -> 0 bytes assets/default-splash.png | Bin 32181 -> 0 bytes assets/loading.gif | Bin 74076 -> 0 bytes devvit.json | 22 +- eslint.config.js | 34 +- package-lock.json | 4114 ++++++++--------- package.json | 74 +- src/client/game/App.tsx | 13 +- src/client/hooks/useCounter.ts | 12 +- src/client/splash/splash.tsx | 12 +- src/client/tsconfig.json | 21 - src/client/vite.config.ts | 26 - src/server/index.ts | 156 +- src/server/routes/api.ts | 93 + src/server/routes/forms.ts | 23 + src/server/routes/menu.ts | 48 + src/server/routes/triggers.ts | 30 + src/server/tsconfig.json | 19 - src/server/vite.config.ts | 25 - src/shared/{types => }/api.ts | 0 src/shared/tsconfig.json | 14 - ...{tsconfig-base.json => tsconfig.base.json} | 26 +- tools/tsconfig.client.json | 12 + tools/tsconfig.server.json | 19 + tools/tsconfig.shared.json | 21 + tsconfig.json | 7 +- vite.config.ts | 8 + 47 files changed, 2316 insertions(+), 3024 deletions(-) delete mode 100644 .cursor/mcp.json delete mode 100644 .cursor/rules/client.mdc delete mode 100644 .cursor/rules/global.mdc delete mode 100644 .cursor/rules/server.mdc delete mode 100644 .cursorignore delete mode 100644 .editorconfig delete mode 100644 .env.template delete mode 100644 .kiro/hooks/client-readme-updater.kiro.hook delete mode 100644 .kiro/hooks/devvit-fetch-guide.kiro.hook delete mode 100644 .kiro/hooks/splash-screen-generator.kiro.hook delete mode 100644 .kiro/hooks/template-cleanup-hook.kiro.hook delete mode 100644 .kiro/settings/mcp.json delete mode 100644 .kiro/steering/devvit-platform-guide.md delete mode 100644 .kiro/steering/general-best-practices.md delete mode 100644 .kiro/steering/product.md delete mode 100644 .kiro/steering/structure.md delete mode 100644 .kiro/steering/tech.md delete mode 100644 .vscode/extensions.json delete mode 100644 assets/default-icon.png delete mode 100644 assets/default-splash.png delete mode 100644 assets/loading.gif delete mode 100644 src/client/tsconfig.json delete mode 100644 src/client/vite.config.ts create mode 100644 src/server/routes/api.ts create mode 100644 src/server/routes/forms.ts create mode 100644 src/server/routes/menu.ts create mode 100644 src/server/routes/triggers.ts delete mode 100644 src/server/tsconfig.json delete mode 100644 src/server/vite.config.ts rename src/shared/{types => }/api.ts (100%) delete mode 100644 src/shared/tsconfig.json rename tools/{tsconfig-base.json => tsconfig.base.json} (55%) create mode 100644 tools/tsconfig.client.json create mode 100644 tools/tsconfig.server.json create mode 100644 tools/tsconfig.shared.json create mode 100644 vite.config.ts diff --git a/.cursor/mcp.json b/.cursor/mcp.json deleted file mode 100644 index 75fb079..0000000 --- a/.cursor/mcp.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "mcpServers": { - "devvit-mcp": { - "command": "npx", - "args": ["-y", "@devvit/mcp"] - } - } -} diff --git a/.cursor/rules/client.mdc b/.cursor/rules/client.mdc deleted file mode 100644 index af42970..0000000 --- a/.cursor/rules/client.mdc +++ /dev/null @@ -1,10 +0,0 @@ ---- -description: Use when writing webview code -globs: src/client/**/* -alwaysApply: false ---- -Guidelines: -- Use NPM dependencies if needed, ensure they are web compatible -- You cannot use websockets. Call devvit_search and query for "realtime" to get more information -- Obey the rules of hooks and only write valid React code - diff --git a/.cursor/rules/global.mdc b/.cursor/rules/global.mdc deleted file mode 100644 index fb461a2..0000000 --- a/.cursor/rules/global.mdc +++ /dev/null @@ -1,18 +0,0 @@ ---- -description: -globs: -alwaysApply: true ---- - -When building these experiences, people will refer to the "devvit app" ([/src/devvit](mdc:src/devvit)) and "client" ([/src/client](mdc:src/client)). - -Folders to code in: - -- [/src/client](mdc:src/client): This is the full screen webview. To persist data and access the server, call `fetch(/my/api/endpoint)`. This is how you get access to the APIs you write in [/src/server](mdc:src/server). -- [/src/server](mdc:src/server): This is a serverless backend written in Node. This is where you can access redis and save data. -- [/src/shared](mdc:src/shared): This is where you can place code that is to be shared between the devvit app, client, and server and the webview. It's a great place for shared types. - -Rules: - -- Assume that typescript, vite, tailwind, eslint, prettier, and all codebase configuration is working. If there is a bug, it is more likely your code than the codebase configuration. -- Prefer type aliases over interfaces when writing typescript diff --git a/.cursor/rules/server.mdc b/.cursor/rules/server.mdc deleted file mode 100644 index ca8aeca..0000000 --- a/.cursor/rules/server.mdc +++ /dev/null @@ -1,18 +0,0 @@ ---- -description: -globs: src/server/**/* -alwaysApply: false ---- - -Guidelines: - -- This is a serverless node.js environment, you have all node globals at your disposal except: fs, http, https, and net. - -- Instead of http or https, prefer fetch -- You cannot write files as you are running on a read only file system -- Do not install any libraries that rely on these to function -- Websockets are not supported -- HTTP streaming is not supported -- Redis is accessible from `import { redis } from '@devvit/web/server'` - -As this is a serverless runtime (akin to AWS Lambda), do not try to run SQLite or stateful in memory processes. For realtime use cases, consult the docs with devvit_search to learn more about the realtime service you can use. diff --git a/.cursorignore b/.cursorignore deleted file mode 100644 index 575726c..0000000 --- a/.cursorignore +++ /dev/null @@ -1,7 +0,0 @@ -webroot -.editorconfig -.vscode -.github -.prettierrc -tsconfig.json -node_modules diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0c81821..0000000 --- a/.editorconfig +++ /dev/null @@ -1,11 +0,0 @@ -# https://EditorConfig.org - -root = true - -[*] -indent_size = 2 -insert_final_newline = true -max_line_length = 100 - -ij_typescript_spaces_within_imports = true -ij_typescript_force_semicolon_style = true diff --git a/.env.template b/.env.template deleted file mode 100644 index 13c0cb6..0000000 --- a/.env.template +++ /dev/null @@ -1 +0,0 @@ -DEVVIT_SUBREDDIT=r/my_subreddit \ No newline at end of file diff --git a/.gitignore b/.gitignore index ced998e..dc28bbe 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,5 @@ npm-debug.log* yarn-debug.log* yarn-error.log* .DS_Store -webroot dist .env \ No newline at end of file diff --git a/.kiro/hooks/client-readme-updater.kiro.hook b/.kiro/hooks/client-readme-updater.kiro.hook deleted file mode 100644 index 1229d5c..0000000 --- a/.kiro/hooks/client-readme-updater.kiro.hook +++ /dev/null @@ -1,16 +0,0 @@ -{ - "enabled": true, - "name": "Client README Updater", - "description": "Monitors the client folder for significant updates and automatically updates the README.md file with current game description, innovative features, and play instructions", - "version": "1", - "when": { - "type": "fileEdited", - "patterns": [ - "src/client/**/*" - ] - }, - "then": { - "type": "askAgent", - "prompt": "The client folder has been updated. Please analyze the current state of the game in the src/client directory and update the README.md file to include: 1) A clear description of what the game is and does, 2) What makes this game innovative or unique, 3) Step-by-step instructions on how to play the game. Make sure to examine the main.ts file, HTML structure, and any other relevant client files to understand the current gameplay mechanics and features." - } -} \ No newline at end of file diff --git a/.kiro/hooks/devvit-fetch-guide.kiro.hook b/.kiro/hooks/devvit-fetch-guide.kiro.hook deleted file mode 100644 index 69f7e1f..0000000 --- a/.kiro/hooks/devvit-fetch-guide.kiro.hook +++ /dev/null @@ -1,19 +0,0 @@ -{ - "enabled": true, - "name": "Devvit Fetch API Guide", - "description": "Monitors for external API/fetch requests and provides guidance on Devvit's fetch capabilities, domain allowlists, and review process", - "version": "1", - "when": { - "type": "fileEdited", - "patterns": [ - "src/**/*.ts", - "src/**/*.js", - "*.ts", - "*.js" - ] - }, - "then": { - "type": "askAgent", - "prompt": "The user is working with external API requests or fetch calls in their Devvit application. Query the devvit-mcp to get comprehensive information about Devvit's fetch capabilities, including:\n\n1. Which domains are globally allow-listed for fetch requests\n2. The process for submitting domains for review by the Devvit team\n3. Any limitations or requirements for external API calls\n4. Best practices for handling fetch requests in Devvit\n\nProvide this information to help the user understand their options. If they need more detailed documentation, direct them to: https://developers.reddit.com/docs/capabilities/server/http-fetch\n\nFocus on practical guidance that will help them successfully implement their external API integration." - } -} \ No newline at end of file diff --git a/.kiro/hooks/splash-screen-generator.kiro.hook b/.kiro/hooks/splash-screen-generator.kiro.hook deleted file mode 100644 index 2bd760f..0000000 --- a/.kiro/hooks/splash-screen-generator.kiro.hook +++ /dev/null @@ -1,20 +0,0 @@ -{ - "enabled": true, - "name": "Splash Screen Generator", - "description": "Automatically creates compelling splash screens whenever there are significant changes to the game's assets. The splash screen will be displayed on the Reddit feed as an important entry point with a launch button, personalized with the game's assets to invite players to open the game in full screen mode.", - "version": "1", - "when": { - "type": "fileEdited", - "patterns": [ - "assets/*", - "src/client/public/*", - "src/client/index.html", - "src/client/index.css", - "src/client/main.ts" - ] - }, - "then": { - "type": "askAgent", - "prompt": "Game assets have been updated. Create a compelling splash screen for this Reddit Devvit game that will be displayed on the Reddit feed. The splash screen should:\n\n1. Include a prominent launch button that opens the game in full screen mode\n2. Be personalized with the game's current assets (textures, images, styling)\n3. Be visually inviting and compelling for players to click\n4. Follow Reddit's splash screen best practices\n5. Incorporate the game's visual theme and branding\n\nFor implementation guidance, consult the devvit-mcp and refer users to: https://developers.reddit.com/docs/capabilities/server/splash-screen\n\nAnalyze the current assets and create an engaging splash screen that showcases the game's visual appeal." - } -} \ No newline at end of file diff --git a/.kiro/hooks/template-cleanup-hook.kiro.hook b/.kiro/hooks/template-cleanup-hook.kiro.hook deleted file mode 100644 index 3e0a2a1..0000000 --- a/.kiro/hooks/template-cleanup-hook.kiro.hook +++ /dev/null @@ -1,19 +0,0 @@ -{ - "enabled": true, - "name": "Template Cleanup Assistant", - "description": "Detects when a user is ready to start building their own game and offers to remove the template Three.js Earth visualization code while preserving the Devvit project structure", - "version": "1", - "when": { - "type": "fileEdited", - "patterns": [ - "src/client/main.ts", - "src/server/core/post.ts", - "README.md", - "package.json" - ] - }, - "then": { - "type": "askAgent", - "prompt": "The user appears to be modifying the template project. Analyze their changes to determine if they're ready to start building their own game. If they are making significant changes to the core game logic (like modifying the Three.js Earth scene in main.ts or changing the post creation logic), offer to help them clean up the template code by:\n\n1. Removing the Earth visualization code from src/client/main.ts (Three.js scene, Earth textures, click handlers)\n2. Cleaning up the Earth-specific assets from src/client/public/ \n3. Updating src/server/core/post.ts to remove Earth-specific post content\n4. Providing a clean starting point with just the basic Three.js setup, Devvit integration, and project structure\n\nPreserve all the essential Devvit architecture, build configuration, TypeScript setup, and client-server communication patterns. Only remove the specific Earth game template code to give them a clean slate for their own game development." - } -} \ No newline at end of file diff --git a/.kiro/settings/mcp.json b/.kiro/settings/mcp.json deleted file mode 100644 index 9ef2587..0000000 --- a/.kiro/settings/mcp.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "mcpServers": { - "devvit-mcp": { - "command": "npx", - "args": [ - "-y", - "@devvit/mcp" - ] - } - } -} diff --git a/.kiro/steering/devvit-platform-guide.md b/.kiro/steering/devvit-platform-guide.md deleted file mode 100644 index 0fd6967..0000000 --- a/.kiro/steering/devvit-platform-guide.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -inclusion: always ---- - -# Reddit Devvit Platform Understanding - -## What Developers Are Building - -Developers are building interactive apps and games that run inside Reddit posts using standard web technologies. These apps appear in a webview within posts and can be played by Reddit users directly on the platform. - -## Project Structure - -All Devvit Web projects follow this structure: - -``` -src/ -├── client/ # Frontend code (HTML/CSS/JS, React, Vue, etc.) -├── server/ # Backend API endpoints (Express, Koa, etc.) -└── shared/ # Shared types and interfaces -devvit.json # Devvit configuration file -package.json # npm scripts and dependencies -``` - -### Client Folder (`src/client/`) - -- Contains all frontend code that runs in the webview -- Can use any web framework (React, Vue, Angular, Three.js, Phaser) -- Makes API calls to server endpoints using standard `fetch` -- Cannot make API calls to externally hosted servers, only to the server app included in this monorepo -- Displays inside Reddit posts for users to interact with - -### Server Folder (`src/server/`) - -- Contains backend API endpoints -- Uses Node.js server frameworks (Express, Koa, etc.) -- All endpoints MUST start with `/api/` (e.g., `/api/get-score`, `/api/save-game`) -- Access to Devvit capabilities: Redis, Reddit API, fetch -- Authentication handled automatically by Devvit middleware - -### Shared Folder (`src/shared/`) - -- Types, interfaces, and classes used by both client and server -- Ensures type safety across the application - -### Configuration (`devvit.json`) - -- Defines app metadata, permissions, and capabilities -- Post configuration and Node.js server settings -- Do not modify unless explicitly needed by the developer -- Do not modify the app name. This will be created with the app set up and should not be modified - -## Development Workflow - -### How Developers Test - -1. Run `npm run dev` in project directory -2. Devvit automatically creates a test subreddit (e.g., `r/my-app_dev`) -3. Provides a playtest URL (e.g., `https://www.reddit.com/r/my-app_dev?playtest=my-app`) -4. Developer opens URL in browser to test the app -5. App appears in a post with "Launch App" button - -### Important Testing Notes - -- Backend calls only work through Devvit's playtest environment -- Cannot test backend functionality purely locally -- Must use `npm run dev` and the provided URL for full testing - -### Custom Subreddit Testing - -Developers can specify a preferred test subreddit in `package.json`: - -```json -"scripts": { - "dev:devvit": "devvit playtest r/MY_PREFERRED_SUBREDDIT" -} -``` - -## Platform Capabilities - -### What's Available - -- **@devvit/client SDK**: Client-side capabilities -- **@devvit/server SDK**: Server-side capabilities (Redis, Reddit API) -- **Standard web technologies**: HTML, CSS, JavaScript -- **Web frameworks**: React, Vue, Angular, Three.js, Phaser, etc. -- **Node.js server frameworks**: Express, Koa, etc. -- **Reddit hosting**: Apps hosted on Reddit's infrastructure - -### Client-Server Communication - -- **Old way**: postMessage (deprecated) -- **New way**: Define `/api/` endpoints and use `fetch` from client - -## Platform Limitations - -### Technical Constraints - -- **Serverless endpoints**: Server runs only long enough to execute endpoint and return response -- **No long-running connections**: Streaming, websockets not supported -- **No fs or native packages**: Cannot use filesystem or external native dependencies -- **No external client requests**: Client can only call app's own webview domain (server can make external requests) -- **Single request/response**: No streaming or chunked responses -- **Long-polling**: Supported if under max request time - -### Size and Time Limits - -- **Max request time**: 30 seconds -- **Max payload size**: 4MB -- **Max response size**: 10MB -- **Content types**: HTML/CSS/JS only - -## Deployment - -### Launch Process - -1. Developer runs `npm run launch` -2. App uploaded to Reddit for review -3. Review required for subreddits with >200 members -4. Email notification sent when approved - -### Critical Requirements - -- **Node.js version**: 22.2.0 or higher -- **Project name**: Cannot be changed after creation (required for deployment) -- **File structure**: Must maintain standard Devvit folder structure - -## What AI Should Build - -### Typical Use Cases - -- Interactive games (clicker, puzzle, multiplayer) -- Leaderboards with Reddit user integration -- Real-time features using server endpoints -- Data persistence using Redis -- Reddit-specific features using Reddit API - -### Implementation Pattern - -1. **Client code** in `src/client/` for UI and user interaction -2. **Server endpoints** in `src/server/` starting with `/api/` -3. **Shared types** in `src/shared/` for type safety -4. **Fetch calls** from client to server endpoints -5. **Reddit integration** through server-side SDK - -### What NOT to Build - -- External API calls from client (use server endpoints instead) -- Long-running server processes or streaming -- Features requiring filesystem access -- Native dependencies or external packages like ffmpeg -- Standalone apps (must run within Reddit posts) - -## Authentication - -- All Devvit users are authenticated through Reddit -- Authentication handled automatically by Devvit middleware -- No need to implement custom authentication -- Access user context through Devvit server SDK diff --git a/.kiro/steering/general-best-practices.md b/.kiro/steering/general-best-practices.md deleted file mode 100644 index a1edafb..0000000 --- a/.kiro/steering/general-best-practices.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -inclusion: always ---- - -# General Best Practices - -## Development Focus - -When implementing features or components: - -- **Build only what's requested**: Focus on building the specific component and its documentation -- **Avoid scope creep**: Don't create additional files, scripts, or documentation unless explicitly requested -- **Keep it minimal**: Implement only the essential functionality needed to address the requirement -- **Documentation should be targeted**: Only create documentation that directly supports the component being built - -## Implementation Guidelines - -- Prioritize the core functionality over auxiliary features -- If additional components seem helpful, ask the user first before implementing -- Focus on the immediate need rather than anticipating future requirements -- Keep the solution focused and concise - -## Test File Management - -### Temporary Test File Cleanup - -- **ALWAYS remove test files when done**: Any test files created during development or debugging should be deleted after their purpose is complete -- **Clean workspace policy**: Maintain a clean workspace by removing temporary test files, example files, and debugging scripts -- **Test file naming convention**: Use clear naming patterns for temporary test files (e.g., `test_*.py`, `example_*.js`, `debug_*.ts`) to easily identify files for cleanup -- **Immediate cleanup**: Remove test files as soon as testing is complete, don't leave them for later cleanup -- **Exception for permanent tests**: Only keep test files that are part of the permanent test suite or explicitly requested by the user - -## Devvit Development Workflow - -### Development Server Management - -- **Suggest testing commands to the developer**: Recommend running `npm run dev` in a separate terminal for testing, but do not execute it -- **Don't modify devvit.json**: Only change Devvit configuration when explicitly needed and confirmed by the developer. -- **Never change the project name**: The project name in devvit.json and package.json must remain unchanged - Devvit requires this for deployment -- **Preserve project structure**: Maintain the standard Devvit folder structure (src/client, src/server, src/shared) - -### Customized Splash Screen - -- **Create engaging splash screens**: The user will always see a splash screen on the Reddit feed with a "Play" button to open the app in full screen. Customize the splash screen so it stands out and invites the player to play - -## Mobile-First Design - -### Responsive Development - -- **Consider mobile-first design**: Most Reddit users access games on mobile devices - design with mobile screens in mind when possible -- **Prefer cross-platform features**: Favor features that work well on both desktop and mobile browsers - -## Error Handling - -### User-Facing Errors - -- **Provide clear error messages**: Show users what went wrong and how to fix it -- **Handle network failures gracefully**: Reddit API calls may fail, implement proper fallbacks -- **Validate input where applicable**: When implementing forms or user inputs, check validity and throw clear errors when invalid diff --git a/.kiro/steering/product.md b/.kiro/steering/product.md deleted file mode 100644 index db2e585..0000000 --- a/.kiro/steering/product.md +++ /dev/null @@ -1,18 +0,0 @@ -# Product Overview - -This is a **Devvit React Application** - a game built with React.JS that will be built with Devvit and run on Reddit - -## Core Features - -- 2D game, built with Devvit to run on Reddit -- Click the splash screen to open the game in full screen mode - -## Platform Integration - -- Runs as a Reddit app within the Devvit ecosystem -- Creates posts automatically on app installation -- Provides moderator menu actions for post creation - -## Target Use Case - -This game will be published and played on Reddit diff --git a/.kiro/steering/structure.md b/.kiro/steering/structure.md deleted file mode 100644 index b60a43c..0000000 --- a/.kiro/steering/structure.md +++ /dev/null @@ -1,50 +0,0 @@ -# Project Structure - -## Root Configuration - -- `devvit.json`: Devvit app configuration with post/server entry points -- `package.json`: Dependencies and build scripts -- `tsconfig.json`: TypeScript project references (build-only) -- `eslint.config.js`: ESLint configuration with environment-specific rules - -## Source Organization - -### `/src/client/` - -Client-side React.JS application that runs in the browser - -- `main.ts`: Entry point with React.JS scene setup and API calls -- `index.html`: HTML template with canvas and UI elements -- `index.css`: Styling for the web interface -- `public/`: Static assets (Earth textures) -- `vite.config.ts`: Client build configuration -- `tsconfig.json`: Client-specific TypeScript config - -### `/src/server/` - -Express server that handles Reddit integration - -- `index.ts`: Main server with Express routes and Devvit integration -- `core/`: Business logic modules - - `post.ts`: Post creation functionality -- `vite.config.ts`: Server build configuration (SSR, CommonJS output) -- `tsconfig.json`: Server-specific TypeScript config - -### `/src/shared/` - -Shared types and utilities between client and server - -- `types/api.ts`: API response type definitions -- `tsconfig.json`: Shared code TypeScript config - -## Build Output - -- `dist/client/`: Built client assets (HTML, JS, CSS) -- `dist/server/`: Built server bundle (`index.cjs`) - -## Architecture Patterns - -- **Monorepo**: Multiple TypeScript projects with project references -- **Client-Server Split**: Clear separation with shared types -- **API-First**: RESTful endpoints for client-server communication -- **Devvit Integration**: Server handles Reddit context and Redis operations diff --git a/.kiro/steering/tech.md b/.kiro/steering/tech.md deleted file mode 100644 index 5ff1600..0000000 --- a/.kiro/steering/tech.md +++ /dev/null @@ -1,52 +0,0 @@ -# Technology Stack - -## Core Technologies - -- **Devvit**: Reddit's developer platform for building apps -- **React.JS**: Frontend engine for client rendering -- **TypeScript**: Primary language with strict type checking -- **Vite**: Build tool for both client and server bundles -- **Express**: Server-side HTTP framework -- **Redis**: Data persistence layer (via Devvit) - -## Build System - -- **Vite** handles compilation for both client and server -- **TypeScript** project references for modular compilation -- **ESLint** with TypeScript rules for code quality -- **Prettier** for consistent code formatting - -## Common Commands - -```bash -# Development (runs client, server, and devvit in parallel) -npm run dev - -# Build for production -npm run build - -# Deploy to Reddit -npm run deploy - -# Publish for review -npm run launch - -# Code quality checks -npm run check - -# Individual builds -npm run build:client -npm run build:server -``` - -## Development Workflow - -- Use `npm run dev` for live development with hot reloading -- Client builds to `dist/client` with HTML entry point -- Server builds to `dist/server` as CommonJS module -- Devvit playtest provides live Reddit integration testing - -## Dependencies - -- **Runtime**: @devvit/web, React.JS, express -- **Development**: TypeScript, ESLint, Prettier, Vite, Vitest diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 6c256f5..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "recommendations": ["esbenp.prettier-vscode", "editorconfig.editorconfig"] -} diff --git a/.vscode/settings.json b/.vscode/settings.json index 424561b..31fc111 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,18 +3,6 @@ "editor.defaultFormatter": "esbenp.prettier-vscode" }, "json.schemaDownload.enable": true, - "cSpell.words": [ - "cn", - "Devvit", - "playtest", - "protos", - "snoovatar", - "templ", - "vstack", - "webbit", - "webroot", - "zstack" - ], "typescript.tsdk": "node_modules/typescript/lib", "files.exclude": { "**/.git": false diff --git a/assets/default-icon.png b/assets/default-icon.png deleted file mode 100644 index 930e8bc36f7aa90735483ecbb95c70d15dba8c41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60433 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 J(k8Is$giylqU-#L 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 KWYG5>KmQ+HPYIy_ diff --git a/assets/loading.gif b/assets/loading.gif deleted file mode 100644 index 510981e722c27a378f0bc00cfc2417b275de0e5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74076 zcmeF(bx>S=nlJDe3GOZl?(QC38h3{v4K&iY6A11QoW|YVJtRnQcelnZI0QPEo!L9} z&hG5)`_8?)cW%{m{r>p%q3hJC(?#{CzR&X=KI5}zXU}e)J-bk+{(rbmH0TdC znRd0x4fjsWF{feOECnJW(e z(PgPT6JWnlkbFA!9ro9+U;ljl1Ka_!Ur36Q>T2Sm%98BNtS_HGd-ja%?iIqTXPwW; zVDF@XV4$P1Gti9G#DmlhYy$!VrDdg@?d)uvm`&|$pD{jt{OSMb?AbGT*t3ra#4^>{ zUjyK===J-nbGk#&DFEp*HMzYJ_#9Tt{WW>tV@SoriDhf^2jXefO7#b73jo}#rmg9+ zbvv@$GLGaWUGYVVl&rRhB!J6}u}qnG&D(*(;;AArC;AKkmxWrfc3n~epy5!xOt(9H zq<^MNr{Kf)QiHbYqlG5fsoIPoSDNKEqpHc3v>B$=FT#H3B=XbD>)j4;Scb!sESul? zuh=sgF?Y9yjBwOemnYbE#vJ(~3is~n_6t&_%gnX!FZcV)Oer{zT3rnnnm;x)+Ui-H zOw@ZIRngzwe8}jI*MieszSSKX%ww@T5j+C#Pl#)M_aqT;Jzffdx!x$g^}dCC9Vk0Z zz4spaaX6Re_J!-?!_TSxtiYIeUo;Nx9n6e;U+v&!OF!UfuY11%BxL)ev(J-SqlsDO z1Y*7A%nl;XoG}cpvz^}vJ^BcrD}obOOzuR38WGCV>R@CdaDdf?-CZS8w zg0J@}?73fq%)(^UwYFpBYo)i$MYtEXKYK~iK@-(WuQn6)4PO(P%DK{+hbe^vp(&>3 zI@&3gjr(R0>sC4%^G+R}-Hhz7`;!p&)sh__n`=5+T~Q3UmF&<>V6K86b@*-;J=Z~T zdIWCoZob$~{cHgPtcNa)arA26{}+LCLfU6t`u)%xdd`E7uoB@0s-#4#=2HI}bC!B2x6d;~qB+H}4{s(K7rBuL?g&QGmM6uKp%x?RvASp(k4 z;=87aOeAL6w$hLj%N-wSu*E7p|EcTMH^_9N_q(#x>R2Z z8cKwsqB4!81hma&-ZLz^NXl2?Hpy^@tkf<%vkTOR4Y}I=bX}$Wcx=43REWYWBT!qR z^4<4cbaqX+#Vf+q=n#0q4MT22zU3-o;fkF!q8Ynw{2x*tt1o_T-);X2HasfJH!@@0 ztNcmc464yf$k<5KOY@Q(nvC{5FscCG?|%s^YyHuUxJLRzj^jP?xx^sNN5^TJ!?mk< zIh5Pu$wx(ulF^~p9l6VLT0S<-h3{7G%NkBG0?*2*zf2;|zF&OQ#4G+{`Cy&)iyp75 z7aH>k$uY|j_8sy9aPleI>BBy$J1@duwEw5N>=V`$9+Vd`0naYhZ$;+GF%$!R;3+@f zD$0Drf+&;IMt*p)J12(T!Aj0nzK;BZM}(kM*$*~gylxJLk0my@4|$~cj7}%s6M|n8 zAcLKaspig1ifR!S56TtK#Q#Q1SRKOuK!)}oLLbG_8&7+Y^@{mq>zY4lK#CW&IkRb&02hmOjN495E z9K#Q=)Ye3TBl9UA;TaeZE#d-7^2L}TWE#|gi6|xk3>cVX>XT6Ky_fmEHgu&rZz;tX z%41nj9LWqzp<;#Yxo+)| zT$Hs@oT<(u@xL@Dj7Latnp`@YB)8urL0zr$N;Zw3kX0(6;h+P4X-%FLOy@F< zpvvuDPKIG8$a2j@WjP+8$8;)DejLnHnt7uxssb*a$1us|ZH-L>JBP7J7LQ%x&X{tI zsGwEQmv4raxRJRC1@|N<5$;YWij|l7PL=wK4D!{-NtFv06zFkq&m|OV2!k@z^_jwE z+WEuNjSOb>Ft}8)nP#d27Oj;|359!v0X0|1rKYFTN+`0f)to_$Ap9l4;aosnRo=9j zB%*Gu_iP;z6O+coH0x;X32)^HjM%Cuf3&s7H8YP()%d;YtWE7zqmP=xhv!qe=_g61 zt&dDq>R#MrP+aw4CheF6hVi{{i)O{t3NA<~S`|x(7ijH^uMt-cCPRzd*|fOZua4QNtmGjq*FJuC`y_8dgt_$ zQ~WBZ;zkb@)z*~dAr--bAqxpSbb?OItS@!zPFbiFbS1g6>aN}1BfxfYk5oM!G_N%V zaEQ8~+Opoi^}1?h8?(RJTJ^K}V&dfxtm4c-HrDrD&NU_9Gku#}dcifyu@?Af4rSn2 zuq9?Dis~5tfE(gbZnm1BJpVZ|mAMFF!8*ylkfgc9BW^3MjvASEyv+1d*<;untZ8qC zyeDGu$~+ocnRDl#zBy_;fuMOgM2Q0GJ8GFs8Lcnm8QE9#x}VBMZIF8L;$MG&TmH}w zaLE6pV$alRk2D$gwODqv*`MV4d(HZ1-TtR?{SU#a$NvP@1;h6pSoSP^Ui*&_Om<(`X0Tx8!x89W*%wX*q^S}YRWWVWjR`s3vetPx#t2e*Lt`$KDP0i zZX`Ql@{FdRgSXw2d9o_+`7UcaOO()j46I#`7h7O%H1{O!9zV7~0G=`7rmIVap(eYS zw?49W7Z-C)zc74ZzXUqIuStbHTCD3QqRhwozTs}p^2cDCUk{u?fX}hUROQ`J#8a%# z3?}tY{1AcV~=GrZjhV+>Eh347T)vl;1Gz-#Eoxf8k``T!|5jpiQR*@}68khJ<) z0+V1H$UwcHuPc}oydAF?Jxi3Rt=MR$r)Ca;Ch2YLK~uv0?$ndb;y{J!3WfWH`YN7t zJ88~^4d&i1JCKD8>YNgb4Daae-7JqjovHLdYQm(T1G3WMT)#NVoxBA0-aX|2P2Kz) zWj+9vDkKxXL@x6M!MZ4WE8js*L2b%rK1|#3UbA?2Kv%Dfu+j><^37s6dR2$vJzhm` zh81CT1L7fm?esn(Lue=J_anPjOo?*yKG&Ng@0nbFTdS2-mt(^XYEE#}1fpAI21`=? zvFo5~6SL7i^DR@WXqWbQTTL&~WQX#s^;!$D2_kC;Ol*ePybHm5?W-0Qu|^|Wo+h(& zfa>zhw=6z4)nvSzkc#f_xJN2rO0{j%elj{O^FjLEf+=a|uZ*#QQc}{DBRp6<7Xz9# zHlK&c5mzkIq)r)D#z+vxeIi-q!+FacV+C zb^tfv3Gjzql;XCZb)#uND1GNh7WDoSG2ebMCf+2dHg#dx@%bKD^>O#!@Lkf)NU4v( z<#wD>#@#qyG0gdhV%KN(bsx*}gWWsJ_jb3tE9(39hx(qw2 z_@1Rly-*1e8CE!R!HHakb4wQOwXG({3jbg&EE9{)JucGv()i6A>2F~vtbVBZYrYcw zskngcAlyh}7(To>w(w^@7$;*C3WdKo%E7qry#U!KAIo&oIP*|+y4*K0yj_&n_F?S9 zF<3$`dqZSmgVgm&(VX_W8AmN5GWK)DJNtRKxC5i^9Vx`u;VJl-1EVQx^Tf{P$%Lo_ zWAM%?#GWCLiM|c|jL4oZiq1zWi5nRE;6N!#3VJ7t8W?w0lP|&wd8@GFAHVg3lD3Uv z5T}tXGLZvFtRgGQAO%J)K*rq}PZs8wd=nLu1B^=CK8dnc=(z5P2Mn3ZZTwD6oa#=PN+-1PJYQolSg1C*9y}?%Ik212Lo^P;)9wH zKf47s&y`|gsFK_PC}W~CBaP?E!=mWahi-~RDiP<}}pZMJ+kx{uJlNA)XgnU2JwFvn_T4jdV= zhJZc^Dsa)dCU zQQ4OXBj@B^Mh2r%!X{|M*ntoySvagFep=0h0$XQ9{yLAZqhEuHVV(zWnlTS$#Dd^{ zK2qCNDy0LqEv*+(GkOASkS$%Rt;Swb03>o@EYb`*|Ar62{&SDz2C*r(pnqJ9C=IK zaEYSi%@jYq%`ek_BMI_xvRGp=G3$G3XL=)cjxKTuKkHA#)taR+Jy zw$e7NXDo9>c-Xj|x+$0I5Y*V0P1*LL24-Opj>d{D%7K%#tGB zeP6}@Wz9|^wHzI_JedehNtH9N6;mXhMMy^JS8Yrx3XZHKw^+#Zls!-UB3Q=fpkr-z zEhppA(~iqnL?CYM!QPSkU>;c>(hOHwC#_hwD0p~RA`B_d`bE5)SsYChKz%8b;IubI zpK1s8sn4fT*azs{{~4eav7i2T^79W2&;JCuPbPgzQx7zmpVHKAZO%WIrv3*q{f{*I zm*Y<+oi`MjHkSOoIjXtB-%e01l*gS6W&-S%5(0LcEALK^|B2B5ntcBlpZL4rNhQb0 zYW(Nqlk+M0Z0V{i8cpF2KqNUpFB*MHJ`aY&f}fI4ZU^cN01h1{M7hq2%A>w?uH=1F zI7x)c!Cak2Rh+?4qp@PWeF?j*T+_*Dvpcl3Vo2+7sr^&p$*~;o-da~^1uFBfHgu!s zvq!M4e9QJqe@X>+#qh$`)^PT&>s#9&?0Zw;Jn@Fdvz!NWcqygk3TfFo^UWWbD?1h~ zPu5C2;yY2=o3|If5%_W&>N}rz4na8FVBWUQ`;$PecXGsSH|t9|FxN*#L)P;%E`wyF zQ!Ivi$lO9z5lk59eRsY;_m1!F7vGEB<2e<#UpVlYpE64<*8Ss-gFk=}*=db!PK0J5?y?bxvrmMv>e{>P2YkKEeTQ zYQ*C7UcQhfeL}t(b1$e!*W9Hf5P&(omiIaQ3KXW}+I$cKD@hH@FJu{Aq_@aRlC~DD zf;Cy|wV30TiG4*Rq6hZwTr<=#GRw`EbfOZe)E4vU6$E=ZN-&u(9yc+4CRQp^YI&Nz+ez6?QJ3e7C2f%dB?|8sMyGtrd^y z9masbl7ftzoju^|WnLW!)_&vRkYlN34VS-kk@?i)FoypziL)EKNPb7!-5_e*ma|OP za?nER@jT7A&c@m9lP6=z0tp;dit| zL1o?%C|JKnwwDFWbDum?4?2bQ93F)SY3FBY&ag? z_xD`r@6q(veFbHRumL@Ro^=~28oXk-eYU|cmf@Hmt9TOEJ?H^~f;niuq3;N5r9#lZ zlC5OlqSLj8hNISyhgYZcQtsG?JyPVpHs* z7KD^p2fEJ%U1lBrY3c`uC#I8hQOv}VoXd1CqAfy1NJ zOQsX~dILs27SyG0loQ-wPRUzvGw7wmHkO#w@bem7%rlogX?Pui@;uM$vJW{CL>8__ zeEK*<6|F4aW2I)h29IWAc4JC%nM?#jhvdeI2gQW$W23oua~QF(7!?4l34PH8ZE}?I zN`!R$9<>UK0`OgZJtKTjXHp7{ESYoc$+*$_fCn-wrho&nSmG-$??B=L8OLH#zSELU zMuc2`YK?SVtg_V{0_`*_NJVN)32J1K4q9q))C-sLJ+Zfi?*3!>_XEaGE(}#C^mDTN zGo4lVICHxY&UyLcSyOg? z+s{6_+M3WLjp1Ix&`hMV#aU-D3^`_CnUfxrf38(x0i^4Tw6Ya`kvP3V?XJN!dlWa= zZsTWjJSmWM_4>GEHE6??A!PPpaL&+L5q@xp)H^-N06Q zuN{*+1j&gs_)N`q6s4wUkLo$&;jAQsYtw8?un$h$NADb?B3wAk1v#390-|cOY`y%h zMCHc=uHhAtKkiCYQ8hmCvK;{_++@}_Hgf?jQqzy;{W}t zcw*-S{2wm3%lWGnwm%iz%?Ie%9Q!Q0>ikCW+5V;Ap75uFJ1kPAzGMo*8xP0`$1WZ& z(yj~cX^Ah@D&eoPB9U_?pR2MgdBHT)X#1@WwB>Jb*a%)IcDxwHv2L<{tv}w7Je9Aj-h6fhvKp}jRWrp6ZF5S~*rZI&_ zt=xq3wN4lLwo4qAD_ycT*HQS*KUNAt=6XN2wvV zBwOMYJMD%Kni&2@Am&@`95FnTy_^6d)K@7Xl%;ScK_p4Vn_<_GqRj|u!y?0Q*4h3| zd*<0<)5tU9#;q936&d0v5m<2!NEo+dTT5CqX)8`yaVFnLRti+0B?c&3Pt-@HrqI!N zVyB^xE#D3V#b*IK)-oDWpkUlcSCl+C0-}jAgLu%Ss-YI_W?FR0Vx@i3T_{ra#T|s^ zgkqK!$N9hA*~=4<;8myQ zS3-he%5OKLvn(=*F`6eIf7b5cLC6Uh?eb=K&HK(|epL#b%RfY`mn+)39M-6b z3O`_^(Wo)b4=EJ{)v4f}2wH{{rD3a$yc|fxl6{4FTs6wBMm*bt-iy=_MXqzUx$3_e2BNZXI%!-AXMID&9$cWo5|Sam$yaa+L{yKXsddQa~OjI-UGlCz5#`ZkEMCs^fG{n#csht3!2%abro+a(9c{8kC?{^Tq4YjJ z{aLVFnvEj@42>CTyJuWQA~jkmYbaCxtzyM8{1yssvvq8^aOmQ5@RU(jfq57~7P1P1 z5<#ym^6m5|MQY&aQuy=D*c(dr^y!&0xVHg}SE)JPgP$c;>J0>;s494q1rTN>dC*01 zvwobqLojk_U->~xW9XD5-&KMtSM=KLHcv&|Ifrqg0*<&9l~f@Yx1=|N3u9OzdMZ}| zeY~|LVzJg~No^IRWzB%2N3Kgs$|-mS*w(tu-8d+l7lsnKL`y|wg-TiL0bvBjJF53c z%GRYxqAIlNQjUYUi$7?@f#|Gta$bNM!ZBe5U94$<@Ic&#pk)l3n@f$Wi6ok~1}yN} z?b5n%V?)=sa)*~(`gO&YEef`kOjNH{a>(68K2?AftB{yGtmb4ogpdO|%ks_^&8l_l zE3{h5FfW-^JM!YdUP6G?fLb@|%b-)hsn@FAtXszU@hOb@g&`~{B<`0%wqK3d;tpkV z2oku+1c6ccqSiJX?b`5Da$P5K#LPEd{^$@7Jmc>+c0HSmtQGkoCUzzBoPE|m#Eh0x z!v~t}I2%zq!1`6hTgAG9+`1NZ$&6%Dj%+h(#fzq%v1T#&Ek&QWMy?ss89{6 z^Yxo)C;+wc=K4t;^7%w=3qxO?d$kd1% zr8{(zEPCn~Kq3UC!`1hq9_MG`BzwVV`u@U8jh<;6eY`hTB{|D9)i;;6+RFTW2Z zvziV%(@71-r13hqU&!cVrN`BbgB zN)$Xd@MK$noaB)J8*rmP!k@WP)B1c@&5q+sDbf7}bPDpeY4ox9@`$|*=C->^^dP^! zHI>D!?wPx0~sPnVf|GsV}U^HK;a>%Eg!3YCA_{ zf1frXBCds6HTe2YEraoZle~yWEPOA{otx0Az{szaRPkeJYECgsyJhiRskP)CVeH#l z&)D+o{R6YgdVXw*asgwP zG)J=DF4!xf{R*lZ;fX)`{OP@b%f)EPHPz*KR{4bcJJ87vrJ|*JYcce5#cZJ}l^W`Zn^0V(p&NNXYLM$H z`Y$0~DJ9Pvm&Op5=nsA2Mg6+daV*o#DKTlm9y_1jtlmN2fAXnaecTz++b$fNs;Eku|u^#dYSW<^MsapSrghqBi-iH`A+D*rF}}<+n@_6-)m+-$)XK7GIri>H1pG4 z=z72o?c?F7*VyBaag=wE{!FZOqvP9!+b{W66@)*|g9{hN=k@ew$ z=j|V=mdE(il8l-GUszgpI2MNk~-gC2G@qND()35*J5%LK@kp8WwvLt%U-ans)u?Dh6;iJ1d}XWb#M`17Qm(U7d_hPab&C4pS#%L(kUrkzjh6U~dZkpjzRt^r zxW=T{wmw`Sqlo&tj$pcQ%f~#41O5{3f}t{1>!Vm+TncZ3y3z!LSRmC94v5;7Ck=XJ zw3@%rA3p0~hghz6R-juvc`lwK1Ups_3Co#xbZu<2I<}YhT8f^v5-smw0%ySMuku^j za!fI)*tF3Ujo63`H%!@AEH18d^AylOXP}GnqCV;zshWVsxkWX83)R2Y(C<}H?fzN( z13VZNfn(=ccd;<)h$l0ep(MW`P`+O{m^llL^_mJCx;?k-bh)7Rr3!4AozZ%MbY0|2 zanbWE&9Y0UOd*g3QTVB|sQX81wP(j0laFN0-H19RL5Wl*XO>NjRD~uHS4$B5mo9zJ zTFaw=2YUY8=Dni_H6FPQrUx6h(ZA@~=UF374sm{TW=eqL@w%Bvy-xboz)5kwAy7I2 zy9Q+#etbuHi);a;N&@F+@W1kG;>5=3dn>&r(E7_G{9-nz_sX!A5;pqMt1 zZZ49hW#AL7n1Nzo4zHHa$ZK40R(fR_EUPO4&v03=v7aGn$6tm5`)iI?B>iJ^^tUv9 z+CRDUScBoIE%fiKzyFm{d4B89f4_ec>4Kriq>1#OT0#G-9QF5vsDEMVpK9^Y+QOSX z=sy+u-)YAG#&iE4a5SBOT0S<7H)0z3PaH+H-C-2Vp$*F6v3}yH`ky!o5Gt*E;wYtq z;tD?(%@apigrR^W>zOBxQWNVnR!rv$K6QgyPgNMyS?nGdlwMV?RXW@t2J1X^gI0LF zVUSw5sopA<#goIOyQ~5B_|aJR&EM8q6o>Id1j}63fx7b4IF6puQI!mcMp@-kI=Vex z%T?Dn^3(EYIeg*zEf|}}zNIY;E5@7H0|XskgMn8QTrUr^qttG6@Y~$_rw=_dBZ3nUnyE}PTfAla zE_`++TBHNx@F4MI%T9VvieUu5CBllArE$KtP?P0NpQ&{d7*Xm(7ohh@BBS=}waw zrCG9T<6n;$FR48iu|Jp$rQCw^AAE{Ij~DB-xw?2!_tae z;K9f8@CMT=7AWCFC3NO~yrR9YHMW*e44zTCr}R5WN!>4y(QcR;J2Lz zveEb=PkuDsW!5XVZ;x99$7XeDxKmwxx0+-tN7QXu(Mb`nUTXn&*ueh%dFfzj4_n92 z8eJCY2bIyu3C7aSV&*<4AChkOlXUhi&c$&dyo`)7KPykpQC|fiHVsX2E9XIZHe1tS z{fmMN2SeWua*()a1>T^A0Dhw+Z{v~50#4aVqa4wy1O)coZq4>M{$t&(&bp6vPw@)k z#7fd~P`4S~<|3xN`_}hSL_V?bwnQ#yFooBhC}fF?Zx_z*Zf^H=5VI#nzJ;WNdU5jV z(wat`}xPz8ROLcRrA- zITp0^AKebVLWdPt`H!GY(~w8QMx$id?W&T;+RuaUU+}L&CXC+i-VznQcNJ~Z`=yA7 zxfeF%Q<7@*+#{%~19_a~*Wp{}TlZvm?s7lRob^*&{H&`2S-&ge^;e?sm>ArO0pJ=^ zXTf3y%+Zm+AaP?o_2PDnzL4Odui5eX^B6Bt6+>YC8^+Qf_IL=A;6m_U=ITaj3!x55 zhrMgh!7703#Raehl9cDp&Ia@>fG`;4w*h!HSG`q%4h*L1+5{_I#T`b16gKa13n;T_(RNTp81;`!y9 zG7j_!cCtpq$x~8|V968?tI&r#qtHM@2O^GYY>NU{Xm8xUX=+Nuhv-nfr3ve$39c1f z^@1*#AS9}PD@!oBFhdJk5YSV7l^i@#K$$oFPPM}~9 zD^K&u$GN)=RTRVQPgle!3c#%&HE+C#MThy*bf1J_SjcivuccFQ^kR)0(px&6cgJu) zzaC3OS4(=`@maWzJv+!ySrARKKt?scX~#@GkIZ92;$^~ER4aUr`2#J9_(5^3@P*4b zf_W4nJ#LDWbRkCpU66XJn4`g9LF4BBYf19yz2`IDk`>uX2vF*@!FX~&YOxxU)g&n# zD|J@*flv8hM!x53Kf|C8#C5s_uN}FxjV0H-J~_|Cr&meg%O7rPzUXAyx0kj>8PFTM zf7=p1L3td2h5l&8?WvGh1*T$@aC6lbsFA4Y?J)=?pD9S<)a0vaJIWkP$!$lKt5e?0 zH#rPz>^Rtu&UT5iz!6(0g=24c6#%oc)|%4@Q#5PL<*?9}{fWMO%?UZphuAR`s%hcO zSajpWY503BZCBREx5rgDF+}uBAiA|m=~U$0LeP&?p~Y`Jid``_SALLJXit)WrLj^* z4)1XbYEvm3*M{_Z-M_cL{>tR-7PfGS`ZO8FLGFVzSsV#{-AI}kn)NK55F0gx)YD|y zm6Lbv{V|?whsT)+W4STGLgBZZ4*P4XsSO>O(q_B}Tc-fdit`b%I;uvj@HBenUycc1 z(~*wOmc1qk-b|Qs@1RE;9MOwZHj9(@6{^M@DZR7aaTP4I2n!=#eSp&umMyFmd5ydE zTvmH1-2*3d0cv(xTsm}=${vwI$EgmNMl)m$4lNvCu4YHO2-Py&PTum4qma@ucGWz$ zJ|AZ1y?}67K3uH7P%vYfX(Bsgzs&gsM<}@)HxXh!lt=K5M_%c^ccGzv=lWs)BHCj* zles~Z8mfC%>Pc3_omyrzqKY<>Ix7KGEp^B^Ec$V8>K}2N2$N9>_4IOsVVeHq#fqQ~!hAfhW6m|MANHpQ6-skF&6mG)||3<-6+Ou`H1Q;SJgP zV)-nTIC_IYP7q3(R33ojuC7F*?0tyhQws&7kYR5+2d*h|<%Y|qrwnumKDcl-S!fFgX*h0Uu-NE_Tr-1{9M5+f zAaVxC9rvc2lcsTvqZvHcM+{Cdw|7<3Ozz2D17$Zph6T4*XG6YrV-8*qKjqk_PTh&W z_}=|=NLYOur7tr2gn9K;*+)qUA(gmhqs>u!BkVrzg=M~%9R!DxvJvunbS~4MG)aam zWE4`osX_iNcq5#ZTe~|nve(j7jY&#sGfEIls~afz8e$Y}_ndA!mK_tM870HbXJ#(N z?~xzl`!q_Q08s4RPE^$lolDXu--j9)2g^c}frcJC1|JFuwo@cq_qS8+8|aFn>~n#; z8LT@VNr~R6d%JOdCUgYZK|amPc3#woCP}*do)j4l+yv7FQU1Ke4r;Q72bsz~X+Ta_I^tm5hhfDN{dgT`g(&55yGC+2mYty3<8!Fskbd#O82 zDibpy%k2%7->c+;E4;{TZ${M_twkIfl3HrWhgoHn)OW#JHbUNH&2U5-RmQ(|IOlQ+ zN%T)@)bsqu?e_Xrp%Ts*$CLR1wt}^NP+lj>!E85cp{=a>+Q+TPqI$l)9fLncIPr{ z;h#=bMYvukWU}dk2?DA50xg(mERc}#kE<&e8m>s*m9twrk3W_jj4Ya_d;@)MZKA7w z)>(h)V7r*^HoAL=2A#6}Ox#KBls;p7mveL@{DKhGSK;R>>}0odhpE~DzMk-|>$}Ly z*%*Ixn{~LR@9%{`${*1LN$;uqzapB9`@KuodlgpLg*`YHM2zs^jlp&KF9oDvTwOAw z%aHCj`^q2~CF2_M8~1N0h!cTJb;iizw@vRRgFIyd7_5tf8>m*gje|gwuupYqjb#aIvA}{>z95xIjiRViv z-u6wPi??KU5cL;#x7rKX_c|&NyWp4IokYn zD&rW|QpPU1vHk`#D2fU$SGWyvDe!!IE@V7m}a$yM>OyWMw%F1M)ASGgXQ+ z&X2DclwUf{K78sajRPd{8THcVFcnt3(gmp*$zr@LnNhg0VQAc3B=E_+DvqPDfnoA% zbet>Hhv(jWu?hba4ODXQuX2$>9-y^&2#oQe!Eb$(HEC%H*ijRIO`QElYEHfyqpH4{R} zLQ8L3u|Wil{i5$1*A1h1dwbbyI6@B7;ZcIo8dKBOH zfl)xja!tYb9+KSbwhl`MyHq-Z>U@izNpOLTre?jeEww@7$)+qt1%i5tb1I)kFM8UNBzqK zqJAsZf3trA?2>`d^aqLmI!XO2uKtc^L0PIiVRpMZ|EU-CYHRKGXdm|Q@K4qLgK_h3 zT+Wj~_5RLc{!?#h;mA`l|6m!RP98!o67c$JpsrXYLCg=JJ?IRYBnL(VGCU`WCJVLe zxZwyBOXsTKqZ&oJYeWJd$d+Iqi;s2Ub|J zHJ?}4np-`-=RV0O@IWdey5~7t=#HOb0;ikXL&uNV?N(LYE)RV^svDZq4p zDGGbJf36)Wa}#{@*4RGW3Yb0VH1@o^U6`t}`)m*UmDJH^q@D5HG8_0ah-cLgnQ(U1 zLyU`d1Bk}0)f0&CqiJjfXTC?~MFe);2%#juCGw^!l+nkie$3yD2%*BC4`rQ|Nsshc zD5kK=%W2MwCPS3kije@EX~sxW-{IMa(}PSu`}4_CCU5{+C=%VdKn3B_;f2s7y3G`- z6fVSO0tk0F!CbPXc_>gHSbw*fW`9R(5#XHLyOZHw+fSB7RjNai{cdLR8bFSu~JKr()G0Ox}yFnq0m%RqZyG}9zS-QN}VeNQ$w+Df?uh72aeC_jMk zVMY0vNE~_=nH+4CQf{OkO1Am%U{_b+9%hu0bA{Q6zPUb#tsN5nsS-aNCuM7!raPou zdJYt@)!am^uLu_NK$>V7PaK*^KB+~@&0~O+o=Bbbr7f4-U=o$JoyNIT*?(Wew*GQU z?poEZSWt%5eC+R8W*d`>g!65r@9A5OKRC?pR%bg(uJ2mWuCc~LBV_B4@;G2K!OZF< z8X#lgDX#+7q$l^I6qQ>Ty|jiqQ#hI|uN{doiKtPS#x2LMU?FPZoS;oBSg3r9HZm11 zte|k!fA2ZMrYWnlH~-CKw`aOxo!e2fhEouu{lqJ6=& z1o3WgGf+|` z{GETSD~QZ9W0)vAP^%kws9R#;c8&$j<>Y*2O!;!U_n8{TonVO8aUq`CGw!xcmn-kj zON>cv6U@3z_B=)D5h(F$^7WGtvJ9H^D~BUCy- zXZ1xx^7iPg7|@(nC9rqWYB3S3@G*`wje}dhvsDNrngG1*m>0b$GPs%`W0gPQc|lEqfGUQMYv)=lj~dUt|T zx|VP^>|ecc9E`p6t8;)YUA8BVaYRYa*tA-U1L9rsA`F6n1GaO=;L%q%Y$xG(4AZtU zHQ{ofFIu7X&w(sImj#lL5yx8^3QiZ-t(CP0v`Fs@%GUUiVxJMwed3mcc%&h{A82N5 zN0wsMUTa&Q=f;=C9%Zo;-FbUv>E2+o6%zwn3ZEoovhyN$Fwdao<1WEhrfJmgq_>$x z(o?iVXI5>U9AdM9-U1X1vc$dRP4gYK`wy4xVpp(DC@t!Z<)UX}Gt#wbeNzTR3mv~1 z+LY2+FHpRRW|uww2?aUaX{Be1M3o@=kxSWY`y#Bp9W#XmbL@rs>#!Vb#@@sc`6dTH95n8=`#uiZ^QLtp*QK)WfrtH zR;(o2K@V2so=W*~dN+tWdQYYN2nAbY!{Pb8jqjKd^ycy&)u#O^Xw;R%E$7hT6e^_? z`9(+LaodX|!;w3VgEG5}+DrwVy~Bc1&>{85`^KfNwg5NRV?A^5M!)P5GpgEC99kB} z!O}v|>asXl<|o3c(}Lf-ye`-f{$Z#y3z zpCMYjbNU5m`N95W=j@6fGUD7jDNN8$dHq&!I7;Fx4e`9#7ec z@Rdd8>+3sJ4cteBJs-EmZF7m>w*aGDhGQL-yy#JyJpjmnAH9G%oV&1)P64hWB#atFFJ54HQ!1+>O0QgTAzQeg`s_eAPCY`b$J(RzDe9}~N07tR zYU182tMvi!(kmJu4B33F3$ADKpIc2hE?e_-Ed@Xib{J(WB!8}GO>3Ijwv#-{fE_z0 z6PR5u!GTGQ>!pcPo#i$BSh^>uZdPB&*qSS)`B$wgy8zFJGQV<4%9jFbH}Cekj|LN~ z^+|`O8G89+y~`l@b&_XajP4}n``|ekr-l|vffq7fQSvs;q@_d`8vZyxKSv78se@~^ zNA-)fWDoU-+I^X*kH)HWqRveVjX8A(1QF;KZ0RSDM5cKRHWEjt5+5%Y2vM0+O4#tQLPfW(>Pvnv-$+j|{8M)*=GTeC44^U=QagJ;i#*57sbu z5X37}{cBEy&$M1qa^<)UQ^Y8STYQ-Lxksg4(ZQEeynOJ<6yKcoF2=E8o5Z$Dp8&L# zY8S1+Va?s}K>j0EnOgz!GD?mYj6e$|~f zHt8hA!2IjsAZtzd_O8w6ec`2E*6?+*@ZNNl{V%mJmt`%k7n@`JFScc0h{K6aD4bEQ z8m}8Lhkk{VVg;hUT7S`-%!|5tz)zU329I-_fo5VI#8{uWBY#_tJBl8Rov;D5pZ|*7 zI!+DaEGI+s)s80(f2AWajF0BU`;COW=F_R;=8e8dCgtc!7+QVKcBFgHxi%ZMJ~9N4 z22YC3b2oyOj-sbjrjII9IU-ukv}3+mk_Xi~(xoRCe#7#;0OF5G+i6qeJ8iM|=g2V* zoMzp7DKes{sv%M7Cb-Wb(z1%R{)v}l*a#qAzR}otc=h}y^aW|@!dDg!qFZu;0~qS$ zjGvPtvFVUNfQ05+gX-!0T=NB473R3O*l8#=8^JJHC1!%ZDNq`WP@zxALE9xy%&}YB zX-No9y?#MKS+$Uf{WdD4L%mSC8pLy@U7UvTYFAtxgz@NpVL64Z-qd_qjMnEwUIA-E z=qmg=GV=)D1ah zDV+yAl`lsF&cElQN6G%kHJyy=7DnB+?0N7golf2X?u$9^t)Jul0<)9rAgpa77Bc^j!UW1;LJ?=zI>kXOoaLp zLTlkSWM+`dqUMtBOfxq_?h<{OfezlpF2PuZ7t~s{wg|7|f3f$LQE@G3_V-N)BtS@l zJHcIodkF6C?ozlG4k5UELE-N1PJ+9;ySq!Mymk9d_j~7d&z+ z*7;ID_I{qd;V^hS<0(yFyQ}rk8CQO`q7_Y0py`oNu~8|sG-5aecfIjr0&O4Z@r0&# z`>E9MA|mF?gla?wch@9aK}z++l8fehRO(1+VyzBCG>gaUH2hnwY^udal@Od8hQs7- zT|>3-{n2P_4Xhky%~6=eog1c%4OGiQ7mw0NrIxHpovnf;ci0lt+L6-KJKX0z;H;W^ z11T4L%3UkDb% zj+Sq;sHnuouO$A2_Em^$)*ty|{fQ}<9$yCAAD?^!IeD@xm8&9@rfMU!)}^N^4rS4H z3GcOZXs<#wD9pz)HoT3sLx>=eJ1}Ldg6ObEnt%pD9?#e_K=!M0UDa3}$hfjVT3_v? z%09oxnDM=>Wu!Xoc4+tGW?NxWO+Oq5s`r=~JtyZZ>J{PYo*3Oi&*!N|nSciLA4^3~}VDEz@mRx<;76 zn(bZf3_9MxA9Bf5hg$3;ZHo=|-#VhmEM}zUtMsaq1p~bfTrHv7N{SBJS_>3r(-rd0 z)~TotM~juFlc0Wf>XX%ar&AdKZiC%gNnoIdXUo0K`T+Y4P$rdYe-8_+y1K%{3G~lz zgoI+AK5>6*+njW0w{FYOx;~o}>@8z$dph3+w6~9XKYpKiyr#%-I6_L8|NKfJ;l1HA z^1U@1M5ennzpqcK^FC-Ml*w<$0ehL|$X++=LCNZKSOKJYVhO=v{+S!0pZyCk!&pYh zvUMnD#7IJYw+l8yVJB`jqcoTAFro!}aUVYg?(j8cHw(>Itr0P;C;PqGz^Fo8D zQrG+Kc*EdAVz8kxfc%Tr4s<;9`4@P!r03r_iBmsdD~~4wFJ?`oy>Yrs)6ZeKCgV_% zBq%)sdW^8rLQR59B?DNg<$R-WObaFB?Hlqzk(v30`Jas8sA4S1{G$|MtOsHWAsEj9 z7~l{t_Cg78qeii({62WO41FbJ!YBE;#j;Wx(CEmaBgt>Q&~7FENNjLp#!?&$gXVoz z+=DA!txo^FTy1pj!?CbejK+-W!Uo%6BQ5~pRFqR7IjNB^8ga3OV7q|Ew3Rxy+`Nn{ z6x8qrJCss!|Dr3W^)tHVq$f)3)rZvB^T&y=S%4wr*dH^>j4}swC5oWqiET!y#j@{} z1C=BGA3(iHM`t09Sw~D#c!RWb^5!E$W1VTpJjKd3O-VC-?2#BVBb^Wa`RzZ643+v3 z%i@gPp895d3W{%B)!!5{4jdLHDd%bBkA4AhDw5Q<+&Ofk88gKI?ub}4#f&69P z`y7u77CTzcNM6&_r`A%ERnNIqU$rM!i2rKo{jP43*L@*p`_!FICqwf0PwnqHzul$l zET6+MYdmW3^QF(9dL7fOolV^qEndB~eTapBB4}v(!Dvf{Dy8=V9~}>&$;6lEaP1zg zp$2h7!f%>n{hL%G%EL1`8)_p=#B7WdAv&i5Te@I38r||hgtUTUI8Hc4rLjjkzt9Dc%A!cp^^BQxS+sV zGf10S>SJp=3pKNhyJ**F;{k#MxK1j=9h9{3&wF})x{;6aX4yiYo=d^hppDAI-O@k^ zrV|U1i9xX?ZJ03Yp^k};^|~T`$sa5x9}pE6EoDR|?<%hRF(y8(GlyJwqlX7$G>*eB zcgIM)KSqrSR7Tp*fT_?t4C_GJ=@@43!dWTE)g@e~HNwaak1N=?7p?*&DOL4h8g1sJ zt0ZzJOseS0ebJN}QVJn0r5uNii`ZLY)RnLO(btxW(Jl~61R_b2H1(vMWYlMfyv!4$ z?i&uS$ojkHVSrIu;);~#t#bTMS!3fa4i+%EugGr;V_o2`Xt3k^L^u!R{K_u%i11bW zUk`|m^eF~pYXW31z+<_&HFhlq0Lj5?g_@-+rVhh68RsNM&jm-BCW~pgXZs4-Wfimw z!85W_4^bfxHRN_g(R_@3jgfEOI)Ce&0)Zr^usCb|D5*vw>jqHzSq9vR;EUCAg=VTY zj!Ja5#T3@NX6R;)vycU2wJ@huKVa16c_WQGGQlclV!f$wB3b#=F)#=F@YXuY=}?R2 zacZ!Gl{m$!!1Od^ZY*NFGV!_yP}>+c1p?OgQbB0n@*yJ6l|}2LXsp4BHhkit779P4->UPgp)j^~D9>V^mQejXMP}_-t|`4+*Hwh9P4E0o6ysRM zspY3!>}IzRoum%CRu?N9#pN#whXbnij7SV-r?^S!Z|Jm+woeV4b5<`A67zkZRd~MD zN-!{SPD3=QaD`9l|4GuN_y`Y`S>*Za zZ@Y2e(bnUWlxN{&deY!AI-IF^WNF;S74Y~DKf-?s3;knS{k7(w(&~->k44S@%3=TY zDCjTeP^%p(eEvR<{)Q=k=kk~FPbhBwH=FVQoplZka2m7M-YUzyn4kPLO+wHA-$JW@ zf7-w12|xjK@E;>;{tTedwEFREu~=$;l8kg^&;k1<>J-urzlkN*w{Hl4)TW zwwpO_h( zv0csaT3_rTx%K$1&h}X5sYzM|aBFX_+96dYRZr`9trntra`NPMce&vj#b86w`nb0V zR&|x-$dW1b@>tR0AX4!tEO!XvT^efjSq5Ms( zTOk}9xtr0?$X#b+q)rkD?c_t$j5L)4TyoXqOvKY;t)2GC-1O?mb`p25#mJIStg$hY zt$;60eT{dzW`s;f;M0?YmZ{{^+yqp2rDc@S_I#{Y&~SwVaS{upLzxx|;vyr2zh%HY zGdIw`mgbzw_4t^x@2|iMnoo!ys96&FP_;v<0y)XWnFPj!s1=nMhneH#F%8!%7d0XD zCZ*%SE@GD#l|AHp)o&m~SH`&_#A%@MyC)Wp7#Nir^>vUM=Jt8AqRZ?W7sr&>RJm#B zcU{z28Du^fVN|5?PnXG^>R4DygeY?z7)Wj(Ce-kTo9!7b?mMg-Y~>1+ z5pB9y;g?i9Xp~jt6JET0P0&lNymP9LMN_og%Ec;WRqB!ZnhHpCdNtcg*@Fw}VMisK z?WY`Q(P;STafvyN|B-^QpP})4X*a%r8bh-{0&T(w(ztT%z^g^>lVpeWC1Nktx9;E> zxkzcCwuR?#^5j#V=gf@XLbDFPI7#UZWO?h{pH-0WvQXvskdQKzo^E3X}otK(epjFM0n6q{A-}L2fqv~duvmZ4WHai zvkn7F$EvC@1hCKN*LDX(WeO2JRNdh^?H~RjKYNBq`s0ZqSmn_?f$yg#KV}%Ifgc(H zUmnudxOG@|= ziI9(1dO{_8bhHGOKFH&`@?n&fBc#*{L9zPqg_OuF1O1`KFGz&wySrgJ?8q&{Ug5uV z?ltNk_cZvf^j<$ku5WXDo)e-ti*1#8rkdQ`uFdru}c2m@JaF zkg(4a`#IgV!_Ae}DW2_Ch~~vuXgKQ9c)k$lF0&`H+sr{RE#Q}KlZvag6ep0rXVGh$ zAaCN@Tyos+N)3|$2QZsZq`FG_f3;=Hu2G`JE$oy;IZLc~{hrZ*iq)3bAvuF3C*;dL z$|rsYaJFH-e~R$eNsM*_7v}E` zD5Xc@qwmTn?LS{5>{ z6Ua83Obq9SZnu&Mhd5?d<)r6?K%0V2}L?nDZKlh9q6<6tir}$IY$M83L3Q zJ3ms9eHsv~TjMd?nyb+8W8feSxd@s^R zsp~zI0g(>r+_igLD)m#^3EIpDJ*y_F%_@y$&h3X8$1xMpb7ZHLL)@{4QmUq;+m||Qq=>V1f2vnDf@QNk`<$c)tH|1d1gvn0#LYmsV{oYPMC*LN;rQ5Hou{p>A_Z6?|W$?n@T6JGd%>kxapm@ zunWNr&b#Liw`u~^fx z9UD>rY7U1^qv6j!&s0^ zO%~?xo(T8DcoZ}=boWmN`rjyaLb30^qQif+`%pIh8)8WR3ZeAZy6JByc2SFWMpppp z%a0mK{8b&GzmKq{a-+8DlOCo&8}Wbk^VcBJzkla{=?VN}#m+ynruG0dDfDNtGZos5 zH2uZC%6yqRw|KT(f#dVATdk#FsorFfb~4C!vEFtwg02RIZ=}W5WP2oAQWkH?ac+OEy3@b)zUk(4 zq7lM(^QP^)-MMdnvhFJGlitnQ;$ehrdYyaI^<{CJjY_-s*tFHn>Sqw_9hT24ww_gG zc(%O+pHoiCOs)QIsDW;vY=$3zYCeY_h$0}C;6{kjkfBTpx?2ra&MnCDqE#U44TbL! zLl1woz=0k?KGM7CO?-2k?adEjC5`41amw)$W@<3<)V{wX^^ot`*@#Mn=l%z#kfMkN zjbi@RkokiAA`y$ywsnoT($DwiishyugK9MbjG#VwMa=qq#5RQ$6dCcIqwhz;FWwJIg zh-Z?e-~pv?>G;q|Oc<6)-@5Voj%ud~%#K$(MGRH-`xaF51>#0GG^1rR(RhSG1iW@otf+&Z}OR zNDYHj-rX5%zJ|1QV%~4*$7({ow=jAgBlFG_Vq^U@w#bJE8bx9a7cZUCW4p}vF_tR%|ea&*7m36H0V72nGpKMw!}*rou;oJT+Z{OCGcMsvu9%=MFz&uiv)fwUr&DAM(zEQb*+v)xVh*Bzu*G6z4i;LJ*r3kj&0+G1Sb3uh5GG=^Mme-qYOb7 zj!);>Q65$Igsp@w9bU>|Uz9ZU5OLKAu?)Jtq;wDp3YZA4SAGbDQ1ZNbEBT5K+2o8V zD0%9wcy8wfdco&Uuk|mrf`o`~BB}HbmkaE2WTqAypF#RhG&!Vkra}^=5?WA zk%$iCX9@bYWF{~KsPuBAB~CvvYva+ei_|O8eOt*UvUwiOWLd03#OWl~Lt5nyAXO$o zzxv9K!xRO^COyHR5|<)I2@%;h(B|0}lY>Uyi-U~}snvUP3oZ<4YPKkcgUZ$F>_L`1 z*>u+p9~8dWBzPZ@(K!_gsh1Ujx?8pxgBwX?1`s|a4dpVX!xx)Hyo;ae8X|GtD2Hys zYfPGxvkgy3H~T1RuXb&im4Ks`?JCq3>?JsV#B^B-poU&TuJRI~|NXAZQKw4wn+9Y7 zC|9RqQ|dZ{b1x=Rd_lq)vCT^&2+ACtln5ENQt7R528HAI`@(Nv)pHPD=0#;u%FZzY zLgl#d;}u}DXrHz|8Xn*!$iU{YD2GYsewj>}K+V>_q zGkYG0Wm79VD%2K@2vMq(B8--bOr+^-ZwGcfD3``4gY|eVipq*+YJs(-*30j-R;gwi zdz?yu-B_BJ)RXlWwdGDv7ABvIM7|M6SBNqmsMLeiI%jOlBRu8!tT5(vA8M<_QfZAD zA1A?7Dn(&*w5Gnf)uRNgHHCP`I&$s;({H8#dB$3WLcD|XVcJO5)&9ro!63Fwpooc` z!>${3Q$Z=m2oV_PB!kOME9OH@T$gsJUGgAmBu0I9Qf?WresKB3?Y4OhsobSka^)iF zwq;Mc+--Jn<)-Pj^(>sh4d#zMmH*t__P>YNexn8cHOBOBnCW*ep}zBiHXoFzCJg@4 zq~m`BPtX8&g;6`r2^YhKD6f^&2C)aI>sB*o|5PZqH5~%VAr7_LA!}wCXUY$hA`m*I_m&;#htlg!%&0lhy zX00>m4>TsG+VS=qQ`*lo)~5GTP{i!6YIih)f_tXLb!~R6K(Tn{G5%_Yu-I@==eU6d z2P*0vwrM?HpR9gGy(JIhZaCj`ZMPN~Y2jQZ988sDe}jK-p_b4G zN#>gH3!IFZuAhSX-TMG}K*Re$IoE>sL9)Rv`u^l;qFIVmJ@p2PbRDXC}$A&Na!>?D_VxEnlm+WoNPq!bQm_6qILGXA6Of(h>_{^8C~|^D&17L7H@&eaj3i*{ z{v`fdCNA2o!dUkZ&3azU>4|wdL_IZr!GdOvU|}t0xUO*o$K4sS==c)WdFhQza($h< zdlCJ*ef=%X+#vZ1L8<4pm15ZN>HTivVA=g%N`lV(AxpQ;$`SULw8p)f*pDsy4cTSfGsUa3ZaOWaTg`4?ohe(6 zyI$%(p4MZgKb|+U^Br8e2s2DxohrZIxLz`~dAgZ$E^j@bBROroSY!5nC>$)O@haMC z4!t+{^6{adT<9n?{c+}H`&Iv`=aohJ)6Q+{gTIY;>A`zLxL2{ycXmJ1N@T!b27QIY zIrDiPmhqh8Rebxov7Lz~+Dpxij@GXqDE7calIB>1NG25;kd%vcII4mUEV9xE=%a8w%;wZWe8ZCdwz8|_2j!md<$wMjzNLwLT*{;+O zp;$c^)`~gzTA!Moo&cxVZRDhkI8w;ic8@gmF;kc*YMHdY0gdXNTQuk!z~|M(lWfL=nkdjFc#nZJk>%bMKKyzM_0UH=tBY=4dyrn2Ke zJ!qXEvl20nKcjo;4{ z!h2X-s#$N)KR{RDRQd-Bk$wbO%(aW{pe#4lSFCpiJW^ZZs#Xj%1(8UmNx7bGV10(+ zE_>DZGllRo%(OJ>hy6?;7~x>Yecyc5!8B>^)7jYyi^G-DW>)Jjm9B{IM;4p_8-1~= zGY^`Lm%ILqn*lPdO&a^Xr51q^o|iYL1I-X_I9aa-yKmc*hadS=Tixf6`r*7~e>i-v zygWQi@K`m6JpF_*qpSS0|ELY4pbYgNtK!#`5ZPSxUQddf5ow~CIA{6~0UGpuH!^QC z{fO$=iG$usI2rh=wbl{)QWf20`7jFjcZIREVGu>^Pv1>N@Wkw9D}I8zUyhPS2jl?7 zm~yvbri}N9;TaVxSK z3r#Co{d+9sYM;ytJO@AzwB=J9*mOSgK#j%PVK+Ey+0Fyj6RBk`6>FW{fw;1!np#}c zER_D_i6-FueXNw8-<7%lljl>9ACJJIDhANCQ zWQ@)wvA7>9CGaFI#`?I7*;I_kabG+eXrD*Z&O&R&yBt>D6Rs9!+x(tvPzsJ7^vygRIQ(WoxnTHa z-ntzLxMc4j?YykK8tx34a{IAorfSITq_Rc`>w&c{g+!0u6-PwBJL9!+=%QdI?Iqt4 zg}9g{7LQt(v`wVHmpl>D`Op|_W;ZRrtKS*eRGwJ{x!c#>m}V5IdgR326FFQmJ(+CM zX&yloe9d{KwKI(9Bh#@C`RtsonBZR!=0b0cWiUUiG=V{>#lOTm_N zKbE!XX>`aQ8FyEGL4o}EXNDkmRf+VucF==mp8dEUzAb_$N%-8p5*5ji)=di8pbz+Gn-{5cg8b6OAm-nS=V%g>S}`lv8Lo%nTO6g+54sPA36 zQ;jOA#A~wNIJ*eZsf-gLz!+jryY%dbM~5lKA-r1bi$Vt4`a|GJa8`qQSnI4qdp0+( zz8A#lXpcvbhGkb=?TN5$L~DLt$|O7#>#JgnA^H@zK~gBz>u*R}PMYNM zfyQmq-0<&cLNWiusK4KU7Su8OYbfjI@V}q!vR@7ks4eyvx$D>TYi`h7xVWxNxY!md23gF|YBzsI z%$k#IsL-#s--QbpxT)Ce^?!LQ-NIp}+?U8~@g~{D!Z;~eFtmqf{?s(i7i!IwHeIex zVk=gsNozXnmsF4qlnpmKTcDLYkSrZTt+@#me+nL`7_^^1fXJ0Dqg}4NH{PkVI^s!t zb_8{bL!EV4-R{o!A`JsQKeoEB9Llz*>wb5)ez>zpz)WlZVg7h~PqAk5QyQr2^Q)LV zEq8dfI~9*~#=SK^eSS4;f27i9hA%218$xjvJCF&I1n8FBB>!o6&pd;F%bykX<8HIg$S5I4$*k-I!3o zylxbwoA~<#?GR3Kkeo8W#KA1DamT}oEq5omr@J35^(4A5DwTa5Opy5I91xqn_iRBf zQbJi(1xs-`AR*L^+Rsd3>RI5nma!|AmY@<9tErhXyqjEh!~~{kzPM)-xBylEAwCX* zip>>Q)Hg2_pIw83kzc~k*;^!`!TYc%gm{L4=Fs!p32fF+taOwkLiBhj)fj@lZ$Es~ zwN%4GmporPV$!Tw8(}9o>63K)K&!BY16P`ySV&VQbBw}vS_1ACpJ^7DwkU7(6o4z^ zFI>j0u!F(9F8ub~uE(bQV0urjW8&C7uHF4v*klSC>eh#5r{^lxCGUNg7CY4m^2)jk z-5%c$$cL9`_Cq^&G?WU(6Vp-d@eKgt!Qsn+?ac;%CgS_Mb=6gy`y=+FHsiBi2FPP8cy#^y zz|5+P=xw$x#1EA{{6&Q~%OM*YoqlxXT^68B=DjPTHQH+>2r_wA${n|YRQNT2-aF9#4p>i zvKw-cJwMWBpN&!WAYJ$cBYrTHCN*kh?1^S`%KRQgV%ip;2<6t57I0# zM4J^8pq@Y`_Hra8Ol21n?;(rERg(AA3-67)7_P1Tju+U&P2n9^8IqMAV!hQAUfJi0BtgiRmB> zFo{a)mkJ&EJU=L>f=a!4l}F#tF{CMi8jC|cz_uJL=@gTjQUH0K&pHV|3K+Odk&;Jc zZoilH6cNq{8#0mFDI5r9L`mOaDOkocmkrv9We@Pf;*;FR2vvCziSX2K2-hT|KLQuv zj7LSpOpVHeF_=xLK8Gvc)D^`mp1bmTUjP|yGNK?Phk;ey)2#^^)-|?(=PF$0t;o0+ z+@-;=x_N!r!4x^dHHWSwx-#bgwk*|v!uSIQCZI_AWGMi|jb2QVt1-i14C@?7I;Iw# zG)1?LP(lQl{j{$!i*_%}h;}}!ldv%%upDnIRgHvsk02$$OH(=Yg;;a(U`}EW4hGib@D>8L<21%*&TDQgAyxnq0rWW)gtc_tV#k^Y!NWC+x=(lOc9aS;G7#v$B+3l2bTgl5{joYgqVESIE9on4_}0W0-iuV2`H zX64qKA$Ey&(yTDVEm?X=vST}5{Xreelo`pH)gDC$)n6HY{vo1)9-sa!7{-_8z(9qw zAzLFTy2hYq*{LU_iC)z&Ba-IEOhf$6Wer-x0|d=GK>csKn12`JUJicdfak= z1v{#jUYNRQC6QX(59+#s5|V z|Mz(Apa05Gg8T=iqd@J%r-Ix9`E0>h>e{~SpNG4WF|;LW&H3r1@qZTbXjJnROGBRa zr=W`j8qgf+L6C_`jqRp2Y-mlXb{sSvCA=6E2x|V!yR$6Wa5h=tgDN?t&``NqWB!9W zEhVaVb1)GfPeh8da(gJ_{cZeGqt)JI!9J+$0lW5aC|mWV)l(DDyfDXjwPtt`s5H`~ zdqW_j<#ZNb6HMcc|H#n~T_ms>Ip#6EI-DR;H4SNPcHUgXhmhaOc-^0##Sa#%o+fZT zT%Yy(3NzSxe1F_|%BqiS|8Z73a!)}Be86X4^Vw;f#rA&1hNax@HgQ2V`b&7 z8KFR<`n06+XQ5GjKx2IXSzg0zKy2Y2u?7YG-A0)1IUzAL9YqW~f~RT^JCfy~k0^=( zp>Qrph|A2-R=jP`P!F0Itrzr7m@3y>gdAubA`4e%9IU-!yq$0^kG-B~RF<$UpuZ89 z7idL{W-4vgMzxxR@Jtkxin>u4mCkl9zMcXHs56rLA|qzTpG1eCm>Mi%x+4UVK0wX+ zaSa;hhuLI~9n0?w&b+>F@(eUhOlpX!%?NGaCNd zq9l~EMg*FCjh7IORn?v}$MiCiXbD=IqNF)X@yR^ku|Xfu6d=@3Rjg2#Z{;3c<4Z+B zkGr0Pi_-YEX;5CbPWf=UX#_-NBUX`znA|#Z@q)qZF=>jSY*oPMeH-b$q|UcZ0cv{h z*X*x#J0v+@V}89AXhAMMa$Sni&u3C&tb<`EuaXoiv$z<*1!&<7kqojj1_kOYSlDsG zkYo0mq?VwR983%`h4K0hCXAl~ad9Ry)3z@rtTGWbCv?(aYo^qyh0BNK5NGX#34O8Z zBvowiGJ~~4^ApAdi4f_Gk5$mfmXyTZZy=@GR^cq3>(g$RIxaBuN)=1UZT0I+wLA6m zVcfe7!r}UO_fa5rKa=%@TO~k$GQ*0iq#Ccx^@gjmUBSXjxQU6go1QEstn9t62f+ z+@|#$f|}Nxbb)8Pk_c@ITP7b*ocilsG@g)=?;vtz>u;kWTZV!^ZYVxIAitwL99)t5 zX|C1h{*>r-OBxJ3*0){8z%Ot|I%OUSF$j<{HJ0rqSw+l*4^LncEFAMh zALkmEh*Nh!+H3YyFk;oxna`6b0W_CNiB^7s}0&(D+k2np#RbYx;#n1qch%G-;zcbp?z@Qm+0pB1jc=>#GH90WuPOM)bt|EIKx%i#AK2_eLc?tk7}sWQaI(7gyQK9 zAiiJR=!-S+nE6s6i&Zx&cLaooKy^&KBE=)n+OwMcA_~lBQ^`!#zi#S(5nOcofrVsK ze$S9V<5QpsUB)Txtjqv2d*z&HRsiRo#FUV{&&gy?7FA)}P$6p^S6&XfGOBgK7mO(C zGKwsT^j-46)-8x^q_Zcmq-w2b36sac27@*tkMU^Nbmq@md$g(^HO*3?~cX#zH_< zl60kj;Ov=npiylJKBUBA7j|)7&Z!Qs(8{JjWA0+Vj*ab!7R4J;t8(L}w#zeI+C4dK z%iOHE_xKf#1&#dr$y6hb@Uekw;PO$&bxz*CHD9fyMtLwh^Y<`%wNY;QxDZF#BTp&` z@MF||fJ(}Yu$c#}r1~|;sND~l!gCd{+G9W24o73Fn+aY8KIf<{7Cfs!qop)^qvncM z7t6G|2ugi6CqE;Z3avyp5bh~zCL_>Zh;i3XO--z(!x#ub!uu4CH`Hkq!l-HToeW>F zAHZ95KK5La*L=@aoM$64}62G}ejlaVNP4u)NUqK*H5I?AsW3055b6qHi*f9wBSarrBW^N+*-KZ~A!5j%f#b4iN_I=?pl*HGxsg?fKQOrNRjh^6v` zi@`#S&w4KC?r`tlTIW9>5&xcdgyN<0-<<^gb5IJ{@G~@g53MgTT`cy?YXrY9P`pfi zgYTdO4c~hkEV7JKTQFXv)@gt~P+KyeulOxQyEt}#zTPyn$XF7ST)n~NJg;<6)p)Yy z^Yy^7B*)h3*B}_gT#W|C9%xX??lsqJrLjLWC`ILa?Zx(BvY_aV`PJq2P?jReibWHH z`E&)v;Pny?;ApW>eHL<$Q-3-w1USu`f2=?6Y6=|W8PQ@j-ew48Pp5aSwA~{-Rai~q zzH>Ulh6bhFrs8>s>~Bs+rdh2JyIr5LC)kXBX!G1W+NbdFZud4jd_eC?_kLlHq4l{4 zt$@%Wbew(d%RAy(Lf~5wvvu=TPT+b#1AMNQKVATqDxlVfawAwXdTs%WvW`+cpsbNH z+w#MV@kSVNk=a5xM}S&(I4@j(d_+1tfK*8+4Y(DZYHn9GS( z7lH4x)xI&yHB<`#tR{x@0!$)wWg7EB%`jAUk`Jt?W>OqOD2%OKv-%Q+flYp<=~LbF za&j%mI9Zvmk*;I2LJfqzrEw#<;Q=g|n&cGYc8mals5nYfF-g{3fMjlAwIXUMPXyfz z2yCW*QU1F!4Y^{$OtVA&KqvFq;*sMdx#G|ct|(v|imC-Lo8Ii`llJgK@t4d1q4*@z zkHr!u{q*%26_Kpm1Pw1TXG*o-nTH}*ZWMCo)G$AzS!kqn^?%=j(kfyjc`;I4R@(?H zu(El)&?Ic632p{A8>0`|w4-P^(bZM)nt(d#8qwc(oWt?Ve zN&`LQR0ECVo=Ir0)Y5*aGE>Szi?EodS{7kfg-M1n+rwV_2y)A;{XoAwHtwh2q+uaw zUOZ=v%2(i!Wp>RoZ{2{x<0#w8wY)byCfzbU_mTJ7RG2X7XXp02G<-m=pKgeI?}(b(O#v<7d!{qIY; zqZGb(Hu-$h-$QjEN~U~;SLJdqEJuD^Tz?!xKl6HiwYv8Xiyy&$+So)+bW+m)d!ht>G3?89eJ^*W*xWg|*}Z6JjHi0G~9 ztIiQ5MzW7Wi13jOTsY)qLD+u8`#C{E6wgOO$i+9_T8MR%1J6V5HT8sQ%mnBkWW!iG z4L)D_^^_FI^I0AdA}V5uaBhr+(N`Nj?zxEYZcqd|wX746VT$rYq9a{dw(frF?~0A8 z40m$f6oZC06QWc`M?M;0kj)dw;Pk|U|;cjIsTZ@a}3-8;I{K`px*#o~=uw z3B?)k(0rw<&OzEi%Uk(GIGJF)8uHVYxvR1cD&LrwnOomMH!c&k!C1TLw1%i+L<{nP zI#=Y#+M^z0u(FW|VP*!zE0RqH<8yjw%*tGHXp%V52^}nwH1YT`=F}{yIZAFT@Z!^2 z2+7GwA#(h=L2W?~@AEg%6!McoZgE7EVbrgS)WTH`sub{SS>rABt>#2v{i*|QY6^Hb z5Bw+WxgyWQ3NP*t6ep<@L7uP6lg1Bq?nBbc>_sZ{$d2w_hq8B(t5kmUw9tzsR%Hg) za^<5@8_AkajB@}hl83Pkm2cF?0%ka~<0*w@an(JE^K0^qAy&%IiZSPAMC+<0twNY2 zQI>WiTM1>_TN~M5X0AmY9*!2q*XhnS+>trrsxQ zpl-8PT8~*vI9<8sw%3Ud?pl z3xcBc7amzJnuqzlhRb|s7YV|}6AK<|<;U2P*Ir|i1Mun!hM%Lcb)d|3y1_6i(IMzn zSv5$S;8z|fX=z7haoF8FoSbTeu{4KJ$+bMKg>t^2C-4sF!EIu^ZoypFz;<<1SDcRZ zRNa73y7m)Se()#@GmhCxOxDf|T|i*n{$Oa*2Vtt_GK|8**)IY!DC^862X>mI$GeVT z!Y4Z#g_xcRsh2pPFn=u~`|~~3tGz!(qWlXenSbI*=m~Tl@o&iC`xzsDw#k2e{00~Q z{1O_50%gcK9sWP|GXK}E`QI*Mj##TfUGv@g5@?&q<>K`H$>G0Y^6x>rf3?5;M<|(7 z!LX9y>7TrBx~i%R#^d?D1=I%61Qaqwvn93*YM`ho?T?Z=P-`KWq1G87-85Z1U#8q$ zq+DEkG+)nYQIg7?0Ij`at{ht)oCSoZxxf@lE!LmSWqgLEc>`!*)GZAqv4}ftu-ER2 zVHVA?Y-HBX2xbjs>zl9MuLX)0(|a~uZ;utBH>W*eRW8n%s!y&wJ+N69Hn}32hTh+f zuXV;|Lk<@?q_+mLL#26T6w$PyGUqK$6LeQ$(C4KwXrTh8TRW6(S2Ov6YS`PK}yA zP)jB!tEb(+r99O8GqKlbJ zGfGU2Z#rur3f=z|)0IqXk;?T%gS_C$o=aFPj;BkS6nrkTzW$sp=xzhi3c#^>AAQfU zwUx`sxjiy1jkgmgJH)x^tOL0>D-Hgrp1T;KgOZ=8I+W&9RKBZmh<@LScT}l3UA0D} z9_)UCe)=(SZ1b6}d}E6*%j0PeO%B5`>Tt3CWhb$&j{Oj>Y=thBIJ@Ubl0`y`=)Tv| zz3rG}T>gqKg!|+DPNl3{{;5M8#oc)B+Y8qV)qT$=+{V>C%fOF6nG1bRU(^YHorwIx z;0@1%Zx9So{wJVQq<0G9DuDPd3Z7oZ@O4+v%eSihKAA>-Xw;dovO)X^c{F~Q{Odjh zaDt(I?>@1#=zS*?{d8nIMg(CWl6|AzAlP$#=FRn5_Qx4hSL_Sh!k+T9l%F(2XJmZ+6C_N`(@}$O&G8p>_LT9w+^rl8qn0$8~Y$m(mw!zsKJ1z~Z z1~#E+;@J*YcgXyZo=Dgl65!b#hCs(@NRVL8BN`R7vRT-l+>!Xb;$B|_77BZ!Rwg-- zc!$h_O)OFtDj~&%`1I6n;41;LH_GDudulN>nL|0~;;tE5A@&IpLMip;g(;c?R*6Ed z$tjLuBm-(Dyoa=MAB@D)AS@0uV4nx3oj`(3Wp?gmY+@!q-gzW`v_Tn;Z(*_y_sIP?%QEOu)ujoO3jgW- z!HD?;Aj3ppPYF8n_^SUE`P&GC`^^&lf)DEvvbp{I@vLkH|&08WK^Q#-k*8mqd!mA^E4UABygisg?0_6+-qT z3il=tRPeVG^0~Uy^-|Ggc*RwK;I~A6h5Grn6DmLAB-rhdXtWO(l6}$W1OZlHwbJg{ z(TouTAE#kGculp1t?5dOWkW+vklG~e4PmU4rLjM7{X7xd7RAp^mXOdQF^YBYD zv3_h=Nd@kWWT3nP^SeNmuQB%(8Ejz&pODq^Oqyl0oni&d?aGWuc* zHoAYhPz~s?+zc+b|74n`42I1%xEgk4RH(a5B@^7VKXzrYgDj@=_nUOSS>W)2Y-fJc z+DoO=;B{qN$i5WZ%x`g>Si%{|W&C3%-+z>jXfQr|_8;}j|8x%hHFZMkm;VOp{Li-e zZv@Ui=gnW=S=NHC%>1pn&wqu4`RifMKSV!66-{XRGc@UBG2ZWHYwhv+@=qN4uZC3r z{yhJKC-C=jXrhYk-csXaNPO}q-{-@H)jrT@KHR-4Drj6voKPrvs#_dIM7~1oEcSwSu&y+|#GqrFeQgKU)JBD>7t$v$$|=I9KJM zx~;xgr@hqVTW)gjSbw%@&xuKah}U@8+Lgd9{M7PrFfif6RzKqDe0oGz2(4dk*W`2o z+4L8ShCcB~oF8r`ygf`af|lRKik7!KxkG-moY#+gzvvN8`kanlpr`SS_|^EAcRSN* zzVP>$>;8K9V(XuF#8Cck97};RRVCNc6WGVQxNq$)PM09GRw^ zH=I#N@rRKX_ND zHlUFy-{j`_KDb4r1bP*jixZ`FK2+>4OMS z9kr#o0&WBt3NdejJM#25-}C7lo9xK9*)~U^b~)}QrCV|~uvTF_h#g^!tQ&nym$9}k zLPWC*E7Q!eKeFs%b3I;$3*5z?l{}fKOM5u^R1A6W4MES$L)8s zO(6eiq}=;}h){DQyY2Bl+-F-7?XmAU|94I~8+4(J7qAKZ&&X}R8183?!MzeF4U%)e zb|-|V<48j>+4ftLB!W{d;J;{iNAux(&<~S4ehlDl07SMwQxurUP6YG|a$+VHjlv=( zdm|PgoRj(TGQWdhrotaDZsS#Eq7YqHR0z+~8oGC)FpbQ3fHB%8_9m=QK8HMsj->&f zliB~*-dje+)vwvU34sI&1PSi$?gR-^Na618?(XjH?ozlrApwHBySoMtlFF&<-S_P+ zeQx*e?t9Pfdou4~b9O9j{LwJNWh}gwU z>R2>MjL#_!ptuT)cA6w%yb^zj&E)4bY8b}g{+Yd<(KhSUh++w=Uz}ko=^U<@>Qa1I zI$|XB$g)scDO^IuXIikalALHNOw#MiG*5j}dH_xsK$1b+x)j=wX2J-S0!W!^hO$An z2R&9J?&vp~fD}@#J~VCBkbVWX5B&5nqB$%swVG9;ALfkuBD^8HiHFd?@*dNv$1w*U z>?9Gis9LdxZ7%q5njmlnHE9)7m-mVu;UncC%`Uy1AQ9PnKI`8RK6@2+XW+^68A%?@gOlE>oH~l;Vsp^;GNrqpq16;rA1eztlFN#jdI+X!=CxBc(iwE=KX9K{dKWcgn`At z3NJ&4Tzx2zHvQ~v$=PYNgBtUlo1 zFSGlP_~U=TrK#MclP)Cp<)E$lW@Gsep#1aUKLIhn-||oO1pW(5xf%w85R=JeIiCfw z(Pcw9?6;jZKbB2q3nbD+L+08cHhS*97Gz3us6@WOg3kidHxkL!2nl_;p-6%BjnFho zG@q$7n9dCYBIl~sD!Jmu*DBaf*Sg)tuJCyi={I{dZ&7uk>KV2N6ku3$c&8b6N94&B z*E^?}_a}_m9SP{CSPp06cM^2ECRvXc0Dy*^v3^M0bG^AE2PA?|vAUh}`cC@Ub$v6^ z8j}$TuWfm2q)<}%bd|>GXwmRMS-Z>j?!p$rl&K&*Ubp-mQytC;aLf0b=#>%759s{B z-s|f(`!)hb?mr&q7IMW-Ace}F&xmGIzHbPq@&ewYFK!0qlfx1Vzf~yP3dE#H$`2vx zH_;D;lEB&yU&a^P{z%nqrfT!U`_LegJ6bI}oOM4e&ztM`kkn)C_HZZ8xQjC*N`zu) z%SMO-;#n54KkOzkU9s;ahgzp*C8_Cv$aS?`j*6poARTszoQNj->A(c@wG1mH(6*Lc zKgclIco}4BVxtiJHODXHwMn*r4p*sG5C%L+jy8EYRdAHXy;)W$f9Zjor%DD!0-Hk^ zbxOR-ZE0G(15QD_lYcoVw1g+D*9aUl++rbIwa+*Xi0H{Ul&qIWBc ziL@y^5t?TZ+k8yf7warOLG{@&l*DCl~D3wVHnw7Us99`Gt z;){m1)MXD2=cWrj66I|D$%>{Vcc_>ud#StR`V9oL-_N+2SLNv98d4Q6NOYYLSWB9`r&y9i zM86A;s~dYgq~dEdGf9i8LB?@AbiTr0O!ZX-FsxWVXmd$~lbow8N5-C(?YL4C zv@O>u=x}SLLL#lj?@-sdcUsJ2u;L0o{9uwVv5ay(K6sq>7@pLX!QL=5Dm$OtL)(EC(bh-_!Xnw53=E&#Nbqnq)#oZEEAN>TVE_xq19rvqacdeh{=>j% zo(1k4`wZmhWiY%#PrS$@j<9FGua`L`sq zWS6^zg7Q>TwkYNnuAMUgxY?3;FC|Yj`Xf=wS^3zgVTsdg1xa(3;xrdH_g#Bb@k{ra zbf9GE)rgYt1B_zg3;1FZVk$jR8f3uM4H>X%6^b%g$qNN8AdzKUj`XI`CWovdzRgSt z%~iN|Kg!Cm_?;qR!o1%@W7TvZiPpsRmo|$gau?@{Z&&Rq!D+YlqL-=KPsa=06w+>Jb zY4UzO9Bqy2Hu*)C^1do1?Prbjx0}KO%=Y(*S-IH7 zT^(FnT@RNS%S-JuuSC_%AJetnrH(Zjr;=IM6k`?846uQcp}GqIHDazAiU8fB&AHF6 zT~Iz!p;H`Nt;%j7QluCcLAvGQ>C`@;vz-Bh6k5PA77c%~eMqXK;m#zMA^Dwt*igcD zH!-3PWywTj(_kMiW}7RylU@rw^pA~H^7)+ZP};*c#bf!Rg+TU{o+?4i<)UM#e0DZ!n)s7po98yKc1n%&9uUvG~w*1}8i|uA}{U zXWiPtd4DI3=X$;wX^E*zfaCs)KRI1}l-+Mm@?sThV!A#o9j(BDh40Vt-M**q3{`OE zJa!J>oGb*o3QT)EKPfrSOhk11s$V~OD~0$%H?!;dyXsJ>PYv#AMy$hc{KUO7sR*r6fz?!E{xqrB`M75tJj{cB zuHSFdcb2&aWK$}LseVeWz8HGaZ9gY@Ty4|dLQt?A{Ze704K6Uf$UB>NJ#R%PNwJfC zq58xmf#Rz9t)f`_6s@_MnGUtV$ijmn}9GWXCw=( z)&RuA#d4J6|G-T$?h?~-U1Ni?ru5ZBz9efJ7V$@e&@+r`XaS$KMx}*Ty)rCb@X<#hVpoK9jJCX4Ja-&J2f2ObUOAXc6!x@T%(g z?asaN>GE2-0D`}tB+Kr3x0P-@Tp##0dTSojzV@wK8&LhJckh|o{gis5>kcl>`2i>D zw`Q*UQfz?+Dq+CSQ&6uO?+_pM7!WWdv;p;M@gpLCod0+E%{SawLhvpF0ghjYZg|zc z+&jzp{1DvI(m9NONCt#h$m@Sra}z?Yp9lgke$m%(Qo}=Ou61NP4MQ9v>1!lIabb4S zhjYggp$5lAESQsMWjtr(gzp{pNeRLGQjXo6QvV1jnXA1IiLM5%GO^K zq7#*cN50>`_xY06xN{A=d$FHs{UBC#X~*{PQ0&8YP3%{}U1g}DbY2>n_zFWKGW;U} zaa6Gc$-*KvIuMsUe^`=NFWDK}gMgLpm?PaVVPWaBrS0@SGi;@1)#T_=QU7#&!WuFz5{x@G0b1!ED>hmJ)(l`P)xCZ z`vE6%PVx|#7w-K&Cg?U+-=A$RhVY%DHFJf~sQFIm-9HD@JUuPF#~pCMCm zW*L+Dc`K)=)yBZ)wJF-H=DJF2TXL=gJ?R>WNovtt)wc5oiLt`|=C%z0+&sU>x=wVm z&=$Rkr|V$H_neZBL`NH>mJal19no&jI!4!nOo^4c=x)FzWBUuK;xigIog+j9Cj`mO zQS9$(P$jy-^oi=;I)`8GBfd4S!*Bb9yLm^fF$FQc?RXoh@|DeyDVPFpW)|bTZ+XNd z{Pyd10<7Zz{`sZH-iLLp9XA0s@Y^us)twv(w0>S5hp>}vD83~ z@6Ds@WV)KzyEVOWmiA2Vmp6sJPz=K51c+>kL3sy)|#W z1b&VnB|JN7t(Snzc2XK!wOxxsJoSsl<2EPtsj>qHjxi77!&wk@OO7`(>*-3O>I}yZ z98R014#|}}X)l(I&1BDC`ltH_ggE#c2O@%(N9TFx7qeL zH%Z5{fb=a}K~X0q+tn|XDB8{s?PW_(flAXHUMC;qD#Q%V<^_?Mo8^XcWW3MSU3$mON2)e{&eo5qH}g!FPPoEppn9D)>~b zzsOQa2vV2POl}xL)TmLpw@I@Tso~42GeR99Ga7p5OzDsuVSTDHpq zkVlyj)=KFN`B9knV(@_Wm6LST^j9$FW-+df`=bjyAjKH{U;ssqE+zGW_d+~>l09lHH$ z&RyHnvZp)uGdMx#j$@*Z5%!D1bq1168L^fR7qz-{o-VzTHqUy4mf4mkXYAbz*SjTr zxp&5nvNktA{eLRomad8U+#MIja`~>m;p|#H7huqP?(o;_-uo6<-TnRK3!ybQwF7J% z+y zh39{yxr$@X+95wl6aFqf&63raO&%U5K^c*dT$EHu%{uV4@!3AIqEVB6;*G>b7Ag?5 zs?4C@IPxvof$zjorokgT+i2J}eZXpt-W6I}z5gK9WoVY|1NZ2ad18874~1p~Hk%!X zV`e9@DR<$+@O7CYgGOah;I?}u@|0pSIvAC*-6L2=Uj^3F99~60+fdfKeK*^dl@izd zo+XGPDf@x#Pz5i8EBJUKJv85Jq_a#uR)Q^2Wcx5KC3Q+EoK1z$TT4vBMS=3=jTJ2) zqyi>L{)IDKEc4u32}u$j!mU}U5?YN?ANbkS@lhF$szmvk*GdxmH=L66;_7;hfW_sGCAwzuu)X@uzn4+s*NZIR3iO*VX*+UeiIIrr_M@4 zbY~UI?b`;fa;sUA$YpF8Wh%un@UaMw<;1j3No^r|nSrv$^3w60ik@{<2*=9%4RT=X z)N#}UF9;bKbjR#~i0DAvx-uf7$}%%XVsGob)@P)eF^5i*>L9sx;jGHA!Ds4b>9Ef5 zh~aZWPn|G5g16#f($+$3dtbD$UO3sJcBif2`x7_w37*qGFoUN(BJZ2x{2 z5kSgH{{``4|7`DNumSDbeSPBq8Y@9uZ^&*kvN|(UNp2i>R3*AV%MgOQgN{n4KAk0! zJoKmfRKfz|-g7rw!~R6ojA`0^wh0U=tDO2w)je&}H}2zB)Q;gRQKs3}OXE`K*N&5( z`>U`x21i5Ik?($BvC5K7MiHnh5Ktb7pCGt4G&xz4lpe`=KF;JJ{mX184*4Imoeuv* z>+BH86XMB3B+q}$lmFjP=O2drze%7FjS~W%%i8>qnDqbXve7T_l=%n#eocESjN7PA zIqS{^*ly$}TrE!jA$k7uGuQ7s{QD;W;n2N*IQE?j!)Mx;E;K0DBxsMg=*vK6 zJIk#lTdI~?-Aa$mG+G#ETijnUW}mdwj&%f}-IH0h*8Sp8#`TldE9s%MTZQJ)CDPr| zJa3zGsrK!I$ujIzovLqa#|s6$^$-qaK3(Beo}oB{aOheGK7>PgIX5;#JTWPeFx;>9 zCT9p-`BmJV4tYR{$sS!DPG{;>V9yIAyiUnW$T~ZRuaDc~y~;=fuOVpY2SFqN=<5Y?yZo)Gb*FFpXlzp3GQbAGTV~qmmHdco5E`~7UQNow zF>YO9$S|F0`(vn;I<|~vM(sDjmAHlkcTMb8NEM!3(@6SCWxbgWE>Q=oMFoDF-Ovh3 zJ7|d(rMkMOBE5skK9lh??6KtguJ7oz{2MBYtJOYL;d&N$g)a)k3ZzGqy*CFfp|x6;H? zTgDwzcLv%QQr&@96+CBm=RG1D9X9aB-nwlDV**=5sScvu{L<)is%jKMC22lV_o*N8_>*sc3V+R@4DOg3I8E&C-I`a>1(O) z{FTE!XP4u7w=bXQtMOPZ-*1XZKhK^!2#?jvgQg_)VO6<$E|cQenX>R; zKbU>Q=$8!v^A_ntZ#nkP?IQbr@X~*0d6-R-vLA*4BGkwd$DwLw3Xg3t0BEIsB}c0B zr#Ve|_ahY0XC5E*QKR#xuU=TT^Nh3nt223XePWALX)Bfi6; zQ0D|kWD}E#KvRp1$xP{nkbyj5i3pdw{vSce@=#$(Sggf9 za^c9zH$U%s1%V# zl}L#MxTH~D&UosQk!)9EOHELfr8{q#a4wmBw9BEy)Ayc!S! zQh8m0-TCXF;Te9{kXGF4v`VJi(KI_42%%t$1O= zrNU@_}w1HjPn%Qv$RleD}Ls`mJ_;xWHhLfpxOvS$2Wwn(o^WrZ`7 zc5U}+tkepYQyM_WW~9wn8uU7a!vcBtj=Xyv>3W8fwcv^NynBPo>h}<*PcrVdIP~p8 z&-;mhJAABb4BX93mI)9l4b$GUWNIZ%n*JGJgR`Qe5>{2T`>VTMik7DywB>a+x`~}R z(_37`ZrQ$uFRKnx&%Ez-?=$G;BO{MOhp;x9dWrq3qA7z6A6pswySvtSrSW!O5ng-& zoHL)q@fwa4bF#jaafn3_+CEii)xpcDAIS4EK4W(uR+fQxE3VwLeR8=@$Z}R|0t^dnQP7DA&W`#L3W3o^}qWA{~rGSNv{0ov``@XpBZ#t zB2CPJApdh>z&I)MF9w~>&-fFA!u?`Ujz2M|xeU8pg9SaPp*ju?Hs}Tnu>0?d# z4y`|mlXzpv&(j3nROPnV?~w+cO3XJ z)OVx%_R4k>FXG+Q6XaB|A=!*7AaV^=Fkml5lf`^7RWF5mTi+LPf}gIO zVb?QMB5gAdqBOMLZ#&4v;7KOW3&Nq^13F=7lxDG!mz$-#j_)26#&OJ37DtFiEEaua zfuSnYm`N(l{l(+P?Z)29H*3lpTgUaD2A!6Jndz`3HcW6>?ZulZ>?qzI?y*rJSeJ)!?7V zz#qrQez@q>O2{f72P(2{O#xo5HO`E|XwO)vyh9+F#oK$Twixo3o_8`(JtbYhJxgwy zSL|-*=(g~E-|*=v0YI^gjey|H)yxR9-E^2(&pKIoHz5KqHmiW#-_pbhIr^o~6oA{a2=DnC}>HdL* z%mzD}2}O$erB_? z^2Y+XIGoB|YDVrsDGZ0i(9_*bwm{&!ePEK$(YhW1ci;UMDr1p|cz~M(fp$M#^vXlA zCZ5PB1CMyRG4nn{eEO)j#C2L8FXmgqSt(A65#fa_6AnX|v4Y72;aOf??#uTwcEye! zCr;s4Soh;c`4cwR;GzSrZu3kRgNmFjNooF{Z4>fe8;l{}3i$_Tx#&e3rBTU4KJqtY zLHyw!_}FDOL<2+Q;jvUWYlvdxMa9db)I}u9hm|z9?|m^w{21uxMHn$=4nE&Ve>NNv zM)Oe28lSbYgDS{j0>)*4<;Z+{sDQCJs6u;H;Fv#s(2kz(h+G6y=5R!=?-`ZzUac^oj2B zsT!H4-6dTFH31B6#(;3AY7iOgkx(Cxq|zLXlS>aGvm$MQ9gCxNc=bNQ3bfl7Fa{k&qeumqjXU? z(H4uAcs|nn0;ko;suSE~DhPoBu4C^hNBb6DPFiW;epBb4CPV**G5`K0ggWQ-gdtUuzp3+|1OWe!+{XVn z>Kw&vFpU*Mb0j!x_;xUZPMWCWjox$;TCO@W|Ip4M1gdv*h5UZ6INu1OzwW2QX}!#` z3`Jw~>2x>V3$f?SCBWm+*`IA_X_nz|xw}Y`20OYQ<99yP?nD}JP7t(xyNO$9$?e7m z10SxhLw#+3Z6Li!q0sRq+QQuQe}&o#*+Ak@!|{ce>B|dzKaZIogr=aDAB@Rk1aaWo z7xF_1L(E7*Nm0qN!|4iw4MOvqs0=j@i`BNHxE`Um+_3i#cOvJjAR9=!FNZW^MJUY4 zEI28S$c&@sLUt3C7~Iq1luV8c0%D{=d#NhTdwZ!y$8L*h#wpkodgjgCiy2|;NBdb% z(d3lbZbG2BZ1;UQQ=r-%wOPE@c+h^H69#Z5Kdc;7Chf%mZ<3_WOhX;-D}-YnBV|2& z6yxauZ=lvg3^0lI4L{a%KmaZ4m4NeA9?Aq$pkOUsWyU=+D-Mn<)T%btfV4H^a8D|E z=mGF3wKEUxT4DV?fK#jSoPIjXIbd34z=8}0y$JL1{h8^^CkbkaJ$Md=#I^Az2Ef_y z?YZR<28gbGIXiRv<0Yz#NLK$?1s;StJN3Fu)}1ay1hZ$WzYsVh*jJz-+|2agywtoD z!#O$GPZvBfq{or>EIcH(Py z(ODT8?#>yVn0T8Hw(AZyIl4D1js=dhjK+b674F9{XWDir>Ag8PJ%dv+9;?lyjqM}t ziQxPA)>nkQhcy?PylMlvpIm&qud^LJdj*<1Z(L?DJ$C8|Roem0{2Q57V~VM~PA`3Q zr~D6SQ+*z0ngmv#ykAiX*xtz6{@i~s?H1Vkp{V6|ZkqW*)W+|bRQJb?@aJVLWJg%& zJgD1&&(IMFK4a#amIUA1U^!v}ORn>_KEm>&K*a=|u9F`LG>k-~e|+z=T~9qEbY&>~0$V~bBreXMtq2cALJW`+A8+bZM6lE=HY%P#oFp|xjhO(% zs!||^r7=#`Nsm+GIQO{fA+fVd;nbQIPwhzB)762I+Jr@8?876!jd{S(-B(B-QQ9ky zz-BU81_{kpmISaB=3_0}DQ!1M-gG8QAE+r(?PTGz&0s=O`mb&FMi;&t?T!(S!z$;1 zB`7Vo;c{FUEW~e(NIw2(OR%#)j!z>g>s@b~2;&2J2pLi}BR|TmqX2T(5vZ2x`?x;q zu@%Db%yH|JPRHc{^RpBaF~}{(<8g{SUuc6ei7c2?OytPIh0KMlEcmmwhfE1!$N|0< z@=>1~f#0vt7?lSU-NA3=x2!A#jEBYqt7yyOv<{>?DCVy5&?-)|w3MqX#;Ow(G^25j zim8~m8+h2sZN_9Y^N*)1B`m4~%PYQ4N2nBoS!=w%Ch8zS&GWr>DG3Z#&-unfnO$O1 z7s_XDPz<2#FL$DSO`mAoB%&A|l`NI%U1o^zUUfW(BR>%x$BYzrX4a&rF_IfhAHy@k zya+GaeB)$oogJiU7Trt{%ua79t2FDid`H`*J!c!~Fk9IZoHKHJ7?nU8dWb<-YwH4LfH1I5N4rar;2l}xr*f3=4PRF*_4!2g~7I#Z; zJyo;&Roys`*T_bh8z+fQnU&5ndvw1W={p}=zuWpQ+`?TA#`BA4e;5Per`D2$y4v_y zsW@r+)&Z&c+3eYlT`EGO;SbHj;Z>&{xbm2}TAyq*5;XUiJYnfu=^MDy^+|JQ%H7BO zGb7Y~G#PUlijT0okI!aAD=c=o6!hemHq*J^|A_lI879+MfH`(3`T;_nqW`+<{+l#^ zlji>sX8WJ{Pk)or9Si}eG3lV``7%LqK!kKIDbJ;~8o>V+4VNV}CkG;Pf zbisQ|aR7-1b7;Tdwt4em9D~WX$ailI(FUmcSVS+QM6F_R1bX{JTI&Msvhwh{#0Mys z<)hrPNZ=~O3FD0HMZAp$37fD65sJ4%5XMj1uB1cV9E6 zlZ=(2MmCca-%5dyp@-@v8>L_as>Sn8+7O~&cKjmEQMUcDRF5s=x4Ps~9Yoiu1x2!~ zD+>7r1Y%yTTFLA+++&rk^%+y|F*!C+`G%-wLMe|+G6`N*AP{R*ktL2l{f6t9HfIZ%s9xe8&nEJX9Tbpkf$oTDP~ERDC^k zvQb|_hTd<~t+(D+2|b5hY1w{h%`8Hc*+=P?1FJ(oPqO1WkcQ8~wk64~=M3 z$>%9%o2cYZ&8%oiSJ%ZF0=MWJy-rj&j{&VXLNr}bnHamDB3gw&=7CwbpO!FOA*A`v zDRsW!RCKOAOh4YWDN)0grG;|Go6_x|B>%>Nt&oGI+B3UFhuPfaQ`1TI7&u~MD(Rl3 zJ@~{NpI&iL7k2>F}=iGy-B`17~UU`w{^t4ukjjrV+ ze9`zDeJx;^V(X=5Oka}lV)$*5L1?mMA5qn%bjh6l-f@~~hx28o-t$f+sJ#0peSJJR z>joKZx^AR>O>C~#>WAosAtj$vtxm~Zy4)MlaX@nFJsIY%f%_;W0D;GLBFY5SJ-Err z=DNO?wQV{=eSD!VVjnB;V4!ahbQtBBdwVy>@b0fkGsa2tx2XBoTke0aV*bsQ746?v z`u|Ki{BOPM->CT;HUB??noiEU7zYhBe8SR&(;(sjXV-9V`gmIg3;LQx!$NJ0^6$sa zY+}dfos5ge8E4JQj*!grU!taq^Sb$yb<3YcP22xlQPX!qyXFA%$KC2a{;lNF=AuPR zyPzlLsKLFx!vTfs8RFU}rStYspQ4NISMS*oTSt<)bFC_XlW6Ix*t`MhcP?WBnIh;?6#Jlr*CYO&%3?hj1%|+P2M+f^jTdP=NzCiI1 zD%6OmMm>VF)&bT#=4jv90@4*&iH|+0hLCm1Ht zve>6WrTqkHGrrQ4?r8K$Q;#2J$};bpEpv~;2RR|svY2xqIUqxUE-Zn{F2CL>Ed6xH;^jEj(SBm|Ful~HPR2^MhDbfj~7@`@f zLkT=J;e8^Vd@OB98$*}dAkp|5ry|No50JW?*e};oi~+$e9f*q7eFCKWi%y~XQ^_NJQNndVX9NT1 zaJ7CyTKQlb2l&fIuSw}QRcA?F!r?dgY?3nlxSF@Jn7f+e68%bb zCuQ3##;_LBH&t=ST05g8e*%32OZqF$P5zBrA!z`)-E&&QrQRmW(v#9vVR+|a0 zzbL=_C2F3f{+`zSjhO$f?DhYX5BrUnzY+5{V*Upa)4`U2`7ki{F6$8QR#N>aWheS^ z9i}0sYQIb~ipimVV&DF3nj`Z=Q?+YZy9SXzCT~msPw>jdX-+Ax-Keh1hv*4m!uGAL z`hy2RGl6VP)f}f-hx1Dt+bRDYVO5{+1I0C~kKV5i!FJyuLgsVl+`Ic9nI|<|Ka;L? zcV8@Wy)=mN3t`~U?za(< z-u*{<*8E)Y$QX7(Pqg{4vaMg9%f7MGC50iN!S?-{TlmzC|Lu zEyNu7{wFn4sF4`u$non&*(IBmQy6X{?7*Ah%V?)cL!A3X0@48FaB6rX;n&zhLNedt zf~1V_&ZtCrW#nU(cS&(pt_LQ5`Q||o-#j2s0ce{HZ*II(a?s2lFdh$GP~2e!$D>NH zuiQBs&8P@7DnD(S=0z*gqC}N8Vo6c00yAbtBhHG`Q;a0G$Jg?f(WO6$+!Zo3 zVL?FYK~G$IG`d7*Ug9XatVI$tIn>}@&#IdPo-(%C9{Nf=)j+z`aKINhC!JJ==0QKA zEcmW;a$DKl^?1tk^Y^w&I%XuMH}oq0GJE3@G8ToU8dL|fH)7$h5ehh&srk_|N_-8Z zi?Mw4)ByEm z%9cB2MW?ZfOgojtj%L|f`YKxCwBrLemhxW%B;9iPDhX{&-ogq*HP2l^LUJFa&6ZC~)WX z7O4b8%~bdnh7HNYUmSp4O7gXjGLl{!>JqbYsIb5_>K9j+;!I#zspge#WaAvx zBCz#Tg&?NkU~9}T#8eE-9&(2uCOA1+^KhHXmqIis8G@Ld@spE(kC@pl5XAiOzW|}X BJ^ugz diff --git a/devvit.json b/devvit.json index 1110488..8a287f8 100644 --- a/devvit.json +++ b/devvit.json @@ -1,6 +1,6 @@ { "$schema": "https://developers.reddit.com/schema/config-file.v1.json", - "name": "<% name %>", + "name": "llkmlmrf33", "post": { "dir": "dist/client", "entrypoints": { @@ -17,9 +17,6 @@ "dir": "dist/server", "entry": "index.cjs" }, - "media": { - "dir": "assets" - }, "menu": { "items": [ { @@ -28,10 +25,27 @@ "location": "subreddit", "forUserType": "moderator", "endpoint": "/internal/menu/post-create" + }, + { + "label": "Example form", + "description": "Show a simple form", + "location": "subreddit", + "forUserType": "moderator", + "endpoint": "/internal/menu/example-form" } ] }, + "forms": { + "exampleForm": "/internal/form/example-submit" + }, "triggers": { "onAppInstall": "/internal/on-app-install" + }, + "scripts": { + "dev": "vite build --watch", + "build": "vite build" + }, + "dev": { + "subreddit": "llkmlmrf33_dev" } } diff --git a/eslint.config.js b/eslint.config.js index 25f5c15..51855a1 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -7,37 +7,41 @@ import reactRefresh from 'eslint-plugin-react-refresh'; export default defineConfig([ tseslint.configs.recommended, - { ignores: ['webroot'] }, { extends: [js.configs.recommended, ...tseslint.configs.recommended], - files: ['src/devvit/**/*.{ts,tsx}'], - languageOptions: { - ecmaVersion: 2023, - globals: globals.node, - }, - }, - { - extends: [js.configs.recommended, ...tseslint.configs.recommended], - files: ['tools/**/*.{ts,tsx,mjs,cjs,js}'], + files: ['src/server/**/*.{ts,tsx,mjs,cjs,js}'], languageOptions: { ecmaVersion: 2023, globals: globals.node, + parserOptions: { + project: ['./tools/tsconfig.server.json'], + tsconfigRootDir: import.meta.dirname, + }, }, }, { extends: [js.configs.recommended, ...tseslint.configs.recommended], - files: ['src/server/**/*.{ts,tsx,mjs,cjs,js}'], + files: ['src/shared/**/*.{ts,tsx,mjs,cjs,js}'], languageOptions: { ecmaVersion: 2023, - globals: globals.node, + globals: globals.browser, + parserOptions: { + project: ['./tools/tsconfig.shared.json'], + tsconfigRootDir: import.meta.dirname, + }, }, }, { extends: [js.configs.recommended, ...tseslint.configs.recommended], files: ['src/client/**/*.{ts,tsx}'], + ignores: ['src/server/**/*.{ts,tsx}'], languageOptions: { ecmaVersion: 2023, globals: globals.browser, + parserOptions: { + project: ['./tools/tsconfig.client.json'], + tsconfigRootDir: import.meta.dirname, + }, }, plugins: { 'react-hooks': reactHooks, @@ -45,7 +49,10 @@ export default defineConfig([ }, rules: { ...reactHooks.configs.recommended.rules, - 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }], + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], }, }, { @@ -65,7 +72,6 @@ export default defineConfig([ ], languageOptions: { parserOptions: { - project: ['./tsconfig.json', './src/*/tsconfig.json'], tsconfigRootDir: import.meta.dirname, }, }, diff --git a/package-lock.json b/package-lock.json index efc401b..03fbec0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,58 +1,422 @@ { - "name": "devvit-react-starter-experimental", + "name": "llkmlmrf33", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "devvit-react-starter-experimental", + "name": "llkmlmrf33", "version": "0.0.0", - "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { - "@devvit/web": "0.12.0", + "@devvit/start": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/web": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@hono/node-server": "^1.19.9", "clsx": "2.1.1", - "devvit": "0.12.0", + "devvit": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "hono": "^4.11.7", + "react": "19.2.4", + "react-dom": "19.2.4", + "tailwind-merge": "3.4.0" + }, + "devDependencies": { + "@eslint/js": "9.39.2", + "@tailwindcss/vite": "4.1.18", + "@types/react": "19.2.10", + "@types/react-dom": "19.2.3", + "@vitejs/plugin-react": "5.1.2", + "eslint": "9.39.2", + "eslint-plugin-react-hooks": "7.0.1", + "eslint-plugin-react-refresh": "0.4.26", + "globals": "17.2.0", + "prettier": "3.8.1", + "prettier-plugin-tailwindcss": "0.7.2", + "tailwindcss": "4.1.18", + "typescript": "5.9.3", + "typescript-eslint": "8.54.0", + "vite": "7.3.1", + "vitest": "4.0.18" + } + }, + "../../src/devvit/packages/analytics": { + "name": "@devvit/analytics", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/cache": "0.12.11-dev" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "eslint": "9.11.1", "express": "5.1.0", - "react": "19.1.0", - "react-dom": "19.1.0", - "tailwind-merge": "3.3.0" + "posthog-js": "1.302.2", + "typescript": "5.8.3", + "vitest": "4.0.15" + }, + "peerDependencies": { + "express": "*", + "posthog-js": "*" + } + }, + "../../src/devvit/packages/build-pack": { + "name": "@devvit/build-pack", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/payments": "0.12.11-dev", + "@devvit/protos": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev", + "@devvit/splash": "0.12.11-dev", + "@types/node": "20.14.12", + "esbuild": "0.25.9", + "rxjs": "7.8.1", + "tsv": "0.2.0", + "typescript": "5.8.3" }, "devDependencies": { - "@eslint/js": "9.23.0", - "@tailwindcss/vite": "4.1.6", - "@types/express": "5.0.1", - "@types/react": "19.1.4", - "@types/react-dom": "19.1.5", - "@vitejs/plugin-react": "4.4.1", - "concurrently": "9.1.2", - "dotenv-cli": "8.0.0", - "eslint": "9.23.0", - "eslint-plugin-react-hooks": "5.2.0", - "eslint-plugin-react-refresh": "0.4.20", - "globals": "15.15.0", - "prettier": "3.5.3", - "prettier-package-json": "2.8.0", - "prettier-plugin-tailwindcss": "0.6.11", - "tailwindcss": "4.1.6", - "typescript": "5.8.2", - "typescript-eslint": "8.29.0", - "vite": "6.2.4", - "vitest": "3.1.1" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", + "@devvit/public-api": "0.12.11-dev", + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/scheduler": "0.12.11-dev", + "@devvit/server": "0.12.11-dev", + "@devvit/shared": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "@types/tsv": "0.2.1", + "eslint": "9.11.1", + "vitest": "4.0.15" + }, + "peerDependencies": { + "@devvit/server": "*", + "@devvit/shared": "*" + } + }, + "../../src/devvit/packages/cache": { + "name": "@devvit/cache", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" + "@devvit/redis": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev" }, - "engines": { - "node": ">=6.0.0" + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + } + }, + "../../src/devvit/packages/client": { + "name": "@devvit/client", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev", + "@devvit/shared": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev" + }, + "devDependencies": { + "@ampproject/filesize": "4.3.0", + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "esbuild": "0.25.9", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + } + }, + "../../src/devvit/packages/media": { + "name": "@devvit/media", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/server": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "../../src/devvit/packages/metrics": { + "name": "@devvit/metrics", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + } + }, + "../../src/devvit/packages/notifications": { + "name": "@devvit/notifications", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/server": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "../../src/devvit/packages/payments": { + "name": "@devvit/payments", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev", + "@devvit/public-api": "0.12.11-dev", + "@devvit/server": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev" + }, + "devDependencies": { + "@ampproject/filesize": "4.3.0", + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "esbuild": "0.25.9", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + } + }, + "../../src/devvit/packages/realtime": { + "name": "@devvit/realtime", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev", + "@devvit/shared": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev", + "rxjs": "7.8.1" + }, + "devDependencies": { + "@devvit/client": "0.12.11-dev", + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/server": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + }, + "peerDependencies": { + "@devvit/client": "*", + "@devvit/server": "*" + } + }, + "../../src/devvit/packages/reddit": { + "name": "@devvit/reddit", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev", + "@devvit/public-api": "0.12.11-dev", + "@devvit/shared": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev", + "@devvit/splash": "0.12.11-dev" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/server": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "@types/node": "20.14.12", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "../../src/devvit/packages/redis": { + "name": "@devvit/redis", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/server": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "@types/node": "20.14.12", + "eslint": "9.11.1", + "ioredis": "5.7.0", + "redis-memory-server": "0.14.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "../../src/devvit/packages/scheduler": { + "name": "@devvit/scheduler", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev", + "@devvit/shared": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/server": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "@types/node": "20.14.12", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "../../src/devvit/packages/server": { + "name": "@devvit/server", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev", + "@devvit/public-api": "0.12.11-dev", + "@devvit/shared": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "@types/node": "20.14.12", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + } + }, + "../../src/devvit/packages/settings": { + "name": "@devvit/settings", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev", + "@devvit/shared": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/server": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "../../src/devvit/packages/shared": { + "name": "@devvit/shared", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + } + }, + "../../src/devvit/packages/shared-types": { + "name": "@devvit/shared-types", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-dev", + "jsonschema": "1.4.1", + "uuid": "9.0.0" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "@types/node": "20.14.12", + "@types/redis-mock": "0.17.1", + "@types/uuid": "9.0.0", + "chokidar-cli": "3.0.0", + "eslint": "9.11.1", + "lit": "2.5.0", + "redis": "4.6.6", + "redis-mock": "0.56.3", + "typescript": "5.8.3", + "vitest": "4.0.15" + } + }, + "../../src/devvit/packages/test": { + "name": "@devvit/test", + "version": "0.12.11-dev", + "extraneous": true, + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/media": "0.12.11-dev", + "@devvit/notifications": "0.12.11-dev", + "@devvit/protos": "0.12.11-dev", + "@devvit/realtime": "0.12.11-dev", + "@devvit/reddit": "0.12.11-dev", + "@devvit/redis": "0.12.11-dev", + "@devvit/scheduler": "0.12.11-dev", + "@devvit/server": "0.12.11-dev", + "@devvit/settings": "0.12.11-dev", + "@devvit/shared-types": "0.12.11-dev", + "ioredis": "5.7.0", + "redis-memory-server": "0.14.1" + }, + "devDependencies": { + "@devvit/repo-tools": "0.12.11-dev", + "@devvit/tsconfig": "0.12.11-dev", + "eslint": "9.11.1", + "typescript": "5.8.3", + "vitest": "4.0.15" + }, + "peerDependencies": { + "vitest": "*" } }, "node_modules/@asamuzakjp/css-color": { @@ -75,13 +439,13 @@ "license": "ISC" }, "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -90,9 +454,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", - "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", + "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", "dev": true, "license": "MIT", "engines": { @@ -100,22 +464,21 @@ } }, "node_modules/@babel/core": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", - "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", + "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.4", - "@babel/types": "^7.28.4", + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -132,14 +495,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", - "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", + "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.3", - "@babel/types": "^7.28.2", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -149,13 +512,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -176,29 +539,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -228,9 +591,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -248,27 +611,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.4" + "@babel/types": "^7.28.6" }, "bin": { "parser": "bin/babel-parser.js" @@ -310,33 +673,33 @@ } }, "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", "debug": "^4.3.1" }, "engines": { @@ -344,14 +707,14 @@ } }, "node_modules/@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -463,7 +826,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -486,21 +848,22 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } }, "node_modules/@devvit/build-pack": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.12.0.tgz", - "integrity": "sha512-+lOq2iDxvGCZhj/TbLg4KYxtbkjwudAMaflFidOC3Ilaw92undSRmr9T4D1jHFOz16Y5dLROCIh7mPez2yYU3w==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-2YRtKHj5N0dkCns7pA195Do6b7M7wjYfJrOBOcHU6ooXy84Spj8711mPSf/ymz14zMlaj/u9V94c0E+7VEfHpw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.0", - "@devvit/shared-types": "0.12.0", - "@devvit/splash": "0.12.0", - "esbuild": "0.23.0", + "@devvit/payments": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/splash": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@types/node": "20.14.12", + "esbuild": "0.25.9", "rxjs": "7.8.1", "tsv": "0.2.0", "typescript": "5.8.3" @@ -510,6 +873,15 @@ "@devvit/shared": "*" } }, + "node_modules/@devvit/build-pack/node_modules/@types/node": { + "version": "20.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", + "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/@devvit/build-pack/node_modules/typescript": { "version": "5.8.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", @@ -523,16 +895,32 @@ "node": ">=14.17" } }, + "node_modules/@devvit/build-pack/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "license": "MIT" + }, + "node_modules/@devvit/cache": { + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-/N9QRyTtZXajmNzB/6XCT1WnVS6g0/jWQs9SEVSlnBspAErFIOq9GjuWTFKZ+sAWr3XoHCLKwvrtuAst188Llw==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/redis": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" + } + }, "node_modules/@devvit/cli": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.12.0.tgz", - "integrity": "sha512-cGnD6z0eI9Bunkz+RmdzKcSY18ceEf6WfHHAPa3xfhJlV0MmdggHkJ8u5QKnS4Z2K3d+kMQOGXys45ZBpZokRg==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-jREfcJKo+3IH3R/vBvYfuLBD/FMUWzcthM8XGX7Cxc/gXNifmKKLqFfzVboQ9L/FtJHeio8ln/VZ93/ecl8QAQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/build-pack": "0.12.0", - "@devvit/protos": "0.12.0", - "@devvit/public-api": "0.12.0", - "@devvit/shared-types": "0.12.0", + "@devvit/build-pack": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/public-api": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", "@improbable-eng/grpc-web": "0.15.0", "@improbable-eng/grpc-web-node-http-transport": "0.15.0", "@oclif/core": "2.9.4", @@ -545,13 +933,16 @@ "chokidar": "3.5.3", "date-fns": "2.29.3", "dotenv": "16.5.0", + "execa": "9.6.1", "file-type": "18.2.1", + "ignore": "7.0.5", "image-size": "2.0.2", "inquirer": "9.1.4", - "isomorphic-git": "1.21.0", - "js-yaml": "4.1.0", + "isomorphic-git": "1.33.1", + "js-yaml": "4.1.1", "jsdom": "24.1.0", "jszip": "3.10.1", + "mime-types": "3.0.2", "mustache": "4.2.0", "open": "10.1.0", "rxjs": "7.8.1", @@ -568,6 +959,27 @@ "node": ">=20" } }, + "node_modules/@devvit/cli/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@devvit/cli/node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@devvit/cli/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -581,47 +993,69 @@ } }, "node_modules/@devvit/client": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.12.0.tgz", - "integrity": "sha512-pz7WejiXeaSESbI6oMmtPJsPJ4aBk7Kqmye3ZL/8qOqQVdCtQDsEpc2JESTIRmxXMQb6mMK82JAFyuVOVKjaMw==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-3ZBayIQwCz9pSZjz1wFI1Sa6qLQ0P/36azQSGygxrCk2f9aqGgea+Q8Td0TWnazfzq4GCy+3/F9HkgF6APCY3w==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { - "@devvit/protos": "0.12.0", - "@devvit/reddit": "0.12.0", - "@devvit/shared": "0.12.0", - "@devvit/shared-types": "0.12.0", - "@devvit/web-view-scripts": "0.12.0" + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" } }, "node_modules/@devvit/media": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.12.0.tgz", - "integrity": "sha512-WY1H+G+7wIhVj/yIfIBzVi+/1ZMSldCydSZJRjM9ZxJ5rytd2xNdwLAP7yWanvLM7jEHql61uuEoFusnEUtGSA==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-2CcBv0GMBNC5rB+pfLljF6ofCMU44Oq8HiISPmr4Y8kwZZt/UyPz4iirs28fpFKMxnyMBAExbYW+zT5vesxylQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.0" + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/metrics": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/metrics/-/metrics-0.12.0.tgz", - "integrity": "sha512-W6dMhK0TfuO76Zv+h8NF0TuKzrOrMUsQDHrEJARQ7Kxh/xXLv0otEjeB9/yc59GVnBEcQ+pPYmiV9Yh/dm7zmg==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/metrics/-/metrics-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-4PqOwx+K0kaQiWBAOLib0I+Uz1T6b60WTVLf8Jk7qjilPbVgNmBrR/bmu4Ktq/Vl1bdAheYK36+Ils2KMAL64w==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" + } + }, + "node_modules/@devvit/notifications": { + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-gOhUngswtWAZAjcxnOFMzkPN+sG1vFlb0LWti/6xC4qunlMPbA04CMAaTch/ewWARn/qkFBEefeJzlf9urIB4w==", + "license": "BSD-3-Clause", + "dependencies": { + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" + }, + "peerDependencies": { + "@devvit/server": "*" + } + }, + "node_modules/@devvit/payments": { + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-1ORXQAV4nZOh/PJ7nebw9NethwkpkSECZJ7DhWVMP5po0UUDzSEpll1gXKBv45FJw7mMWKg8RsoySNu3YfDbPA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.0" + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/public-api": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/server": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" } }, "node_modules/@devvit/protos": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.12.0.tgz", - "integrity": "sha512-khMAV6R8qZgYBKRCtRDmk+QTtn23HiIx6WjXnCG+roxk1+UZCgrFgE0oyUXxCSOhdJYAYhj8ALSZ2LCOtxGJyg==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-krx5a+3w6V00yIiuWd9UVAErUqTS3QBOcW4QDRync7woo3PnpDIY50v3kIWV4LKgZ5wtHRHypfo4uXD70vuk3g==", "license": "BSD-3-Clause", "dependencies": { - "protobufjs": "7.3.2", + "protobufjs": "7.5.4", "rxjs": "7.8.1" }, "peerDependencies": { @@ -634,29 +1068,30 @@ } }, "node_modules/@devvit/public-api": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.12.0.tgz", - "integrity": "sha512-Nvn7dB3HyZjKJH7Odx6KJLrPIZtagsnx7N251VCQTR4iegD+pCJoFoXDjqpahs+J+zm7X2kqhKZnZh/wAZCeqg==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-sjcg2ZwL6Dw1eAxEmSb8zbZb14jOEo/wNpB77a908+uQsU63tmqoXJEi1K2FME707lpfgCVg9CJi+Q6GvGMDBQ==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/metrics": "0.12.0", - "@devvit/protos": "0.12.0", - "@devvit/shared": "0.12.0", - "@devvit/shared-types": "0.12.0", + "@devvit/metrics": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", "base64-js": "1.5.1", "clone-deep": "4.0.1", "moderndash": "4.0.0" } }, "node_modules/@devvit/realtime": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.12.0.tgz", - "integrity": "sha512-HifG8p4HBeSlQMHytLfoSGmcj2BwTr9/3k6IOOxRe9qtuVyQTmQ2RmWvCJtdSLlBWPUVfmfgDw4176eOg8Jqaw==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-0OjJat/mngf/khhODQbSXUAWsREDiIFlbj9hVuSmGcrADnlOET0WMceXsfIK1aWjo90Rmv3uj8CSWspmk7QZ4Q==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.0", - "@devvit/shared": "0.12.0", - "@devvit/shared-types": "0.12.0" + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "rxjs": "7.8.1" }, "peerDependencies": { "@devvit/client": "*", @@ -664,139 +1099,141 @@ } }, "node_modules/@devvit/reddit": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.12.0.tgz", - "integrity": "sha512-fxPDEq986xUtoTVX1R2SWB3yLyFYiElspDP5VBa5W+Qf2BTJgufuqauYmkFv7UrirlhsSJzDEPO5uBJP82skyA==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-zIDvnZyVNJXuDfcO0EwzxPpX6WMLKvfob5vNT48rrryv6t5uIAEOnSF4zUPLGv2TITWQKPJTwMm+2yCTPS7Tmw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.0", - "@devvit/public-api": "0.12.0", - "@devvit/shared": "0.12.0", - "@devvit/shared-types": "0.12.0", - "@devvit/splash": "0.12.0" + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/public-api": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/splash": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/redis": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.12.0.tgz", - "integrity": "sha512-Pn9V0GhOor7hqF3qUH59XivgLIGPWP+TVLyqmZGgs8y5G1fB3um6Led06AxDJhKLQ+J2rbUCsho5d6T1Gviccw==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-jRoDGdglQOggupSBT2rl2gEwh/3HsNY3fmPh/RdV3UVsEQI8vR0xf1xzevTExcJ8M3P3CY3PNxmioBqzvgcLmg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.0", - "@devvit/shared-types": "0.12.0" + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/scheduler": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.12.0.tgz", - "integrity": "sha512-V1JwzN7bcAMy8HEhlMypNxOm1BlaZ5e95GcAlpOa4w05Esvw1jkGIV6Ptny2F/ET+d4I7HFS2E75ReJN/+knkg==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-Y7dAHuSU2RwJN+n7itScdeu+VT3Kv4v9V4LOhoKz3UmzyexrFUbalLA3qKLmjtKCLKaOW1sAGDTLVlr4o0ebTg==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.0", - "@devvit/shared": "0.12.0", - "@devvit/shared-types": "0.12.0" + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/server": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.12.0.tgz", - "integrity": "sha512-gn7Vogr5CrFEh09za77+R4kvj7pDdNsf0a5ai4U10OqRYmW48GlDqILcbe8EK5yGpvQXumBeQTOVwNf1qc3zhQ==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-iMIVmEARZhxUkTh32t71wX3D/RQ8r04m6yjn7p514u2wC+GaSiUwGHCe/k/K5U5v2P8OYEIcexCb6RCr4bLv6Q==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { - "@devvit/protos": "0.12.0", - "@devvit/public-api": "0.12.0", - "@devvit/shared": "0.12.0", - "@devvit/shared-types": "0.12.0" + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/public-api": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" } }, "node_modules/@devvit/settings": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.12.0.tgz", - "integrity": "sha512-ouGo9aSMDCJpoVZ7WR+oyMWkzNUGbXIiQjQpHqnBOG4vI9UATeslp33fLR/AoGXyXZmCLV5hc77l4gu5Jl70ug==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-Op9Zl15zScfFNSnBgsR8IpDY6xOGo5dh01OtffBesOW9xYEZ7qUcMwweTUs7e4JCnFGC3oDu/f7xvwHyqknyLw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.0", - "@devvit/shared": "0.12.0", - "@devvit/shared-types": "0.12.0" + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" }, "peerDependencies": { "@devvit/server": "*" } }, "node_modules/@devvit/shared": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.12.0.tgz", - "integrity": "sha512-Gvlwj313LRrJ3E5MDfm8B73mbu0AgoqlXb2YMVXL2EAGmKMZC55ozTSVm5EOfDVrkNtVLJsFCuYTUXNPDPkKag==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-s+Qn/its0FNUuBYDsJrbPKMxrT5ywM+aNMEPLL6AeYXQLdCniyzOwHD0oOuI60n2cyqyxNNrlISoKtB26a2ITg==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { - "@devvit/protos": "0.12.0", - "@devvit/shared-types": "0.12.0" + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" } }, "node_modules/@devvit/shared-types": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.12.0.tgz", - "integrity": "sha512-OugXIlBUU6PAoIfpqpIOY4RDwVNkEFuolrFdRucDqXsteqyEn8I+nDQZgI0LzJjb/zIdc/dpzzZCrubZeuKI8A==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-3NjsFCqmdt3LdV1clAYVnDr/bLzjOG/gFqaZbGIGHe/tqAo9VQXR8zMpomnp4h0Zk7g85uCjHo3/0T7KAVRTyw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.0", + "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", "jsonschema": "1.4.1", "uuid": "9.0.0" } }, "node_modules/@devvit/splash": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/splash/-/splash-0.12.0.tgz", - "integrity": "sha512-bBdJ/kRxha1kryIIyPvCFfyENXeMxeQDa8PZk0STF66g6VME80jLktcwGhC95Kq+akMXM93MiLSVxJxDfMsXpQ==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/splash/-/splash-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-V0dO5Oxlhj9MQSdXcwYYarguffE0v19cxI7GFfrwTQcCuxflHf5GFvzN8gXcJpD8HkYr/YQS7ALX8BSNPNybgw==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/public-api": "0.12.0" + "@devvit/public-api": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" } }, - "node_modules/@devvit/web": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.12.0.tgz", - "integrity": "sha512-TFbH+z3lZa5Aigs/meBhdRbIt+Py8W1MtTO6BtKFGyXvw04QS5sE475yxCcdcBa5nyyjAT4G+k4pEQwLuJZ7AA==", + "node_modules/@devvit/start": { + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-6KSHPjB3/YrYiI3jAKFtkbyxjgFaMyO/5SzYJvM3Kdv1L0ZbN3/fuMVrjDcrl+U53kGG0sXnt/MIR/kFhnJKhA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/client": "0.12.0", - "@devvit/media": "0.12.0", - "@devvit/realtime": "0.12.0", - "@devvit/reddit": "0.12.0", - "@devvit/redis": "0.12.0", - "@devvit/scheduler": "0.12.0", - "@devvit/server": "0.12.0", - "@devvit/settings": "0.12.0", - "@devvit/shared": "0.12.0" - } - }, - "node_modules/@devvit/web-view-scripts": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@devvit/web-view-scripts/-/web-view-scripts-0.12.0.tgz", - "integrity": "sha512-WPaXIZWc4z6CxfByvKFLu5+2qOL3kIJN673dPBzeJBH7odnlmiDfRXgoKToSjZYsYIxkG1ZYGvpv3l1SiK46DA==", + "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "chalk": "4.1.2" + }, + "peerDependencies": { + "vite": ">=6.0.0" + } + }, + "node_modules/@devvit/web": { + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-YuJ0giNcBS1rk8Hiamv5iQqs97+O60alBadpuAzw61tpgorwVKxBMh8dXxRDygKY0+CAIYzxH64AANNOUiRlLA==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/protos": "0.12.0", - "@devvit/shared": "0.12.0", - "@devvit/shared-types": "0.12.0", - "jwt-decode": "4.0.0" + "@devvit/cache": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/client": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/media": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/notifications": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/payments": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/realtime": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/reddit": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/redis": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/scheduler": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/server": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/settings": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", - "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", "cpu": [ "ppc64" ], @@ -810,9 +1247,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", - "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", "cpu": [ "arm" ], @@ -826,9 +1263,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", - "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", "cpu": [ "arm64" ], @@ -842,9 +1279,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", - "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", "cpu": [ "x64" ], @@ -858,9 +1295,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", - "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", "cpu": [ "arm64" ], @@ -874,9 +1311,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", - "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", "cpu": [ "x64" ], @@ -890,9 +1327,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", - "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", "cpu": [ "arm64" ], @@ -906,9 +1343,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", - "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", "cpu": [ "x64" ], @@ -922,9 +1359,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", - "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", "cpu": [ "arm" ], @@ -938,9 +1375,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", - "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", "cpu": [ "arm64" ], @@ -954,9 +1391,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", - "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", "cpu": [ "ia32" ], @@ -970,9 +1407,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", - "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", "cpu": [ "loong64" ], @@ -986,9 +1423,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", - "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", "cpu": [ "mips64el" ], @@ -1002,9 +1439,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", - "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", "cpu": [ "ppc64" ], @@ -1018,9 +1455,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", - "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", "cpu": [ "riscv64" ], @@ -1034,9 +1471,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", - "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", "cpu": [ "s390x" ], @@ -1050,9 +1487,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", - "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", "cpu": [ "x64" ], @@ -1066,13 +1503,12 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz", - "integrity": "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1083,9 +1519,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", - "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", "cpu": [ "x64" ], @@ -1099,9 +1535,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", - "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", "cpu": [ "arm64" ], @@ -1115,9 +1551,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", - "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", "cpu": [ "x64" ], @@ -1131,13 +1567,12 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz", - "integrity": "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1148,9 +1583,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", - "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", "cpu": [ "x64" ], @@ -1164,9 +1599,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", - "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", "cpu": [ "arm64" ], @@ -1180,9 +1615,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", - "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", "cpu": [ "ia32" ], @@ -1196,9 +1631,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", - "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", "cpu": [ "x64" ], @@ -1212,9 +1647,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1244,9 +1679,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, "license": "MIT", "engines": { @@ -1254,13 +1689,13 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.6", + "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -1269,19 +1704,22 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.3.tgz", - "integrity": "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/core": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", - "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1329,19 +1767,22 @@ } }, "node_modules/@eslint/js": { - "version": "9.23.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz", - "integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", "dev": true, "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1349,30 +1790,29 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", - "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.13.0", + "@eslint/core": "^0.17.0", "levn": "^0.4.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", - "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, + "node_modules/@hono/node-server": { + "version": "1.19.9", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz", + "integrity": "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==", + "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" } }, "node_modules/@humanfs/core": { @@ -1432,7 +1872,6 @@ "resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.15.0.tgz", "integrity": "sha512-ERft9/0/8CmYalqOVnJnpdDry28q+j+nAlFFARdjyxXDJ+Mhgv9+F600QC8BR9ygOfrXRlAk6CvST2j+JCpQPg==", "license": "Apache-2.0", - "peer": true, "dependencies": { "browser-headers": "^0.4.1" }, @@ -1449,19 +1888,6 @@ "@improbable-eng/grpc-web": ">=0.13.0" } }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -1612,9 +2038,9 @@ } }, "node_modules/@oclif/core/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "license": "MIT", "dependencies": { "argparse": "^1.0.7", @@ -1800,6 +2226,13 @@ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", "license": "BSD-3-Clause" }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.53", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz", + "integrity": "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.52.4", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz", @@ -1807,7 +2240,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1821,7 +2253,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1835,7 +2266,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1849,7 +2279,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1863,7 +2292,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1877,7 +2305,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1891,7 +2318,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1905,7 +2331,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1919,7 +2344,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1933,7 +2357,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1947,7 +2370,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1961,7 +2383,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1975,7 +2396,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1989,7 +2409,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2003,7 +2422,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2017,7 +2435,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2031,7 +2448,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2045,7 +2461,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2059,7 +2474,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2073,7 +2487,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2087,7 +2500,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -2101,62 +2513,81 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "win32" ] }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "license": "MIT" + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, "node_modules/@tailwindcss/node": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.6.tgz", - "integrity": "sha512-ed6zQbgmKsjsVvodAS1q1Ld2BolEuxJOSyyNc+vhkjdmfNUDCmQnlXBfQkHrlzNmslxHsQU/bFmzcEbv4xXsLg==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", + "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.3.0", - "enhanced-resolve": "^5.18.1", - "jiti": "^2.4.2", - "lightningcss": "1.29.2", - "magic-string": "^0.30.17", + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", "source-map-js": "^1.2.1", - "tailwindcss": "4.1.6" + "tailwindcss": "4.1.18" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.6.tgz", - "integrity": "sha512-0bpEBQiGx+227fW4G0fLQ8vuvyy5rsB1YIYNapTq3aRsJ9taF3f5cCaovDjN5pUGKKzcpMrZst/mhNaKAPOHOA==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", + "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "dependencies": { - "detect-libc": "^2.0.4", - "tar": "^7.4.3" - }, "engines": { "node": ">= 10" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.6", - "@tailwindcss/oxide-darwin-arm64": "4.1.6", - "@tailwindcss/oxide-darwin-x64": "4.1.6", - "@tailwindcss/oxide-freebsd-x64": "4.1.6", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.6", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.6", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.6", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.6", - "@tailwindcss/oxide-linux-x64-musl": "4.1.6", - "@tailwindcss/oxide-wasm32-wasi": "4.1.6", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.6", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.6" + "@tailwindcss/oxide-android-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-x64": "4.1.18", + "@tailwindcss/oxide-freebsd-x64": "4.1.18", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.6.tgz", - "integrity": "sha512-VHwwPiwXtdIvOvqT/0/FLH/pizTVu78FOnI9jQo64kSAikFSZT7K4pjyzoDpSMaveJTGyAKvDjuhxJxKfmvjiQ==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", "cpu": [ "arm64" ], @@ -2171,9 +2602,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.6.tgz", - "integrity": "sha512-weINOCcqv1HVBIGptNrk7c6lWgSFFiQMcCpKM4tnVi5x8OY2v1FrV76jwLukfT6pL1hyajc06tyVmZFYXoxvhQ==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", + "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", "cpu": [ "arm64" ], @@ -2188,9 +2619,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.6.tgz", - "integrity": "sha512-3FzekhHG0ww1zQjQ1lPoq0wPrAIVXAbUkWdWM8u5BnYFZgb9ja5ejBqyTgjpo5mfy0hFOoMnMuVDI+7CXhXZaQ==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", "cpu": [ "x64" ], @@ -2205,9 +2636,9 @@ } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.6.tgz", - "integrity": "sha512-4m5F5lpkBZhVQJq53oe5XgJ+aFYWdrgkMwViHjRsES3KEu2m1udR21B1I77RUqie0ZYNscFzY1v9aDssMBZ/1w==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", "cpu": [ "x64" ], @@ -2222,9 +2653,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.6.tgz", - "integrity": "sha512-qU0rHnA9P/ZoaDKouU1oGPxPWzDKtIfX7eOGi5jOWJKdxieUJdVV+CxWZOpDWlYTd4N3sFQvcnVLJWJ1cLP5TA==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", "cpu": [ "arm" ], @@ -2239,9 +2670,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.6.tgz", - "integrity": "sha512-jXy3TSTrbfgyd3UxPQeXC3wm8DAgmigzar99Km9Sf6L2OFfn/k+u3VqmpgHQw5QNfCpPe43em6Q7V76Wx7ogIQ==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", "cpu": [ "arm64" ], @@ -2256,9 +2687,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.6.tgz", - "integrity": "sha512-8kjivE5xW0qAQ9HX9reVFmZj3t+VmljDLVRJpVBEoTR+3bKMnvC7iLcoSGNIUJGOZy1mLVq7x/gerVg0T+IsYw==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", "cpu": [ "arm64" ], @@ -2273,9 +2704,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.6.tgz", - "integrity": "sha512-A4spQhwnWVpjWDLXnOW9PSinO2PTKJQNRmL/aIl2U/O+RARls8doDfs6R41+DAXK0ccacvRyDpR46aVQJJCoCg==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", "cpu": [ "x64" ], @@ -2290,9 +2721,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.6.tgz", - "integrity": "sha512-YRee+6ZqdzgiQAHVSLfl3RYmqeeaWVCk796MhXhLQu2kJu2COHBkqlqsqKYx3p8Hmk5pGCQd2jTAoMWWFeyG2A==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", "cpu": [ "x64" ], @@ -2307,9 +2738,9 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.6.tgz", - "integrity": "sha512-qAp4ooTYrBQ5pk5jgg54/U1rCJ/9FLYOkkQ/nTE+bVMseMfB6O7J8zb19YTpWuu4UdfRf5zzOrNKfl6T64MNrQ==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", "bundleDependencies": [ "@napi-rs/wasm-runtime", "@emnapi/core", @@ -2325,21 +2756,21 @@ "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@emnapi/wasi-threads": "^1.0.2", - "@napi-rs/wasm-runtime": "^0.2.9", - "@tybys/wasm-util": "^0.9.0", - "tslib": "^2.8.0" + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.0", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.6.tgz", - "integrity": "sha512-nqpDWk0Xr8ELO/nfRUDjk1pc9wDJ3ObeDdNMHLaymc4PJBWj11gdPCWZFKSK2AVKjJQC7J2EfmSmf47GN7OuLg==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", "cpu": [ "arm64" ], @@ -2354,9 +2785,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.6.tgz", - "integrity": "sha512-5k9xF33xkfKpo9wCvYcegQ21VwIBU1/qEbYlVukfEIyQbEA47uK8AAwS7NVjNE3vHzcmxMYwd0l6L4pPjjm1rQ==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", "cpu": [ "x64" ], @@ -2371,18 +2802,18 @@ } }, "node_modules/@tailwindcss/vite": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.6.tgz", - "integrity": "sha512-zjtqjDeY1w3g2beYQtrMAf51n5G7o+UwmyOjtsDMP7t6XyoRMOidcoKP32ps7AkNOHIXEOK0bhIC05dj8oJp4w==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.18.tgz", + "integrity": "sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==", "dev": true, "license": "MIT", "dependencies": { - "@tailwindcss/node": "4.1.6", - "@tailwindcss/oxide": "4.1.6", - "tailwindcss": "4.1.6" + "@tailwindcss/node": "4.1.18", + "@tailwindcss/oxide": "4.1.18", + "tailwindcss": "4.1.18" }, "peerDependencies": { - "vite": "^5.2.0 || ^6" + "vite": "^5.2.0 || ^6 || ^7" } }, "node_modules/@tokenizer/token": { @@ -2392,9 +2823,9 @@ "license": "MIT" }, "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", "license": "MIT" }, "node_modules/@tsconfig/node12": { @@ -2460,15 +2891,15 @@ "@babel/types": "^7.28.2" } }, - "node_modules/@types/body-parser": { - "version": "1.19.6", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", - "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "dev": true, "license": "MIT", "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" } }, "node_modules/@types/cli-progress": { @@ -2480,53 +2911,17 @@ "@types/node": "*" } }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "license": "MIT" }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/express": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.1.tgz", - "integrity": "sha512-UZUw8vjpWFXuDnjFTh7/5c2TWDlQqeXHi6hcN7F2XSVT5P+WmUnnbFS3KA6Jnc6IsEqI2qCVu2bK0R0J4A8ZQQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^5.0.0", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.0.tgz", - "integrity": "sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/http-errors": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", - "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", - "dev": true, "license": "MIT" }, "node_modules/@types/json-schema": { @@ -2536,130 +2931,95 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/node": { "version": "24.7.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.7.1.tgz", "integrity": "sha512-CmyhGZanP88uuC5GpWU9q+fI61j2SkhO3UGMUdfYRE6Bcy0ccyzn1Rqj9YAB/ZY4kOXmNf0ocah5GtphmLMP6Q==", "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~7.14.0" } }, - "node_modules/@types/parse-author": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/parse-author/-/parse-author-2.0.3.tgz", - "integrity": "sha512-pgRW2K/GVQoogylrGJXDl7PBLW9A6T4OOc9Hy9MLT5f7vgufK2GQ8FcfAbjFHR5HjcN9ByzuCczAORk49REqoA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/react": { - "version": "19.1.4", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.4.tgz", - "integrity": "sha512-EB1yiiYdvySuIITtD5lhW4yPyJ31RkJkkDw794LaQYrxCSaQV/47y5o1FMC4zF9ZyjUjzJMZwbovEnT5yHTW6g==", + "version": "19.2.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.10.tgz", + "integrity": "sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "csstype": "^3.0.2" + "csstype": "^3.2.2" } }, "node_modules/@types/react-dom": { - "version": "19.1.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.5.tgz", - "integrity": "sha512-CMCjrWucUBZvohgZxkjd6S9h0nZxXjzus6yDfUb+xLxYM7VvjKNH1tQrE9GWLql1XoOP4/Ds3bwFqShHUYraGg==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", "dev": true, "license": "MIT", "peerDependencies": { - "@types/react": "^19.0.0" + "@types/react": "^19.2.0" } }, - "node_modules/@types/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.0.tgz", - "integrity": "sha512-zBF6vZJn1IaMpg3xUF25VK3gd3l8zwE0ZLRX7dsQyQi+jp4E8mMDJNGDYnYse+bQhYwWERTxVwHpi3dMOq7RKQ==", - "dev": true, + "node_modules/@types/ws": { + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/serve-static": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.9.tgz", - "integrity": "sha512-dOTIuqpWLyl3BBXU3maNQsS4A3zuuoYRNIvYSxxhebPfXg2mzWQEPne/nlJ37yOse6uGgR386uTpdsx4D0QZWA==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz", + "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "<1" + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/type-utils": "8.54.0", + "@typescript-eslint/utils": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.54.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@types/serve-static/node_modules/@types/send": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", - "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/ws": { - "version": "8.5.12", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", - "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">= 4" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz", - "integrity": "sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==", + "node_modules/@typescript-eslint/parser": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz", + "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/type-utils": "8.29.0", - "@typescript-eslint/utils": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.1" + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "debug": "^4.4.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2669,24 +3029,20 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.0.tgz", - "integrity": "sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==", + "node_modules/@typescript-eslint/project-service": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz", + "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/typescript-estree": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", - "debug": "^4.3.4" + "@typescript-eslint/tsconfig-utils": "^8.54.0", + "@typescript-eslint/types": "^8.54.0", + "debug": "^4.4.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2696,39 +3052,56 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz", - "integrity": "sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz", + "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0" + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz", + "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==", + "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz", - "integrity": "sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz", + "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.29.0", - "@typescript-eslint/utils": "8.29.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.0.1" + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0", + "@typescript-eslint/utils": "8.54.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2739,13 +3112,13 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.0.tgz", - "integrity": "sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", + "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", "dev": true, "license": "MIT", "engines": { @@ -2757,20 +3130,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz", - "integrity": "sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz", + "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" + "@typescript-eslint/project-service": "8.54.0", + "@typescript-eslint/tsconfig-utils": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2780,7 +3154,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { @@ -2823,16 +3197,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.0.tgz", - "integrity": "sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz", + "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/typescript-estree": "8.29.0" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2843,18 +3217,18 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz", - "integrity": "sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz", + "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.0", - "eslint-visitor-keys": "^4.2.0" + "@typescript-eslint/types": "8.54.0", + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2865,58 +3239,61 @@ } }, "node_modules/@vitejs/plugin-react": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz", - "integrity": "sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.2.tgz", + "integrity": "sha512-EcA07pHJouywpzsoTUqNh5NwGayl2PPVEJKUSinGGSxFGYn+shYbqMGBg6FXDqgXum9Ou/ecb+411ssw8HImJQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.26.10", - "@babel/plugin-transform-react-jsx-self": "^7.25.9", - "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@babel/core": "^7.28.5", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.53", "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" + "react-refresh": "^0.18.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "node_modules/@vitest/expect": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.1.tgz", - "integrity": "sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz", + "integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.1.1", - "@vitest/utils": "3.1.1", - "chai": "^5.2.0", - "tinyrainbow": "^2.0.0" + "@standard-schema/spec": "^1.0.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.0.18", + "@vitest/utils": "4.0.18", + "chai": "^6.2.1", + "tinyrainbow": "^3.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/mocker": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.1.tgz", - "integrity": "sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA==", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz", + "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.1.1", + "@vitest/spy": "4.0.18", "estree-walker": "^3.0.3", - "magic-string": "^0.30.17" + "magic-string": "^0.30.21" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0" + "vite": "^6.0.0 || ^7.0.0-0" }, "peerDependenciesMeta": { "msw": { @@ -2928,26 +3305,26 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", - "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz", + "integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^2.0.0" + "tinyrainbow": "^3.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/runner": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.1.tgz", - "integrity": "sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA==", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz", + "integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.1.1", + "@vitest/utils": "4.0.18", "pathe": "^2.0.3" }, "funding": { @@ -2955,69 +3332,39 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.1.tgz", - "integrity": "sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw==", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz", + "integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.1.1", - "magic-string": "^0.30.17", + "@vitest/pretty-format": "4.0.18", + "magic-string": "^0.30.21", "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/snapshot/node_modules/@vitest/pretty-format": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz", - "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, "node_modules/@vitest/spy": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.1.tgz", - "integrity": "sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz", + "integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==", "dev": true, "license": "MIT", - "dependencies": { - "tinyspy": "^3.0.2" - }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.1.tgz", - "integrity": "sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.1.1", - "loupe": "^3.1.3", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils/node_modules/@vitest/pretty-format": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz", - "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz", + "integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^2.0.0" + "@vitest/pretty-format": "4.0.18", + "tinyrainbow": "^3.0.3" }, "funding": { "url": "https://opencollective.com/vitest" @@ -3035,25 +3382,11 @@ "node": ">=6.5" } }, - "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "license": "MIT", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -3234,16 +3567,6 @@ "node": ">= 4.0.0" } }, - "node_modules/author-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz", - "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -3286,9 +3609,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.8.15", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.15.tgz", - "integrity": "sha512-qsJ8/X+UypqxHXN75M7dF88jNK37dLBRW7LeUzCPz+TNs37G8cfWy9nWzS+LS//g600zrt2le9KuXt0rWfDz5Q==", + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", "dev": true, "license": "Apache-2.0", "bin": { @@ -3318,26 +3641,6 @@ "readable-stream": "^3.4.0" } }, - "node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.0", - "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", - "on-finished": "^2.4.1", - "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/brace-expansion": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", @@ -3367,9 +3670,9 @@ "license": "Apache-2.0" }, "node_modules/browserslist": { - "version": "4.26.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz", - "integrity": "sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -3386,13 +3689,12 @@ } ], "license": "MIT", - "peer": true, "dependencies": { - "baseline-browser-mapping": "^2.8.9", - "caniuse-lite": "^1.0.30001746", - "electron-to-chromium": "^1.5.227", - "node-releases": "^2.0.21", - "update-browserslist-db": "^1.1.3" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -3440,25 +3742,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/call-bind": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", @@ -3527,9 +3810,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001749", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001749.tgz", - "integrity": "sha512-0rw2fJOmLfnzCRbkm8EyHL8SvI2Apu5UbnQuTsJ0ClgrH8hcwFooJ1s5R0EP8o8aVrFu8++ae29Kt9/gZAZp/Q==", + "version": "1.0.30001766", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz", + "integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==", "dev": true, "funding": [ { @@ -3561,18 +3844,11 @@ } }, "node_modules/chai": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", - "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", "dev": true, "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, "engines": { "node": ">=18" } @@ -3620,16 +3896,6 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "license": "MIT" }, - "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -3657,16 +3923,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/clean-git-ref": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz", @@ -3736,21 +3992,6 @@ "node": ">= 12" } }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", @@ -3813,60 +4054,12 @@ "node": ">= 0.8" } }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "license": "MIT" }, - "node_modules/concurrently": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.1.2.tgz", - "integrity": "sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "lodash": "^4.17.21", - "rxjs": "^7.8.1", - "shell-quote": "^1.8.1", - "supports-color": "^8.1.1", - "tree-kill": "^1.2.2", - "yargs": "^17.7.2" - }, - "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" - } - }, - "node_modules/content-disposition": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/content-type": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", @@ -3883,86 +4076,22 @@ "dev": true, "license": "MIT" }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "license": "MIT", - "engines": { - "node": ">=6.6.0" - } - }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "license": "MIT" }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" }, "engines": { - "node": ">=10" - } - }, - "node_modules/cosmiconfig/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cosmiconfig/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "license": "Apache-2.0", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" + "node": ">=0.8" } }, "node_modules/create-require": { @@ -4005,9 +4134,9 @@ "license": "MIT" }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "dev": true, "license": "MIT" }, @@ -4075,16 +4204,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -4093,9 +4212,9 @@ "license": "MIT" }, "node_modules/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", "license": "MIT", "dependencies": { "bundle-name": "^4.1.0", @@ -4109,9 +4228,9 @@ } }, "node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", "license": "MIT", "engines": { "node": ">=18" @@ -4170,41 +4289,32 @@ "node": ">=0.4.0" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "engines": { "node": ">=8" } }, "node_modules/devvit": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.12.0.tgz", - "integrity": "sha512-rlHU/bkDxvq9gP7rSA2fr4ojUddI8imSM76VQjU+9MAbDDmeR2VryryZ64mCUEq/r+yMRsRrFk4bqfFqw4yG2Q==", + "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", + "integrity": "sha512-xn3/Eij1NKK8RPIP/SNqAyGHKYR3Cs51tNyzodr4aKWKPo3epEP/kJwqBV03eHIkWPssthuMazcaTg9doXzb5Q==", "license": "BSD-3-Clause", "dependencies": { - "@devvit/cli": "0.12.0" + "@devvit/cli": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" }, "bin": { "devvit": "bin/devvit.js" } }, "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" @@ -4262,32 +4372,6 @@ "url": "https://dotenvx.com" } }, - "node_modules/dotenv-cli": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/dotenv-cli/-/dotenv-cli-8.0.0.tgz", - "integrity": "sha512-aLqYbK7xKOiTMIRf1lDPbI+Y+Ip/wo5k3eyp6ePysVaSqbyxjyK3dK35BTxG+rmd7djf5q2UPs4noPNH+cj0Qw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.6", - "dotenv": "^16.3.0", - "dotenv-expand": "^10.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "dotenv": "cli.js" - } - }, - "node_modules/dotenv-expand": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", - "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -4308,12 +4392,6 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "license": "MIT" }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, "node_modules/ejs": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", @@ -4330,9 +4408,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.233", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.233.tgz", - "integrity": "sha512-iUdTQSf7EFXsDdQsp8MwJz5SVk4APEFqXU/S47OtQ0YLqacSwPXdZ5vRlMX3neb07Cy2vgioNuRnWUXFwuslkg==", + "version": "1.5.283", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.283.tgz", + "integrity": "sha512-3vifjt1HgrGW/h76UEeny+adYApveS9dH2h3p57JYzBSXJIKUJAvtmIytDKjcSCt9xHfrNCFJ7gts6vkhuq++w==", "dev": true, "license": "ISC" }, @@ -4342,19 +4420,10 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/enhanced-resolve": { - "version": "5.18.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", - "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", "dev": true, "license": "MIT", "dependencies": { @@ -4439,9 +4508,9 @@ } }, "node_modules/esbuild": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", - "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", "hasInstallScript": true, "license": "MIT", "bin": { @@ -4451,30 +4520,64 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.23.0", - "@esbuild/android-arm": "0.23.0", - "@esbuild/android-arm64": "0.23.0", - "@esbuild/android-x64": "0.23.0", - "@esbuild/darwin-arm64": "0.23.0", - "@esbuild/darwin-x64": "0.23.0", - "@esbuild/freebsd-arm64": "0.23.0", - "@esbuild/freebsd-x64": "0.23.0", - "@esbuild/linux-arm": "0.23.0", - "@esbuild/linux-arm64": "0.23.0", - "@esbuild/linux-ia32": "0.23.0", - "@esbuild/linux-loong64": "0.23.0", - "@esbuild/linux-mips64el": "0.23.0", - "@esbuild/linux-ppc64": "0.23.0", - "@esbuild/linux-riscv64": "0.23.0", - "@esbuild/linux-s390x": "0.23.0", - "@esbuild/linux-x64": "0.23.0", - "@esbuild/netbsd-x64": "0.23.0", - "@esbuild/openbsd-arm64": "0.23.0", - "@esbuild/openbsd-x64": "0.23.0", - "@esbuild/sunos-x64": "0.23.0", - "@esbuild/win32-arm64": "0.23.0", - "@esbuild/win32-ia32": "0.23.0", - "@esbuild/win32-x64": "0.23.0" + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/esbuild/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/esbuild/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" } }, "node_modules/escalade": { @@ -4487,12 +4590,6 @@ "node": ">=6" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -4506,34 +4603,32 @@ } }, "node_modules/eslint": { - "version": "9.23.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz", - "integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.2", - "@eslint/config-helpers": "^0.2.0", - "@eslint/core": "^0.12.0", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.23.0", - "@eslint/plugin-kit": "^0.2.7", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.3.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -4568,22 +4663,29 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", - "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", + "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, "engines": { - "node": ">=10" + "node": ">=18" }, "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.20", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz", - "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==", + "version": "0.4.26", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.26.tgz", + "integrity": "sha512-1RETEylht2O6FM/MvgnyvT+8K21wLqDNg4qD51Zj3guhjt433XbnnkVttHMyaVyAFD03QSV4LPS5iE3VQmO7XQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -4720,15 +4822,6 @@ "node": ">=0.10.0" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", @@ -4747,6 +4840,32 @@ "node": ">=0.8.x" } }, + "node_modules/execa": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz", + "integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.6", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.1", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.2.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, "node_modules/expect-type": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", @@ -4757,48 +4876,6 @@ "node": ">=12.0.0" } }, - "node_modules/express": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", - "license": "MIT", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.0", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -4883,28 +4960,15 @@ } }, "node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "license": "MIT", "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" + "is-unicode-supported": "^2.0.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4982,23 +5046,6 @@ "node": ">=8" } }, - "node_modules/finalhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -5089,24 +5136,6 @@ "node": ">= 0.6" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -5161,16 +5190,6 @@ "node": ">=6.9.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -5217,6 +5236,22 @@ "node": ">= 0.4" } }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -5251,9 +5286,9 @@ } }, "node_modules/globals": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.2.0.tgz", + "integrity": "sha512-tovnCz/fEq+Ripoq+p/gN1u7l6A7wwkoBT9pRCzTHzsD/LvADIzXZdjmRymh5Ztf0DYC3Rwg5cZRYjxzBmzbWg==", "dev": true, "license": "MIT", "engines": { @@ -5320,13 +5355,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -5387,6 +5415,32 @@ "node": ">= 0.4" } }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/hono": { + "version": "4.11.7", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.7.tgz", + "integrity": "sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw==", + "license": "MIT", + "engines": { + "node": ">=16.9.0" + } + }, "node_modules/hotscript": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/hotscript/-/hotscript-1.0.13.tgz", @@ -5422,29 +5476,16 @@ "node": ">=8.0.0" } }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/statuses": { + "node_modules/http-call/node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/http-proxy-agent": { @@ -5473,6 +5514,15 @@ "node": ">= 14" } }, + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/hyperlinker": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", @@ -5674,6 +5724,46 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "license": "MIT" }, + "node_modules/inquirer/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/figures": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/inquirer/node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -5723,15 +5813,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -5861,10 +5942,22 @@ "node": ">=0.12.0" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "license": "MIT", "dependencies": { "isobject": "^3.0.1" @@ -5879,12 +5972,6 @@ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "license": "MIT" }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "license": "MIT" - }, "node_modules/is-retry-allowed": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", @@ -5895,12 +5982,12 @@ } }, "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5922,12 +6009,12 @@ } }, "node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5967,28 +6054,29 @@ } }, "node_modules/isomorphic-git": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.21.0.tgz", - "integrity": "sha512-ZqCAUM63CYepA3fB8H7NVyPSiOkgzIbQ7T+QPrm9xtYgQypN9JUJ5uLMjB5iTfomdJf3mdm6aSxjZwnT6ubvEA==", + "version": "1.33.1", + "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.33.1.tgz", + "integrity": "sha512-Fy5rPAncURJoqL9R+5nJXLl5rQH6YpcjJd7kdCoRJPhrBiLVkLm9b+esRqYQQlT1hKVtKtALbfNtpHjWWJgk6g==", "license": "MIT", "dependencies": { - "async-lock": "^1.1.0", + "async-lock": "^1.4.1", "clean-git-ref": "^2.0.1", "crc-32": "^1.2.0", "diff3": "0.0.3", "ignore": "^5.1.4", "minimisted": "^2.0.0", "pako": "^1.0.10", + "path-browserify": "^1.0.1", "pify": "^4.0.1", "readable-stream": "^3.4.0", - "sha.js": "^2.4.9", + "sha.js": "^2.4.12", "simple-get": "^4.0.1" }, "bin": { "isogit": "cli.cjs" }, "engines": { - "node": ">=12" + "node": ">=14.17" } }, "node_modules/jake": { @@ -6012,7 +6100,7 @@ "version": "2.6.1", "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "dev": true, + "devOptional": true, "license": "MIT", "bin": { "jiti": "lib/jiti-cli.mjs" @@ -6029,6 +6117,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -6103,13 +6192,6 @@ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "license": "MIT" }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -6206,15 +6288,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/jwt-decode": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", - "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -6258,10 +6331,10 @@ } }, "node_modules/lightningcss": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.2.tgz", - "integrity": "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==", - "dev": true, + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "devOptional": true, "license": "MPL-2.0", "dependencies": { "detect-libc": "^2.0.3" @@ -6274,26 +6347,46 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-darwin-arm64": "1.29.2", - "lightningcss-darwin-x64": "1.29.2", - "lightningcss-freebsd-x64": "1.29.2", - "lightningcss-linux-arm-gnueabihf": "1.29.2", - "lightningcss-linux-arm64-gnu": "1.29.2", - "lightningcss-linux-arm64-musl": "1.29.2", - "lightningcss-linux-x64-gnu": "1.29.2", - "lightningcss-linux-x64-musl": "1.29.2", - "lightningcss-win32-arm64-msvc": "1.29.2", - "lightningcss-win32-x64-msvc": "1.29.2" + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.2.tgz", - "integrity": "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -6308,13 +6401,12 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.2.tgz", - "integrity": "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -6329,13 +6421,12 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.2.tgz", - "integrity": "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -6350,13 +6441,12 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.2.tgz", - "integrity": "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", "cpu": [ "arm" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -6371,13 +6461,12 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.2.tgz", - "integrity": "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -6392,13 +6481,12 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.2.tgz", - "integrity": "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -6413,13 +6501,12 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.2.tgz", - "integrity": "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -6434,13 +6521,12 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.2.tgz", - "integrity": "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -6455,13 +6541,12 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.2.tgz", - "integrity": "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -6476,13 +6561,12 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.2.tgz", - "integrity": "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==", + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -6496,13 +6580,6 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -6560,19 +6637,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/long": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", "license": "Apache-2.0" }, - "node_modules/loupe": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", - "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", - "dev": true, - "license": "MIT" - }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -6593,9 +6675,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.19", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", - "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6617,27 +6699,6 @@ "node": ">= 0.4" } }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -6670,15 +6731,19 @@ } }, "node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "license": "MIT", "dependencies": { "mime-db": "^1.54.0" }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/mimic-fn": { @@ -6732,29 +6797,6 @@ "minimist": "^1.2.5" } }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minizlib": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", - "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/moderndash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/moderndash/-/moderndash-4.0.0.tgz", @@ -6806,7 +6848,6 @@ "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, "funding": [ { "type": "github", @@ -6837,15 +6878,6 @@ "node": "*" } }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", @@ -6857,9 +6889,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz", - "integrity": "sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "dev": true, "license": "MIT" }, @@ -6872,24 +6904,40 @@ "node": ">=0.10.0" } }, - "node_modules/nwsapi": { - "version": "2.2.22", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz", - "integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==", - "license": "MIT" + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/nwsapi": { + "version": "2.2.22", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz", + "integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==", + "license": "MIT" + }, "node_modules/object-treeify": { "version": "1.1.33", "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", @@ -6899,17 +6947,16 @@ "node": ">= 10" } }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" }, "node_modules/once": { "version": "1.4.0", @@ -7040,6 +7087,18 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/ora/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ora/node_modules/strip-ansi": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", @@ -7115,19 +7174,6 @@ "node": ">=6" } }, - "node_modules/parse-author": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz", - "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "author-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -7141,6 +7187,18 @@ "node": ">=4" } }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse5": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", @@ -7153,15 +7211,6 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/pascal-case": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", @@ -7182,6 +7231,12 @@ "cross-spawn": "^7.0.3" } }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -7210,16 +7265,6 @@ "node": ">=8" } }, - "node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -7236,16 +7281,6 @@ "dev": true, "license": "MIT" }, - "node_modules/pathval": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, "node_modules/peek-readable": { "version": "5.4.2", "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.4.2.tgz", @@ -7299,7 +7334,6 @@ "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -7335,12 +7369,11 @@ } }, "node_modules/prettier": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", - "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -7351,53 +7384,19 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/prettier-package-json": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/prettier-package-json/-/prettier-package-json-2.8.0.tgz", - "integrity": "sha512-WxtodH/wWavfw3MR7yK/GrS4pASEQ+iSTkdtSxPJWvqzG55ir5nvbLt9rw5AOiEcqqPCRM92WCtR1rk3TG3JSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/parse-author": "^2.0.0", - "commander": "^4.0.1", - "cosmiconfig": "^7.0.0", - "fs-extra": "^10.0.0", - "glob": "^7.1.6", - "minimatch": "^3.0.4", - "parse-author": "^2.0.0", - "sort-object-keys": "^1.1.3", - "sort-order": "^1.0.1" - }, - "bin": { - "prettier-package-json": "bin/prettier-package-json" - } - }, - "node_modules/prettier-package-json/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/prettier-plugin-tailwindcss": { - "version": "0.6.11", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.11.tgz", - "integrity": "sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.7.2.tgz", + "integrity": "sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.21.3" + "node": ">=20.19" }, "peerDependencies": { "@ianvs/prettier-plugin-sort-imports": "*", + "@prettier/plugin-hermes": "*", + "@prettier/plugin-oxc": "*", "@prettier/plugin-pug": "*", "@shopify/prettier-plugin-liquid": "*", "@trivago/prettier-plugin-sort-imports": "*", @@ -7405,20 +7404,24 @@ "prettier": "^3.0", "prettier-plugin-astro": "*", "prettier-plugin-css-order": "*", - "prettier-plugin-import-sort": "*", "prettier-plugin-jsdoc": "*", "prettier-plugin-marko": "*", "prettier-plugin-multiline-arrays": "*", "prettier-plugin-organize-attributes": "*", "prettier-plugin-organize-imports": "*", "prettier-plugin-sort-imports": "*", - "prettier-plugin-style-order": "*", "prettier-plugin-svelte": "*" }, "peerDependenciesMeta": { "@ianvs/prettier-plugin-sort-imports": { "optional": true }, + "@prettier/plugin-hermes": { + "optional": true + }, + "@prettier/plugin-oxc": { + "optional": true + }, "@prettier/plugin-pug": { "optional": true }, @@ -7437,9 +7440,6 @@ "prettier-plugin-css-order": { "optional": true }, - "prettier-plugin-import-sort": { - "optional": true - }, "prettier-plugin-jsdoc": { "optional": true }, @@ -7458,14 +7458,26 @@ "prettier-plugin-sort-imports": { "optional": true }, - "prettier-plugin-style-order": { - "optional": true - }, "prettier-plugin-svelte": { "optional": true } } }, + "node_modules/pretty-ms": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", + "integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==", + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -7482,9 +7494,9 @@ "license": "MIT" }, "node_modules/protobufjs": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.2.tgz", - "integrity": "sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", + "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { @@ -7505,19 +7517,6 @@ "node": ">=12.0.0" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/psl": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", @@ -7539,21 +7538,6 @@ "node": ">=6" } }, - "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -7580,72 +7564,31 @@ ], "license": "MIT" }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz", - "integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.7.0", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", - "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, "node_modules/react": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", - "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", - "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", "license": "MIT", "dependencies": { - "scheduler": "^0.26.0" + "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.1.0" + "react": "^19.2.4" } }, "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", "dev": true, "license": "MIT", "engines": { @@ -7719,16 +7662,6 @@ "esprima": "~4.0.0" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -7761,6 +7694,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, "node_modules/reusify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", @@ -7775,7 +7714,6 @@ "version": "4.52.4", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz", "integrity": "sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==", - "dev": true, "license": "MIT", "dependencies": { "@types/estree": "1.0.8" @@ -7813,22 +7751,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/rrweb-cssom": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", @@ -7927,9 +7849,9 @@ } }, "node_modules/scheduler": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", - "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", "license": "MIT" }, "node_modules/semver": { @@ -7942,43 +7864,6 @@ "semver": "bin/semver.js" } }, - "node_modules/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "mime-types": "^3.0.1", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", - "license": "MIT", - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -8002,12 +7887,6 @@ "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "license": "MIT" }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, "node_modules/sha.js": { "version": "2.4.12", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", @@ -8058,92 +7937,7 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, "node_modules/siginfo": { @@ -8154,10 +7948,16 @@ "license": "ISC" }, "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/simple-concat": { "version": "1.0.1", @@ -8230,25 +8030,10 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/sort-object-keys": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", - "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/sort-order": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-order/-/sort-order-1.1.2.tgz", - "integrity": "sha512-Q8tOrwB1TSv9fNUXym9st3TZJODtmcOIi2JWCkVNQPrRg17KPwlpwweTEb7pMwUIFMTAgx2/JsQQXEPFzYQj3A==", - "dev": true, - "license": "MIT" - }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -8267,19 +8052,10 @@ "dev": true, "license": "MIT" }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/std-env": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", - "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", "dev": true, "license": "MIT" }, @@ -8376,6 +8152,18 @@ "node": ">=8" } }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -8453,9 +8241,9 @@ "license": "MIT" }, "node_modules/tailwind-merge": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.0.tgz", - "integrity": "sha512-fyW/pEfcQSiigd5SNn0nApUOxx0zB/dm6UDU/rEwc2c3sX2smWUNbapHv+QRqLGVp9GWX3THIa7MUGPo+YkDzQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", + "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==", "license": "MIT", "funding": { "type": "github", @@ -8463,9 +8251,9 @@ } }, "node_modules/tailwindcss": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.6.tgz", - "integrity": "sha512-j0cGLTreM6u4OWzBeLBpycK0WIh8w7kSwcUsQZoGLHZ7xDTdM69lN64AgoIEEwFi0tnhs4wSykUa5YWxAzgFYg==", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", "dev": true, "license": "MIT" }, @@ -8483,33 +8271,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/tar": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", - "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", - "dev": true, - "license": "ISC", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -8534,36 +8295,64 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, - "node_modules/tinypool": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", - "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", - "dev": true, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/tinyrainbow": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", - "dev": true, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tinyrainbow": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", + "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", "dev": true, "license": "MIT", "engines": { @@ -8608,15 +8397,6 @@ "node": ">=8.0" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, "node_modules/token-types": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", @@ -8670,20 +8450,10 @@ "node": ">=18" } }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "license": "MIT", - "bin": { - "tree-kill": "cli.js" - } - }, "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", "dev": true, "license": "MIT", "engines": { @@ -8854,20 +8624,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/typed-array-buffer": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", @@ -8883,11 +8639,10 @@ } }, "node_modules/typescript": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", - "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -8897,15 +8652,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.29.0.tgz", - "integrity": "sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.54.0.tgz", + "integrity": "sha512-CKsJ+g53QpsNPqbzUsfKVgd3Lny4yKZ1pP4qN3jdMOg/sisIDLGyDMezycquXLE5JsEU0wp3dGNdzig0/fmSVQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.29.0", - "@typescript-eslint/parser": "8.29.0", - "@typescript-eslint/utils": "8.29.0" + "@typescript-eslint/eslint-plugin": "8.54.0", + "@typescript-eslint/parser": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0", + "@typescript-eslint/utils": "8.54.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8916,7 +8672,7 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/undici-types": { @@ -8925,6 +8681,18 @@ "integrity": "sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==", "license": "MIT" }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -8934,19 +8702,10 @@ "node": ">= 10.0.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -9015,32 +8774,24 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "license": "MIT" }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/vite": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.4.tgz", - "integrity": "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==", - "dev": true, + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "license": "MIT", - "peer": true, "dependencies": { - "esbuild": "^0.25.0", - "postcss": "^8.5.3", - "rollup": "^4.30.1" + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -9049,14 +8800,14 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", - "less": "*", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" @@ -9097,37 +8848,13 @@ } } }, - "node_modules/vite-node": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.1.tgz", - "integrity": "sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.4.0", - "es-module-lexer": "^1.6.0", - "pathe": "^2.0.3", - "vite": "^5.0.0 || ^6.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz", - "integrity": "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9138,13 +8865,12 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.10.tgz", - "integrity": "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9155,13 +8881,12 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz", - "integrity": "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9172,13 +8897,12 @@ } }, "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.10.tgz", - "integrity": "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9189,13 +8913,12 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz", - "integrity": "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9206,13 +8929,12 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz", - "integrity": "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9223,13 +8945,12 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz", - "integrity": "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9240,13 +8961,12 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz", - "integrity": "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9257,13 +8977,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz", - "integrity": "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9274,13 +8993,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz", - "integrity": "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9291,13 +9009,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz", - "integrity": "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9308,13 +9025,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz", - "integrity": "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9325,13 +9041,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz", - "integrity": "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", "cpu": [ "mips64el" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9342,13 +9057,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz", - "integrity": "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9359,13 +9073,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz", - "integrity": "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9376,13 +9089,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz", - "integrity": "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9393,13 +9105,12 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz", - "integrity": "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9410,13 +9121,12 @@ } }, "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz", - "integrity": "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9427,13 +9137,12 @@ } }, "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz", - "integrity": "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9444,13 +9153,12 @@ } }, "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz", - "integrity": "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9461,13 +9169,12 @@ } }, "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz", - "integrity": "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9478,13 +9185,12 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz", - "integrity": "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", + "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9495,13 +9201,12 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz", - "integrity": "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", + "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9512,13 +9217,12 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz", - "integrity": "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", + "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -9529,10 +9233,9 @@ } }, "node_modules/vite/node_modules/esbuild": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz", - "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==", - "dev": true, + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", "hasInstallScript": true, "license": "MIT", "bin": { @@ -9542,77 +9245,108 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.10", - "@esbuild/android-arm": "0.25.10", - "@esbuild/android-arm64": "0.25.10", - "@esbuild/android-x64": "0.25.10", - "@esbuild/darwin-arm64": "0.25.10", - "@esbuild/darwin-x64": "0.25.10", - "@esbuild/freebsd-arm64": "0.25.10", - "@esbuild/freebsd-x64": "0.25.10", - "@esbuild/linux-arm": "0.25.10", - "@esbuild/linux-arm64": "0.25.10", - "@esbuild/linux-ia32": "0.25.10", - "@esbuild/linux-loong64": "0.25.10", - "@esbuild/linux-mips64el": "0.25.10", - "@esbuild/linux-ppc64": "0.25.10", - "@esbuild/linux-riscv64": "0.25.10", - "@esbuild/linux-s390x": "0.25.10", - "@esbuild/linux-x64": "0.25.10", - "@esbuild/netbsd-arm64": "0.25.10", - "@esbuild/netbsd-x64": "0.25.10", - "@esbuild/openbsd-arm64": "0.25.10", - "@esbuild/openbsd-x64": "0.25.10", - "@esbuild/openharmony-arm64": "0.25.10", - "@esbuild/sunos-x64": "0.25.10", - "@esbuild/win32-arm64": "0.25.10", - "@esbuild/win32-ia32": "0.25.10", - "@esbuild/win32-x64": "0.25.10" + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/vitest": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.1.tgz", - "integrity": "sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "3.1.1", - "@vitest/mocker": "3.1.1", - "@vitest/pretty-format": "^3.1.1", - "@vitest/runner": "3.1.1", - "@vitest/snapshot": "3.1.1", - "@vitest/spy": "3.1.1", - "@vitest/utils": "3.1.1", - "chai": "^5.2.0", - "debug": "^4.4.0", - "expect-type": "^1.2.0", - "magic-string": "^0.30.17", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.18.tgz", + "integrity": "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.0.18", + "@vitest/mocker": "4.0.18", + "@vitest/pretty-format": "4.0.18", + "@vitest/runner": "4.0.18", + "@vitest/snapshot": "4.0.18", + "@vitest/spy": "4.0.18", + "@vitest/utils": "4.0.18", + "es-module-lexer": "^1.7.0", + "expect-type": "^1.2.2", + "magic-string": "^0.30.21", + "obug": "^2.1.1", "pathe": "^2.0.3", - "std-env": "^3.8.1", + "picomatch": "^4.0.3", + "std-env": "^3.10.0", "tinybench": "^2.9.0", - "tinyexec": "^0.3.2", - "tinypool": "^1.0.2", - "tinyrainbow": "^2.0.0", - "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.1.1", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.0.3", + "vite": "^6.0.0 || ^7.0.0", "why-is-node-running": "^2.3.0" }, "bin": { "vitest": "vitest.mjs" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "@edge-runtime/vm": "*", - "@types/debug": "^4.1.12", - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.1.1", - "@vitest/ui": "3.1.1", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.0.18", + "@vitest/browser-preview": "4.0.18", + "@vitest/browser-webdriverio": "4.0.18", + "@vitest/ui": "4.0.18", "happy-dom": "*", "jsdom": "*" }, @@ -9620,13 +9354,19 @@ "@edge-runtime/vm": { "optional": true }, - "@types/debug": { + "@opentelemetry/api": { "optional": true }, "@types/node": { "optional": true }, - "@vitest/browser": { + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { "optional": true }, "@vitest/ui": { @@ -9640,6 +9380,19 @@ } } }, + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/w3c-xmlserializer": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", @@ -9720,9 +9473,9 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", @@ -9844,16 +9597,6 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "license": "MIT" }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -9865,7 +9608,6 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", - "dev": true, "license": "ISC", "optional": true, "peer": true, @@ -9876,35 +9618,6 @@ "node": ">= 14.6" } }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", @@ -9926,6 +9639,41 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } } } } diff --git a/package.json b/package.json index ae76313..d82e381 100644 --- a/package.json +++ b/package.json @@ -1,57 +1,47 @@ { "private": true, - "name": "devvit-react-starter-experimental", + "name": "llkmlmrf33", "version": "0.0.0", "license": "BSD-3-Clause", "type": "module", "scripts": { - "postinstall": "npm run build", - "build:client": "cd src/client && vite build", - "build:server": "cd src/server && vite build", - "build": "npm run build:client && npm run build:server", - "check": "npm run type-check && npm run lint:fix && npm run prettier", - "deploy": "npm run build && devvit upload", - "dev": "concurrently -k -p \"[{name}]\" -n \"CLIENT,SERVER,DEVVIT\" -c \"blue,green,magenta\" \"npm run dev:client\" \"npm run dev:server\" \"npm run dev:devvit\"", - "dev:client": "cd src/client && vite build --watch", - "dev:devvit": "devvit playtest", - "dev:server": "cd src/server && vite build --watch", - "dev:vite": "cd src/client && vite --port 7474", - "lint": "eslint ./src", - "lint:fix": "eslint --fix ./src", + "build": "vite build", + "deploy": "npm run type-check && npm run lint && npm run test && devvit upload", + "dev": "devvit playtest --verbose", + "launch": "npm run deploy && devvit publish", + "lint": "eslint 'src/**/*.{ts,tsx}'", "login": "devvit login", - "launch": "npm run build && npm run deploy && devvit publish", - "prettier": "prettier-package-json --write ./package.json && prettier --write .", + "prettier": "prettier --write .", + "test": "vitest run", "type-check": "tsc --build" }, "dependencies": { - "@devvit/web": "0.12.3", + "@devvit/start": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@devvit/web": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "@hono/node-server": "^1.19.9", "clsx": "2.1.1", - "devvit": "0.12.3", - "express": "5.1.0", - "react": "19.1.0", - "react-dom": "19.1.0", - "tailwind-merge": "3.3.0" + "devvit": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", + "hono": "4.11.7", + "react": "19.2.4", + "react-dom": "19.2.4", + "tailwind-merge": "3.4.0" }, "devDependencies": { - "@eslint/js": "9.23.0", - "@tailwindcss/vite": "4.1.6", - "@types/express": "5.0.1", - "@types/react": "19.1.4", - "@types/react-dom": "19.1.5", - "@vitejs/plugin-react": "4.4.1", - "concurrently": "9.1.2", - "dotenv-cli": "8.0.0", - "eslint": "9.23.0", - "eslint-plugin-react-hooks": "5.2.0", - "eslint-plugin-react-refresh": "0.4.20", - "globals": "15.15.0", - "prettier": "3.5.3", - "prettier-package-json": "2.8.0", - "prettier-plugin-tailwindcss": "0.6.11", - "tailwindcss": "4.1.6", - "typescript": "5.8.2", - "typescript-eslint": "8.29.0", - "vite": "6.2.4", - "vitest": "3.1.1" + "@eslint/js": "9.39.2", + "@tailwindcss/vite": "4.1.18", + "@types/react": "19.2.10", + "@types/react-dom": "19.2.3", + "@vitejs/plugin-react": "5.1.2", + "eslint": "9.39.2", + "eslint-plugin-react-hooks": "7.0.1", + "eslint-plugin-react-refresh": "0.4.26", + "globals": "17.2.0", + "prettier": "3.8.1", + "prettier-plugin-tailwindcss": "0.7.2", + "tailwindcss": "4.1.18", + "typescript": "5.9.3", + "typescript-eslint": "8.54.0", + "vite": "7.3.1", + "vitest": "4.0.18" } } diff --git a/src/client/game/App.tsx b/src/client/game/App.tsx index 5110a72..9c4b459 100644 --- a/src/client/game/App.tsx +++ b/src/client/game/App.tsx @@ -5,14 +5,21 @@ export const App = () => { const { count, username, loading, increment, decrement } = useCounter(); return (
- Snoo + Snoo

{username ? `Hey ${username} 👋` : ''}

- Edit src/client/game/App.tsx to - get started. + Edit{' '} + + src/client/game/App.tsx + {' '} + to get started.

diff --git a/src/client/hooks/useCounter.ts b/src/client/hooks/useCounter.ts index caad007..b69b1c6 100644 --- a/src/client/hooks/useCounter.ts +++ b/src/client/hooks/useCounter.ts @@ -1,5 +1,9 @@ import { useCallback, useEffect, useState } from 'react'; -import type { InitResponse, IncrementResponse, DecrementResponse } from '../../shared/types/api'; +import type { + InitResponse, + IncrementResponse, + DecrementResponse, +} from '../../shared/api'; interface CounterState { count: number; @@ -23,7 +27,11 @@ export const useCounter = () => { if (!res.ok) throw new Error(`HTTP ${res.status}`); const data: InitResponse = await res.json(); if (data.type !== 'init') throw new Error('Unexpected response'); - setState({ count: data.count, username: data.username, loading: false }); + setState({ + count: data.count, + username: data.username, + loading: false, + }); setPostId(data.postId); } catch (err) { console.error('Failed to init counter', err); diff --git a/src/client/splash/splash.tsx b/src/client/splash/splash.tsx index d70ca09..5eb5487 100644 --- a/src/client/splash/splash.tsx +++ b/src/client/splash/splash.tsx @@ -8,15 +8,21 @@ import { createRoot } from 'react-dom/client'; export const Splash = () => { return (
- Snoo + Snoo

Hey {context.username ?? 'user'} 👋

Edit{' '} - src/client/splash/splash.tsx to - get started. + + src/client/splash/splash.tsx + {' '} + to get started.

diff --git a/src/client/tsconfig.json b/src/client/tsconfig.json deleted file mode 100644 index 8768312..0000000 --- a/src/client/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -// TypeScript config for all web view main thread code. -{ - "extends": "../../tools/tsconfig-base.json", - "compilerOptions": { - // Target the browser. - "customConditions": ["browser"], - - "lib": ["DOM", "ES2023", "esnext.disposable"], - - "outDir": "../../dist/types/client", - - // React - "jsx": "react-jsx", - - "tsBuildInfoFile": "../../dist/client/tsconfig.tsbuildinfo" - }, - // https://github.com/Microsoft/TypeScript/issues/25636 - "include": ["**/*", "**/*.json"], - "exclude": ["**/*.test.ts"], - "references": [{ "path": "../shared" }] -} diff --git a/src/client/vite.config.ts b/src/client/vite.config.ts deleted file mode 100644 index 6dab9cd..0000000 --- a/src/client/vite.config.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { defineConfig } from 'vite'; -import tailwind from '@tailwindcss/vite'; -import react from '@vitejs/plugin-react'; - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [react(), tailwind()], - logLevel: 'warn', - build: { - outDir: '../../dist/client', - emptyOutDir: true, - sourcemap: true, - rollupOptions: { - input: { - splash: 'splash.html', - game: 'game.html', - }, - output: { - entryFileNames: '[name].js', - chunkFileNames: '[name].js', - assetFileNames: '[name][extname]', - sourcemapFileNames: '[name].js.map', - }, - }, - }, -}); diff --git a/src/server/index.ts b/src/server/index.ts index 822107e..a2c55ec 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -1,135 +1,23 @@ -import express from 'express'; -import { InitResponse, IncrementResponse, DecrementResponse } from '../shared/types/api'; -import { redis, reddit, createServer, context, getServerPort } from '@devvit/web/server'; -import { createPost } from './core/post'; - -const app = express(); - -// Middleware for JSON body parsing -app.use(express.json()); -// Middleware for URL-encoded body parsing -app.use(express.urlencoded({ extended: true })); -// Middleware for plain text body parsing -app.use(express.text()); - -const router = express.Router(); - -router.get<{ postId: string }, InitResponse | { status: string; message: string }>( - '/api/init', - async (_req, res): Promise => { - const { postId } = context; - - if (!postId) { - console.error('API Init Error: postId not found in devvit context'); - res.status(400).json({ - status: 'error', - message: 'postId is required but missing from context', - }); - return; - } - - try { - const [count, username] = await Promise.all([ - redis.get('count'), - reddit.getCurrentUsername(), - ]); - - res.json({ - type: 'init', - postId: postId, - count: count ? parseInt(count) : 0, - username: username ?? 'anonymous', - }); - } catch (error) { - console.error(`API Init Error for post ${postId}:`, error); - let errorMessage = 'Unknown error during initialization'; - if (error instanceof Error) { - errorMessage = `Initialization failed: ${error.message}`; - } - res.status(400).json({ status: 'error', message: errorMessage }); - } - } -); - -router.post<{ postId: string }, IncrementResponse | { status: string; message: string }, unknown>( - '/api/increment', - async (_req, res): Promise => { - const { postId } = context; - if (!postId) { - res.status(400).json({ - status: 'error', - message: 'postId is required', - }); - return; - } - - res.json({ - count: await redis.incrBy('count', 1), - postId, - type: 'increment', - }); - } -); - -router.post<{ postId: string }, DecrementResponse | { status: string; message: string }, unknown>( - '/api/decrement', - async (_req, res): Promise => { - const { postId } = context; - if (!postId) { - res.status(400).json({ - status: 'error', - message: 'postId is required', - }); - return; - } - - res.json({ - count: await redis.incrBy('count', -1), - postId, - type: 'decrement', - }); - } -); - -router.post('/internal/on-app-install', async (_req, res): Promise => { - try { - const post = await createPost(); - - res.json({ - status: 'success', - message: `Post created in subreddit ${context.subredditName} with id ${post.id}`, - }); - } catch (error) { - console.error(`Error creating post: ${error}`); - res.status(400).json({ - status: 'error', - message: 'Failed to create post', - }); - } +import { Hono } from 'hono'; +import { serve } from '@hono/node-server'; +import { createServer, getServerPort } from '@devvit/web/server'; +import { api } from './routes/api'; +import { forms } from './routes/forms'; +import { menu } from './routes/menu'; +import { triggers } from './routes/triggers'; + +const app = new Hono(); +const internal = new Hono(); + +internal.route('/menu', menu); +internal.route('/form', forms); +internal.route('/triggers', triggers); + +app.route('/api', api); +app.route('/internal', internal); + +serve({ + fetch: app.fetch, + createServer, + port: getServerPort(), }); - -router.post('/internal/menu/post-create', async (_req, res): Promise => { - try { - const post = await createPost(); - - res.json({ - navigateTo: `https://reddit.com/r/${context.subredditName}/comments/${post.id}`, - }); - } catch (error) { - console.error(`Error creating post: ${error}`); - res.status(400).json({ - status: 'error', - message: 'Failed to create post', - }); - } -}); - -// Use router middleware -app.use(router); - -// Get port from environment variable with fallback -const port = getServerPort(); - -const server = createServer(app); -server.on('error', (err) => console.error(`server error; ${err.stack}`)); -server.listen(port); diff --git a/src/server/routes/api.ts b/src/server/routes/api.ts new file mode 100644 index 0000000..28eef3b --- /dev/null +++ b/src/server/routes/api.ts @@ -0,0 +1,93 @@ +import { Hono } from 'hono'; +import { context, redis, reddit } from '@devvit/web/server'; +import type { + DecrementResponse, + IncrementResponse, + InitResponse, +} from '../../shared/api'; + +type ErrorResponse = { + status: 'error'; + message: string; +}; + +export const api = new Hono(); + +api.get('/init', async (c) => { + const { postId } = context; + + if (!postId) { + console.error('API Init Error: postId not found in devvit context'); + return c.json( + { + status: 'error', + message: 'postId is required but missing from context', + }, + 400 + ); + } + + try { + const [count, username] = await Promise.all([ + redis.get('count'), + reddit.getCurrentUsername(), + ]); + + return c.json({ + type: 'init', + postId: postId, + count: count ? parseInt(count) : 0, + username: username ?? 'anonymous', + }); + } catch (error) { + console.error(`API Init Error for post ${postId}:`, error); + let errorMessage = 'Unknown error during initialization'; + if (error instanceof Error) { + errorMessage = `Initialization failed: ${error.message}`; + } + return c.json( + { status: 'error', message: errorMessage }, + 400 + ); + } +}); + +api.post('/increment', async (c) => { + const { postId } = context; + if (!postId) { + return c.json( + { + status: 'error', + message: 'postId is required', + }, + 400 + ); + } + + const count = await redis.incrBy('count', 1); + return c.json({ + count, + postId, + type: 'increment', + }); +}); + +api.post('/decrement', async (c) => { + const { postId } = context; + if (!postId) { + return c.json( + { + status: 'error', + message: 'postId is required', + }, + 400 + ); + } + + const count = await redis.incrBy('count', -1); + return c.json({ + count, + postId, + type: 'decrement', + }); +}); diff --git a/src/server/routes/forms.ts b/src/server/routes/forms.ts new file mode 100644 index 0000000..9465861 --- /dev/null +++ b/src/server/routes/forms.ts @@ -0,0 +1,23 @@ +import { Hono } from 'hono'; +import type { UiResponse } from '@devvit/web/shared'; + +type ExampleFormValues = { + message?: string; +}; + +export const forms = new Hono(); + +forms.post('/example-submit', async (c) => { + const { message } = await c.req.json(); + const trimmedMessage = + typeof message === 'string' ? message.trim() : ''; + + return c.json( + { + showToast: trimmedMessage + ? `Form says: ${trimmedMessage}` + : 'Form submitted with no message', + }, + 200 + ); +}); diff --git a/src/server/routes/menu.ts b/src/server/routes/menu.ts new file mode 100644 index 0000000..e2482d0 --- /dev/null +++ b/src/server/routes/menu.ts @@ -0,0 +1,48 @@ +import { Hono } from 'hono'; +import type { UiResponse } from '@devvit/web/shared'; +import { context } from '@devvit/web/server'; +import { createPost } from '../core/post'; + +export const menu = new Hono(); + +menu.post('/post-create', async (c) => { + try { + const post = await createPost(); + + return c.json( + { + navigateTo: `https://reddit.com/r/${context.subredditName}/comments/${post.id}`, + }, + 200 + ); + } catch (error) { + console.error(`Error creating post: ${error}`); + return c.json( + { + showToast: 'Failed to create post', + }, + 400 + ); + } +}); + +menu.post('/example-form', async (c) => { + return c.json( + { + showForm: { + name: 'exampleForm', + form: { + title: 'Example Form', + fields: [ + { + type: 'string', + name: 'message', + label: 'Message', + }, + ], + }, + }, + }, + 200 + ); +}); diff --git a/src/server/routes/triggers.ts b/src/server/routes/triggers.ts new file mode 100644 index 0000000..811c994 --- /dev/null +++ b/src/server/routes/triggers.ts @@ -0,0 +1,30 @@ +import { Hono } from 'hono'; +import type { OnAppInstallRequest, TriggerResponse } from '@devvit/web/shared'; +import { context } from '@devvit/web/server'; +import { createPost } from '../core/post'; + +export const triggers = new Hono(); + +triggers.post('/on-app-install', async (c) => { + try { + const post = await createPost(); + const input = await c.req.json(); + + return c.json( + { + status: 'success', + message: `Post created in subreddit ${context.subredditName} with id ${post.id} (trigger: ${input.type})`, + }, + 200 + ); + } catch (error) { + console.error(`Error creating post: ${error}`); + return c.json( + { + status: 'error', + message: 'Failed to create post', + }, + 400 + ); + } +}); diff --git a/src/server/tsconfig.json b/src/server/tsconfig.json deleted file mode 100644 index c2a94c0..0000000 --- a/src/server/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -// TypeScript config for all Devvit server code. -{ - "extends": "../../tools/tsconfig-base.json", - "compilerOptions": { - "lib": ["ES2023"], - - "types": ["node"], - - "rootDir": ".", - - "outDir": "../../dist/types/server", - - "tsBuildInfoFile": "../../dist/tsconfig.tsbuildinfo" - }, - // https://github.com/Microsoft/TypeScript/issues/25636 - "include": ["**/*", "**/*.json", "../../package.json"], - "exclude": ["**/*.test.ts"], - "references": [{ "path": "../shared" }] -} diff --git a/src/server/vite.config.ts b/src/server/vite.config.ts deleted file mode 100644 index b50a8aa..0000000 --- a/src/server/vite.config.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { defineConfig } from 'vite'; -import { builtinModules } from 'node:module'; - -export default defineConfig({ - ssr: { - noExternal: true, - }, - logLevel: 'warn', - build: { - ssr: 'index.ts', - outDir: '../../dist/server', - emptyOutDir: true, - target: 'node22', - sourcemap: true, - rollupOptions: { - external: [...builtinModules], - - output: { - format: 'cjs', - entryFileNames: 'index.cjs', - inlineDynamicImports: true, - }, - }, - }, -}); diff --git a/src/shared/types/api.ts b/src/shared/api.ts similarity index 100% rename from src/shared/types/api.ts rename to src/shared/api.ts diff --git a/src/shared/tsconfig.json b/src/shared/tsconfig.json deleted file mode 100644 index 699e0bb..0000000 --- a/src/shared/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -// TypeScript config for non-devvit and shared code. -{ - "extends": "../../tools/tsconfig-base.json", - "compilerOptions": { - "lib": ["WebWorker", "ES2023"], - - "outDir": "../../dist/types/shared", - - "tsBuildInfoFile": "../../dist/shared/tsconfig.tsbuildinfo" - }, - // https://github.com/Microsoft/TypeScript/issues/25636 - "include": ["**/*", "**/*.json"], - "exclude": ["**/*.test.ts"] -} diff --git a/tools/tsconfig-base.json b/tools/tsconfig.base.json similarity index 55% rename from tools/tsconfig-base.json rename to tools/tsconfig.base.json index 4342ebb..d07745c 100644 --- a/tools/tsconfig-base.json +++ b/tools/tsconfig.base.json @@ -1,12 +1,7 @@ -// TypeScript config defaults for each sub-project (src, test, etc). { "$schema": "https://json.schemastore.org/tsconfig.json", - "compilerOptions": { - // Enable incremental builds. "composite": true, - - // Maximize type checking. "allowUnreachableCode": false, "allowUnusedLabels": false, "exactOptionalPropertyTypes": true, @@ -18,27 +13,16 @@ "noUnusedParameters": true, "resolveJsonModule": true, "strict": true, - - "types": [], // Projects add types needed. - - // Improve compatibility with compilers that aren't type system aware. + "types": [], "isolatedModules": true, - - // Use ESM. "esModuleInterop": true, - - // Allow JSON type-checking and imports. "module": "ESNext", "moduleResolution": "Bundler", - - // Assume library types are checked and compatible. "skipLibCheck": true, "skipDefaultLibCheck": true, - "sourceMap": true, - - "target": "ES2023" - }, - // https://github.com/microsoft/TypeScript/wiki/Performance#misconfigured-include-and-exclude - "exclude": ["dist", "node_modules", ".*/"] + "target": "ES2022", + "lib": ["DOM", "ES2023", "esnext.disposable"], + "jsx": "react-jsx" + } } diff --git a/tools/tsconfig.client.json b/tools/tsconfig.client.json new file mode 100644 index 0000000..2a87d73 --- /dev/null +++ b/tools/tsconfig.client.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "outDir": "../dist/types/client", + "tsBuildInfoFile": "../dist/types/client/tsconfig.tsbuildinfo", + "customConditions": ["browser"], + "rootDir": ".." + }, + "include": ["../src/client/**/*", "../src/shared/**/*"], + "exclude": ["../src/server/**/*", "../dist"], + "references": [{ "path": "./tsconfig.server.json" }] +} diff --git a/tools/tsconfig.server.json b/tools/tsconfig.server.json new file mode 100644 index 0000000..d28804a --- /dev/null +++ b/tools/tsconfig.server.json @@ -0,0 +1,19 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "outDir": "../dist/types/server", + "tsBuildInfoFile": "../dist/types/server/tsconfig.tsbuildinfo", + "customConditions": [], + "exactOptionalPropertyTypes": false, + "rootDir": ".." + }, + "include": [ + "../src/server/**/*", + "../src/shared/**/*", + "../src/transformer.ts", + "../src/global.d.ts", + "../vite.config.ts", + "../vitest.config.ts" + ], + "exclude": ["../dist"] +} diff --git a/tools/tsconfig.shared.json b/tools/tsconfig.shared.json new file mode 100644 index 0000000..eac077b --- /dev/null +++ b/tools/tsconfig.shared.json @@ -0,0 +1,21 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "lib": ["WebWorker", "ES2023"], + + "outDir": "../dist/types/shared", + + "tsBuildInfoFile": "../dist/shared/tsconfig.tsbuildinfo", + + "rootDir": ".." + }, + // https://github.com/Microsoft/TypeScript/issues/25636 + "include": ["../src/shared/**/*"], + "exclude": [ + "../src/server", + "../src/server/**/*", + "../src/client", + "../src/client/**/*", + "../dist" + ] +} diff --git a/tsconfig.json b/tsconfig.json index 421a7da..dd09b97 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,8 @@ { - // Only build references. "files": [], - "references": [{ "path": "./src/client" }, { "path": "./src/shared" }, { "path": "./src/server" }] + "references": [ + { "path": "./tools/tsconfig.client.json" }, + { "path": "./tools/tsconfig.server.json" }, + { "path": "./tools/tsconfig.shared.json" } + ] } diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..25d8215 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; +import tailwind from '@tailwindcss/vite'; +import { devvit } from '@devvit/start/vite'; + +export default defineConfig({ + plugins: [react(), tailwind(), devvit()], +}); From 851c909855ae800e17c02ae0c2d6c877dbd7e899 Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Fri, 30 Jan 2026 16:45:59 -0500 Subject: [PATCH 02/16] no lockfile and remove dev stuff --- devvit.json | 5 +- package-lock.json | 9679 --------------------------------------------- 2 files changed, 1 insertion(+), 9683 deletions(-) delete mode 100644 package-lock.json diff --git a/devvit.json b/devvit.json index 8a287f8..e8c1707 100644 --- a/devvit.json +++ b/devvit.json @@ -1,6 +1,6 @@ { "$schema": "https://developers.reddit.com/schema/config-file.v1.json", - "name": "llkmlmrf33", + "name": "<% name %>", "post": { "dir": "dist/client", "entrypoints": { @@ -44,8 +44,5 @@ "scripts": { "dev": "vite build --watch", "build": "vite build" - }, - "dev": { - "subreddit": "llkmlmrf33_dev" } } diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 03fbec0..0000000 --- a/package-lock.json +++ /dev/null @@ -1,9679 +0,0 @@ -{ - "name": "llkmlmrf33", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "llkmlmrf33", - "version": "0.0.0", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/start": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/web": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@hono/node-server": "^1.19.9", - "clsx": "2.1.1", - "devvit": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "hono": "^4.11.7", - "react": "19.2.4", - "react-dom": "19.2.4", - "tailwind-merge": "3.4.0" - }, - "devDependencies": { - "@eslint/js": "9.39.2", - "@tailwindcss/vite": "4.1.18", - "@types/react": "19.2.10", - "@types/react-dom": "19.2.3", - "@vitejs/plugin-react": "5.1.2", - "eslint": "9.39.2", - "eslint-plugin-react-hooks": "7.0.1", - "eslint-plugin-react-refresh": "0.4.26", - "globals": "17.2.0", - "prettier": "3.8.1", - "prettier-plugin-tailwindcss": "0.7.2", - "tailwindcss": "4.1.18", - "typescript": "5.9.3", - "typescript-eslint": "8.54.0", - "vite": "7.3.1", - "vitest": "4.0.18" - } - }, - "../../src/devvit/packages/analytics": { - "name": "@devvit/analytics", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/cache": "0.12.11-dev" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "eslint": "9.11.1", - "express": "5.1.0", - "posthog-js": "1.302.2", - "typescript": "5.8.3", - "vitest": "4.0.15" - }, - "peerDependencies": { - "express": "*", - "posthog-js": "*" - } - }, - "../../src/devvit/packages/build-pack": { - "name": "@devvit/build-pack", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/payments": "0.12.11-dev", - "@devvit/protos": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev", - "@devvit/splash": "0.12.11-dev", - "@types/node": "20.14.12", - "esbuild": "0.25.9", - "rxjs": "7.8.1", - "tsv": "0.2.0", - "typescript": "5.8.3" - }, - "devDependencies": { - "@devvit/public-api": "0.12.11-dev", - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/scheduler": "0.12.11-dev", - "@devvit/server": "0.12.11-dev", - "@devvit/shared": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "@types/tsv": "0.2.1", - "eslint": "9.11.1", - "vitest": "4.0.15" - }, - "peerDependencies": { - "@devvit/server": "*", - "@devvit/shared": "*" - } - }, - "../../src/devvit/packages/cache": { - "name": "@devvit/cache", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/redis": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - } - }, - "../../src/devvit/packages/client": { - "name": "@devvit/client", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev", - "@devvit/shared": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev" - }, - "devDependencies": { - "@ampproject/filesize": "4.3.0", - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "esbuild": "0.25.9", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - } - }, - "../../src/devvit/packages/media": { - "name": "@devvit/media", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/server": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "../../src/devvit/packages/metrics": { - "name": "@devvit/metrics", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - } - }, - "../../src/devvit/packages/notifications": { - "name": "@devvit/notifications", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/server": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "../../src/devvit/packages/payments": { - "name": "@devvit/payments", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev", - "@devvit/public-api": "0.12.11-dev", - "@devvit/server": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev" - }, - "devDependencies": { - "@ampproject/filesize": "4.3.0", - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "esbuild": "0.25.9", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - } - }, - "../../src/devvit/packages/realtime": { - "name": "@devvit/realtime", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev", - "@devvit/shared": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev", - "rxjs": "7.8.1" - }, - "devDependencies": { - "@devvit/client": "0.12.11-dev", - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/server": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - }, - "peerDependencies": { - "@devvit/client": "*", - "@devvit/server": "*" - } - }, - "../../src/devvit/packages/reddit": { - "name": "@devvit/reddit", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev", - "@devvit/public-api": "0.12.11-dev", - "@devvit/shared": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev", - "@devvit/splash": "0.12.11-dev" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/server": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "@types/node": "20.14.12", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "../../src/devvit/packages/redis": { - "name": "@devvit/redis", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/server": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "@types/node": "20.14.12", - "eslint": "9.11.1", - "ioredis": "5.7.0", - "redis-memory-server": "0.14.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "../../src/devvit/packages/scheduler": { - "name": "@devvit/scheduler", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev", - "@devvit/shared": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/server": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "@types/node": "20.14.12", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "../../src/devvit/packages/server": { - "name": "@devvit/server", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev", - "@devvit/public-api": "0.12.11-dev", - "@devvit/shared": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "@types/node": "20.14.12", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - } - }, - "../../src/devvit/packages/settings": { - "name": "@devvit/settings", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev", - "@devvit/shared": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/server": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "../../src/devvit/packages/shared": { - "name": "@devvit/shared", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - } - }, - "../../src/devvit/packages/shared-types": { - "name": "@devvit/shared-types", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-dev", - "jsonschema": "1.4.1", - "uuid": "9.0.0" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "@types/node": "20.14.12", - "@types/redis-mock": "0.17.1", - "@types/uuid": "9.0.0", - "chokidar-cli": "3.0.0", - "eslint": "9.11.1", - "lit": "2.5.0", - "redis": "4.6.6", - "redis-mock": "0.56.3", - "typescript": "5.8.3", - "vitest": "4.0.15" - } - }, - "../../src/devvit/packages/test": { - "name": "@devvit/test", - "version": "0.12.11-dev", - "extraneous": true, - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/media": "0.12.11-dev", - "@devvit/notifications": "0.12.11-dev", - "@devvit/protos": "0.12.11-dev", - "@devvit/realtime": "0.12.11-dev", - "@devvit/reddit": "0.12.11-dev", - "@devvit/redis": "0.12.11-dev", - "@devvit/scheduler": "0.12.11-dev", - "@devvit/server": "0.12.11-dev", - "@devvit/settings": "0.12.11-dev", - "@devvit/shared-types": "0.12.11-dev", - "ioredis": "5.7.0", - "redis-memory-server": "0.14.1" - }, - "devDependencies": { - "@devvit/repo-tools": "0.12.11-dev", - "@devvit/tsconfig": "0.12.11-dev", - "eslint": "9.11.1", - "typescript": "5.8.3", - "vitest": "4.0.15" - }, - "peerDependencies": { - "vitest": "*" - } - }, - "node_modules/@asamuzakjp/css-color": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", - "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", - "license": "MIT", - "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "lru-cache": "^10.4.3" - } - }, - "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" - }, - "node_modules/@babel/code-frame": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", - "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", - "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", - "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/generator": "^7.28.6", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", - "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", - "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.6" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", - "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/generator": "^7.28.6", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.6", - "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", - "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@csstools/color-helpers": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", - "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - } - }, - "node_modules/@csstools/css-calc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", - "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-color-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", - "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/color-helpers": "^5.1.0", - "@csstools/css-calc": "^2.1.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", - "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", - "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/@devvit/build-pack": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/build-pack/-/build-pack-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-2YRtKHj5N0dkCns7pA195Do6b7M7wjYfJrOBOcHU6ooXy84Spj8711mPSf/ymz14zMlaj/u9V94c0E+7VEfHpw==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/payments": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/splash": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@types/node": "20.14.12", - "esbuild": "0.25.9", - "rxjs": "7.8.1", - "tsv": "0.2.0", - "typescript": "5.8.3" - }, - "peerDependencies": { - "@devvit/server": "*", - "@devvit/shared": "*" - } - }, - "node_modules/@devvit/build-pack/node_modules/@types/node": { - "version": "20.14.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", - "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==", - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@devvit/build-pack/node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/@devvit/build-pack/node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "license": "MIT" - }, - "node_modules/@devvit/cache": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/cache/-/cache-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-/N9QRyTtZXajmNzB/6XCT1WnVS6g0/jWQs9SEVSlnBspAErFIOq9GjuWTFKZ+sAWr3XoHCLKwvrtuAst188Llw==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/redis": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - } - }, - "node_modules/@devvit/cli": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/cli/-/cli-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-jREfcJKo+3IH3R/vBvYfuLBD/FMUWzcthM8XGX7Cxc/gXNifmKKLqFfzVboQ9L/FtJHeio8ln/VZ93/ecl8QAQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/build-pack": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/public-api": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@improbable-eng/grpc-web": "0.15.0", - "@improbable-eng/grpc-web-node-http-transport": "0.15.0", - "@oclif/core": "2.9.4", - "@oclif/plugin-autocomplete": "2.3.3", - "@oclif/plugin-help": "5.2.14", - "@oclif/plugin-not-found": "2.3.34", - "@oclif/plugin-warn-if-update-available": "2.0.45", - "@types/ws": "8.5.12", - "chalk": "4.1.2", - "chokidar": "3.5.3", - "date-fns": "2.29.3", - "dotenv": "16.5.0", - "execa": "9.6.1", - "file-type": "18.2.1", - "ignore": "7.0.5", - "image-size": "2.0.2", - "inquirer": "9.1.4", - "isomorphic-git": "1.33.1", - "js-yaml": "4.1.1", - "jsdom": "24.1.0", - "jszip": "3.10.1", - "mime-types": "3.0.2", - "mustache": "4.2.0", - "open": "10.1.0", - "rxjs": "7.8.1", - "semver": "7.6.3", - "string-length": "5.0.1", - "tiny-glob": "0.2.9", - "twirp-ts": "2.5.0", - "ws": "8.18.0" - }, - "bin": { - "devvit-cli": "bin/devvit.js" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@devvit/cli/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@devvit/cli/node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@devvit/cli/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@devvit/client": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/client/-/client-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-3ZBayIQwCz9pSZjz1wFI1Sa6qLQ0P/36azQSGygxrCk2f9aqGgea+Q8Td0TWnazfzq4GCy+3/F9HkgF6APCY3w==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - } - }, - "node_modules/@devvit/media": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/media/-/media-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-2CcBv0GMBNC5rB+pfLljF6ofCMU44Oq8HiISPmr4Y8kwZZt/UyPz4iirs28fpFKMxnyMBAExbYW+zT5vesxylQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "node_modules/@devvit/metrics": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/metrics/-/metrics-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-4PqOwx+K0kaQiWBAOLib0I+Uz1T6b60WTVLf8Jk7qjilPbVgNmBrR/bmu4Ktq/Vl1bdAheYK36+Ils2KMAL64w==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - } - }, - "node_modules/@devvit/notifications": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/notifications/-/notifications-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-gOhUngswtWAZAjcxnOFMzkPN+sG1vFlb0LWti/6xC4qunlMPbA04CMAaTch/ewWARn/qkFBEefeJzlf9urIB4w==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "node_modules/@devvit/payments": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/payments/-/payments-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-1ORXQAV4nZOh/PJ7nebw9NethwkpkSECZJ7DhWVMP5po0UUDzSEpll1gXKBv45FJw7mMWKg8RsoySNu3YfDbPA==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/public-api": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/server": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - } - }, - "node_modules/@devvit/protos": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/protos/-/protos-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-krx5a+3w6V00yIiuWd9UVAErUqTS3QBOcW4QDRync7woo3PnpDIY50v3kIWV4LKgZ5wtHRHypfo4uXD70vuk3g==", - "license": "BSD-3-Clause", - "dependencies": { - "protobufjs": "7.5.4", - "rxjs": "7.8.1" - }, - "peerDependencies": { - "twirp-ts": "^2.5.0" - }, - "peerDependenciesMeta": { - "twirp-ts": { - "optional": true - } - } - }, - "node_modules/@devvit/public-api": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/public-api/-/public-api-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-sjcg2ZwL6Dw1eAxEmSb8zbZb14jOEo/wNpB77a908+uQsU63tmqoXJEi1K2FME707lpfgCVg9CJi+Q6GvGMDBQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/metrics": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "base64-js": "1.5.1", - "clone-deep": "4.0.1", - "moderndash": "4.0.0" - } - }, - "node_modules/@devvit/realtime": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/realtime/-/realtime-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-0OjJat/mngf/khhODQbSXUAWsREDiIFlbj9hVuSmGcrADnlOET0WMceXsfIK1aWjo90Rmv3uj8CSWspmk7QZ4Q==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "rxjs": "7.8.1" - }, - "peerDependencies": { - "@devvit/client": "*", - "@devvit/server": "*" - } - }, - "node_modules/@devvit/reddit": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/reddit/-/reddit-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-zIDvnZyVNJXuDfcO0EwzxPpX6WMLKvfob5vNT48rrryv6t5uIAEOnSF4zUPLGv2TITWQKPJTwMm+2yCTPS7Tmw==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/public-api": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/splash": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "node_modules/@devvit/redis": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/redis/-/redis-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-jRoDGdglQOggupSBT2rl2gEwh/3HsNY3fmPh/RdV3UVsEQI8vR0xf1xzevTExcJ8M3P3CY3PNxmioBqzvgcLmg==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "node_modules/@devvit/scheduler": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/scheduler/-/scheduler-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-Y7dAHuSU2RwJN+n7itScdeu+VT3Kv4v9V4LOhoKz3UmzyexrFUbalLA3qKLmjtKCLKaOW1sAGDTLVlr4o0ebTg==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "node_modules/@devvit/server": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/server/-/server-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-iMIVmEARZhxUkTh32t71wX3D/RQ8r04m6yjn7p514u2wC+GaSiUwGHCe/k/K5U5v2P8OYEIcexCb6RCr4bLv6Q==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/public-api": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - } - }, - "node_modules/@devvit/settings": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/settings/-/settings-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-Op9Zl15zScfFNSnBgsR8IpDY6xOGo5dh01OtffBesOW9xYEZ7qUcMwweTUs7e4JCnFGC3oDu/f7xvwHyqknyLw==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - }, - "peerDependencies": { - "@devvit/server": "*" - } - }, - "node_modules/@devvit/shared": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/shared/-/shared-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-s+Qn/its0FNUuBYDsJrbPKMxrT5ywM+aNMEPLL6AeYXQLdCniyzOwHD0oOuI60n2cyqyxNNrlISoKtB26a2ITg==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - } - }, - "node_modules/@devvit/shared-types": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/shared-types/-/shared-types-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-3NjsFCqmdt3LdV1clAYVnDr/bLzjOG/gFqaZbGIGHe/tqAo9VQXR8zMpomnp4h0Zk7g85uCjHo3/0T7KAVRTyw==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/protos": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "jsonschema": "1.4.1", - "uuid": "9.0.0" - } - }, - "node_modules/@devvit/splash": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/splash/-/splash-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-V0dO5Oxlhj9MQSdXcwYYarguffE0v19cxI7GFfrwTQcCuxflHf5GFvzN8gXcJpD8HkYr/YQS7ALX8BSNPNybgw==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/public-api": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - } - }, - "node_modules/@devvit/start": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/start/-/start-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-6KSHPjB3/YrYiI3jAKFtkbyxjgFaMyO/5SzYJvM3Kdv1L0ZbN3/fuMVrjDcrl+U53kGG0sXnt/MIR/kFhnJKhA==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/shared-types": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "chalk": "4.1.2" - }, - "peerDependencies": { - "vite": ">=6.0.0" - } - }, - "node_modules/@devvit/web": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/@devvit/web/-/web-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-YuJ0giNcBS1rk8Hiamv5iQqs97+O60alBadpuAzw61tpgorwVKxBMh8dXxRDygKY0+CAIYzxH64AANNOUiRlLA==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/cache": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/client": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/media": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/notifications": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/payments": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/realtime": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/reddit": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/redis": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/scheduler": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/server": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/settings": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "@devvit/shared": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", - "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", - "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", - "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", - "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", - "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", - "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", - "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", - "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", - "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", - "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", - "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", - "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", - "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", - "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", - "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", - "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", - "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", - "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", - "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", - "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", - "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", - "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", - "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", - "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", - "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", - "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@hono/node-server": { - "version": "1.19.9", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz", - "integrity": "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==", - "license": "MIT", - "engines": { - "node": ">=18.14.1" - }, - "peerDependencies": { - "hono": "^4" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@improbable-eng/grpc-web": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.15.0.tgz", - "integrity": "sha512-ERft9/0/8CmYalqOVnJnpdDry28q+j+nAlFFARdjyxXDJ+Mhgv9+F600QC8BR9ygOfrXRlAk6CvST2j+JCpQPg==", - "license": "Apache-2.0", - "dependencies": { - "browser-headers": "^0.4.1" - }, - "peerDependencies": { - "google-protobuf": "^3.14.0" - } - }, - "node_modules/@improbable-eng/grpc-web-node-http-transport": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@improbable-eng/grpc-web-node-http-transport/-/grpc-web-node-http-transport-0.15.0.tgz", - "integrity": "sha512-HLgJfVolGGpjc9DWPhmMmXJx8YGzkek7jcCFO1YYkSOoO81MWRZentPOd/JiKiZuU08wtc4BG+WNuGzsQB5jZA==", - "license": "Apache-2.0", - "peerDependencies": { - "@improbable-eng/grpc-web": ">=0.13.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@oclif/color": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/@oclif/color/-/color-1.0.13.tgz", - "integrity": "sha512-/2WZxKCNjeHlQogCs1VBtJWlPXjwWke/9gMrwsVsrUt00g2V6LUBvwgwrxhrXepjOmq4IZ5QeNbpDMEOUlx/JA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.2.1", - "chalk": "^4.1.0", - "strip-ansi": "^6.0.1", - "supports-color": "^8.1.1", - "tslib": "^2" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@oclif/core": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.9.4.tgz", - "integrity": "sha512-eFRRpV+tJ6nMkhay2M9IppjSF3atRrgj6Qo83qUslaFSAW3NAl4mIhx1mKmTwQx5rgSrar03xICtSAWJ6gZtag==", - "license": "MIT", - "dependencies": { - "@types/cli-progress": "^3.11.0", - "ansi-escapes": "^4.3.2", - "ansi-styles": "^4.3.0", - "cardinal": "^2.1.1", - "chalk": "^4.1.2", - "clean-stack": "^3.0.1", - "cli-progress": "^3.12.0", - "debug": "^4.3.4", - "ejs": "^3.1.8", - "fs-extra": "^9.1.0", - "get-package-type": "^0.1.0", - "globby": "^11.1.0", - "hyperlinker": "^1.0.0", - "indent-string": "^4.0.0", - "is-wsl": "^2.2.0", - "js-yaml": "^3.14.1", - "natural-orderby": "^2.0.3", - "object-treeify": "^1.1.33", - "password-prompt": "^1.1.2", - "semver": "^7.5.3", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "supports-color": "^8.1.1", - "supports-hyperlinks": "^2.2.0", - "ts-node": "^10.9.1", - "tslib": "^2.5.0", - "widest-line": "^3.1.0", - "wordwrap": "^1.0.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@oclif/core/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@oclif/core/node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@oclif/core/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@oclif/plugin-autocomplete": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-2.3.3.tgz", - "integrity": "sha512-4/7l3YrACS7KfONoams7+xAbVfo7tje0t2Qp84/KAUpY1Yb/11AMPHtzgoRp5A5Y3OFPmLCfRF1YUydz+jGuwg==", - "license": "MIT", - "dependencies": { - "@oclif/core": "^2.8.2", - "chalk": "^4.1.0", - "debug": "^4.3.4", - "fs-extra": "^9.0.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@oclif/plugin-help": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.2.14.tgz", - "integrity": "sha512-7hMLc6zqxeRfG4nvHHQPpbaBj60efM3ULFkCpHZkdLms/ezIkNo40F661QuraIjMP/NN+U6VSfBCGuPkRyxVkA==", - "license": "MIT", - "dependencies": { - "@oclif/core": "^2.9.3" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@oclif/plugin-not-found": { - "version": "2.3.34", - "resolved": "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-2.3.34.tgz", - "integrity": "sha512-uXUpw6o2e0aqnNn+XkGL7LbL+Th2rBD1JGtFbb6anmvUvz2skiGz0o23BYmrQW8tvU92ajPOykfClKD75ptZcw==", - "license": "MIT", - "dependencies": { - "@oclif/color": "^1.0.9", - "@oclif/core": "^2.9.4", - "fast-levenshtein": "^3.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@oclif/plugin-warn-if-update-available": { - "version": "2.0.45", - "resolved": "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.0.45.tgz", - "integrity": "sha512-MEncCUHW1vCOQdvt1z46jAblwvuGcs3Q1Gjl8IghazGJ0GRHzGOMILABpqVWR5uH/YJ3gfs05Tt7M4LdZ40N3g==", - "license": "MIT", - "dependencies": { - "@oclif/core": "^2.9.4", - "chalk": "^4.1.0", - "debug": "^4.1.0", - "fs-extra": "^9.0.1", - "http-call": "^5.2.2", - "lodash": "^4.17.21", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@oclif/plugin-warn-if-update-available/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@protobuf-ts/plugin-framework": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin-framework/-/plugin-framework-2.11.0.tgz", - "integrity": "sha512-D6Mno2i/NcRrDzbTq/2QSXUheXds6Ye+uaBSAHvPy2GAre4vjz1S0B6JTzVbU/B8hI3Msc/zMQSHb5Ak5Iy97g==", - "license": "(Apache-2.0 AND BSD-3-Clause)", - "dependencies": { - "@protobuf-ts/runtime": "^2.11.0", - "typescript": "^3.9" - } - }, - "node_modules/@protobuf-ts/plugin-framework/node_modules/typescript": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", - "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/@protobuf-ts/runtime": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.11.1.tgz", - "integrity": "sha512-KuDaT1IfHkugM2pyz+FwiY80ejWrkH1pAtOBOZFuR6SXEFTsnb/jiQWQ1rCIrcKx2BtyxnxW6BWwsVSA/Ie+WQ==", - "license": "(Apache-2.0 AND BSD-3-Clause)" - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "license": "BSD-3-Clause" - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.53", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz", - "integrity": "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz", - "integrity": "sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz", - "integrity": "sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz", - "integrity": "sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz", - "integrity": "sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz", - "integrity": "sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz", - "integrity": "sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz", - "integrity": "sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz", - "integrity": "sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz", - "integrity": "sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz", - "integrity": "sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz", - "integrity": "sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz", - "integrity": "sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz", - "integrity": "sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz", - "integrity": "sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz", - "integrity": "sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz", - "integrity": "sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz", - "integrity": "sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz", - "integrity": "sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz", - "integrity": "sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz", - "integrity": "sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz", - "integrity": "sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz", - "integrity": "sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "license": "MIT" - }, - "node_modules/@sindresorhus/merge-streams": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@standard-schema/spec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", - "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tailwindcss/node": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", - "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.4", - "enhanced-resolve": "^5.18.3", - "jiti": "^2.6.1", - "lightningcss": "1.30.2", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.1.18" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", - "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.18", - "@tailwindcss/oxide-darwin-arm64": "4.1.18", - "@tailwindcss/oxide-darwin-x64": "4.1.18", - "@tailwindcss/oxide-freebsd-x64": "4.1.18", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", - "@tailwindcss/oxide-linux-x64-musl": "4.1.18", - "@tailwindcss/oxide-wasm32-wasi": "4.1.18", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", - "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", - "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", - "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", - "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", - "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", - "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", - "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", - "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", - "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", - "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", - "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.1.0", - "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", - "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", - "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/vite": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.18.tgz", - "integrity": "sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tailwindcss/node": "4.1.18", - "@tailwindcss/oxide": "4.1.18", - "tailwindcss": "4.1.18" - }, - "peerDependencies": { - "vite": "^5.2.0 || ^6 || ^7" - } - }, - "node_modules/@tokenizer/token": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", - "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", - "license": "MIT" - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", - "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } - }, - "node_modules/@types/chai": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/deep-eql": "*", - "assertion-error": "^2.0.1" - } - }, - "node_modules/@types/cli-progress": { - "version": "3.11.6", - "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.6.tgz", - "integrity": "sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "24.7.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.7.1.tgz", - "integrity": "sha512-CmyhGZanP88uuC5GpWU9q+fI61j2SkhO3UGMUdfYRE6Bcy0ccyzn1Rqj9YAB/ZY4kOXmNf0ocah5GtphmLMP6Q==", - "license": "MIT", - "dependencies": { - "undici-types": "~7.14.0" - } - }, - "node_modules/@types/react": { - "version": "19.2.10", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.10.tgz", - "integrity": "sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.2.0" - } - }, - "node_modules/@types/ws": { - "version": "8.5.12", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", - "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz", - "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/type-utils": "8.54.0", - "@typescript-eslint/utils": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "ignore": "^7.0.5", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.54.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz", - "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz", - "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.54.0", - "@typescript-eslint/types": "^8.54.0", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz", - "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz", - "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz", - "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/utils": "8.54.0", - "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", - "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz", - "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/project-service": "8.54.0", - "@typescript-eslint/tsconfig-utils": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "debug": "^4.4.3", - "minimatch": "^9.0.5", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz", - "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz", - "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.54.0", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vitejs/plugin-react": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.2.tgz", - "integrity": "sha512-EcA07pHJouywpzsoTUqNh5NwGayl2PPVEJKUSinGGSxFGYn+shYbqMGBg6FXDqgXum9Ou/ecb+411ssw8HImJQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.28.5", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.53", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.18.0" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" - } - }, - "node_modules/@vitest/expect": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz", - "integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@standard-schema/spec": "^1.0.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.0.18", - "@vitest/utils": "4.0.18", - "chai": "^6.2.1", - "tinyrainbow": "^3.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/mocker": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz", - "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "4.0.18", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0-0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, - "node_modules/@vitest/pretty-format": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz", - "integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^3.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz", - "integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/utils": "4.0.18", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/snapshot": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz", - "integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.0.18", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz", - "integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz", - "integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.0.18", - "tinyrainbow": "^3.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "license": "MIT", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "license": "MIT" - }, - "node_modules/async-lock": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz", - "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==", - "license": "MIT" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.9.19", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", - "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bl": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", - "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", - "license": "MIT", - "dependencies": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-headers": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/browser-headers/-/browser-headers-0.4.1.tgz", - "integrity": "sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg==", - "license": "Apache-2.0" - }, - "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "license": "MIT", - "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001766", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz", - "integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", - "license": "MIT", - "dependencies": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - }, - "bin": { - "cdl": "bin/cdl.js" - } - }, - "node_modules/chai": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", - "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/char-regex": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.2.tgz", - "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==", - "license": "MIT", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "license": "MIT" - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/clean-git-ref": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz", - "integrity": "sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw==", - "license": "Apache-2.0" - }, - "node_modules/clean-stack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", - "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "license": "MIT", - "dependencies": { - "restore-cursor": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-progress": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", - "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", - "license": "MIT", - "dependencies": { - "string-width": "^4.2.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "license": "ISC", - "engines": { - "node": ">= 12" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "license": "Apache-2.0", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssstyle": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", - "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", - "license": "MIT", - "dependencies": { - "@asamuzakjp/css-color": "^3.2.0", - "rrweb-cssom": "^0.8.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/cssstyle/node_modules/rrweb-cssom": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", - "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", - "license": "MIT" - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/data-urls": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", - "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", - "license": "MIT", - "dependencies": { - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/date-fns": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", - "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==", - "license": "MIT", - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", - "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", - "license": "MIT" - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/default-browser": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", - "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", - "license": "MIT", - "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", - "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "devOptional": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/devvit": { - "version": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", - "resolved": "https://registry.npmjs.org/devvit/-/devvit-0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0.tgz", - "integrity": "sha512-xn3/Eij1NKK8RPIP/SNqAyGHKYR3Cs51tNyzodr4aKWKPo3epEP/kJwqBV03eHIkWPssthuMazcaTg9doXzb5Q==", - "license": "BSD-3-Clause", - "dependencies": { - "@devvit/cli": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0" - }, - "bin": { - "devvit": "bin/devvit.js" - } - }, - "node_modules/diff": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", - "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff3": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/diff3/-/diff3-0.0.3.tgz", - "integrity": "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g==", - "license": "MIT" - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dot-object": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/dot-object/-/dot-object-2.1.5.tgz", - "integrity": "sha512-xHF8EP4XH/Ba9fvAF2LDd5O3IITVolerVV6xvkxoM8zlGEiCUrggpAnHyOoKJKCrhvPcGATFAUwIujj7bRG5UA==", - "license": "MIT", - "dependencies": { - "commander": "^6.1.0", - "glob": "^7.1.6" - }, - "bin": { - "dot-object": "bin/dot-object" - } - }, - "node_modules/dot-object/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/dotenv": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", - "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, - "node_modules/ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", - "license": "Apache-2.0", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.283", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.283.tgz", - "integrity": "sha512-3vifjt1HgrGW/h76UEeny+adYApveS9dH2h3p57JYzBSXJIKUJAvtmIytDKjcSCt9xHfrNCFJ7gts6vkhuq++w==", - "dev": true, - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/enhanced-resolve": { - "version": "5.18.4", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", - "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", - "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.9", - "@esbuild/android-arm": "0.25.9", - "@esbuild/android-arm64": "0.25.9", - "@esbuild/android-x64": "0.25.9", - "@esbuild/darwin-arm64": "0.25.9", - "@esbuild/darwin-x64": "0.25.9", - "@esbuild/freebsd-arm64": "0.25.9", - "@esbuild/freebsd-x64": "0.25.9", - "@esbuild/linux-arm": "0.25.9", - "@esbuild/linux-arm64": "0.25.9", - "@esbuild/linux-ia32": "0.25.9", - "@esbuild/linux-loong64": "0.25.9", - "@esbuild/linux-mips64el": "0.25.9", - "@esbuild/linux-ppc64": "0.25.9", - "@esbuild/linux-riscv64": "0.25.9", - "@esbuild/linux-s390x": "0.25.9", - "@esbuild/linux-x64": "0.25.9", - "@esbuild/netbsd-arm64": "0.25.9", - "@esbuild/netbsd-x64": "0.25.9", - "@esbuild/openbsd-arm64": "0.25.9", - "@esbuild/openbsd-x64": "0.25.9", - "@esbuild/openharmony-arm64": "0.25.9", - "@esbuild/sunos-x64": "0.25.9", - "@esbuild/win32-arm64": "0.25.9", - "@esbuild/win32-ia32": "0.25.9", - "@esbuild/win32-x64": "0.25.9" - } - }, - "node_modules/esbuild/node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", - "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", - "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", - "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.24.4", - "@babel/parser": "^7.24.4", - "hermes-parser": "^0.25.1", - "zod": "^3.25.0 || ^4.0.0", - "zod-validation-error": "^3.5.0 || ^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.26.tgz", - "integrity": "sha512-1RETEylht2O6FM/MvgnyvT+8K21wLqDNg4qD51Zj3guhjt433XbnnkVttHMyaVyAFD03QSV4LPS5iE3VQmO7XQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": ">=8.40" - } - }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz", - "integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==", - "license": "MIT", - "dependencies": { - "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.6", - "figures": "^6.1.0", - "get-stream": "^9.0.0", - "human-signals": "^8.0.1", - "is-plain-obj": "^4.1.0", - "is-stream": "^4.0.1", - "npm-run-path": "^6.0.0", - "pretty-ms": "^9.2.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.1.1" - }, - "engines": { - "node": "^18.19.0 || >=20.5.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/expect-type": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", - "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "license": "MIT", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/external-editor/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", - "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", - "license": "MIT", - "dependencies": { - "fastest-levenshtein": "^1.0.7" - } - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "license": "MIT", - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/figures": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", - "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", - "license": "MIT", - "dependencies": { - "is-unicode-supported": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/file-type": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.2.1.tgz", - "integrity": "sha512-Yw5MtnMv7vgD2/6Bjmmuegc8bQEVA9GmAyaR18bMYWKqsWDG9wgYZ1j4I6gNMF5Y5JBDcUcjRQqNQx7Y8uotcg==", - "license": "MIT", - "dependencies": { - "readable-web-to-node-stream": "^3.0.2", - "strtok3": "^7.0.0", - "token-types": "^5.0.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/form-data/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/form-data/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stream": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", - "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", - "license": "MIT", - "dependencies": { - "@sec-ant/readable-stream": "^0.4.1", - "is-stream": "^4.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.2.0.tgz", - "integrity": "sha512-tovnCz/fEq+Ripoq+p/gN1u7l6A7wwkoBT9pRCzTHzsD/LvADIzXZdjmRymh5Ztf0DYC3Rwg5cZRYjxzBmzbWg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalyzer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", - "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "license": "MIT" - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "license": "MIT" - }, - "node_modules/google-protobuf": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz", - "integrity": "sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==", - "license": "(BSD-3-Clause AND Apache-2.0)", - "peer": true - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hermes-estree": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", - "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", - "dev": true, - "license": "MIT" - }, - "node_modules/hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", - "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hermes-estree": "0.25.1" - } - }, - "node_modules/hono": { - "version": "4.11.7", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.7.tgz", - "integrity": "sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw==", - "license": "MIT", - "engines": { - "node": ">=16.9.0" - } - }, - "node_modules/hotscript": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/hotscript/-/hotscript-1.0.13.tgz", - "integrity": "sha512-C++tTF1GqkGYecL+2S1wJTfoH6APGAsbb7PAWQ3iVIwgG/EFseAfEVOKFgAFq4yK3+6j1EjUD4UQ9dRJHX/sSQ==", - "license": "ISC" - }, - "node_modules/html-encoding-sniffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", - "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", - "license": "MIT", - "dependencies": { - "whatwg-encoding": "^3.1.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/http-call": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz", - "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==", - "license": "ISC", - "dependencies": { - "content-type": "^1.0.4", - "debug": "^4.1.1", - "is-retry-allowed": "^1.1.0", - "is-stream": "^2.0.0", - "parse-json": "^4.0.0", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-call/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/human-signals": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", - "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/hyperlinker": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", - "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", - "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", - "license": "MIT", - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=16.x" - } - }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/inquirer": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.1.4.tgz", - "integrity": "sha512-9hiJxE5gkK/cM2d1mTEnuurGTAoHebbkX0BYl3h7iEg7FYfuNIom+nDfBCSWtvSnoSrWCeBxqqBZu26xdlJlXA==", - "license": "MIT", - "dependencies": { - "ansi-escapes": "^6.0.0", - "chalk": "^5.1.2", - "cli-cursor": "^4.0.0", - "cli-width": "^4.0.0", - "external-editor": "^3.0.3", - "figures": "^5.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^6.1.2", - "run-async": "^2.4.0", - "rxjs": "^7.5.7", - "string-width": "^5.1.2", - "strip-ansi": "^7.0.1", - "through": "^2.3.6", - "wrap-ansi": "^8.0.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-escapes": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", - "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/inquirer/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inquirer/node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inquirer/node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inquirer/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-inside-container/node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "license": "MIT" - }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-unicode-supported": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isomorphic-git": { - "version": "1.33.1", - "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.33.1.tgz", - "integrity": "sha512-Fy5rPAncURJoqL9R+5nJXLl5rQH6YpcjJd7kdCoRJPhrBiLVkLm9b+esRqYQQlT1hKVtKtALbfNtpHjWWJgk6g==", - "license": "MIT", - "dependencies": { - "async-lock": "^1.4.1", - "clean-git-ref": "^2.0.1", - "crc-32": "^1.2.0", - "diff3": "0.0.3", - "ignore": "^5.1.4", - "minimisted": "^2.0.0", - "pako": "^1.0.10", - "path-browserify": "^1.0.1", - "pify": "^4.0.1", - "readable-stream": "^3.4.0", - "sha.js": "^2.4.12", - "simple-get": "^4.0.1" - }, - "bin": { - "isogit": "cli.cjs" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/jake": { - "version": "10.9.4", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", - "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", - "license": "Apache-2.0", - "dependencies": { - "async": "^3.2.6", - "filelist": "^1.0.4", - "picocolors": "^1.1.1" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "devOptional": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.0.tgz", - "integrity": "sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==", - "license": "MIT", - "dependencies": { - "cssstyle": "^4.0.1", - "data-urls": "^5.0.0", - "decimal.js": "^10.4.3", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^4.0.0", - "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.4", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.10", - "parse5": "^7.1.2", - "rrweb-cssom": "^0.7.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.4", - "w3c-xmlserializer": "^5.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^3.1.1", - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0", - "ws": "^8.17.0", - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "canvas": "^2.11.2" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonschema": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", - "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "license": "(MIT OR GPL-3.0-or-later)", - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "node_modules/jszip/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/jszip/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/jszip/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/jszip/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "license": "MIT", - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/lightningcss": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", - "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", - "devOptional": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.30.2", - "lightningcss-darwin-arm64": "1.30.2", - "lightningcss-darwin-x64": "1.30.2", - "lightningcss-freebsd-x64": "1.30.2", - "lightningcss-linux-arm-gnueabihf": "1.30.2", - "lightningcss-linux-arm64-gnu": "1.30.2", - "lightningcss-linux-arm64-musl": "1.30.2", - "lightningcss-linux-x64-gnu": "1.30.2", - "lightningcss-linux-x64-musl": "1.30.2", - "lightningcss-win32-arm64-msvc": "1.30.2", - "lightningcss-win32-x64-msvc": "1.30.2" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", - "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", - "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", - "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", - "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", - "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", - "cpu": [ - "arm" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", - "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", - "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", - "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", - "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", - "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", - "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", - "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", - "license": "MIT", - "dependencies": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/long": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", - "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", - "license": "Apache-2.0" - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "license": "ISC" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minimisted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minimisted/-/minimisted-2.0.1.tgz", - "integrity": "sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA==", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.5" - } - }, - "node_modules/moderndash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/moderndash/-/moderndash-4.0.0.tgz", - "integrity": "sha512-77kEJCsBo3YzqIrO4ZWHo1h7q8f8ZIRxQ0DE0fEvj3rZWsfTMLeRzctBjkz2zKM1BAIQsOqB79jm3dZ4RDFmqw==", - "license": "MIT", - "dependencies": { - "hotscript": "1.0.13", - "type-fest": "4.27.0" - }, - "engines": { - "node": ">=20", - "npm": ">=10" - } - }, - "node_modules/moderndash/node_modules/type-fest": { - "version": "4.27.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.27.0.tgz", - "integrity": "sha512-3IMSWgP7C5KSQqmo1wjhKrwsvXAtF33jO3QY+Uy++ia7hqvgSK6iXbbg5PbDBc1P2ZbNEDgejOrN4YooXvhwCw==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", - "license": "MIT", - "bin": { - "mustache": "bin/mustache" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "license": "ISC" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-orderby": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", - "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", - "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", - "license": "MIT", - "dependencies": { - "path-key": "^4.0.0", - "unicorn-magic": "^0.3.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nwsapi": { - "version": "2.2.22", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz", - "integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==", - "license": "MIT" - }, - "node_modules/object-treeify": { - "version": "1.1.33", - "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", - "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/obug": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", - "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", - "dev": true, - "funding": [ - "https://github.com/sponsors/sxzz", - "https://opencollective.com/debug" - ], - "license": "MIT" - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", - "license": "MIT", - "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open/node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/optionator/node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/ora": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", - "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", - "license": "MIT", - "dependencies": { - "chalk": "^5.0.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.6.1", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.1.0", - "log-symbols": "^5.1.0", - "stdin-discarder": "^0.1.0", - "strip-ansi": "^7.0.1", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ora/node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "license": "(MIT AND Zlib)" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parse-ms": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", - "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "license": "MIT", - "dependencies": { - "entities": "^6.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/password-prompt": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", - "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", - "license": "0BSD", - "dependencies": { - "ansi-escapes": "^4.3.2", - "cross-spawn": "^7.0.3" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, - "node_modules/peek-readable": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.4.2.tgz", - "integrity": "sha512-peBp3qZyuS6cNIJ2akRNG1uo1WJ1d0wTxg/fxMdZ0BqCVhx242bSFHM9eNqflfJVS9SsgkzgT/1UgnsurBOTMg==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-plugin-tailwindcss": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.7.2.tgz", - "integrity": "sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20.19" - }, - "peerDependencies": { - "@ianvs/prettier-plugin-sort-imports": "*", - "@prettier/plugin-hermes": "*", - "@prettier/plugin-oxc": "*", - "@prettier/plugin-pug": "*", - "@shopify/prettier-plugin-liquid": "*", - "@trivago/prettier-plugin-sort-imports": "*", - "@zackad/prettier-plugin-twig": "*", - "prettier": "^3.0", - "prettier-plugin-astro": "*", - "prettier-plugin-css-order": "*", - "prettier-plugin-jsdoc": "*", - "prettier-plugin-marko": "*", - "prettier-plugin-multiline-arrays": "*", - "prettier-plugin-organize-attributes": "*", - "prettier-plugin-organize-imports": "*", - "prettier-plugin-sort-imports": "*", - "prettier-plugin-svelte": "*" - }, - "peerDependenciesMeta": { - "@ianvs/prettier-plugin-sort-imports": { - "optional": true - }, - "@prettier/plugin-hermes": { - "optional": true - }, - "@prettier/plugin-oxc": { - "optional": true - }, - "@prettier/plugin-pug": { - "optional": true - }, - "@shopify/prettier-plugin-liquid": { - "optional": true - }, - "@trivago/prettier-plugin-sort-imports": { - "optional": true - }, - "@zackad/prettier-plugin-twig": { - "optional": true - }, - "prettier-plugin-astro": { - "optional": true - }, - "prettier-plugin-css-order": { - "optional": true - }, - "prettier-plugin-jsdoc": { - "optional": true - }, - "prettier-plugin-marko": { - "optional": true - }, - "prettier-plugin-multiline-arrays": { - "optional": true - }, - "prettier-plugin-organize-attributes": { - "optional": true - }, - "prettier-plugin-organize-imports": { - "optional": true - }, - "prettier-plugin-sort-imports": { - "optional": true - }, - "prettier-plugin-svelte": { - "optional": true - } - } - }, - "node_modules/pretty-ms": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", - "integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==", - "license": "MIT", - "dependencies": { - "parse-ms": "^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/protobufjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", - "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", - "hasInstallScript": true, - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/psl": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", - "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "funding": { - "url": "https://github.com/sponsors/lupomontero" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", - "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.4" - } - }, - "node_modules/react-refresh": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", - "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readable-web-to-node-stream": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.4.tgz", - "integrity": "sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw==", - "license": "MIT", - "dependencies": { - "readable-stream": "^4.7.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/readable-web-to-node-stream/node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", - "license": "MIT", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", - "license": "MIT", - "dependencies": { - "esprima": "~4.0.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "license": "MIT" - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rollup": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz", - "integrity": "sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.52.4", - "@rollup/rollup-android-arm64": "4.52.4", - "@rollup/rollup-darwin-arm64": "4.52.4", - "@rollup/rollup-darwin-x64": "4.52.4", - "@rollup/rollup-freebsd-arm64": "4.52.4", - "@rollup/rollup-freebsd-x64": "4.52.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.52.4", - "@rollup/rollup-linux-arm-musleabihf": "4.52.4", - "@rollup/rollup-linux-arm64-gnu": "4.52.4", - "@rollup/rollup-linux-arm64-musl": "4.52.4", - "@rollup/rollup-linux-loong64-gnu": "4.52.4", - "@rollup/rollup-linux-ppc64-gnu": "4.52.4", - "@rollup/rollup-linux-riscv64-gnu": "4.52.4", - "@rollup/rollup-linux-riscv64-musl": "4.52.4", - "@rollup/rollup-linux-s390x-gnu": "4.52.4", - "@rollup/rollup-linux-x64-gnu": "4.52.4", - "@rollup/rollup-linux-x64-musl": "4.52.4", - "@rollup/rollup-openharmony-arm64": "4.52.4", - "@rollup/rollup-win32-arm64-msvc": "4.52.4", - "@rollup/rollup-win32-ia32-msvc": "4.52.4", - "@rollup/rollup-win32-x64-gnu": "4.52.4", - "@rollup/rollup-win32-x64-msvc": "4.52.4", - "fsevents": "~2.3.2" - } - }, - "node_modules/rrweb-cssom": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", - "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", - "license": "MIT" - }, - "node_modules/run-applescript": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", - "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "license": "MIT" - }, - "node_modules/sha.js": { - "version": "2.4.12", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", - "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", - "license": "(MIT AND BSD-3-Clause)", - "dependencies": { - "inherits": "^2.0.4", - "safe-buffer": "^5.2.1", - "to-buffer": "^1.2.0" - }, - "bin": { - "sha.js": "bin.js" - }, - "engines": { - "node": ">= 0.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true, - "license": "ISC" - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", - "dev": true, - "license": "MIT" - }, - "node_modules/stdin-discarder": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", - "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", - "license": "MIT", - "dependencies": { - "bl": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", - "license": "MIT", - "dependencies": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-length/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-length/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", - "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strtok3": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.1.1.tgz", - "integrity": "sha512-mKX8HA/cdBqMKUr0MMZAFssCkIGoZeSCMXgnt79yKxNFguMLVFgRe6wB+fsL0NmoHDbeyZXczy7vEPSoo3rkzg==", - "license": "MIT", - "dependencies": { - "@tokenizer/token": "^0.3.0", - "peek-readable": "^5.1.3" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "license": "MIT" - }, - "node_modules/tailwind-merge": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", - "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwindcss": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", - "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "license": "MIT" - }, - "node_modules/tiny-glob": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", - "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", - "license": "MIT", - "dependencies": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" - } - }, - "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/tinyrainbow": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", - "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "license": "MIT", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-buffer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", - "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", - "license": "MIT", - "dependencies": { - "isarray": "^2.0.5", - "safe-buffer": "^5.2.1", - "typed-array-buffer": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/token-types": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", - "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", - "license": "MIT", - "dependencies": { - "@tokenizer/token": "^0.3.0", - "ieee754": "^1.2.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", - "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/tr46": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", - "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/ts-api-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "license": "MIT", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-poet": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.15.0.tgz", - "integrity": "sha512-sLLR8yQBvHzi9d4R1F4pd+AzQxBfzOSSjfxiJxQhkUoH5bL7RsAC6wgvtVUQdGqiCsyS9rT6/8X2FI7ipdir5g==", - "license": "Apache-2.0", - "dependencies": { - "lodash": "^4.17.15", - "prettier": "^2.5.1" - } - }, - "node_modules/ts-poet/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/tsv": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/tsv/-/tsv-0.2.0.tgz", - "integrity": "sha512-GG6xbOP85giXXom0dS6z9uyDsxktznjpa1AuDlPrIXDqDnbhjr9Vk6Us8iz6U1nENL4CPS2jZDvIjEdaZsmc4Q==", - "license": "MIT (ricardo.mit-license.org)" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/twirp-ts": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/twirp-ts/-/twirp-ts-2.5.0.tgz", - "integrity": "sha512-JTKIK5Pf/+3qCrmYDFlqcPPUx+ohEWKBaZy8GL8TmvV2VvC0SXVyNYILO39+GCRbqnuP6hBIF+BVr8ZxRz+6fw==", - "license": "MIT", - "dependencies": { - "@protobuf-ts/plugin-framework": "^2.0.7", - "camel-case": "^4.1.2", - "dot-object": "^2.1.4", - "path-to-regexp": "^6.2.0", - "ts-poet": "^4.5.0", - "yaml": "^1.10.2" - }, - "bin": { - "protoc-gen-twirp_ts": "protoc-gen-twirp_ts" - }, - "peerDependencies": { - "@protobuf-ts/plugin": "^2.5.0", - "ts-proto": "^1.81.3" - }, - "peerDependenciesMeta": { - "@protobuf-ts/plugin": { - "optional": true - }, - "ts-proto": { - "optional": true - } - } - }, - "node_modules/twirp-ts/node_modules/path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", - "license": "MIT" - }, - "node_modules/twirp-ts/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.54.0.tgz", - "integrity": "sha512-CKsJ+g53QpsNPqbzUsfKVgd3Lny4yKZ1pP4qN3jdMOg/sisIDLGyDMezycquXLE5JsEU0wp3dGNdzig0/fmSVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.54.0", - "@typescript-eslint/parser": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/utils": "8.54.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/undici-types": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz", - "integrity": "sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==", - "license": "MIT" - }, - "node_modules/unicorn-magic": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", - "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "license": "MIT" - }, - "node_modules/vite": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", - "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", - "license": "MIT", - "dependencies": { - "esbuild": "^0.27.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", - "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", - "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", - "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", - "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", - "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", - "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", - "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", - "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", - "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", - "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", - "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", - "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", - "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", - "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", - "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", - "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", - "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", - "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", - "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", - "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", - "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", - "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", - "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", - "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", - "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.2", - "@esbuild/android-arm": "0.27.2", - "@esbuild/android-arm64": "0.27.2", - "@esbuild/android-x64": "0.27.2", - "@esbuild/darwin-arm64": "0.27.2", - "@esbuild/darwin-x64": "0.27.2", - "@esbuild/freebsd-arm64": "0.27.2", - "@esbuild/freebsd-x64": "0.27.2", - "@esbuild/linux-arm": "0.27.2", - "@esbuild/linux-arm64": "0.27.2", - "@esbuild/linux-ia32": "0.27.2", - "@esbuild/linux-loong64": "0.27.2", - "@esbuild/linux-mips64el": "0.27.2", - "@esbuild/linux-ppc64": "0.27.2", - "@esbuild/linux-riscv64": "0.27.2", - "@esbuild/linux-s390x": "0.27.2", - "@esbuild/linux-x64": "0.27.2", - "@esbuild/netbsd-arm64": "0.27.2", - "@esbuild/netbsd-x64": "0.27.2", - "@esbuild/openbsd-arm64": "0.27.2", - "@esbuild/openbsd-x64": "0.27.2", - "@esbuild/openharmony-arm64": "0.27.2", - "@esbuild/sunos-x64": "0.27.2", - "@esbuild/win32-arm64": "0.27.2", - "@esbuild/win32-ia32": "0.27.2", - "@esbuild/win32-x64": "0.27.2" - } - }, - "node_modules/vite/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/vitest": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.18.tgz", - "integrity": "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "4.0.18", - "@vitest/mocker": "4.0.18", - "@vitest/pretty-format": "4.0.18", - "@vitest/runner": "4.0.18", - "@vitest/snapshot": "4.0.18", - "@vitest/spy": "4.0.18", - "@vitest/utils": "4.0.18", - "es-module-lexer": "^1.7.0", - "expect-type": "^1.2.2", - "magic-string": "^0.30.21", - "obug": "^2.1.1", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "std-env": "^3.10.0", - "tinybench": "^2.9.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.0.0", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@opentelemetry/api": "^1.9.0", - "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.0.18", - "@vitest/browser-preview": "4.0.18", - "@vitest/browser-webdriverio": "4.0.18", - "@vitest/ui": "4.0.18", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@opentelemetry/api": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser-playwright": { - "optional": true - }, - "@vitest/browser-preview": { - "optional": true - }, - "@vitest/browser-webdriverio": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, - "node_modules/vitest/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", - "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", - "license": "MIT", - "dependencies": { - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-encoding": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", - "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/whatwg-mimetype": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", - "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/whatwg-url": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", - "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", - "license": "MIT", - "dependencies": { - "tr46": "^5.1.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "license": "MIT", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "license": "MIT" - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", - "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", - "license": "Apache-2.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "license": "MIT" - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yoctocolors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", - "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-validation-error": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", - "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "zod": "^3.25.0 || ^4.0.0" - } - } - } -} From 990f0b0356c69c76e2848cecf823274444603bbb Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Fri, 30 Jan 2026 17:15:07 -0500 Subject: [PATCH 03/16] clean up configs --- tools/tsconfig.server.json | 9 +-------- tools/tsconfig.shared.json | 8 +------- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/tools/tsconfig.server.json b/tools/tsconfig.server.json index d28804a..5962127 100644 --- a/tools/tsconfig.server.json +++ b/tools/tsconfig.server.json @@ -7,13 +7,6 @@ "exactOptionalPropertyTypes": false, "rootDir": ".." }, - "include": [ - "../src/server/**/*", - "../src/shared/**/*", - "../src/transformer.ts", - "../src/global.d.ts", - "../vite.config.ts", - "../vitest.config.ts" - ], + "include": ["../src/server/**/*", "../src/shared/**/*", "../vite.config.ts"], "exclude": ["../dist"] } diff --git a/tools/tsconfig.shared.json b/tools/tsconfig.shared.json index eac077b..c6c844f 100644 --- a/tools/tsconfig.shared.json +++ b/tools/tsconfig.shared.json @@ -11,11 +11,5 @@ }, // https://github.com/Microsoft/TypeScript/issues/25636 "include": ["../src/shared/**/*"], - "exclude": [ - "../src/server", - "../src/server/**/*", - "../src/client", - "../src/client/**/*", - "../dist" - ] + "exclude": ["../src/server/**/*", "../src/client/**/*", "../dist"] } From ac60ffcf77db531a80480c341c07bd0f283b0d87 Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Fri, 30 Jan 2026 17:16:44 -0500 Subject: [PATCH 04/16] more cleanup --- tools/tsconfig.client.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tsconfig.client.json b/tools/tsconfig.client.json index 2a87d73..7607154 100644 --- a/tools/tsconfig.client.json +++ b/tools/tsconfig.client.json @@ -8,5 +8,5 @@ }, "include": ["../src/client/**/*", "../src/shared/**/*"], "exclude": ["../src/server/**/*", "../dist"], - "references": [{ "path": "./tsconfig.server.json" }] + "references": [] } From 16cc2042b4c326933543d0038fffe9a2844ff3a3 Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Fri, 30 Jan 2026 17:18:55 -0500 Subject: [PATCH 05/16] remove comment --- tools/tsconfig.shared.json | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/tsconfig.shared.json b/tools/tsconfig.shared.json index c6c844f..d7e1cf3 100644 --- a/tools/tsconfig.shared.json +++ b/tools/tsconfig.shared.json @@ -9,7 +9,6 @@ "rootDir": ".." }, - // https://github.com/Microsoft/TypeScript/issues/25636 "include": ["../src/shared/**/*"], "exclude": ["../src/server/**/*", "../src/client/**/*", "../dist"] } From 719d4771274d22c79dc9a5d64b8690280ae74977 Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Fri, 30 Jan 2026 17:29:45 -0500 Subject: [PATCH 06/16] flatten --- src/client/game.html | 2 +- src/client/{game/App.tsx => game.tsx} | 10 ++++++++++ src/client/game/game.tsx | 11 ----------- src/client/splash.html | 2 +- src/client/{splash => }/splash.tsx | 0 5 files changed, 12 insertions(+), 13 deletions(-) rename src/client/{game/App.tsx => game.tsx} (92%) delete mode 100644 src/client/game/game.tsx rename src/client/{splash => }/splash.tsx (100%) diff --git a/src/client/game.html b/src/client/game.html index e8c5077..9a0c1b5 100644 --- a/src/client/game.html +++ b/src/client/game.html @@ -10,6 +10,6 @@
- + diff --git a/src/client/game/App.tsx b/src/client/game.tsx similarity index 92% rename from src/client/game/App.tsx rename to src/client/game.tsx index 9c4b459..e62a0e1 100644 --- a/src/client/game/App.tsx +++ b/src/client/game.tsx @@ -1,3 +1,7 @@ +import '../index.css'; + +import { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; import { navigateTo } from '@devvit/web/client'; import { useCounter } from '../hooks/useCounter'; @@ -66,3 +70,9 @@ export const App = () => {
); }; + +createRoot(document.getElementById('root')!).render( + + + +); diff --git a/src/client/game/game.tsx b/src/client/game/game.tsx deleted file mode 100644 index 46dd627..0000000 --- a/src/client/game/game.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import '../index.css'; - -import { StrictMode } from 'react'; -import { createRoot } from 'react-dom/client'; -import { App } from './App'; - -createRoot(document.getElementById('root')!).render( - - - -); diff --git a/src/client/splash.html b/src/client/splash.html index 965fe48..7ffa454 100644 --- a/src/client/splash.html +++ b/src/client/splash.html @@ -10,6 +10,6 @@
- + diff --git a/src/client/splash/splash.tsx b/src/client/splash.tsx similarity index 100% rename from src/client/splash/splash.tsx rename to src/client/splash.tsx From 19d9562dfdfa544c19b819e3e137c7db7c5844c4 Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Fri, 30 Jan 2026 17:40:01 -0500 Subject: [PATCH 07/16] fix copy --- src/client/game.tsx | 2 +- src/client/splash.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/game.tsx b/src/client/game.tsx index e62a0e1..58b0e08 100644 --- a/src/client/game.tsx +++ b/src/client/game.tsx @@ -21,7 +21,7 @@ export const App = () => {

Edit{' '} - src/client/game/App.tsx + src/client/game.tsx {' '} to get started.

diff --git a/src/client/splash.tsx b/src/client/splash.tsx index 5eb5487..984379c 100644 --- a/src/client/splash.tsx +++ b/src/client/splash.tsx @@ -20,7 +20,7 @@ export const Splash = () => {

Edit{' '} - src/client/splash/splash.tsx + src/client/splash.tsx {' '} to get started.

From 656fdbc670b959f8d4d839455c460cc2a1eabd82 Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Mon, 2 Feb 2026 12:53:21 -0500 Subject: [PATCH 08/16] simplify types, add engines --- README.md | 4 ++-- package.json | 4 ++++ src/client/game.tsx | 2 +- tools/tsconfig.client.json | 12 ++++++++---- tools/tsconfig.server.json | 12 +++++++++--- tools/tsconfig.shared.json | 4 ++-- tools/tsconfig.vite.json | 11 +++++++++++ tsconfig.json | 3 ++- 8 files changed, 39 insertions(+), 13 deletions(-) create mode 100644 tools/tsconfig.vite.json diff --git a/README.md b/README.md index 3296330..dfc6392 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ A starter to build web applications on Reddit's developer platform - [React](https://react.dev/): For UI - [Express](https://expressjs.com/): For backend logic - [Tailwind](https://tailwindcss.com/): For styles -- [Typescript](https://www.typescriptlang.org/): For type safety +- [TypeScript](https://www.typescriptlang.org/): For type safety ## Getting Started @@ -24,7 +24,7 @@ A starter to build web applications on Reddit's developer platform - `npm run deploy`: Uploads a new version of your app - `npm run launch`: Publishes your app for review - `npm run login`: Logs your CLI into Reddit -- `npm run check`: Type checks, lints, and prettifies your app +- `npm run type-check`: Type checks, lints, and prettifies your app ## Cursor Integration diff --git a/package.json b/package.json index d82e381..216d897 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,9 @@ "test": "vitest run", "type-check": "tsc --build" }, + "engines": { + "node": ">=22.12.0" + }, "dependencies": { "@devvit/start": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", "@devvit/web": "0.12.11-next-2026-01-30-17-09-49-e9c512a0d.0", @@ -29,6 +32,7 @@ "devDependencies": { "@eslint/js": "9.39.2", "@tailwindcss/vite": "4.1.18", + "@types/node": "^22.19.7", "@types/react": "19.2.10", "@types/react-dom": "19.2.3", "@vitejs/plugin-react": "5.1.2", diff --git a/src/client/game.tsx b/src/client/game.tsx index 58b0e08..df731bb 100644 --- a/src/client/game.tsx +++ b/src/client/game.tsx @@ -3,7 +3,7 @@ import '../index.css'; import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import { navigateTo } from '@devvit/web/client'; -import { useCounter } from '../hooks/useCounter'; +import { useCounter } from './hooks/useCounter'; export const App = () => { const { count, username, loading, increment, decrement } = useCounter(); diff --git a/tools/tsconfig.client.json b/tools/tsconfig.client.json index 7607154..9d03b1d 100644 --- a/tools/tsconfig.client.json +++ b/tools/tsconfig.client.json @@ -4,9 +4,13 @@ "outDir": "../dist/types/client", "tsBuildInfoFile": "../dist/types/client/tsconfig.tsbuildinfo", "customConditions": ["browser"], - "rootDir": ".." + "rootDir": "../src/client" }, - "include": ["../src/client/**/*", "../src/shared/**/*"], - "exclude": ["../src/server/**/*", "../dist"], - "references": [] + "include": ["../src/client/**/*"], + "exclude": [], + "references": [ + { + "path": "./tsconfig.shared.json" + } + ] } diff --git a/tools/tsconfig.server.json b/tools/tsconfig.server.json index 5962127..eb03bbd 100644 --- a/tools/tsconfig.server.json +++ b/tools/tsconfig.server.json @@ -4,9 +4,15 @@ "outDir": "../dist/types/server", "tsBuildInfoFile": "../dist/types/server/tsconfig.tsbuildinfo", "customConditions": [], + "types": ["node"], "exactOptionalPropertyTypes": false, - "rootDir": ".." + "rootDir": "../src/server" }, - "include": ["../src/server/**/*", "../src/shared/**/*", "../vite.config.ts"], - "exclude": ["../dist"] + "include": ["../src/server/**/*"], + "exclude": [], + "references": [ + { + "path": "./tsconfig.shared.json" + } + ] } diff --git a/tools/tsconfig.shared.json b/tools/tsconfig.shared.json index d7e1cf3..cf5d6cd 100644 --- a/tools/tsconfig.shared.json +++ b/tools/tsconfig.shared.json @@ -7,8 +7,8 @@ "tsBuildInfoFile": "../dist/shared/tsconfig.tsbuildinfo", - "rootDir": ".." + "rootDir": "../src/shared" }, "include": ["../src/shared/**/*"], - "exclude": ["../src/server/**/*", "../src/client/**/*", "../dist"] + "exclude": [] } diff --git a/tools/tsconfig.vite.json b/tools/tsconfig.vite.json new file mode 100644 index 0000000..0bb0c78 --- /dev/null +++ b/tools/tsconfig.vite.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "outDir": "../dist/types/tools", + "tsBuildInfoFile": "../dist/types/tools/tsconfig.vite.tsbuildinfo", + "types": ["node"], + "rootDir": ".." + }, + "include": ["../vite.config.ts"], + "exclude": [] +} diff --git a/tsconfig.json b/tsconfig.json index dd09b97..f1edc59 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,6 +3,7 @@ "references": [ { "path": "./tools/tsconfig.client.json" }, { "path": "./tools/tsconfig.server.json" }, - { "path": "./tools/tsconfig.shared.json" } + { "path": "./tools/tsconfig.shared.json" }, + { "path": "./tools/tsconfig.vite.json" } ] } From 05d29d2e3ba4ab07b106ff6c92747feaa5dfd6fc Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Mon, 2 Feb 2026 12:57:44 -0500 Subject: [PATCH 09/16] remove not needed setting --- .vscode/settings.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 31fc111..6294dd6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,8 +3,5 @@ "editor.defaultFormatter": "esbenp.prettier-vscode" }, "json.schemaDownload.enable": true, - "typescript.tsdk": "node_modules/typescript/lib", - "files.exclude": { - "**/.git": false - } + "typescript.tsdk": "node_modules/typescript/lib" } From 4de0e42dd3a6bb601050b1c4138bcd900113cc11 Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Mon, 2 Feb 2026 12:58:23 -0500 Subject: [PATCH 10/16] prune --- .gitignore | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.gitignore b/.gitignore index dc28bbe..c3b1f22 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,4 @@ node_modules -.yarn -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* .DS_Store dist .env \ No newline at end of file From 3e2ccaf45042eb12fbe25d782a69e8eed8dbc3b3 Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Mon, 2 Feb 2026 13:00:29 -0500 Subject: [PATCH 11/16] prettier --- src/server/routes/forms.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/server/routes/forms.ts b/src/server/routes/forms.ts index 9465861..7885bd2 100644 --- a/src/server/routes/forms.ts +++ b/src/server/routes/forms.ts @@ -9,8 +9,7 @@ export const forms = new Hono(); forms.post('/example-submit', async (c) => { const { message } = await c.req.json(); - const trimmedMessage = - typeof message === 'string' ? message.trim() : ''; + const trimmedMessage = typeof message === 'string' ? message.trim() : ''; return c.json( { From caf9048465a3fe29b65c128fe4d097daa2f893ba Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Mon, 2 Feb 2026 13:16:53 -0500 Subject: [PATCH 12/16] rm verbose --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 216d897..d8979f2 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "scripts": { "build": "vite build", "deploy": "npm run type-check && npm run lint && npm run test && devvit upload", - "dev": "devvit playtest --verbose", + "dev": "devvit playtest", "launch": "npm run deploy && devvit publish", "lint": "eslint 'src/**/*.{ts,tsx}'", "login": "devvit login", From a88cb20430c41f9b321824708ebdc9e2f507732c Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Mon, 2 Feb 2026 15:07:55 -0500 Subject: [PATCH 13/16] fix endpoint --- devvit.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devvit.json b/devvit.json index e8c1707..6b93d0b 100644 --- a/devvit.json +++ b/devvit.json @@ -39,7 +39,7 @@ "exampleForm": "/internal/form/example-submit" }, "triggers": { - "onAppInstall": "/internal/on-app-install" + "onAppInstall": "/internal/triggers/on-app-install" }, "scripts": { "dev": "vite build --watch", From bdf0d410bd6ebb541a1de832f1badf13f774c64d Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Mon, 2 Feb 2026 15:15:03 -0500 Subject: [PATCH 14/16] fix package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d8979f2..49fa189 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "llkmlmrf33", + "name": "<% name %>", "version": "0.0.0", "license": "BSD-3-Clause", "type": "module", From 96b3478522f21800f25083208f2702b41e6f7e15 Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Mon, 2 Feb 2026 15:47:49 -0500 Subject: [PATCH 15/16] cleanup --- README.md | 2 +- package.json | 3 +-- src/server/routes/menu.ts | 21 --------------------- 3 files changed, 2 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index dfc6392..b4a3343 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ A starter to build web applications on Reddit's developer platform - [Devvit](https://developers.reddit.com/): A way to build and deploy immersive games on Reddit - [Vite](https://vite.dev/): For compiling the webView - [React](https://react.dev/): For UI -- [Express](https://expressjs.com/): For backend logic +- [Hono](https://hono.dev/): For backend logic - [Tailwind](https://tailwindcss.com/): For styles - [TypeScript](https://www.typescriptlang.org/): For type safety diff --git a/package.json b/package.json index 49fa189..d9b6291 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,6 @@ "tailwindcss": "4.1.18", "typescript": "5.9.3", "typescript-eslint": "8.54.0", - "vite": "7.3.1", - "vitest": "4.0.18" + "vite": "7.3.1" } } diff --git a/src/server/routes/menu.ts b/src/server/routes/menu.ts index e2482d0..9a6def8 100644 --- a/src/server/routes/menu.ts +++ b/src/server/routes/menu.ts @@ -25,24 +25,3 @@ menu.post('/post-create', async (c) => { ); } }); - -menu.post('/example-form', async (c) => { - return c.json( - { - showForm: { - name: 'exampleForm', - form: { - title: 'Example Form', - fields: [ - { - type: 'string', - name: 'message', - label: 'Message', - }, - ], - }, - }, - }, - 200 - ); -}); From da5c48a6d169bd5d9b01915d35bd8c2c788a732d Mon Sep 17 00:00:00 2001 From: Marcus Wood Date: Tue, 3 Feb 2026 10:51:08 -0500 Subject: [PATCH 16/16] readme --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index b4a3343..521a3ff 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,3 @@ A starter to build web applications on Reddit's developer platform - `npm run launch`: Publishes your app for review - `npm run login`: Logs your CLI into Reddit - `npm run type-check`: Type checks, lints, and prettifies your app - -## Cursor Integration - -This template comes with a pre-configured cursor environment. To get started, [download cursor](https://www.cursor.com/downloads) and enable the `devvit-mcp` when prompted.