diff --git a/.aws/ami/README.md b/.aws/ami/README.md
index 4792ad6db9..b16d36f818 100644
--- a/.aws/ami/README.md
+++ b/.aws/ami/README.md
@@ -28,7 +28,8 @@ This assumes you installed Packer to your PATH.
```
$ cd ./.aws/ami
-$ packer build packer.json
+$ packer init packer.json.pkr.hcl
+$ packer build packer.json.pkr.hcl
```
When finished, you will have a new AMI named `nodejs-docker-ubuntu20-{{timestamp}}` in your AWS account.
diff --git a/.aws/ami/packer.json b/.aws/ami/packer.json
deleted file mode 100644
index 38de661806..0000000000
--- a/.aws/ami/packer.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "min_packer_version": "0.12.0",
- "variables": {
- "aws_region": "us-east-1",
- "node_version": "18.17.1"
- },
- "builders": [
- {
- "name": "ubuntu20-ami",
- "ami_name": "nodejs-docker-ubuntu20-{{timestamp}}",
- "ami_description": "A Ubuntu 20.04 AMI that has Node.js and Docker",
- "instance_type": "t4g.micro",
- "region": "{{user `aws_region`}}",
- "type": "amazon-ebs",
- "source_ami_filter": {
- "filters": {
- "virtualization-type": "hvm",
- "architecture": "arm64",
- "name": "ubuntu/images/hvm-ssd/ubuntu-focal-20.04-arm64-server-*",
- "block-device-mapping.volume-type": "gp2",
- "root-device-type": "ebs"
- },
- "owners": ["099720109477"],
- "most_recent": true
- },
- "ssh_username": "ubuntu",
- "profile": "casualsimulation"
- }
- ],
- "provisioners": [
- {
- "type": "shell",
- "script": "{{template_dir}}/install-aws-cli.sh"
- },
- {
- "type": "shell",
- "script": "{{template_dir}}/install-docker.sh"
- },
- {
- "type": "shell",
- "environment_vars": ["NODE_VERSION={{user `node_version`}}"],
- "script": "{{template_dir}}/install-nodejs.sh"
- }
- ]
-}
diff --git a/.aws/ami/packer.json.pkr.hcl b/.aws/ami/packer.json.pkr.hcl
new file mode 100644
index 0000000000..2cb4eec8df
--- /dev/null
+++ b/.aws/ami/packer.json.pkr.hcl
@@ -0,0 +1,63 @@
+packer {
+ required_version = ">= 0.12.0"
+ required_plugins {
+ amazon = {
+ source = "github.com/hashicorp/amazon"
+ version = "~> 1"
+ }
+ }
+}
+
+variable "aws_region" {
+ type = string
+ default = "us-east-1"
+}
+
+variable "node_version" {
+ type = string
+ default = "20.18.3"
+}
+
+data "amazon-ami" "autogenerated_1" {
+ filters = {
+ architecture = "arm64"
+ "block-device-mapping.volume-type" = "gp2"
+ name = "ubuntu/images/hvm-ssd/ubuntu-focal-20.04-arm64-server-*"
+ root-device-type = "ebs"
+ virtualization-type = "hvm"
+ }
+ most_recent = true
+ owners = ["099720109477"]
+ profile = "casualsimulation"
+ region = "${var.aws_region}"
+}
+
+locals { timestamp = regex_replace(timestamp(), "[- TZ:]", "") }
+
+source "amazon-ebs" "ubuntu20-ami" {
+ ami_description = "A Ubuntu 20.04 AMI that has Node.js and Docker"
+ ami_name = "nodejs-docker-ubuntu20-${local.timestamp}"
+ instance_type = "t4g.micro"
+ profile = "casualsimulation"
+ region = "${var.aws_region}"
+ source_ami = "${data.amazon-ami.autogenerated_1.id}"
+ ssh_username = "ubuntu"
+}
+
+build {
+ sources = ["source.amazon-ebs.ubuntu20-ami"]
+
+ provisioner "shell" {
+ script = "${path.root}/install-aws-cli.sh"
+ }
+
+ provisioner "shell" {
+ script = "${path.root}/install-docker.sh"
+ }
+
+ provisioner "shell" {
+ environment_vars = ["NODE_VERSION=${var.node_version}"]
+ script = "${path.root}/install-nodejs.sh"
+ }
+
+}
diff --git a/.github/ISSUE_TEMPLATE/fix-request.yml b/.github/ISSUE_TEMPLATE/fix-request.yml
new file mode 100644
index 0000000000..5c239535ac
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/fix-request.yml
@@ -0,0 +1,37 @@
+name: š ļø Fix Request
+description: Request a bug fix or change that Claude can auto-pick up
+labels: ['fix', 'claude']
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for filing a fix request!
+ š To have Claude auto-create a branch & PR, make sure to **comment** with:
+
+ ```
+ @claude please fix this
+ ```
+
+ Claude will:
+ - Read this issue
+ - Create a branch
+ - Apply changes
+ - Run tests/linters if available
+ - Open a pull request tied to this issue
+
+ - type: input
+ id: summary
+ attributes:
+ label: āļø Summary
+ description: A short description of the problem
+ placeholder: 'Login button throws 500 when email already exists'
+
+ - type: textarea
+ id: steps
+ attributes:
+ label: ā
Steps to Reproduce / Notes
+ description: Steps, logs, or extra info Claude should see
+ placeholder: |
+ 1. Go to /signup
+ 2. Enter an already-registered email
+ 3. Submit form ā error 500
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
new file mode 100644
index 0000000000..e027fd5e95
--- /dev/null
+++ b/.github/copilot-instructions.md
@@ -0,0 +1,226 @@
+# CasualOS Copilot Coding Agent Instructions
+
+## Repository Overview
+
+**CasualOS** is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences. This is a large-scale TypeScript/JavaScript monorepo (36+ packages) using PNPM for package management, built with modern web technologies including Vue.js, Three.js, and Node.js.
+
+**Repository Statistics:**
+
+- 36 workspace packages total (34 in src/ + docs + root)
+- Primary languages: TypeScript (80%), JavaScript, Vue, HTML, CSS
+- Package manager: pnpm v10.10.0+ (managed by corepack)
+- Node.js: v20.18+ required
+- Build tool: TypeScript compiler + esbuild + Vite
+- Test framework: Jest
+- Linting: ESLint v9 with TypeScript ESLint
+- Docker support for development services
+
+## Build and Development Workflow
+
+### Prerequisites and Environment Setup
+
+**ALWAYS run these commands in this exact order before any other operations:**
+
+1. **Enable corepack** (critical for pnpm):
+
+ ```bash
+ corepack enable
+ ```
+
+2. **Install dependencies** (use frozen lockfile in CI, regular install for development):
+
+ ```bash
+ npm run bootstrap # Production: pnpm install --frozen-lockfile
+ # OR for development without network restrictions:
+ npm run bootstrap -- --ignore-scripts
+ ```
+
+3. **Start development services** (required for full functionality):
+ ```bash
+ # Choose one based on your Docker setup:
+ npm run docker:dev # If using standard docker
+ npm run nerdctl:dev # If using nerdctl/Rancher Desktop
+ ```
+
+### Build Commands - Execution Order and Timing
+
+**CRITICAL: Build commands must be run in this specific order:**
+
+1. **Build Full Project** (5-8 minutes total):
+ ```bash
+ npm run build # Complete build including server, proxy, CLI
+ ```
+
+**Known Issues & Workarounds:**
+
+- **Prisma Generation Failure**: Bootstrap may fail with "binaries.prisma.sh ENOTFOUND" - use `--ignore-scripts` flag and generate Prisma separately
+- **Memory Issues**: Use `--max_old_space_size=4096` for Node.js in memory-intensive operations
+- **Git Tags Missing**: Some builds (CLI) require git tags for version info - expect failures in fresh clones without release tags
+- **Build Dependencies**: Libraries MUST be built before server/web components
+- **Docker Services**: MongoDB, Redis, and other services in docker-compose.dev.yml are required for full functionality, but should not be required for building.
+- **Windows-specific**: Special node-gyp configuration required (see CI workflow)
+
+### Testing Commands
+
+**Test Execution Order:**
+
+```bash
+# Run all tests (10-15 minutes):
+npm test # Equivalent: jest --verbose
+
+# Watch mode for development:
+npm run test:watch
+
+# CI testing (with proper flags):
+npm run test:ci # Includes --no-cache --ci flags
+```
+
+**Common Test Issues:**
+
+- Some tests may have network dependencies and console warnings (expected)
+- Use `--detectOpenHandles --forceExit` flags for complete test runs
+
+### Linting and Code Quality
+
+**Linting Commands:**
+
+```bash
+npm run lint # Full repository lint
+npm run lint:common # Individual package linting
+npm run lint:server # Server-specific linting
+```
+
+**Key Linting Rules:**
+
+- Header comments required on most TypeScript files
+- Consistent type imports: Use `import type` for type-only imports (auto-fixable)
+- No unused imports (auto-fixable)
+- Vue component specific rules in components directories
+
+## Project Architecture and Layout
+
+### Core Directory Structure
+
+```
+/
+āāā .github/ # GitHub workflows, templates, instructions
+āāā docs/ # Documentation site (Docusaurus)
+āāā script/ # Build helpers, deployment scripts
+āāā docker/ # Development services configuration
+āāā src/ # All source packages (34 packages)
+ā āāā aux-common/ # Core shared utilities and types
+ā āāā aux-server/ # Main web application server
+ā ā āāā aux-backend/ # Backend API configuration (includes Prisma)
+ā ā āāā aux-web/ # Frontend Vue.js applications
+ā āāā aux-vm/ # Virtual machine abstraction
+ā āāā aux-vm-browser/ # Browser VM implementation
+ā āāā aux-vm-client/ # Client VM implementation
+ā āāā aux-vm-node/ # Node.js VM implementation
+ā āāā aux-records/ # Backend API implementation
+ā āāā aux-runtime/ # Runtime execution engine (user scripts & functions, compilers, etc.)
+ā āāā casualos-cli/ # Command-line interface
+ā āāā [21 other packages] # Supporting libraries (crypto, websocket, etc.)
+āāā package.json # Root package.json with scripts
+āāā lerna.json # Lerna configuration
+āāā tsconfig.json # TypeScript project references
+āāā pnpm-workspace.yaml # PNPM workspace configuration
+```
+
+### Key Configuration Files
+
+- **eslint.config.mjs**: ESLint v9 flat config with TypeScript rules
+- **tsconfig.json**: TypeScript project references for all packages
+- **jest.config.js**: Jest testing configuration with ts-jest
+- **docker/docker-compose.dev.yml**: Development services (MongoDB, Redis, MinIO, etc.)
+
+### CI/CD Pipeline (GitHub Actions)
+
+**Continuous Integration (.github/workflows/continuous-integration-workflow.yml):**
+
+- Triggers: All branches except master/staging/release
+- Matrix: ubuntu/macOS/windows with Node 20.x
+- Steps: bootstrap ā test ā build ā lint ā docs build
+- **Critical**: Uses `corepack enable` and specific node-gyp setup for Windows
+
+**Release Pipeline (.github/workflows/release.yml):**
+
+- Triggers: master, staging, release/\* branches
+- Steps: test ā build ā npm publish ā docs deploy ā Docker build/push
+- Publishes to NPM, DockerHub, and GitHub Container Registry
+
+**Known CI Issues:**
+
+- Windows requires special node-gyp configuration
+- Tests use `--max_old_space_size=4096` for memory management
+- Docker builds have ARM32/ARM64 variants via AWS CodeBuild
+
+## Development Best Practices
+
+### Code Style Guidelines (from existing .github/instructions)
+
+- **Naming**: camelCase (variables/functions), PascalCase (classes), ALL_CAPS (constants)
+- **Private members**: prefix with `_` and use `private` keyword
+- **Imports**: Use ES6 modules, prefer `import type` for types
+- **Documentation**: JSDoc with required `@dochash` and `@docid` tags
+- **Error handling**: try/catch for void functions, always log errors with class/method names
+
+### TypeScript Project References
+
+The repository uses TypeScript project references for efficient incremental builds. Each package in src/ has its own tsconfig.json that references dependencies.
+
+### Package Dependencies
+
+- **Critical**: aux-common is foundational - many packages depend on it
+- **Build order**: Libraries (aux-common, aux-vm, etc.) ā Server ā Applications
+- **Circular dependencies**: Avoided through careful architecture
+
+### Release Notes
+
+Make sure to update CHANGELOG.md with a summary of the changes you've made.
+
+## Quick Start for Common Tasks
+
+### Making Code Changes
+
+1. `corepack enable && npm run bootstrap`
+2. `npm run docker:dev` (start services)
+3. Make your changes
+4. `npm run build` (full build)
+5. `npm test` (verify changes)
+6. `npm run lint` (check code quality)
+7. Update CHANGELOG.md
+
+### Working with Specific Packages
+
+```bash
+# Build specific package:
+npm run build:server
+npm run build:proxy
+npm run build:cli
+
+# Lint specific package:
+npm run lint:common
+npm run lint:server
+npm run lint:components
+```
+
+### Development Server
+
+```bash
+npm run watch # Starts Vite in watch mode + nodemon
+# Server available at http://localhost:3000 and http://localhost:3002
+```
+
+### Documentation Updates
+
+```bash
+cd docs
+npm start # Development server
+npm run build # Production build
+```
+
+## Trust These Instructions
+
+These instructions are based on comprehensive analysis of the codebase, successful testing of build/test/lint commands, and examination of CI/CD pipelines. **Only search for additional information if these instructions are incomplete or incorrect for your specific task.** The commands and workflows documented here have been validated and account for the major dependencies and timing requirements of this complex monorepo.
+
+When in doubt, follow the exact command sequences provided, especially for bootstrap ā build ā test workflows which are critical for this repository's build system.
diff --git a/.github/instructions/documentation.instructions.md b/.github/instructions/documentation.instructions.md
new file mode 100644
index 0000000000..0bfd3b5b19
--- /dev/null
+++ b/.github/instructions/documentation.instructions.md
@@ -0,0 +1,86 @@
+---
+applyTo: 'src/*.ts'
+description: This file contains JSDoc-specific coding standards and information for TypeScript files.
+---
+
+# JSDoc comments
+
+- Use JSDoc comments to document functions, classes, and interfaces.
+- Use `@param` to document function parameters.
+- Use `@returns` to document function return values.
+- (Required) Use `@dochash` to specify the page that the documentation should be generated into.
+ - The following hashes are available:
+ - `actions/ai`
+ - `actions/bot-filters`
+ - `actions/bytes`
+ - `actions/crypto`
+ - `actions/data`
+ - `actions/debuggers`
+ - `actions/experimental`
+ - `actions/loom`
+ - `actions/math`
+ - `actions/mods`
+ - `actions/os/animations`
+ - `actions/os/app`
+ - `actions/os/audio`
+ - `actions/os/barcodes`
+ - `actions/os/camera`
+ - `actions/os/clipboard`
+ - `actions/os/event`
+ - `actions/os/files`
+ - `actions/os/geolocation`
+ - `actions/os/image-classification`
+ - `actions/os/input`
+ - `actions/os/ldraw`
+ - `actions/os/media`
+ - `actions/os/moderation`
+ - `actions/os/portals`
+ - `actions/os/spaces`
+ - `actions/os/system`
+ - `actions/os/records`
+ - `actions/os/remotes`
+ - `actions/os/rooms`
+ - `actions/os/time`
+ - `actions/os/xr`
+ - `actions/web`
+ - `types/ai`
+ - `types/core`
+ - `types/debuggers/common`
+ - `types/debuggers/debugger`
+ - `types/debuggers/pausable-debugger`
+ - `types/error`
+ - `types/experimental`
+ - `types/math/vectors`
+ - `types/math/rotations`
+ - `types/os/animations`
+ - `types/os/audio`
+ - `types/os/barcodes`
+ - `types/os/camera`
+ - `types/os/clipboard`
+ - `types/os/event`
+ - `types/os/files`
+ - `types/os/geolocation`
+ - `types/os/image-classification`
+ - `types/os/input`
+ - `types/os/media`
+ - `types/os/moderation`
+ - `types/os/portals`
+ - `types/os/spaces`
+ - `types/os/system`
+ - `types/os/xr`
+ - `types/records/key`
+ - `types/records/data`
+ - `types/records/files`
+ - `types/records/events`
+ - `types/records/roles`
+ - `types/records/policies`
+ - `types/records/extra`
+ - `types/web`
+- (Required) Use `@docid` is used to specify the ID of the function/class in the documentation.
+- `@docname` is used to specify the name that should be displayed in the documentation.
+ - This is useful for functions/classes that are exported with a different name than the one used in the code.
+ - Use this for functions in `AuxLibrary.ts`. For example, the `toast()` function is exported as `os.toast()`.
+- Use `{@link}` to link to other documentation entries.
+ - Specify the `@docid` of the entry you want to link to.
+- Use `{@tag [tag]}` to link to tags.
+- Use `{@tag @[listener]}` to link to listen tags.
diff --git a/.github/instructions/typescript.instructions.md b/.github/instructions/typescript.instructions.md
new file mode 100644
index 0000000000..17997d172b
--- /dev/null
+++ b/.github/instructions/typescript.instructions.md
@@ -0,0 +1,33 @@
+---
+applyTo: '**/*.ts'
+description: This file contains TypeScript-specific coding standards and documentation guidelines.
+---
+
+# Project general coding standards
+
+## Naming conventions
+
+- Use camelCase for variable and function names.
+- Use PascalCase for class names.
+- Prefix private class members with an underscore (`_`).
+- Use ALL_CAPS for constants.
+
+## Code style
+
+- Use ES6 modules for imports and exports.
+- Use const for variables that are not reassigned.
+- Use let for variables that are reassigned.
+- Use arrow functions for anonymous functions.
+- Use template literals for string concatenation.
+- Use async/await for asynchronous code.
+
+## Error handling
+
+- Use try/catch for error handling in functions that return void.
+- Always log errors to the console.
+- Include the class name and method name in error messages.
+
+## Documentation
+
+- Use JSDoc comments for public APIs.
+- Use eslint and prettier for code formatting and linting.
diff --git a/.github/workflows/claude-fix.yml b/.github/workflows/claude-fix.yml
new file mode 100644
index 0000000000..697d8698b6
--- /dev/null
+++ b/.github/workflows/claude-fix.yml
@@ -0,0 +1,36 @@
+name: Claude Assistant
+
+on:
+ issue_comment:
+ types: [created]
+ workflow_dispatch: {}
+
+permissions:
+ id-token: write
+ contents: write
+ pull-requests: write
+ issues: read
+
+jobs:
+ claude:
+ runs-on: ubuntu-latest
+ environment: ai-api-keys
+
+ if: |
+ github.event_name == 'workflow_dispatch' ||
+ (github.event_name == 'issue_comment' &&
+ contains(github.event.comment.body, '@claude'))
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Run Claude Code via Anthropic API
+ uses: anthropics/claude-code-action@beta
+ with:
+ anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
+ model: ${{ secrets.CLAUDE_MODEL_1 }}
+ # To allow PR creation, enable GitHub tool:
+ allowed_tools: mcp__github__create_pull_request
+ # Optionally, set a custom prompt or use default:
+ direct_prompt: 'Read the issue and apply a fix; then open a PR.'
+ # `anthropic_api_key` is passed so Claude can authenticate
diff --git a/.github/workflows/continuous-integration-workflow.yml b/.github/workflows/continuous-integration-workflow.yml
index ce57b06e99..978eaa0275 100644
--- a/.github/workflows/continuous-integration-workflow.yml
+++ b/.github/workflows/continuous-integration-workflow.yml
@@ -22,7 +22,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
- node-version: [18.x]
+ node-version: [20.x]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
@@ -48,7 +48,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
- node-version: [18.x]
+ node-version: [20.x]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
@@ -74,7 +74,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
- node-version: [18.x]
+ node-version: [20.x]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
@@ -105,7 +105,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
- node-version: [18.x]
+ node-version: [20.x]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml
new file mode 100644
index 0000000000..037d4c4f80
--- /dev/null
+++ b/.github/workflows/copilot-setup-steps.yml
@@ -0,0 +1,39 @@
+name: 'Copilot Setup Steps'
+
+# Automatically run the setup steps when they are changed to allow for easy validation, and
+# allow manual testing through the repository's "Actions" tab
+on:
+ workflow_dispatch:
+ push:
+ paths:
+ - .github/workflows/copilot-setup-steps.yml
+ pull_request:
+ paths:
+ - .github/workflows/copilot-setup-steps.yml
+
+jobs:
+ # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
+ copilot-setup-steps:
+ runs-on: ubuntu-latest
+
+ # Set the permissions to the lowest permissions possible needed for your steps.
+ # Copilot will be given its own token for its operations.
+ permissions:
+ # If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission. If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
+ contents: read
+
+ # You can define any steps you want, and they will run before the agent starts.
+ # If you do not check out your code, Copilot will do this for you.
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20.x'
+
+ - name: Install JavaScript dependencies
+ run: |
+ corepack enable
+ pnpm bootstrap
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index b59e496e51..4b3f74f5ad 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -18,10 +18,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- - name: Use Node.js 18.x
+ - name: Use Node.js 20.x
uses: actions/setup-node@v2
with:
- node-version: 18.x
+ node-version: 20.x
registry-url: 'https://registry.npmjs.org'
- name: Corepack Enable
run: |
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 6ccb05316f..3bd0982916 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -15,10 +15,10 @@ jobs:
CI: true
steps:
- uses: actions/checkout@v1
- - name: Use Node.js 18.x
+ - name: Use Node.js 20.x
uses: actions/setup-node@v2
with:
- node-version: 18.x
+ node-version: 20.x
registry-url: 'https://registry.npmjs.org'
- name: Fix node-gyp (Windows Only)
if: matrix.os == 'windows-latest'
diff --git a/.gitignore b/.gitignore
index 5e50561af9..58b36d7a3c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,4 @@ xpexchange
extensions
infra
.qodo
+.devdbrc
\ No newline at end of file
diff --git a/.husky/pre-commit b/.husky/pre-commit
index dd4268e690..205ebaf711 100755
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,5 +1,2 @@
-#!/bin/sh
-. "$(dirname "$0")/_/husky.sh"
-
-npx lint-staged
-npx pretty-quick --staged
+pnpm lint-staged
+pnpm pretty-quick --staged
diff --git a/.nvmrc b/.nvmrc
index b6fb44b881..12419e9c57 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-v18.17.1
\ No newline at end of file
+v20.18.1
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 2368d2d786..bb38a13c1f 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -7,6 +7,7 @@
"**/.DS_Store": true,
"**/*.js": { "when": "$(basename).ts" },
"**/*.js.map": true,
+ "**/*.tsbuildinfo": true,
"src/aux-common/**/*.d.ts": { "when": "$(basename).ts" },
"src/aux-components/**/*.d.ts": { "when": "$(basename).ts" },
"src/aux-vm/**/*.d.ts": { "when": "$(basename).ts" },
@@ -57,6 +58,7 @@
"editor.insertSpaces": true,
"editor.tabSize": 4,
"editor.detectIndentation": false,
+ "javascript.preferences.importModuleSpecifier": "relative",
"javascript.preferences.quoteStyle": "single",
"typescript.preferences.quoteStyle": "single",
"workbench.colorCustomizations": {},
@@ -64,5 +66,6 @@
"jest.autoEnable": false,
"typescript.tsdk": "node_modules\\typescript\\lib",
"typescript.tsserver.maxTsServerMemory": 8192,
- "jest.autoRun": "off"
+ "jest.autoRun": "off",
+ "cSpell.words": ["KASP"]
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9ac8dce11f..8b2d73b85f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,513 @@
# CasualOS Changelog
+## V3.8.0
+
+#### Date: 10/14/2025
+
+### :rocket: Features
+
+- Added the `os.eraseInst(recordKeyOrName, instName, options?)` function to delete insts programmatically.
+- Added the `ai.listChatModels()` function to list the available chat models that the user can use based on their subscription.
+- Changed webhooks to record logs to the same record that the webhook is stored in.
+- Add the `os.syncConfigBotTagsToURL(tags, fullHistory?)` function.
+ - Tells CasualOS to sync the given list of config bot tags in the URL query.
+ - `tags` - The tags that should be synced to the URL.
+ - `fullHistory` - Whether the a history entry should be created for every change to these tags. If false, then the URL will be updated but no additional history entries will be created. If true, then each change to the parameters will create a new history entry. Defaults to true.
+
+### :bug: Bug Fixes
+
+- Fixed an issue where rapidly refreshing browser tabs could create duplicate remote connections that would persist in the `os.remotes()` list. The system now properly cleans up all remote device registrations when a connection is lost and prevents registering the current connection as a remote.
+- Fixed an issue where tag masks in the shared space might be ignored after the server runs some cleanup.
+- Fixed an issue where the `from` position values in `onDrag`, `onDrop`, `onAnyBotDrag`, and `onAnyBotDrop` events were being incorrectly rounded to integers, causing non-integer bot positions (e.g., 0.5, 0.4) to be rounded before being passed to event handlers.
+- Fixed an issue where clicking the sheetPortal button in the systemPortal would only infer the dimension from gridPortal. Now it checks mapPortal first, then gridPortal, before requesting user input.
+- Fixed an issue where it was not possible to publish packages to studios.
+- Changed to ensure that the "Sign In" dialog is shown to unauthenticated users who are trying to access a public inst on Privo-enabled deployments.
+- Static inst deletion now properly removes all associated data from browser storage. Previously, deleting a local inst would only remove it from the list while leaving bot data behind, causing old data to reappear when creating a new inst with the same name.
+
+## V3.7.1
+
+#### Date: 9/23/2025
+
+### :rocket: Features
+
+- Added the `os.createRecord(name)` function ([#668](https://github.com/casual-simulation/casualos/pull/668)).
+- Added the `os.listSudioRecords(studioId)` function ([#666](https://github.com/casual-simulation/casualos/pull/666)).
+- Added the the ability to specify markers when loading a shared document. ([#663](https://github.com/casual-simulation/casualos/pull/663))
+- Added the ability to view your notification subscriptions on the auth site. ([#680](https://github.com/casual-simulation/casualos/pull/680))
+- Added support for database records.
+ - Database records add the ability to run arbitrary SQL queries on SQLite database instances.
+ - Database records can be accessed via the following functions:
+ - `os.recordDatabase(request, options?)` - Creates or updates a database record.
+ - `os.eraseDatabase(recordName, address, options?)` - Deletes a database record and associated data.
+ - `os.listDatabases(recordName, startingAddress?, options?)` - Lists the databases that are stored in a record.
+ - `os.listDatabasesByMarker(recordName, marker, startingAddress?, options?)` - Lists the databases which have the given marker.
+ - `os.getDatabase(recordName, address)` - Gets a database instance that can be used to run queries against a database. Returns an object which has the following functions:
+ - `query` - A [tagged template literal function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#tagged_templates) that can query the database. Only allows read-only queries.
+ - `execute` - A tagged template literal function that can execute SQL code on the database. Allows read-write.
+ - `batch(statements, readonly?)` - Accepts an array of statements which are all executed in a [transaction](https://sqlite.org/lang_transaction.html). If any one fails, then none of the statements will have any effect.
+ - `sql` - A tagged template literal function that constructs a statement from the given SQL and parameters.
+ - `run(statement, readonly?)` - Accepts a statement and executes it.
+ - `raw` - Gets an object that is able to interface with the database without any special mapping of rows.
+ - By default, database features are not enabled. To configure database features, specify the `databases` key in your `SERVER_CONFIG`:
+ - To configure SQLite:
+ ```json
+ {
+ "databases": {
+ "provider": {
+ "type": "sqlite",
+ "folderPath": "/path/to/sqlite/databases/folder"
+ }
+ }
+ }
+ ```
+ - To configure Turso:
+ ```json
+ {
+ "databases": {
+ "provider": {
+ "type": "turso",
+ "organization": "YOUR_ORGANIZATION",
+ "token": "YOUR_API_TOKEN",
+ "group": "YOUR_DATABASE_GROUP"
+ }
+ }
+ }
+ ```
+
+### :bug: Bug Fixes
+
+- Fixed an issue where the `Sec-Websocket-Protocol` header wasn't supported on API Gateway.
+- Fixed an issue where the background color for comID logos would not be displayed at the same time as the comID logo.
+- Fixed an issue where input events would not be handled correctly on newly updated Meta Quest devices.
+- Reworked OpenID Connect sign-in to use redirects instead of popups, eliminating issues with browser popup blockers ([#652](https://github.com/casual-simulation/casualos/issues/652)).
+- Fixed an issue where listing data by marker would force login.
+
+## V3.7.0
+
+#### Date: 8/22/2025
+
+### :boom: Breaking Changes
+
+- Changed local insts (`?staticInst` in the URL query) to no longer require separate permission for performing records actions.
+ - Previously, public (sometimes called free) insts and local insts had to be granted separate permission for actions that manipulated data.
+ - This led to a large number of uses of `os.grantInstAdminPermission()`, which was a workaround to allow people to grant an inst permissions.
+ - The goal was to replace this mechanism by encouraging switching to packages and entitlements which are able to automatically grant insts permissions based on the entitlement grants that users have given indiviaual packages.
+ - Unfortunately, packages aren't a good solution for scenarios when actively developing AUXes and (as a result) developers are forced to continue using `os.grantInstAdminPermission()` in development.
+ - Additionally, many developers prefer to use local insts instead of studio insts (which automatically get some permissions), seeing them as temporary and disposable unlike private insts.
+ - Now, local insts no longer need to be granted special permissions for records actions.
+ - The downside to this change is that local insts now pose a greater risk and attack vector for cross site scripting (XSS). In such a scenario, an attacker would give a user a malicious AUX that steals their data. If the user decides to run it in an inst, then their data might get stolen by the attacker.
+
+### :rocket: Features
+
+- Improved the `pack-aux` and `unpack-aux` commands in the CLI to replace bot IDs with a placeholder by default.
+ - This helps prevent version control churn if the AUX files are being packed and repacked a lot.
+- Added additional properties to `@onClick` and `@onAnyBotClicked` for code tool bots:
+ - `codeBot` - The bot that is currently being displayed in the code editor.
+ - `codeTag` - The tag that is currently being displayed in the code editor.
+ - `codeTagSpace` - The space of the tag that is currently being displayed in the code editor.
+- Added search records.
+ - Search records allow you to utilize [Typesense](https://typesense.org/) to easily search over a large number of documents. Each "Search record" maps to a Typesense [collection](https://typesense.org/docs/29.0/api/collections.html), which can store many documents. Documents are just JSON (kinda like data records).
+ - `os.recordSearchCollection(request)` - Creates or updates a Search collection. Each collection exists at an address and is assigned its own unique collection name.
+ - `os.getSearchCollection(recordName, address)` - Gets information about a search collection.
+ - `os.eraseSearchCollection(recordName, address)` - Deletes a search collection.
+ - `os.listSearchCollections(recordName, startingAddress?)` - Lists search collections in a record.
+ - `os.listSearchCollectionsByMarker(recordName, marker, startingAddress?)` - Lists search collections by marker.
+ - `os.recordSearchDocument(request)` - Creates a document inside a search collection.
+ - `os.eraseSearchDocument(recordName, address, documentId)` - Deletes a document from a search collection.
+ - To enable search records, you need to configure the [`typesense` object](./src/aux-records/ServerConfig.ts#L177) in the server config.
+ - Search records have the ability to be automatically synced from data records, but there is currently no API for this and needs to be setup on a case-by-case basis (for now).
+- Added the ability to allow scripts to import some of the libraries that CasualOS itself uses.
+ - This now also makes it possible for other libraries to share some libraries with CasualOS itself.
+ - The following libraries can now be imported by scripts directly:
+ - `yjs` - The [YJS](https://yjs.dev/) CRDT library.
+ - `luxon` - The [Luxon](https://github.com/moment/luxon#readme) date and time library.
+ - `preact` - The [Preact](https://preactjs.com/) JSX rendering library.
+ - `preact/compat` - The `preact/compat` export of Preact.
+ - `preact/jsx-runtime` - The `preact/jsx-runtime` export of Preact.
+ - This change should now make it possible to use libraries that utilize React by setting up an import map (only on deployments which support full DOM features):
+ - ```typescript
+ const casualOsImportMap =
+ document.getElementById('default-import-map');
+ if (!casualOsImportMap) {
+ console.error('CasualOS import map not found!');
+ return;
+ }
+ const defaultImportMap = JSON.parse(casualOsImportMap.textContent);
+ const mapScript = document.createElement('script');
+ mapScript.id = 'react-import-map';
+ mapScript.type = 'importmap';
+ mapScript.textContent = JSON.stringify({
+ imports: {
+ react: defaultImportMap.imports['preact/compat'],
+ 'react-dom': defaultImportMap.imports['preact/compat'],
+ 'react/jsx-runtime':
+ defaultImportMap.imports['preact/jsx-runtime'],
+ },
+ });
+ document.head.append(mapScript);
+ ```
+- Added support for SQLite database backends.
+ - This now means that it is a bit easier to host CasualOS on singular nodes.
+- Greatly reduced the initial bundle size by replacing Lodash with es-toolkit.
+
+### :bug: Bug Fixes
+
+- Fixed an issue in the `unpack-aux` CLI command where tags that failed to be written would be omitted from the bot AUX file.
+- Fixed an issue where strings like `e123` would be recognized as numbers.
+- Fixed an issue where strings that look like numbers could cause labels to render differently from their strings.
+- Fixed an issue where `os.installPackage()` and `os.listInstalledPackages()` would require the user to login first.
+- Fixed an issue where calling `os.getSharedDocument()` with a record key would sometimes fail.
+- Fixed the "Document Actions" not being shown in the documentation sidebar.
+- Fixed issues with inconsistent display of user subscriptions.
+
+## V3.6.0
+
+#### Date: 7/28/2025
+
+### :boom: Breaking Changes
+
+- Prevented the loading screen from being hidden until one of two things happens:
+ 1. One of the following portals is displayed:
+ - `gridPortal`
+ - `sheetPortal`
+ - `systemPortal`
+ - `miniGridPortal`
+ - `mapPortal`
+ - `miniMapPortal`
+ - `meetPortal`
+ - `tagPortal`
+ 2. `os.hideLoadingScreen()` is called.
+ - This change makes the loading experience able to be more deeply customized on a per-experience basis.
+- comId's which have a configured `logoUrl` will now display the logo in fullscreen like a "splash screen".
+ - This gives more prominence to their branding and simplifies our white-labeling story moving forward.
+
+### :rocket: Features
+
+- Added the ability to prevent the `gridPortal` from loading automatically by setting the `noGridPortal` query parameter.
+- Added the ability to display a fullscreen "splash screen"
+ - Can be controlled by the following environment variables:
+ - `LOGO_URL` - The URL to the logo that should be displayed. If set, then the logo will be displayed full screen.
+ - `LOGO_TITLE` - The descriptive title for the logo. Used as alt text for the logo. Additionally can be specified on its own to display a title in the regular loading dialog.
+ - `LOGO_BACKGROUND_COLOR` - The [color](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color) that should be displayed for the splash screen background.
+- Added the `os.hideLoadingScreen()` function.
+ - This function can be used to trigger hiding the loading screen by a script.
+
+### :bug: Bug Fixes
+
+- Actually fixed the issue where serverless AWS deployments of CasualOS wouldn't have permissions to send emails via [SES](https://aws.amazon.com/ses/).
+- Fixed an issue with the CLI where `pack-aux` would not read files with non-standard extensions.
+
+## V3.5.6
+
+#### Date: 7/23/2025
+
+### :bug: Bug Fixes
+
+- Fixed an issue where serverless AWS deployments of CasualOS wouldn't have permissions to send emails via [SES](https://aws.amazon.com/ses/).
+
+## V3.5.5
+
+#### Date: 7/22/2025
+
+### :bug: Bug Fixes
+
+- Fixed an issue where the CLI would add `.txt` to tag names that already have an extension when unpacking an `.aux` file.
+- Fixed an issue where duplicate bots could make the CLI try to write a tag to both the tag file and an additional `.txt` file.
+
+## V3.5.4
+
+#### Date: 7/22/2025
+
+### :bug: Bug Fixes
+
+- Fixed an issue where it was impossible to set listeners on bots immediately after they were created.
+- Fixed an issue where it was impossible to delete listener overrides using the `delete` keyword.
+
+## V3.5.3
+
+#### Date: 7/21/2025
+
+### :boom: Breaking Changes
+
+- Changed the default mapPortal and miniMapPortal basemap to `dark-gray-vector` from `dark-gray`
+ - This may cause some things like labels and street markings to appear different.
+
+### :rocket: Features
+
+- Added the `Sec-Websocket-Protocol=casualos.records` header for websocket requests made to the records system.
+ - This can help load balancers differentiate between records requests and inst requests.
+- Added a better date of birth input to the "Sign Up" page.
+- Added the `os.calculateScreenCoordinatesFromPosition()` function.
+- Added batching for events sent from the main thread to the worker thread.
+- Added the `mapPortalKind` and `mapPortalGridKind` tags for the `mapPortalBot` and `miniMapPortalBot`.
+ - `mapPortalKind` can be used to cause the mapPortal or miniMapPortal to display the map as a flat plane instead of a sphere.
+ - `globe` - The Earth is displayed as a globe. (Default)
+ - `plane` - The Earth is displayed as a flat plane by using the Mercator projection.
+ - `mapPortalGridKind` can be used to cause the mapPortal or miniMapPortal use a grid that matches the globe or plane settings from `mapPortalKind`.
+ - `null` - The grid matches the `mapPortalKind`. (Default)
+ - `globe` - The grid aligns best with the `globe` `mapPortalKind`.
+ - `plane` - The grid aligns best with the `plane` `mapPortalKind`.
+- Improved `mapPortalBasemap` to support [web tile URLs](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WebTileLayer.html#urlTemplate).
+ - This allows you to set a custom basemap in the mapPortal or miniMapPortal.
+ - The URL should follow one of the following templates:
+ - `https://some.domain.com/{level}/{col}/{row}.png`
+ - `https://some.domain.com/{z}/{x}/{y}.png`
+ - Where anything in curly braces `{}` represents a template parameter that the mapPortal/miniMapPortal will fill with the corresponding coordinate information for the requested tile.
+- Added the `os.addMapLayer(portal, layer)` and `os.removeMapLayer(layerId)` functions.
+ - These functions allow you to visualize and render [GeoJSON](https://geojson.org/) data in the mapPortal or miniMapPortal.
+ - `os.addMapLayer(portal, layer)` - Adds a map layer to the given portal. Returns a promise that resolves with string with the ID of the layer that was added. It accepts the following arguments:
+ - `portal` - The portal that the layer should be rendered in. Can either be `map` or `miniMap`.
+ - `layer` - The layer that should be displayed. Should be an object with the following structure:
+ - `type` - The type of the layer. Currently only `geojson` is supported.
+ - `url` - (Optional) The URL that the GeoJSON data can be downloaded from.
+ - `data` - (Optional) The GeoJSON data that is contained in the layer. Required if `url` is not specified.
+ - `os.removeMapLayer(layerId)` - Removes a map layer from the portal it is in. Returns a promise that resolves once the layer has been removed.
+ - `layerId` - The ID of the layer that should be removed. You can get this from the resolved value from `os.addMapLayer()`.
+- Added the `os.addBotListener(bot, tag, listener)` and `os.removeBotListener(bot, tag, listener)` functions.
+ - `os.addBotListener(bot, tag, listener)` Adds the given listener to the given bot for the given tag.
+ - It can be used to add arbitrary functions to be triggered when a listener would be triggered on a bot.
+ - This function only adds listeners, it cannot override existing listeners.
+ - Listeners added by this function will not be called if the bot is not listening.
+ - `bot` is the bot that the lister should be added to.
+ - `tag` is the [listen tag](https://docs.casualos.com/tags/listen/).
+ - `listener` is the function that should be called when the listen tag is triggered. It should be a function that accepts the following arguments:
+ - `that` - the `that` argument of the listener.
+ - `bot` - The bot that the listener was triggered on. (Same as `bot` above)
+ - `tag` - The name of the tag. (Same as `tag` above)
+ - `os.removeBotListener(bot, tag, listener)` Removes the given listener from the given bot and tag.
+ - This function can only be used to remove listeners which have been added by `os.addBotListener()`.
+ - `bot` is the bot that the listener should be removed from.
+ - `tag` is the [listen tag](https://docs.casualos.com/tags/listen/).
+ - `listener` is the function that should be removed.
+- Added the ability to add/override bot listen tags by setting `bot.listeners.tag`.
+
+ - For example, the following code will override the `onClick` listen tag to toast "overridden" when the bot is clicked:
+
+ ```typescript
+ bot.tags.onClick = `@os.toast("default")`;
+ bot.listeners.onClick = () => os.toast('overridden');
+
+ // when bot is clicked, "overridden" will be toasted instead of "default".
+ ```
+
+ - Just like the `masks` property, the `listeners` property allows you to override the default tags.
+ - The difference is that `listeners` is all about listen tags and functions. You can only set functions, and `listeners` are always `tempLocal`.
+ - Functions set on the `listeners` property will override listen tags set by tags and tag masks.
+ - It will only override the listener, not the tag data. In the example above, `bot.tags.onClick` will continue to return `@os.toast("default")`.
+
+- Improved the CLI to support packing and unpacking AUX files into a file and folder structure.
+ - See [#605](https://github.com/casual-simulation/casualos/issues/605)
+ - The following commands are now available:
+ - `pack-aux` - Takes a folder and builds an `.aux` file from it.
+ - `unpack-aux` - Takes a `.aux` file and builds a folder from it.
+ - See the CLI documentation for more information.
+
+### :bug: Bug Fixes
+
+- Improved error handling for `ai.stream.chat()` and `ai.generateImage()`.
+- Added documentation for `crypto.decrypt()`.
+
+## V3.5.2
+
+#### Date: 6/13/2025
+
+### :boom: Breaking Changes
+
+- Made the VM iframe unable to process pointer events while the game view (gridPortal, mapPortal, etc.) is visible. The VM iframe is now always shown.
+
+ - This is a breaking change because the VM iframe (DOM) used to be always interactable behind the game view.
+ - Now, it will always be shown, but only be interactable when all the game portals are hidden (set to null).
+ - The previous breaking change was a workaround to fix a bug in MacOS Chrome that causes iframes to intercept some events from the main window.
+ - This change is a another workaround to fix a bug in MacOS Chrome that causes the game portals frame rate to be severly reduced while the VM iframe is hidden.
+ - To preserve the old behavior, you can use the following code:
+
+ ```typescript
+ await os.registerApp('alwaysShowIframe', thisBot);
+
+ const css = `
+ .vm-iframe-container iframe:first-child {
+ pointer-events: auto !important;
+ }
+ `;
+
+ os.compileApp(
+ 'alwaysShowIframe',
+
+
+
+ );
+ ```
+
+## V3.5.1
+
+#### Date: 6/13/2025
+
+### :boom: Breaking Changes
+
+- Made the VM iframe be hidden while the game view (gridPortal, mapPortal, etc.) is visible.
+
+ - This is a breaking change because the VM iframe (DOM) used to be always visible behind the game view.
+ - Now, it will only be visible when all the game portals are hidden (set to null).
+ - This change is a workaround to fix a bug in MacOS Chrome that causes iframes to intercept some events from the main window. In particular, this bug broke the CasualOS `@onFileUpload` shout.
+ - To preserve the old behavior, you can use the following code:
+
+ ```typescript
+ await os.registerApp('alwaysShowIframe', thisBot);
+
+ const css = `
+ .vm-iframe-container iframe:first-child {
+ display: block !important;
+ }
+ `;
+
+ os.compileApp(
+ 'alwaysShowIframe',
+
+
+
+ );
+ ```
+
+### :rocket: Features
+
+- Improved `os.loadInst()` and `os.unloadInst()` to accept a configuration object that can specify more information on the kind of inst to load.
+ - Loading insts in this manner will not add them to the URL.
+ - The following properties are supported:
+ - `staticInst`: Equivalent to the [`staticInst` tag](https://docs.casualos.com/tags/config-bot#staticinst).
+ - `inst`: Equivalent to the [`inst` tag](https://docs.casualos.com/tags/config-bot#inst)
+ - `record`: Equivalent to the [`record` tag](https://docs.casualos.com/tags/config-bot#record)
+ - `owner`: Equivalent to the [`owner` tag](https://docs.casualos.com/tags/config-bot#owner).
+ - For example:
+ ```typescript
+ os.loadInst({
+ staticInst: 'myInst',
+ });
+ ```
+ will load the `myInst` static (local) inst just like using the `?staticInst=myInst` query parameter in the URL.
+- Added a [Fiduciary License Agreement](https://gist.github.com/KallynGowdy/5cbc3a6da651e88838c02b734d3b7e80) for CasualOS to help ensure that Casual Simulation has proper licensing agreements with individual contributors.
+ - Uses [cla-assistant](https://cla-assistant.io/) to collect signatures to the FLA.
+- Improved the menuPortal to support scrolling when the bots would exceed the size of the screen.
+- Added the `@onPackageInstalled` shout.
+ - Sent once `os.installPackage()` completes successfully.
+ - `that` includes information about the package which was installed.
+
+### :bug: Bug Fixes
+
+- Fixed an issue where the DOM was not able to be interacted with.
+- Fixed an issue where CasualOS may break during initialization if a `define_global_bot` event is processed before the initial state update.
+- Fixed an issue where providing an invalid endpoint to a records function would cause the function to never resolve.
+- Fixed an issue where package versions could not be recorded on Privo-enabled deployments.
+
+## V3.5.0
+
+#### Date: 6/6/2025
+
+### :boom: Breaking Changes
+
+- Updated to Node 20.18 and PNPM 10.10.
+ - Updating PNPM required updating the `pnpm-lock.yaml` file.
+- Changed `@onKeyDown` and `@onKeyUp` to whisper when a user is typing in a menu bot.
+- Moved `#app-game-container` ID to the DIV that directly contains the gridPortal canvas.
+ - This will make it easier to control the sizing of the gridPortal and mapPortal by applying custom styles that affect `#app-game-container`.
+ - This may break existing custom apps which apply custom styles to `#app-game-container`.
+- Reset the built-in (default) version of ab-1 to a much older version that respects CasualOS defaults behaviors.
+ - This only affects environments which do not configure an `AB1_BOOTSTRAP_URL`.
+
+### :rocket: Features
+
+- Added Package Records
+ - Packages make it easy to save and load different versions of AUX files.
+ - Packages are organized by record name, address, and then key.
+ - Keys help differentiate between package versions and they look like this: `v1.0.0`
+ - Each key has four components:
+ - `major` number
+ - `minor` number
+ - `patch` number
+ - `tag` string
+ - When formatted, a key looks like this: `v{major}.{minor}.{patch}`.
+ - When a tag is specified, then the key looks like this: `v{major}.{minor}.{patch}-{tag}`.
+ - Packages are easy to install, and scripts have the ability to request a particular version of a package to install.
+ - Packages can request entitlements, which will make it easier to manage permissions for insts.
+ - Once recorded, the contents of a package version cannot be updated.
+- Added the following functions:
+ - `os.grantEntitlements(request)`: Requests that a package be granted a list of entitlement features for a record.
+ - `os.parseVersionKey(key)`: Parses the given string into a package version key.
+ - `os.formatVersionKey(key)`: Formats the given version key as a string.
+ - `os.recordPackageVersion(request)`: Records a package version to the given record name, address, and key.
+ - `os.listPackageVersions(recordName, address)`: Gets the list of package versions that are available for the given record name and address.
+ - `os.getPackageVersion(recordName, address, key?)`: Gets the package version with the given key. If the key is omitted, then the latest package version will be retrieved. The returned package includes information about the file that should be downloaded to get the package contents.
+ - `os.erasePackageVersion(recordName, address, key)`: Deletes the given package version.
+ - `os.recordPackageContainer(recordName, address, markers?)`: Creates a new container for package versions. The given marker can be used to restrict who is able to list package versions.
+ - `os.erasePackageContainer(recordName, address)`: Deletes the given package container and all packages stored in it.
+ - `os.listPackageContainers(recordName, address?)`: Lists package containers in the given record.
+ - `os.listPackageContainersByMarker(recordName, marker, address?)`: Lists package containers with the given marker.
+ - `os.getPackageContainer(recordName, address)`: Gets a package container by address.
+ - `os.installPackage(recordName, address, key?)`: Installs the specified package version in the current inst. If key is omitted, then the latest package version will be installed.
+ - `os.listInstalledPackages()`: Gets the list of packages that have been installed in this inst.
+ - `os.installAuxFile(state, mode?)`: Installs the given AUX file in this inst. `mode` can be set to "copy" to force CasualOS to always produce new copies of bots.
+ - `os.getAuxFileForBots(bots, options?)`: Gets an AUX file that represents the given bots. `options` can be used to specify which version of the AUX file format you want to receive. This function works like `os.downloadBots()`, but it returns the AUX file instead of downloading it to the user's device.
+- Added support for multi-server websocket deployments of CasualOS.
+ - Uses Redis pub/sub as a message broker.
+ - Individual CasualOS deployments are still stateless: they only need to be able to access Redis and the DB.
+- Improved `experiment.createStaticHtmlFromBots()` to return a smaller file and also better support alternative enviroments.
+ - There is no background thread when bots are running in static HTML, so they have full access to everything in CasualOS and also the main thread.
+ - Static HTML also doesn't have access to every CasualOS feature. Non-essential features have been removed, like:
+ - The multi-line code editor.
+ - Some built-in fonts like `noto-sans-kr`.
+ - Some built-in GLTF models (like VR controller models).
+ - Some icons (some CasualOS-custom icons in the sheet portal and system portal).
+- Added support for the `map` form.
+ - Set `formAddress` to a [Vector](https://docs.casualos.com/tags#vector-tags) to center the map on a particular longitude and latitude.
+ - `formMapProvider` can be set to one of the following values:
+ - `bing`, `bingmaps` to use [Bing Maps](https://www.bing.com/maps).
+ - `openstreetmap`, `openstreetmaps`, `osm` to use [OpenStreetMap](https://www.openstreetmap.org/).
+ - `mapbox` to use [MapBox](https://www.mapbox.com/)
+ - `google`, `googlemaps` to use [Google Maps](https://maps.google.com/)
+ - `maptiler` to use [MapTiler](https://www.maptiler.com/)
+ - `openmaptiles`, `openmaptile`, `omt` to use [OpenMapTiles](https://openmaptiles.org/)
+ - `here`, `heremap`, `heremaps` to use [Here Maps](https://www.here.com/)
+ - A custom URL of the format: `https://{s}.example.com/{z}/{x}/{y}.png`
+ - `formMapProviderAPIKey` can be provided to set an API key for map providers.
+ - `formMapLOD` can be used to set the zoom level (higher values appear more zoomed in).
+ - `formMapHeightProvider` can be set to `maptiler` to load elevation data from the MapTiler API.
+ - `formMapHeightProviderAPIKey` can be set to use a specific API key for the `formMapHeightProvider`.
+ - `formMapHeightOffset` can be set to offset the displayed heights when a `formMapHeightProvider` is provided.
+- Updated lambda functions to use 1024 MB instead of 256 MB.
+- Added a note for `@onBotChanged` to the documentation that it will only be triggered if the bot was not just created.
+- Added the `formInputMultiline` tag.
+ - Set to `true` to allow multiple lines in `input` form menu bots.
+ - Set to `false` to disallow multiple lines.
+ - Set to `null` to allow multiple lines by using Shift +Enter .
+
+### :bug: Bug Fixes
+
+- Fixed an issue where quickly typing in an input element could cause the cursor to jump to the end of the content in the input box.
+- Fixed an issue where it was possible for the `@onInstJoined` shout to be sent before all initial tag mask have been processed.
+- Fixed an issue where updating a new bot could cause the new bot to not be properly synchronized throughout the system.
+- Fixed an issue where it was impossible to upload files to records that have spaces in their names.
+- Fixed an issue where bots in the `tempShared` space might not re-appear on other devices after reconnecting.
+- Fixed an issue where it was impossible to report an inst.
+
+## V3.4.5
+
+#### Date: 4/18/2025
+
+### :bug: Bug Fixes
+
+- Fixed an issue where the `os.calculateViewportCoordinatesFromPosition()` function returned incorrect coordinate values when used in the mapPortal.
+ - Function now properly converts longitude/latitude coordinates to accurate viewport positions, ensuring consistent behavior between gridPortal and mapPortal.
+- Fixed an issue with custom apps where setting the `selected` property on an `` element would appear to have no effect.
+- Fixed an issue with custom apps where setting the `checked` property on ` ` elements would have no effect.
+
+## V3.4.4
+
+#### Date: 4/17/2025
+
+### :bug: Bug Fixes
+
+- Fixed an issue with custom apps where setting an attribute to `null` would not remove the attribute.
+- Fixed an issue with custom apps where SVG elements would not work when DOM support is enabled.
+
## V3.4.3
#### Date: 4/10/2025
diff --git a/DEVELOPERS.md b/DEVELOPERS.md
index 57a8c10ef2..39c85e0868 100644
--- a/DEVELOPERS.md
+++ b/DEVELOPERS.md
@@ -7,9 +7,9 @@
Make sure you have all the prerequisite tools installed:
-- [Node.js](https://nodejs.org/en/download/) v18.17.1 or later.
+- [Node.js](https://nodejs.org/en/download/) v20.18.1 or later.
- If installing for the first time, it is reccommended that you install it via Node Version Manager. ([Mac][nvm-mac], [Windows][nvm-windows])
- - Once NVM is installed, you can install the correct version of Node by running `nvm install v18.17.1` in your favorite terminal.
+ - Once NVM is installed, you can install the correct version of Node by running `nvm install v20.18.1` in your favorite terminal.
- [Deno](https://deno.land/).
- [Rancher Desktop](https://rancherdesktop.io/)
- Used to make development with extra services (MongoDB, Redis, etc.) easy.
@@ -29,6 +29,10 @@ Make sure you have all the prerequisite tools installed:
- Powershell: `npm prefix -g | % {npm config set node_gyp "$_\node_modules\node-gyp\bin\node-gyp.js"}`
3. Enable corepack
- `corepack enable`
+ - If you are trying to update PNPM, follow these steps:
+ 1. Install the latest corepack: `npm install --global corepack@latest`
+ 2. Enable pnpm with corepack: `corepack enable pnpm`
+ 3. Use the latest PNPM version: `corepack use pnpm@latest-10`
4. Start CockroachDB
- Use a separate terminal tab
- `npm run cockroach`
@@ -43,12 +47,31 @@ Make sure you have all the prerequisite tools installed:
```
127.0.0.1 casualos.localhost
```
-6. Start related services:
+6. (Optional) Start TigerBeetle
+ _This is used to enable financial features within casualos_
+
+ - You can install and start the tigerbeetle server by following the quick start guide linked below.
+ - Before jumping in, please take note that the guide (as of documenting) recommends starting the replica addresses at port 3000.
+ - However, due to the default configurations of the casualos environment, it is **highly recommended** to start development replica addresses from port 3100 (or in another non-conflicting port range); and increment/decrement away from commonly used ports if additional replicas are needed.
+ - The guide may cover more than what is necessary, following along until a cluster is started, is all this step requires to continue.
+ - With that in mind, the guide can be found [here][tigerbeetle].
+ - To configure the connection details from casualos to the tigerbeetle server, visit the [development server config](./src/aux-server/aux-backend/server/.dev.env.json).
+ - Be sure to set the `_enabled` property in `tigerBeetle` to `true` as it defaults to `false`.
+ - All other property keys are their camelcase equivalent in the tigerbeetle CLI.
+ ```json
+ "tigerBeetle": {
+ "_enabled": true,
+ "clusterId": "0",
+ "replicaAddresses": ["3100"]
+ },
+ ```
+
+7. Start related services:
- If using `nerdctl`: `npm run nerdctl:dev`
- If using `docker`: `npm run docker:dev`
-7. Bootstrap the project.
+8. Bootstrap the project.
- `npm run bootstrap`
-8. Install commit hooks.
+9. Install commit hooks.
- `npx husky install`
## Commands
@@ -135,6 +158,31 @@ Here is a brief list of tags that are used to help generate the documentation:
- `{@link [ref]}` - Renders a link to the type with `@docid` matching `[ref]`.
- `{@tag [tag]}` - Renders a link to the given `[tag]`. Prefix the tag with `@` to link to listen tags.
+## Code Style
+
+We use prettier and git hooks to enforce syntax formatting across the entire repo.
+
+Here are a couple conventions that we follow:
+
+- Naming:
+ - camelCase for methods/properties/variables.
+ - PascalCase for classes/interfaces.
+ - SCREAMING_CASE for constants.
+ - private properties/methods should use the `private` keyword and start with an underscore (`_`).
+ - public properties/methods should not have any access modifiers, using TypeScript's default visibility of public.
+- Structure
+ - Use an interface if it is already available and suitable.
+ - Use interfaces for data transfer objects and for defining the structure of plain javascript objects.
+ - Only use classes if you need methods attached to data/implementations.
+ - Prefer interfaces if you just need data objects.
+ - Prefer standalone functions if you just need to process data once.
+ - Classes are best for scenarios where we need to process data across multiple different runs.
+ - Don't write a new interface for a class unless you have a good reason to believe you will have/need multiple different implementations for the interface.
+ - Controllers should pretty much never be used through an interface.
+ - Stores should pretty much always be used through an interface.
+- Coding
+ - Don't make major refactors without consulting the architect.
+
## Projects
### [AUX Server](./src/aux-server/)
@@ -208,7 +256,7 @@ Here's a list of the tools and packages that we're using to build CasualOS.
- [acorn-jsx](https://github.com/acornjs/acorn-jsx) for parsing JSX code in listeners.
- [astring](https://github.com/davidbonnet/astring) for generating JS from acorn trees.
- [estraverse](https://github.com/estools/estraverse) for traversing the acorn trees and transforming them.
- - [lodash](https://lodash.com/) for easy array/object manipulation.
+ - [es-toolkit](https://es-toolkit.dev/) for easy array/object manipulation.
- [lru-cache](https://github.com/isaacs/node-lru-cache) for caching formula transpilation results.
- [rxjs](https://github.com/ReactiveX/rxjs) for reactive programming.
- [uuid](https://github.com/kelektiv/node-uuid) for generating UUIDs.
@@ -238,3 +286,4 @@ If you're using Visual Studio Code, I recommend getting the Jest extension. It m
[nvm-mac]: https://github.com/creationix/nvm
[nvm-windows]: https://github.com/coreybutler/nvm-windows
[hosts-file]: https://en.wikipedia.org/wiki/Hosts_(file)
+[tigerbeetle]: https://docs.tigerbeetle.com/quick-start
diff --git a/Dockerfile b/Dockerfile
index ec428e4053..d260eadc2c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -15,7 +15,7 @@ ENV PRISMA_QUERY_ENGINE_BINARY="/usr/src/app/aux-backend/prisma/generated/libque
RUN curl -fsSL https://deno.land/x/install/install.sh | sh -s v1.4.0
RUN npm install -g prisma@^5.7.0
-RUN npm install --no-package-lock --no-save deno-vm@^0.12.0
+RUN npm install --no-package-lock --no-save deno-vm@^0.12.0 @libsql/linux-x64-gnu@^0.5.22
COPY ./src/aux-server/package*.json ./
COPY ./src/aux-server/aux-backend/server/dist ./aux-backend/server/dist/
diff --git a/Dockerfile.arm32 b/Dockerfile.arm32
index 945711425e..b062d7d537 100644
--- a/Dockerfile.arm32
+++ b/Dockerfile.arm32
@@ -18,6 +18,7 @@ COPY ./src/aux-server/aux-web/dist ./aux-web/dist/
COPY ./src/aux-server/aux-web/aux-auth/dist ./aux-web/aux-auth/dist/
COPY ./src/aux-server/aux-backend/schemas/auth.prisma ./aux-backend/schemas/auth.prisma
COPY ./src/aux-server/aux-backend/schemas/migrations ./aux-backend/schemas/migrations
+COPY ./src/aux-server/node_modules/@libsql ./aux-backend/node_modules/@libsql
# HTTP
EXPOSE 3000
diff --git a/Dockerfile.arm64 b/Dockerfile.arm64
index 64751cfc2e..a4315ad753 100644
--- a/Dockerfile.arm64
+++ b/Dockerfile.arm64
@@ -14,7 +14,7 @@ ENV PRISMA_QUERY_ENGINE_BINARY="/usr/src/app/aux-backend/prisma/generated/libque
ENV SANDBOX_TYPE "none"
RUN npm install -g prisma@^5.7.0
-RUN npm install --no-package-lock --no-save deno-vm@^0.12.0
+RUN npm install --no-package-lock --no-save deno-vm@^0.12.0 @libsql/linux-arm64-gnu@^0.5.22
COPY ./src/aux-server/package*.json ./
COPY ./src/aux-server/aux-backend/server/dist ./aux-backend/server/dist/
diff --git a/README.md b/README.md
index 94f3810f94..b5a5ba4bb6 100644
--- a/README.md
+++ b/README.md
@@ -46,25 +46,20 @@ Alternatively, see [DEVELOPERS.md](./DEVELOPERS.md) for development environment
## License
```
-MIT License
-
-Copyright (c) 2019-2020 Casual Simulation, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+
+Copyright (c) 2019-2025 Casual Simulation, Inc.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
```
diff --git a/__mocks__/axios.js b/__mocks__/axios.js
index a450ece134..9f5000aa93 100644
--- a/__mocks__/axios.js
+++ b/__mocks__/axios.js
@@ -1,6 +1,6 @@
'use strict';
-const axios = jest.genMockFromModule('axios');
+const axios = jest.createMockFromModule('axios');
let shouldFail = false;
let lastPost;
diff --git a/__mocks__/child_process.js b/__mocks__/child_process.js
index 9f52b7e464..2c8381f17b 100644
--- a/__mocks__/child_process.js
+++ b/__mocks__/child_process.js
@@ -1,6 +1,6 @@
'use strict';
-const child_process = jest.genMockFromModule('child_process');
+const child_process = jest.createMockFromModule('child_process');
let err = null;
let mockOutput = {};
diff --git a/__mocks__/geo-three.js b/__mocks__/geo-three.js
new file mode 100644
index 0000000000..c166ba6c1d
--- /dev/null
+++ b/__mocks__/geo-three.js
@@ -0,0 +1,40 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+const TextureUtils = { createFillTexture: () => {} };
+const MapHeightNodeShader = { createMapHeightNodeShader: () => {} };
+
+const BingMapsProvider = { createBingMapsProvider: () => {} };
+const OpenStreetMapsProvider = { createOpenStreetMapsProvider: () => {} };
+const GoogleMapsProvider = { createGoogleMapsProvider: () => {} };
+const MapBoxProvider = { createMapBoxProvider: () => {} };
+const MapTilerProvider = { createMapTilerProvider: () => {} };
+const OpenMapTilesProvider = { createOpenMapTilesProvider: () => {} };
+const HereMapsProvider = { createHereMapsProvider: () => {} };
+
+module.exports = {
+ TextureUtils,
+ MapHeightNodeShader,
+ BingMapsProvider,
+ OpenStreetMapsProvider,
+ GoogleMapsProvider,
+ MapBoxProvider,
+ MapTilerProvider,
+ OpenMapTilesProvider,
+ HereMapsProvider,
+};
diff --git a/__mocks__/os.js b/__mocks__/os.js
index d5fcc85d29..5064feba2c 100644
--- a/__mocks__/os.js
+++ b/__mocks__/os.js
@@ -1,6 +1,6 @@
'use strict';
-const os = jest.genMockFromModule('os');
+const os = jest.createMockFromModule('os');
let hostname = 'hostname';
diff --git a/docker/conf/redis.conf b/docker/conf/redis.conf
new file mode 100644
index 0000000000..89dfa14695
--- /dev/null
+++ b/docker/conf/redis.conf
@@ -0,0 +1,2 @@
+bind 0.0.0.0 ::
+protected-mode no
\ No newline at end of file
diff --git a/docker/docker-compose.dev-otel.yml b/docker/docker-compose.dev-otel.yml
index 350fe74a12..d28222d3fe 100644
--- a/docker/docker-compose.dev-otel.yml
+++ b/docker/docker-compose.dev-otel.yml
@@ -34,6 +34,16 @@ services:
- '7882:7882/udp'
volumes:
- ./conf/livekit.yaml:/etc/livekit.yaml
+ typesense:
+ image: typesense/typesense:29.0
+ restart: always
+ ports:
+ - '8108:8108'
+ networks:
+ - enable_ipv6
+ volumes:
+ - typesense-data:/data
+ command: '--data-dir /data --api-key=xyz --enable-cors'
# And put them in an OTEL collector pipeline...
otel-collector:
diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml
index 25de3b8c3e..e7c29aebcd 100644
--- a/docker/docker-compose.dev.yml
+++ b/docker/docker-compose.dev.yml
@@ -3,6 +3,8 @@ version: '3.7'
volumes:
mongodata:
minio-data:
+ typesense-data:
+ tigerbeetle-data:
networks:
# ensure additional services are added to this network if they are expected to communicate with each other
@@ -37,7 +39,9 @@ services:
- '6379:6379'
networks:
- enable_ipv6
- command: ['redis-server', '--bind', '0.0.0.0', '::']
+ volumes:
+ - ./conf/redis.conf:/etc/redis.conf
+ command: ['redis-server', '/etc/redis.conf']
livekit:
image: livekit/livekit-server:v1.8.0
restart: always
@@ -52,3 +56,36 @@ services:
volumes:
- ./conf/livekit.yaml:/etc/livekit.yaml
command: --config /etc/livekit.yaml
+ typesense:
+ image: typesense/typesense:29.0
+ restart: always
+ ports:
+ - '8108:8108'
+ networks:
+ - enable_ipv6
+ volumes:
+ - typesense-data:/data
+ command: '--data-dir /data --api-key=xyz --enable-cors'
+
+ tigerbeetle_format:
+ image: 'ghcr.io/tigerbeetle/tigerbeetle:0.16.61'
+ restart: 'no'
+ volumes:
+ - tigerbeetle-data:/data
+ command: format --replica-count=1 --replica=0 /data/0_0.tigerbeetle || true
+ security_opt:
+ - seccomp=unconfined
+ tigerbeetle:
+ image: 'ghcr.io/tigerbeetle/tigerbeetle:0.16.61'
+ restart: always
+ ports:
+ - '8101:3000'
+ networks:
+ - enable_ipv6
+ volumes:
+ - tigerbeetle-data:/data
+ depends_on:
+ - tigerbeetle_format
+ command: start --cache-grid=256MiB --addresses=0.0.0.0:3000 --development /data/0_0.tigerbeetle
+ security_opt:
+ - seccomp=unconfined
diff --git a/docs/docs/components.jsx b/docs/docs/components.jsx
index 3596fa4399..88d0baa4a5 100644
--- a/docs/docs/components.jsx
+++ b/docs/docs/components.jsx
@@ -171,6 +171,13 @@ export const tagMap = {
formDepthWrite: 'tags/visualization',
formBuildStep: 'tags/visualization',
formLDrawPartsAddress: 'tags/visualization',
+ formMapLOD: 'tags/visualization',
+ formMapProvider: 'tags/visualization',
+ formMapTilerAPIKey: 'tags/visualization',
+ formMapHeightProvider: 'tags/visualization',
+ formMapHeightProviderAPIKey: 'tags/visualization',
+ formMapHeightOffset: 'tags/visualization',
+ formInputMultiline: 'tags/visualization',
gltfVersion: 'tags/visualization',
progressBar: 'tags/visualization',
progressBarColor: 'tags/visualization',
@@ -337,6 +344,8 @@ export const tagMap = {
hasActiveSubscription: 'tags/auth-bot',
subscriptionTier: 'tags/auth-bot',
privacyFeatures: 'tags/auth-bot',
+ mapPortalKind: 'tags/portal-bot',
+ mapPortalGridKind: 'tags/portal-bot',
};
function relativeLink(path) {
@@ -438,6 +447,7 @@ export const ReadOnlyBadge = ({}) => (Read-Only );
export const VideoBadge = ({url}) => (Video );
export const ConfigBotBadge = ({url}) => (Config Bot );
+export const UrlSyncBadge = ({url}) => (Synced to URL );
export const HistoryBotBadge = ({url}) => (History Bot );
diff --git a/docs/docs/learn/getting-started.mdx b/docs/docs/learn/getting-started.mdx
index 0f36a77883..8a2e4411e5 100644
--- a/docs/docs/learn/getting-started.mdx
+++ b/docs/docs/learn/getting-started.mdx
@@ -101,7 +101,7 @@ but the bot on the right has the value "here" in it so it's only visible in `she
## abCore
-abCore is a tool we have been developing to help with the understanding of and general use of CasualOS.
+abCore is a tool we have been developing to help with the understanding of and general use of CasualOS.

@@ -118,4 +118,4 @@ This is helpful for getting information from things within the `gridPortal`.
If you click right on abCore you get this menu.
Here you can click to open the `sheetPortal` of the currently open `gridPortal` or download or upload the current version of the software you are creating.
-
\ No newline at end of file
+
diff --git a/docs/docs/tags/config-bot.mdx b/docs/docs/tags/config-bot.mdx
index c9fe2887b4..50e0bdc0fd 100644
--- a/docs/docs/tags/config-bot.mdx
+++ b/docs/docs/tags/config-bot.mdx
@@ -38,16 +38,19 @@ import {
ImuPortalBadge,
MapPortalBadge,
tagMap,
+ UrlSyncBadge,
} from '../components.jsx';
import { GlossaryRef } from '../glossary/index';
## Config bot Tags
-All tags on the config bot will be synced with the URL query parameters.
-This means that setting the `#abc` tag on the config bot to `hello` will update the URL to include `abc=hello`.
+Tags on the config bot can be synced with the URL query parameters. Any tag which is already a query parameter will be synced with the configBot tags, while some tags that are added to the configBot will be added to the URL query parameters.
+This means that setting the `#gridPortal` tag on the config bot to `hello` will update the URL to include `gridPortal=hello`.
It also means that putting `miniGridPortal=myDimension` into the query string will set the tag to `myDimension`.
+In this document, tags which can be added to the URL query parameters will have the badge next to them.
+
### `bios`
@@ -98,6 +101,7 @@ The BIOS option that was used to initialize CasualOS.
+
The instance that is loaded into CasualOS.
@@ -106,6 +110,7 @@ The instance that is loaded into CasualOS.
+
The static instance that is loaded into CasualOS. Not present if the inst is not a static inst.
@@ -158,6 +163,7 @@ The place that the inst should be loaded from.
+
The theme that CasualOS should use.
@@ -201,6 +207,7 @@ Only available on the config bot.
+
The dimension that is loaded into the 'grid' portal in CasualOS.
@@ -211,6 +218,7 @@ Only available on the config bot.
+
The dimension that is loaded into the "mini" portal in CasualOS.
@@ -220,6 +228,7 @@ Only available on the config bot.
+
The dimension that is loaded into the "sheet" portal in CasualOS.
@@ -229,6 +238,7 @@ Only available on the config bot.
+
The search value that is loaded into the "system" portal in CasualOS.
@@ -239,6 +249,7 @@ Only available on the config bot.
+
The name of the tag that should be used when showing bots in the systemPortal .
@@ -298,6 +309,7 @@ Only available on the config bot.
+
The value that should be used to search across all the tags in all the bots in the inst.
@@ -306,6 +318,11 @@ Only available on the config bot.
### `systemPortalDiff`
+
+
+
+
+
The name of the tag should be used as a second system portal to compare with the tag specified by the (`system` by default).
If both the and tags are specified, then the system portal will be shown comparing
@@ -316,16 +333,28 @@ The result of this comparision will be shown in the system portal, indicating wh
### `systemPortalDiffBot`
+
+
+
+
The ID of the bot that is currently selected in the system portal diff.
Only available on the config bot.
### `systemPortalDiffTag`
+
+
+
+
The name of the tag that is currently selected in the system portal diff.
Only available on the config bot.
### `systemPortalDiffTagSpace`
+
+
+
+
The space of the tag that is selected in the system portal diff.
If null, then the tag space is the same as the space.
Only available on the config bot.
@@ -334,6 +363,7 @@ Only available on the config bot.
+
The pane that the user is currently viewing in the system portal.
@@ -361,6 +391,7 @@ The pane that the user is currently viewing in the system portal.
+
The prefix that indicates which tags should be loaded into the "IDE" portal in CasualOS.
@@ -370,6 +401,7 @@ Only available on the config bot.
+
The dimension that is loaded into the "map" portal in CasualOS.
@@ -382,6 +414,7 @@ Only available on the config bot.
+
The dimension that is loaded into the "mini map" portal in CasualOS.
@@ -421,6 +454,7 @@ Only available on the config bot.
+
The [Jitsi Meet](https://meet.jit.si/) room code of the meeting that should be joined.
@@ -434,6 +468,7 @@ Only available on the config bot.
+
The ID of the bot whose data should be shown in the bot portal.
@@ -454,6 +489,7 @@ botPortalBot.tags.botPortalAnchorPoint = 'top';
+
The Bot ID and tag that should be edited in the tag portal.
@@ -475,6 +511,7 @@ configBot.tags.tagPortal = getID(configBot) + "." + tag;
+
The space of the tag mask that should be edited in the tag portal.
@@ -522,38 +559,6 @@ Note that not all devices support the IMU portal. In particular, laptops and des
Only available on the config bot.
-### `dataPortal`
-
-The data portal is a special portal that can be used in a web request to get bot data directly from the inst.
-Similar to webhooks, you specify the inst and data portal in the query string of the URL.
-
-If given a bot ID, then the bot will be returned as JSON.
-
-If no bot matches the given value, then it will be treated as a tag and all the values for the given tag will be returned.
-
-If the tag ends with a common extension (like `.html` or `.txt` or `.json`), then the returned data will be [tagged](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) with the corresponding [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types).
-This will let web browsers and other common software know what type of data they are dealing with and handle it correctly. (i.e. display a webpage)
-Alternatively, you can specify the `dataPortalContentType` query parameter to override the default content type.
-
-If there is only one tag and it ends with an extension like specified above then the content directly from the tag will be returned.
-
-#### Examples:
-
-1. Request the JSON of the Bot with the given ID:
-```
-https://auxplayer.org?inst=my-aux&dataPortal=bf68e5cc-993b-42fd-a142-a23de6d2cdcb
-```
-
-2. Request all the tags values.
-```
-https://auxplayer.org?inst=my-aux&dataPortal=label
-```
-
-3. Request a web page from the `test.html` tag.
-```
-https://auxplayer.org?inst=my-aux&dataPortal=test.html
-```
-
### `mousePointerPosition`
The 3D position of the player's mouse pointer.
diff --git a/docs/docs/tags/listen.mdx b/docs/docs/tags/listen.mdx
index 11f14d7a4f..4a09db5a62 100644
--- a/docs/docs/tags/listen.mdx
+++ b/docs/docs/tags/listen.mdx
@@ -126,6 +126,27 @@ let that: {
* For "mouse" modalities, which button was used to click the bot.
*/
buttonId: 'left' | 'middle' | 'right';
+
+ /**
+ * The bot that is currently displayed in the code editor.
+ *
+ * Only available if the clicked bot is a code tool.
+ */
+ codeBot?: Bot;
+
+ /**
+ * The tag that is currently displayed in the code editor.
+ *
+ * Only available if the clicked bot is a code tool.
+ */
+ codeTag?: string;
+
+ /**
+ * The space of the tag that the code editor is currently displaying.
+ *
+ * Only available if the clicked bot is a code tool.
+ */
+ codeTagSpace?: string;
};
```
@@ -598,11 +619,13 @@ There is no `that` argument for this listen tag.
A whisper that is sent when a tag on the bot is updated.
This listen tag is triggered whenever the bot has been updated in the current device's inst, even if the bot was not updated locally.
-An example of this happening is when another player changes a tag in the sheet portal. Even though the change was made on their device, it will show up on the current device.
+An example of this happening is when another player changes a tag in the sheet portal. Even though the change was not made on their device, it will show up on the current device.
Note that this listen tag is triggered after executing scripts have finished running. This means that if a script updates the same tag multiple times, `@onBotChanged` will still only be triggered once.
This is in contrast to which is triggered immediately after the bot has been created.
+Additionally, if the bot was created and then immediately updated, `@onBotChanged` will not be triggered. Instead, use .
+
Also note that this listen tag can be triggered before . This means that it is possible for bots in other spaces to not be available when this listener is triggered.
#### Arguments:
@@ -781,6 +804,27 @@ let that: {
* For "mouse" modalities, which button was used to click the bot.
*/
buttonId: 'left' | 'middle' | 'right';
+
+ /**
+ * The bot that is currently displayed in the code editor.
+ *
+ * Only available if the clicked bot is a code tool.
+ */
+ codeBot?: Bot;
+
+ /**
+ * The tag that is currently displayed in the code editor.
+ *
+ * Only available if the clicked bot is a code tool.
+ */
+ codeTag?: string;
+
+ /**
+ * The space of the tag that the code editor is currently displaying.
+ *
+ * Only available if the clicked bot is a code tool.
+ */
+ codeTagSpace?: string;
};
```
@@ -1220,6 +1264,8 @@ let that: string;
A shout that is sent to all bots whenever the user starts pressing a key.
+When a user is typing into a `input` form menu bot, this shout is converted into a whisper that is only sent to the menu bot.
+
#### Arguments:
```typescript
let that: {
@@ -1234,6 +1280,8 @@ let that: {
A shout that is sent to all bots whenever the user stops pressing a key.
+When a user is typing into a `input` form menu bot, this shout is converted into a whisper that is only sent to the menu bot.
+
#### Arguments:
```typescript
let that: {
@@ -1377,6 +1425,102 @@ let that: {
};
```
+### `@onPackageInstalled`
+
+A shout that is sent whenever a package has successfully been installed by this device.
+
+#### Arguments:
+```typescript
+let that: {
+ /**
+ * The ID of the metadata record that records that the package was installed into this inst.
+ * Null when installing packages into static insts.
+ */
+ packageLoadId: string | null,
+
+ /**
+ * The information about the package that was installed.
+ */
+ package: {
+ /**
+ * The unique ID of the package version.
+ */
+ id: string;
+
+ /**
+ * The unique ID of the package container.
+ */
+ packageId: string;
+
+ /**
+ * The name of the aux file that is stored for this version.
+ */
+ auxFileName: string;
+
+ /**
+ * Whether the aux file was created for this version.
+ */
+ createdFile: boolean;
+
+ /**
+ * The SHA-256 hash of the package version.
+ */
+ sha256: string;
+
+ /**
+ * The SHA-256 hash of the aux.
+ */
+ auxSha256: string;
+
+ /**
+ * The list of entitlements that the package requires.
+ */
+ entitlements: Entitlement[];
+
+ /**
+ * Whether the package version requires review.
+ * Packages that do not require review are automatically approved and cannot have entitlements that require review.
+ */
+ requiresReview: boolean;
+
+ /**
+ * The description of the package.
+ */
+ description: string;
+
+ /**
+ * The size of the package version in bytes.
+ */
+ sizeInBytes: number;
+
+ /**
+ * The unix time in miliseconds that this package version was created at.
+ */
+ createdAtMs: number;
+
+ /**
+ * The markers for the package version.
+ */
+ markers: string[];
+
+ /**
+ * Whether the package version has been approved.
+ * If true, then the package either has been manually approved or does not require approval.
+ */
+ approved: boolean;
+
+ /**
+ * The type of approval that was given to the package.
+ *
+ * - null means that the package has not been approved.
+ * - "normal" means that the package was approved by the reviewer, but that individual permissions still need to be approved by the user.
+ * - "super" means that the package was approved by the reviewer and that individual permissions will not need to be approved by the user.
+ */
+ approvalType: null | 'normal' | 'super';
+ }
+};
+```
+
### `@onAnyBotDrag`
A shout that is sent whenever a bot starts to be dragged.
@@ -1975,6 +2119,8 @@ An example of this happening is when another player changes a tag in the sheet p
Note that this listen tag is triggered after executing scripts have finished running. This means that if a script updates the same tag multiple times, `@onAnyBotsChanged` will still only be triggered once.
This is in contrast to which is triggered immediately after the bot has been created.
+Additionally, a bot was created and then immediately updated, `@onAnyBotsChanged` will not be triggered for that bot. Instead, use .
+
Also note that this listen tag can be triggered before . This means that it is possible for bots in other spaces to not be available when this listener is triggered.
#### Arguments:
@@ -2111,6 +2257,11 @@ let that: {
*/
roomName: string;
+ /**
+ * The address of the track that was discovered.
+ */
+ address: string;
+
/**
* Whether the track is streaming from a remote user.
*/
@@ -2173,6 +2324,11 @@ let that: {
*/
roomName: string;
+ /**
+ * The address of the track that was discovered.
+ */
+ address: string;
+
/**
* Whether the track is streaming from a remote user.
*/
diff --git a/docs/docs/tags/portal-bot.mdx b/docs/docs/tags/portal-bot.mdx
index 04c567602f..af6871fdfa 100644
--- a/docs/docs/tags/portal-bot.mdx
+++ b/docs/docs/tags/portal-bot.mdx
@@ -550,6 +550,72 @@ Sets the style of the bottom layer of the map in the mapPortal/miniMapPortal.
See this for a full list.
+
+ The URL should follow one of the following templates:
+
+ {"https://some.domain.com/{level}/{col}/{row}.png"}
+ {"https://some.domain.com/{z}/{x}/{y}.png"}
+
+ Where anything in curly braces ({"{}"} ) represents a template parameter that the mapPortal/miniMapPortal will fill with the corresponding coordinate information for the requested tile.
+
+ An example is the CAWM Map Tiles : {"https://cawm.lib.uiowa.edu/tiles/{z}/{x}/{y}.png"} .
+
+
+
+### `mapPortalKind`
+
+
+
+
+
+How the map portal should be displayed.
+
+#### Possible values are:
+
+
+ The map of Earth is displayed as a globe. (Default)
+
+
+ The map of Earth is projected onto a flat plane using the Mercator projection.
+
+
+
+### `mapPortalGridKind`
+
+
+
+
+
+How the grid should be positioned and scaled in the map portal.
+
+This tag can be used to make the map portal have a grid that is aligned with the globular projection of the Earth, or a grid that is aligned with the Mercator projection of the Earth.
+Note that this tag only has an effect on the placement of bots in the grid using the action.
+
+When set to `globe`, the grid will be perfectly aligned with the globe such that two bots can be placed directly next to each other anywhere on Earth by using the grid snap.
+Because the Earth is a globe, and it is impossible for a uniform grid to perfectly align with the surface of a globe, each row of the grid will be slightly offset from the previous row.
+
+This leads to the following behaviors:
+- When is set to `globe`, bots which are placed next to each other in the same row will be perfectly aligned with each other, but bots in different rows might be offset a bit.
+- When is set to `plane`, bots which are placed next to each other will have space between them due to the Mercator projection.
+
+When set to `plane`, the grid will be uniform and aligned with the Mercator projection of the Earth.
+Because the Earth is a globe, flat projections like the Mercator projection will cause the grid spaces to be wider further away from the equator and narrower closer to the equator.
+
+This leads to the following behaviors:
+- When is set to `globe`, bots which are placed next to each other in the same row might overlap due to the Mercator projection, but bots in different rows will be perfectly aligned with each other.
+- When is set to `plane`, bots which are placed next to each other will be perfectly aligned with each other.
+
+#### Possible values are:
+
+
+ The grid is aligned to match the of the portal.
+
+
+ The grid is aligned with the globular projection of the Earth.
+
+
+ The grid is aligned with the Mercator projection of the Earth.
+
### `wristPortalHeight`
diff --git a/docs/docs/tags/visualization.mdx b/docs/docs/tags/visualization.mdx
index 4f7b21b5ae..b2e6b716c5 100644
--- a/docs/docs/tags/visualization.mdx
+++ b/docs/docs/tags/visualization.mdx
@@ -542,11 +542,16 @@ The shape that the bot should be displayed as.
The bot will appear as an input box in the menu portal.
You also need to place the bot in the dimension that the menu portal is showing for the input to appear.
You can change the type of input using the tag.
+ You can also change wether the input allows multiple lines of text using the tag.
The bot will appear as a light.
You can change the type of light using the tag.
+
+ The bot will appear as a map.
+ You can control the coordinates that the map visualizes by using the tag.
+
### `formSubtype`
@@ -597,6 +602,32 @@ The subtype that the form should use. Useful for specifying how a mesh should be
+### `formInputMultiline
+
+Wether the input should allow multiple lines of text.
+
+Not supported when is set to `password`.
+
+#### Possible values are:
+
+
+
+ The input allows multiple lines.
+ On Desktop, new lines can be added by using Shift +Enter .
+ On Mobile, new lines can be added by using the "return" key on the keyboard.
+ Pressing Enter by itself will submit the input. (default)
+
+
+ The input will only allow a single line of text.
+ Pressing Enter will submit the input.
+
+
+ The input will allow multiple lines of text.
+ Pressing Enter will create a new line of text.
+ You can press (Ctrl /Cmd )+Enter to submit the input.
+
+
+
### `formLightIntensity`
The intensity of the light.
@@ -712,6 +743,10 @@ When is set to `iframe` and i
When is set to `iframe` and is set to `src`, the address should be the URL of the webpage that should be displayed.
+When is set to `map` use `Vector Tags` `ā”ļø1,2`, `ā”ļø-1,-2`, `ā”ļø1.23,4.56` to control longitude and latitude to set the center of the `map`.
+
+When is set to `map` and is set to `custom` the address should be the URL of the map tile that should be displayed. `https://example.com/tiles/{z}/{x}/{y}.png`
+
When the bot is in the menu portal, this is the URL of the image or video that should be shown on the menu item.
It can also be `cube` to show an icon of a cube, `egg` to show an egg icon, and `helix` to show an icon of a DNA helix.
If the given value is not a URL or one of the predefined icons, then the specified [Material Icon](https://material.io/resources/icons/?style=baseline) will be shown.
@@ -779,6 +814,108 @@ For GLTF forms, this should be the URL of the GLTF file that contains the animat
+### `formMapLOD`
+
+The Level of Detail (LOD) that should be displayed in the map.
+Higher values mean that the map will appear closer to the ground and will be more detailed but display less area.
+Lower values mean that the map will appear further away from the ground and will be less detailed but display more area.
+
+Only works for bots that have a of `map`.
+
+
+
+ (default)
+
+
+ The LOD to display the map at.
+
+
+
+### `formMapProvider`
+
+Specifies the tile provider used to render the map in a map form.
+This determines the source of map tiles (visual and data layers) the bot will display.
+
+
+
+ (default) Bing Maps. No API key required.
+
+
+ OpenStreetMap. No API key required.
+
+
+ Mapbox. Requires an API key.
+
+
+ Google Maps. Requires an API key
+
+
+ MapTiler. Requires an API key.
+
+
+ OpenMapTiles. Requires an API key.
+
+
+ HERE Maps. No API key required by default, but advanced features may require one.
+
+
+ Custom tile provider. Configuration and key requirements depend on setup.
+
+
+
+### `formMapProviderAPIKey`
+
+The API key that the current bot uses.
+
+When is set to `map` and the requires an API key. The API key should be a string from the provider.
+
+### `formMapHeightProvider`
+
+The provider that should be used to get map elevation data.
+
+Only works for bots that have a of `map`.
+
+
+
+ The map will not display elevation data. (default)
+
+
+ The map will use the MapTiler API to get elevation data.
+ Requires a to be set.
+
+
+
+### `formMapHeightProviderAPIKey`
+
+The API key that should be used to access the MapTiler API .
+
+Only works for bots that have a of `map` and a of `maptiler`.
+
+
+
+ The map will not display elevation data. (default)
+
+
+ The map will use the API Key to access the MapTiler API.
+
+
+
+### `formMapHeightOffset`
+
+The height offset that should be used for the map.
+
+When displaying elevation data, the map will be displayed at the elevation of the ground, which may be significantly above the bot's height.
+To correct this, you may need to set a height offset so that the map appears to be displayed where you want it to be.
+
+
+
+ The map's height visualization will not be offset. (default)
+
+
+ The given offset will be added to the map's height visualization.
+
+
+
### `meshPositioningMode`
The positioning mode that should be used for GLTF meshes.
diff --git a/docs/docs/util/doc.jsx b/docs/docs/util/doc.jsx
index e3504f4c05..ff042218d0 100644
--- a/docs/docs/util/doc.jsx
+++ b/docs/docs/util/doc.jsx
@@ -2,7 +2,7 @@ import React from 'react';
import Heading from '@theme/Heading';
import CodeBlock from '@theme/CodeBlock';
import Details from '@theme/Details';
-import { flatMap, groupBy, sortBy } from 'lodash';
+import { groupBy, sortBy } from 'es-toolkit/compat';
import { ReflectionBoundary } from './errors';
import useBaseUrl from '@docusaurus/useBaseUrl';
import Link from '@docusaurus/Link';
@@ -777,6 +777,10 @@ function TypeLink({ type, references, isInUnionOrArray }) {
return <>Map <, >>
} else if(type.name === 'Set' && type.target?.qualifiedName === 'Set' && type.typeArguments && type.typeArguments.length === 1) {
return <>Set <>>
+ } else if(type.name === 'Observable' && type.target?.qualifiedName === 'Observable' && type.typeArguments && type.typeArguments.length === 1) {
+ return <>Observable <>>
+ } else if (type.name === 'IterableIterator' && type.target?.qualifiedName === 'IterableIterator' && type.typeArguments && type.typeArguments.length >= 1) {
+ return <>IterableIterator <>>
}
let href = `#${type.name}`;
@@ -1154,7 +1158,7 @@ function flattenObjectChildren(reflection) {
const isHiddenNamespace = getReflectionTag(reflection, '@hiddennamespace') !== null;
const namespace = isHiddenNamespace ? null : reflection.name;
- return flatMap(children, c => {
+ return children.flatMap(c => {
if (isFunctionProperty(c)) {
return {
group: getChildGroup(c),
diff --git a/docs/docs/variables.mdx b/docs/docs/variables.mdx
index dc66827243..da9280a793 100644
--- a/docs/docs/variables.mdx
+++ b/docs/docs/variables.mdx
@@ -247,6 +247,8 @@ The bot that should be used to configure the map p
Supports the following tags:
-
+-
+-
### `miniMapPortalBot`
@@ -255,6 +257,8 @@ The bot that should be used to configure the m
Supports the following tags:
-
+-
+-
-
-
-
diff --git a/docs/package.json b/docs/package.json
index 80cc839140..d2e33d318a 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -32,7 +32,8 @@
"unist-util-visit": "4.1.2",
"vue": "3.3.4",
"webpack-virtual-modules": "0.5.0",
- "@mdx-js/react": "^3.0.0"
+ "@mdx-js/react": "3.0.0",
+ "@mdx-js/mdx": "3.0.0"
},
"devDependencies": {
"cross-env": "7.0.3"
diff --git a/docs/sidebars.js b/docs/sidebars.js
index a79b3f3fe7..4105fb6a03 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -59,17 +59,27 @@ export default {
'actions/os/barcodes',
'actions/os/camera',
'actions/os/clipboard',
+ 'actions/os/documents',
'actions/os/event',
'actions/os/files',
'actions/os/geolocation',
'actions/os/image-classification',
'actions/os/input',
'actions/os/ldraw',
+ 'actions/os/maps',
'actions/os/media',
'actions/os/moderation',
'actions/os/portals',
+ 'actions/os/spaces',
'actions/os/system',
- 'actions/os/records',
+ {
+ type: 'category',
+ label: 'Records',
+ link: { type: 'doc', id: 'actions/os/records' },
+ items: [
+ 'actions/os/records/search'
+ ]
+ },
'actions/os/remotes',
'actions/os/rooms',
'actions/os/time',
@@ -94,6 +104,7 @@ export default {
'types/debuggers/pausable-debugger',
]
},
+ 'types/documents',
'types/error',
'types/experimental',
{
@@ -118,9 +129,11 @@ export default {
'types/os/geolocation',
'types/os/image-classification',
'types/os/input',
+ 'types/os/maps',
'types/os/media',
'types/os/moderation',
'types/os/portals',
+ 'types/os/spaces',
'types/os/system',
'types/os/xr',
]
@@ -136,6 +149,7 @@ export default {
'types/records/files',
'types/records/events',
'types/records/roles',
+ 'types/records/search',
'types/records/policies',
'types/records/extra'
]
diff --git a/docs/typedoc-plugin/loader.ts b/docs/typedoc-plugin/loader.ts
index 8b1962a9bc..5bdb0e8d46 100644
--- a/docs/typedoc-plugin/loader.ts
+++ b/docs/typedoc-plugin/loader.ts
@@ -2,12 +2,12 @@
// module.exports = function pluginTypedoc(context: any, options: any) {
-import { sortBy } from 'lodash';
-import { ReferenceType, Reflection, ReflectionKind, Type, TypeKind, Comment, SerializerComponent, Serializer, Application, ProjectReflection, SignatureReflection, DeclarationReflection, ReflectionType, IntrinsicType, ContainerReflection, CommentDisplayPart, ReflectionSymbolId, CommentTag } from 'typedoc';
+import { sortBy } from 'es-toolkit/compat';
+import type { SerializerComponent, Serializer, Application, ProjectReflection, SignatureReflection, ReflectionType, IntrinsicType, CommentDisplayPart, CommentTag } from 'typedoc';
+import { ReferenceType, Reflection, ReflectionKind, Type, Comment, DeclarationReflection } from 'typedoc';
import { getProject } from './api';
-import { ModelToObject } from 'typedoc/dist/lib/serialization/schema';
-import { CallSignatureDeclaration, Declaration } from 'typescript';
-import { Project, StructureKind } from 'ts-morph';
+import type { ModelToObject } from 'typedoc/dist/lib/serialization/schema';
+import { Project } from 'ts-morph';
import path from 'path';
export type CommentType = {
@@ -424,6 +424,7 @@ export async function loadContent() {
const { app, project } = await getProject();
if (!project) {
console.warn('[docusarus-plugin-typedoc] Unable to load TypeDoc project!');
+ throw new Error('Unable to load TypeDoc project!');
}
let commentPartSerializer = new CommentDisplayPartSerializer(app, project);
@@ -696,9 +697,9 @@ function walk(obj: WalkType, callback: (value: WalkType, parent: WalkType, key:
}
function walkSingle(obj: WalkType, callback: (value: WalkType, parent: WalkType, key: string) => void, parent: WalkType = null) {
- // if (!obj) {
- // return;
- // }
+ if (!obj) {
+ return;
+ }
let type = 'kind' in obj ? ReflectionKind.singularString(obj.kind) : 'type' in obj ? obj.type : 'comment';
let keys = (keysMap as any)[type] || [];
for(let key of keys) {
diff --git a/docs/typedoc-plugin/static/entry.ts b/docs/typedoc-plugin/static/entry.ts
index 83d9081765..1d297d0c85 100644
--- a/docs/typedoc-plugin/static/entry.ts
+++ b/docs/typedoc-plugin/static/entry.ts
@@ -12,4 +12,5 @@ export * from '../../../src/aux-runtime/runtime/CasualOSError';
export * from '../../../src/aux-records/AIOpenAIRealtimeInterface';
export * from '../../../src/aux-records';
export * from '../../../src/aux-common/common/RemoteActions';
-export * from '../../../src/crypto/Encryption';
\ No newline at end of file
+export * from '../../../src/crypto/Encryption';
+export * from '../../../src/aux-common/documents/SharedDocument';
\ No newline at end of file
diff --git a/docs/versioned_docs/version-3.1.36/utils/doc.jsx b/docs/versioned_docs/version-3.1.36/utils/doc.jsx
index 1dd29b23e8..6e33ab970d 100644
--- a/docs/versioned_docs/version-3.1.36/utils/doc.jsx
+++ b/docs/versioned_docs/version-3.1.36/utils/doc.jsx
@@ -2,7 +2,7 @@ import React from 'react';
import Heading from '@theme/Heading';
import CodeBlock from '@theme/CodeBlock';
import Details from '@theme/Details';
-import { flatMap, groupBy, sortBy } from 'lodash';
+import { flatMap, groupBy, sortBy } from 'es-toolkit/compat';
import { ReflectionBoundary } from './errors';
import useBaseUrl from '@docusaurus/useBaseUrl';
import Link from '@docusaurus/Link';
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 192333b1b2..ed5bc15bd7 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -3,6 +3,9 @@ import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';
import pluginVue from 'eslint-plugin-vue';
import header from 'eslint-plugin-header';
+import pluginUnusedImports from 'eslint-plugin-unused-imports';
+import noNonTypeImports from './rules/no-non-type-imports.mjs';
+
import { defineConfig, globalIgnores } from 'eslint/config';
export default defineConfig([
@@ -10,11 +13,13 @@ export default defineConfig([
'**/node_modules/**',
'**/dist/**',
'**/prisma/generated/**',
+ '**/prisma/generated-sqlite/**',
'**/typings/**',
'src/expect/**',
'src/stacktrace/**',
'src/multi-streams-mixer/**',
'src/chalk/**',
+ 'src/aux-server/aux-web/shared/static/lib/**',
]),
{ files: ['**/*.{js,mjs,cjs,ts,vue}'] },
{
@@ -28,6 +33,12 @@ export default defineConfig([
},
pluginJs.configs.recommended,
...tseslint.configs.recommended,
+ {
+ plugins: {
+ casualos: noNonTypeImports,
+ 'unused-imports': pluginUnusedImports,
+ },
+ },
{
rules: {
'@typescript-eslint/consistent-type-imports': [
@@ -37,6 +48,26 @@ export default defineConfig([
prefer: 'type-imports',
},
],
+ 'unused-imports/no-unused-imports': 'error',
+ },
+ },
+ {
+ files: ['src/**/*.{js,ts,vue}'],
+ ignores: [
+ 'src/aux-records-aws/**/*.{js,ts,vue}',
+ 'src/aux-records/**/*.{js,ts,vue}',
+ 'src/aux-server/aux-backend/**/*.{js,ts,vue}',
+ '**/*.spec.{js,ts,vue}',
+ ],
+ rules: {
+ 'casualos/no-non-type-imports': [
+ 'error',
+ {
+ patterns: {
+ '@casual-simulation/aux-records': {},
+ },
+ },
+ ],
},
},
...pluginVue.configs['flat/essential'],
diff --git a/jakefile.js b/jakefile.js
index 522acda179..9a0c9af6a9 100644
--- a/jakefile.js
+++ b/jakefile.js
@@ -78,7 +78,7 @@ task('generate-stub-projects', [], async function () {
const { existsSync, writeFileSync, mkdirSync } = await import('fs');
const projects = [
- path.resolve(__dirname, 'xpexchange', 'xp-api', 'tsconfig.json'),
+ path.resolve(__dirname, 'xpexchange', 'tsconfig.json'),
path.resolve(
__dirname,
'extensions',
diff --git a/jest.config.js b/jest.config.js
index 85fa05d15e..a9a98cdb97 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -27,7 +27,7 @@ module.exports = {
setupFiles: ['fake-indexeddb/auto'],
setupFilesAfterEnv: ['/jest/jest-setup.ts'],
transformIgnorePatterns: [
- '/node_modules/\\.pnpm/(?!livekit-server-sdk|@livekit\\+protocol|camelcase-keys|map-obj|camelcase|quick-lru).+\\.js$',
+ '/node_modules/\\.pnpm/(?!livekit-server-sdk|@livekit\\+protocol|camelcase-keys|map-obj|camelcase|quick-lru|@zip\\.js\\+zip\\.js).+\\.js$',
],
moduleNameMapper: {
'^aux-common/(.*)$': '/src/aux-common/$1',
@@ -46,6 +46,21 @@ module.exports = {
'ts-jest',
{
tsconfig: 'tsconfig.test.json',
+ diagnostics: {
+ ignoreCodes: [1343],
+ },
+ astTransformers: {
+ before: [
+ {
+ path: 'ts-jest-mock-import-meta',
+ options: {
+ metaObjectReplacement: {
+ url: 'https://example.com',
+ },
+ },
+ },
+ ],
+ },
},
],
'^.+\\.(js|jsx)$': 'babel-jest',
diff --git a/lerna.json b/lerna.json
index c0d5fbfc8b..4fdebcfac5 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,7 +1,8 @@
{
"packages": [
- "src/*"
+ "src/aux-server",
+ "src/casualos-cli"
],
- "version": "3.4.3",
+ "version": "3.8.0",
"npmClient": "pnpm"
}
\ No newline at end of file
diff --git a/package.json b/package.json
index a2a2685d70..391689bafa 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,7 @@
"watch:server": "lerna exec --no-prefix --scope @casual-simulation/aux-server -- npm run watch",
"watch:server:player": "lerna exec --no-prefix --scope @casual-simulation/aux-server -- npm run watch:player",
"watch:server:secure": "lerna exec --no-prefix --scope @casual-simulation/aux-server -- npm run watch:secure",
- "watch:libs": "tsc --build --watch",
+ "watch:libs": "tsc --build --watch --preserveWatchOutput",
"watch:docs": "cd docs && npm start",
"serverless": "lerna exec --no-prefix --scope @casual-simulation/aux-server -- npm run serverless",
"merge:secrets": "lerna exec --no-prefix --scope @casual-simulation/aux-server -- npm run merge:secrets",
@@ -27,7 +27,7 @@
"build:server": "lerna exec --scope @casual-simulation/aux-server -- npm run build",
"build:web": "lerna exec --scope @casual-simulation/aux-server -- npm run build:web",
"build:web:player:static": "lerna exec --scope @casual-simulation/aux-server -- npm run build:web:player:static",
- "build:proxy": "lerna exec --scope @casual-simulation/aux-proxy -- npm run build",
+ "build:proxy": "pnpm --filter @casual-simulation/aux-proxy build",
"build:redirector": "lerna exec --scope @casual-simulation/aux-redirector -- npm run build",
"build:docs": "npm run clean && cd docs && npm run build",
"build:profile": "npm run clean && npm run build:libs && lerna exec --scope @casual-simulation/aux-server -- npm run build:profile",
@@ -60,6 +60,7 @@
"nerdctl:dev": "nerdctl compose -f ./docker/docker-compose.dev.yml up -d",
"docker:dev": "docker compose -f ./docker/docker-compose.dev.yml up -d",
"lint": "npm run clean && eslint src",
+ "lint:fix": "npm run clean && eslint src --fix",
"lint:casualos": "npm run lint:common && npm run lint:components && npm run lint:common && npm run lint:records && npm run lint:records && npm run lint:runtime && npm run lint:server && npm run lint:vm && npm run lint:websocket && npm run lint:cli && npm run lint:infra && npm run lint:crypto",
"lint:others": "npm run lint:interpreter && npm run lint:github && npm run lint:redis && npm run lint:tunnel && npm run lint:undom && npm run lint:shortkey",
"lint:benchmarks": "eslint src/aux-benchmarks",
@@ -83,7 +84,9 @@
"lint:redis": "eslint src/rate-limit-redis",
"lint:tunnel": "eslint src/tunnel",
"lint:undom": "eslint src/undom",
- "lint:shortkey": "eslint src/vue-shortkey"
+ "lint:shortkey": "eslint src/vue-shortkey",
+ "prisma:migrate:dev": "pnpm --filter @casual-simulation/aux-server exec prisma migrate dev",
+ "prepare": "husky"
},
"devDependencies": {
"@babel/core": "^7.14.3",
@@ -92,7 +95,6 @@
"@eslint/js": "^9.22.0",
"@playwright/test": "^1.22.1",
"@types/arcgis-js-api": "4.24.0",
- "@types/base64-js": "^1.3.0",
"@types/bcryptjs": "^2.4.2",
"@types/benchmark": "^2.1.1",
"@types/bn.js": "^5.1.0",
@@ -113,7 +115,6 @@
"@types/inquirer": "^8.1.3",
"@types/jest": "^29.5.0",
"@types/jsonwebtoken": "^9.0.5",
- "@types/lodash": "^4.14.176",
"@types/lru-cache": "^5.1.1",
"@types/luxon": "3.3.7",
"@types/mime": "^2.0.3",
@@ -129,16 +130,19 @@
"@types/uuid": "10.0.0",
"@types/vue-color": "^2.4.3",
"@types/ws": "^8.5.12",
+ "@typescript-eslint/utils": "^8.26.1",
"browserslist": ">=4.16.5",
"chai": "^4.2.0",
"chalk": "4.1.2",
"chokidar": "3.5.2",
+ "commander": "12.0.0",
"concurrently": "8.2.2",
"del": "7.0.0",
"esbuild": "^0.19.8",
"esbuild-copy-static-files": "0.1.0",
"eslint": "^9.22.0",
"eslint-plugin-header": "3.1.1",
+ "eslint-plugin-unused-imports": "4.1.4",
"eslint-plugin-vue": "^10.0.0",
"fake-indexeddb": "5.0.1",
"faker": "5.1.0",
@@ -146,18 +150,17 @@
"handlebars": "^4.4.2",
"hash.js": "1.1.7",
"http-server": "14.1.1",
- "husky": "^7.0.4",
+ "husky": "^9.1.7",
"jake": "10.8.5",
- "jest": "^29.5.0",
- "jest-environment-jsdom": "^29.5.0",
- "jest-environment-node": "^29.5.0",
+ "jest": "30.2.0",
+ "jest-environment-jsdom": "^30.2.0",
+ "jest-environment-node": "^30.2.0",
"jest-html-reporter": "^3.7.1",
"jest-raw-loader": "1.0.1",
"js-yaml": "^3.13.1",
"jszip": "3.10.1",
"lerna": "8.0.0",
"lint-staged": "15.5.0",
- "lodash": "4.17.21",
"mock-fs": "5.2.0",
"nodemon": "^2.0.19",
"precise-commits": "^1.0.2",
@@ -173,16 +176,19 @@
"sass": "1.56.1",
"source-map": "0.7.3",
"tar": "4.4.18",
- "ts-jest": "29.0.5",
+ "ts-jest": "29.4.5",
+ "ts-jest-mock-import-meta": "1.3.0",
"typescript": "^5.0.2",
"typescript-eslint": "^8.26.1",
"unified": "11.0.4",
"vue-template-compiler": "^2.6.14",
- "wait-on": "7"
+ "wait-on": "7",
+ "es-toolkit": "1.39.10",
+ "@zip.js/zip.js": "2.6.40"
},
"engines": {
- "node": ">=18",
- "pnpm": ">=8"
+ "node": ">=v20.18",
+ "pnpm": ">=10.10"
},
"prisma": {
"schema": "./src/aux-server/aux-backend/schemas/auth.prisma"
@@ -200,11 +206,28 @@
"@mdx-js/mdx@3.0.0": "patches/@mdx-js/mdx@3.0.0.patch",
"fake-indexeddb@5.0.1": "patches/fake-indexeddb@5.0.1.patch",
"acorn-typescript@1.4.13": "patches/acorn-typescript@1.4.13.patch",
- "deno-vm@0.12.0": "patches/deno-vm@0.12.0.patch",
+ "deno-vm@0.13.0": "patches/deno-vm@0.13.0.patch",
"eslint-plugin-header@3.1.1": "patches/eslint-plugin-header@3.1.1.patch"
- }
+ },
+ "ignoredBuiltDependencies": [
+ "@pulumi/aws-native",
+ "@pulumi/docker",
+ "@pulumi/docker-build",
+ "aws-sdk",
+ "core-js",
+ "core-js-pure",
+ "esbuild",
+ "nx",
+ "protobufjs",
+ "vue-material"
+ ],
+ "onlyBuiltDependencies": [
+ "@prisma/client",
+ "@prisma/engines",
+ "prisma"
+ ]
},
- "packageManager": "pnpm@8.11.0",
+ "packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39",
"madge": {
"detectiveOptions": {
"ts": {
diff --git a/patches/deno-vm@0.12.0.patch b/patches/deno-vm@0.13.0.patch
similarity index 100%
rename from patches/deno-vm@0.12.0.patch
rename to patches/deno-vm@0.13.0.patch
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index fc2ac1e10c..4d014f7b74 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,4 +1,4 @@
-lockfileVersion: '6.0'
+lockfileVersion: '9.0'
settings:
autoInstallPeers: true
@@ -10,19 +10,19 @@ overrides:
patchedDependencies:
'@mdx-js/mdx@3.0.0':
- hash: lqdilpwhfhkxjukceppb4twwum
+ hash: 23fce79a8d279fa75dfece17d731fccaaa071ece72fe7b3d44db9e33c63d2b1a
path: patches/@mdx-js/mdx@3.0.0.patch
acorn-typescript@1.4.13:
- hash: 6c2dd2yvtei2d4lpomumi2s22q
+ hash: e33eda9c7cfd22b7e4812106f09b26f342e947fb663155be1f12c5323f7a10f3
path: patches/acorn-typescript@1.4.13.patch
- deno-vm@0.12.0:
- hash: 4b6o6pkokhnxhk5mw3ayiagdxm
- path: patches/deno-vm@0.12.0.patch
+ deno-vm@0.13.0:
+ hash: 2a6d5036373ec04b771962451fe9bd1f41cd0764a94698793f994de3703ec90d
+ path: patches/deno-vm@0.13.0.patch
eslint-plugin-header@3.1.1:
- hash: b3o5exenray2xkoqu5gm4rau54
+ hash: de105eeabb85127b2ef1c85bdeb93def6f686d3ae76651a405fb0a41028267ce
path: patches/eslint-plugin-header@3.1.1.patch
fake-indexeddb@5.0.1:
- hash: 32aodcxqlam32klerymhxuwzha
+ hash: d597b2b144531a822d7a504855823767cbd16a0644fa2a214fa0dce0d573ec34
path: patches/fake-indexeddb@5.0.1.patch
importers:
@@ -31,25 +31,22 @@ importers:
devDependencies:
'@babel/core':
specifier: ^7.14.3
- version: 7.23.5
+ version: 7.27.1
'@babel/plugin-syntax-dynamic-import':
specifier: ^7.8.3
- version: 7.8.3(@babel/core@7.23.5)
+ version: 7.8.3(@babel/core@7.27.1)
'@babel/preset-env':
specifier: ^7.14.4
- version: 7.23.5(@babel/core@7.23.5)
+ version: 7.27.2(@babel/core@7.27.1)
'@eslint/js':
specifier: ^9.22.0
- version: 9.22.0
+ version: 9.26.0
'@playwright/test':
specifier: ^1.22.1
- version: 1.40.1
+ version: 1.52.0
'@types/arcgis-js-api':
specifier: 4.24.0
version: 4.24.0
- '@types/base64-js':
- specifier: ^1.3.0
- version: 1.3.2
'@types/bcryptjs':
specifier: ^2.4.2
version: 2.4.6
@@ -58,7 +55,7 @@ importers:
version: 2.1.5
'@types/bn.js':
specifier: ^5.1.0
- version: 5.1.5
+ version: 5.1.6
'@types/body-parser':
specifier: 1.19.5
version: 1.19.5
@@ -67,10 +64,10 @@ importers:
version: 4.0.5
'@types/chai':
specifier: ^4.2.22
- version: 4.3.11
+ version: 4.3.20
'@types/cli-progress':
specifier: ^3.9.2
- version: 3.11.5
+ version: 3.11.6
'@types/compression':
specifier: ^1.7.2
version: 1.7.5
@@ -94,25 +91,22 @@ importers:
version: 5.1.3
'@types/hapi__joi':
specifier: ^17.1.7
- version: 17.1.14
+ version: 17.1.15
'@types/howler':
specifier: ^2.2.4
- version: 2.2.11
+ version: 2.2.12
'@types/http-proxy':
specifier: ^1.17.7
- version: 1.17.14
+ version: 1.17.16
'@types/inquirer':
specifier: ^8.1.3
- version: 8.2.10
+ version: 8.2.11
'@types/jest':
specifier: ^29.5.0
- version: 29.5.11
+ version: 29.5.14
'@types/jsonwebtoken':
specifier: ^9.0.5
- version: 9.0.5
- '@types/lodash':
- specifier: ^4.14.176
- version: 4.14.202
+ version: 9.0.9
'@types/lru-cache':
specifier: ^5.1.1
version: 5.1.1
@@ -130,10 +124,10 @@ importers:
version: 3.6.20
'@types/mustache':
specifier: ^4.2.2
- version: 4.2.5
+ version: 4.2.6
'@types/node':
specifier: ^18.15.5
- version: 18.19.3
+ version: 18.19.98
'@types/offscreencanvas':
specifier: ^2019.6.4
version: 2019.7.3
@@ -145,7 +139,7 @@ importers:
version: 1.17.4
'@types/stripe-v3':
specifier: ^3.1.7
- version: 3.1.32
+ version: 3.1.33
'@types/three':
specifier: ^0.140.0
version: 0.140.0
@@ -157,49 +151,64 @@ importers:
version: 2.4.8
'@types/ws':
specifier: ^8.5.12
- version: 8.5.12
+ version: 8.18.1
+ '@typescript-eslint/utils':
+ specifier: ^8.26.1
+ version: 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)
+ '@zip.js/zip.js':
+ specifier: 2.6.40
+ version: 2.6.40
browserslist:
specifier: '>=4.16.5'
- version: 4.22.2
+ version: 4.24.5
chai:
specifier: ^4.2.0
- version: 4.3.10
+ version: 4.5.0
chalk:
specifier: 4.1.2
version: 4.1.2
chokidar:
specifier: 3.5.2
version: 3.5.2
+ commander:
+ specifier: 12.0.0
+ version: 12.0.0
concurrently:
specifier: 8.2.2
version: 8.2.2
del:
specifier: 7.0.0
version: 7.0.0
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
esbuild:
specifier: ^0.19.8
- version: 0.19.8
+ version: 0.19.12
esbuild-copy-static-files:
specifier: 0.1.0
version: 0.1.0
eslint:
specifier: ^9.22.0
- version: 9.22.0
+ version: 9.26.0(jiti@2.5.1)
eslint-plugin-header:
specifier: 3.1.1
- version: 3.1.1(patch_hash=b3o5exenray2xkoqu5gm4rau54)(eslint@9.22.0)
+ version: 3.1.1(patch_hash=de105eeabb85127b2ef1c85bdeb93def6f686d3ae76651a405fb0a41028267ce)(eslint@9.26.0(jiti@2.5.1))
+ eslint-plugin-unused-imports:
+ specifier: 4.1.4
+ version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1))
eslint-plugin-vue:
specifier: ^10.0.0
- version: 10.0.0(eslint@9.22.0)(vue-eslint-parser@10.1.1)
+ version: 10.1.0(eslint@9.26.0(jiti@2.5.1))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.5.1)))
fake-indexeddb:
specifier: 5.0.1
- version: 5.0.1(patch_hash=32aodcxqlam32klerymhxuwzha)
+ version: 5.0.1(patch_hash=d597b2b144531a822d7a504855823767cbd16a0644fa2a214fa0dce0d573ec34)
faker:
specifier: 5.1.0
version: 5.1.0
globals:
specifier: ^16.0.0
- version: 16.0.0
+ version: 16.1.0
handlebars:
specifier: ^4.4.2
version: 4.7.8
@@ -210,23 +219,23 @@ importers:
specifier: 14.1.1
version: 14.1.1
husky:
- specifier: ^7.0.4
- version: 7.0.4
+ specifier: ^9.1.7
+ version: 9.1.7
jake:
specifier: 10.8.5
version: 10.8.5
jest:
- specifier: ^29.5.0
- version: 29.7.0(@types/node@18.19.3)
+ specifier: 30.2.0
+ version: 30.2.0(@types/node@18.19.98)
jest-environment-jsdom:
- specifier: ^29.5.0
- version: 29.7.0
+ specifier: ^30.2.0
+ version: 30.2.0
jest-environment-node:
- specifier: ^29.5.0
- version: 29.7.0
+ specifier: ^30.2.0
+ version: 30.2.0
jest-html-reporter:
specifier: ^3.7.1
- version: 3.10.2(jest@29.7.0)(typescript@5.3.3)
+ version: 3.10.2(jest@30.2.0(@types/node@18.19.98))(typescript@5.8.3)
jest-raw-loader:
specifier: 1.0.1
version: 1.0.1
@@ -238,13 +247,10 @@ importers:
version: 3.10.1
lerna:
specifier: 8.0.0
- version: 8.0.0
+ version: 8.0.0(encoding@0.1.13)
lint-staged:
specifier: 15.5.0
version: 15.5.0
- lodash:
- specifier: 4.17.21
- version: 4.17.21
mock-fs:
specifier: 5.2.0
version: 5.2.0
@@ -259,7 +265,7 @@ importers:
version: 2.8.8
pretty-quick:
specifier: ^3.0.2
- version: 3.1.3(prettier@2.8.8)
+ version: 3.3.1(prettier@2.8.8)
rehype-slug:
specifier: 6.0.0
version: 6.0.0
@@ -280,7 +286,7 @@ importers:
version: 9.0.0
rollup-plugin-visualizer:
specifier: 5.12.0
- version: 5.12.0
+ version: 5.12.0(rollup@4.24.0)
sass:
specifier: 1.56.1
version: 1.56.1
@@ -291,20 +297,23 @@ importers:
specifier: 4.4.18
version: 4.4.18
ts-jest:
- specifier: 29.0.5
- version: 29.0.5(@babel/core@7.23.5)(esbuild@0.19.8)(jest@29.7.0)(typescript@5.3.3)
+ specifier: 29.4.5
+ version: 29.4.5(@babel/core@7.27.1)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.27.1))(esbuild@0.19.12)(jest-util@30.2.0)(jest@30.2.0(@types/node@18.19.98))(typescript@5.8.3)
+ ts-jest-mock-import-meta:
+ specifier: 1.3.0
+ version: 1.3.0(ts-jest@29.4.5(@babel/core@7.27.1)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.27.1))(esbuild@0.19.12)(jest-util@30.2.0)(jest@30.2.0(@types/node@18.19.98))(typescript@5.8.3))
typescript:
specifier: ^5.0.2
- version: 5.3.3
+ version: 5.8.3
typescript-eslint:
specifier: ^8.26.1
- version: 8.26.1(eslint@9.22.0)(typescript@5.3.3)
+ version: 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)
unified:
specifier: 11.0.4
version: 11.0.4
vue-template-compiler:
specifier: ^2.6.14
- version: 2.7.15
+ version: 2.7.16
wait-on:
specifier: '7'
version: 7.2.0
@@ -313,22 +322,25 @@ importers:
dependencies:
'@algolia/client-search':
specifier: ^4.20.0
- version: 4.21.0
+ version: 4.24.0
'@docusaurus/core':
specifier: 3.5.2
- version: 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
+ version: 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
'@docusaurus/plugin-client-redirects':
specifier: 3.5.2
- version: 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
+ version: 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
'@docusaurus/preset-classic':
specifier: 3.5.2
- version: 3.5.2(@algolia/client-search@4.21.0)(@mdx-js/react@3.0.0)(@types/react@18.2.43)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
+ version: 3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(@types/react@18.3.21)(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@mdx-js/mdx':
+ specifier: 3.0.0
+ version: 3.0.0(patch_hash=23fce79a8d279fa75dfece17d731fccaaa071ece72fe7b3d44db9e33c63d2b1a)
'@mdx-js/react':
- specifier: ^3.0.0
- version: 3.0.0(@types/react@18.2.43)(react@18.2.0)
+ specifier: 3.0.0
+ version: 3.0.0(@types/react@18.3.21)(react@18.3.1)
'@types/react':
specifier: ^18.2.39
- version: 18.2.43
+ version: 18.3.21
clsx:
specifier: ^1.1.1
version: 1.2.1
@@ -337,34 +349,34 @@ importers:
version: 4.2.0
rc-tooltip:
specifier: 5.2.2
- version: 5.2.2(react-dom@18.2.0)(react@18.2.0)
+ version: 5.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react:
specifier: ^18.2.0
- version: 18.2.0
+ version: 18.3.1
react-dom:
specifier: ^18.2.0
- version: 18.2.0(react@18.2.0)
+ version: 18.3.1(react@18.3.1)
react-loadable:
specifier: ^5.5.0
- version: 5.5.0(react@18.2.0)
+ version: 5.5.0(react@18.3.1)
react-markdown:
specifier: 9.0.1
- version: 9.0.1(@types/react@18.2.43)(react@18.2.0)
+ version: 9.0.1(@types/react@18.3.21)(react@18.3.1)
rehype-raw:
specifier: 6.1.1
version: 6.1.1
search-insights:
specifier: ^2.11.0
- version: 2.13.0
+ version: 2.17.3
ts-morph:
specifier: 20.0.0
version: 20.0.0
typedoc:
specifier: 0.25.4
- version: 0.25.4(typescript@5.3.3)
+ version: 0.25.4(typescript@5.8.3)
typescript:
specifier: ^5.3.2
- version: 5.3.3
+ version: 5.8.3
unist-util-visit:
specifier: 4.1.2
version: 4.1.2
@@ -382,26 +394,26 @@ importers:
src/aux-benchmarks:
dependencies:
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
benchmark:
specifier: 2.1.4
version: 2.1.4
- lodash:
- specifier: 4.17.21
- version: 4.17.21
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
platform:
specifier: 1.3.5
version: 1.3.5
vue:
specifier: ^2.7.15
- version: 2.7.15
+ version: 2.7.16
vue-material:
specifier: 1.0.0-beta-15
- version: 1.0.0-beta-15(vue@2.7.15)
+ version: 1.0.0-beta-15(encoding@0.1.13)(vue@2.7.16)
vue-router:
specifier: 3.5.4
- version: 3.5.4(vue@2.7.15)
+ version: 3.5.4(vue@2.7.16)
devDependencies:
0x:
specifier: 5.7.0
@@ -410,7 +422,7 @@ importers:
src/aux-common:
dependencies:
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
'@casual-simulation/engine262':
specifier: 0.0.1-4de2170374e22761996e46eb1362f4496ee57f8f
@@ -419,13 +431,13 @@ importers:
specifier: ^2.0.7
version: 2.0.7
'@casual-simulation/expect':
- specifier: ^3.1.28
+ specifier: ^3.5.0
version: link:../expect
'@casual-simulation/fast-json-stable-stringify':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../fast-json-stable-stringify
'@casual-simulation/js-interpreter':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../js-interpreter
'@casual-simulation/stacktrace':
specifier: ^3.1.11
@@ -434,7 +446,7 @@ importers:
specifier: ^0.140.3
version: 0.140.3
'@casual-simulation/timesync':
- specifier: ^3.4.0
+ specifier: ^3.7.0
version: link:../timesync
'@opentelemetry/api':
specifier: ^1.9.0
@@ -460,6 +472,9 @@ importers:
base64-js:
specifier: ^1.5.1
version: 1.5.1
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
estraverse:
specifier: ^5.2.0
version: 5.3.0
@@ -507,50 +522,50 @@ importers:
src/aux-components:
dependencies:
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/aux-vm':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm
'@casual-simulation/aux-vm-browser':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm-browser
'@casual-simulation/aux-vm-client':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm-client
'@casual-simulation/aux-vm-deno':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm-deno
'@casual-simulation/aux-vm-node':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm-node
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
'@casual-simulation/crypto-browser':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto-browser
'@casual-simulation/crypto-node':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto-node
'@casual-simulation/three':
specifier: ^0.140.3
version: 0.140.3
'@casual-simulation/tunnel':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../tunnel
'@casual-simulation/vue-shortkey':
specifier: ^3.2.7
version: link:../vue-shortkey
'@chenfengyuan/vue-qrcode':
specifier: ^1.0.0
- version: 1.0.2(vue@2.7.15)
+ version: 1.0.2(vue@2.7.16)
'@juggle/resize-observer':
specifier: 2.3.0
version: 2.3.0
'@octokit/rest':
- specifier: 16.35.2
- version: 16.35.2
+ specifier: 20.1.0
+ version: 20.1.0
'@tweenjs/tween.js':
specifier: 18.6.0
version: 18.6.0
@@ -581,6 +596,9 @@ importers:
downloadjs:
specifier: ^1.4.7
version: 1.4.7
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
event-stream:
specifier: ^4.0.1
version: 4.0.1
@@ -589,7 +607,7 @@ importers:
version: 3.9.0
filepond-plugin-file-validate-type:
specifier: ^1.2.1
- version: 1.2.8(filepond@3.9.0)
+ version: 1.2.9(filepond@3.9.0)
helmet-csp:
specifier: 2.9.3
version: 2.9.3
@@ -608,9 +626,6 @@ importers:
jsqr:
specifier: 1.2.0
version: 1.2.0
- lodash:
- specifier: 4.17.21
- version: 4.17.21
mime:
specifier: 2.4.6
version: 2.4.6
@@ -625,28 +640,28 @@ importers:
version: 10.0.0
vue:
specifier: ^2.7.15
- version: 2.7.15
+ version: 2.7.16
vue-class-component:
specifier: 7.2.6
- version: 7.2.6(vue@2.7.15)
+ version: 7.2.6(vue@2.7.16)
vue-clipboard2:
specifier: 0.3.1
version: 0.3.1
vue-color:
specifier: ^2.7.0
- version: 2.8.1
+ version: 2.8.2
vue-filepond:
specifier: ^4.0.3
- version: 4.0.3(filepond@3.9.0)(vue@2.7.15)
+ version: 4.0.3(filepond@3.9.0)(vue@2.7.16)
vue-material:
specifier: 1.0.0-beta-15
- version: 1.0.0-beta-15(vue@2.7.15)
+ version: 1.0.0-beta-15(encoding@0.1.13)(vue@2.7.16)
vue-property-decorator:
specifier: 9.1.2
- version: 9.1.2(vue-class-component@7.2.6)(vue@2.7.15)
+ version: 9.1.2(vue-class-component@7.2.6(vue@2.7.16))(vue@2.7.16)
vue-router:
specifier: 3.5.4
- version: 3.5.4(vue@2.7.15)
+ version: 3.5.4(vue@2.7.16)
devDependencies:
benchmark:
specifier: 2.1.4
@@ -658,14 +673,14 @@ importers:
src/aux-proxy:
dependencies:
'@casual-simulation/tunnel':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../tunnel
body-parser:
specifier: 1.20.3
version: 1.20.3
express:
specifier: ^4.21.1
- version: 4.21.1
+ version: 4.21.2
http-proxy:
specifier: 1.18.1
version: 1.18.1
@@ -686,25 +701,28 @@ importers:
dependencies:
'@anthropic-ai/sdk':
specifier: 0.24.3
- version: 0.24.3
+ version: 0.24.3(encoding@0.1.13)
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
'@casual-simulation/fast-json-stable-stringify':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../fast-json-stable-stringify
'@casual-simulation/rate-limit-redis':
specifier: ^3.4.0
version: link:../rate-limit-redis
'@casual-simulation/timesync':
- specifier: ^3.4.0
+ specifier: ^3.7.0
version: link:../timesync
'@google/generative-ai':
specifier: 0.11.3
version: 0.11.3
+ '@libsql/client':
+ specifier: ^0.15.14
+ version: 0.15.14
'@opentelemetry/api':
specifier: ^1.9.0
version: 1.9.0
@@ -716,7 +734,7 @@ importers:
version: 1.25.1
'@simplewebauthn/server':
specifier: 9.0.3
- version: 9.0.3
+ version: 9.0.3(encoding@0.1.13)
'@simplewebauthn/types':
specifier: 9.0.1
version: 9.0.1
@@ -726,12 +744,18 @@ importers:
base64-js:
specifier: ^1.5.1
version: 1.5.1
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
hash.js:
specifier: 1.1.7
version: 1.1.7
jose:
specifier: 5.4.0
version: 5.4.0
+ libsql:
+ specifier: ^0.5.20
+ version: 0.5.20
livekit-server-sdk:
specifier: 2.7.2
version: 2.7.2
@@ -743,13 +767,19 @@ importers:
version: 2.4.6
openai:
specifier: 4.89.0
- version: 4.89.0(zod@3.22.4)
+ version: 4.89.0(encoding@0.1.13)(ws@8.18.0)(zod@3.22.4)
openid-client:
specifier: 5.6.1
version: 5.6.1
+ tigerbeetle-node:
+ specifier: 0.16.44
+ version: 0.16.44
tweetnacl:
specifier: 1.0.3
version: 1.0.3
+ typesense:
+ specifier: 2.1.0-13
+ version: 2.1.0-13(@babel/runtime@7.27.1)
uuid:
specifier: 10.0.0
version: 10.0.0
@@ -764,30 +794,30 @@ importers:
dependencies:
'@aws-sdk/client-dynamodb':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/client-rekognition':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/client-s3':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/client-s3-control':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/client-sesv2':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/credential-providers':
specifier: ^3.620.1
- version: 3.620.1(@aws-sdk/client-sso-oidc@3.679.0)
+ version: 3.804.0
'@aws-sdk/types':
specifier: ^3.609.0
- version: 3.609.0
+ version: 3.862.0
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/aux-records':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-records
axios:
specifier: 1.7.7
@@ -803,18 +833,18 @@ importers:
version: 1.20.3
express:
specifier: ^4.21.1
- version: 4.21.1
+ version: 4.21.2
src/aux-runtime:
dependencies:
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/aux-records':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-records
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
'@casual-simulation/engine262':
specifier: 0.0.1-4de2170374e22761996e46eb1362f4496ee57f8f
@@ -823,13 +853,13 @@ importers:
specifier: ^2.0.7
version: 2.0.7
'@casual-simulation/expect':
- specifier: ^3.1.28
+ specifier: ^3.5.0
version: link:../expect
'@casual-simulation/fast-json-stable-stringify':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../fast-json-stable-stringify
'@casual-simulation/js-interpreter':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../js-interpreter
'@casual-simulation/stacktrace':
specifier: ^3.1.11
@@ -857,7 +887,7 @@ importers:
version: 5.3.2(acorn@8.11.3)
acorn-typescript:
specifier: 1.4.13
- version: 1.4.13(patch_hash=6c2dd2yvtei2d4lpomumi2s22q)(acorn@8.11.3)
+ version: 1.4.13(patch_hash=e33eda9c7cfd22b7e4812106f09b26f342e947fb663155be1f12c5323f7a10f3)(acorn@8.11.3)
astring:
specifier: 1.7.5
version: 1.7.5
@@ -867,6 +897,9 @@ importers:
base64-js:
specifier: ^1.5.1
version: 1.5.1
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
estraverse:
specifier: 5.3.0
version: 5.3.0
@@ -903,6 +936,9 @@ importers:
stackframe:
specifier: ^1.2.0
version: 1.3.4
+ typesense:
+ specifier: 2.0.3
+ version: 2.0.3(@babel/runtime@7.27.1)
uuid:
specifier: 10.0.0
version: 10.0.0
@@ -927,88 +963,91 @@ importers:
dependencies:
'@aws-sdk/client-api-gateway':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/client-apigatewaymanagementapi':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/client-dynamodb':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/client-lambda':
specifier: ^3.620.1
- version: 3.636.0
+ version: 3.804.0
'@aws-sdk/client-rekognition':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/client-s3':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/client-s3-control':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/client-sesv2':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
+ '@aws-sdk/client-sns':
+ specifier: ^3.863.0
+ version: 3.863.0
'@aws-sdk/credential-providers':
specifier: ^3.620.1
- version: 3.620.1(@aws-sdk/client-sso-oidc@3.679.0)
+ version: 3.804.0
'@aws-sdk/lib-dynamodb':
specifier: ^3.620.1
- version: 3.620.1(@aws-sdk/client-dynamodb@3.620.1)
+ version: 3.804.0(@aws-sdk/client-dynamodb@3.804.0)
'@aws-sdk/s3-request-presigner':
specifier: ^3.620.1
- version: 3.620.1
+ version: 3.804.0
'@aws-sdk/types':
specifier: ^3.609.0
- version: 3.609.0
+ version: 3.862.0
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/aux-records':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-records
'@casual-simulation/aux-records-aws':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-records-aws
'@casual-simulation/aux-runtime':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-runtime
'@casual-simulation/aux-vm':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm
'@casual-simulation/aux-vm-browser':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm-browser
'@casual-simulation/aux-vm-client':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm-client
'@casual-simulation/aux-vm-deno':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm-deno
'@casual-simulation/aux-vm-node':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm-node
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
'@casual-simulation/crypto-browser':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto-browser
'@casual-simulation/crypto-node':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto-node
'@casual-simulation/engine262':
specifier: 0.0.1-4de2170374e22761996e46eb1362f4496ee57f8f
version: 0.0.1-4de2170374e22761996e46eb1362f4496ee57f8f
'@casual-simulation/fast-json-stable-stringify':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../fast-json-stable-stringify
'@casual-simulation/js-interpreter':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../js-interpreter
'@casual-simulation/monaco-editor':
specifier: 0.47.1
- version: 0.47.1
+ version: 0.47.1(encoding@0.1.13)
'@casual-simulation/multi-streams-mixer':
specifier: ^3.2.14
version: link:../multi-streams-mixer
@@ -1019,68 +1058,74 @@ importers:
specifier: ^0.140.3
version: 0.140.3
'@casual-simulation/tunnel':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../tunnel
'@casual-simulation/vue-shortkey':
specifier: ^3.2.7
version: link:../vue-shortkey
'@casual-simulation/websocket':
- specifier: ^3.4.0
+ specifier: ^3.5.3
version: link:../websocket
'@chenfengyuan/vue-qrcode':
specifier: ^1.0.0
- version: 1.0.2(vue@2.7.15)
+ version: 1.0.2(vue@2.7.16)
'@ericblade/quagga2':
specifier: 1.4.2
version: 1.4.2
'@juggle/resize-observer':
specifier: 2.3.0
version: 2.3.0
+ '@libsql/linux-arm64-gnu':
+ specifier: ^0.5.22
+ version: 0.5.22
+ '@libsql/linux-x64-gnu':
+ specifier: ^0.5.22
+ version: 0.5.22
+ '@libsql/win32-x64-msvc':
+ specifier: ^0.5.22
+ version: 0.5.22
'@loomhq/loom-embed':
specifier: ^1.7.0
version: 1.7.0
'@loomhq/record-sdk':
specifier: ^3.3.3
- version: 3.3.3(prop-types@15.8.1)(react-dom@18.3.1)(react@18.3.1)
- '@octokit/rest':
- specifier: 16.35.2
- version: 16.35.2
+ version: 3.14.4(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@opentelemetry/api':
- specifier: ^1.9.0
+ specifier: ~1.9.0
version: 1.9.0
'@opentelemetry/auto-instrumentations-node':
- specifier: ^0.47.1
- version: 0.47.1(@opentelemetry/api@1.9.0)
+ specifier: ~0.47.1
+ version: 0.47.1(@opentelemetry/api@1.9.0)(encoding@0.1.13)
'@opentelemetry/exporter-metrics-otlp-proto':
- specifier: ^0.52.1
+ specifier: ~0.52.1
version: 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/exporter-trace-otlp-proto':
- specifier: ^0.52.1
+ specifier: ~0.52.1
version: 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation-redis-4':
- specifier: ^0.40.0
+ specifier: ~0.40.0
version: 0.40.0(@opentelemetry/api@1.9.0)
'@opentelemetry/resources':
- specifier: ^1.25.1
+ specifier: ~1.25.1
version: 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-metrics':
- specifier: ^1.25.1
+ specifier: ~1.25.1
version: 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-node':
- specifier: ^0.52.1
+ specifier: ~0.52.1
version: 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-trace-node':
- specifier: ^1.25.1
+ specifier: ~1.25.1
version: 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions':
- specifier: ^1.25.1
+ specifier: ~1.25.1
version: 1.25.1
'@prisma/client':
- specifier: ^5.7.0
- version: 5.7.0(prisma@5.7.0)
+ specifier: ^6.14.0
+ version: 6.14.0(prisma@6.14.0(typescript@5.8.3))(typescript@5.8.3)
'@prisma/instrumentation':
- specifier: ^5.16.1
- version: 5.16.1
+ specifier: ^6.14.0
+ version: 6.14.0(@opentelemetry/api@1.9.0)
'@simplewebauthn/browser':
specifier: 9.0.1
version: 9.0.1
@@ -1089,13 +1134,19 @@ importers:
version: 9.0.1
'@teachablemachine/image':
specifier: 0.8.5
- version: 0.8.5(@tensorflow/tfjs@4.2.0)
+ version: 0.8.5(@tensorflow/tfjs@4.2.0(encoding@0.1.13)(seedrandom@3.0.5))
'@tensorflow/tfjs':
specifier: 4.2.0
- version: 4.2.0(seedrandom@3.0.5)
+ version: 4.2.0(encoding@0.1.13)(seedrandom@3.0.5)
+ '@turf/turf':
+ specifier: ^7.2.0
+ version: 7.2.0
'@tweenjs/tween.js':
specifier: 18.6.0
version: 18.6.0
+ '@types/geojson':
+ specifier: ^7946.0.16
+ version: 7946.0.16
'@uriopass/nosleep.js':
specifier: 0.12.2
version: 0.12.2
@@ -1110,10 +1161,13 @@ importers:
version: 1.7.5
aws-sdk:
specifier: ^2.968.0
- version: 2.1513.0
+ version: 2.1692.0
axios:
specifier: 1.7.7
version: 1.7.7
+ base64-js:
+ specifier: ^1.5.1
+ version: 1.5.1
bcryptjs:
specifier: 2.4.3
version: 2.4.3
@@ -1126,6 +1180,9 @@ importers:
buffer:
specifier: 6.0.3
version: 6.0.3
+ bullmq:
+ specifier: ^5.56.9
+ version: 5.56.9
cassandra-driver:
specifier: 4.5.1
version: 4.5.1
@@ -1139,11 +1196,14 @@ importers:
specifier: 2.8.5
version: 2.8.5
deno-vm:
- specifier: ^0.12.0
- version: 0.12.0(patch_hash=4b6o6pkokhnxhk5mw3ayiagdxm)
+ specifier: 0.13.0
+ version: 0.13.0(patch_hash=2a6d5036373ec04b771962451fe9bd1f41cd0764a94698793f994de3703ec90d)
downloadjs:
specifier: ^1.4.7
version: 1.4.7
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
esri-loader:
specifier: 3.7.0
version: 3.7.0
@@ -1155,13 +1215,16 @@ importers:
version: 4.0.1
express:
specifier: ^4.21.1
- version: 4.21.1
+ version: 4.21.2
filepond:
specifier: ^3.8.2
version: 3.9.0
filepond-plugin-file-validate-type:
specifier: ^1.2.1
- version: 1.2.8(filepond@3.9.0)
+ version: 1.2.9(filepond@3.9.0)
+ geo-three:
+ specifier: 0.1.14
+ version: 0.1.14(three@0.176.0)
hash.js:
specifier: 1.1.7
version: 1.1.7
@@ -1174,6 +1237,9 @@ importers:
http-proxy:
specifier: 1.18.1
version: 1.18.1
+ importmap-vite-plugin:
+ specifier: 0.1.0
+ version: 0.1.0(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0))
inherits:
specifier: 2.0.4
version: 2.0.4
@@ -1192,9 +1258,6 @@ importers:
livekit-server-sdk:
specifier: 2.7.2
version: 2.7.2
- lodash:
- specifier: 4.17.21
- version: 4.17.21
luxon:
specifier: 3.4.4
version: 3.4.4
@@ -1210,9 +1273,12 @@ importers:
pify:
specifier: 5.0.0
version: 5.0.0
+ preact:
+ specifier: 10.19.6
+ version: 10.19.6
prisma:
- specifier: ^5.7.0
- version: 5.7.0
+ specifier: ^6.14.0
+ version: 6.14.0(typescript@5.8.3)
redis:
specifier: 4.6.10
version: 4.6.10
@@ -1226,20 +1292,26 @@ importers:
specifier: 0.5.21
version: 0.5.21
stripe:
- specifier: 11.13.0
- version: 11.13.0
+ specifier: 15.4.0
+ version: 15.4.0
three-mesh-ui:
specifier: 6.4.4
- version: 6.4.4(three@0.169.0)
+ version: 6.4.4(three@0.176.0)
three.meshline:
specifier: 1.3.0
version: 1.3.0
+ tigerbeetle-node:
+ specifier: 0.16.44
+ version: 0.16.44
troika-three-text:
specifier: 0.46.4
- version: 0.46.4(three@0.169.0)
+ version: 0.46.4(three@0.176.0)
typescript:
specifier: ^5.0.2
- version: 5.3.3
+ version: 5.8.3
+ typesense:
+ specifier: 2.1.0-13
+ version: 2.1.0-13(@babel/runtime@7.27.1)
unique-names-generator:
specifier: 4.2.0
version: 4.2.0
@@ -1251,47 +1323,50 @@ importers:
version: 3.0.2
vue:
specifier: ^2.7.15
- version: 2.7.15
+ version: 2.7.16
vue-class-component:
specifier: 7.2.6
- version: 7.2.6(vue@2.7.15)
+ version: 7.2.6(vue@2.7.16)
vue-clipboard2:
specifier: 0.3.1
version: 0.3.1
vue-color:
specifier: ^2.7.0
- version: 2.8.1
+ version: 2.8.2
vue-filepond:
specifier: ^4.0.3
- version: 4.0.3(filepond@3.9.0)(vue@2.7.15)
+ version: 4.0.3(filepond@3.9.0)(vue@2.7.16)
vue-material:
specifier: 1.0.0-beta-15
- version: 1.0.0-beta-15(vue@2.7.15)
+ version: 1.0.0-beta-15(encoding@0.1.13)(vue@2.7.16)
vue-property-decorator:
specifier: 9.1.2
- version: 9.1.2(vue-class-component@7.2.6)(vue@2.7.15)
+ version: 9.1.2(vue-class-component@7.2.6(vue@2.7.16))(vue@2.7.16)
vue-router:
specifier: 3.5.4
- version: 3.5.4(vue@2.7.15)
+ version: 3.5.4(vue@2.7.16)
web-push:
specifier: 3.6.7
version: 3.6.7
ws:
specifier: 8.18.0
version: 8.18.0
+ yjs:
+ specifier: 13.6.8
+ version: 13.6.8
zod:
specifier: 3.22.4
version: 3.22.4
devDependencies:
'@casual-simulation/aux-components':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-components
'@rollup/plugin-virtual':
specifier: 3.0.2
version: 3.0.2(rollup@4.24.0)
'@types/aws-lambda':
specifier: ^8.10.17
- version: 8.10.130
+ version: 8.10.149
'@types/jsdom':
specifier: 21.1.6
version: 21.1.6
@@ -1303,16 +1378,16 @@ importers:
version: 2.4.9
'@types/web-push':
specifier: ^3.6.3
- version: 3.6.3
+ version: 3.6.4
'@vitejs/plugin-basic-ssl':
specifier: 1.1.0
- version: 1.1.0(vite@5.4.10)
+ version: 1.1.0(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0))
'@vitejs/plugin-vue2':
specifier: 2.3.1
- version: 2.3.1(vite@5.4.10)(vue@2.7.15)
+ version: 2.3.1(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0))(vue@2.7.16)
fast-glob:
specifier: ^3.2.5
- version: 3.3.2
+ version: 3.3.3
jsdom:
specifier: 24.1.0
version: 24.1.0
@@ -1330,60 +1405,63 @@ importers:
version: 3.3.0
vite:
specifier: 5.4.10
- version: 5.4.10(@types/node@18.19.3)(sass@1.56.1)
+ version: 5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)
+ vite-plugin-commonjs:
+ specifier: 0.10.4
+ version: 0.10.4
vite-plugin-html:
specifier: 2.1.1
- version: 2.1.1(vite@5.4.10)
+ version: 2.1.1(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0))
vite-plugin-pwa:
specifier: 0.17.4
- version: 0.17.4(vite@5.4.10)(workbox-build@7.0.0)(workbox-window@7.0.0)
+ version: 0.17.4(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)
vite-plugin-singlefile:
specifier: 2.0.1
- version: 2.0.1(rollup@4.24.0)(vite@5.4.10)
+ version: 2.0.1(rollup@4.24.0)(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0))
vite-plugin-svg-icons:
specifier: 2.0.1
- version: 2.0.1(vite@5.4.10)
+ version: 2.0.1(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0))
workbox-build:
specifier: ^7.0.0
- version: 7.0.0
+ version: 7.3.0(@types/babel__core@7.20.5)
workbox-core:
specifier: ^7.0.0
- version: 7.0.0
+ version: 7.3.0
workbox-expiration:
specifier: ^7.0.0
- version: 7.0.0
+ version: 7.3.0
workbox-precaching:
specifier: ^7.0.0
- version: 7.0.0
+ version: 7.3.0
workbox-routing:
specifier: ^7.0.0
- version: 7.0.0
+ version: 7.3.0
workbox-strategies:
specifier: ^7.0.0
- version: 7.0.0
+ version: 7.3.0
workbox-window:
specifier: ^7.0.0
- version: 7.0.0
+ version: 7.3.0
src/aux-vm:
dependencies:
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/aux-records':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-records
'@casual-simulation/aux-runtime':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-runtime
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
'@casual-simulation/fast-json-stable-stringify':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../fast-json-stable-stringify
'@casual-simulation/timesync':
- specifier: ^3.4.0
+ specifier: ^3.7.0
version: link:../timesync
'@casual-simulation/undom':
specifier: ^3.4.0
@@ -1394,15 +1472,15 @@ importers:
comlink:
specifier: 4.3.1
version: 4.3.1
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
hash.js:
specifier: 1.1.7
version: 1.1.7
htm:
specifier: 3.1.0
version: 3.1.0
- lodash:
- specifier: 4.17.21
- version: 4.17.21
luxon:
specifier: 3.4.4
version: 3.4.4
@@ -1419,34 +1497,34 @@ importers:
src/aux-vm-browser:
dependencies:
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/aux-records':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-records
'@casual-simulation/aux-runtime':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-runtime
'@casual-simulation/aux-vm':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm
'@casual-simulation/aux-vm-client':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm-client
'@casual-simulation/aux-websocket':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-websocket
'@casual-simulation/aux-websocket-aws':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-websocket-aws
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
'@casual-simulation/crypto-browser':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto-browser
'@casual-simulation/websocket':
- specifier: ^3.4.0
+ specifier: ^3.5.3
version: link:../websocket
axios:
specifier: 1.7.7
@@ -1457,44 +1535,48 @@ importers:
comlink:
specifier: 4.3.1
version: 4.3.1
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
livekit-client:
specifier: 2.1.3
version: 2.1.3
- lodash:
- specifier: 4.17.21
- version: 4.17.21
rxjs:
specifier: 8.0.0-alpha.14
version: 8.0.0-alpha.14
uuid:
specifier: 10.0.0
version: 10.0.0
+ devDependencies:
+ base64-js:
+ specifier: ^1.5.1
+ version: 1.5.1
src/aux-vm-client:
dependencies:
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/aux-runtime':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-runtime
'@casual-simulation/aux-vm':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm
'@casual-simulation/aux-websocket':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-websocket
'@casual-simulation/aux-websocket-aws':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-websocket-aws
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
'@casual-simulation/timesync':
- specifier: ^3.4.0
+ specifier: ^3.7.0
version: link:../timesync
'@casual-simulation/websocket':
- specifier: ^3.4.0
+ specifier: ^3.5.3
version: link:../websocket
axios:
specifier: 1.7.7
@@ -1502,9 +1584,9 @@ importers:
comlink:
specifier: 4.3.1
version: 4.3.1
- lodash:
- specifier: 4.17.21
- version: 4.17.21
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
rxjs:
specifier: 8.0.0-alpha.14
version: 8.0.0-alpha.14
@@ -1515,32 +1597,32 @@ importers:
src/aux-vm-deno:
dependencies:
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/aux-runtime':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-runtime
'@casual-simulation/aux-vm':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm
'@casual-simulation/aux-vm-client':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm-client
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
'@casual-simulation/crypto-browser':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto-browser
comlink:
specifier: 4.3.1
version: 4.3.1
deno-vm:
- specifier: ^0.12.0
- version: 0.12.0(patch_hash=4b6o6pkokhnxhk5mw3ayiagdxm)
- lodash:
- specifier: 4.17.21
- version: 4.17.21
+ specifier: 0.13.0
+ version: 0.13.0(patch_hash=2a6d5036373ec04b771962451fe9bd1f41cd0764a94698793f994de3703ec90d)
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
rxjs:
specifier: 8.0.0-alpha.14
version: 8.0.0-alpha.14
@@ -1551,26 +1633,26 @@ importers:
src/aux-vm-node:
dependencies:
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/aux-runtime':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-runtime
'@casual-simulation/aux-vm':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm
'@casual-simulation/aux-vm-client':
- specifier: ^3.4.3
+ specifier: ^3.8.0
version: link:../aux-vm-client
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
'@casual-simulation/crypto-node':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto-node
- lodash:
- specifier: 4.17.21
- version: 4.17.21
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
rxjs:
specifier: 8.0.0-alpha.14
version: 8.0.0-alpha.14
@@ -1581,10 +1663,10 @@ importers:
src/aux-websocket:
dependencies:
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/websocket':
- specifier: ^3.4.0
+ specifier: ^3.5.3
version: link:../websocket
rxjs:
specifier: 8.0.0-alpha.14
@@ -1593,10 +1675,10 @@ importers:
src/aux-websocket-aws:
dependencies:
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/websocket':
- specifier: ^3.4.0
+ specifier: ^3.5.3
version: link:../websocket
axios:
specifier: 1.7.7
@@ -1608,20 +1690,20 @@ importers:
src/casualos-cli:
dependencies:
'@casual-simulation/aux-common':
- specifier: ^3.4.0
+ specifier: ^3.8.0
version: link:../aux-common
'@casual-simulation/aux-records':
- specifier: ^3.4.1
+ specifier: ^3.8.0
version: link:../aux-records
'@octokit/app':
specifier: ^15.1.0
- version: 15.1.0
+ version: 15.1.6
'@octokit/auth-oauth-device':
specifier: ^7.1.1
- version: 7.1.1
+ version: 7.1.5
'@octokit/core':
specifier: ^6.1.2
- version: 6.1.2
+ version: 6.1.5
axios:
specifier: 1.7.7
version: 1.7.7
@@ -1633,7 +1715,7 @@ importers:
version: 12.0.0
octokit:
specifier: ^4.0.2
- version: 4.0.2
+ version: 4.1.3
open:
specifier: 10.1.0
version: 10.1.0
@@ -1642,7 +1724,7 @@ importers:
version: 2.4.2
simple-git:
specifier: ^3.24.0
- version: 3.25.0
+ version: 3.27.0
tweetnacl:
specifier: 1.0.3
version: 1.0.3
@@ -1661,29 +1743,29 @@ importers:
dependencies:
'@pulumi/aws':
specifier: ^6.0.0
- version: 6.50.1(typescript@5.3.3)
+ version: 6.80.0(typescript@5.8.3)
'@pulumi/aws-apigateway':
specifier: ^2.0.0
- version: 2.6.0(typescript@5.3.3)
+ version: 2.6.2(typescript@5.8.3)
'@pulumi/aws-native':
specifier: ^0.116.0
- version: 0.116.0(typescript@5.3.3)
+ version: 0.116.0(typescript@5.8.3)
'@pulumi/awsx':
specifier: ^2.0.2
- version: 2.14.0(typescript@5.3.3)
+ version: 2.21.1(typescript@5.8.3)
'@pulumi/pulumi':
specifier: ^3.113.0
- version: 3.130.0(typescript@5.3.3)
- lodash:
- specifier: 4.17.21
- version: 4.17.21
+ version: 3.168.0(typescript@5.8.3)
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
src/chalk: {}
src/crypto:
dependencies:
'@casual-simulation/fast-json-stable-stringify':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../fast-json-stable-stringify
'@types/scrypt-async':
specifier: ^1.3.1
@@ -1704,7 +1786,7 @@ importers:
src/crypto-browser:
dependencies:
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
bowser:
specifier: ^2.4.0
@@ -1713,17 +1795,17 @@ importers:
src/crypto-node:
dependencies:
'@casual-simulation/crypto':
- specifier: ^3.4.0
+ specifier: ^3.5.0
version: link:../crypto
'@types/bn.js':
specifier: ^5.1.0
- version: 5.1.5
+ version: 5.1.6
asn1.js:
specifier: ^5.0.1
version: 5.4.1
bn.js:
specifier: ^4.11.8
- version: 4.12.0
+ version: 4.12.2
src/expect:
dependencies:
@@ -1762,7 +1844,7 @@ importers:
dependencies:
'@octokit/rest':
specifier: 16.35.2
- version: 16.35.2
+ version: 16.35.2(encoding@0.1.13)
commander:
specifier: 4.0.1
version: 4.0.1
@@ -1779,18 +1861,18 @@ importers:
version: 5.6.0
ioredis:
specifier: ^4.28.3
- version: 4.28.5
+ version: 4.30.0
ioredis-mock:
specifier: ^5.8.1
- version: 5.9.1(ioredis@4.28.5)(redis-commands@1.7.0)
+ version: 5.9.1(ioredis@4.30.0)(redis-commands@1.7.0)
src/stacktrace: {}
src/timesync:
dependencies:
- lodash:
- specifier: 4.17.21
- version: 4.17.21
+ es-toolkit:
+ specifier: 1.39.10
+ version: 1.39.10
rxjs:
specifier: 8.0.0-alpha.14
version: 8.0.0-alpha.14
@@ -1816,7 +1898,7 @@ importers:
dependencies:
vue:
specifier: ^2.7.15
- version: 2.7.15
+ version: 2.7.16
src/websocket:
dependencies:
@@ -1826,3787 +1908,16466 @@ importers:
packages:
- /0x@5.7.0:
+ 0x@5.7.0:
resolution: {integrity: sha512-oc5lqaJP7lu3C5zx+MRbsigfRlTTUg0LKjFDCr0NmR9g+nkZcR7yRU6jzMOiedSVKZ0p0b4y2TBQ+YYo6O3sZg==}
engines: {node: '>=8.5.0'}
hasBin: true
- dependencies:
- ajv: 8.12.0
- browserify: 17.0.0
- concat-stream: 2.0.0
- d3-fg: 6.14.0
- debounce: 1.2.1
- debug: 4.3.4
- end-of-stream: 1.4.4
- env-string: 1.0.1
- escape-string-regexp: 4.0.0
- execspawn: 1.0.1
- fs-extra: 10.1.0
- has-unicode: 2.0.1
- hsl-to-rgb-for-reals: 1.1.1
- jsonstream2: 3.0.0
- make-dir: 3.1.0
- minimist: 1.2.8
- morphdom: 2.7.1
- nanohtml: 1.10.0
- on-net-listen: 1.1.2
- opn: 5.5.0
- pump: 3.0.0
- pumpify: 2.0.1
- semver: 7.5.4
- single-line-log: 1.1.2
- split2: 4.2.0
- tachyons: 4.12.0
- through2: 4.0.2
- which: 2.0.2
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.21.0)(algoliasearch@4.21.0)(search-insights@2.13.0):
- resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==}
- dependencies:
- '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.21.0)(algoliasearch@4.21.0)(search-insights@2.13.0)
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.21.0)(algoliasearch@4.21.0)
- transitivePeerDependencies:
- - '@algolia/client-search'
- - algoliasearch
- - search-insights
- dev: false
+ '@algolia/autocomplete-core@1.17.9':
+ resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==}
- /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.21.0)(algoliasearch@4.21.0)(search-insights@2.13.0):
- resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==}
+ '@algolia/autocomplete-plugin-algolia-insights@1.17.9':
+ resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==}
peerDependencies:
search-insights: '>= 1 < 3'
- dependencies:
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.21.0)(algoliasearch@4.21.0)
- search-insights: 2.13.0
- transitivePeerDependencies:
- - '@algolia/client-search'
- - algoliasearch
- dev: false
- /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.21.0)(algoliasearch@4.21.0):
- resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==}
+ '@algolia/autocomplete-preset-algolia@1.17.9':
+ resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==}
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
- dependencies:
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.21.0)(algoliasearch@4.21.0)
- '@algolia/client-search': 4.21.0
- algoliasearch: 4.21.0
- dev: false
- /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.21.0)(algoliasearch@4.21.0):
- resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==}
+ '@algolia/autocomplete-shared@1.17.9':
+ resolution: {integrity: sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==}
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
- dependencies:
- '@algolia/client-search': 4.21.0
- algoliasearch: 4.21.0
- dev: false
- /@algolia/cache-browser-local-storage@4.21.0:
- resolution: {integrity: sha512-sbo3x9ftlN1S+9Rc4Qi6lNTtJsj5vRfMFUzNjNMGppSLuSHKc2lmHMinESpdMbK2kxzHMQkTaYBgCaIQmUe7sA==}
- dependencies:
- '@algolia/cache-common': 4.21.0
- dev: false
+ '@algolia/cache-browser-local-storage@4.24.0':
+ resolution: {integrity: sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==}
- /@algolia/cache-common@4.21.0:
- resolution: {integrity: sha512-++qQGJHcankmMEBQ43Ey7D0fCN/wFYlgujSw+wkmyfu4a7zlXA4xtS+nCspBMBSivA7HeHurCvy/q2ZUzLAJTQ==}
- dev: false
+ '@algolia/cache-common@4.24.0':
+ resolution: {integrity: sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==}
- /@algolia/cache-in-memory@4.21.0:
- resolution: {integrity: sha512-7PVIRsAPZCUuYe5I5z1srI+14VfRoJh0/ySCTX1WwFEC6N8vLGWhZeZPrtn+a44/wshi8xNaGW8bpjq97Dq0Sg==}
- dependencies:
- '@algolia/cache-common': 4.21.0
- dev: false
+ '@algolia/cache-in-memory@4.24.0':
+ resolution: {integrity: sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==}
- /@algolia/client-account@4.21.0:
- resolution: {integrity: sha512-CQGzROEEtsHjyWg683lHA49TQB+GN9kRcaNp8q+9/y8FnnBiLIBUEOYSUumgK7o16GTnDsno+eGT8fxg7shNuQ==}
- dependencies:
- '@algolia/client-common': 4.21.0
- '@algolia/client-search': 4.21.0
- '@algolia/transporter': 4.21.0
- dev: false
+ '@algolia/client-abtesting@5.24.0':
+ resolution: {integrity: sha512-pNTIB5YqVVwu6UogvdX8TqsRZENaflqMMjdY7/XIPMNGrBoNH9tewINLI7+qc9tIaOLcAp3ZldqoEwAihZZ3ig==}
+ engines: {node: '>= 14.0.0'}
- /@algolia/client-analytics@4.21.0:
- resolution: {integrity: sha512-h6VGQF9uu+aHT3FLsuzk0v9b17X4qMaR0DfxkioLg97fhXJ5YWxfoS0RXq1RzKbONdumsDBi9QDnQowwJsFFAQ==}
- dependencies:
- '@algolia/client-common': 4.21.0
- '@algolia/client-search': 4.21.0
- '@algolia/requester-common': 4.21.0
- '@algolia/transporter': 4.21.0
- dev: false
+ '@algolia/client-account@4.24.0':
+ resolution: {integrity: sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==}
- /@algolia/client-common@4.21.0:
- resolution: {integrity: sha512-bLu35ERLOqBM2HUkGzQ85a41oCen88jxNK5H86tUGwRE7cCkH7+h2cO5X2FaitdNRd4PbI4KBUBnkij1bKADiA==}
- dependencies:
- '@algolia/requester-common': 4.21.0
- '@algolia/transporter': 4.21.0
- dev: false
+ '@algolia/client-analytics@4.24.0':
+ resolution: {integrity: sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==}
- /@algolia/client-personalization@4.21.0:
- resolution: {integrity: sha512-QGpFwthu6GWRGd+XManntwOEoDZ7qzpve/0t1Eo9/CqQNCNUrlIjt8TSfo4eOJeeeCP2i6DJTsnItq1wXxtrSA==}
- dependencies:
- '@algolia/client-common': 4.21.0
- '@algolia/requester-common': 4.21.0
- '@algolia/transporter': 4.21.0
- dev: false
+ '@algolia/client-analytics@5.24.0':
+ resolution: {integrity: sha512-IF+r9RRQsIf0ylIBNFxo7c6hDxxuhIfIbffhBXEF1HD13rjhP5AVfiaea9RzbsAZoySkm318plDpH/nlGIjbRA==}
+ engines: {node: '>= 14.0.0'}
- /@algolia/client-search@4.21.0:
- resolution: {integrity: sha512-rjziG6j/AGEj6F4cWOaKkriirDcM+bqaRzZ+89cqkFBfJvflhyZ5Jv9+MBlqRvCYjuSrqGT6xpuLBjvOKZ0hwg==}
- dependencies:
- '@algolia/client-common': 4.21.0
- '@algolia/requester-common': 4.21.0
- '@algolia/transporter': 4.21.0
- dev: false
+ '@algolia/client-common@4.24.0':
+ resolution: {integrity: sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==}
+
+ '@algolia/client-common@5.24.0':
+ resolution: {integrity: sha512-p8K6tiXQTebRBxbrzWIfGCvfkT+Umml+2lzI92acZjHsvl6KYH6igOfVstKqXJRei9pvRzEEvVDNDLXDVleGTA==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-insights@5.24.0':
+ resolution: {integrity: sha512-jOHF0+tixR3IZJMhZPquFNdCVPzwzzXoiqVsbTvfKojeaY6ZXybgUiTSB8JNX+YpsUT8Ebhu3UvRy4mw2PbEzw==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-personalization@4.24.0':
+ resolution: {integrity: sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==}
+
+ '@algolia/client-personalization@5.24.0':
+ resolution: {integrity: sha512-Fx/Fp6d8UmDBHecTt0XYF8C9TAaA3qeCQortfGSZzWp4gVmtrUCFNZ1SUwb8ULREnO9DanVrM5hGE8R8C4zZTQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-query-suggestions@5.24.0':
+ resolution: {integrity: sha512-F8ypOedSMhz6W7zuT5O1SXXsdXSOVhY2U6GkRbYk/mzrhs3jWFR3uQIfeQVWmsJjUwIGZmPoAr9E+T/Zm2M4wA==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/client-search@4.24.0':
+ resolution: {integrity: sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==}
+
+ '@algolia/client-search@5.24.0':
+ resolution: {integrity: sha512-k+nuciQuq7WERNNE+hsx3DX636zIy+9R4xdtvW3PANT2a2BDGOv3fv2mta8+QUMcVTVcGe/Mo3QCb4pc1HNoxA==}
+ engines: {node: '>= 14.0.0'}
- /@algolia/events@4.0.1:
+ '@algolia/events@4.0.1':
resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==}
- dev: false
- /@algolia/logger-common@4.21.0:
- resolution: {integrity: sha512-4SJotYjwzR6ZVEfTz71o3bjtn4zOHtnrr0IX+bn4jgK8UmrfOAHHYuAlV3NMJFFzEshrabQTA/3lsV/OyF6J4Q==}
- dev: false
+ '@algolia/ingestion@1.24.0':
+ resolution: {integrity: sha512-/lqVxmrvwoA+OyVK4XLMdz/PJaCTW4qYchX1AZ+98fdnH3K6XM/kMydQLfP0bUNGBQbmVrF88MqhqZRnZEn/MA==}
+ engines: {node: '>= 14.0.0'}
- /@algolia/logger-console@4.21.0:
- resolution: {integrity: sha512-LOUwr6DFww2ABGviumO9mjBtLIkFMf7jN3KN1y0DOaZZE4QV8SbG9JaI+koZybIc4bK+AUS6AXz1erpbuI6Jog==}
- dependencies:
- '@algolia/logger-common': 4.21.0
- dev: false
+ '@algolia/logger-common@4.24.0':
+ resolution: {integrity: sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==}
- /@algolia/requester-browser-xhr@4.21.0:
- resolution: {integrity: sha512-4ZfNoNZM2sLxEqeiMZjvxyVYmkbn67bGPmGWWZsiAuj5c/2OMcJ6md8VVR5ChTyZGHwdi1kcpzM4pSnf0Ozvog==}
- dependencies:
- '@algolia/requester-common': 4.21.0
- dev: false
+ '@algolia/logger-console@4.24.0':
+ resolution: {integrity: sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==}
- /@algolia/requester-common@4.21.0:
- resolution: {integrity: sha512-+YoGR9t0v3ksTmYucJ37IWqVoOOWO/yFVPQmBx2ajI1h4ZDJVW8cspD1DIYsPYcMdA2E3pvn3/XhVuomnjhBaw==}
- dev: false
+ '@algolia/monitoring@1.24.0':
+ resolution: {integrity: sha512-cRisDXQJhvfZCXL4hD22qca2CmW52TniOx6L7pvkaBDx0oQk1k9o+3w11fgfcCG+47OndMeNx5CMpu+K+COMzg==}
+ engines: {node: '>= 14.0.0'}
- /@algolia/requester-node-http@4.21.0:
- resolution: {integrity: sha512-kmABh1hWSm08b+6n6GbOrUWbqbWznQYylNRmFtuKnPBIRy5KiqrES31TBe+XsVityEav/iCIzpEEdanmoLaSVg==}
- dependencies:
- '@algolia/requester-common': 4.21.0
- dev: false
+ '@algolia/recommend@4.24.0':
+ resolution: {integrity: sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==}
- /@algolia/transporter@4.21.0:
- resolution: {integrity: sha512-fai7m19rQAaQtSUCfEC5sya5odi2MpZmcH/UJ1lLzW+A5S987SaTfGjAJWxcKutWnhoES1YWU4X0bZSqcAn5Zg==}
- dependencies:
- '@algolia/cache-common': 4.21.0
- '@algolia/logger-common': 4.21.0
- '@algolia/requester-common': 4.21.0
- dev: false
+ '@algolia/recommend@5.24.0':
+ resolution: {integrity: sha512-JTMz0JqN2gidvKa2QCF/rMe8LNtdHaght03px2cluZaZfBRYy8TgHgkCeBspKKvV/abWJwl7J0FzWThCshqT3w==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-browser-xhr@4.24.0':
+ resolution: {integrity: sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==}
+
+ '@algolia/requester-browser-xhr@5.24.0':
+ resolution: {integrity: sha512-B2Gc+iSxct1WSza5CF6AgfNgmLvVb61d5bqmIWUZixtJIhyAC6lSQZuF+nvt+lmKhQwuY2gYjGGClil8onQvKQ==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/requester-common@4.24.0':
+ resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==}
+
+ '@algolia/requester-fetch@5.24.0':
+ resolution: {integrity: sha512-6E5+hliqGc5w8ZbyTAQ+C3IGLZ/GiX623Jl2bgHA974RPyFWzVSj4rKqkboUAxQmrFY7Z02ybJWVZS5OhPQocA==}
+ engines: {node: '>= 14.0.0'}
- /@ampproject/remapping@2.2.1:
- resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
+ '@algolia/requester-node-http@4.24.0':
+ resolution: {integrity: sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==}
+
+ '@algolia/requester-node-http@5.24.0':
+ resolution: {integrity: sha512-zM+nnqZpiQj20PyAh6uvgdSz+hD7Rj7UfAZwizqNP+bLvcbGXZwABERobuilkCQqyDBBH4uv0yqIcPRl8dSBEg==}
+ engines: {node: '>= 14.0.0'}
+
+ '@algolia/transporter@4.24.0':
+ resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==}
+
+ '@ampproject/remapping@2.3.0':
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.20
- /@anthropic-ai/sdk@0.24.3:
+ '@anthropic-ai/sdk@0.24.3':
resolution: {integrity: sha512-916wJXO6T6k8R6BAAcLhLPv/pnLGy7YSEBZXZ1XTFbLcTZE8oTy3oDW9WJf9KKZwMvVcePIfoTSvzXHRcGxkQQ==}
- dependencies:
- '@types/node': 18.19.3
- '@types/node-fetch': 2.6.9
- abort-controller: 3.0.0
- agentkeepalive: 4.5.0
- form-data-encoder: 1.7.2
- formdata-node: 4.4.1
- node-fetch: 2.7.0
- web-streams-polyfill: 3.3.3
- transitivePeerDependencies:
- - encoding
- dev: false
- /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0):
+ '@apideck/better-ajv-errors@0.3.6':
resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==}
engines: {node: '>=10'}
peerDependencies:
ajv: '>=8'
- dependencies:
- ajv: 8.12.0
- json-schema: 0.4.0
- jsonpointer: 5.0.1
- leven: 3.1.0
- dev: true
- /@aws-crypto/crc32@5.2.0:
+ '@asamuzakjp/css-color@3.1.7':
+ resolution: {integrity: sha512-Ok5fYhtwdyJQmU1PpEv6Si7Y+A4cYb8yNM9oiIJC9TzXPMuN9fvdonKJqcnz9TbFqV6bQ8z0giRq0iaOpGZV2g==}
+
+ '@aws-crypto/crc32@5.2.0':
resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==}
engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-crypto/util': 5.2.0
- '@aws-sdk/types': 3.679.0
- tslib: 2.8.0
- dev: false
- /@aws-crypto/crc32c@5.2.0:
+ '@aws-crypto/crc32c@5.2.0':
resolution: {integrity: sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==}
- dependencies:
- '@aws-crypto/util': 5.2.0
- '@aws-sdk/types': 3.679.0
- tslib: 2.8.0
- dev: false
- /@aws-crypto/sha1-browser@5.2.0:
+ '@aws-crypto/sha1-browser@5.2.0':
resolution: {integrity: sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==}
- dependencies:
- '@aws-crypto/supports-web-crypto': 5.2.0
- '@aws-crypto/util': 5.2.0
- '@aws-sdk/types': 3.679.0
- '@aws-sdk/util-locate-window': 3.465.0
- '@smithy/util-utf8': 2.0.2
- tslib: 2.8.0
- dev: false
- /@aws-crypto/sha256-browser@5.2.0:
+ '@aws-crypto/sha256-browser@5.2.0':
resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==}
- dependencies:
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-crypto/supports-web-crypto': 5.2.0
- '@aws-crypto/util': 5.2.0
- '@aws-sdk/types': 3.679.0
- '@aws-sdk/util-locate-window': 3.465.0
- '@smithy/util-utf8': 2.0.2
- tslib: 2.8.0
- dev: false
- /@aws-crypto/sha256-js@5.2.0:
+ '@aws-crypto/sha256-js@5.2.0':
resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==}
engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-crypto/util': 5.2.0
- '@aws-sdk/types': 3.679.0
- tslib: 2.8.0
- dev: false
- /@aws-crypto/supports-web-crypto@5.2.0:
+ '@aws-crypto/supports-web-crypto@5.2.0':
resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==}
- dependencies:
- tslib: 2.8.0
- dev: false
- /@aws-crypto/util@5.2.0:
+ '@aws-crypto/util@5.2.0':
resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==}
- dependencies:
- '@aws-sdk/types': 3.679.0
- '@smithy/util-utf8': 2.0.2
- tslib: 2.8.0
- dev: false
- /@aws-sdk/client-api-gateway@3.620.1:
- resolution: {integrity: sha512-U9DETh/WeDCnfKwKwfpLDnJ8tINTrByKoT6faYc4qT27r1mH6Oct7Tsl3x+4pscteJKQ9wbnM4kCGGG02SnSPA==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.620.1
- '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-sdk-api-gateway': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.620.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.3.1
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.3.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.13
- '@smithy/util-defaults-mode-node': 3.0.13
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-stream': 3.1.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.6.2
- transitivePeerDependencies:
- - aws-crt
- dev: false
+ '@aws-sdk/client-api-gateway@3.804.0':
+ resolution: {integrity: sha512-sTIQbdCesaNjUxKRWVmDYouGR6+mjkoMM4cjMnwxmPagTZbVoieuLhlVk605PNkXS740paUqlaNM6jW4YzryTA==}
+ engines: {node: '>=18.0.0'}
- /@aws-sdk/client-apigatewaymanagementapi@3.620.1:
- resolution: {integrity: sha512-bZ7AI6TXJushqzCf0nn2T00Fje3dtxe3BtI61suEt7VClDGPfRfmMUqfJ0smL4YcUyhY89ZJ42NsMKLfkzr9MQ==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.620.1
- '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.620.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.3.1
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.3.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.13
- '@smithy/util-defaults-mode-node': 3.0.13
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.6.2
- transitivePeerDependencies:
- - aws-crt
- dev: false
+ '@aws-sdk/client-apigatewaymanagementapi@3.804.0':
+ resolution: {integrity: sha512-kMYIR5E0QK/H5+8l/7ccaXw7R0m2UBpsS+WiGdOKfODGktAmi8kIFCnjVzkxoFxJkz8lkXOwlCqObNQWMxUu5w==}
+ engines: {node: '>=18.0.0'}
- /@aws-sdk/client-cognito-identity@3.620.1:
- resolution: {integrity: sha512-AzFjmJz6FC3XvFUIFBe8v0mRT6+5l0Uv4WQz9n+b9v4jBF9QqbcFpTDTZLu0mO+tCxFVCRfMs22ekxzwhmRdnA==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.620.1
- '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.620.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.3.1
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.13
- '@smithy/util-defaults-mode-node': 3.0.13
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - aws-crt
- dev: false
+ '@aws-sdk/client-cognito-identity@3.804.0':
+ resolution: {integrity: sha512-l4R2usRE9WHGK9MqU94+veX70m5moUj5hB+IAqI8tAZ4nAgeXpot3QKGgwdEVjKe1pKZwDP5tkHl01Umm2Ir7w==}
+ engines: {node: '>=18.0.0'}
- /@aws-sdk/client-dynamodb@3.620.1:
- resolution: {integrity: sha512-hx9mGi2Bw5IFJ+x5y8hCYzveZAvilwDM9K+6a3Lvic52tsov1Wdtk47CofY3PPYIvPBfUeHxvt15rDGvPtCFWQ==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.620.1
- '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/middleware-endpoint-discovery': 3.620.0
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.620.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.3.1
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.3.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.13
- '@smithy/util-defaults-mode-node': 3.0.13
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- '@smithy/util-waiter': 3.1.2
- tslib: 2.6.2
- uuid: 9.0.1
- transitivePeerDependencies:
- - aws-crt
- dev: false
+ '@aws-sdk/client-dynamodb@3.804.0':
+ resolution: {integrity: sha512-ptjRZD2yAhCcq2GDvotuaEF/9DrnbKTIejH5cTHLopG+ve7UVgrLF3NT/5cpZW+Iu3w8ixVFDRfOGA8P4PzLgA==}
+ engines: {node: '>=18.0.0'}
- /@aws-sdk/client-ecs@3.637.0:
- resolution: {integrity: sha512-/PcQKx4kBoWBpSu+10HXfU4LtUjTq92mCcJXYhjtlI8sQwkA1zvPThW0bjLJ34mIXhxvHSnUXG1NrjNZQ9ps4g==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.637.0(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/client-sts': 3.637.0
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/credential-provider-node': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0)(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.637.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.637.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.4.0
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.15
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.15
- '@smithy/util-defaults-mode-node': 3.0.15
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- '@smithy/util-waiter': 3.1.2
- tslib: 2.8.0
- uuid: 9.0.1
- transitivePeerDependencies:
- - aws-crt
- dev: false
+ '@aws-sdk/client-ecs@3.804.0':
+ resolution: {integrity: sha512-ICJxLUrJPnKctHCfGXA4ufyt+gDh+y8Wl5NeZPiJ1xuh0wYs9PmNTv+sSV4dml2XNpX0jkbQ1WF7ljPZTqaX0g==}
+ engines: {node: '>=18.0.0'}
- /@aws-sdk/client-lambda@3.636.0:
- resolution: {integrity: sha512-rJitBBQAEVdyf4E6PhwFwD7uIM222dfx2oEIuFKkUb5rMKaFocnJbzvS3yGv/dZwDcUtMV5+5ibMCfgE8gAiJg==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.635.0(@aws-sdk/client-sts@3.635.0)
- '@aws-sdk/client-sts': 3.635.0
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/credential-provider-node': 3.635.0(@aws-sdk/client-sso-oidc@3.635.0)(@aws-sdk/client-sts@3.635.0)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.632.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.632.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.4.0
- '@smithy/eventstream-serde-browser': 3.0.6
- '@smithy/eventstream-serde-config-resolver': 3.0.3
- '@smithy/eventstream-serde-node': 3.0.5
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.15
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.3.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.15
- '@smithy/util-defaults-mode-node': 3.0.15
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-stream': 3.1.3
- '@smithy/util-utf8': 3.0.0
- '@smithy/util-waiter': 3.1.2
- tslib: 2.6.2
- transitivePeerDependencies:
- - aws-crt
- dev: false
+ '@aws-sdk/client-lambda@3.804.0':
+ resolution: {integrity: sha512-SZrlr+pZHI3r3s/9s3KNAuqFY0NWHfVtu9tVU/51saX4IPomIg2J5jBXipBziurjfLb0jZGBDazbIN5Q0ROE1g==}
+ engines: {node: '>=18.0.0'}
- /@aws-sdk/client-rekognition@3.620.1:
- resolution: {integrity: sha512-5iZufqe4dxoc5ZazApapyt5lkrD8/IVKsbT0Nd4vMu9FeUdJL+x+TS65a4KrF+V4tYqPQmnRHavMOv0int4jzA==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.620.1
- '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.620.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.3.1
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.3.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.13
- '@smithy/util-defaults-mode-node': 3.0.13
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- '@smithy/util-waiter': 3.1.2
- tslib: 2.6.2
- uuid: 9.0.1
- transitivePeerDependencies:
- - aws-crt
- dev: false
+ '@aws-sdk/client-rekognition@3.804.0':
+ resolution: {integrity: sha512-8FF4H8vLoThgEVew/qqIbCf8gf0v8lCarogBJqyWCUZUOt+DNUbfDb/sjYm8wU3c4TjlQ1u/zqiWZiwx2Nba6w==}
+ engines: {node: '>=18.0.0'}
- /@aws-sdk/client-s3-control@3.620.1:
- resolution: {integrity: sha512-jr0iStYUBNjcRDB8TbxXHqKW7nLB55wm2Gi4mcqSLEBI/bTQuycpiLq9BHDBCvBE2lvs7UshU2/3xoSR73bhpQ==}
+ '@aws-sdk/client-s3-control@3.804.0':
+ resolution: {integrity: sha512-MRz7thvrDRTPk8fx2984oCvNWfXfkDTRoH52etZEs25em0l6CniJh9MZpXqF+wFHsH+xiH3gcq4Gtj1qhPI+AA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/client-s3@3.804.0':
+ resolution: {integrity: sha512-oLBCq/wOzMEv4HhEDxttl5km0KGuptqnl4MlzzDcxPpsDmXjQU7egZdfQtwKRlB7748F+/uTcYc7khFvX2I1DA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/client-sesv2@3.804.0':
+ resolution: {integrity: sha512-p0jUzsvIC7uNY7hh0L67Kh72b9lsTo+jMRj0fVQQegomWG1+e6U3jn7rna7pIeFBu0Yc/oxCZEnzEr3ZS+Cz+A==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/client-sns@3.863.0':
+ resolution: {integrity: sha512-uInl+23NZzLhgtHY1y2Y+Gxxo5LW4cHqkg0GnSA7Ux3dyKKjW15pHmj+O3OjURTqNCOk0veNz4cd450Ec/SHHA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/client-sso@3.804.0':
+ resolution: {integrity: sha512-6D5iQbL0MqlJ7B5aaHdP21k9+3H/od0jHjHSXegvFd4h2KQbD+QVTdEOSLeakgBGgHYRfiQXsrdMMzUz8vcpsw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/client-sso@3.863.0':
+ resolution: {integrity: sha512-3DZE5lx5A+MgTVS8yRBz/Ne8pWvwc7tDy4KBx5sDd93wvnDYjZW28g7W73d1dD7jfN8ZIC0REtiuNj00Ty0PBg==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/core@3.804.0':
+ resolution: {integrity: sha512-KrYDEc6HaJE+Mx5lrwq6uhJxj1RYYfggQ+X+zQeKRyrZHl2GOxFl7PdnpdwtnaQIjX0gNkDzquhZSdyT0ar5rA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/core@3.863.0':
+ resolution: {integrity: sha512-6KUD82jb8Z+PWRoAwqpjFcrhcCvUlKNfUKKdkhj2yEdugem36d29avTpTPa6RiOEsfUi7CM4Yh60Qrj0pNI4xQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-cognito-identity@3.804.0':
+ resolution: {integrity: sha512-bAk/1McqERHl7LbmbqD5ZGlyyO10N80+YiM/2NI2HXd8MKm/7roZBGEQH8VH2pDDZsWnI4c24rue4xFEmH+gjw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-env@3.804.0':
+ resolution: {integrity: sha512-5mjrWPa4iaBK9/HDEIVN8lGxsnjk60eBjwGaJV0I2uqxnTo1EuQmpLV3XdY/OzQeqJdpuH/DbC6XUIdy9bXNQA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-env@3.863.0':
+ resolution: {integrity: sha512-KmA5cjJU5ihR+oFJtraraeQ7aDSp3GtogSoBUKaHBsiSP7awgxuVcAWSr8wCxi0kPUjCE7kHSLTv4i9UC4soYw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-http@3.804.0':
+ resolution: {integrity: sha512-TD84TXS/iDWcf+ggCq3n6yx36p1WXB2qgyHkbP/yVbdmix/vKU1twuB5qJvaY0PJWI0TOwBa9680XfsYrzaJAA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-http@3.863.0':
+ resolution: {integrity: sha512-AsMgQgYG5YwBFHAuB5y/ngwT9K2axBqJm1ZM+wBMTqPvyQ7cjnfsliCAGEY2QPIxE2prX85Bc50s1OPQVPROHg==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-ini@3.804.0':
+ resolution: {integrity: sha512-LfReL9TnOOunJWeZbDXPePFEnvJE+jcA7iY/ItsThUALgTy+ydLUdOiwzMZFo1f0JZN/Rfrsb9FOd/xTOoZiFw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-ini@3.863.0':
+ resolution: {integrity: sha512-RyyUZ7onXQdcjTnnmX3LvO3/tKsmYR9PJrLCnQQUVYlUzwref4E0ytBgk/mycxx6KHCJNVUzY4QV7s9VaUxcZA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-node@3.804.0':
+ resolution: {integrity: sha512-L2EK5fy2+7El7j7TcRcuwr2lzU5tQfXsfscg+dtFkLPjOqShknnqV/lXylb3QlWx8B3K/c/KK5rcWQl6cYUiDQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-node@3.863.0':
+ resolution: {integrity: sha512-ApRpvgB+DN4BHVmiLvXIdpFN21wBdL5p81G5cXmipJHStThAkk2N9SSG0XxhMaCpzdRWt+4JPRwR5pHiPvnxug==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-process@3.804.0':
+ resolution: {integrity: sha512-s6ng/rZj7WP8GGgxBXsoPZYlSu7MZAm9O8OLgSSWcw8/vaYW7hBVSEVVNMEUkJiJeEo7Lh+Y/3d6SY27S1of/g==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-process@3.863.0':
+ resolution: {integrity: sha512-UN8AfjFvLGIHg2lMr4SNiOhCsDUv6uaD/XbAiRpt/u0z/xMsICxwkOawnKtHj24xGRAh+GgefMirl6QiTkbJ4Q==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-sso@3.804.0':
+ resolution: {integrity: sha512-9Tt5zmhiK2nBfJv52Is5gNtW6bhK0W20GRhckg4T+BlnxOkPy//2ui23DzYacrwETH6TE3kdoyL3xgEL++HSLg==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-sso@3.863.0':
+ resolution: {integrity: sha512-oV4F1zY0o/txR9ruTCH+UlRf7LAKBiwkthsHplNJT0kVq98RtBIMrzk9DgibvjfBsJH1572wozDIc4yOpcB4YA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-web-identity@3.804.0':
+ resolution: {integrity: sha512-eBICjQUnqaoiHl9/AHKVPt/YkrifDddAUNGWUj+9cb3bRml6PEBSHE0k/tbbCTMq1xz7CCP+gmnnAA92ChnseA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-provider-web-identity@3.863.0':
+ resolution: {integrity: sha512-INN5BNFalw68BxBFT+9sj2Yxia1XvS0+ZG0dkfFAmo8iXb2mw0o52PgqOiKlQfxnjbyOH7LgTB2hfbuuEwpKjw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/credential-providers@3.804.0':
+ resolution: {integrity: sha512-qDPsrmp4Z35T5Rprg4+mnZF+xz1cqMJYuwB3KuBaOyJ7ja5UlMthhnCEs2mwqSZZ3oLELSLEuWLio5hgmGbjLg==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/endpoint-cache@3.804.0':
+ resolution: {integrity: sha512-TQVDkA/lV6ua75ELZaichMzlp6x7tDa1bqdy/+0ZftmODPtKXuOOEcJxmdN7Ui/YRo1gkRz2D9txYy7IlNg1Og==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/lib-dynamodb@3.804.0':
+ resolution: {integrity: sha512-IxndjnmdDMhgW6oHS5/0F2LHSQ27jmCJ1CmwQBhgN9V6+Pw4ADHkVZay55vJn7/qSdMrGixDrWRb0nnO4Eqktg==}
+ engines: {node: '>=18.0.0'}
+ deprecated: Please upgrade to @aws-sdk/lib-dynamodb@3.850.0 to support Command reuse https://github.com/aws/aws-sdk-js-v3/issues/7217.
+ peerDependencies:
+ '@aws-sdk/client-dynamodb': ^3.804.0
+
+ '@aws-sdk/middleware-bucket-endpoint@3.804.0':
+ resolution: {integrity: sha512-vVphifJ5Ab2JUjB27UvdNV51ezxTn3f/jNbC/Y+KF1vNcYkwWXqo+U1gD8SUsDK+NhnD3wasfVBVLOdJa7qqKw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-endpoint-discovery@3.804.0':
+ resolution: {integrity: sha512-02OpCr7FgvlNaKb1z1fdVczAU5qHH1AQmYJyZ9MB4SHgzg6ibgZeBDGc1h8MrFM4zVgUo8P+fUo/6m7zL+hmkQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-expect-continue@3.804.0':
+ resolution: {integrity: sha512-YW1hySBolALMII6C8y7Z0CRG2UX1dGJjLEBNFeefhO/xP7ZuE1dvnmfJGaEuBMnvc3wkRS63VZ3aqX6sevM1CA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-flexible-checksums@3.804.0':
+ resolution: {integrity: sha512-bQbh3hTrp+3XEuu8G5DkPDK9u3nnIabw2N1GpqlIwv8oGM+GTtGH35gBZtbbd2WAxfSUIBOAwkc86kTS0g0mFg==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-host-header@3.804.0':
+ resolution: {integrity: sha512-bum1hLVBrn2lJCi423Z2fMUYtsbkGI2s4N+2RI2WSjvbaVyMSv/WcejIrjkqiiMR+2Y7m5exgoKeg4/TODLDPQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-host-header@3.862.0':
+ resolution: {integrity: sha512-jDje8dCFeFHfuCAxMDXBs8hy8q9NCTlyK4ThyyfAj3U4Pixly2mmzY2u7b7AyGhWsjJNx8uhTjlYq5zkQPQCYw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-location-constraint@3.804.0':
+ resolution: {integrity: sha512-AMtKnllIWKgoo7hiJfphLYotEwTERfjVMO2+cKAncz9w1g+bnYhHxiVhJJoR94y047c06X4PU5MsTxvdQ73Znw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-logger@3.804.0':
+ resolution: {integrity: sha512-w/qLwL3iq0KOPQNat0Kb7sKndl9BtceigINwBU7SpkYWX9L/Lem6f8NPEKrC9Tl4wDBht3Yztub4oRTy/horJA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-logger@3.862.0':
+ resolution: {integrity: sha512-N/bXSJznNBR/i7Ofmf9+gM6dx/SPBK09ZWLKsW5iQjqKxAKn/2DozlnE54uiEs1saHZWoNDRg69Ww4XYYSlG1Q==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-recursion-detection@3.804.0':
+ resolution: {integrity: sha512-zqHOrvLRdsUdN/ehYfZ9Tf8svhbiLLz5VaWUz22YndFv6m9qaAcijkpAOlKexsv3nLBMJdSdJ6GUTAeIy3BZzw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-recursion-detection@3.862.0':
+ resolution: {integrity: sha512-KVoo3IOzEkTq97YKM4uxZcYFSNnMkhW/qj22csofLegZi5fk90ztUnnaeKfaEJHfHp/tm1Y3uSoOXH45s++kKQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-sdk-api-gateway@3.804.0':
+ resolution: {integrity: sha512-LARRC75hOwuyYmHEkYONNVxNYXgfFTC8GVPBCO+A8cKbZOESb1aI7oTcTscGfnR7bRQ4MP+TS890Bz1QEgH/0w==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-sdk-s3-control@3.804.0':
+ resolution: {integrity: sha512-QHoWBI56JH4laMWrL4Hd5NO3Bi7kotbWvM99eDXqoCxD44tuTNKzf+wIKsOFf6kV0ePEQHLmEQW5MchtutoICw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-sdk-s3@3.804.0':
+ resolution: {integrity: sha512-kiuqjV2ozoyI6w34+KMhZU+YVOLTPgh1Kp1DSpuS+tbkwkxnQCrPGziQhuSA5/Y0bUFaa2zLwUh2jpCmJQbLyA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-ssec@3.804.0':
+ resolution: {integrity: sha512-Tk8jK0gOIUBvEPTz/wwSlP1V70zVQ3QYqsLPAjQRMO6zfOK9ax31dln3MgKvFDJxBydS2tS3wsn53v+brxDxTA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-user-agent@3.804.0':
+ resolution: {integrity: sha512-HoBaun4t3vAFhMj/I7L/HNBKBrAYu7Sb5bTFINx8kFCxPbqsvF+jOrEE8WiljHNy7FbPjz0mPVRUwO7RZSYNiQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/middleware-user-agent@3.863.0':
+ resolution: {integrity: sha512-AqXzUUpHM51E/cmq/h3yja+GFff7zxQFj6Fq1bVkkc4vzXBCGpyTmaMcUv4rrR/OmmWfidyzbxdy7PuhMNAspg==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/nested-clients@3.804.0':
+ resolution: {integrity: sha512-IOUcw6stjqYBMhLoAXlLVipYpAqLlA17jcyI0OzpS0pTD1RvBqEBckYibF4HJeReI+IiEHu/m0If0SKVR5WyXQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/nested-clients@3.863.0':
+ resolution: {integrity: sha512-TgVr6d1MmJz7H6RehaFevZlJ+d1KSmyftp8oi2V5FCQ4OR22ITsTxmm5cIODYk8VInaie2ZABlPCN5fs+glJuA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/region-config-resolver@3.804.0':
+ resolution: {integrity: sha512-Qlr8jVUL5U8Ej+84ElUTGeOok6hQXcJdx5IOSRoqKs6bCKVa8TtwgX1zZIajzjMhMgMlR3/V+M8oDVDKPB43Ug==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/region-config-resolver@3.862.0':
+ resolution: {integrity: sha512-VisR+/HuVFICrBPY+q9novEiE4b3mvDofWqyvmxHcWM7HumTz9ZQSuEtnlB/92GVM3KDUrR9EmBHNRrfXYZkcQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/s3-request-presigner@3.804.0':
+ resolution: {integrity: sha512-+B5jJ2rt6V7MZJBwmFcEs1H9IM59gi1HgHy52k+iUxJjPy1I0hfYroLFMoDlfI3auZchJ1XNKoiuBUmO0e9hGA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/signature-v4-multi-region@3.804.0':
+ resolution: {integrity: sha512-6wxi+f/uvddm2PVRG1gDkjnukfwhEtu3JUAvGqQ56VWbDyM69pxPnGjcwoxCKf0dX16mU8+kHT5CpXsRIpEkkw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/token-providers@3.804.0':
+ resolution: {integrity: sha512-ndcLGD1nHEVJdWRl0lK8SfC0dN4j3X4gcGXEJxK16KZD23veMB2adHP69ySYXNFNo5gI6W9Ct9QXnB+tJCCS1Q==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/token-providers@3.863.0':
+ resolution: {integrity: sha512-rGZ8QsnLWa725etzdPW2rH6+LN9eCcGsTIcxcCyh59cSgZLxT913q84WaUj6fOA7ElCOEU+WrV4Jiz4qwZI2DA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/types@3.804.0':
+ resolution: {integrity: sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/types@3.862.0':
+ resolution: {integrity: sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/util-arn-parser@3.804.0':
+ resolution: {integrity: sha512-wmBJqn1DRXnZu3b4EkE6CWnoWMo1ZMvlfkqU5zPz67xx1GMaXlDCchFvKAXMjk4jn/L1O3tKnoFDNsoLV1kgNQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/util-dynamodb@3.804.0':
+ resolution: {integrity: sha512-61KdWqnmeexNcDlVy86X4+QRaROelYwBcopCdfrMZvrNmbVqdk9Tps1FYaMO/jnUDqF201+2uwFHLe57ZqdWJg==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ '@aws-sdk/client-dynamodb': ^3.804.0
+
+ '@aws-sdk/util-endpoints@3.804.0':
+ resolution: {integrity: sha512-mT2R1De1fBT3vgm00ELVFoaArblW3PqGUCVteGGSUdJA525To7h6xPThrNrw3Dn8blAcR8VYGYte/JX7vKgFxw==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/util-endpoints@3.862.0':
+ resolution: {integrity: sha512-eCZuScdE9MWWkHGM2BJxm726MCmWk/dlHjOKvkM0sN1zxBellBMw5JohNss1Z8/TUmnW2gb9XHTOiHuGjOdksA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/util-format-url@3.804.0':
+ resolution: {integrity: sha512-1nOwSg7B0bj5LFGor0udF/HSdvDuSCxP+NC0IuSOJ5RgJ2AphFo03pLtK2UwArHY5WWZaejAEz5VBND6xxOEhA==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/util-locate-window@3.804.0':
+ resolution: {integrity: sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/util-user-agent-browser@3.804.0':
+ resolution: {integrity: sha512-KfW6T6nQHHM/vZBBdGn6fMyG/MgX5lq82TDdX4HRQRRuHKLgBWGpKXqqvBwqIaCdXwWHgDrg2VQups6GqOWW2A==}
+
+ '@aws-sdk/util-user-agent-browser@3.862.0':
+ resolution: {integrity: sha512-BmPTlm0r9/10MMr5ND9E92r8KMZbq5ltYXYpVcUbAsnB1RJ8ASJuRoLne5F7mB3YMx0FJoOTuSq7LdQM3LgW3Q==}
+
+ '@aws-sdk/util-user-agent-node@3.804.0':
+ resolution: {integrity: sha512-TacXL50ZHOeTUvN9LbHjS3muvvJNpzZp9cAtGRKpKXzlu8zCxPHrVU7dGOF6ONuNG30GpN2xzz81/XcCtg+8/A==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ aws-crt: '>=1.0.0'
+ peerDependenciesMeta:
+ aws-crt:
+ optional: true
+
+ '@aws-sdk/util-user-agent-node@3.863.0':
+ resolution: {integrity: sha512-qoYXCe07xs0z+MjcDGuNBbP8P47i6h13BiHsXxiMKKiCihB3w2slvRbJYwUwc2fzZWSk0isKbdDmsdNZBKyBHg==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ aws-crt: '>=1.0.0'
+ peerDependenciesMeta:
+ aws-crt:
+ optional: true
+
+ '@aws-sdk/xml-builder@3.804.0':
+ resolution: {integrity: sha512-JbGWp36IG9dgxtvC6+YXwt5WDZYfuamWFtVfK6fQpnmL96dx+GUPOXPKRWdw67WLKf2comHY28iX2d3z35I53Q==}
+ engines: {node: '>=18.0.0'}
+
+ '@aws-sdk/xml-builder@3.862.0':
+ resolution: {integrity: sha512-6Ed0kmC1NMbuFTEgNmamAUU1h5gShgxL1hBVLbEzUa3trX5aJBz1vU4bXaBTvOYUAnOHtiy1Ml4AMStd6hJnFA==}
+ engines: {node: '>=18.0.0'}
+
+ '@babel/code-frame@7.27.1':
+ resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.27.2':
+ resolution: {integrity: sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.27.1':
+ resolution: {integrity: sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.28.4':
+ resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.27.1':
+ resolution: {integrity: sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.28.3':
+ resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-annotate-as-pure@7.27.1':
+ resolution: {integrity: sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-compilation-targets@7.27.2':
+ resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-create-class-features-plugin@7.27.1':
+ resolution: {integrity: sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-create-regexp-features-plugin@7.27.1':
+ resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-define-polyfill-provider@0.6.4':
+ resolution: {integrity: sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ '@babel/helper-globals@7.28.0':
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-member-expression-to-functions@7.27.1':
+ resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.27.1':
+ resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-transforms@7.27.1':
+ resolution: {integrity: sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-module-transforms@7.28.3':
+ resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-optimise-call-expression@7.27.1':
+ resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-plugin-utils@7.27.1':
+ resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-remap-async-to-generator@7.27.1':
+ resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-replace-supers@7.27.1':
+ resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.27.1':
+ resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-option@7.27.1':
+ resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-wrap-function@7.27.1':
+ resolution: {integrity: sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.27.1':
+ resolution: {integrity: sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.28.4':
+ resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.27.2':
+ resolution: {integrity: sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/parser@7.28.4':
+ resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1':
+ resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1':
+ resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1':
+ resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1':
+ resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1':
+ resolution: {integrity: sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-async-generators@7.8.4':
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-bigint@7.8.3':
+ resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-class-properties@7.12.13':
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-class-static-block@7.14.5':
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-dynamic-import@7.8.3':
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-assertions@7.27.1':
+ resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-attributes@7.27.1':
+ resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-meta@7.10.4':
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-json-strings@7.8.3':
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-jsx@7.27.1':
+ resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4':
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-numeric-separator@7.10.4':
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-object-rest-spread@7.8.3':
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3':
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3':
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-private-property-in-object@7.14.5':
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-top-level-await@7.14.5':
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-typescript@7.27.1':
+ resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-arrow-functions@7.27.1':
+ resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-generator-functions@7.27.1':
+ resolution: {integrity: sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-to-generator@7.27.1':
+ resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoped-functions@7.27.1':
+ resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoping@7.27.1':
+ resolution: {integrity: sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-properties@7.27.1':
+ resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-static-block@7.27.1':
+ resolution: {integrity: sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+
+ '@babel/plugin-transform-classes@7.27.1':
+ resolution: {integrity: sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-computed-properties@7.27.1':
+ resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-destructuring@7.27.1':
+ resolution: {integrity: sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-dotall-regex@7.27.1':
+ resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-keys@7.27.1':
+ resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1':
+ resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-dynamic-import@7.27.1':
+ resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-exponentiation-operator@7.27.1':
+ resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-export-namespace-from@7.27.1':
+ resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-for-of@7.27.1':
+ resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-function-name@7.27.1':
+ resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-json-strings@7.27.1':
+ resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-literals@7.27.1':
+ resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-logical-assignment-operators@7.27.1':
+ resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-member-expression-literals@7.27.1':
+ resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-amd@7.27.1':
+ resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-commonjs@7.27.1':
+ resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-systemjs@7.27.1':
+ resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-umd@7.27.1':
+ resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.27.1':
+ resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-new-target@7.27.1':
+ resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.27.1':
+ resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-numeric-separator@7.27.1':
+ resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-rest-spread@7.27.2':
+ resolution: {integrity: sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-super@7.27.1':
+ resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-catch-binding@7.27.1':
+ resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-chaining@7.27.1':
+ resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-parameters@7.27.1':
+ resolution: {integrity: sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-methods@7.27.1':
+ resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-property-in-object@7.27.1':
+ resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-property-literals@7.27.1':
+ resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-constant-elements@7.27.1':
+ resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-display-name@7.27.1':
+ resolution: {integrity: sha512-p9+Vl3yuHPmkirRrg021XiP+EETmPMQTLr6Ayjj85RLNEbb3Eya/4VI0vAdzQG9SEAl2Lnt7fy5lZyMzjYoZQQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx-development@7.27.1':
+ resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx@7.27.1':
+ resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-pure-annotations@7.27.1':
+ resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regenerator@7.27.1':
+ resolution: {integrity: sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regexp-modifiers@7.27.1':
+ resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-reserved-words@7.27.1':
+ resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-runtime@7.27.1':
+ resolution: {integrity: sha512-TqGF3desVsTcp3WrJGj4HfKokfCXCLcHpt4PJF0D8/iT6LPd9RS82Upw3KPeyr6B22Lfd3DO8MVrmp0oRkUDdw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-shorthand-properties@7.27.1':
+ resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-spread@7.27.1':
+ resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-sticky-regex@7.27.1':
+ resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-template-literals@7.27.1':
+ resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typeof-symbol@7.27.1':
+ resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typescript@7.27.1':
+ resolution: {integrity: sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-escapes@7.27.1':
+ resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-property-regex@7.27.1':
+ resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-regex@7.27.1':
+ resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-sets-regex@7.27.1':
+ resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/polyfill@7.12.1':
+ resolution: {integrity: sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==}
+ deprecated: šØ This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.
+
+ '@babel/preset-env@7.27.2':
+ resolution: {integrity: sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-modules@0.1.6-no-external-plugins':
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+
+ '@babel/preset-react@7.27.1':
+ resolution: {integrity: sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-typescript@7.27.1':
+ resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/runtime-corejs3@7.27.1':
+ resolution: {integrity: sha512-909rVuj3phpjW6y0MCXAZ5iNeORePa6ldJvp2baWGcTjwqbBDDz6xoS5JHJ7lS88NlwLYj07ImL/8IUMtDZzTA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/runtime@7.27.1':
+ resolution: {integrity: sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/template@7.27.2':
+ resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.27.1':
+ resolution: {integrity: sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.28.4':
+ resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.27.1':
+ resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.28.4':
+ resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@bcoe/v8-coverage@0.2.3':
+ resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+
+ '@bufbuild/protobuf@1.10.1':
+ resolution: {integrity: sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==}
+
+ '@casual-simulation/engine262@0.0.1-4de2170374e22761996e46eb1362f4496ee57f8f':
+ resolution: {integrity: sha512-kRUMP6IEnQd/zg9Zv08BfevOkwesbiZsU3QFo5Y+qijg8SjGEZUYQg9zF/psGdto/QAJPiBeo6LsIdARyAjY+A==}
+ hasBin: true
+
+ '@casual-simulation/error-stack-parser@2.0.7':
+ resolution: {integrity: sha512-an69t0bPOLl1mlxrHH/bDOEYEj75yaARfmzNhuzfM+klAzwUk2I5Y/INZ5iRE8ZHIH2/gieAVsLyFzzkygPMGg==}
+
+ '@casual-simulation/monaco-editor@0.47.1':
+ resolution: {integrity: sha512-cCzGOoYqGM5+OAL7u26L2BcPSG0hvOt9SgF+Xg/x3n5A/9rxdn+bZVNr+9Uwhbq40Kazl58M3se5wJadpg+Vlg==}
+
+ '@casual-simulation/three@0.140.3':
+ resolution: {integrity: sha512-kAwbTV0UkqR0/IhaEIYqk2yvUVFWy7HcQtsatOuFzn2TDdRxM4OecCUPxOeDgFY8TG30t3hLF+qmALBIhGy4nQ==}
+
+ '@chenfengyuan/vue-qrcode@1.0.2':
+ resolution: {integrity: sha512-hwy1d4YMJAyEh+V7dLPG8eAKACRvugzSB4ylwb6QNqo84KHTF50/5EJcBYdUhTRPfAqrxG0i6jDAXONWOGyQbQ==}
+ peerDependencies:
+ vue: ^2.6.0
+
+ '@colors/colors@1.5.0':
+ resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
+ engines: {node: '>=0.1.90'}
+
+ '@csstools/color-helpers@5.0.2':
+ resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==}
+ engines: {node: '>=18'}
+
+ '@csstools/css-calc@2.1.3':
+ resolution: {integrity: sha512-XBG3talrhid44BY1x3MHzUx/aTG8+x/Zi57M4aTKK9RFB4aLlF3TTSzfzn8nWVHWL3FgAXAxmupmDd6VWww+pw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.4
+ '@csstools/css-tokenizer': ^3.0.3
+
+ '@csstools/css-color-parser@3.0.9':
+ resolution: {integrity: sha512-wILs5Zk7BU86UArYBJTPy/FMPPKVKHMj1ycCEyf3VUptol0JNRLFU/BZsJ4aiIHJEbSLiizzRrw8Pc1uAEDrXw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^3.0.4
+ '@csstools/css-tokenizer': ^3.0.3
+
+ '@csstools/css-parser-algorithms@3.0.4':
+ resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@csstools/css-tokenizer': ^3.0.3
+
+ '@csstools/css-tokenizer@3.0.3':
+ resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==}
+ engines: {node: '>=18'}
+
+ '@discoveryjs/json-ext@0.5.7':
+ resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
+ engines: {node: '>=10.0.0'}
+
+ '@docsearch/css@3.9.0':
+ resolution: {integrity: sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==}
+
+ '@docsearch/react@3.9.0':
+ resolution: {integrity: sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==}
+ peerDependencies:
+ '@types/react': '>= 16.8.0 < 20.0.0'
+ react: '>= 16.8.0 < 20.0.0'
+ react-dom: '>= 16.8.0 < 20.0.0'
+ search-insights: '>= 1 < 3'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ search-insights:
+ optional: true
+
+ '@docusaurus/core@3.5.2':
+ resolution: {integrity: sha512-4Z1WkhCSkX4KO0Fw5m/Vuc7Q3NxBG53NE5u59Rs96fWkMPZVSrzEPP16/Nk6cWb/shK7xXPndTmalJtw7twL/w==}
+ engines: {node: '>=18.0'}
+ hasBin: true
+ peerDependencies:
+ '@mdx-js/react': ^3.0.0
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/cssnano-preset@3.5.2':
+ resolution: {integrity: sha512-D3KiQXOMA8+O0tqORBrTOEQyQxNIfPm9jEaJoALjjSjc2M/ZAWcUfPQEnwr2JB2TadHw2gqWgpZckQmrVWkytA==}
+ engines: {node: '>=18.0'}
+
+ '@docusaurus/logger@3.5.2':
+ resolution: {integrity: sha512-LHC540SGkeLfyT3RHK3gAMK6aS5TRqOD4R72BEU/DE2M/TY8WwEUAMY576UUc/oNJXv8pGhBmQB6N9p3pt8LQw==}
+ engines: {node: '>=18.0'}
+
+ '@docusaurus/mdx-loader@3.5.2':
+ resolution: {integrity: sha512-ku3xO9vZdwpiMIVd8BzWV0DCqGEbCP5zs1iHfKX50vw6jX8vQo0ylYo1YJMZyz6e+JFJ17HYHT5FzVidz2IflA==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/module-type-aliases@3.5.2':
+ resolution: {integrity: sha512-Z+Xu3+2rvKef/YKTMxZHsEXp1y92ac0ngjDiExRdqGTmEKtCUpkbNYH8v5eXo5Ls+dnW88n6WTa+Q54kLOkwPg==}
+ peerDependencies:
+ react: '*'
+ react-dom: '*'
+
+ '@docusaurus/plugin-client-redirects@3.5.2':
+ resolution: {integrity: sha512-GMU0ZNoVG1DEsZlBbwLPdh0iwibrVZiRfmdppvX17SnByCVP74mb/Nne7Ss7ALgxQLtM4IHbXi8ij90VVjAJ+Q==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/plugin-content-blog@3.5.2':
+ resolution: {integrity: sha512-R7ghWnMvjSf+aeNDH0K4fjyQnt5L0KzUEnUhmf1e3jZrv3wogeytZNN6n7X8yHcMsuZHPOrctQhXWnmxu+IRRg==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ '@docusaurus/plugin-content-docs': '*'
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/plugin-content-docs@3.5.2':
+ resolution: {integrity: sha512-Bt+OXn/CPtVqM3Di44vHjE7rPCEsRCB/DMo2qoOuozB9f7+lsdrHvD0QCHdBs0uhz6deYJDppAr2VgqybKPlVQ==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/plugin-content-pages@3.5.2':
+ resolution: {integrity: sha512-WzhHjNpoQAUz/ueO10cnundRz+VUtkjFhhaQ9jApyv1a46FPURO4cef89pyNIOMny1fjDz/NUN2z6Yi+5WUrCw==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/plugin-debug@3.5.2':
+ resolution: {integrity: sha512-kBK6GlN0itCkrmHuCS6aX1wmoWc5wpd5KJlqQ1FyrF0cLDnvsYSnh7+ftdwzt7G6lGBho8lrVwkkL9/iQvaSOA==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/plugin-google-analytics@3.5.2':
+ resolution: {integrity: sha512-rjEkJH/tJ8OXRE9bwhV2mb/WP93V441rD6XnM6MIluu7rk8qg38iSxS43ga2V2Q/2ib53PcqbDEJDG/yWQRJhQ==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/plugin-google-gtag@3.5.2':
+ resolution: {integrity: sha512-lm8XL3xLkTPHFKKjLjEEAHUrW0SZBSHBE1I+i/tmYMBsjCcUB5UJ52geS5PSiOCFVR74tbPGcPHEV/gaaxFeSA==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/plugin-google-tag-manager@3.5.2':
+ resolution: {integrity: sha512-QkpX68PMOMu10Mvgvr5CfZAzZQFx8WLlOiUQ/Qmmcl6mjGK6H21WLT5x7xDmcpCoKA/3CegsqIqBR+nA137lQg==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/plugin-sitemap@3.5.2':
+ resolution: {integrity: sha512-DnlqYyRAdQ4NHY28TfHuVk414ft2uruP4QWCH//jzpHjqvKyXjj2fmDtI8RPUBh9K8iZKFMHRnLtzJKySPWvFA==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/preset-classic@3.5.2':
+ resolution: {integrity: sha512-3ihfXQ95aOHiLB5uCu+9PRy2gZCeSZoDcqpnDvf3B+sTrMvMTr8qRUzBvWkoIqc82yG5prCboRjk1SVILKx6sg==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/react-loadable@6.0.0':
+ resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==}
+ peerDependencies:
+ react: '*'
+
+ '@docusaurus/theme-classic@3.5.2':
+ resolution: {integrity: sha512-XRpinSix3NBv95Rk7xeMF9k4safMkwnpSgThn0UNQNumKvmcIYjfkwfh2BhwYh/BxMXQHJ/PdmNh22TQFpIaYg==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/theme-common@3.5.2':
+ resolution: {integrity: sha512-QXqlm9S6x9Ibwjs7I2yEDgsCocp708DrCrgHgKwg2n2AY0YQ6IjU0gAK35lHRLOvAoJUfCKpQAwUykB0R7+Eew==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ '@docusaurus/plugin-content-docs': '*'
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/theme-search-algolia@3.5.2':
+ resolution: {integrity: sha512-qW53kp3VzMnEqZGjakaV90sst3iN1o32PH+nawv1uepROO8aEGxptcq2R5rsv7aBShSRbZwIobdvSYKsZ5pqvA==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/theme-translations@3.5.2':
+ resolution: {integrity: sha512-GPZLcu4aT1EmqSTmbdpVrDENGR2yObFEX8ssEFYTCiAIVc0EihNSdOIBTazUvgNqwvnoU1A8vIs1xyzc3LITTw==}
+ engines: {node: '>=18.0'}
+
+ '@docusaurus/types@3.5.2':
+ resolution: {integrity: sha512-N6GntLXoLVUwkZw7zCxwy9QiuEXIcTVzA9AkmNw16oc0AP3SXLrMmDMMBIfgqwuKWa6Ox6epHol9kMtJqekACw==}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+
+ '@docusaurus/utils-common@3.5.2':
+ resolution: {integrity: sha512-i0AZjHiRgJU6d7faQngIhuHKNrszpL/SHQPgF1zH4H+Ij6E9NBYGy6pkcGWToIv7IVPbs+pQLh1P3whn0gWXVg==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ '@docusaurus/types': '*'
+ peerDependenciesMeta:
+ '@docusaurus/types':
+ optional: true
+
+ '@docusaurus/utils-validation@3.5.2':
+ resolution: {integrity: sha512-m+Foq7augzXqB6HufdS139PFxDC5d5q2QKZy8q0qYYvGdI6nnlNsGH4cIGsgBnV7smz+mopl3g4asbSDvMV0jA==}
+ engines: {node: '>=18.0'}
+
+ '@docusaurus/utils@3.5.2':
+ resolution: {integrity: sha512-33QvcNFh+Gv+C2dP9Y9xWEzMgf3JzrpL2nW9PopidiohS1nDcyknKRx2DWaFvyVTTYIkkABVSr073VTj/NITNA==}
+ engines: {node: '>=18.0'}
+ peerDependencies:
+ '@docusaurus/types': '*'
+ peerDependenciesMeta:
+ '@docusaurus/types':
+ optional: true
+
+ '@emnapi/core@1.5.0':
+ resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==}
+
+ '@emnapi/runtime@1.5.0':
+ resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
+
+ '@emnapi/wasi-threads@1.1.0':
+ resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
+
+ '@ericblade/quagga2@1.4.2':
+ resolution: {integrity: sha512-MZXX8Sh5wHNLrB+1qfMi0c8tz+LJibOJv/c6WoSc5SbGdqWBMAMZv6p1N8Wu/JtFlhlXtw7RzvIz3I3ZMuaJjw==}
+ engines: {node: '>= 10.0'}
+
+ '@esbuild/aix-ppc64@0.19.12':
+ resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/aix-ppc64@0.21.5':
+ resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.19.12':
+ resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm64@0.21.5':
+ resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.19.12':
+ resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-arm@0.21.5':
+ resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.19.12':
+ resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/android-x64@0.21.5':
+ resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.19.12':
+ resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-arm64@0.21.5':
+ resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.19.12':
+ resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.21.5':
+ resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.19.12':
+ resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-arm64@0.21.5':
+ resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.19.12':
+ resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.21.5':
+ resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.19.12':
+ resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm64@0.21.5':
+ resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.19.12':
+ resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.21.5':
+ resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.19.12':
+ resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.21.5':
+ resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.19.12':
+ resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.21.5':
+ resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.19.12':
+ resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.21.5':
+ resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.19.12':
+ resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.21.5':
+ resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.19.12':
+ resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.21.5':
+ resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.19.12':
+ resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.21.5':
+ resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.19.12':
+ resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.21.5':
+ resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-x64@0.19.12':
+ resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.21.5':
+ resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-x64@0.19.12':
+ resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.21.5':
+ resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/sunos-x64@0.19.12':
+ resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/sunos-x64@0.21.5':
+ resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.19.12':
+ resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-arm64@0.21.5':
+ resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.19.12':
+ resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.21.5':
+ resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.19.12':
+ resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.21.5':
+ resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
+ '@eslint-community/eslint-utils@4.7.0':
+ resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+
+ '@eslint-community/regexpp@4.12.1':
+ resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ '@eslint/config-array@0.20.0':
+ resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/config-helpers@0.2.2':
+ resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/core@0.13.0':
+ resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/eslintrc@3.3.1':
+ resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/js@9.26.0':
+ resolution: {integrity: sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/object-schema@2.1.6':
+ resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/plugin-kit@0.2.8':
+ resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@gar/promisify@1.1.3':
+ resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
+
+ '@google/generative-ai@0.11.3':
+ resolution: {integrity: sha512-QtQ1hz6rcybbw35uxXlFF26KNnaTVr2oWwnmDkC1M35KdzN4tVc4wakgJp8uXbY9KDCNHksyp11DbFg0HPckZQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@grpc/grpc-js@1.13.3':
+ resolution: {integrity: sha512-FTXHdOoPbZrBjlVLHuKbDZnsTxXv2BlHF57xw6LuThXacXvtkahEPED0CKMk6obZDf65Hv4k3z62eyPNpvinIg==}
+ engines: {node: '>=12.10.0'}
+
+ '@grpc/proto-loader@0.7.15':
+ resolution: {integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ '@hapi/hoek@9.3.0':
+ resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
+
+ '@hapi/topo@5.1.0':
+ resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+
+ '@hexagon/base64@1.1.28':
+ resolution: {integrity: sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw==}
+
+ '@humanfs/core@0.19.1':
+ resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanfs/node@0.16.6':
+ resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanwhocodes/module-importer@1.0.1':
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+
+ '@humanwhocodes/retry@0.3.1':
+ resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
+ engines: {node: '>=18.18'}
+
+ '@humanwhocodes/retry@0.4.3':
+ resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
+ engines: {node: '>=18.18'}
+
+ '@hutson/parse-repository-url@3.0.2':
+ resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@ioredis/commands@1.2.0':
+ resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==}
+
+ '@ioredis/commands@1.3.0':
+ resolution: {integrity: sha512-M/T6Zewn7sDaBQEqIZ8Rb+i9y8qfGmq+5SDFSf9sA2lUZTmdDLVdOiQaeDp+Q4wElZ9HG1GAX5KhDaidp6LQsQ==}
+
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+
+ '@isaacs/string-locale-compare@1.1.0':
+ resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==}
+
+ '@istanbuljs/load-nyc-config@1.1.0':
+ resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
+ engines: {node: '>=8'}
+
+ '@istanbuljs/schema@0.1.3':
+ resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
+ engines: {node: '>=8'}
+
+ '@jest/console@29.7.0':
+ resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ '@jest/console@30.2.0':
+ resolution: {integrity: sha512-+O1ifRjkvYIkBqASKWgLxrpEhQAAE7hY77ALLUufSk5717KfOShg6IbqLmdsLMPdUiFvA2kTs0R7YZy+l0IzZQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/core@30.2.0':
+ resolution: {integrity: sha512-03W6IhuhjqTlpzh/ojut/pDB2LPRygyWX8ExpgHtQA8H/3K7+1vKmcINx5UzeOX1se6YEsBsOHQ1CRzf3fOwTQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ '@jest/diff-sequences@30.0.1':
+ resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/environment-jsdom-abstract@30.2.0':
+ resolution: {integrity: sha512-kazxw2L9IPuZpQ0mEt9lu9Z98SqR74xcagANmMBU16X0lS23yPc0+S6hGLUz8kVRlomZEs/5S/Zlpqwf5yu6OQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ canvas: ^3.0.0
+ jsdom: '*'
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+
+ '@jest/environment@30.2.0':
+ resolution: {integrity: sha512-/QPTL7OBJQ5ac09UDRa3EQes4gt1FTEG/8jZ/4v5IVzx+Cv7dLxlVIvfvSVRiiX2drWyXeBjkMSR8hvOWSog5g==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/expect-utils@29.7.0':
+ resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ '@jest/expect-utils@30.2.0':
+ resolution: {integrity: sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/expect@30.2.0':
+ resolution: {integrity: sha512-V9yxQK5erfzx99Sf+7LbhBwNWEZ9eZay8qQ9+JSC0TrMR1pMDHLMY+BnVPacWU6Jamrh252/IKo4F1Xn/zfiqA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/fake-timers@30.2.0':
+ resolution: {integrity: sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/get-type@30.1.0':
+ resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/globals@30.2.0':
+ resolution: {integrity: sha512-b63wmnKPaK+6ZZfpYhz9K61oybvbI1aMcIs80++JI1O1rR1vaxHUCNqo3ITu6NU0d4V34yZFoHMn/uoKr/Rwfw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/pattern@30.0.1':
+ resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/reporters@30.2.0':
+ resolution: {integrity: sha512-DRyW6baWPqKMa9CzeiBjHwjd8XeAyco2Vt8XbcLFjiwCOEKOvy82GJ8QQnJE9ofsxCMPjH4MfH8fCWIHHDKpAQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ '@jest/schemas@29.6.3':
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ '@jest/schemas@30.0.5':
+ resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/snapshot-utils@30.2.0':
+ resolution: {integrity: sha512-0aVxM3RH6DaiLcjj/b0KrIBZhSX1373Xci4l3cW5xiUWPctZ59zQ7jj4rqcJQ/Z8JuN/4wX3FpJSa3RssVvCug==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/source-map@30.0.1':
+ resolution: {integrity: sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/test-result@29.7.0':
+ resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ '@jest/test-result@30.2.0':
+ resolution: {integrity: sha512-RF+Z+0CCHkARz5HT9mcQCBulb1wgCP3FBvl9VFokMX27acKphwyQsNuWH3c+ojd1LeWBLoTYoxF0zm6S/66mjg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/test-sequencer@30.2.0':
+ resolution: {integrity: sha512-wXKgU/lk8fKXMu/l5Hog1R61bL4q5GCdT6OJvdAFz1P+QrpoFuLU68eoKuVc4RbrTtNnTL5FByhWdLgOPSph+Q==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/transform@30.2.0':
+ resolution: {integrity: sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jest/types@27.5.1':
+ resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/types@29.6.3':
+ resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ '@jest/types@30.2.0':
+ resolution: {integrity: sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+
+ '@jridgewell/gen-mapping@0.3.8':
+ resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/set-array@1.2.1':
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/source-map@0.3.6':
+ resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
+
+ '@jridgewell/sourcemap-codec@1.5.0':
+ resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+
+ '@js-sdsl/ordered-map@4.4.2':
+ resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==}
+
+ '@juggle/resize-observer@2.3.0':
+ resolution: {integrity: sha512-vCS2dz1HAG760+vADa7Fol/NhrmdyDa58Nvq39TpdwYjCqTEDFmIFCDGRiKGSw4GPoDRcx/+xwOYlJdMeNUKRw==}
+
+ '@kwsites/file-exists@1.1.1':
+ resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==}
+
+ '@kwsites/promise-deferred@1.1.1':
+ resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==}
+
+ '@leichtgewicht/ip-codec@2.0.5':
+ resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==}
+
+ '@lerna/create@8.0.0':
+ resolution: {integrity: sha512-mCeEhjFDRwPY7J4uxCjqdzPwPFBUGlkdlQjBidaX5XaoQcxR2hAAvgHZKfVGkUUEZKfyPcWwKzen4KydNB2G7A==}
+ engines: {node: '>=18.0.0'}
+
+ '@levischuck/tiny-cbor@0.2.11':
+ resolution: {integrity: sha512-llBRm4dT4Z89aRsm6u2oEZ8tfwL/2l6BwpZ7JcyieouniDECM5AqNgr/y08zalEIvW3RSK4upYyybDcmjXqAow==}
+
+ '@libsql/client@0.15.14':
+ resolution: {integrity: sha512-oXeFYcSyAsYWvpWVmynrwNwb+NHNHtMfSIVdfQTF1B9RsgDXQE5YCDP3SS0i1FA8nuLWy2trFDVwP1b2LNdNPQ==}
+
+ '@libsql/core@0.15.14':
+ resolution: {integrity: sha512-b2eVQma78Ss+edIIFi7LnhhyUy5hAJjYvrSAD5RFdO/YKP2rEvNAT1pIn2Li7NrqcsMmoEQWlpUWH4fWMdXtpQ==}
+
+ '@libsql/darwin-arm64@0.5.20':
+ resolution: {integrity: sha512-faHM2FX26xruO4w76YkW+lA28yKcTIzNiGvK9Q8+8sCuC7cn3KdMO6KJ84c6fJQwtwG+F4hxIoy95U5FYge3bg==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@libsql/darwin-x64@0.5.20':
+ resolution: {integrity: sha512-19l0oEW/r2kZxDJg+w53C0kq7eFFKpeKDEjV/FAAkBfQwJoGqS4sep9u1fK1X3KzOF5rB8cVyIrQGk+6ibzUeQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@libsql/hrana-client@0.7.0':
+ resolution: {integrity: sha512-OF8fFQSkbL7vJY9rfuegK1R7sPgQ6kFMkDamiEccNUvieQ+3urzfDFI616oPl8V7T9zRmnTkSjMOImYCAVRVuw==}
+
+ '@libsql/isomorphic-fetch@0.3.1':
+ resolution: {integrity: sha512-6kK3SUK5Uu56zPq/Las620n5aS9xJq+jMBcNSOmjhNf/MUvdyji4vrMTqD7ptY7/4/CAVEAYDeotUz60LNQHtw==}
+ engines: {node: '>=18.0.0'}
+
+ '@libsql/isomorphic-ws@0.1.5':
+ resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==}
+
+ '@libsql/linux-arm-gnueabihf@0.5.20':
+ resolution: {integrity: sha512-vfw5/R00ysWG0iMLxqV8I5mVnHwjofxuLAL9i6wwdexIIXusG1ExSIOP8/W6xvjPXetgzEVRo4A7zr1S6SGBBg==}
+ cpu: [arm]
+ os: [linux]
+
+ '@libsql/linux-arm-musleabihf@0.5.20':
+ resolution: {integrity: sha512-VGqyvg0k3bg0JMMHCR0XrqBseFU9syWRxEbC0Aluipkw5Xsb+DSr9cNvMtGUbGDg2pEfkY/DDa9hTlst6K7P5w==}
+ cpu: [arm]
+ os: [linux]
+
+ '@libsql/linux-arm64-gnu@0.5.20':
+ resolution: {integrity: sha512-Wq6oF4goWp20G/LBmI6rdFY716bb81VCzyglkkAwqMwdJeIsaC0DRvD62nx1OSbSZmZMRDobqoe2ZP8BvMvXyQ==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@libsql/linux-arm64-gnu@0.5.22':
+ resolution: {integrity: sha512-KSdnOMy88c9mpOFKUEzPskSaF3VLflfSUCBwas/pn1/sV3pEhtMF6H8VUCd2rsedwoukeeCSEONqX7LLnQwRMA==}
+ os: [linux]
+
+ '@libsql/linux-arm64-musl@0.5.20':
+ resolution: {integrity: sha512-Xb112/q3/Z6lKKhwJgR2QVRYtRQblEB69VbStIVjKKw5RZv+r77ZSOHfsR3RHL+R66VN431+DLJBV0+B+AImQw==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@libsql/linux-x64-gnu@0.5.20':
+ resolution: {integrity: sha512-fHUaOYx7cVqbqPLqOIArfPsuWnu+jk9ETR0gt/8rH1J6pW5qhdDWn3B35Hk/ZmzNacBFSWZnHxxhWnZMWYVnVA==}
+ cpu: [x64]
+ os: [linux]
+
+ '@libsql/linux-x64-gnu@0.5.22':
+ resolution: {integrity: sha512-kNBHaIkSg78Y4BqAdgjcR2mBilZXs4HYkAmi58J+4GRwDQZh5fIUWbnQvB9f95DkWUIGVeenqLRFY2pcTmlsew==}
+ os: [linux]
+
+ '@libsql/linux-x64-musl@0.5.20':
+ resolution: {integrity: sha512-EpT1Va1L/y2w0Sj75lxRmaTyX/MD32eKpZiz++3mrE2zRTYAURo9GEbglvSC6Y5aRnLcHPx6XmR25wigRb8WZg==}
+ cpu: [x64]
+ os: [linux]
+
+ '@libsql/win32-x64-msvc@0.5.20':
+ resolution: {integrity: sha512-3/G5/SZWXmOCaNwEwDdiXEpjeY7NGx1khPjON1yi3BViKrb2TJiiHHn6zpCN7+ZWNibQFZylkETSTURRlealNA==}
+ cpu: [x64]
+ os: [win32]
+
+ '@libsql/win32-x64-msvc@0.5.22':
+ resolution: {integrity: sha512-Fj0j8RnBpo43tVZUVoNK6BV/9AtDUM5S7DF3LB4qTYg1LMSZqi3yeCneUTLJD6XomQJlZzbI4mst89yspVSAnA==}
+ os: [win32]
+
+ '@livekit/protocol@1.15.0':
+ resolution: {integrity: sha512-KVjM1odPzEWkXB4QQyz2qfiecHo74wLeb8YDhaX/cNnxUk0H1L35H0gVgLA8Y6fXkF3ayOHQnXO9V3GzulMyXw==}
+
+ '@livekit/protocol@1.37.1':
+ resolution: {integrity: sha512-L0Nc7QpvNPoVpHMzsFpgpgoeVWfGRZA5pBHPsr7ut7vf8jBd3/cMMRMmR2RnP84HXX3qvZ+L1kMYk86xhDvh2A==}
+
+ '@logdna/tail-file@2.2.0':
+ resolution: {integrity: sha512-XGSsWDweP80Fks16lwkAUIr54ICyBs6PsI4mpfTLQaWgEJRtY9xEV+PeyDpJ+sJEGZxqINlpmAwe/6tS1pP8Ng==}
+ engines: {node: '>=10.3.0'}
+
+ '@loomhq/loom-embed@1.7.0':
+ resolution: {integrity: sha512-HJE+N/iUWLHpLhdo3afp9I9jbMo00JecaHRdXlhN2JXVbaaRR0Kcf+bN+KvdeQqfSIDI0a2I4UOs3zX2bgUI5g==}
+
+ '@loomhq/record-sdk@3.14.4':
+ resolution: {integrity: sha512-j9V+ZaUI88czHQvU9NHowoeBnGjxeZrdJpvsc79M+omNlxrlX96ISCAH/YJJTLrJ36vTMHpEfoUn228U0LV1vw==}
+
+ '@mdx-js/mdx@3.0.0':
+ resolution: {integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==}
+
+ '@mdx-js/react@3.0.0':
+ resolution: {integrity: sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ==}
+ peerDependencies:
+ '@types/react': '>=16'
+ react: '>=16'
+
+ '@modelcontextprotocol/sdk@1.11.0':
+ resolution: {integrity: sha512-k/1pb70eD638anoi0e8wUGAlbMJXyvdV4p62Ko+EZ7eBe1xMx8Uhak1R5DgfoofsK5IBBnRwsYGTaLZl+6/+RQ==}
+ engines: {node: '>=18'}
+
+ '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3':
+ resolution: {integrity: sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3':
+ resolution: {integrity: sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3':
+ resolution: {integrity: sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3':
+ resolution: {integrity: sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==}
+ cpu: [arm]
+ os: [linux]
+
+ '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3':
+ resolution: {integrity: sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==}
+ cpu: [x64]
+ os: [linux]
+
+ '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3':
+ resolution: {integrity: sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==}
+ cpu: [x64]
+ os: [win32]
+
+ '@napi-rs/wasm-runtime@0.2.12':
+ resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
+
+ '@neon-rs/load@0.0.4':
+ resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@npmcli/agent@2.2.2':
+ resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/arborist@7.5.4':
+ resolution: {integrity: sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+ hasBin: true
+
+ '@npmcli/fs@2.1.2':
+ resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+
+ '@npmcli/fs@3.1.1':
+ resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/git@4.1.0':
+ resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/git@5.0.8':
+ resolution: {integrity: sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/installed-package-contents@2.1.0':
+ resolution: {integrity: sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+
+ '@npmcli/map-workspaces@3.0.6':
+ resolution: {integrity: sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/metavuln-calculator@7.1.1':
+ resolution: {integrity: sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/move-file@2.0.1':
+ resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ deprecated: This functionality has been moved to @npmcli/fs
+
+ '@npmcli/name-from-folder@2.0.0':
+ resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/node-gyp@3.0.0':
+ resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/package-json@5.2.1':
+ resolution: {integrity: sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/promise-spawn@6.0.2':
+ resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/promise-spawn@7.0.2':
+ resolution: {integrity: sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/query@3.1.0':
+ resolution: {integrity: sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/redact@2.0.1':
+ resolution: {integrity: sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@npmcli/run-script@6.0.2':
+ resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@npmcli/run-script@8.1.0':
+ resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@nrwl/devkit@17.3.2':
+ resolution: {integrity: sha512-31wh7dDZPM1YUCfhhk/ioHnUeoPIlKYLFLW0fGdw76Ow2nmTqrmxha2m0CSIR1/9En9GpYut2IdUdNh9CctNlA==}
+
+ '@nrwl/tao@17.3.2':
+ resolution: {integrity: sha512-5uvpSmij0J9tteFV/0M/024K+H/o3XAlqtSdU8j03Auj1IleclSLF2yCTuIo7pYXhG3cgx1+nR+3nMs1QVAdUA==}
+ hasBin: true
+
+ '@nx/devkit@17.3.2':
+ resolution: {integrity: sha512-gbOIhwrZKCSSFFbh6nE6LLCvAU7mhSdBSnRiS14YBwJJMu4CRJ0IcaFz58iXqGWZefMivKtkNFtx+zqwUC4ziw==}
+ peerDependencies:
+ nx: '>= 16 <= 18'
+
+ '@nx/nx-darwin-arm64@17.3.2':
+ resolution: {integrity: sha512-hn12o/tt26Pf4wG+8rIBgNIEZq5BFlHLv3scNrgKbd5SancHlTbY4RveRGct737UQ/78GCMCgMDRgNdagbCr6w==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@nx/nx-darwin-x64@17.3.2':
+ resolution: {integrity: sha512-5F28wrfE7yU60MzEXGjndy1sPJmNMIaV2W/g82kTXzxAbGHgSjwrGFmrJsrexzLp9oDlWkbc6YmInKV8gmmIaQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@nx/nx-freebsd-x64@17.3.2':
+ resolution: {integrity: sha512-07MMTfsJooONqL1Vrm5L6qk/gzmSrYLazjkiTmJz+9mrAM61RdfSYfO3mSyAoyfgWuQ5yEvfI56P036mK8aoPg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@nx/nx-linux-arm-gnueabihf@17.3.2':
+ resolution: {integrity: sha512-gQxMF6U/h18Rz+FZu50DZCtfOdk27hHghNh3d3YTeVsrJTd1SmUQbYublmwU/ia1HhFS8RVI8GvkaKt5ph0HoA==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@nx/nx-linux-arm64-gnu@17.3.2':
+ resolution: {integrity: sha512-X20wiXtXmKlC01bpVEREsRls1uVOM22xDTpqILvVty6+P+ytEYFR3Vs5EjDtzBKF51wjrwf03rEoToZbmgM8MA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@nx/nx-linux-arm64-musl@17.3.2':
+ resolution: {integrity: sha512-yko3Xsezkn4tjeudZYLjxFl07X/YB84K+DLK7EFyh9elRWV/8VjFcQmBAKUS2r9LfaEMNXq8/vhWMOWYyWBrIA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@nx/nx-linux-x64-gnu@17.3.2':
+ resolution: {integrity: sha512-RiPvvQMmlZmDu9HdT6n6sV0+fEkyAqR5VocrD5ZAzEzFIlh4dyVLripFR3+MD+QhIhXyPt/hpri1kq9sgs4wnw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@nx/nx-linux-x64-musl@17.3.2':
+ resolution: {integrity: sha512-PWfVGmFsFJi+N1Nljg/jTKLHdufpGuHlxyfHqhDso/o4Qc0exZKSeZ1C63WkD7eTcT5kInifTQ/PffLiIDE3MA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@nx/nx-win32-arm64-msvc@17.3.2':
+ resolution: {integrity: sha512-O+4FFPbQz1mqaIj+SVE02ppe7T9ELj7Z5soQct5TbRRhwjGaw5n5xaPPBW7jUuQe2L5htid1E82LJyq3JpVc8A==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@nx/nx-win32-x64-msvc@17.3.2':
+ resolution: {integrity: sha512-4hQm+7coy+hBqGY9J709hz/tUPijhf/WS7eML2r2xBmqBew3PMHfeZuaAAYWN690nIsu0WX3wyDsNjulR8HGPQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@octokit/app@15.1.6':
+ resolution: {integrity: sha512-WELCamoCJo9SN0lf3SWZccf68CF0sBNPQuLYmZ/n87p5qvBJDe9aBtr5dHkh7T9nxWZ608pizwsUbypSzZAiUw==}
+ engines: {node: '>= 18'}
+
+ '@octokit/auth-app@7.2.1':
+ resolution: {integrity: sha512-4jaopCVOtWN0V8qCx/1s2pkRqC6tcvIQM3kFB99eIpsP53GfsoIKO08D94b83n/V3iGihHmxWR2lXzE0NicUGg==}
+ engines: {node: '>= 18'}
+
+ '@octokit/auth-oauth-app@8.1.4':
+ resolution: {integrity: sha512-71iBa5SflSXcclk/OL3lJzdt4iFs56OJdpBGEBl1wULp7C58uiswZLV6TdRaiAzHP1LT8ezpbHlKuxADb+4NkQ==}
+ engines: {node: '>= 18'}
+
+ '@octokit/auth-oauth-device@7.1.5':
+ resolution: {integrity: sha512-lR00+k7+N6xeECj0JuXeULQ2TSBB/zjTAmNF2+vyGPDEFx1dgk1hTDmL13MjbSmzusuAmuJD8Pu39rjp9jH6yw==}
+ engines: {node: '>= 18'}
+
+ '@octokit/auth-oauth-user@5.1.4':
+ resolution: {integrity: sha512-4tJRofMHm6ZCd3O2PVgboBbQ/lNtacREeaihet0+wCATZmvPK+jjg2K6NjBfY69An3yzQdmkcMeiaOOoxOPr7Q==}
+ engines: {node: '>= 18'}
+
+ '@octokit/auth-token@2.5.0':
+ resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==}
+
+ '@octokit/auth-token@3.0.4':
+ resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==}
+ engines: {node: '>= 14'}
+
+ '@octokit/auth-token@4.0.0':
+ resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==}
+ engines: {node: '>= 18'}
+
+ '@octokit/auth-token@5.1.2':
+ resolution: {integrity: sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==}
+ engines: {node: '>= 18'}
+
+ '@octokit/auth-unauthenticated@6.1.3':
+ resolution: {integrity: sha512-d5gWJla3WdSl1yjbfMpET+hUSFCE15qM0KVSB0H1shyuJihf/RL1KqWoZMIaonHvlNojkL9XtLFp8QeLe+1iwA==}
+ engines: {node: '>= 18'}
+
+ '@octokit/core@3.6.0':
+ resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==}
+
+ '@octokit/core@4.2.4':
+ resolution: {integrity: sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==}
+ engines: {node: '>= 14'}
+
+ '@octokit/core@5.2.2':
+ resolution: {integrity: sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==}
+ engines: {node: '>= 18'}
+
+ '@octokit/core@6.1.5':
+ resolution: {integrity: sha512-vvmsN0r7rguA+FySiCsbaTTobSftpIDIpPW81trAmsv9TGxg3YCujAxRYp/Uy8xmDgYCzzgulG62H7KYUFmeIg==}
+ engines: {node: '>= 18'}
+
+ '@octokit/endpoint@10.1.4':
+ resolution: {integrity: sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==}
+ engines: {node: '>= 18'}
+
+ '@octokit/endpoint@6.0.12':
+ resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==}
+
+ '@octokit/endpoint@7.0.6':
+ resolution: {integrity: sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==}
+ engines: {node: '>= 14'}
+
+ '@octokit/endpoint@9.0.6':
+ resolution: {integrity: sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==}
+ engines: {node: '>= 18'}
+
+ '@octokit/graphql@4.8.0':
+ resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==}
+
+ '@octokit/graphql@5.0.6':
+ resolution: {integrity: sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==}
+ engines: {node: '>= 14'}
+
+ '@octokit/graphql@7.1.1':
+ resolution: {integrity: sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==}
+ engines: {node: '>= 18'}
+
+ '@octokit/graphql@8.2.2':
+ resolution: {integrity: sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==}
+ engines: {node: '>= 18'}
+
+ '@octokit/oauth-app@7.1.6':
+ resolution: {integrity: sha512-OMcMzY2WFARg80oJNFwWbY51TBUfLH4JGTy119cqiDawSFXSIBujxmpXiKbGWQlvfn0CxE6f7/+c6+Kr5hI2YA==}
+ engines: {node: '>= 18'}
+
+ '@octokit/oauth-authorization-url@7.1.1':
+ resolution: {integrity: sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA==}
+ engines: {node: '>= 18'}
+
+ '@octokit/oauth-methods@5.1.5':
+ resolution: {integrity: sha512-Ev7K8bkYrYLhoOSZGVAGsLEscZQyq7XQONCBBAl2JdMg7IT3PQn/y8P0KjloPoYpI5UylqYrLeUcScaYWXwDvw==}
+ engines: {node: '>= 18'}
+
+ '@octokit/openapi-types@12.11.0':
+ resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==}
+
+ '@octokit/openapi-types@18.1.1':
+ resolution: {integrity: sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==}
+
+ '@octokit/openapi-types@20.0.0':
+ resolution: {integrity: sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==}
+
+ '@octokit/openapi-types@24.2.0':
+ resolution: {integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==}
+
+ '@octokit/openapi-types@25.0.0':
+ resolution: {integrity: sha512-FZvktFu7HfOIJf2BScLKIEYjDsw6RKc7rBJCdvCTfKsVnx2GEB/Nbzjr29DUdb7vQhlzS/j8qDzdditP0OC6aw==}
+
+ '@octokit/openapi-webhooks-types@11.0.0':
+ resolution: {integrity: sha512-ZBzCFj98v3SuRM7oBas6BHZMJRadlnDoeFfvm1olVxZnYeU6Vh97FhPxyS5aLh5pN51GYv2I51l/hVUAVkGBlA==}
+
+ '@octokit/plugin-enterprise-rest@6.0.1':
+ resolution: {integrity: sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==}
+
+ '@octokit/plugin-paginate-graphql@5.2.4':
+ resolution: {integrity: sha512-pLZES1jWaOynXKHOqdnwZ5ULeVR6tVVCMm+AUbp0htdcyXDU95WbkYdU4R2ej1wKj5Tu94Mee2Ne0PjPO9cCyA==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ '@octokit/core': '>=6'
+
+ '@octokit/plugin-paginate-rest@12.0.0':
+ resolution: {integrity: sha512-MPd6WK1VtZ52lFrgZ0R2FlaoiWllzgqFHaSZxvp72NmoDeZ0m8GeJdg4oB6ctqMTYyrnDYp592Xma21mrgiyDA==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ '@octokit/core': '>=6'
+
+ '@octokit/plugin-paginate-rest@2.21.3':
+ resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==}
+ peerDependencies:
+ '@octokit/core': '>=2'
+
+ '@octokit/plugin-paginate-rest@6.1.2':
+ resolution: {integrity: sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ '@octokit/core': '>=4'
+
+ '@octokit/plugin-paginate-rest@9.2.2':
+ resolution: {integrity: sha512-u3KYkGF7GcZnSD/3UP0S7K5XUFT2FkOQdcfXZGZQPGv3lm4F2Xbf71lvjldr8c1H3nNbF+33cLEkWYbokGWqiQ==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ '@octokit/core': '5'
+
+ '@octokit/plugin-request-log@1.0.4':
+ resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==}
+ peerDependencies:
+ '@octokit/core': '>=3'
+
+ '@octokit/plugin-request-log@4.0.1':
+ resolution: {integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ '@octokit/core': '5'
+
+ '@octokit/plugin-rest-endpoint-methods@10.4.1':
+ resolution: {integrity: sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ '@octokit/core': '5'
+
+ '@octokit/plugin-rest-endpoint-methods@14.0.0':
+ resolution: {integrity: sha512-iQt6ovem4b7zZYZQtdv+PwgbL5VPq37th1m2x2TdkgimIDJpsi2A6Q/OI/23i/hR6z5mL0EgisNR4dcbmckSZQ==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ '@octokit/core': '>=6'
+
+ '@octokit/plugin-rest-endpoint-methods@5.16.2':
+ resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==}
+ peerDependencies:
+ '@octokit/core': '>=3'
+
+ '@octokit/plugin-rest-endpoint-methods@7.2.3':
+ resolution: {integrity: sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ '@octokit/core': '>=3'
+
+ '@octokit/plugin-retry@7.2.1':
+ resolution: {integrity: sha512-wUc3gv0D6vNHpGxSaR3FlqJpTXGWgqmk607N9L3LvPL4QjaxDgX/1nY2mGpT37Khn+nlIXdljczkRnNdTTV3/A==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ '@octokit/core': '>=6'
+
+ '@octokit/plugin-throttling@10.0.0':
+ resolution: {integrity: sha512-Kuq5/qs0DVYTHZuBAzCZStCzo2nKvVRo/TDNhCcpC2TKiOGz/DisXMCvjt3/b5kr6SCI1Y8eeeJTHBxxpFvZEg==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ '@octokit/core': ^6.1.3
+
+ '@octokit/request-error@1.2.1':
+ resolution: {integrity: sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==}
+
+ '@octokit/request-error@2.1.0':
+ resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==}
+
+ '@octokit/request-error@3.0.3':
+ resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==}
+ engines: {node: '>= 14'}
+
+ '@octokit/request-error@5.1.1':
+ resolution: {integrity: sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==}
+ engines: {node: '>= 18'}
+
+ '@octokit/request-error@6.1.8':
+ resolution: {integrity: sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==}
+ engines: {node: '>= 18'}
+
+ '@octokit/request@5.6.3':
+ resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==}
+
+ '@octokit/request@6.2.8':
+ resolution: {integrity: sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==}
+ engines: {node: '>= 14'}
+
+ '@octokit/request@8.4.1':
+ resolution: {integrity: sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==}
+ engines: {node: '>= 18'}
+
+ '@octokit/request@9.2.3':
+ resolution: {integrity: sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==}
+ engines: {node: '>= 18'}
+
+ '@octokit/rest@16.35.2':
+ resolution: {integrity: sha512-iijaNZpn9hBpUdh8YdXqNiWazmq4R1vCUsmxpBB0kCQ0asHZpCx+HNs22eiHuwYKRhO31ZSAGBJLi0c+3XHaKQ==}
+
+ '@octokit/rest@18.12.0':
+ resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==}
+
+ '@octokit/rest@19.0.11':
+ resolution: {integrity: sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==}
+ engines: {node: '>= 14'}
+
+ '@octokit/rest@20.1.0':
+ resolution: {integrity: sha512-STVO3itHQLrp80lvcYB2UIKoeil5Ctsgd2s1AM+du3HqZIR35ZH7WE9HLwUOLXH0myA0y3AGNPo8gZtcgIbw0g==}
+ engines: {node: '>= 18'}
+
+ '@octokit/tsconfig@1.0.2':
+ resolution: {integrity: sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==}
+
+ '@octokit/types@10.0.0':
+ resolution: {integrity: sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==}
+
+ '@octokit/types@12.6.0':
+ resolution: {integrity: sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==}
+
+ '@octokit/types@13.10.0':
+ resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==}
+
+ '@octokit/types@14.0.0':
+ resolution: {integrity: sha512-VVmZP0lEhbo2O1pdq63gZFiGCKkm8PPp8AUOijlwPO6hojEVjspA0MWKP7E4hbvGxzFKNqKr6p0IYtOH/Wf/zA==}
+
+ '@octokit/types@2.16.2':
+ resolution: {integrity: sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==}
+
+ '@octokit/types@6.41.0':
+ resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==}
+
+ '@octokit/types@9.3.2':
+ resolution: {integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==}
+
+ '@octokit/webhooks-methods@5.1.1':
+ resolution: {integrity: sha512-NGlEHZDseJTCj8TMMFehzwa9g7On4KJMPVHDSrHxCQumL6uSQR8wIkP/qesv52fXqV1BPf4pTxwtS31ldAt9Xg==}
+ engines: {node: '>= 18'}
+
+ '@octokit/webhooks@13.8.2':
+ resolution: {integrity: sha512-NgKpxIVp9MnEukvTF9s871v11bYTDZwpuyIYkU0ZIEM3d+DBOeiciIJPuCdjFMC1pQgv05MNKtdhbl8+Q+i3GA==}
+ engines: {node: '>= 18'}
+
+ '@opentelemetry/api-logs@0.52.1':
+ resolution: {integrity: sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==}
+ engines: {node: '>=14'}
+
+ '@opentelemetry/api-logs@0.55.0':
+ resolution: {integrity: sha512-3cpa+qI45VHYcA5c0bHM6VHo9gicv3p5mlLHNG3rLyjQU8b7e0st1rWtrUn3JbZ3DwwCfhKop4eQ9UuYlC6Pkg==}
+ engines: {node: '>=14'}
+
+ '@opentelemetry/api@1.9.0':
+ resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==}
+ engines: {node: '>=8.0.0'}
+
+ '@opentelemetry/auto-instrumentations-node@0.47.1':
+ resolution: {integrity: sha512-W7Iz4SZhj6z5iqYTu4zZXr2woP/zD4dA6zFAz9PQEx21/SGn6+y6plcJTA08KnPVMbRff60D1IBdl547TyGy9A==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.4.1
+
+ '@opentelemetry/context-async-hooks@1.25.1':
+ resolution: {integrity: sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/context-async-hooks@1.30.1':
+ resolution: {integrity: sha512-s5vvxXPVdjqS3kTLKMeBMvop9hbWkwzBpu+mUO2M7sZtlkyDJGwFe33wRKnbaYDo8ExRVBIIdwIGrqpxHuKttA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/core@1.25.1':
+ resolution: {integrity: sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/core@1.30.1':
+ resolution: {integrity: sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/exporter-metrics-otlp-http@0.52.1':
+ resolution: {integrity: sha512-oAHPOy1sZi58bwqXaucd19F/v7+qE2EuVslQOEeLQT94CDuZJJ4tbWzx8DpYBTrOSzKqqrMtx9+PMxkrcbxOyQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/exporter-metrics-otlp-proto@0.52.1':
+ resolution: {integrity: sha512-m9aEOzKkjznNxm+0NbyEV834Wza9asRaFA4VyWY3b1XltqbdStRmOYSZHq0VzcecOe24uD41zFqHweL2fA3y6g==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/exporter-trace-otlp-grpc@0.52.1':
+ resolution: {integrity: sha512-pVkSH20crBwMTqB3nIN4jpQKUEoB0Z94drIHpYyEqs7UBr+I0cpYyOR3bqjA/UasQUMROb3GX8ZX4/9cVRqGBQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/exporter-trace-otlp-http@0.52.1':
+ resolution: {integrity: sha512-05HcNizx0BxcFKKnS5rwOV+2GevLTVIRA0tRgWYyw4yCgR53Ic/xk83toYKts7kbzcI+dswInUg/4s8oyA+tqg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/exporter-trace-otlp-proto@0.52.1':
+ resolution: {integrity: sha512-pt6uX0noTQReHXNeEslQv7x311/F1gJzMnp1HD2qgypLRPbXDeMzzeTngRTUaUbP6hqWNtPxuLr4DEoZG+TcEQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/exporter-zipkin@1.25.1':
+ resolution: {integrity: sha512-RmOwSvkimg7ETwJbUOPTMhJm9A9bG1U8s7Zo3ajDh4zM7eYcycQ0dM7FbLD6NXWbI2yj7UY4q8BKinKYBQksyw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/exporter-zipkin@1.30.1':
+ resolution: {integrity: sha512-6S2QIMJahIquvFaaxmcwpvQQRD/YFaMTNoIxrfPIPOeITN+a8lfEcPDxNxn8JDAaxkg+4EnXhz8upVDYenoQjA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/instrumentation-amqplib@0.38.0':
+ resolution: {integrity: sha512-6i1sZl2B329NoOeCFm0R6H/u0DLex7L3NVLEQGSujfM6ztNxEZGmrFhV57eFkzwIHVHUqq9pfmpAAYVkGgrO1w==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-aws-lambda@0.42.0':
+ resolution: {integrity: sha512-GhV3s62W8gWXDuCdPkWj60W3giHGadHoGBPGW5Wud2fUK9lY6FiYxv6AmCokzugTaiRfB2RjsaJWd9xTtYttVA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-aws-sdk@0.42.0':
+ resolution: {integrity: sha512-6b4LQAeBSKU5RhKEP9rH+wMcKswlllIT9J65uREmnWQQJo5zogD6cWa2sJ814o9K25/aDi+zheVHDFDuA7iVCQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-bunyan@0.39.0':
+ resolution: {integrity: sha512-AQ845Wh5Yhd7S0argkCd1vrThNo4q/p6LJePC4OlFifPa9i5O2MzfLNh4mo8YWa0rYvcc+jbhodkGNa+1YJk/A==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-cassandra-driver@0.39.0':
+ resolution: {integrity: sha512-D1p7zNNHQYI6/d0ulAFXe+71oDAgzxctfB0EICT8GpBhOCRlCW0U4rxRWrnZW6T5sJaBJqSsY4QF5CPqvCc00w==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-connect@0.37.0':
+ resolution: {integrity: sha512-SeQktDIH5rNzjiEiazWiJAIXkmnLOnNV7wwHpahrqE0Ph+Z3heqMfxRtoMtbdJSIYLfcNZYO51AjxZ00IXufdw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-cucumber@0.7.0':
+ resolution: {integrity: sha512-bF9gpkUsDbg5Ii47PrhOzgCJKKrT0Tn0wfowOOgcW8PruqfuXgnQ9q1B6GGdSqtIaFnX3xFxGCyWcmf5emt64w==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/instrumentation-dataloader@0.10.0':
+ resolution: {integrity: sha512-yoAHGsgXx0YNFJ5XgCAgPo2Wr7Hy4IQX7YTcCulnKuxdfFXybsM9Yz7wiF9X2X2eB6HRLRJRufXT0sujbHaq1g==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-dns@0.37.0':
+ resolution: {integrity: sha512-vhIOqqUGq1qwSKS6mF9tpXP7GmVQpQK4zm7bn2UYModpm+YYQzghtf/D8JH6lxXyUMP40zA37xUd2HO6uze/dw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-express@0.40.1':
+ resolution: {integrity: sha512-+RKMvVe2zw3kIXRup9c1jFu3T4d0fs5aKy015TpiMyoCKX1UMu3Z0lfgYtuyiSTANvg5hZnDbWmQmqSPj9VTvg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-fastify@0.37.0':
+ resolution: {integrity: sha512-WRjwzNZgupSzbEYvo9s+QuHJRqZJjVdNxSEpGBwWK8RKLlHGwGVAu0gcc2gPamJWUJsGqPGvahAPWM18ZkWj6A==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-fs@0.13.0':
+ resolution: {integrity: sha512-sZxofhMkul95/Rb4R/Q1eP8mIpgWX8dXNCAOk1jMzl/I8xPJ5tnPgT+PIInPSiDh3kgZDTxK5Up1zMnUh0XqSg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-generic-pool@0.37.0':
+ resolution: {integrity: sha512-l3VivYfu+FRw0/hHu2jlFLz4mfxZrOg4r96usDF5dJgDRQrRUmjtq6xssYGuFKn1FXAfN8Rcn1Tdk/c40PNYEA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-graphql@0.41.0':
+ resolution: {integrity: sha512-R/gXeljgIhaRDKquVkKYT5QHPnFouM8ooyePZEP0kqyaVAedtR1V7NfAUJbxfTG5fBQa5wdmLjvu63+tzRXZCA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-grpc@0.52.1':
+ resolution: {integrity: sha512-EdSDiDSAO+XRXk/ZN128qQpBo1I51+Uay/LUPcPQhSRGf7fBPIEUBeOLQiItguGsug5MGOYjql2w/1wCQF3fdQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-grpc@0.55.0':
+ resolution: {integrity: sha512-n2ZH4pRwOy0Vhag/3eKqiyDBwcpUnGgJI9iiIRX7vivE0FMncaLazWphNFezRRaM/LuKwq1TD8pVUvieP68mow==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-hapi@0.39.0':
+ resolution: {integrity: sha512-ik2nA9Yj2s2ay+aNY+tJsKCsEx6Tsc2g/MK0iWBW5tibwrWKTy1pdVt5sB3kd5Gkimqj23UV5+FH2JFcQLeKug==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-http@0.52.1':
+ resolution: {integrity: sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-ioredis@0.41.0':
+ resolution: {integrity: sha512-rxiLloU8VyeJGm5j2fZS8ShVdB82n7VNP8wTwfUQqDwRfHCnkzGr+buKoxuhGD91gtwJ91RHkjHA1Eg6RqsUTg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-knex@0.37.0':
+ resolution: {integrity: sha512-NyXHezcUYiWnzhiY4gJE/ZMABnaC7ZQUCyx7zNB4J9Snmc4YCsRbLpTkJmCLft3ey/8Qg1Un+6efZcpgthQqbg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-koa@0.41.0':
+ resolution: {integrity: sha512-mbPnDt7ELvpM2S0vixYUsde7122lgegLOJQxx8iJQbB8YHal/xnTh9v7IfArSVzIDo+E+080hxZyUZD4boOWkw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-lru-memoizer@0.38.0':
+ resolution: {integrity: sha512-x41JPoCbltEeOXlHHVxHU6Xcd/91UkaXHNIqj8ejfp9nVQe0lFHBJ8wkUaVJlasu60oEPmiz6VksU3Wa42BrGw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-memcached@0.37.0':
+ resolution: {integrity: sha512-30mEfl+JdeuA6m7GRRwO6XYkk7dj4dp0YB70vMQ4MS2qBMVQvkEu3Gb+WFhSHukTYv753zyBeohDkeXw7DEsvw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mongodb@0.45.0':
+ resolution: {integrity: sha512-xnZP9+ayeB1JJyNE9cIiwhOJTzNEsRhXVdLgfzmrs48Chhhk026mQdM5CITfyXSCfN73FGAIB8d91+pflJEfWQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mongoose@0.39.0':
+ resolution: {integrity: sha512-J1r66A7zJklPPhMtrFOO7/Ud2p0Pv5u8+r23Cd1JUH6fYPmftNJVsLp2urAt6PHK4jVqpP/YegN8wzjJ2mZNPQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mysql2@0.39.0':
+ resolution: {integrity: sha512-Iypuq2z6TCfriAXCIZjRq8GTFCKhQv5SpXbmI+e60rYdXw8NHtMH4NXcGF0eKTuoCsC59IYSTUvDQYDKReaszA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mysql@0.39.0':
+ resolution: {integrity: sha512-8snHPh83rhrDf31v9Kq0Nf+ts8hdr7NguuszRqZomZBHgE0+UyXZSkXHAAFZoBPPRMGyM68uaFE5hVtFl+wOcA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-nestjs-core@0.38.0':
+ resolution: {integrity: sha512-M381Df1dM8aqihZz2yK+ugvMFK5vlHG/835dc67Sx2hH4pQEQYDA2PpFPTgc9AYYOydQaj7ClFQunESimjXDgg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-net@0.37.0':
+ resolution: {integrity: sha512-kLTnWs4R/FtNDvJC7clS7/tBzK7I8DH5IV1I8abog4/1fHh/CFiwWeTRlPlREwcGfVJyL95pDX2Utjviybr5Dg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-pg@0.42.0':
+ resolution: {integrity: sha512-sjgcM8CswYy8zxHgXv4RAZ09DlYhQ+9TdlourUs63Df/ek5RrB1ZbjznqW7PB6c3TyJJmX6AVtPTjAsROovEjA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-pino@0.40.0':
+ resolution: {integrity: sha512-29B7mpabiB5m9YeVuUpWNceKv2E2semh44Y0EngFn7Z/Dwg13j+jsD3h6RaLPLUmUynWKSa160jZm0XrWbx40w==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-redis-4@0.40.0':
+ resolution: {integrity: sha512-0ieQYJb6yl35kXA75LQUPhHtGjtQU9L85KlWa7d4ohBbk/iQKZ3X3CFl5jC5vNMq/GGPB3+w3IxNvALlHtrp7A==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-redis@0.40.0':
+ resolution: {integrity: sha512-vf2EwBrb979ztLMbf8ew+65ECP3yMxeFwpMLu9KjX6+hFf1Ng776jlM2H9GeP1YePbvoBB5Jbo0MBU6Y0HEgzA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-restify@0.39.0':
+ resolution: {integrity: sha512-+KDpaGvJLW28LYoT3AZAEVnywzy8dGS+wTWirXU6edKXu4w5mwdxui3UB3Vy/+FV7gbMWidzedaihTDlQvZXRA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-router@0.38.0':
+ resolution: {integrity: sha512-HMeeBva/rqIqg/KHzmKcvutK4JS90Sk59i4qCnLhHW57CMVruj18aXEpBT+QMVJRjmzrvhkJnIpNcPu5vglmRg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-socket.io@0.40.0':
+ resolution: {integrity: sha512-BJFMytiHnvKM7n6n67pT9eTBGpZetY+LHic8UKrIQ313uBp+MBbRyqiJY6dT4bcN1B6sl47JzCyKmVprSuSnBA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-tedious@0.11.0':
+ resolution: {integrity: sha512-Dh93CyaR7vldKf0oXwtYlSEdqvMGUTv270N0YGBQtODPKtgIMr9816vIA7cJPCZ4SbbREgLNQJfbh0qeadAM4Q==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-undici@0.3.0':
+ resolution: {integrity: sha512-LMbOE4ofjpQyZ3266Ah6XL9JIBaShebLN0aaZPvqXozKPu41rHmggO3qk0H+Unv8wbiUnHgYZDvq8yxXyKAadg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.7.0
+
+ '@opentelemetry/instrumentation-winston@0.38.0':
+ resolution: {integrity: sha512-rBAoVkv5HGyKFIpM3Xy5raPNJ/Le1JsAFPbxwbfOZUxpLT2YBB99h/jJYsHm+eNueJ7EBwz2ftqY8rEpVlk3XA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation@0.52.1':
+ resolution: {integrity: sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation@0.55.0':
+ resolution: {integrity: sha512-YDCMlaQRZkziLL3t6TONRgmmGxDx6MyQDXRD0dknkkgUZtOK5+8MWft1OXzmNu6XfBOdT12MKN5rz+jHUkafKQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/otlp-exporter-base@0.52.1':
+ resolution: {integrity: sha512-z175NXOtX5ihdlshtYBe5RpGeBoTXVCKPPLiQlD6FHvpM4Ch+p2B0yWKYSrBfLH24H9zjJiBdTrtD+hLlfnXEQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/otlp-grpc-exporter-base@0.52.1':
+ resolution: {integrity: sha512-zo/YrSDmKMjG+vPeA9aBBrsQM9Q/f2zo6N04WMB3yNldJRsgpRBeLLwvAt/Ba7dpehDLOEFBd1i2JCoaFtpCoQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/otlp-transformer@0.52.1':
+ resolution: {integrity: sha512-I88uCZSZZtVa0XniRqQWKbjAUm73I8tpEy/uJYPPYw5d7BRdVk0RfTBQw8kSUl01oVWEuqxLDa802222MYyWHg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.3.0 <1.10.0'
+
+ '@opentelemetry/propagation-utils@0.30.16':
+ resolution: {integrity: sha512-ZVQ3Z/PQ+2GQlrBfbMMMT0U7MzvYZLCPP800+ooyaBqm4hMvuQHfP028gB9/db0mwkmyEAMad9houukUVxhwcw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/propagator-aws-xray@1.26.2':
+ resolution: {integrity: sha512-k43wxTjKYvwfce9L4eT8fFYy/ATmCfPHZPZsyT/6ABimf2KE1HafoOsIcxLOtmNSZt6dCvBIYCrXaOWta20xJg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/propagator-b3@1.25.1':
+ resolution: {integrity: sha512-p6HFscpjrv7//kE+7L+3Vn00VEDUJB0n6ZrjkTYHrJ58QZ8B3ajSJhRbCcY6guQ3PDjTbxWklyvIN2ojVbIb1A==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/propagator-b3@1.30.1':
+ resolution: {integrity: sha512-oATwWWDIJzybAZ4pO76ATN5N6FFbOA1otibAVlS8v90B4S1wClnhRUk7K+2CHAwN1JKYuj4jh/lpCEG5BAqFuQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/propagator-jaeger@1.25.1':
+ resolution: {integrity: sha512-nBprRf0+jlgxks78G/xq72PipVK+4or9Ypntw0gVZYNTCSK8rg5SeaGV19tV920CMqBD/9UIOiFr23Li/Q8tiA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/propagator-jaeger@1.30.1':
+ resolution: {integrity: sha512-Pj/BfnYEKIOImirH76M4hDaBSx6HyZ2CXUqk+Kj02m6BB80c/yo4BdWkn/1gDFfU+YPY+bPR2U0DKBfdxCKwmg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/redis-common@0.36.2':
+ resolution: {integrity: sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g==}
+ engines: {node: '>=14'}
+
+ '@opentelemetry/resource-detector-alibaba-cloud@0.28.10':
+ resolution: {integrity: sha512-TZv/1Y2QCL6sJ+X9SsPPBXe4786bc/Qsw0hQXFsNTbJzDTGGUmOAlSZ2qPiuqAd4ZheUYfD+QA20IvAjUz9Hhg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/resource-detector-aws@1.12.0':
+ resolution: {integrity: sha512-Cvi7ckOqiiuWlHBdA1IjS0ufr3sltex2Uws2RK6loVp4gzIJyOijsddAI6IZ5kiO8h/LgCWe8gxPmwkTKImd+Q==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/resource-detector-azure@0.2.12':
+ resolution: {integrity: sha512-iIarQu6MiCjEEp8dOzmBvCSlRITPFTinFB2oNKAjU6xhx8d7eUcjNOKhBGQTvuCriZrxrEvDaEEY9NfrPQ6uYQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/resource-detector-container@0.3.11':
+ resolution: {integrity: sha512-22ndMDakxX+nuhAYwqsciexV8/w26JozRUV0FN9kJiqSWtA1b5dCVtlp3J6JivG5t8kDN9UF5efatNnVbqRT9Q==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/resource-detector-gcp@0.29.13':
+ resolution: {integrity: sha512-vdotx+l3Q+89PeyXMgKEGnZ/CwzwMtuMi/ddgD9/5tKZ08DfDGB2Npz9m2oXPHRCjc4Ro6ifMqFlRyzIvgOjhg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+
+ '@opentelemetry/resources@1.25.1':
+ resolution: {integrity: sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/resources@1.30.1':
+ resolution: {integrity: sha512-5UxZqiAgLYGFjS4s9qm5mBVo433u+dSPUFWVWXmLAD4wB65oMCoXaJP1KJa9DIYYMeHu3z4BZcStG3LC593cWA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/sdk-logs@0.52.1':
+ resolution: {integrity: sha512-MBYh+WcPPsN8YpRHRmK1Hsca9pVlyyKd4BxOC4SsgHACnl/bPp4Cri9hWhVm5+2tiQ9Zf4qSc1Jshw9tOLGWQA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.4.0 <1.10.0'
+
+ '@opentelemetry/sdk-metrics@1.25.1':
+ resolution: {integrity: sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.3.0 <1.10.0'
+
+ '@opentelemetry/sdk-node@0.52.1':
+ resolution: {integrity: sha512-uEG+gtEr6eKd8CVWeKMhH2olcCHM9dEK68pe0qE0be32BcCRsvYURhHaD1Srngh1SQcnQzZ4TP324euxqtBOJA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.3.0 <1.10.0'
+
+ '@opentelemetry/sdk-trace-base@1.25.1':
+ resolution: {integrity: sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/sdk-trace-base@1.30.1':
+ resolution: {integrity: sha512-jVPgBbH1gCy2Lb7X0AVQ8XAfgg0pJ4nvl8/IiQA6nxOsPvS+0zMJaFSs2ltXe0J6C8dqjcnpyqINDJmU30+uOg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/sdk-trace-node@1.25.1':
+ resolution: {integrity: sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/sdk-trace-node@1.30.1':
+ resolution: {integrity: sha512-cBjYOINt1JxXdpw1e5MlHmFRc5fgj4GW/86vsKFxJCJ8AL4PdVtYH41gWwl4qd4uQjqEL1oJVrXkSy5cnduAnQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/semantic-conventions@1.25.1':
+ resolution: {integrity: sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==}
+ engines: {node: '>=14'}
+
+ '@opentelemetry/semantic-conventions@1.27.0':
+ resolution: {integrity: sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==}
+ engines: {node: '>=14'}
+
+ '@opentelemetry/semantic-conventions@1.28.0':
+ resolution: {integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==}
+ engines: {node: '>=14'}
+
+ '@opentelemetry/semantic-conventions@1.32.0':
+ resolution: {integrity: sha512-s0OpmpQFSfMrmedAn9Lhg4KWJELHCU6uU9dtIJ28N8UGhf9Y55im5X8fEzwhwDwiSqN+ZPSNrDJF7ivf/AuRPQ==}
+ engines: {node: '>=14'}
+
+ '@opentelemetry/sql-common@0.40.1':
+ resolution: {integrity: sha512-nSDlnHSqzC3pXn/wZEZVLuAuJ1MYMXPBwtv2qAbCa3847SaHItdE7SzUq/Jtb0KZmh1zfAbNi3AAMjztTT4Ugg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+
+ '@peculiar/asn1-android@2.3.16':
+ resolution: {integrity: sha512-a1viIv3bIahXNssrOIkXZIlI2ePpZaNmR30d4aBL99mu2rO+mT9D6zBsp7H6eROWGtmwv0Ionp5olJurIo09dw==}
+
+ '@peculiar/asn1-ecc@2.3.15':
+ resolution: {integrity: sha512-/HtR91dvgog7z/WhCVdxZJ/jitJuIu8iTqiyWVgRE9Ac5imt2sT/E4obqIVGKQw7PIy+X6i8lVBoT6wC73XUgA==}
+
+ '@peculiar/asn1-rsa@2.3.15':
+ resolution: {integrity: sha512-p6hsanvPhexRtYSOHihLvUUgrJ8y0FtOM97N5UEpC+VifFYyZa0iZ5cXjTkZoDwxJ/TTJ1IJo3HVTB2JJTpXvg==}
+
+ '@peculiar/asn1-schema@2.3.15':
+ resolution: {integrity: sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w==}
+
+ '@peculiar/asn1-x509@2.3.15':
+ resolution: {integrity: sha512-0dK5xqTqSLaxv1FHXIcd4Q/BZNuopg+u1l23hT9rOmQ1g4dNtw0g/RnEi+TboB0gOwGtrWn269v27cMgchFIIg==}
+
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+
+ '@pkgr/core@0.2.9':
+ resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+
+ '@playwright/test@1.52.0':
+ resolution: {integrity: sha512-uh6W7sb55hl7D6vsAeA+V2p5JnlAqzhqFyF0VcJkKZXkgnFcVG9PziERRHQfPLfNGx1C292a4JqbWzhR8L4R1g==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ '@pnpm/config.env-replace@1.1.0':
+ resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==}
+ engines: {node: '>=12.22.0'}
+
+ '@pnpm/network.ca-file@1.0.2':
+ resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==}
+ engines: {node: '>=12.22.0'}
+
+ '@pnpm/npm-conf@2.3.1':
+ resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==}
+ engines: {node: '>=12'}
+
+ '@polka/url@1.0.0-next.29':
+ resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
+
+ '@prisma/client@6.14.0':
+ resolution: {integrity: sha512-8E/Nk3eL5g7RQIg/LUj1ICyDmhD053STjxrPxUtCRybs2s/2sOEcx9NpITuAOPn07HEpWBfhAVe1T/HYWXUPOw==}
+ engines: {node: '>=18.18'}
+ peerDependencies:
+ prisma: '*'
+ typescript: '>=5.1.0'
+ peerDependenciesMeta:
+ prisma:
+ optional: true
+ typescript:
+ optional: true
+
+ '@prisma/config@6.14.0':
+ resolution: {integrity: sha512-IwC7o5KNNGhmblLs23swnfBjADkacBb7wvyDXUWLwuvUQciKJZqyecU0jw0d7JRkswrj+XTL8fdr0y2/VerKQQ==}
+
+ '@prisma/debug@6.14.0':
+ resolution: {integrity: sha512-j4Lf+y+5QIJgQD4sJWSbkOD7geKx9CakaLp/TyTy/UDu9Wo0awvWCBH/BAxTHUaCpIl9USA5VS/KJhDqKJSwug==}
+
+ '@prisma/engines-version@6.14.0-25.717184b7b35ea05dfa71a3236b7af656013e1e49':
+ resolution: {integrity: sha512-EgN9ODJpiX45yvwcngoStp3uQPJ3l+AEVoQ6dMMO2QvmwIlnxfApzKmJQExzdo7/hqQANrz5txHJdGYHzOnGHA==}
+
+ '@prisma/engines@6.14.0':
+ resolution: {integrity: sha512-LhJjqsALFEcoAtF07nSaOkVguaxw/ZsgfROIYZ8bAZDobe7y8Wy+PkYQaPOK1iLSsFgV2MhCO/eNrI1gdSOj6w==}
+
+ '@prisma/fetch-engine@6.14.0':
+ resolution: {integrity: sha512-MPzYPOKMENYOaY3AcAbaKrfvXVlvTc6iHmTXsp9RiwCX+bPyfDMqMFVUSVXPYrXnrvEzhGHfyiFy0PRLHPysNg==}
+
+ '@prisma/get-platform@6.14.0':
+ resolution: {integrity: sha512-7VjuxKNwjnBhKfqPpMeWiHEa2sVjYzmHdl1slW6STuUCe9QnOY0OY1ljGSvz6wpG4U8DfbDqkG1yofd/1GINww==}
+
+ '@prisma/instrumentation@6.14.0':
+ resolution: {integrity: sha512-Po/Hry5bAeunRDq0yAQueKookW3glpP+qjjvvyOfm6dI2KG5/Y6Bgg3ahyWd7B0u2E+Wf9xRk2rtdda7ySgK1A==}
+ peerDependencies:
+ '@opentelemetry/api': ^1.8
+
+ '@protobufjs/aspromise@1.1.2':
+ resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
+
+ '@protobufjs/base64@1.1.2':
+ resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
+
+ '@protobufjs/codegen@2.0.4':
+ resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
+
+ '@protobufjs/eventemitter@1.1.0':
+ resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
+
+ '@protobufjs/fetch@1.1.0':
+ resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
+
+ '@protobufjs/float@1.0.2':
+ resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
+
+ '@protobufjs/inquire@1.1.0':
+ resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
+
+ '@protobufjs/path@1.1.2':
+ resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
+
+ '@protobufjs/pool@1.1.0':
+ resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
+
+ '@protobufjs/utf8@1.1.0':
+ resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
+
+ '@pulumi/aws-apigateway@2.6.2':
+ resolution: {integrity: sha512-emm1+AnQ5HE7VXZlvMPORhW2tTagw5kw1XDVaO7+R1ZfifQP8a9r+1OmqGJDwhYxKvGj7xinSKsg5fsZLIbDbw==}
+
+ '@pulumi/aws-native@0.116.0':
+ resolution: {integrity: sha512-ZjW7nNgFdTOvRQFdp5MMJ95rdkfO4uDhulOkDzZJnLh0aLau5g0JelagkHCtCNTOzvvb5IZPN6ZI0NOA1/Clsg==}
+
+ '@pulumi/aws@6.80.0':
+ resolution: {integrity: sha512-7+k/2PPqFz09Ykb+YkabaHa2RjvFREfUds4oBV57dsZkKpZsoCy58xV94oUvcPPB52OE4Z2zpGsvIg3z2mCTHw==}
+
+ '@pulumi/awsx@2.21.1':
+ resolution: {integrity: sha512-uFAQa7mHrEmZ1s8m260rqWpYpu3aT0QXBt+2Q8QQictr+cSw5ZjwpwaUXb4WmALY/9FdHwNO9fducrhReoITgw==}
+
+ '@pulumi/docker-build@0.0.8':
+ resolution: {integrity: sha512-tS6UUgmDjQ+LVekMXGC/6ND7riY75h3oO9fLiVOrvNafCBumxK+Cjm6ZZ9tUChLYvw6H+rZRExZEhfC8F/SQgQ==}
+
+ '@pulumi/docker@3.6.1':
+ resolution: {integrity: sha512-BZME50QkT556v+LvmTXPT8ssB2xxNkp9+msB5xYFEnUnWcdGAx5yUysQw70RJCb+U0GbkJSbxtlgMJgOQf/now==}
+
+ '@pulumi/docker@4.6.2':
+ resolution: {integrity: sha512-dMjkR8xkwmYT4mx8GvhQLY4EdmpN6QSDgADXhWaEo5hFxskWqzZUdi/eYlv5OMJPtm3m8V69Q3UOEQAPZPxbyw==}
+
+ '@pulumi/pulumi@3.168.0':
+ resolution: {integrity: sha512-pBx2CzOOW3CHMef8B+BgpFziOR7QWwmJBjL/wDDpswu9jBXOHPpbwUgcQC9OaNxUdQQ2W5rPqFJQAmdfqjRNZw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ ts-node: '>= 7.0.1 < 12'
+ typescript: '>= 3.8.3 < 6'
+ peerDependenciesMeta:
+ ts-node:
+ optional: true
+ typescript:
+ optional: true
+
+ '@redis/bloom@1.2.0':
+ resolution: {integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==}
+ peerDependencies:
+ '@redis/client': ^1.0.0
+
+ '@redis/client@1.5.11':
+ resolution: {integrity: sha512-cV7yHcOAtNQ5x/yQl7Yw1xf53kO0FNDTdDU6bFIMbW6ljB7U7ns0YRM+QIkpoqTAt6zK5k9Fq0QWlUbLcq9AvA==}
+ engines: {node: '>=14'}
+
+ '@redis/graph@1.1.0':
+ resolution: {integrity: sha512-16yZWngxyXPd+MJxeSr0dqh2AIOi8j9yXKcKCwVaKDbH3HTuETpDVPcLujhFYVPtYrngSco31BUcSa9TH31Gqg==}
+ peerDependencies:
+ '@redis/client': ^1.0.0
+
+ '@redis/json@1.0.6':
+ resolution: {integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==}
+ peerDependencies:
+ '@redis/client': ^1.0.0
+
+ '@redis/search@1.1.5':
+ resolution: {integrity: sha512-hPP8w7GfGsbtYEJdn4n7nXa6xt6hVZnnDktKW4ArMaFQ/m/aR7eFvsLQmG/mn1Upq99btPJk+F27IQ2dYpCoUg==}
+ peerDependencies:
+ '@redis/client': ^1.0.0
+
+ '@redis/time-series@1.0.5':
+ resolution: {integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==}
+ peerDependencies:
+ '@redis/client': ^1.0.0
+
+ '@rollup/plugin-babel@5.3.1':
+ resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ '@types/babel__core': ^7.1.9
+ rollup: ^1.20.0||^2.0.0
+ peerDependenciesMeta:
+ '@types/babel__core':
+ optional: true
+
+ '@rollup/plugin-node-resolve@15.3.1':
+ resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.78.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-replace@2.4.2':
+ resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
+ peerDependencies:
+ rollup: ^1.20.0 || ^2.0.0
+
+ '@rollup/plugin-terser@0.4.4':
+ resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/plugin-virtual@3.0.2':
+ resolution: {integrity: sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/pluginutils@3.1.0':
+ resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+
+ '@rollup/pluginutils@4.2.1':
+ resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
+ engines: {node: '>= 8.0.0'}
+
+ '@rollup/pluginutils@5.1.4':
+ resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.24.0':
+ resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.24.0':
+ resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.24.0':
+ resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.24.0':
+ resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.24.0':
+ resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.24.0':
+ resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-gnu@4.24.0':
+ resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-musl@4.24.0':
+ resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.24.0':
+ resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.24.0':
+ resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-s390x-gnu@4.24.0':
+ resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-gnu@4.24.0':
+ resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-musl@4.24.0':
+ resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-win32-arm64-msvc@4.24.0':
+ resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.24.0':
+ resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.24.0':
+ resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==}
+ cpu: [x64]
+ os: [win32]
+
+ '@sideway/address@4.1.5':
+ resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
+
+ '@sideway/formula@3.0.1':
+ resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
+
+ '@sideway/pinpoint@2.0.0':
+ resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
+
+ '@sigstore/bundle@1.1.0':
+ resolution: {integrity: sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@sigstore/bundle@2.3.2':
+ resolution: {integrity: sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@sigstore/core@1.1.0':
+ resolution: {integrity: sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@sigstore/protobuf-specs@0.2.1':
+ resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@sigstore/protobuf-specs@0.3.3':
+ resolution: {integrity: sha512-RpacQhBlwpBWd7KEJsRKcBQalbV28fvkxwTOJIqhIuDysMMaJW47V4OqW30iJB9uRpqOSxxEAQFdr8tTattReQ==}
+ engines: {node: ^18.17.0 || >=20.5.0}
+
+ '@sigstore/sign@1.0.0':
+ resolution: {integrity: sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@sigstore/sign@2.3.2':
+ resolution: {integrity: sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@sigstore/tuf@1.0.3':
+ resolution: {integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@sigstore/tuf@2.3.4':
+ resolution: {integrity: sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@sigstore/verify@1.2.1':
+ resolution: {integrity: sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@simplewebauthn/browser@9.0.1':
+ resolution: {integrity: sha512-wD2WpbkaEP4170s13/HUxPcAV5y4ZXaKo1TfNklS5zDefPinIgXOpgz1kpEvobAsaLPa2KeH7AKKX/od1mrBJw==}
+
+ '@simplewebauthn/server@9.0.3':
+ resolution: {integrity: sha512-FMZieoBosrVLFxCnxPFD9Enhd1U7D8nidVDT4MsHc6l4fdVcjoeHjDueeXCloO1k5O/fZg1fsSXXPKbY2XTzDA==}
+ engines: {node: '>=16.0.0'}
+
+ '@simplewebauthn/types@9.0.1':
+ resolution: {integrity: sha512-tGSRP1QvsAvsJmnOlRQyw/mvK9gnPtjEc5fg2+m8n+QUa+D7rvrKkOYyfpy42GTs90X3RDOnqJgfHt+qO67/+w==}
+ deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
+
+ '@sinclair/typebox@0.27.8':
+ resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
+
+ '@sinclair/typebox@0.34.41':
+ resolution: {integrity: sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==}
+
+ '@sindresorhus/is@4.6.0':
+ resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
+ engines: {node: '>=10'}
+
+ '@sindresorhus/is@5.6.0':
+ resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==}
+ engines: {node: '>=14.16'}
+
+ '@sinonjs/commons@3.0.1':
+ resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
+
+ '@sinonjs/fake-timers@13.0.5':
+ resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==}
+
+ '@slorber/remark-comment@1.0.0':
+ resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==}
+
+ '@smithy/abort-controller@4.0.2':
+ resolution: {integrity: sha512-Sl/78VDtgqKxN2+1qduaVE140XF+Xg+TafkncspwM4jFP/LHr76ZHmIY/y3V1M0mMLNk+Je6IGbzxy23RSToMw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/abort-controller@4.0.5':
+ resolution: {integrity: sha512-jcrqdTQurIrBbUm4W2YdLVMQDoL0sA9DTxYd2s+R/y+2U9NLOP7Xf/YqfSg1FZhlZIYEnvk2mwbyvIfdLEPo8g==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/chunked-blob-reader-native@4.0.0':
+ resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/chunked-blob-reader@5.0.0':
+ resolution: {integrity: sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/config-resolver@4.1.0':
+ resolution: {integrity: sha512-8smPlwhga22pwl23fM5ew4T9vfLUCeFXlcqNOCD5M5h8VmNPNUE9j6bQSuRXpDSV11L/E/SwEBQuW8hr6+nS1A==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/config-resolver@4.1.5':
+ resolution: {integrity: sha512-viuHMxBAqydkB0AfWwHIdwf/PRH2z5KHGUzqyRtS/Wv+n3IHI993Sk76VCA7dD/+GzgGOmlJDITfPcJC1nIVIw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/core@3.3.1':
+ resolution: {integrity: sha512-W7AppgQD3fP1aBmo8wWo0id5zeR2/aYRy067vZsDVaa6v/mdhkg6DxXwEVuSPjZl+ZnvWAQbUMCd5ckw38+tHQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/core@3.8.0':
+ resolution: {integrity: sha512-EYqsIYJmkR1VhVE9pccnk353xhs+lB6btdutJEtsp7R055haMJp2yE16eSxw8fv+G0WUY6vqxyYOP8kOqawxYQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/credential-provider-imds@4.0.2':
+ resolution: {integrity: sha512-32lVig6jCaWBHnY+OEQ6e6Vnt5vDHaLiydGrwYMW9tPqO688hPGTYRamYJ1EptxEC2rAwJrHWmPoKRBl4iTa8w==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/credential-provider-imds@4.0.7':
+ resolution: {integrity: sha512-dDzrMXA8d8riFNiPvytxn0mNwR4B3h8lgrQ5UjAGu6T9z/kRg/Xncf4tEQHE/+t25sY8IH3CowcmWi+1U5B1Gw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/eventstream-codec@4.0.2':
+ resolution: {integrity: sha512-p+f2kLSK7ZrXVfskU/f5dzksKTewZk8pJLPvER3aFHPt76C2MxD9vNatSfLzzQSQB4FNO96RK4PSXfhD1TTeMQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/eventstream-serde-browser@4.0.2':
+ resolution: {integrity: sha512-CepZCDs2xgVUtH7ZZ7oDdZFH8e6Y2zOv8iiX6RhndH69nlojCALSKK+OXwZUgOtUZEUaZ5e1hULVCHYbCn7pug==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/eventstream-serde-config-resolver@4.1.0':
+ resolution: {integrity: sha512-1PI+WPZ5TWXrfj3CIoKyUycYynYJgZjuQo8U+sphneOtjsgrttYybdqESFReQrdWJ+LKt6NEdbYzmmfDBmjX2A==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/eventstream-serde-node@4.0.2':
+ resolution: {integrity: sha512-C5bJ/C6x9ENPMx2cFOirspnF9ZsBVnBMtP6BdPl/qYSuUawdGQ34Lq0dMcf42QTjUZgWGbUIZnz6+zLxJlb9aw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/eventstream-serde-universal@4.0.2':
+ resolution: {integrity: sha512-St8h9JqzvnbB52FtckiHPN4U/cnXcarMniXRXTKn0r4b4XesZOGiAyUdj1aXbqqn1icSqBlzzUsCl6nPB018ng==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/fetch-http-handler@5.0.2':
+ resolution: {integrity: sha512-+9Dz8sakS9pe7f2cBocpJXdeVjMopUDLgZs1yWeu7h++WqSbjUYv/JAJwKwXw1HV6gq1jyWjxuyn24E2GhoEcQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/fetch-http-handler@5.1.1':
+ resolution: {integrity: sha512-61WjM0PWmZJR+SnmzaKI7t7G0UkkNFboDpzIdzSoy7TByUzlxo18Qlh9s71qug4AY4hlH/CwXdubMtkcNEb/sQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/hash-blob-browser@4.0.2':
+ resolution: {integrity: sha512-3g188Z3DyhtzfBRxpZjU8R9PpOQuYsbNnyStc/ZVS+9nVX1f6XeNOa9IrAh35HwwIZg+XWk8bFVtNINVscBP+g==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/hash-node@4.0.2':
+ resolution: {integrity: sha512-VnTpYPnRUE7yVhWozFdlxcYknv9UN7CeOqSrMH+V877v4oqtVYuoqhIhtSjmGPvYrYnAkaM61sLMKHvxL138yg==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/hash-node@4.0.5':
+ resolution: {integrity: sha512-cv1HHkKhpyRb6ahD8Vcfb2Hgz67vNIXEp2vnhzfxLFGRukLCNEA5QdsorbUEzXma1Rco0u3rx5VTqbM06GcZqQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/hash-stream-node@4.0.2':
+ resolution: {integrity: sha512-POWDuTznzbIwlEXEvvXoPMS10y0WKXK790soe57tFRfvf4zBHyzE529HpZMqmDdwG9MfFflnyzndUQ8j78ZdSg==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/invalid-dependency@4.0.2':
+ resolution: {integrity: sha512-GatB4+2DTpgWPday+mnUkoumP54u/MDM/5u44KF9hIu8jF0uafZtQLcdfIKkIcUNuF/fBojpLEHZS/56JqPeXQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/invalid-dependency@4.0.5':
+ resolution: {integrity: sha512-IVnb78Qtf7EJpoEVo7qJ8BEXQwgC4n3igeJNNKEj/MLYtapnx8A67Zt/J3RXAj2xSO1910zk0LdFiygSemuLow==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/is-array-buffer@2.2.0':
+ resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==}
+ engines: {node: '>=14.0.0'}
+
+ '@smithy/is-array-buffer@4.0.0':
+ resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/md5-js@4.0.2':
+ resolution: {integrity: sha512-Hc0R8EiuVunUewCse2syVgA2AfSRco3LyAv07B/zCOMa+jpXI9ll+Q21Nc6FAlYPcpNcAXqBzMhNs1CD/pP2bA==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/middleware-apply-body-checksum@4.1.0':
+ resolution: {integrity: sha512-6YOMHT3IYYjkxhA5h0pw3uu84aZInCuCVwZ8J/cObUEXxyCLNXV8Ws/T+Likp7LR2AEt2AjlqQ5VKZUbrSbJkA==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/middleware-content-length@4.0.2':
+ resolution: {integrity: sha512-hAfEXm1zU+ELvucxqQ7I8SszwQ4znWMbNv6PLMndN83JJN41EPuS93AIyh2N+gJ6x8QFhzSO6b7q2e6oClDI8A==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/middleware-content-length@4.0.5':
+ resolution: {integrity: sha512-l1jlNZoYzoCC7p0zCtBDE5OBXZ95yMKlRlftooE5jPWQn4YBPLgsp+oeHp7iMHaTGoUdFqmHOPa8c9G3gBsRpQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/middleware-endpoint@4.1.18':
+ resolution: {integrity: sha512-ZhvqcVRPZxnZlokcPaTwb+r+h4yOIOCJmx0v2d1bpVlmP465g3qpVSf7wxcq5zZdu4jb0H4yIMxuPwDJSQc3MQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/middleware-endpoint@4.1.2':
+ resolution: {integrity: sha512-EqOy3xaEGQpsKxLlzYstDRJ8eY90CbyBP4cl+w7r45mE60S8YliyL9AgWsdWcyNiB95E2PMqHBEv67nNl1zLfg==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/middleware-retry@4.1.19':
+ resolution: {integrity: sha512-X58zx/NVECjeuUB6A8HBu4bhx72EoUz+T5jTMIyeNKx2lf+Gs9TmWPNNkH+5QF0COjpInP/xSpJGJ7xEnAklQQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/middleware-retry@4.1.3':
+ resolution: {integrity: sha512-AsJtI9KiFoEGAhcEKZyzzPfrszAQGcf4HSYKmenz0WGx/6YNvoPPv4OSGfZTCsDmgPHv4pXzxE+7QV7jcGWNKw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/middleware-serde@4.0.3':
+ resolution: {integrity: sha512-rfgDVrgLEVMmMn0BI8O+8OVr6vXzjV7HZj57l0QxslhzbvVfikZbVfBVthjLHqib4BW44QhcIgJpvebHlRaC9A==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/middleware-serde@4.0.9':
+ resolution: {integrity: sha512-uAFFR4dpeoJPGz8x9mhxp+RPjo5wW0QEEIPPPbLXiRRWeCATf/Km3gKIVR5vaP8bN1kgsPhcEeh+IZvUlBv6Xg==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/middleware-stack@4.0.2':
+ resolution: {integrity: sha512-eSPVcuJJGVYrFYu2hEq8g8WWdJav3sdrI4o2c6z/rjnYDd3xH9j9E7deZQCzFn4QvGPouLngH3dQ+QVTxv5bOQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/middleware-stack@4.0.5':
+ resolution: {integrity: sha512-/yoHDXZPh3ocRVyeWQFvC44u8seu3eYzZRveCMfgMOBcNKnAmOvjbL9+Cp5XKSIi9iYA9PECUuW2teDAk8T+OQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/node-config-provider@4.0.2':
+ resolution: {integrity: sha512-WgCkILRZfJwJ4Da92a6t3ozN/zcvYyJGUTmfGbgS/FkCcoCjl7G4FJaCDN1ySdvLvemnQeo25FdkyMSTSwulsw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/node-config-provider@4.1.4':
+ resolution: {integrity: sha512-+UDQV/k42jLEPPHSn39l0Bmc4sB1xtdI9Gd47fzo/0PbXzJ7ylgaOByVjF5EeQIumkepnrJyfx86dPa9p47Y+w==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/node-http-handler@4.0.4':
+ resolution: {integrity: sha512-/mdqabuAT3o/ihBGjL94PUbTSPSRJ0eeVTdgADzow0wRJ0rN4A27EOrtlK56MYiO1fDvlO3jVTCxQtQmK9dZ1g==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/node-http-handler@4.1.1':
+ resolution: {integrity: sha512-RHnlHqFpoVdjSPPiYy/t40Zovf3BBHc2oemgD7VsVTFFZrU5erFFe0n52OANZZ/5sbshgD93sOh5r6I35Xmpaw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/property-provider@4.0.2':
+ resolution: {integrity: sha512-wNRoQC1uISOuNc2s4hkOYwYllmiyrvVXWMtq+TysNRVQaHm4yoafYQyjN/goYZS+QbYlPIbb/QRjaUZMuzwQ7A==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/property-provider@4.0.5':
+ resolution: {integrity: sha512-R/bswf59T/n9ZgfgUICAZoWYKBHcsVDurAGX88zsiUtOTA/xUAPyiT+qkNCPwFn43pZqN84M4MiUsbSGQmgFIQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/protocol-http@5.1.0':
+ resolution: {integrity: sha512-KxAOL1nUNw2JTYrtviRRjEnykIDhxc84qMBzxvu1MUfQfHTuBlCG7PA6EdVwqpJjH7glw7FqQoFxUJSyBQgu7g==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/protocol-http@5.1.3':
+ resolution: {integrity: sha512-fCJd2ZR7D22XhDY0l+92pUag/7je2BztPRQ01gU5bMChcyI0rlly7QFibnYHzcxDvccMjlpM/Q1ev8ceRIb48w==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/querystring-builder@4.0.2':
+ resolution: {integrity: sha512-NTOs0FwHw1vimmQM4ebh+wFQvOwkEf/kQL6bSM1Lock+Bv4I89B3hGYoUEPkmvYPkDKyp5UdXJYu+PoTQ3T31Q==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/querystring-builder@4.0.5':
+ resolution: {integrity: sha512-NJeSCU57piZ56c+/wY+AbAw6rxCCAOZLCIniRE7wqvndqxcKKDOXzwWjrY7wGKEISfhL9gBbAaWWgHsUGedk+A==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/querystring-parser@4.0.2':
+ resolution: {integrity: sha512-v6w8wnmZcVXjfVLjxw8qF7OwESD9wnpjp0Dqry/Pod0/5vcEA3qxCr+BhbOHlxS8O+29eLpT3aagxXGwIoEk7Q==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/querystring-parser@4.0.5':
+ resolution: {integrity: sha512-6SV7md2CzNG/WUeTjVe6Dj8noH32r4MnUeFKZrnVYsQxpGSIcphAanQMayi8jJLZAWm6pdM9ZXvKCpWOsIGg0w==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/service-error-classification@4.0.3':
+ resolution: {integrity: sha512-FTbcajmltovWMjj3tksDQdD23b2w6gH+A0DYA1Yz3iSpjDj8fmkwy62UnXcWMy4d5YoMoSyLFHMfkEVEzbiN8Q==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/service-error-classification@4.0.7':
+ resolution: {integrity: sha512-XvRHOipqpwNhEjDf2L5gJowZEm5nsxC16pAZOeEcsygdjv9A2jdOh3YoDQvOXBGTsaJk6mNWtzWalOB9976Wlg==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/shared-ini-file-loader@4.0.2':
+ resolution: {integrity: sha512-J9/gTWBGVuFZ01oVA6vdb4DAjf1XbDhK6sLsu3OS9qmLrS6KB5ygpeHiM3miIbj1qgSJ96GYszXFWv6ErJ8QEw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/shared-ini-file-loader@4.0.5':
+ resolution: {integrity: sha512-YVVwehRDuehgoXdEL4r1tAAzdaDgaC9EQvhK0lEbfnbrd0bd5+CTQumbdPryX3J2shT7ZqQE+jPW4lmNBAB8JQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/signature-v4@5.1.0':
+ resolution: {integrity: sha512-4t5WX60sL3zGJF/CtZsUQTs3UrZEDO2P7pEaElrekbLqkWPYkgqNW1oeiNYC6xXifBnT9dVBOnNQRvOE9riU9w==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/signature-v4@5.1.3':
+ resolution: {integrity: sha512-mARDSXSEgllNzMw6N+mC+r1AQlEBO3meEAkR/UlfAgnMzJUB3goRBWgip1EAMG99wh36MDqzo86SfIX5Y+VEaw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/smithy-client@4.2.2':
+ resolution: {integrity: sha512-3AnHfsMdq9Wg7+3BeR1HuLWI9+DMA/SoHVpCWq6xSsa52ikNd6nlF/wFzdpHyGtVa+Aji6lMgvwOF4sGcVA7SA==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/smithy-client@4.4.10':
+ resolution: {integrity: sha512-iW6HjXqN0oPtRS0NK/zzZ4zZeGESIFcxj2FkWed3mcK8jdSdHzvnCKXSjvewESKAgGKAbJRA+OsaqKhkdYRbQQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/types@4.2.0':
+ resolution: {integrity: sha512-7eMk09zQKCO+E/ivsjQv+fDlOupcFUCSC/L2YUPgwhvowVGWbPQHjEFcmjt7QQ4ra5lyowS92SV53Zc6XD4+fg==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/types@4.3.2':
+ resolution: {integrity: sha512-QO4zghLxiQ5W9UZmX2Lo0nta2PuE1sSrXUYDoaB6HMR762C0P7v/HEPHf6ZdglTVssJG1bsrSBxdc3quvDSihw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/url-parser@4.0.2':
+ resolution: {integrity: sha512-Bm8n3j2ScqnT+kJaClSVCMeiSenK6jVAzZCNewsYWuZtnBehEz4r2qP0riZySZVfzB+03XZHJeqfmJDkeeSLiQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/url-parser@4.0.5':
+ resolution: {integrity: sha512-j+733Um7f1/DXjYhCbvNXABV53NyCRRA54C7bNEIxNPs0YjfRxeMKjjgm2jvTYrciZyCjsicHwQ6Q0ylo+NAUw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-base64@4.0.0':
+ resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-body-length-browser@4.0.0':
+ resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-body-length-node@4.0.0':
+ resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-buffer-from@2.2.0':
+ resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==}
+ engines: {node: '>=14.0.0'}
+
+ '@smithy/util-buffer-from@4.0.0':
+ resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-config-provider@4.0.0':
+ resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-defaults-mode-browser@4.0.10':
+ resolution: {integrity: sha512-2k6fgUNOZ1Rn0gEjvGPGrDEINLG8qSBHsN7xlkkbO+fnHJ36BQPDzhFfMmYSDS8AgzoygqQiDOQ+6Hp2vBTUdA==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-defaults-mode-browser@4.0.26':
+ resolution: {integrity: sha512-xgl75aHIS/3rrGp7iTxQAOELYeyiwBu+eEgAk4xfKwJJ0L8VUjhO2shsDpeil54BOFsqmk5xfdesiewbUY5tKQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-defaults-mode-node@4.0.10':
+ resolution: {integrity: sha512-2XR1WRglLVmoIFts7bODUTgBdVyvkfKNkydHrlsI5VxW9q3s1hnJCuY+f1OHzvj5ue23q4vydM2fjrMjf2HSdQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-defaults-mode-node@4.0.26':
+ resolution: {integrity: sha512-z81yyIkGiLLYVDetKTUeCZQ8x20EEzvQjrqJtb/mXnevLq2+w3XCEWTJ2pMp401b6BkEkHVfXb/cROBpVauLMQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-endpoints@3.0.2':
+ resolution: {integrity: sha512-6QSutU5ZyrpNbnd51zRTL7goojlcnuOB55+F9VBD+j8JpRY50IGamsjlycrmpn8PQkmJucFW8A0LSfXj7jjtLQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-endpoints@3.0.7':
+ resolution: {integrity: sha512-klGBP+RpBp6V5JbrY2C/VKnHXn3d5V2YrifZbmMY8os7M6m8wdYFoO6w/fe5VkP+YVwrEktW3IWYaSQVNZJ8oQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-hex-encoding@4.0.0':
+ resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-middleware@4.0.2':
+ resolution: {integrity: sha512-6GDamTGLuBQVAEuQ4yDQ+ti/YINf/MEmIegrEeg7DdB/sld8BX1lqt9RRuIcABOhAGTA50bRbPzErez7SlDtDQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-middleware@4.0.5':
+ resolution: {integrity: sha512-N40PfqsZHRSsByGB81HhSo+uvMxEHT+9e255S53pfBw/wI6WKDI7Jw9oyu5tJTLwZzV5DsMha3ji8jk9dsHmQQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-retry@4.0.3':
+ resolution: {integrity: sha512-DPuYjZQDXmKr/sNvy9Spu8R/ESa2e22wXZzSAY6NkjOLj6spbIje/Aq8rT97iUMdDj0qHMRIe+bTxvlU74d9Ng==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-retry@4.0.7':
+ resolution: {integrity: sha512-TTO6rt0ppK70alZpkjwy+3nQlTiqNfoXja+qwuAchIEAIoSZW8Qyd76dvBv3I5bCpE38APafG23Y/u270NspiQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-stream@4.2.0':
+ resolution: {integrity: sha512-Vj1TtwWnuWqdgQI6YTUF5hQ/0jmFiOYsc51CSMgj7QfyO+RF4EnT2HNjoviNlOOmgzgvf3f5yno+EiC4vrnaWQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-stream@4.2.4':
+ resolution: {integrity: sha512-vSKnvNZX2BXzl0U2RgCLOwWaAP9x/ddd/XobPK02pCbzRm5s55M53uwb1rl/Ts7RXZvdJZerPkA+en2FDghLuQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-uri-escape@4.0.0':
+ resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-utf8@2.3.0':
+ resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==}
+ engines: {node: '>=14.0.0'}
+
+ '@smithy/util-utf8@4.0.0':
+ resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==}
+ engines: {node: '>=18.0.0'}
+
+ '@smithy/util-waiter@4.0.3':
+ resolution: {integrity: sha512-JtaY3FxmD+te+KSI2FJuEcfNC9T/DGGVf551babM7fAaXhjJUt7oSYurH1Devxd2+BOSUACCgt3buinx4UnmEA==}
+ engines: {node: '>=18.0.0'}
+
+ '@standard-schema/spec@1.0.0':
+ resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
+
+ '@surma/rollup-plugin-off-main-thread@2.2.3':
+ resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
+
+ '@svgr/babel-plugin-add-jsx-attribute@8.0.0':
+ resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-remove-jsx-attribute@8.0.0':
+ resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0':
+ resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0':
+ resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-svg-dynamic-title@8.0.0':
+ resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-svg-em-dimensions@8.0.0':
+ resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-transform-react-native-svg@8.1.0':
+ resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-transform-svg-component@8.0.0':
+ resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-preset@8.1.0':
+ resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/core@8.1.0':
+ resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==}
+ engines: {node: '>=14'}
+
+ '@svgr/hast-util-to-babel-ast@8.0.0':
+ resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==}
+ engines: {node: '>=14'}
+
+ '@svgr/plugin-jsx@8.1.0':
+ resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@svgr/core': '*'
+
+ '@svgr/plugin-svgo@8.1.0':
+ resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@svgr/core': '*'
+
+ '@svgr/webpack@8.1.0':
+ resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==}
+ engines: {node: '>=14'}
+
+ '@szmarczak/http-timer@4.0.6':
+ resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
+ engines: {node: '>=10'}
+
+ '@szmarczak/http-timer@5.0.1':
+ resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
+ engines: {node: '>=14.16'}
+
+ '@teachablemachine/image@0.8.5':
+ resolution: {integrity: sha512-u6BLQ8RBn38BKee7mmAl+HS9qWgM/2YmUbQYy21eQfqhb7E8xT5LDp7QqEU31rtgEIMDwB/OG8cjmSiuHpqb7A==}
+ peerDependencies:
+ '@tensorflow/tfjs': 1.3.1
+
+ '@tensorflow/tfjs-backend-cpu@4.2.0':
+ resolution: {integrity: sha512-8HWg9J69m0Ovc6w8TVhhixMOcwA3t/NPXLblOA/sgJ+/JD5gsbpLWJk4QISQyb1RnpSVzw6PX3BSMTJU7hWVOg==}
+ engines: {yarn: '>= 1.3.2'}
+ peerDependencies:
+ '@tensorflow/tfjs-core': 4.2.0
+
+ '@tensorflow/tfjs-backend-webgl@4.2.0':
+ resolution: {integrity: sha512-Qvf+hD5pSh+xi48kChSGzcDKJemkc4EKfoVVjuxl4k25ZUPwuEd7zZUAtinkLu1dzgHNyvePZY8k+9rVm59HJA==}
+ engines: {yarn: '>= 1.3.2'}
+ peerDependencies:
+ '@tensorflow/tfjs-core': 4.2.0
+
+ '@tensorflow/tfjs-converter@4.2.0':
+ resolution: {integrity: sha512-m+E2KJM6yGQdi8ElzWpChdD/JaqhWMCi9yK70v/ndkOaCL2q2UN48nYP2T5S15vkDvMIgzAQyZfh7hxQsMuvRQ==}
+ peerDependencies:
+ '@tensorflow/tfjs-core': 4.2.0
+
+ '@tensorflow/tfjs-core@4.2.0':
+ resolution: {integrity: sha512-uuHkiWVC8b00ngFbHvAV7J7haRlN/9PEdeenCi0CzBjgKd7aN25wPWaoN0TSQcU+GT4FJ8mofMZ9VBYZ/s/WLg==}
+ engines: {yarn: '>= 1.3.2'}
+
+ '@tensorflow/tfjs-data@4.2.0':
+ resolution: {integrity: sha512-11t7Q+ikseduJgkd9iSeRrtor1aA3o5PVCFhC5yYvR3JLO55ic1+4Ryo0EJfhRoismS6zBUJrpzX4K0zlLbIfw==}
+ peerDependencies:
+ '@tensorflow/tfjs-core': 4.2.0
+ seedrandom: ^3.0.5
+
+ '@tensorflow/tfjs-layers@4.2.0':
+ resolution: {integrity: sha512-SO0KTmCFOjrW+PlP9nKYXz07XGFq6uE7am9yH2bRaRPWpEeaKT/+k0C9vFMxI/GzRwY8AK4sLe4U+jE1mhYxGw==}
+ peerDependencies:
+ '@tensorflow/tfjs-core': 4.2.0
+
+ '@tensorflow/tfjs@4.2.0':
+ resolution: {integrity: sha512-iZmtyGC9IJkx+TpFnkgDol8BHv2BU3zJ01HyNcuvnm1w1EqoNe+1n8bwvLzI/sxHMcHTqzuu7VugMaphryxE+A==}
+ hasBin: true
+
+ '@tootallnate/once@2.0.0':
+ resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
+ engines: {node: '>= 10'}
+
+ '@trysound/sax@0.2.0':
+ resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
+ engines: {node: '>=10.13.0'}
+
+ '@ts-morph/common@0.21.0':
+ resolution: {integrity: sha512-ES110Mmne5Vi4ypUKrtVQfXFDtCsDXiUiGxF6ILVlE90dDD4fdpC1LSjydl/ml7xJWKSDZwUYD2zkOePMSrPBA==}
+
+ '@tufjs/canonical-json@1.0.0':
+ resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@tufjs/canonical-json@2.0.0':
+ resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@tufjs/models@1.0.4':
+ resolution: {integrity: sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ '@tufjs/models@2.0.1':
+ resolution: {integrity: sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ '@turf/along@7.2.0':
+ resolution: {integrity: sha512-Cf+d2LozABdb0TJoIcJwFKB+qisJY4nMUW9z6PAuZ9UCH7AR//hy2Z06vwYCKFZKP4a7DRPkOMBadQABCyoYuw==}
+
+ '@turf/angle@7.2.0':
+ resolution: {integrity: sha512-b28rs1NO8Dt/MXadFhnpqH7GnEWRsl+xF5JeFtg9+eM/+l/zGrdliPYMZtAj12xn33w22J1X4TRprAI0rruvVQ==}
+
+ '@turf/area@7.2.0':
+ resolution: {integrity: sha512-zuTTdQ4eoTI9nSSjerIy4QwgvxqwJVciQJ8tOPuMHbXJ9N/dNjI7bU8tasjhxas/Cx3NE9NxVHtNpYHL0FSzoA==}
+
+ '@turf/bbox-clip@7.2.0':
+ resolution: {integrity: sha512-q6RXTpqeUQAYLAieUL1n3J6ukRGsNVDOqcYtfzaJbPW+0VsAf+1cI16sN700t0sekbeU1DH/RRVAHhpf8+36wA==}
+
+ '@turf/bbox-polygon@7.2.0':
+ resolution: {integrity: sha512-Aj4G1GAAy26fmOqMjUk0Z+Lcax5VQ9g1xYDbHLQWXvfTsaueBT+RzdH6XPnZ/seEEnZkio2IxE8V5af/osupgA==}
+
+ '@turf/bbox@7.2.0':
+ resolution: {integrity: sha512-wzHEjCXlYZiDludDbXkpBSmv8Zu6tPGLmJ1sXQ6qDwpLE1Ew3mcWqt8AaxfTP5QwDNQa3sf2vvgTEzNbPQkCiA==}
+
+ '@turf/bearing@7.2.0':
+ resolution: {integrity: sha512-Jm0Xt3GgHjRrWvBtAGvgfnADLm+4exud2pRlmCYx8zfiKuNXQFkrcTZcOiJOgTfG20Agq28iSh15uta47jSIbg==}
+
+ '@turf/bezier-spline@7.2.0':
+ resolution: {integrity: sha512-7BPkc3ufYB9KLvcaTpTsnpXzh9DZoENxCS0Ms9XUwuRXw45TpevwUpOsa3atO76iKQ5puHntqFO4zs8IUxBaaA==}
+
+ '@turf/boolean-clockwise@7.2.0':
+ resolution: {integrity: sha512-0fJeFSARxy6ealGBM4Gmgpa1o8msQF87p2Dx5V6uSqzT8VPDegX1NSWl4b7QgXczYa9qv7IAABttdWP0K7Q7eQ==}
+
+ '@turf/boolean-concave@7.2.0':
+ resolution: {integrity: sha512-v3dTN04dfO6VqctQj1a+pjDHb6+/Ev90oAR2QjJuAntY4ubhhr7vKeJdk/w+tWNSMKULnYwfe65Du3EOu3/TeA==}
+
+ '@turf/boolean-contains@7.2.0':
+ resolution: {integrity: sha512-dgRQm4uVO5XuLee4PLVH7CFQZKdefUBMIXTPITm2oRIDmPLJKHDOFKQTNkGJ73mDKKBR2lmt6eVH3br6OYrEYg==}
+
+ '@turf/boolean-crosses@7.2.0':
+ resolution: {integrity: sha512-9GyM4UUWFKQOoNhHVSfJBf5XbPy8Fxfz9djjJNAnm/IOl8NmFUSwFPAjKlpiMcr6yuaAoc9R/1KokS9/eLqPvA==}
+
+ '@turf/boolean-disjoint@7.2.0':
+ resolution: {integrity: sha512-xdz+pYKkLMuqkNeJ6EF/3OdAiJdiHhcHCV0ykX33NIuALKIEpKik0+NdxxNsZsivOW6keKwr61SI+gcVtHYcnQ==}
+
+ '@turf/boolean-equal@7.2.0':
+ resolution: {integrity: sha512-TmjKYLsxXqEmdDtFq3QgX4aSogiISp3/doeEtDOs3NNSR8susOtBEZkmvwO6DLW+g/rgoQJIBR6iVoWiRqkBxw==}
+
+ '@turf/boolean-intersects@7.2.0':
+ resolution: {integrity: sha512-GLRyLQgK3F14drkK5Qi9Mv7Z9VT1bgQUd9a3DB3DACTZWDSwfh8YZUFn/HBwRkK8dDdgNEXaavggQHcPi1k9ow==}
+
+ '@turf/boolean-overlap@7.2.0':
+ resolution: {integrity: sha512-ieM5qIE4anO+gUHIOvEN7CjyowF+kQ6v20/oNYJCp63TVS6eGMkwgd+I4uMzBXfVW66nVHIXjODdUelU+Xyctw==}
+
+ '@turf/boolean-parallel@7.2.0':
+ resolution: {integrity: sha512-iOtuzzff8nmwv05ROkSvyeGLMrfdGkIi+3hyQ+DH4IVyV37vQbqR5oOJ0Nt3Qq1Tjrq9fvF8G3OMdAv3W2kY9w==}
+
+ '@turf/boolean-point-in-polygon@7.2.0':
+ resolution: {integrity: sha512-lvEOjxeXIp+wPXgl9kJA97dqzMfNexjqHou+XHVcfxQgolctoJiRYmcVCWGpiZ9CBf/CJha1KmD1qQoRIsjLaA==}
+
+ '@turf/boolean-point-on-line@7.2.0':
+ resolution: {integrity: sha512-H/bXX8+2VYeSyH8JWrOsu8OGmeA9KVZfM7M6U5/fSqGsRHXo9MyYJ94k39A9kcKSwI0aWiMXVD2UFmiWy8423Q==}
+
+ '@turf/boolean-touches@7.2.0':
+ resolution: {integrity: sha512-8qb1CO+cwFATGRGFgTRjzL9aibfsbI91pdiRl7KIEkVdeN/H9k8FDrUA1neY7Yq48IaciuwqjbbojQ16FD9b0w==}
+
+ '@turf/boolean-valid@7.2.0':
+ resolution: {integrity: sha512-xb7gdHN8VV6ivPJh6rPpgxmAEGReiRxqY+QZoEZVGpW2dXcmU1BdY6FA6G/cwvggXAXxJBREoANtEDgp/0ySbA==}
+
+ '@turf/boolean-within@7.2.0':
+ resolution: {integrity: sha512-zB3AiF59zQZ27Dp1iyhp9mVAKOFHat8RDH45TZhLY8EaqdEPdmLGvwMFCKfLryQcUDQvmzP8xWbtUR82QM5C4g==}
+
+ '@turf/buffer@7.2.0':
+ resolution: {integrity: sha512-QH1FTr5Mk4z1kpQNztMD8XBOZfpOXPOtlsxaSAj2kDIf5+LquA6HtJjZrjUngnGtzG5+XwcfyRL4ImvLnFjm5Q==}
+
+ '@turf/center-mean@7.2.0':
+ resolution: {integrity: sha512-NaW6IowAooTJ35O198Jw3U4diZ6UZCCeJY+4E+WMLpks3FCxMDSHEfO2QjyOXQMGWZnVxVelqI5x9DdniDbQ+A==}
+
+ '@turf/center-median@7.2.0':
+ resolution: {integrity: sha512-/CgVyHNG4zAoZpvkl7qBCe4w7giWNVtLyTU5PoIfg1vWM4VpYw+N7kcBBH46bbzvVBn0vhmZr586r543EwdC/A==}
+
+ '@turf/center-of-mass@7.2.0':
+ resolution: {integrity: sha512-ij3pmG61WQPHGTQvOziPOdIgwTMegkYTwIc71Gl7xn4C0vWH6KLDSshCphds9xdWSXt2GbHpUs3tr4XGntHkEQ==}
+
+ '@turf/center@7.2.0':
+ resolution: {integrity: sha512-UTNp9abQ2kuyRg5gCIGDNwwEQeF3NbpYsd1Q0KW9lwWuzbLVNn0sOwbxjpNF4J2HtMOs5YVOcqNvYyuoa2XrXw==}
+
+ '@turf/centroid@7.2.0':
+ resolution: {integrity: sha512-yJqDSw25T7P48au5KjvYqbDVZ7qVnipziVfZ9aSo7P2/jTE7d4BP21w0/XLi3T/9bry/t9PR1GDDDQljN4KfDw==}
+
+ '@turf/circle@7.2.0':
+ resolution: {integrity: sha512-1AbqBYtXhstrHmnW6jhLwsv7TtmT0mW58Hvl1uZXEDM1NCVXIR50yDipIeQPjrCuJ/Zdg/91gU8+4GuDCAxBGA==}
+
+ '@turf/clean-coords@7.2.0':
+ resolution: {integrity: sha512-+5+J1+D7wW7O/RDXn46IfCHuX1gIV1pIAQNSA7lcDbr3HQITZj334C4mOGZLEcGbsiXtlHWZiBtm785Vg8i+QQ==}
+
+ '@turf/clone@7.2.0':
+ resolution: {integrity: sha512-JlGUT+/5qoU5jqZmf6NMFIoLDY3O7jKd53Up+zbpJ2vzUp6QdwdNzwrsCeONhynWM13F0MVtPXH4AtdkrgFk4g==}
+
+ '@turf/clusters-dbscan@7.2.0':
+ resolution: {integrity: sha512-VWVUuDreev56g3/BMlnq/81yzczqaz+NVTypN5CigGgP67e+u/CnijphiuhKjtjDd/MzGjXgEWBJc26Y6LYKAw==}
+
+ '@turf/clusters-kmeans@7.2.0':
+ resolution: {integrity: sha512-BxQdK8jc8Mwm9yoClCYkktm4W004uiQGqb/i/6Y7a8xqgJITWDgTu/cy//wOxAWPk4xfe6MThjnqkszWW8JdyQ==}
+
+ '@turf/clusters@7.2.0':
+ resolution: {integrity: sha512-sKOrIKHHtXAuTKNm2USnEct+6/MrgyzMW42deZ2YG2RRKWGaaxHMFU2Yw71Yk4DqStOqTIBQpIOdrRuSOwbuQw==}
+
+ '@turf/collect@7.2.0':
+ resolution: {integrity: sha512-zRVGDlYS8Bx/Zz4vnEUyRg4dmqHhkDbW/nIUIJh657YqaMj1SFi4Iv2i9NbcurlUBDJFkpuOhCvvEvAdskJ8UA==}
+
+ '@turf/combine@7.2.0':
+ resolution: {integrity: sha512-VEjm3IvnbMt3IgeRIhCDhhQDbLqCU1/5uN1+j1u6fyA095pCizPThGp4f/COSzC3t1s/iiV+fHuDsB6DihHffQ==}
+
+ '@turf/concave@7.2.0':
+ resolution: {integrity: sha512-cpaDDlumK762kdadexw5ZAB6g/h2pJdihZ+e65lbQVe3WukJHAANnIEeKsdFCuIyNKrwTz2gWu5ws+OpjP48Yw==}
+
+ '@turf/convex@7.2.0':
+ resolution: {integrity: sha512-HsgHm+zHRE8yPCE/jBUtWFyaaBmpXcSlyHd5/xsMhSZRImFzRzBibaONWQo7xbKZMISC3Nc6BtUjDi/jEVbqyA==}
+
+ '@turf/destination@7.2.0':
+ resolution: {integrity: sha512-8DUxtOO0Fvrh1xclIUj3d9C5WS20D21F5E+j+X9Q+ju6fcM4huOqTg5ckV1DN2Pg8caABEc5HEZJnGch/5YnYQ==}
+
+ '@turf/difference@7.2.0':
+ resolution: {integrity: sha512-NHKD1v3s8RX+9lOpvHJg6xRuJOKiY3qxHhz5/FmE0VgGqnCkE7OObqWZ5SsXG+Ckh0aafs5qKhmDdDV/gGi6JA==}
+
+ '@turf/dissolve@7.2.0':
+ resolution: {integrity: sha512-gPG5TE3mAYuZqBut8tPYCKwi4hhx5Cq0ALoQMB9X0hrVtFIKrihrsj98XQM/5pL/UIpAxQfwisQvy6XaOFaoPA==}
+
+ '@turf/distance-weight@7.2.0':
+ resolution: {integrity: sha512-NeoyV0fXDH+7nIoNtLjAoH9XL0AS1pmTIyDxEE6LryoDTsqjnuR0YQxIkLCCWDqECoqaOmmBqpeWONjX5BwWCg==}
+
+ '@turf/distance@7.2.0':
+ resolution: {integrity: sha512-HBjjXIgEcD/wJYjv7/6OZj5yoky2oUvTtVeIAqO3lL80XRvoYmVg6vkOIu6NswkerwLDDNT9kl7+BFLJoHbh6Q==}
+
+ '@turf/ellipse@7.2.0':
+ resolution: {integrity: sha512-/Y75S5hE2+xjnTw4dXpQ5r/Y2HPM4xrwkPRCCQRpuuboKdEvm42azYmh7isPnMnBTVcmGb9UmGKj0HHAbiwt1g==}
+
+ '@turf/envelope@7.2.0':
+ resolution: {integrity: sha512-xOMtDeNKHwUuDfzQeoSNmdabsP0/IgVDeyzitDe/8j9wTeW+MrKzVbGz7627PT3h6gsO+2nUv5asfKtUbmTyHA==}
+
+ '@turf/explode@7.2.0':
+ resolution: {integrity: sha512-jyMXg93J1OI7/65SsLE1k9dfQD3JbcPNMi4/O3QR2Qb3BAs2039oFaSjtW+YqhMqVC4V3ZeKebMcJ8h9sK1n+A==}
+
+ '@turf/flatten@7.2.0':
+ resolution: {integrity: sha512-q38Qsqr4l7mxp780zSdn0gp/WLBX+sa+gV6qIbDQ1HKCrrPK8QQJmNx7gk1xxEXVot6tq/WyAPysCQdX+kLmMA==}
+
+ '@turf/flip@7.2.0':
+ resolution: {integrity: sha512-X0TQ0U/UYh4tyXdLO5itP1sO2HOvfrZC0fYSWmTfLDM14jEPkEK8PblofznfBygL+pIFtOS2is8FuVcp5XxYpQ==}
+
+ '@turf/geojson-rbush@7.2.0':
+ resolution: {integrity: sha512-ST8fLv+EwxVkDgsmhHggM0sPk2SfOHTZJkdgMXVFT7gB9o4lF8qk4y4lwvCCGIfFQAp2yv/PN5EaGMEKutk6xw==}
+
+ '@turf/great-circle@7.2.0':
+ resolution: {integrity: sha512-n30OiADyOKHhor0aXNgYfXQYXO3UtsOKmhQsY1D89/Oh1nCIXG/1ZPlLL9ZoaRXXBTUBjh99a+K8029NQbGDhw==}
+
+ '@turf/helpers@7.2.0':
+ resolution: {integrity: sha512-cXo7bKNZoa7aC7ydLmUR02oB3IgDe7MxiPuRz3cCtYQHn+BJ6h1tihmamYDWWUlPHgSNF0i3ATc4WmDECZafKw==}
+
+ '@turf/hex-grid@7.2.0':
+ resolution: {integrity: sha512-Yo2yUGxrTCQfmcVsSjDt0G3Veg8YD26WRd7etVPD9eirNNgXrIyZkbYA7zVV/qLeRWVmYIKRXg1USWl7ORQOGA==}
+
+ '@turf/interpolate@7.2.0':
+ resolution: {integrity: sha512-Ifgjm1SEo6XujuSAU6lpRMvoJ1SYTreil1Rf5WsaXj16BQJCedht/4FtWCTNhSWTwEz2motQ1WNrjTCuPG94xA==}
+
+ '@turf/intersect@7.2.0':
+ resolution: {integrity: sha512-81GMzKS9pKqLPa61qSlFxLFeAC8XbwyCQ9Qv4z6o5skWk1qmMUbEHeMqaGUTEzk+q2XyhZ0sju1FV4iLevQ/aw==}
+
+ '@turf/invariant@7.2.0':
+ resolution: {integrity: sha512-kV4u8e7Gkpq+kPbAKNC21CmyrXzlbBgFjO1PhrHPgEdNqXqDawoZ3i6ivE3ULJj2rSesCjduUaC/wyvH/sNr2Q==}
+
+ '@turf/isobands@7.2.0':
+ resolution: {integrity: sha512-lYoHeRieFzpBp29Jh19QcDIb0E+dzo/K5uwZuNga4wxr6heNU0AfkD4ByAHYIXHtvmp4m/JpSKq/2N6h/zvBkg==}
+
+ '@turf/isolines@7.2.0':
+ resolution: {integrity: sha512-4ZXKxvA/JKkxAXixXhN3UVza5FABsdYgOWXyYm3L5ryTPJVOYTVSSd9A+CAVlv9dZc3YdlsqMqLTXNOOre/kwg==}
+
+ '@turf/jsts@2.7.2':
+ resolution: {integrity: sha512-zAezGlwWHPyU0zxwcX2wQY3RkRpwuoBmhhNE9HY9kWhFDkCxZ3aWK5URKwa/SWKJbj9aztO+8vtdiBA28KVJFg==}
+
+ '@turf/kinks@7.2.0':
+ resolution: {integrity: sha512-BtxDxGewJR0Q5WR9HKBSxZhirFX+GEH1rD7/EvgDsHS8e1Y5/vNQQUmXdURjdPa4StzaUBsWRU5T3A356gLbPA==}
+
+ '@turf/length@7.2.0':
+ resolution: {integrity: sha512-LBmYN+iCgVtWNLsckVnpQIJENqIIPO63mogazMp23lrDGfWXu07zZQ9ZinJVO5xYurXNhc/QI2xxoqt2Xw90Ig==}
+
+ '@turf/line-arc@7.2.0':
+ resolution: {integrity: sha512-kfWzA5oYrTpslTg5fN50G04zSypiYQzjZv3FLjbZkk6kta5fo4JkERKjTeA8x4XNojb+pfmjMBB0yIh2w2dDRw==}
+
+ '@turf/line-chunk@7.2.0':
+ resolution: {integrity: sha512-1ODyL5gETtWSL85MPI0lgp/78vl95M39gpeBxePXyDIqx8geDP9kXfAzctuKdxBoR4JmOVM3NT7Fz7h+IEkC+g==}
+
+ '@turf/line-intersect@7.2.0':
+ resolution: {integrity: sha512-GhCJVEkc8EmggNi85EuVLoXF5T5jNVxmhIetwppiVyJzMrwkYAkZSYB3IBFYGUUB9qiNFnTwungVSsBV/S8ZiA==}
+
+ '@turf/line-offset@7.2.0':
+ resolution: {integrity: sha512-1+OkYueDCbnEWzbfBh3taVr+3SyM2bal5jfnSEuDiLA6jnlScgr8tn3INo+zwrUkPFZPPAejL1swVyO5TjUahw==}
+
+ '@turf/line-overlap@7.2.0':
+ resolution: {integrity: sha512-NNn7/jg53+N10q2Kyt66bEDqN3101iW/1zA5FW7J6UbKApDFkByh+18YZq1of71kS6oUYplP86WkDp16LFpqqw==}
+
+ '@turf/line-segment@7.2.0':
+ resolution: {integrity: sha512-E162rmTF9XjVN4rINJCd15AdQGCBlNqeWN3V0YI1vOUpZFNT2ii4SqEMCcH2d+5EheHLL8BWVwZoOsvHZbvaWA==}
+
+ '@turf/line-slice-along@7.2.0':
+ resolution: {integrity: sha512-4/gPgP0j5Rp+1prbhXqn7kIH/uZTmSgiubUnn67F8nb9zE+MhbRglhSlRYEZxAVkB7VrGwjyolCwvrROhjHp2A==}
+
+ '@turf/line-slice@7.2.0':
+ resolution: {integrity: sha512-bHotzZIaU1GPV3RMwttYpDrmcvb3X2i1g/WUttPZWtKrEo2VVAkoYdeZ2aFwtogERYS4quFdJ/TDzAtquBC8WQ==}
+
+ '@turf/line-split@7.2.0':
+ resolution: {integrity: sha512-yJTZR+c8CwoKqdW/aIs+iLbuFwAa3Yan+EOADFQuXXIUGps3bJUXx/38rmowNoZbHyP1np1+OtrotyHu5uBsfQ==}
+
+ '@turf/line-to-polygon@7.2.0':
+ resolution: {integrity: sha512-iKpJqc7EYc5NvlD4KaqrKKO6mXR7YWO/YwtW60E2FnsF/blnsy9OfAOcilYHgH3S/V/TT0VedC7DW7Kgjy2EIA==}
+
+ '@turf/mask@7.2.0':
+ resolution: {integrity: sha512-ulJ6dQqXC0wrjIoqFViXuMUdIPX5Q6GPViZ3kGfeVijvlLM7kTFBsZiPQwALSr5nTQg4Ppf3FD0Jmg8IErPrgA==}
+
+ '@turf/meta@7.2.0':
+ resolution: {integrity: sha512-igzTdHsQc8TV1RhPuOLVo74Px/hyPrVgVOTgjWQZzt3J9BVseCdpfY/0cJBdlSRI4S/yTmmHl7gAqjhpYH5Yaw==}
+
+ '@turf/midpoint@7.2.0':
+ resolution: {integrity: sha512-AMn5S9aSrbXdE+Q4Rj+T5nLdpfpn+mfzqIaEKkYI021HC0vb22HyhQHsQbSeX+AWcS4CjD1hFsYVcgKI+5qCfw==}
+
+ '@turf/moran-index@7.2.0':
+ resolution: {integrity: sha512-Aexh1EmXVPJhApr9grrd120vbalIthcIsQ3OAN2Tqwf+eExHXArJEJqGBo9IZiQbIpFJeftt/OvUvlI8BeO1bA==}
+
+ '@turf/nearest-neighbor-analysis@7.2.0':
+ resolution: {integrity: sha512-LmP/crXb7gilgsL0wL9hsygqc537W/a1W5r9XBKJT4SKdqjoXX5APJatJfd3nwXbRIqwDH0cDA9/YyFjBPlKnA==}
+
+ '@turf/nearest-point-on-line@7.2.0':
+ resolution: {integrity: sha512-UOhAeoDPVewBQV+PWg1YTMQcYpJsIqfW5+EuZ5vJl60XwUa0+kqB/eVfSLNXmHENjKKIlEt9Oy9HIDF4VeWmXA==}
+
+ '@turf/nearest-point-to-line@7.2.0':
+ resolution: {integrity: sha512-EorU7Qj30A7nAjh++KF/eTPDlzwuuV4neBz7tmSTB21HKuXZAR0upJsx6M2X1CSyGEgNsbFB0ivNKIvymRTKBw==}
+
+ '@turf/nearest-point@7.2.0':
+ resolution: {integrity: sha512-0wmsqXZ8CGw4QKeZmS+NdjYTqCMC+HXZvM3XAQIU6k6laNLqjad2oS4nDrtcRs/nWDvcj1CR+Io7OiQ6sbpn5Q==}
+
+ '@turf/planepoint@7.2.0':
+ resolution: {integrity: sha512-8Vno01tvi5gThUEKBQ46CmlEKDAwVpkl7stOPFvJYlA1oywjAL4PsmgwjXgleZuFtXQUPBNgv5a42Pf438XP4g==}
+
+ '@turf/point-grid@7.2.0':
+ resolution: {integrity: sha512-ai7lwBV2FREPW3XiUNohT4opC1hd6+F56qZe20xYhCTkTD9diWjXHiNudQPSmVAUjgMzQGasblQQqvOdL+bJ3Q==}
+
+ '@turf/point-on-feature@7.2.0':
+ resolution: {integrity: sha512-ksoYoLO9WtJ/qI8VI9ltF+2ZjLWrAjZNsCsu8F7nyGeCh4I8opjf4qVLytFG44XA2qI5yc6iXDpyv0sshvP82Q==}
+
+ '@turf/point-to-line-distance@7.2.0':
+ resolution: {integrity: sha512-fB9Rdnb5w5+t76Gho2dYDkGe20eRrFk8CXi4v1+l1PC8YyLXO+x+l3TrtT8HzL/dVaZeepO6WUIsIw3ditTOPg==}
+
+ '@turf/point-to-polygon-distance@7.2.0':
+ resolution: {integrity: sha512-w+WYuINgTiFjoZemQwOaQSje/8Kq+uqJOynvx7+gleQPHyWQ3VtTodtV4LwzVzXz8Sf7Mngx1Jcp2SNai5CJYA==}
+
+ '@turf/points-within-polygon@7.2.0':
+ resolution: {integrity: sha512-jRKp8/mWNMzA+hKlQhxci97H5nOio9tp14R2SzpvkOt+cswxl+NqTEi1hDd2XetA7tjU0TSoNjEgVY8FfA0S6w==}
+
+ '@turf/polygon-smooth@7.2.0':
+ resolution: {integrity: sha512-KCp9wF2IEynvGXVhySR8oQ2razKP0zwg99K+fuClP21pSKCFjAPaihPEYq6e8uI/1J7ibjL5++6EMl+LrUTrLg==}
+
+ '@turf/polygon-tangents@7.2.0':
+ resolution: {integrity: sha512-AHUUPmOjiQDrtP/ODXukHBlUG0C/9I1je7zz50OTfl2ZDOdEqFJQC3RyNELwq07grTXZvg5TS5wYx/Y7nsm47g==}
+
+ '@turf/polygon-to-line@7.2.0':
+ resolution: {integrity: sha512-9jeTN3LiJ933I5sd4K0kwkcivOYXXm1emk0dHorwXeSFSHF+nlYesEW3Hd889wb9lZd7/SVLMUeX/h39mX+vCA==}
+
+ '@turf/polygonize@7.2.0':
+ resolution: {integrity: sha512-U9v+lBhUPDv+nsg/VcScdiqCB59afO6CHDGrwIl2+5i6Ve+/KQKjpTV/R+NqoC1iMXAEq3brY6HY8Ukp/pUWng==}
+
+ '@turf/projection@7.2.0':
+ resolution: {integrity: sha512-/qke5vJScv8Mu7a+fU3RSChBRijE6EVuFHU3RYihMuYm04Vw8dBMIs0enEpoq0ke/IjSbleIrGQNZIMRX9EwZQ==}
+
+ '@turf/quadrat-analysis@7.2.0':
+ resolution: {integrity: sha512-fDQh3+ldYNxUqS6QYlvJ7GZLlCeDZR6tD3ikdYtOsSemwW1n/4gm2xcgWJqy3Y0uszBwxc13IGGY7NGEjHA+0w==}
+
+ '@turf/random@7.2.0':
+ resolution: {integrity: sha512-fNXs5mOeXsrirliw84S8UCNkpm4RMNbefPNsuCTfZEXhcr1MuHMzq4JWKb4FweMdN1Yx2l/xcytkO0s71cJ50w==}
+
+ '@turf/rectangle-grid@7.2.0':
+ resolution: {integrity: sha512-f0o5ifvy0Ml/nHDJzMNcuSk4h11aa3BfvQNnYQhLpuTQu03j/ICZNlzKTLxwjcUqvxADUifty7Z9CX5W6zky4A==}
+
+ '@turf/rewind@7.2.0':
+ resolution: {integrity: sha512-SZpRAZiZsE22+HVz6pEID+ST25vOdpAMGk5NO1JeqzhpMALIkIGnkG+xnun2CfYHz7wv8/Z0ADiAvei9rkcQYA==}
+
+ '@turf/rhumb-bearing@7.2.0':
+ resolution: {integrity: sha512-jbdexlrR8X2ZauUciHx3tRwG+BXoMXke4B8p8/IgDlAfIrVdzAxSQN89FMzIKnjJ/kdLjo9bFGvb92bu31Etug==}
+
+ '@turf/rhumb-destination@7.2.0':
+ resolution: {integrity: sha512-U9OLgLAHlH4Wfx3fBZf3jvnkDjdTcfRan5eI7VPV1+fQWkOteATpzkiRjCvSYK575GljVwWBjkKca8LziGWitQ==}
+
+ '@turf/rhumb-distance@7.2.0':
+ resolution: {integrity: sha512-NsijTPON1yOc9tirRPEQQuJ5aQi7pREsqchQquaYKbHNWsexZjcDi4wnw2kM3Si4XjmgynT+2f7aXH7FHarHzw==}
+
+ '@turf/sample@7.2.0':
+ resolution: {integrity: sha512-f+ZbcbQJ9glQ/F26re8LadxO0ORafy298EJZe6XtbctRTJrNus6UNAsl8+GYXFqMnXM22tbTAznnJX3ZiWNorA==}
+
+ '@turf/sector@7.2.0':
+ resolution: {integrity: sha512-zL06MjbbMG4DdpiNz+Q9Ax8jsCekt3R76uxeWShulAGkyDB5smdBOUDoRwxn05UX7l4kKv4Ucq2imQXhxKFd1w==}
+
+ '@turf/shortest-path@7.2.0':
+ resolution: {integrity: sha512-6fpx8feZ2jMSaeRaFdqFShGWkNb+veUOeyLFSHA/aRD9n/e9F2pWZoRbQWKbKTpcKFJ2FnDEqCZnh/GrcAsqWA==}
+
+ '@turf/simplify@7.2.0':
+ resolution: {integrity: sha512-9YHIfSc8BXQfi5IvEMbCeQYqNch0UawIGwbboJaoV8rodhtk6kKV2wrpXdGqk/6Thg6/RWvChJFKVVTjVrULyQ==}
+
+ '@turf/square-grid@7.2.0':
+ resolution: {integrity: sha512-EmzGXa90hz+tiCOs9wX+Lak6pH0Vghb7QuX6KZej+pmWi3Yz7vdvQLmy/wuN048+wSkD5c8WUo/kTeNDe7GnmA==}
+
+ '@turf/square@7.2.0':
+ resolution: {integrity: sha512-9pMoAGFvqzCDOlO9IRSSBCGXKbl8EwMx6xRRBMKdZgpS0mZgfm9xiptMmx/t1m4qqHIlb/N+3MUF7iMBx6upcA==}
+
+ '@turf/standard-deviational-ellipse@7.2.0':
+ resolution: {integrity: sha512-+uC0pR2nRjm90JvMXe/2xOCZsYV2II1ZZ2zmWcBWv6bcFXBspcxk2QfCC3k0bj6jDapELzoQgnn3cG5lbdQV2w==}
+
+ '@turf/tag@7.2.0':
+ resolution: {integrity: sha512-TAFvsbp5TCBqXue8ui+CtcLsPZ6NPC88L8Ad6Hb/R6VAi21qe0U42WJHQYXzWmtThoTNwxi+oKSeFbRDsr0FIA==}
+
+ '@turf/tesselate@7.2.0':
+ resolution: {integrity: sha512-zHGcG85aOJJu1seCm+CYTJ3UempX4Xtyt669vFG6Hbr/Hc7ii6STQ2ysFr7lJwFtU9uyYhphVrrgwIqwglvI/Q==}
+
+ '@turf/tin@7.2.0':
+ resolution: {integrity: sha512-y24Vt3oeE6ZXvyLJamP0Ke02rPlDGE9gF7OFADnR0mT+2uectb0UTIBC3kKzON80TEAlA3GXpKFkCW5Fo/O/Kg==}
+
+ '@turf/transform-rotate@7.2.0':
+ resolution: {integrity: sha512-EMCj0Zqy3cF9d3mGRqDlYnX2ZBXe3LgT+piDR0EuF5c5sjuKErcFcaBIsn/lg1gp4xCNZFinkZ3dsFfgGHf6fw==}
+
+ '@turf/transform-scale@7.2.0':
+ resolution: {integrity: sha512-HYB+pw938eeI8s1/zSWFy6hq+t38fuUaBb0jJsZB1K9zQ1WjEYpPvKF/0//80zNPlyxLv3cOkeBucso3hzI07A==}
+
+ '@turf/transform-translate@7.2.0':
+ resolution: {integrity: sha512-zAglR8MKCqkzDTjGMIQgbg/f+Q3XcKVzr9cELw5l9CrS1a0VTSDtBZLDm0kWx0ankwtam7ZmI2jXyuQWT8Gbug==}
+
+ '@turf/triangle-grid@7.2.0':
+ resolution: {integrity: sha512-4gcAqWKh9hg6PC5nNSb9VWyLgl821cwf9yR9yEzQhEFfwYL/pZONBWCO1cwVF23vSYMSMm+/TwqxH4emxaArfw==}
+
+ '@turf/truncate@7.2.0':
+ resolution: {integrity: sha512-jyFzxYbPugK4XjV5V/k6Xr3taBjjvo210IbPHJXw0Zh7Y6sF+hGxeRVtSuZ9VP/6oRyqAOHKUrze+OOkPqBgUg==}
+
+ '@turf/turf@7.2.0':
+ resolution: {integrity: sha512-G1kKBu4hYgoNoRJgnpJohNuS7bLnoWHZ2G/4wUMym5xOSiYah6carzdTEsMoTsauyi7ilByWHx5UHwbjjCVcBw==}
+
+ '@turf/union@7.2.0':
+ resolution: {integrity: sha512-Xex/cfKSmH0RZRWSJl4RLlhSmEALVewywiEXcu0aIxNbuZGTcpNoI0h4oLFrE/fUd0iBGFg/EGLXRL3zTfpg6g==}
+
+ '@turf/unkink-polygon@7.2.0':
+ resolution: {integrity: sha512-dFPfzlIgkEr15z6oXVxTSWshWi51HeITGVFtl1GAKGMtiXJx1uMqnfRsvljqEjaQu/4AzG1QAp3b+EkSklQSiQ==}
+
+ '@turf/voronoi@7.2.0':
+ resolution: {integrity: sha512-3K6N0LtJsWTXxPb/5N2qD9e8f4q8+tjTbGV3lE3v8x06iCnNlnuJnqM5NZNPpvgvCatecBkhClO3/3RndE61Fw==}
+
+ '@tweenjs/tween.js@18.6.0':
+ resolution: {integrity: sha512-z45HU0G0e/SenbvGdAlTpUR5Hur5zwZXQcqfI+f7EnVHdeb2oMI2rQghEePu7uXuvBC0nuKWG5YtZ1nWbuvqzQ==}
+
+ '@tybys/wasm-util@0.10.1':
+ resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+
+ '@types/accepts@1.3.7':
+ resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==}
+
+ '@types/arcgis-js-api@4.24.0':
+ resolution: {integrity: sha512-Qh6Yw1g4cBq1UGoX1xI+G+4NgxZgTgmSj6IdV8CE9k7IRdPOZIHeEC5ZHDjf93mgjbD8vytPZWHVvcYs1F/PDw==}
+
+ '@types/asn1@0.2.4':
+ resolution: {integrity: sha512-V91DSJ2l0h0gRhVP4oBfBzRBN9lAbPUkGDMCnwedqPKX2d84aAMc9CulOvxdw1f7DfEYx99afab+Rsm3e52jhA==}
+
+ '@types/aws-lambda@8.10.122':
+ resolution: {integrity: sha512-vBkIh9AY22kVOCEKo5CJlyCgmSWvasC+SWUxL/x/vOwRobMpI/HG1xp/Ae3AqmSiZeLUbOhW0FCD3ZjqqUxmXw==}
+
+ '@types/aws-lambda@8.10.149':
+ resolution: {integrity: sha512-NXSZIhfJjnXqJgtS7IwutqIF/SOy1Wz5Px4gUY1RWITp3AYTyuJS4xaXr/bIJY1v15XMzrJ5soGnPM+7uigZjA==}
+
+ '@types/babel__core@7.20.5':
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+
+ '@types/babel__generator@7.27.0':
+ resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
+
+ '@types/babel__template@7.4.4':
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+
+ '@types/babel__traverse@7.20.7':
+ resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==}
+
+ '@types/bcryptjs@2.4.6':
+ resolution: {integrity: sha512-9xlo6R2qDs5uixm0bcIqCeMCE6HiQsIyel9KQySStiyqNl2tnj2mP3DX1Nf56MD6KMenNNlBBsy3LJ7gUEQPXQ==}
+
+ '@types/benchmark@2.1.5':
+ resolution: {integrity: sha512-cKio2eFB3v7qmKcvIHLUMw/dIx/8bhWPuzpzRT4unCPRTD8VdA9Zb0afxpcxOqR4PixRS7yT42FqGS8BYL8g1w==}
+
+ '@types/bn.js@5.1.6':
+ resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==}
+
+ '@types/body-parser@1.19.5':
+ resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
+
+ '@types/bonjour@3.5.13':
+ resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
+
+ '@types/bson@4.0.5':
+ resolution: {integrity: sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==}
+
+ '@types/bunyan@1.8.9':
+ resolution: {integrity: sha512-ZqS9JGpBxVOvsawzmVt30sP++gSQMTejCkIAQ3VdadOcRE8izTyW66hufvwLeH+YEGP6Js2AW7Gz+RMyvrEbmw==}
+
+ '@types/cacheable-request@6.0.3':
+ resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
+
+ '@types/chai@4.3.20':
+ resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==}
+
+ '@types/cli-progress@3.11.6':
+ resolution: {integrity: sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==}
+
+ '@types/compression@1.7.5':
+ resolution: {integrity: sha512-AAQvK5pxMpaT+nDvhHrsBhLSYG5yQdtkaJE1WYieSNY2mVFKAgmU4ks65rkZD5oqnGCFLyQpUr1CqI4DmUMyDg==}
+
+ '@types/connect-history-api-fallback@1.5.4':
+ resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
+
+ '@types/connect@3.4.36':
+ resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==}
+
+ '@types/connect@3.4.38':
+ resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+
+ '@types/content-disposition@0.5.8':
+ resolution: {integrity: sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==}
+
+ '@types/cookies@0.9.0':
+ resolution: {integrity: sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==}
+
+ '@types/cors@2.8.17':
+ resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
+
+ '@types/d3-array@3.2.1':
+ resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==}
+
+ '@types/d3-axis@3.0.6':
+ resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
+
+ '@types/d3-brush@3.0.6':
+ resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
+
+ '@types/d3-chord@3.0.6':
+ resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
+
+ '@types/d3-color@3.1.3':
+ resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
+
+ '@types/d3-contour@3.0.6':
+ resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
+
+ '@types/d3-delaunay@6.0.4':
+ resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
+
+ '@types/d3-dispatch@3.0.6':
+ resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==}
+
+ '@types/d3-drag@3.0.7':
+ resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
+
+ '@types/d3-dsv@3.0.7':
+ resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
+
+ '@types/d3-ease@3.0.2':
+ resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
+
+ '@types/d3-fetch@3.0.7':
+ resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
+
+ '@types/d3-force@3.0.10':
+ resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==}
+
+ '@types/d3-format@3.0.4':
+ resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
+
+ '@types/d3-geo@3.1.0':
+ resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
+
+ '@types/d3-hierarchy@3.1.7':
+ resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==}
+
+ '@types/d3-interpolate@3.0.4':
+ resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
+
+ '@types/d3-path@3.1.1':
+ resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==}
+
+ '@types/d3-polygon@3.0.2':
+ resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
+
+ '@types/d3-quadtree@3.0.6':
+ resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
+
+ '@types/d3-random@3.0.3':
+ resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
+
+ '@types/d3-scale-chromatic@3.1.0':
+ resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==}
+
+ '@types/d3-scale@4.0.9':
+ resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==}
+
+ '@types/d3-selection@3.0.11':
+ resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==}
+
+ '@types/d3-shape@3.1.7':
+ resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==}
+
+ '@types/d3-time-format@4.0.3':
+ resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
+
+ '@types/d3-time@3.0.4':
+ resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
+
+ '@types/d3-timer@3.0.2':
+ resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
+
+ '@types/d3-transition@3.0.9':
+ resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==}
+
+ '@types/d3-voronoi@1.1.12':
+ resolution: {integrity: sha512-DauBl25PKZZ0WVJr42a6CNvI6efsdzofl9sajqZr2Gf5Gu733WkDdUGiPkUHXiUvYGzNNlFQde2wdZdfQPG+yw==}
+
+ '@types/d3-zoom@3.0.8':
+ resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
+
+ '@types/d3@7.4.3':
+ resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
+
+ '@types/debug@4.1.12':
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+
+ '@types/eslint-scope@3.7.7':
+ resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
+
+ '@types/eslint@9.6.1':
+ resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
+
+ '@types/estraverse@5.1.7':
+ resolution: {integrity: sha512-JRVtdKYZz7VkNp7hMC/WKoiZ8DS3byw20ZGoMZ1R8eBrBPIY7iBaDAS1zcrnXQCwK44G4vbXkimeU7R0VLG8UQ==}
+
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
+
+ '@types/estree@0.0.39':
+ resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
+
+ '@types/estree@1.0.0':
+ resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
+
+ '@types/estree@1.0.6':
+ resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+
+ '@types/estree@1.0.7':
+ resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==}
+
+ '@types/express-serve-static-core@4.19.6':
+ resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==}
+
+ '@types/express-serve-static-core@5.0.6':
+ resolution: {integrity: sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==}
+
+ '@types/express@4.17.21':
+ resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
+
+ '@types/faker@5.1.3':
+ resolution: {integrity: sha512-7YTyCRoujZWYaCpDLslQJ8QzaFWFLZZ3mZ7Vfr/jJHascRmSd05pYteyt2FK4btF2vXyGq0obuoyLpcF99OvaA==}
+
+ '@types/fs-extra@8.1.5':
+ resolution: {integrity: sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==}
+
+ '@types/geojson@7946.0.16':
+ resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
+
+ '@types/glob@7.2.0':
+ resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
+
+ '@types/google-protobuf@3.15.12':
+ resolution: {integrity: sha512-40um9QqwHjRS92qnOaDpL7RmDK15NuZYo9HihiJRbYkMQZlWnuH8AdvbMy8/o6lgLmKbDUKa+OALCltHdbOTpQ==}
+
+ '@types/gtag.js@0.0.12':
+ resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==}
+
+ '@types/hapi__joi@17.1.15':
+ resolution: {integrity: sha512-Ehq/YQB0ZqZGObrGngztxtThTiShrG0jlqyUSsNK3cebJSoyYgE/hdZvYt6lH4Wimi28RowDwnr87XseiemqAg==}
+
+ '@types/hast@2.3.10':
+ resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==}
+
+ '@types/hast@3.0.4':
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+
+ '@types/history@4.7.11':
+ resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==}
+
+ '@types/howler@2.2.12':
+ resolution: {integrity: sha512-hy769UICzOSdK0Kn1FBk4gN+lswcj1EKRkmiDtMkUGvFfYJzgaDXmVXkSShS2m89ERAatGIPnTUlp2HhfkVo5g==}
+
+ '@types/html-minifier-terser@6.1.0':
+ resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
+
+ '@types/http-assert@1.5.6':
+ resolution: {integrity: sha512-TTEwmtjgVbYAzZYWyeHPrrtWnfVkm8tQkP8P21uQifPgMRgjrow3XDEYqucuC8SKZJT7pUnhU/JymvjggxO9vw==}
+
+ '@types/http-cache-semantics@4.0.4':
+ resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
+
+ '@types/http-errors@2.0.4':
+ resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
+
+ '@types/http-proxy@1.17.16':
+ resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==}
+
+ '@types/inquirer@8.2.11':
+ resolution: {integrity: sha512-15UboTvxb9SOaPG7CcXZ9dkv8lNqfiAwuh/5WxJDLjmElBt9tbx1/FDsEnJddUBKvN4mlPKvr8FyO1rAmBanzg==}
+
+ '@types/ioredis-mock@5.6.0':
+ resolution: {integrity: sha512-2L20NMYTzNlCeLbi7aXQ/VlFTBu7qYoGefwB0NIDYN5TWzOslzvfl7ttoIN9IVO2LEeY+MBpSWO8oJQklL/o4Q==}
+
+ '@types/ioredis@4.28.10':
+ resolution: {integrity: sha512-69LyhUgrXdgcNDv7ogs1qXZomnfOEnSmrmMFqKgt1XMJxmoOSG/u3wYy13yACIfKuMJ8IhKgHafDO3sx19zVQQ==}
+
+ '@types/istanbul-lib-coverage@2.0.6':
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+
+ '@types/istanbul-lib-report@3.0.3':
+ resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+
+ '@types/istanbul-reports@3.0.4':
+ resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+
+ '@types/jest@29.5.14':
+ resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==}
+
+ '@types/jsdom@21.1.6':
+ resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==}
+
+ '@types/jsdom@21.1.7':
+ resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==}
+
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
+ '@types/jsonwebtoken@9.0.9':
+ resolution: {integrity: sha512-uoe+GxEuHbvy12OUQct2X9JenKM3qAscquYymuQN4fMWG9DBQtykrQEFcAbVACF7qaLw9BePSodUL0kquqBJpQ==}
+
+ '@types/keygrip@1.0.6':
+ resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==}
+
+ '@types/keyv@3.1.4':
+ resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
+
+ '@types/koa-compose@3.2.8':
+ resolution: {integrity: sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==}
+
+ '@types/koa@2.14.0':
+ resolution: {integrity: sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==}
+
+ '@types/koa__router@12.0.3':
+ resolution: {integrity: sha512-5YUJVv6NwM1z7m6FuYpKfNLTZ932Z6EF6xy2BbtpJSyn13DKNQEkXVffFVSnJHxvwwWh2SAeumpjAYUELqgjyw==}
+
+ '@types/long@4.0.2':
+ resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==}
+
+ '@types/lru-cache@5.1.1':
+ resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==}
+
+ '@types/luxon@3.3.7':
+ resolution: {integrity: sha512-gKc9P2d4g5uYwmy4s/MO/yOVPmvHyvzka1YH6i5dM03UrFofHSmgc0D0ymbDRStFWHusk6cwwF6nhLm/ckBbbQ==}
+
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+
+ '@types/mdx@2.0.13':
+ resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
+
+ '@types/memcached@2.2.10':
+ resolution: {integrity: sha512-AM9smvZN55Gzs2wRrqeMHVP7KE8KWgCJO/XL5yCly2xF6EKa4YlbpK+cLSAH4NG/Ah64HrlegmGqW8kYws7Vxg==}
+
+ '@types/mime@1.3.5':
+ resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
+
+ '@types/mime@2.0.3':
+ resolution: {integrity: sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==}
+
+ '@types/minimatch@3.0.5':
+ resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==}
+
+ '@types/minimatch@5.1.2':
+ resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
+
+ '@types/minimist@1.2.5':
+ resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
+
+ '@types/mock-fs@4.13.1':
+ resolution: {integrity: sha512-m6nFAJ3lBSnqbvDZioawRvpLXSaPyn52Srf7OfzjubYbYX8MTUdIgDxQl0wEapm4m/pNYSd9TXocpQ0TvZFlYA==}
+
+ '@types/mongodb@3.6.20':
+ resolution: {integrity: sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==}
+
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+
+ '@types/mustache@4.2.6':
+ resolution: {integrity: sha512-t+8/QWTAhOFlrF1IVZqKnMRJi84EgkIK5Kh0p2JV4OLywUvCwJPFxbJAl7XAow7DVIHsF+xW9f1MVzg0L6Szjw==}
+
+ '@types/mysql@2.15.22':
+ resolution: {integrity: sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==}
+
+ '@types/node-fetch@2.6.12':
+ resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==}
+
+ '@types/node-forge@1.3.11':
+ resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
+
+ '@types/node@17.0.45':
+ resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
+
+ '@types/node@18.19.98':
+ resolution: {integrity: sha512-+bP9tunb6pQbV5cV4z9EwCD/811rXGwXXI/cNK+8MIcm7Ufe9GWGoz91ERuC4MAn5Yp/SEWNYulaQdRHFG67iw==}
+
+ '@types/normalize-package-data@2.4.4':
+ resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
+
+ '@types/offscreencanvas@2019.3.0':
+ resolution: {integrity: sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==}
+
+ '@types/offscreencanvas@2019.7.3':
+ resolution: {integrity: sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==}
+
+ '@types/parse-json@4.0.2':
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+
+ '@types/parse5@6.0.3':
+ resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
+
+ '@types/pg-pool@2.0.4':
+ resolution: {integrity: sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==}
+
+ '@types/pg@8.6.1':
+ resolution: {integrity: sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==}
+
+ '@types/pify@5.0.4':
+ resolution: {integrity: sha512-gxKJ1Aw8LbyCsCQWIsip9bYKJCNsKHMoZoQMAe2IWH7U7hgp/l6TvJpbFvu8ZlGBimjZZNvEx2S1ZQlj02ayNQ==}
+
+ '@types/prismjs@1.26.5':
+ resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
+
+ '@types/prompts@2.4.9':
+ resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==}
+
+ '@types/prop-types@15.7.14':
+ resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
+
+ '@types/qs@6.9.18':
+ resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==}
+
+ '@types/range-parser@1.2.7':
+ resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
+
+ '@types/react-router-config@5.0.11':
+ resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==}
+
+ '@types/react-router-dom@5.3.3':
+ resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==}
+
+ '@types/react-router@5.1.20':
+ resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==}
+
+ '@types/react@18.3.21':
+ resolution: {integrity: sha512-gXLBtmlcRJeT09/sI4PxVwyrku6SaNUj/6cMubjE6T6XdY1fDmBL7r0nX0jbSZPU/Xr0KuwLLZh6aOYY5d91Xw==}
+
+ '@types/redis@2.8.32':
+ resolution: {integrity: sha512-7jkMKxcGq9p242exlbsVzuJb57KqHRhNl4dHoQu2Y5v9bCAbtIXXH0R3HleSQW4CTOqpHIYUW3t6tpUj4BVQ+w==}
+
+ '@types/resolve@1.20.2':
+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+
+ '@types/responselike@1.0.3':
+ resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
+
+ '@types/retry@0.12.0':
+ resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
+
+ '@types/sax@1.2.7':
+ resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
+
+ '@types/scrypt-async@1.3.5':
+ resolution: {integrity: sha512-WprBpDhqq8DemGI0QepdcLdfTfOuAgD85A0hz8PljDFlalRbnZ1Puy1qC8x8CoAzr5Ugnyerbu+mNQ4jk9dg/w==}
+
+ '@types/seedrandom@2.4.34':
+ resolution: {integrity: sha512-ytDiArvrn/3Xk6/vtylys5tlY6eo7Ane0hvcx++TKo6RxQXuVfW0AF/oeWqAj9dN29SyhtawuXstgmPlwNcv/A==}
+
+ '@types/seedrandom@3.0.8':
+ resolution: {integrity: sha512-TY1eezMU2zH2ozQoAFAQFOPpvP15g+ZgSfTZt31AUUH/Rxtnz3H+A/Sv1Snw2/amp//omibc+AEkTaA8KUeOLQ==}
+
+ '@types/semver@7.7.0':
+ resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==}
+
+ '@types/send@0.17.4':
+ resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
+
+ '@types/serve-index@1.9.4':
+ resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==}
+
+ '@types/serve-static@1.15.7':
+ resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==}
+
+ '@types/shelljs@0.8.15':
+ resolution: {integrity: sha512-vzmnCHl6hViPu9GNLQJ+DZFd6BQI2DBTUeOvYHqkWQLMfKAAQYMb/xAmZkTogZI/vqXHCWkqDRymDI5p0QTi5Q==}
+
+ '@types/shimmer@1.2.0':
+ resolution: {integrity: sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==}
+
+ '@types/sockjs@0.3.36':
+ resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
+
+ '@types/sshpk@1.17.4':
+ resolution: {integrity: sha512-5gI/7eJn6wmkuIuFY8JZJ1g5b30H9K5U5vKrvOuYu+hoZLb2xcVEgxhYZ2Vhbs0w/ACyzyfkJq0hQtBfSCugjw==}
+
+ '@types/stack-utils@2.0.3':
+ resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
+
+ '@types/stripe-v3@3.1.33':
+ resolution: {integrity: sha512-fIE7F7alypCrnIMsk4naprHf8kXEvPM2Q9FGdL/3TDeGM0xlHohdVWkwuaEZ2tKzXB9QQKoS8k+ocLkPjZajwQ==}
+
+ '@types/svgo@2.6.4':
+ resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==}
+
+ '@types/tedious@4.0.14':
+ resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==}
+
+ '@types/three@0.140.0':
+ resolution: {integrity: sha512-YPJLSIY6uKUOp1k6BZYDq5GtEIdhfeK04UCbc9IPAVbdn/RNjkfrbnyd7smrsNkJhc0IFASLpd3AAYgwqgXKVQ==}
+
+ '@types/through@0.0.33':
+ resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==}
+
+ '@types/tmp@0.2.6':
+ resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==}
+
+ '@types/tough-cookie@4.0.5':
+ resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
+
+ '@types/trusted-types@2.0.7':
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
+
+ '@types/ungap__structured-clone@1.2.0':
+ resolution: {integrity: sha512-ZoaihZNLeZSxESbk9PUAPZOlSpcKx81I1+4emtULDVmBLkYutTcMlCj2K9VNlf9EWODxdO6gkAqEaLorXwZQVA==}
+
+ '@types/unist@2.0.11':
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
+
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
+ '@types/uuid@10.0.0':
+ resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==}
+
+ '@types/uuid@9.0.8':
+ resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
+
+ '@types/vue-color@2.4.8':
+ resolution: {integrity: sha512-pj6wCAKTdbkwQ2LSyE5pnvmMrl4Ep1OI5M3ZkkeBG2s8/LFEjz9YbuZ3BfBQsumI89HqHHwWoEgu8HfnVbnOnw==}
+
+ '@types/web-push@3.6.4':
+ resolution: {integrity: sha512-GnJmSr40H3RAnj0s34FNTcJi1hmWFV5KXugE0mYWnYhgTAHLJ/dJKAwDmvPJYMke0RplY2XE9LnM4hqSqKIjhQ==}
+
+ '@types/webgl-ext@0.0.30':
+ resolution: {integrity: sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==}
+
+ '@types/ws@8.18.1':
+ resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
+
+ '@types/yargs-parser@21.0.3':
+ resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+
+ '@types/yargs@16.0.9':
+ resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==}
+
+ '@types/yargs@17.0.33':
+ resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==}
+
+ '@typescript-eslint/eslint-plugin@8.32.0':
+ resolution: {integrity: sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ 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-eslint/parser@8.32.0':
+ resolution: {integrity: sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
+
+ '@typescript-eslint/scope-manager@8.32.0':
+ resolution: {integrity: sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/type-utils@8.32.0':
+ resolution: {integrity: sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
+
+ '@typescript-eslint/types@8.32.0':
+ resolution: {integrity: sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/typescript-estree@8.32.0':
+ resolution: {integrity: sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <5.9.0'
+
+ '@typescript-eslint/utils@8.32.0':
+ resolution: {integrity: sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
+
+ '@typescript-eslint/visitor-keys@8.32.0':
+ resolution: {integrity: sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@ungap/structured-clone@1.3.0':
+ resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+
+ '@unrs/resolver-binding-android-arm-eabi@1.11.1':
+ resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==}
+ cpu: [arm]
+ os: [android]
+
+ '@unrs/resolver-binding-android-arm64@1.11.1':
+ resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==}
+ cpu: [arm64]
+ os: [android]
+
+ '@unrs/resolver-binding-darwin-arm64@1.11.1':
+ resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@unrs/resolver-binding-darwin-x64@1.11.1':
+ resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@unrs/resolver-binding-freebsd-x64@1.11.1':
+ resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1':
+ resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==}
+ cpu: [arm]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1':
+ resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==}
+ cpu: [arm]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-arm64-gnu@1.11.1':
+ resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-arm64-musl@1.11.1':
+ resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
+ resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
+ resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
+ resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
+ resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-x64-gnu@1.11.1':
+ resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==}
+ cpu: [x64]
+ os: [linux]
+
+ '@unrs/resolver-binding-linux-x64-musl@1.11.1':
+ resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==}
+ cpu: [x64]
+ os: [linux]
+
+ '@unrs/resolver-binding-wasm32-wasi@1.11.1':
+ resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@unrs/resolver-binding-win32-arm64-msvc@1.11.1':
+ resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@unrs/resolver-binding-win32-ia32-msvc@1.11.1':
+ resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@unrs/resolver-binding-win32-x64-msvc@1.11.1':
+ resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==}
+ cpu: [x64]
+ os: [win32]
+
+ '@uriopass/nosleep.js@0.12.2':
+ resolution: {integrity: sha512-aMrhyZ/pO1L0EGxI3EaQhijKDi2LZd++FtrHQItP5+lVSRD3EpwaXlDoBvCBCO9+U1E6gOxo400OC79yRHzR/A==}
+
+ '@vitejs/plugin-basic-ssl@1.1.0':
+ resolution: {integrity: sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==}
+ engines: {node: '>=14.6.0'}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+
+ '@vitejs/plugin-vue2@2.3.1':
+ resolution: {integrity: sha512-/ksaaz2SRLN11JQhLdEUhDzOn909WEk99q9t9w+N12GjQCljzv7GyvAbD/p20aBUjHkvpGOoQ+FCOkG+mjDF4A==}
+ engines: {node: ^14.18.0 || >= 16.0.0}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+ vue: ^2.7.0-0
+
+ '@vue/compiler-core@3.3.4':
+ resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==}
+
+ '@vue/compiler-dom@3.3.4':
+ resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==}
+
+ '@vue/compiler-sfc@2.7.16':
+ resolution: {integrity: sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==}
+
+ '@vue/compiler-sfc@3.3.4':
+ resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==}
+
+ '@vue/compiler-ssr@3.3.4':
+ resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==}
+
+ '@vue/reactivity-transform@3.3.4':
+ resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==}
+
+ '@vue/reactivity@3.3.4':
+ resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==}
+
+ '@vue/runtime-core@3.3.4':
+ resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==}
+
+ '@vue/runtime-dom@3.3.4':
+ resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==}
+
+ '@vue/server-renderer@3.3.4':
+ resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==}
+ peerDependencies:
+ vue: 3.3.4
+
+ '@vue/shared@3.3.4':
+ resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==}
+
+ '@webassemblyjs/ast@1.14.1':
+ resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
+
+ '@webassemblyjs/floating-point-hex-parser@1.13.2':
+ resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==}
+
+ '@webassemblyjs/helper-api-error@1.13.2':
+ resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==}
+
+ '@webassemblyjs/helper-buffer@1.14.1':
+ resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==}
+
+ '@webassemblyjs/helper-numbers@1.13.2':
+ resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==}
+
+ '@webassemblyjs/helper-wasm-bytecode@1.13.2':
+ resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==}
+
+ '@webassemblyjs/helper-wasm-section@1.14.1':
+ resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==}
+
+ '@webassemblyjs/ieee754@1.13.2':
+ resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==}
+
+ '@webassemblyjs/leb128@1.13.2':
+ resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==}
+
+ '@webassemblyjs/utf8@1.13.2':
+ resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==}
+
+ '@webassemblyjs/wasm-edit@1.14.1':
+ resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==}
+
+ '@webassemblyjs/wasm-gen@1.14.1':
+ resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==}
+
+ '@webassemblyjs/wasm-opt@1.14.1':
+ resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==}
+
+ '@webassemblyjs/wasm-parser@1.14.1':
+ resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==}
+
+ '@webassemblyjs/wast-printer@1.14.1':
+ resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
+
+ '@webgpu/types@0.1.21':
+ resolution: {integrity: sha512-pUrWq3V5PiSGFLeLxoGqReTZmiiXwY3jRkIG5sLLKjyqNxrwm/04b4nw7LSmGWJcKk59XOM/YRTUwOzo4MMlow==}
+
+ '@webxr-input-profiles/assets@1.0.14':
+ resolution: {integrity: sha512-I+uDi9W1pRAnyqVi+MsB+xgeuWP94m1LFn5ij8BroVFCJDnpiWqJp6aw0Rp6ZLuQ1gXJrBxL7bAwk2Qto/7sog==}
+
+ '@webxr-input-profiles/motion-controllers@1.0.0':
+ resolution: {integrity: sha512-Ppxde+G1/QZbU8ShCQg+eq5VtlcL/FPkerF1dkDOLlIml0LJD1tFqnCZYR0SrHzYleIQ2siRnOx7xbFLaCpExQ==}
+
+ '@xtuc/ieee754@1.2.0':
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+
+ '@xtuc/long@4.2.2':
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+
+ '@yarnpkg/lockfile@1.1.0':
+ resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==}
+
+ '@yarnpkg/parsers@3.0.0-rc.46':
+ resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==}
+ engines: {node: '>=14.15.0'}
+
+ '@zip.js/zip.js@2.6.40':
+ resolution: {integrity: sha512-S23j3nNwrxnlNFViXV+JIJEosbB1CrntsIB8Zdsok9pWionK+2X09cJvFhvL1okkjp5Dv9wJp449rQ7IYh+snw==}
+ engines: {deno: '>=1.0.0', node: '>=16.5.0'}
+
+ '@zkochan/js-yaml@0.0.6':
+ resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==}
+ hasBin: true
+
+ '@zxing/text-encoding@0.9.0':
+ resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==}
+
+ JSONStream@1.3.5:
+ resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
+ hasBin: true
+
+ abbrev@1.1.1:
+ resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
+
+ abbrev@2.0.0:
+ resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ abort-controller@3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
+
+ accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+
+ accepts@2.0.0:
+ resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==}
+ engines: {node: '>= 0.6'}
+
+ acorn-import-attributes@1.9.5:
+ resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
+ peerDependencies:
+ acorn: ^8
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn-node@1.8.2:
+ resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
+
+ acorn-typescript@1.4.13:
+ resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==}
+ peerDependencies:
+ acorn: '>=8.9.0'
+
+ acorn-walk@7.2.0:
+ resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
+ engines: {node: '>=0.4.0'}
+
+ acorn-walk@8.3.4:
+ resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
+ engines: {node: '>=0.4.0'}
+
+ acorn@7.4.1:
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ acorn@8.14.1:
+ resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ add-stream@1.0.0:
+ resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==}
+
+ address@1.2.2:
+ resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
+ engines: {node: '>= 10.0.0'}
+
+ adm-zip@0.4.16:
+ resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==}
+ engines: {node: '>=0.3.0'}
+
+ agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+
+ agent-base@7.1.3:
+ resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
+ engines: {node: '>= 14'}
+
+ agentkeepalive@4.6.0:
+ resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==}
+ engines: {node: '>= 8.0.0'}
+
+ aggregate-error@3.1.0:
+ resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
+ engines: {node: '>=8'}
+
+ aggregate-error@4.0.1:
+ resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
+ engines: {node: '>=12'}
+
+ ajv-formats@2.1.1:
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv-keywords@3.5.2:
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
+ peerDependencies:
+ ajv: ^6.9.1
+
+ ajv-keywords@5.1.0:
+ resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
+ peerDependencies:
+ ajv: ^8.8.2
+
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ajv@8.17.1:
+ resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
+
+ algoliasearch-helper@3.25.0:
+ resolution: {integrity: sha512-vQoK43U6HXA9/euCqLjvyNdM4G2Fiu/VFp4ae0Gau9sZeIKBPvUPnXfLYAe65Bg7PFuw03coeu5K6lTPSXRObw==}
+ peerDependencies:
+ algoliasearch: '>= 3.1 < 6'
+
+ algoliasearch@4.24.0:
+ resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==}
+
+ algoliasearch@5.24.0:
+ resolution: {integrity: sha512-CkaUygzZ91Xbw11s0CsHMawrK3tl+Ue57725HGRgRzKgt2Z4wvXVXRCtQfvzh8K7Tp4Zp7f1pyHAtMROtTJHxg==}
+ engines: {node: '>= 14.0.0'}
+
+ ansi-align@3.0.1:
+ resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+
+ ansi-colors@4.1.3:
+ resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
+ engines: {node: '>=6'}
+
+ ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+
+ ansi-escapes@7.0.0:
+ resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
+ engines: {node: '>=18'}
+
+ ansi-html-community@0.0.8:
+ resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
+ engines: {'0': node >= 0.8.0}
+ hasBin: true
+
+ ansi-regex@2.1.1:
+ resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
+ engines: {node: '>=0.10.0'}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.1.0:
+ resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
+ engines: {node: '>=12'}
+
+ ansi-sequence-parser@1.1.3:
+ resolution: {integrity: sha512-+fksAx9eG3Ab6LDnLs3ZqZa8KVJ/jYnX+D4Qe1azX+LFGFAXqynCQLOdLpNYN/l9e7l6hMWwZbrnctqr6eSQSw==}
+
+ ansi-styles@2.2.1:
+ resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
+ engines: {node: '>=0.10.0'}
+
+ ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+
+ ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
+ aproba@2.0.0:
+ resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
+
+ are-we-there-yet@3.0.1:
+ resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ deprecated: This package is no longer supported.
+
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+ argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ array-buffer-byte-length@1.0.2:
+ resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
+ engines: {node: '>= 0.4'}
+
+ array-differ@3.0.0:
+ resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==}
+ engines: {node: '>=8'}
+
+ array-flatten@1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+
+ array-ify@1.0.0:
+ resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
+
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
+ arraybuffer.prototype.slice@1.0.4:
+ resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
+ engines: {node: '>= 0.4'}
+
+ arrify@1.0.1:
+ resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
+ engines: {node: '>=0.10.0'}
+
+ arrify@2.0.1:
+ resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==}
+ engines: {node: '>=8'}
+
+ asn1.js@4.10.1:
+ resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==}
+
+ asn1.js@5.4.1:
+ resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==}
+
+ asn1@0.2.6:
+ resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
+
+ asn1js@3.0.6:
+ resolution: {integrity: sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA==}
+ engines: {node: '>=12.0.0'}
+
+ assert-plus@1.0.0:
+ resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
+ engines: {node: '>=0.8'}
+
+ assert@1.5.1:
+ resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==}
+
+ assertion-error@1.1.0:
+ resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
+
+ astring@1.7.5:
+ resolution: {integrity: sha512-lobf6RWXb8c4uZ7Mdq0U12efYmpD1UFnyOWVJPTa3ukqZrMopav+2hdNu0hgBF0JIBFK9QgrBDfwYvh3DFJDAA==}
+ hasBin: true
+
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
+ hasBin: true
+
+ async-function@1.0.0:
+ resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
+ engines: {node: '>= 0.4'}
+
+ async@3.2.6:
+ resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
+
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
+ at-least-node@1.0.0:
+ resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
+ engines: {node: '>= 4.0.0'}
+
+ atob-lite@2.0.0:
+ resolution: {integrity: sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==}
+
+ atomically@2.0.3:
+ resolution: {integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==}
+
+ autobind-decorator@2.4.0:
+ resolution: {integrity: sha512-OGYhWUO72V6DafbF8PM8rm3EPbfuyMZcJhtm5/n26IDwO18pohE4eNazLoCGhPiXOCD0gEGmrbU3849QvM8bbw==}
+ engines: {node: '>=8.10', npm: '>=6.4.1'}
+
+ autoprefixer@10.4.21:
+ resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+
+ available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
+
+ aws-sdk@2.1692.0:
+ resolution: {integrity: sha512-x511uiJ/57FIsbgUe5csJ13k3uzu25uWQE+XqfBis/sB0SFoiElJWXRkgEAUh0U6n40eT3ay5Ue4oPkRMu1LYw==}
+ engines: {node: '>= 10.0.0'}
+
+ aws-sign2@0.7.0:
+ resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==}
+
+ aws4@1.13.2:
+ resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==}
+
+ axios@1.11.0:
+ resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==}
+
+ axios@1.7.7:
+ resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==}
+
+ babel-jest@30.2.0:
+ resolution: {integrity: sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ '@babel/core': ^7.11.0 || ^8.0.0-0
+
+ babel-loader@9.2.1:
+ resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ webpack: '>=5'
+
+ babel-plugin-dynamic-import-node@2.3.3:
+ resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==}
+
+ babel-plugin-istanbul@7.0.1:
+ resolution: {integrity: sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==}
+ engines: {node: '>=12'}
+
+ babel-plugin-jest-hoist@30.2.0:
+ resolution: {integrity: sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ babel-plugin-polyfill-corejs2@0.4.13:
+ resolution: {integrity: sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-corejs3@0.11.1:
+ resolution: {integrity: sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-regenerator@0.6.4:
+ resolution: {integrity: sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-preset-current-node-syntax@1.2.0:
+ resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0 || ^8.0.0-0
+
+ babel-preset-jest@30.2.0:
+ resolution: {integrity: sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ '@babel/core': ^7.11.0 || ^8.0.0-beta.1
+
+ bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ basic-auth@2.0.1:
+ resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==}
+ engines: {node: '>= 0.8'}
+
+ batch@0.6.1:
+ resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
+
+ bcrypt-pbkdf@1.0.2:
+ resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==}
+
+ bcryptjs@2.4.3:
+ resolution: {integrity: sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==}
+
+ before-after-hook@2.2.3:
+ resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
+
+ before-after-hook@3.0.2:
+ resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==}
+
+ benchmark@2.1.4:
+ resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==}
+
+ bidi-js@1.0.3:
+ resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==}
+
+ big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+
+ bignumber.js@9.3.0:
+ resolution: {integrity: sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==}
+
+ bin-links@4.0.4:
+ resolution: {integrity: sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
+
+ bl@2.2.1:
+ resolution: {integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==}
+
+ bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+
+ block-stream2@2.1.0:
+ resolution: {integrity: sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg==}
+
+ bluebird@3.7.2:
+ resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
+
+ bn.js@4.12.2:
+ resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==}
+
+ bn.js@5.2.2:
+ resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==}
+
+ body-parser@1.20.3:
+ resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ body-parser@2.2.0:
+ resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==}
+ engines: {node: '>=18'}
+
+ bonjour-service@1.3.0:
+ resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==}
+
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+ bottleneck@2.19.5:
+ resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==}
+
+ bowser@2.11.0:
+ resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==}
+
+ boxen@6.2.1:
+ resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ boxen@7.1.1:
+ resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==}
+ engines: {node: '>=14.16'}
+
+ brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+
+ brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+ brorand@1.1.0:
+ resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==}
+
+ browser-or-node@2.1.1:
+ resolution: {integrity: sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg==}
+
+ browser-pack@6.1.0:
+ resolution: {integrity: sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==}
+ hasBin: true
+
+ browser-process-hrtime@0.1.3:
+ resolution: {integrity: sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==}
+
+ browser-resolve@2.0.0:
+ resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==}
+
+ browserify-aes@1.2.0:
+ resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==}
+
+ browserify-cipher@1.0.1:
+ resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==}
+
+ browserify-des@1.0.2:
+ resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==}
+
+ browserify-rsa@4.1.1:
+ resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==}
+ engines: {node: '>= 0.10'}
+
+ browserify-sign@4.2.3:
+ resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==}
+ engines: {node: '>= 0.12'}
+
+ browserify-zlib@0.2.0:
+ resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==}
+
+ browserify@17.0.1:
+ resolution: {integrity: sha512-pxhT00W3ylMhCHwG5yfqtZjNnFuX5h2IJdaBfSo4ChaaBsIp9VLrEMQ1bHV+Xr1uLPXuNDDM1GlJkjli0qkRsw==}
+ engines: {node: '>= 0.8'}
+ hasBin: true
+
+ browserslist@4.24.5:
+ resolution: {integrity: sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ bs-logger@0.2.6:
+ resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
+ engines: {node: '>= 6'}
+
+ bser@2.1.1:
+ resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
+
+ bson@1.1.6:
+ resolution: {integrity: sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==}
+ engines: {node: '>=0.6.19'}
+
+ btoa-lite@1.0.0:
+ resolution: {integrity: sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==}
+
+ buffer-crc32@1.0.0:
+ resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==}
+ engines: {node: '>=8.0.0'}
+
+ buffer-equal-constant-time@1.0.1:
+ resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==}
+
+ buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ buffer-xor@1.0.3:
+ resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==}
+
+ buffer@4.9.2:
+ resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==}
+
+ buffer@5.2.1:
+ resolution: {integrity: sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==}
+
+ buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+
+ buffer@6.0.3:
+ resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
+
+ builtin-status-codes@3.0.0:
+ resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==}
+
+ builtins@1.0.3:
+ resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==}
+
+ builtins@5.1.0:
+ resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==}
+
+ bullmq@5.56.9:
+ resolution: {integrity: sha512-SL7OZG0x9sh/PC6ZVKqibSmPsbjViBaiFAyr3ujJRxb6nlZefb1hU0biJuvfI8/hQa4HtEG9sCHRMiz905B2eg==}
+
+ bundle-name@4.1.0:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
+ byte-size@8.1.1:
+ resolution: {integrity: sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg==}
+ engines: {node: '>=12.17'}
+
+ bytes@3.0.0:
+ resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
+ engines: {node: '>= 0.8'}
+
+ bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+
+ c12@3.1.0:
+ resolution: {integrity: sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==}
+ peerDependencies:
+ magicast: ^0.3.5
+ peerDependenciesMeta:
+ magicast:
+ optional: true
+
+ cacache@16.1.3:
+ resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+
+ cacache@17.1.4:
+ resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ cacache@18.0.4:
+ resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ cacheable-lookup@5.0.4:
+ resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
+ engines: {node: '>=10.6.0'}
+
+ cacheable-lookup@7.0.0:
+ resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
+ engines: {node: '>=14.16'}
+
+ cacheable-request@10.2.14:
+ resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
+ engines: {node: '>=14.16'}
+
+ cacheable-request@7.0.4:
+ resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==}
+ engines: {node: '>=8'}
+
+ cached-path-relative@1.1.0:
+ resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==}
+
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
+
+ call-bind@1.0.8:
+ resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
+ engines: {node: '>= 0.4'}
+
+ call-bound@1.0.4:
+ resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
+ engines: {node: '>= 0.4'}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ camel-case@3.0.0:
+ resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==}
+
+ camel-case@4.1.2:
+ resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+
+ camelcase-keys@6.2.2:
+ resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
+ engines: {node: '>=8'}
+
+ camelcase-keys@9.1.3:
+ resolution: {integrity: sha512-Rircqi9ch8AnZscQcsA1C47NFdaO3wukpmIRzYcDOrmvgt78hM/sj5pZhZNec2NM12uk5vTwRHZ4anGcrC4ZTg==}
+ engines: {node: '>=16'}
+
+ camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+
+ camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+
+ camelcase@7.0.1:
+ resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
+ engines: {node: '>=14.16'}
+
+ camelcase@8.0.0:
+ resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
+ engines: {node: '>=16'}
+
+ camelize@1.0.0:
+ resolution: {integrity: sha512-W2lPwkBkMZwFlPCXhIlYgxu+7gC/NUlCtdK652DAJ1JdgV0sTrvuPFshNPrFa1TY2JOkLhgdeEBplB4ezEa+xg==}
+
+ caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+
+ caniuse-lite@1.0.30001717:
+ resolution: {integrity: sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==}
+
+ caseless@0.12.0:
+ resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
+
+ cassandra-driver@4.5.1:
+ resolution: {integrity: sha512-N5pxCxi9jPJzHuhx7ObClJtePcby8xuSb3mQkik1EE57CWqI7dEAuZZUaM7Flboasbwf/uSmw9oTfuf6sZMq9A==}
+ engines: {node: '>=8'}
+
+ ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+
+ chai@4.5.0:
+ resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==}
+ engines: {node: '>=4'}
+
+ chalk@1.1.3:
+ resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
+ engines: {node: '>=0.10.0'}
+
+ chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+
+ chalk@4.1.0:
+ resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==}
+ engines: {node: '>=10'}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ chalk@5.4.1:
+ resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
+ char-regex@1.0.2:
+ resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
+ engines: {node: '>=10'}
+
+ character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+
+ character-entities-legacy@3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+
+ character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+
+ character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+
+ chardet@0.7.0:
+ resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
+
+ check-error@1.0.3:
+ resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
+
+ cheerio-select@2.1.0:
+ resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
+
+ cheerio@1.0.0-rc.12:
+ resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
+ engines: {node: '>= 6'}
+
+ chokidar@3.5.2:
+ resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==}
+ engines: {node: '>= 8.10.0'}
+
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ chownr@1.1.4:
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
+
+ chownr@2.0.0:
+ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
+ engines: {node: '>=10'}
+
+ chrome-trace-event@1.0.4:
+ resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
+ engines: {node: '>=6.0'}
+
+ ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+
+ ci-info@4.3.1:
+ resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==}
+ engines: {node: '>=8'}
+
+ cipher-base@1.0.6:
+ resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==}
+ engines: {node: '>= 0.10'}
+
+ citty@0.1.6:
+ resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
+
+ cjs-module-lexer@1.4.3:
+ resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
+
+ cjs-module-lexer@2.1.0:
+ resolution: {integrity: sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==}
+
+ clamp@1.0.1:
+ resolution: {integrity: sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==}
+
+ classnames@2.5.1:
+ resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
+
+ clean-css@4.2.4:
+ resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==}
+ engines: {node: '>= 4.0'}
+
+ clean-css@5.3.3:
+ resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
+ engines: {node: '>= 10.0'}
+
+ clean-stack@2.2.0:
+ resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
+ engines: {node: '>=6'}
+
+ clean-stack@4.2.0:
+ resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==}
+ engines: {node: '>=12'}
+
+ cli-boxes@3.0.0:
+ resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
+ engines: {node: '>=10'}
+
+ cli-cursor@2.1.0:
+ resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
+ engines: {node: '>=4'}
+
+ cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
+
+ cli-cursor@5.0.0:
+ resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
+ engines: {node: '>=18'}
+
+ cli-spinners@1.3.1:
+ resolution: {integrity: sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==}
+ engines: {node: '>=4'}
+
+ cli-spinners@2.6.1:
+ resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==}
+ engines: {node: '>=6'}
+
+ cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+
+ cli-table3@0.6.5:
+ resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==}
+ engines: {node: 10.* || >= 12.*}
+
+ cli-truncate@4.0.0:
+ resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
+ engines: {node: '>=18'}
+
+ cli-width@3.0.0:
+ resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
+ engines: {node: '>= 10'}
+
+ clipboard@2.0.11:
+ resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==}
+
+ cliui@6.0.0:
+ resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
+
+ cliui@7.0.4:
+ resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+
+ cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+
+ clone-deep@4.0.1:
+ resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
+ engines: {node: '>=6'}
+
+ clone-response@1.0.3:
+ resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
+
+ clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+
+ clone@2.1.2:
+ resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
+ engines: {node: '>=0.8'}
+
+ clsx@1.2.1:
+ resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
+ engines: {node: '>=6'}
+
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ cluster-key-slot@1.1.2:
+ resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==}
+ engines: {node: '>=0.10.0'}
+
+ cmd-shim@6.0.1:
+ resolution: {integrity: sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ cmd-shim@6.0.3:
+ resolution: {integrity: sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ co@4.6.0:
+ resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+
+ code-block-writer@12.0.0:
+ resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==}
+
+ code-point-at@1.1.0:
+ resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==}
+ engines: {node: '>=0.10.0'}
+
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
+ collect-v8-coverage@1.0.2:
+ resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
+
+ color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ color-support@1.1.3:
+ resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
+ hasBin: true
+
+ colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+
+ colorette@1.4.0:
+ resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
+
+ colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+
+ columnify@1.6.0:
+ resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==}
+ engines: {node: '>=8.0.0'}
+
+ combine-promises@1.2.0:
+ resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==}
+ engines: {node: '>=10'}
+
+ combine-source-map@0.8.0:
+ resolution: {integrity: sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==}
+
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
+ comlink@4.3.1:
+ resolution: {integrity: sha512-+YbhUdNrpBZggBAHWcgQMLPLH1KDF3wJpeqrCKieWQ8RL7atmgsgTQko1XEBK6PsecfopWNntopJ+ByYG1lRaA==}
+
+ comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+
+ commander@10.0.1:
+ resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
+ engines: {node: '>=14'}
+
+ commander@12.0.0:
+ resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==}
+ engines: {node: '>=18'}
+
+ commander@13.1.0:
+ resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
+ engines: {node: '>=18'}
+
+ commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ commander@4.0.1:
+ resolution: {integrity: sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==}
+ engines: {node: '>= 6'}
+
+ commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+
+ commander@5.1.0:
+ resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
+ engines: {node: '>= 6'}
+
+ commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
+ commander@9.5.0:
+ resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
+ engines: {node: ^12.20.0 || >=14}
+
+ common-ancestor-path@1.0.1:
+ resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
+
+ common-path-prefix@3.0.0:
+ resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
+
+ common-tags@1.8.2:
+ resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
+ engines: {node: '>=4.0.0'}
+
+ compare-func@2.0.0:
+ resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
+
+ compressible@2.0.18:
+ resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
+ engines: {node: '>= 0.6'}
+
+ compression@1.7.4:
+ resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
+ engines: {node: '>= 0.8.0'}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ concat-stream@1.6.2:
+ resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==}
+ engines: {'0': node >= 0.8}
+
+ concat-stream@2.0.0:
+ resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==}
+ engines: {'0': node >= 6.0}
+
+ concaveman@1.2.1:
+ resolution: {integrity: sha512-PwZYKaM/ckQSa8peP5JpVr7IMJ4Nn/MHIaWUjP4be+KoZ7Botgs8seAZGpmaOM+UZXawcdYRao/px9ycrCihHw==}
+
+ concurrently@8.2.2:
+ resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==}
+ engines: {node: ^14.13.0 || >=16.0.0}
+ hasBin: true
+
+ conf@12.0.0:
+ resolution: {integrity: sha512-fIWyWUXrJ45cHCIQX+Ck1hrZDIf/9DR0P0Zewn3uNht28hbt5OfGUq8rRWsxi96pZWPyBEd0eY9ama01JTaknA==}
+ engines: {node: '>=18'}
+
+ confbox@0.2.2:
+ resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
+
+ config-chain@1.1.13:
+ resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
+
+ configstore@6.0.0:
+ resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
+ engines: {node: '>=12'}
+
+ connect-history-api-fallback@2.0.0:
+ resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
+ engines: {node: '>=0.8'}
+
+ consola@2.15.3:
+ resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==}
+
+ consola@3.4.2:
+ resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
+ console-browserify@1.2.0:
+ resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==}
+
+ console-control-strings@1.1.0:
+ resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
+
+ constants-browserify@1.0.0:
+ resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==}
+
+ content-disposition@0.5.2:
+ resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==}
+ engines: {node: '>= 0.6'}
+
+ content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+
+ content-disposition@1.0.0:
+ resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==}
+ engines: {node: '>= 0.6'}
+
+ content-security-policy-builder@2.1.0:
+ resolution: {integrity: sha512-/MtLWhJVvJNkA9dVLAp6fg9LxD2gfI6R2Fi1hPmfjYXSahJJzcfvoeDOxSyp4NvxMuwWv3WMssE9o31DoULHrQ==}
+ engines: {node: '>=4.0.0'}
+
+ content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
+
+ conventional-changelog-angular@7.0.0:
+ resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
+ engines: {node: '>=16'}
+
+ conventional-changelog-core@5.0.1:
+ resolution: {integrity: sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A==}
+ engines: {node: '>=14'}
+
+ conventional-changelog-preset-loader@3.0.0:
+ resolution: {integrity: sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA==}
+ engines: {node: '>=14'}
+
+ conventional-changelog-writer@6.0.1:
+ resolution: {integrity: sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ conventional-commits-filter@3.0.0:
+ resolution: {integrity: sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==}
+ engines: {node: '>=14'}
+
+ conventional-commits-parser@4.0.0:
+ resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ conventional-recommended-bump@7.0.1:
+ resolution: {integrity: sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ convert-source-map@1.1.3:
+ resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==}
+
+ convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cookie-signature@1.0.6:
+ resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
+
+ cookie-signature@1.2.2:
+ resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==}
+ engines: {node: '>=6.6.0'}
+
+ cookie@0.7.1:
+ resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
+ engines: {node: '>= 0.6'}
+
+ cookie@0.7.2:
+ resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
+ engines: {node: '>= 0.6'}
+
+ copy-text-to-clipboard@3.2.0:
+ resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==}
+ engines: {node: '>=12'}
+
+ copy-webpack-plugin@11.0.0:
+ resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ webpack: ^5.1.0
+
+ core-js-compat@3.42.0:
+ resolution: {integrity: sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==}
+
+ core-js-pure@3.42.0:
+ resolution: {integrity: sha512-007bM04u91fF4kMgwom2I5cQxAFIy8jVulgr9eozILl/SZE53QOqnW/+vviC+wQWLv+AunBG+8Q0TLoeSsSxRQ==}
+
+ core-js@2.6.12:
+ resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==}
+ deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
+
+ core-js@3.42.0:
+ resolution: {integrity: sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==}
+
+ core-util-is@1.0.2:
+ resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
+
+ core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+
+ cors@2.8.5:
+ resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
+ engines: {node: '>= 0.10'}
+
+ corser@2.0.1:
+ resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==}
+ engines: {node: '>= 0.4.0'}
+
+ cosmiconfig@6.0.0:
+ resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==}
+ engines: {node: '>=8'}
+
+ cosmiconfig@8.3.6:
+ resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ create-ecdh@4.0.4:
+ resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==}
+
+ create-hash@1.2.0:
+ resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==}
+
+ create-hmac@1.1.7:
+ resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==}
+
+ cron-parser@4.9.0:
+ resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==}
+ engines: {node: '>=12.0.0'}
+
+ cross-env@7.0.3:
+ resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
+ engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
+ hasBin: true
+
+ cross-fetch@4.1.0:
+ resolution: {integrity: sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==}
+
+ cross-spawn@5.1.0:
+ resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
+
+ cross-spawn@6.0.6:
+ resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==}
+ engines: {node: '>=4.8'}
+
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
+ crypto-browserify@3.12.1:
+ resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==}
+ engines: {node: '>= 0.10'}
+
+ crypto-random-string@2.0.0:
+ resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
+ engines: {node: '>=8'}
+
+ crypto-random-string@4.0.0:
+ resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
+ engines: {node: '>=12'}
+
+ css-declaration-sorter@7.2.0:
+ resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ postcss: ^8.0.9
+
+ css-loader@6.11.0:
+ resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+
+ css-minimizer-webpack-plugin@5.0.1:
+ resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ '@parcel/css': '*'
+ '@swc/css': '*'
+ clean-css: '*'
+ csso: '*'
+ esbuild: '*'
+ lightningcss: '*'
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@parcel/css':
+ optional: true
+ '@swc/css':
+ optional: true
+ clean-css:
+ optional: true
+ csso:
+ optional: true
+ esbuild:
+ optional: true
+ lightningcss:
+ optional: true
+
+ css-select@4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+
+ css-select@5.1.0:
+ resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
+
+ css-tree@1.1.3:
+ resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
+ engines: {node: '>=8.0.0'}
+
+ css-tree@2.2.1:
+ resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+
+ css-tree@2.3.1:
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
+ css-what@6.1.0:
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ cssnano-preset-advanced@6.1.2:
+ resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ cssnano-preset-default@6.1.2:
+ resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ cssnano-utils@4.0.2:
+ resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ cssnano@6.1.2:
+ resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ csso@4.2.0:
+ resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
+ engines: {node: '>=8.0.0'}
+
+ csso@5.0.5:
+ resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+
+ cssstyle@4.3.1:
+ resolution: {integrity: sha512-ZgW+Jgdd7i52AaLYCriF8Mxqft0gD/R9i9wi6RWBhs1pqdPEzPjym7rvRKi397WmQFf3SlyUsszhw+VVCbx79Q==}
+ engines: {node: '>=18'}
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ cwise-compiler@1.1.3:
+ resolution: {integrity: sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==}
+
+ d3-array@1.2.4:
+ resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==}
+
+ d3-array@2.12.1:
+ resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
+
+ d3-color@1.4.1:
+ resolution: {integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==}
+
+ d3-color@2.0.0:
+ resolution: {integrity: sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==}
+
+ d3-dispatch@1.0.6:
+ resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==}
+
+ d3-drag@1.2.5:
+ resolution: {integrity: sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==}
+
+ d3-ease@1.0.7:
+ resolution: {integrity: sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==}
+
+ d3-fg@6.14.0:
+ resolution: {integrity: sha512-M4QpFZOEvAq4ZDzwabJp2inL+KXS85T2SQl00zWwjnolaCJR+gHxUbT7Ha4GxTeW1NXwzbykhv/38I1fxQqbyg==}
+
+ d3-format@2.0.0:
+ resolution: {integrity: sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==}
+
+ d3-geo@1.7.1:
+ resolution: {integrity: sha512-O4AempWAr+P5qbk2bC2FuN/sDW4z+dN2wDf9QV3bxQt4M5HfOEeXLgJ/UKQW0+o1Dj8BE+L5kiDbdWUMjsmQpw==}
+
+ d3-hierarchy@1.1.9:
+ resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==}
+
+ d3-interpolate@1.4.0:
+ resolution: {integrity: sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==}
+
+ d3-interpolate@2.0.1:
+ resolution: {integrity: sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==}
+
+ d3-scale@3.3.0:
+ resolution: {integrity: sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==}
+
+ d3-selection@1.4.2:
+ resolution: {integrity: sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==}
+
+ d3-time-format@3.0.0:
+ resolution: {integrity: sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==}
+
+ d3-time@2.1.1:
+ resolution: {integrity: sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==}
+
+ d3-timer@1.0.10:
+ resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==}
+
+ d3-transition@1.3.2:
+ resolution: {integrity: sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==}
+
+ d3-voronoi@1.1.2:
+ resolution: {integrity: sha512-RhGS1u2vavcO7ay7ZNAPo4xeDh/VYeGof3x5ZLJBQgYhLegxr3s5IykvWmJ94FTU6mcbtp4sloqZ54mP6R4Utw==}
+
+ d3-zoom@1.8.3:
+ resolution: {integrity: sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==}
+
+ dargs@7.0.0:
+ resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
+ engines: {node: '>=8'}
+
+ dash-ast@1.0.0:
+ resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==}
+
+ dashdash@1.14.1:
+ resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==}
+ engines: {node: '>=0.10'}
+
+ dasherize@2.0.0:
+ resolution: {integrity: sha512-APql/TZ6FdLEpf2z7/X2a2zyqK8juYtqaSVqxw9mYoQ64CXkfU15AeLh8pUszT8+fnYjgm6t0aIYpWKJbnLkuA==}
+
+ data-uri-to-buffer@0.0.3:
+ resolution: {integrity: sha512-Cp+jOa8QJef5nXS5hU7M1DWzXPEIoVR3kbV0dQuVGwROZg8bGf1DcCnkmajBTnvghTtSNMUdRrPjgaT6ZQucbw==}
+
+ data-uri-to-buffer@4.0.1:
+ resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
+ engines: {node: '>= 12'}
+
+ data-urls@5.0.0:
+ resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
+ engines: {node: '>=18'}
+
+ data-view-buffer@1.0.2:
+ resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-length@1.0.2:
+ resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-offset@1.0.1:
+ resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
+ engines: {node: '>= 0.4'}
+
+ date-fns@2.30.0:
+ resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
+ engines: {node: '>=0.11'}
+
+ dateformat@3.0.2:
+ resolution: {integrity: sha512-EelsCzH0gMC2YmXuMeaZ3c6md1sUJQxyb1XXc4xaisi/K6qKukqZhKPrEQyRkdNIncgYyLoDTReq0nNyuKerTg==}
+
+ dateformat@3.0.3:
+ resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==}
+
+ de-indent@1.0.2:
+ resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
+
+ debounce-fn@5.1.2:
+ resolution: {integrity: sha512-Sr4SdOZ4vw6eQDvPYNxHogvrxmCIld/VenC5JbNrFwMiwd7lY/Z18ZFfo+EWNG4DD9nFlAujWAo/wGuOPHmy5A==}
+ engines: {node: '>=12'}
+
+ debounce@1.2.1:
+ resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
+
+ debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.4.0:
+ resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decamelize-keys@1.1.1:
+ resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
+ engines: {node: '>=0.10.0'}
+
+ decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+
+ decimal.js@10.5.0:
+ resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==}
+
+ decode-named-character-reference@1.1.0:
+ resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==}
+
+ decode-uri-component@0.2.2:
+ resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
+ engines: {node: '>=0.10'}
+
+ decompress-response@6.0.0:
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
+ engines: {node: '>=10'}
+
+ dedent@0.7.0:
+ resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
+
+ dedent@1.6.0:
+ resolution: {integrity: sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==}
+ peerDependencies:
+ babel-plugin-macros: ^3.1.0
+ peerDependenciesMeta:
+ babel-plugin-macros:
+ optional: true
+
+ deep-eql@4.1.4:
+ resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==}
+ engines: {node: '>=6'}
+
+ deep-extend@0.6.0:
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
+ engines: {node: '>=4.0.0'}
+
+ deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ deepmerge-ts@7.1.5:
+ resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==}
+ engines: {node: '>=16.0.0'}
+
+ deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+
+ default-browser-id@5.0.0:
+ resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
+ engines: {node: '>=18'}
+
+ default-browser@5.2.1:
+ resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
+ engines: {node: '>=18'}
+
+ default-gateway@6.0.3:
+ resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
+ engines: {node: '>= 10'}
+
+ defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+
+ defer-to-connect@2.0.1:
+ resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
+ engines: {node: '>=10'}
+
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+
+ define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+
+ define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+
+ define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+
+ defined@1.0.1:
+ resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
+
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
+ del@6.1.1:
+ resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==}
+ engines: {node: '>=10'}
+
+ del@7.0.0:
+ resolution: {integrity: sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==}
+ engines: {node: '>=14.16'}
+
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
+ delegate@3.2.0:
+ resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==}
+
+ delegates@1.0.0:
+ resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
+
+ deno-vm@0.13.0:
+ resolution: {integrity: sha512-Y91XNeNxRF/CoqMxPUuPXBBvjkqfZ3Kb7SxSGQnxPdOoGUzEToOLqkOOxPBWqfLMf7ntB5dOZSilGAa8G7Rsug==}
+ engines: {node: '>= 12'}
+
+ denque@1.5.1:
+ resolution: {integrity: sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==}
+ engines: {node: '>=0.10'}
+
+ denque@2.1.0:
+ resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==}
+ engines: {node: '>=0.10'}
+
+ depd@1.1.2:
+ resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
+ engines: {node: '>= 0.6'}
+
+ depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+
+ deprecation@2.3.1:
+ resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
+
+ deps-sort@2.0.1:
+ resolution: {integrity: sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==}
+ hasBin: true
+
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ des.js@1.1.0:
+ resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==}
+
+ destr@2.0.5:
+ resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
+
+ destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ detect-indent@5.0.0:
+ resolution: {integrity: sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==}
+ engines: {node: '>=4'}
+
+ detect-libc@2.0.2:
+ resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
+ engines: {node: '>=8'}
+
+ detect-libc@2.0.4:
+ resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
+ engines: {node: '>=8'}
+
+ detect-newline@3.1.0:
+ resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
+ engines: {node: '>=8'}
+
+ detect-node@2.1.0:
+ resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
+
+ detect-port-alt@1.1.6:
+ resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==}
+ engines: {node: '>= 4.2.1'}
+ hasBin: true
+
+ detect-port@1.6.1:
+ resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==}
+ engines: {node: '>= 4.0.0'}
+ hasBin: true
+
+ detective@5.2.1:
+ resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
+ engines: {node: '>=0.8.0'}
+ hasBin: true
+
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+
+ diff-match-patch@1.0.5:
+ resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==}
+
+ diff-sequences@27.5.1:
+ resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ diff-sequences@29.6.3:
+ resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ diffie-hellman@5.0.3:
+ resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==}
+
+ dijkstrajs@1.0.3:
+ resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
+
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
+ dns-packet@5.6.1:
+ resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
+ engines: {node: '>=6'}
+
+ dom-align@1.12.4:
+ resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==}
+
+ dom-converter@0.2.0:
+ resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
+
+ dom-serializer@0.2.2:
+ resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==}
+
+ dom-serializer@1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+
+ dom-serializer@2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+
+ domain-browser@1.2.0:
+ resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==}
+ engines: {node: '>=0.4', npm: '>=1.2'}
+
+ domelementtype@1.3.1:
+ resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==}
+
+ domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ domhandler@2.4.2:
+ resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==}
+
+ domhandler@4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+
+ domhandler@5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+
+ domutils@1.7.0:
+ resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==}
+
+ domutils@2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+
+ domutils@3.2.2:
+ resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
+
+ dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+
+ dot-prop@5.3.0:
+ resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
+ engines: {node: '>=8'}
+
+ dot-prop@6.0.1:
+ resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
+ engines: {node: '>=10'}
+
+ dot-prop@8.0.2:
+ resolution: {integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==}
+ engines: {node: '>=16'}
+
+ dotenv-expand@10.0.0:
+ resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==}
+ engines: {node: '>=12'}
+
+ dotenv-expand@5.1.0:
+ resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==}
+
+ dotenv@10.0.0:
+ resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==}
+ engines: {node: '>=10'}
+
+ dotenv@16.3.2:
+ resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==}
+ engines: {node: '>=12'}
+
+ dotenv@16.6.1:
+ resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
+ engines: {node: '>=12'}
+
+ downloadjs@1.4.7:
+ resolution: {integrity: sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q==}
+
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
+
+ duplexer2@0.1.4:
+ resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==}
+
+ duplexer@0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+
+ duplexify@4.1.3:
+ resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==}
+
+ earcut@2.2.4:
+ resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==}
+
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ ecc-jsbn@0.1.2:
+ resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==}
+
+ ecdsa-sig-formatter@1.0.11:
+ resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==}
+
+ ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+
+ effect@3.16.12:
+ resolution: {integrity: sha512-N39iBk0K71F9nb442TLbTkjl24FLUzuvx2i1I2RsEAQsdAdUTuUoW0vlfUXgkMTUOnYqKnWcFfqw4hK4Pw27hg==}
+
+ ejs@3.1.10:
+ resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+
+ electron-to-chromium@1.5.150:
+ resolution: {integrity: sha512-rOOkP2ZUMx1yL4fCxXQKDHQ8ZXwisb2OycOQVKHgvB3ZI4CvehOd4y2tfnnLDieJ3Zs1RL1Dlp3cMkyIn7nnXA==}
+
+ elliptic@6.6.1:
+ resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==}
+
+ emittery@0.13.1:
+ resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
+ engines: {node: '>=12'}
+
+ emoji-regex@10.4.0:
+ resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ emojilib@2.4.0:
+ resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==}
+
+ emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+
+ emoticon@4.1.0:
+ resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==}
+
+ empathic@2.0.0:
+ resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==}
+ engines: {node: '>=14'}
+
+ encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+
+ encodeurl@2.0.0:
+ resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
+ engines: {node: '>= 0.8'}
+
+ encoding@0.1.13:
+ resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
+
+ end-of-stream@1.4.4:
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+
+ enhanced-resolve@5.18.1:
+ resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
+ engines: {node: '>=10.13.0'}
+
+ enquirer@2.3.6:
+ resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==}
+ engines: {node: '>=8.6'}
+
+ entities@1.1.2:
+ resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==}
+
+ entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ entities@6.0.0:
+ resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==}
+ engines: {node: '>=0.12'}
+
+ env-paths@2.2.1:
+ resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
+ engines: {node: '>=6'}
+
+ env-paths@3.0.0:
+ resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ env-string@1.0.1:
+ resolution: {integrity: sha512-/DhCJDf5DSFK32joQiWRpWrT0h7p3hVQfMKxiBb7Nt8C8IF8BYyPtclDnuGGLOoj16d/8udKeiE7JbkotDmorQ==}
+
+ envinfo@7.8.1:
+ resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ environment@1.1.0:
+ resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
+ engines: {node: '>=18'}
+
+ err-code@2.0.3:
+ resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==}
+
+ error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+
+ es-abstract@1.23.9:
+ resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==}
+ engines: {node: '>= 0.4'}
+
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-module-lexer@1.7.0:
+ resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+ engines: {node: '>= 0.4'}
+
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
+ engines: {node: '>= 0.4'}
+
+ es-to-primitive@1.3.0:
+ resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
+ engines: {node: '>= 0.4'}
+
+ es-toolkit@1.39.10:
+ resolution: {integrity: sha512-E0iGnTtbDhkeczB0T+mxmoVlT4YNweEKBLq7oaU4p11mecdsZpNWOglI4895Vh4usbQ+LsJiuLuI2L0Vdmfm2w==}
+
+ esbuild-copy-static-files@0.1.0:
+ resolution: {integrity: sha512-KlpmYqANA1t2nZavEdItfcOjJC6wbHA21v35HJWN32DddGTWKNNGDKljUzbCPojmpD+wAw8/DXr5abJ4jFCE0w==}
+
+ esbuild@0.19.12:
+ resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ esbuild@0.21.5:
+ resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ escape-goat@4.0.0:
+ resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==}
+ engines: {node: '>=12'}
+
+ escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+
+ escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ eslint-plugin-header@3.1.1:
+ resolution: {integrity: sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==}
+ peerDependencies:
+ eslint: '>=7.7.0'
+
+ eslint-plugin-unused-imports@4.1.4:
+ resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0
+ eslint: ^9.0.0 || ^8.0.0
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+
+ eslint-plugin-vue@10.1.0:
+ resolution: {integrity: sha512-/VTiJ1eSfNLw6lvG9ENySbGmcVvz6wZ9nA7ZqXlLBY2RkaF15iViYKxglWiIch12KiLAj0j1iXPYU6W4wTROFA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ vue-eslint-parser: ^10.0.0
+
+ eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+
+ eslint-scope@8.3.0:
+ resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint-visitor-keys@4.2.0:
+ resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint@9.26.0:
+ resolution: {integrity: sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+
+ espree@10.3.0:
+ resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ esquery@1.6.0:
+ resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+ engines: {node: '>=0.10'}
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
+ esri-loader@3.7.0:
+ resolution: {integrity: sha512-cB1Sw9EQjtW4mtT7eFBjn/6VaaIWNTjmTd2asnnEyuZk1xVSFRMCfLZSBSjZM7ZarDcVu5WIjOP0t0MYVu4hVQ==}
+ deprecated: Use @arcgis/core instead.
+
+ estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ estree-is-member-expression@1.0.0:
+ resolution: {integrity: sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg==}
+
+ estree-util-attach-comments@3.0.0:
+ resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
+
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+
+ estree-util-value-to-estree@3.3.3:
+ resolution: {integrity: sha512-Db+m1WSD4+mUO7UgMeKkAwdbfNWwIxLt48XF2oFU9emPfXkIu+k5/nlOj313v7wqtAPo0f9REhUvznFrPkG8CQ==}
+
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+
+ estree-walker@1.0.1:
+ resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
+
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ eta@2.2.0:
+ resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==}
+ engines: {node: '>=6.0.0'}
+
+ etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+
+ eval@0.1.8:
+ resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==}
+ engines: {node: '>= 0.8'}
+
+ event-stream@4.0.1:
+ resolution: {integrity: sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==}
+
+ event-target-shim@5.0.1:
+ resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+ engines: {node: '>=6'}
+
+ eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+
+ eventemitter3@5.0.1:
+ resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
+
+ events@1.1.1:
+ resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==}
+ engines: {node: '>=0.4.x'}
+
+ events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+
+ eventsource-parser@3.0.1:
+ resolution: {integrity: sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==}
+ engines: {node: '>=18.0.0'}
+
+ eventsource@3.0.6:
+ resolution: {integrity: sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA==}
+ engines: {node: '>=18.0.0'}
+
+ evp_bytestokey@1.0.3:
+ resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==}
+
+ execa@0.9.0:
+ resolution: {integrity: sha512-BbUMBiX4hqiHZUA5+JujIjNb6TyAlp2D5KLheMjMluwOuzcnylDL4AxZYLLn1n2AGB49eSWwyKvvEQoRpnAtmA==}
+ engines: {node: '>=4'}
+
+ execa@1.0.0:
+ resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
+ engines: {node: '>=6'}
+
+ execa@4.1.0:
+ resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
+ engines: {node: '>=10'}
+
+ execa@5.0.0:
+ resolution: {integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==}
+ engines: {node: '>=10'}
+
+ execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+
+ execa@8.0.1:
+ resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
+ engines: {node: '>=16.17'}
+
+ execspawn@1.0.1:
+ resolution: {integrity: sha512-s2k06Jy9i8CUkYe0+DxRlvtkZoOkwwfhB+Xxo5HGUtrISVW2m98jO2tr67DGRFxZwkjQqloA3v/tNtjhBRBieg==}
+
+ exit-x@0.2.2:
+ resolution: {integrity: sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==}
+ engines: {node: '>= 0.8.0'}
+
+ expect@27.3.1:
+ resolution: {integrity: sha512-MrNXV2sL9iDRebWPGOGFdPQRl2eDQNu/uhxIMShjjx74T6kC6jFIkmQ6OqXDtevjGUkyB2IT56RzDBqXf/QPCg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ expect@29.7.0:
+ resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ expect@30.2.0:
+ resolution: {integrity: sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ exponential-backoff@3.1.2:
+ resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==}
+
+ express-rate-limit@7.5.0:
+ resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==}
+ engines: {node: '>= 16'}
+ peerDependencies:
+ express: ^4.11 || 5 || ^5.0.0-beta.1
+
+ express@4.21.2:
+ resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
+ engines: {node: '>= 0.10.0'}
+
+ express@5.1.0:
+ resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==}
+ engines: {node: '>= 18'}
+
+ exsolve@1.0.7:
+ resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==}
+
+ extend-shallow@2.0.1:
+ resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
+ engines: {node: '>=0.10.0'}
+
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+
+ external-editor@3.1.0:
+ resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
+ engines: {node: '>=4'}
+
+ extsprintf@1.3.0:
+ resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
+ engines: {'0': node >=0.6.0}
+
+ fake-indexeddb@5.0.1:
+ resolution: {integrity: sha512-vxybH29Owtc6khV/Usy47B1g+eKwyhFiX8nwpCC4td320jvwrKQDH6vNtcJZgUzVxmfsSIlHzLKQzT76JMCO7A==}
+ engines: {node: '>=18'}
+
+ faker@5.1.0:
+ resolution: {integrity: sha512-RrWKFSSA/aNLP0g3o2WW1Zez7/MnMr7xkiZmoCfAGZmdkDQZ6l2KtuXHN5XjdvpRjDl8+3vf+Rrtl06Z352+Mw==}
+
+ fast-check@2.19.0:
+ resolution: {integrity: sha512-qY4Rc0Nljl2aJx2qgbK3o6wPBjL9QvhKdD/VqJgaKd5ewn8l4ViqgDpUHJq/JkHTBnFKomYYvkFkOYGDVTT8bw==}
+ engines: {node: '>=8.0.0'}
+
+ fast-check@3.23.2:
+ resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==}
+ engines: {node: '>=8.0.0'}
+
+ fast-content-type-parse@2.0.1:
+ resolution: {integrity: sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ fast-safe-stringify@2.1.1:
+ resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
+
+ fast-uri@3.0.6:
+ resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==}
+
+ fast-xml-parser@4.4.1:
+ resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==}
+ hasBin: true
+
+ fast-xml-parser@4.5.3:
+ resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==}
+ hasBin: true
+
+ fast-xml-parser@5.2.5:
+ resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==}
+ hasBin: true
+
+ fastq@1.19.1:
+ resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+
+ fault@2.0.1:
+ resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
+
+ faye-websocket@0.11.4:
+ resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
+ engines: {node: '>=0.8.0'}
+
+ fb-watchman@2.0.2:
+ resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+
+ fdir@6.4.4:
+ resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
+ feed@4.2.2:
+ resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==}
+ engines: {node: '>=0.4.0'}
+
+ fengari-interop@0.1.3:
+ resolution: {integrity: sha512-EtZ+oTu3kEwVJnoymFPBVLIbQcCoy9uWCVnMA6h3M/RqHkUBsLYp29+RRHf9rKr6GwjubWREU1O7RretFIXjHw==}
+ peerDependencies:
+ fengari: ^0.1.0
+
+ fengari@0.1.4:
+ resolution: {integrity: sha512-6ujqUuiIYmcgkGz8MGAdERU57EIluGGPSUgGPTsco657EHa+srq0S3/YUl/r9kx1+D+d4rGfYObd+m8K22gB1g==}
+
+ fetch-blob@3.2.0:
+ resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
+ engines: {node: ^12.20 || >= 14.13}
+
+ figures@3.2.0:
+ resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
+ engines: {node: '>=8'}
+
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
+
+ file-loader@6.2.0:
+ resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ filelist@1.0.4:
+ resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
+
+ filepond-plugin-file-validate-type@1.2.9:
+ resolution: {integrity: sha512-Tzv07aNdZvjUXDRA3XL16QMEvh6llDrXlcZ6W0eTHQ+taHaVg/JKJTFs/AViO+6ZcpPCcQStbhYEL2HoS+vldw==}
+ peerDependencies:
+ filepond: '>=1.x <5.x'
+
+ filepond@3.9.0:
+ resolution: {integrity: sha512-6XqRwzdpCOHYvnp7hqPpYbOH03zweOcGkgv5ixQlihbRxLFUw2AJId4lHwLdbKW7LX9EaQPqZ6qRF+3T0dkDVw==}
+
+ filesize@8.0.7:
+ resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==}
+ engines: {node: '>= 0.4.0'}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+ filter-obj@1.1.0:
+ resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==}
+ engines: {node: '>=0.10.0'}
+
+ finalhandler@1.3.1:
+ resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
+ engines: {node: '>= 0.8'}
+
+ finalhandler@2.1.0:
+ resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==}
+ engines: {node: '>= 0.8'}
+
+ find-cache-dir@4.0.0:
+ resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==}
+ engines: {node: '>=14.16'}
+
+ find-up@2.1.0:
+ resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==}
+ engines: {node: '>=4'}
+
+ find-up@3.0.0:
+ resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
+ engines: {node: '>=6'}
+
+ find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+ find-up@6.3.0:
+ resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
+
+ flat@5.0.2:
+ resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
+ hasBin: true
+
+ flatted@3.3.3:
+ resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+
+ follow-redirects@1.15.9:
+ resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
+ for-each@0.3.5:
+ resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
+ engines: {node: '>= 0.4'}
+
+ foreground-child@3.3.1:
+ resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
+ engines: {node: '>=14'}
+
+ forever-agent@0.6.1:
+ resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
+
+ fork-ts-checker-webpack-plugin@6.5.3:
+ resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==}
+ engines: {node: '>=10', yarn: '>=1.0.0'}
+ peerDependencies:
+ eslint: '>= 6'
+ typescript: '>= 2.7'
+ vue-template-compiler: '*'
+ webpack: '>= 4'
+ peerDependenciesMeta:
+ eslint:
+ optional: true
+ vue-template-compiler:
+ optional: true
+
+ form-data-encoder@1.7.2:
+ resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==}
+
+ form-data-encoder@2.1.4:
+ resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
+ engines: {node: '>= 14.17'}
+
+ form-data@2.3.3:
+ resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
+ engines: {node: '>= 0.12'}
+
+ form-data@4.0.2:
+ resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==}
+ engines: {node: '>= 6'}
+
+ form-data@4.0.4:
+ resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==}
+ engines: {node: '>= 6'}
+
+ format-thousands@1.1.1:
+ resolution: {integrity: sha512-OrNyhmdvoDfpcUVU3N4SqjfLTfnYVmc8JFiUo3Ar1IwxLv/QJC9PpU5dYuLrHTYzpLC8hF9aCBsfmgaoHlWJMQ==}
+ engines: {node: '>=0.10.0'}
+
+ format@0.2.2:
+ resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
+ engines: {node: '>=0.4.x'}
+
+ formdata-node@4.4.1:
+ resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
+ engines: {node: '>= 12.20'}
+
+ formdata-polyfill@4.0.10:
+ resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
+ engines: {node: '>=12.20.0'}
+
+ forwarded@0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
+
+ fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+
+ fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+
+ fresh@2.0.0:
+ resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}
+ engines: {node: '>= 0.8'}
+
+ from@0.1.7:
+ resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
+
+ fs-constants@1.0.0:
+ resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
+
+ fs-extra@10.1.0:
+ resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
+ engines: {node: '>=12'}
+
+ fs-extra@11.3.0:
+ resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==}
+ engines: {node: '>=14.14'}
+
+ fs-extra@8.1.0:
+ resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
+ engines: {node: '>=6 <7 || >=8'}
+
+ fs-extra@9.1.0:
+ resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
+ engines: {node: '>=10'}
+
+ fs-minipass@1.2.7:
+ resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==}
+
+ fs-minipass@2.1.0:
+ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
+ engines: {node: '>= 8'}
+
+ fs-minipass@3.0.3:
+ resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ fs-monkey@1.0.6:
+ resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==}
+
+ fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ fsevents@2.3.2:
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ function.prototype.name@1.1.8:
+ resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
+ engines: {node: '>= 0.4'}
+
+ functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+
+ gauge@4.0.4:
+ resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ deprecated: This package is no longer supported.
+
+ gaxios@6.7.1:
+ resolution: {integrity: sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==}
+ engines: {node: '>=14'}
+
+ gcp-metadata@6.1.1:
+ resolution: {integrity: sha512-a4tiq7E0/5fTjxPAaH4jpjkSv/uCaU2p5KC6HVGrvl0cDjA8iBZv4vv1gyzlmK0ZUKqwpOyQMKzZQe3lTit77A==}
+ engines: {node: '>=14'}
+
+ generic-pool@3.9.0:
+ resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==}
+ engines: {node: '>= 4'}
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ geo-three@0.1.14:
+ resolution: {integrity: sha512-ZSyVZwGuTIrjRE34yDr332ih3r6dSM6Sexq4T7IOOWyqqLyG3aCZ6WTtCSK9uJRbHfIF4WUMCTUDZBGOjfVr6A==}
+ peerDependencies:
+ three: '>0.120.0'
+
+ geojson-equality-ts@1.0.2:
+ resolution: {integrity: sha512-h3Ryq+0mCSN/7yLs0eDgrZhvc9af23o/QuC4aTiuuzP/MRCtd6mf5rLsLRY44jX0RPUfM8c4GqERQmlUxPGPoQ==}
+
+ geojson-polygon-self-intersections@1.2.1:
+ resolution: {integrity: sha512-/QM1b5u2d172qQVO//9CGRa49jEmclKEsYOQmWP9ooEjj63tBM51m2805xsbxkzlEELQ2REgTf700gUhhlegxA==}
+
+ get-assigned-identifiers@1.2.0:
+ resolution: {integrity: sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==}
+
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ get-east-asian-width@1.3.0:
+ resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==}
+ engines: {node: '>=18'}
+
+ get-func-name@2.0.2:
+ resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
+
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+ engines: {node: '>= 0.4'}
+
+ get-own-enumerable-property-symbols@3.0.2:
+ resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
+
+ get-package-type@0.1.0:
+ resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
+ engines: {node: '>=8.0.0'}
+
+ get-pixels@3.3.3:
+ resolution: {integrity: sha512-5kyGBn90i9tSMUVHTqkgCHsoWoR+/lGbl4yC83Gefyr0HLIhgSWEx/2F/3YgsZ7UpYNuM6pDhDK7zebrUJ5nXg==}
+
+ get-pkg-repo@4.2.1:
+ resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==}
+ engines: {node: '>=6.9.0'}
+ hasBin: true
+
+ get-port@5.1.1:
+ resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==}
+ engines: {node: '>=8'}
+
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+ engines: {node: '>= 0.4'}
+
+ get-stream@3.0.0:
+ resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==}
+ engines: {node: '>=4'}
+
+ get-stream@4.1.0:
+ resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
+ engines: {node: '>=6'}
+
+ get-stream@5.2.0:
+ resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
+ engines: {node: '>=8'}
+
+ get-stream@6.0.0:
+ resolution: {integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==}
+ engines: {node: '>=10'}
+
+ get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+
+ get-stream@8.0.1:
+ resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
+ engines: {node: '>=16'}
+
+ get-symbol-description@1.1.0:
+ resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
+ engines: {node: '>= 0.4'}
+
+ getpass@0.1.7:
+ resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
+
+ giget@2.0.0:
+ resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==}
+ hasBin: true
+
+ git-raw-commits@3.0.0:
+ resolution: {integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ git-remote-origin-url@2.0.0:
+ resolution: {integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==}
+ engines: {node: '>=4'}
+
+ git-semver-tags@5.0.1:
+ resolution: {integrity: sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ git-up@7.0.0:
+ resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==}
+
+ git-url-parse@13.1.0:
+ resolution: {integrity: sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==}
+
+ gitconfiglocal@1.0.0:
+ resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==}
+
+ github-buttons@2.29.1:
+ resolution: {integrity: sha512-TV3YgAKda5hPz75n7QXmGCsSzgVya1vvmBieebg3EB5ScmashTZ0FldViG1aU2d4V5rcAGrtQ7k5uAaCo0A4PA==}
+
+ github-slugger@1.5.0:
+ resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==}
+
+ github-slugger@2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
+
+ gl-mat2@1.0.1:
+ resolution: {integrity: sha512-oHgZ3DalAo9qAhMZM9QigXosqotcUCsgxarwrinipaqfSHvacI79Dzs72gY+oT4Td1kDQKEsG0RyX6mb02VVHA==}
+
+ gl-vec2@1.3.0:
+ resolution: {integrity: sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A==}
+
+ gl-vec3@1.1.3:
+ resolution: {integrity: sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==}
+
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
+ glob-to-regexp@0.4.1:
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+
+ glob@10.4.5:
+ resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
+ hasBin: true
+
+ glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ deprecated: Glob versions prior to v9 are no longer supported
+
+ glob@8.1.0:
+ resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
+ engines: {node: '>=12'}
+ deprecated: Glob versions prior to v9 are no longer supported
+
+ glob@9.3.5:
+ resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ global-dirs@3.0.1:
+ resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
+ engines: {node: '>=10'}
+
+ global-modules@2.0.0:
+ resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==}
+ engines: {node: '>=6'}
+
+ global-prefix@3.0.0:
+ resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==}
+ engines: {node: '>=6'}
+
+ globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
+
+ globals@16.1.0:
+ resolution: {integrity: sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==}
+ engines: {node: '>=18'}
+
+ globalthis@1.0.4:
+ resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
+ engines: {node: '>= 0.4'}
+
+ globby@10.0.1:
+ resolution: {integrity: sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==}
+ engines: {node: '>=8'}
+
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+
+ globby@13.2.2:
+ resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ good-listener@1.2.2:
+ resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==}
+
+ google-logging-utils@0.0.2:
+ resolution: {integrity: sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ==}
+ engines: {node: '>=14'}
+
+ google-protobuf@3.21.4:
+ resolution: {integrity: sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==}
+
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
+
+ got@11.8.6:
+ resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
+ engines: {node: '>=10.19.0'}
+
+ got@12.6.1:
+ resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==}
+ engines: {node: '>=14.16'}
+
+ graceful-fs@4.2.10:
+ resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+
+ gray-matter@4.0.3:
+ resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
+ engines: {node: '>=6.0'}
+
+ gzip-size@6.0.0:
+ resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
+ engines: {node: '>=10'}
+
+ handle-thing@2.0.1:
+ resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
+
+ handlebars@4.7.8:
+ resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
+ engines: {node: '>=0.4.7'}
+ hasBin: true
+
+ har-schema@2.0.0:
+ resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==}
+ engines: {node: '>=4'}
+
+ har-validator@5.1.5:
+ resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==}
+ engines: {node: '>=6'}
+ deprecated: this library is no longer supported
+
+ hard-rejection@2.1.0:
+ resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
+ engines: {node: '>=6'}
+
+ has-ansi@2.0.0:
+ resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
+ engines: {node: '>=0.10.0'}
+
+ has-bigints@1.1.0:
+ resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
+ engines: {node: '>= 0.4'}
+
+ has-flag@1.0.0:
+ resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==}
+ engines: {node: '>=0.10.0'}
+
+ has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
+ has-proto@1.2.0:
+ resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
+ engines: {node: '>= 0.4'}
+
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
+
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
+ has-unicode@2.0.1:
+ resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
+
+ has-yarn@3.0.0:
+ resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ hash-base@3.0.5:
+ resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==}
+ engines: {node: '>= 0.10'}
+
+ hash.js@1.1.7:
+ resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==}
+
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
+ hast-util-from-parse5@7.1.2:
+ resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==}
+
+ hast-util-from-parse5@8.0.3:
+ resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==}
+
+ hast-util-heading-rank@3.0.0:
+ resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==}
+
+ hast-util-parse-selector@3.1.1:
+ resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==}
+
+ hast-util-parse-selector@4.0.0:
+ resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
+
+ hast-util-raw@7.2.3:
+ resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==}
+
+ hast-util-raw@9.1.0:
+ resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==}
+
+ hast-util-to-estree@3.1.3:
+ resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
+
+ hast-util-to-html@9.0.5:
+ resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
+
+ hast-util-to-jsx-runtime@2.3.6:
+ resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
+
+ hast-util-to-parse5@7.1.0:
+ resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==}
+
+ hast-util-to-parse5@8.0.0:
+ resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==}
+
+ hast-util-to-string@3.0.1:
+ resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
+
+ hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+
+ hastscript@7.2.0:
+ resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==}
+
+ hastscript@9.0.1:
+ resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
+
+ he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+
+ helmet-csp@2.9.3:
+ resolution: {integrity: sha512-K3ZgZnItK8cDNEg6sqCrN6KlZXfY2Liq43kVLZcbBQvZIhzwppmXoZyTh+6guSMJA3WTiwh0lTvolIHQxwB5Og==}
+ engines: {node: '>=4.0.0'}
+
+ history@4.10.1:
+ resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==}
+
+ hmac-drbg@1.0.1:
+ resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==}
+
+ hoist-non-react-statics@3.3.2:
+ resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+
+ hosted-git-info@2.8.9:
+ resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+
+ hosted-git-info@3.0.8:
+ resolution: {integrity: sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==}
+ engines: {node: '>=10'}
+
+ hosted-git-info@4.1.0:
+ resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
+ engines: {node: '>=10'}
+
+ hosted-git-info@6.1.3:
+ resolution: {integrity: sha512-HVJyzUrLIL1c0QmviVh5E8VGyUS7xCFPS6yydaVd1UegW+ibV/CohqTH9MkOLDp5o+rb82DMo77PTuc9F/8GKw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ hosted-git-info@7.0.2:
+ resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ hotkeys-js@3.9.4:
+ resolution: {integrity: sha512-2zuLt85Ta+gIyvs4N88pCYskNrxf1TFv3LR9t5mdAZIX8BcgQQ48F2opUptvHa6m8zsy5v/a0i9mWzTrlNWU0Q==}
+
+ howler@2.1.3:
+ resolution: {integrity: sha512-PSGbOi1EYgw80C5UQbxtJM7TmzD+giJunIMBYyH3RVzHZx2fZLYBoes0SpVVHi/SFa1GoNtgXj/j6I7NOKYBxQ==}
+
+ hpack.js@2.1.6:
+ resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
+
+ hsl-to-rgb-for-reals@1.1.1:
+ resolution: {integrity: sha512-LgOWAkrN0rFaQpfdWBQlv/VhkOxb5AsBjk6NQVx4yEzWS923T07X0M1Y0VNko2H52HeSpZrZNNMJ0aFqsdVzQg==}
+
+ htm@3.1.0:
+ resolution: {integrity: sha512-L0s3Sid5r6YwrEvkig14SK3Emmc+kIjlfLhEGn2Vy3bk21JyDEes4MoDsbJk6luaPp8bugErnxPz86ZuAw6e5Q==}
+
+ html-encoding-sniffer@3.0.0:
+ resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
+ engines: {node: '>=12'}
+
+ html-encoding-sniffer@4.0.0:
+ resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
+ engines: {node: '>=18'}
+
+ html-entities@2.6.0:
+ resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==}
+
+ html-escaper@2.0.2:
+ resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+
+ html-minifier-terser@5.1.1:
+ resolution: {integrity: sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ html-minifier-terser@6.1.0:
+ resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ html-minifier-terser@7.2.0:
+ resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==}
+ engines: {node: ^14.13.1 || >=16.0.0}
+ hasBin: true
+
+ html-tags@3.3.1:
+ resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
+ engines: {node: '>=8'}
+
+ html-url-attributes@3.0.1:
+ resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
+
+ html-void-elements@2.0.1:
+ resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==}
+
+ html-void-elements@3.0.0:
+ resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+
+ html-webpack-plugin@5.6.3:
+ resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ '@rspack/core': 0.x || 1.x
+ webpack: ^5.20.0
+ peerDependenciesMeta:
+ '@rspack/core':
+ optional: true
+ webpack:
+ optional: true
+
+ htmlescape@1.1.1:
+ resolution: {integrity: sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==}
+ engines: {node: '>=0.10'}
+
+ htmlparser2@3.10.1:
+ resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==}
+
+ htmlparser2@6.1.0:
+ resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
+
+ htmlparser2@8.0.2:
+ resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
+
+ http-cache-semantics@4.1.1:
+ resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
+
+ http-deceiver@1.2.7:
+ resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
+
+ http-errors@1.6.3:
+ resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
+ engines: {node: '>= 0.6'}
+
+ http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+ engines: {node: '>= 0.8'}
+
+ http-parser-js@0.5.10:
+ resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==}
+
+ http-proxy-agent@5.0.0:
+ resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
+ engines: {node: '>= 6'}
+
+ http-proxy-agent@7.0.2:
+ resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
+ engines: {node: '>= 14'}
+
+ http-proxy-middleware@2.0.9:
+ resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@types/express': ^4.17.13
+ peerDependenciesMeta:
+ '@types/express':
+ optional: true
+
+ http-proxy@1.18.1:
+ resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
+ engines: {node: '>=8.0.0'}
+
+ http-server@14.1.1:
+ resolution: {integrity: sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ http-signature@1.2.0:
+ resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==}
+ engines: {node: '>=0.8', npm: '>=1.3.7'}
+
+ http2-wrapper@1.0.3:
+ resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==}
+ engines: {node: '>=10.19.0'}
+
+ http2-wrapper@2.2.1:
+ resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==}
+ engines: {node: '>=10.19.0'}
+
+ http_ece@1.2.0:
+ resolution: {integrity: sha512-JrF8SSLVmcvc5NducxgyOrKXe3EsyHMgBFgSaIUGmArKe+rwr0uphRkRXvwiom3I+fpIfoItveHrfudL8/rxuA==}
+ engines: {node: '>=16'}
+
+ https-browserify@1.0.0:
+ resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==}
+
+ https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+
+ https-proxy-agent@7.0.6:
+ resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
+ engines: {node: '>= 14'}
+
+ human-signals@1.1.1:
+ resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==}
+ engines: {node: '>=8.12.0'}
+
+ human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+
+ human-signals@5.0.0:
+ resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
+ engines: {node: '>=16.17.0'}
+
+ humanize-ms@1.2.1:
+ resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
+
+ husky@9.1.7:
+ resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ hyperscript-attribute-to-property@1.0.2:
+ resolution: {integrity: sha512-oerMul16jZCmrbNsUw8QgrtDzF8lKgFri1bKQjReLw1IhiiNkI59CWuzZjJDGT79UQ1YiWqXhJMv/tRMVqgtkA==}
+
+ hyperx@2.5.4:
+ resolution: {integrity: sha512-iOkSh7Yse7lsN/B9y7OsevLWjeXPqGuHQ5SbwaiJM5xAhWFqhoN6erpK1dQsS12OFU36lyai1pnx1mmzWLQqcA==}
+
+ iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+
+ iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+
+ icss-utils@5.1.0:
+ resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ idb@7.1.1:
+ resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
+
+ ieee754@1.1.13:
+ resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==}
+
+ ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ ignore-by-default@1.0.1:
+ resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}
+
+ ignore-walk@5.0.1:
+ resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+
+ ignore-walk@6.0.5:
+ resolution: {integrity: sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ ignore@3.3.10:
+ resolution: {integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==}
+
+ ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
+ engines: {node: '>= 4'}
+
+ image-size@0.5.5:
+ resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+
+ image-size@1.2.1:
+ resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==}
+ engines: {node: '>=16.x'}
+ hasBin: true
+
+ immediate@3.0.6:
+ resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
+
+ immer@9.0.21:
+ resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
+
+ immutable@4.0.0:
+ resolution: {integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==}
+
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
+ engines: {node: '>=6'}
+
+ import-in-the-middle@1.13.1:
+ resolution: {integrity: sha512-k2V9wNm9B+ysuelDTHjI9d5KPc4l8zAZTGqj+pcynvWkypZd857ryzN8jNC7Pg2YZXNMJcHRPpaDyCBbNyVRpA==}
+
+ import-lazy@4.0.0:
+ resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
+ engines: {node: '>=8'}
+
+ import-local@3.1.0:
+ resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ import-local@3.2.0:
+ resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ importmap-vite-plugin@0.1.0:
+ resolution: {integrity: sha512-x7UVXY9ri92+jrr5mIaHwpGzBRZ72SkvG6lgV/EjWO/ZhSe/Js/qZ7UDmRxCnHBSBElwvWBJvM2fCDpNMJ5PMQ==}
+ peerDependencies:
+ vite: '*'
+
+ imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+
+ indent-string@5.0.0:
+ resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
+ engines: {node: '>=12'}
+
+ infer-owner@1.0.4:
+ resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==}
+
+ infima@0.2.0-alpha.44:
+ resolution: {integrity: sha512-tuRkUSO/lB3rEhLJk25atwAjgLuzq070+pOW8XcvpHky/YbENnRRdPd85IBkyeTgttmOy5ah+yHYsK1HhUd4lQ==}
+ engines: {node: '>=12'}
+
+ inflight@1.0.6:
+ resolution: {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.
+
+ inherits@2.0.3:
+ resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+
+ ini@2.0.0:
+ resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
+ engines: {node: '>=10'}
+
+ ini@4.1.3:
+ resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ init-package-json@5.0.0:
+ resolution: {integrity: sha512-kBhlSheBfYmq3e0L1ii+VKe3zBTLL5lDCDWR+f9dLmEGSB3MqLlMlsolubSsyI88Bg6EA+BIMlomAnQ1SwgQBw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ inline-source-map@0.6.3:
+ resolution: {integrity: sha512-1aVsPEsJWMJq/pdMU61CDlm1URcW702MTB4w9/zUjMus6H/Py8o7g68Pr9D4I6QluWGt/KdmswuRhaA05xVR1w==}
+
+ inline-style-parser@0.2.4:
+ resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
+
+ inquirer@8.2.6:
+ resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==}
+ engines: {node: '>=12.0.0'}
+
+ insert-module-globals@7.2.1:
+ resolution: {integrity: sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==}
+ hasBin: true
+
+ internal-slot@1.1.0:
+ resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
+ engines: {node: '>= 0.4'}
+
+ internmap@1.0.1:
+ resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
+
+ interpret@1.4.0:
+ resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
+ engines: {node: '>= 0.10'}
+
+ invariant@2.2.4:
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+
+ ioredis-mock@5.9.1:
+ resolution: {integrity: sha512-ZirdGJFOqH5nP8FYXuHUJmexvtZ6r2Ybc5alaGMzt38QA0kse5/rYnBQcb4ofxkyqzhXHuaCsXiwLlfG6NyhhQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ ioredis: 4.x
+ redis-commands: 1.x
+
+ ioredis@4.30.0:
+ resolution: {integrity: sha512-P9F4Eo6zicYsIJbEy/mPJmSxKY0rVcmiy5H8oXPxPDotQRCvCBjBuI5QWoQQanVE9jdeocnum5iqYAHl4pHdLA==}
+ engines: {node: '>=6'}
+
+ ioredis@5.7.0:
+ resolution: {integrity: sha512-NUcA93i1lukyXU+riqEyPtSEkyFq8tX90uL659J+qpCZ3rEdViB/APC58oAhIh3+bJln2hzdlZbBZsGNrlsR8g==}
+ engines: {node: '>=12.22.0'}
+
+ iota-array@1.0.0:
+ resolution: {integrity: sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==}
+
+ ip-address@9.0.5:
+ resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
+ engines: {node: '>= 12'}
+
+ ipaddr.js@1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
+
+ ipaddr.js@2.2.0:
+ resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==}
+ engines: {node: '>= 10'}
+
+ is-alphabetical@2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
+
+ is-alphanumerical@2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
+
+ is-arguments@1.2.0:
+ resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==}
+ engines: {node: '>= 0.4'}
+
+ is-array-buffer@3.0.5:
+ resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
+ engines: {node: '>= 0.4'}
+
+ is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
+ is-async-function@2.1.1:
+ resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
+ engines: {node: '>= 0.4'}
+
+ is-bigint@1.1.0:
+ resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
+ engines: {node: '>= 0.4'}
+
+ is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+
+ is-boolean-attribute@0.0.1:
+ resolution: {integrity: sha512-0kXT52Scokg2Miscvsn5UVqg6y1691vcLJcagie1YHJB4zOEuAhMERLX992jtvaStGy2xQTqOtJhvmG/MK1T5w==}
+
+ is-boolean-object@1.2.2:
+ resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
+ engines: {node: '>= 0.4'}
+
+ is-buffer@1.1.6:
+ resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
+
+ is-buffer@2.0.5:
+ resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
+ engines: {node: '>=4'}
+
+ is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+
+ is-ci@3.0.1:
+ resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
+ hasBin: true
+
+ is-core-module@2.16.1:
+ resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
+ engines: {node: '>= 0.4'}
+
+ is-data-view@1.0.2:
+ resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
+ engines: {node: '>= 0.4'}
+
+ is-date-object@1.1.0:
+ resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
+ engines: {node: '>= 0.4'}
+
+ is-decimal@2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
+
+ is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+
+ is-extendable@0.1.1:
+ resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
+ engines: {node: '>=0.10.0'}
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-finalizationregistry@1.1.1:
+ resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
+ engines: {node: '>= 0.4'}
+
+ is-fullwidth-code-point@1.0.0:
+ resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==}
+ engines: {node: '>=0.10.0'}
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-fullwidth-code-point@4.0.0:
+ resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
+ engines: {node: '>=12'}
+
+ is-fullwidth-code-point@5.0.0:
+ resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
+ engines: {node: '>=18'}
+
+ is-generator-fn@2.1.0:
+ resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
+ engines: {node: '>=6'}
+
+ is-generator-function@1.1.0:
+ resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
+ engines: {node: '>= 0.4'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-hexadecimal@2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+
+ is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+
+ is-installed-globally@0.4.0:
+ resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
+ engines: {node: '>=10'}
+
+ is-interactive@1.0.0:
+ resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
+ engines: {node: '>=8'}
+
+ is-lambda@1.0.1:
+ resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==}
+
+ is-map@2.0.3:
+ resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+ engines: {node: '>= 0.4'}
+
+ is-module@1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+
+ is-npm@6.0.0:
+ resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ is-number-object@1.1.1:
+ resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
+ engines: {node: '>= 0.4'}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ is-obj@1.0.1:
+ resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
+ engines: {node: '>=0.10.0'}
+
+ is-obj@2.0.0:
+ resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
+ engines: {node: '>=8'}
+
+ is-path-cwd@2.2.0:
+ resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==}
+ engines: {node: '>=6'}
+
+ is-path-cwd@3.0.0:
+ resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+
+ is-path-inside@4.0.0:
+ resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==}
+ engines: {node: '>=12'}
+
+ is-plain-obj@1.1.0:
+ resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
+ engines: {node: '>=0.10.0'}
+
+ is-plain-obj@3.0.0:
+ resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
+ engines: {node: '>=10'}
+
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+
+ is-plain-object@2.0.4:
+ resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
+ engines: {node: '>=0.10.0'}
+
+ is-plain-object@3.0.1:
+ resolution: {integrity: sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==}
+ engines: {node: '>=0.10.0'}
+
+ is-plain-object@5.0.0:
+ resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
+ engines: {node: '>=0.10.0'}
+
+ is-potential-custom-element-name@1.0.1:
+ resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+
+ is-promise@4.0.0:
+ resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
+
+ is-reference@3.0.3:
+ resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==}
+
+ is-regex@1.2.1:
+ resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
+ engines: {node: '>= 0.4'}
+
+ is-regexp@1.0.0:
+ resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==}
+ engines: {node: '>=0.10.0'}
+
+ is-root@2.1.0:
+ resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==}
+ engines: {node: '>=6'}
+
+ is-set@2.0.3:
+ resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+ engines: {node: '>= 0.4'}
+
+ is-shared-array-buffer@1.0.4:
+ resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
+ engines: {node: '>= 0.4'}
+
+ is-ssh@1.4.1:
+ resolution: {integrity: sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==}
+
+ is-stream@1.1.0:
+ resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-stream@2.0.0:
+ resolution: {integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==}
+ engines: {node: '>=8'}
+
+ is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+
+ is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ is-string@1.1.1:
+ resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
+ engines: {node: '>= 0.4'}
+
+ is-symbol@1.1.1:
+ resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
+ engines: {node: '>= 0.4'}
+
+ is-text-path@1.0.1:
+ resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==}
+ engines: {node: '>=0.10.0'}
+
+ is-typed-array@1.1.15:
+ resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
+ engines: {node: '>= 0.4'}
+
+ is-typedarray@1.0.0:
+ resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+
+ is-unicode-supported@0.1.0:
+ resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
+ engines: {node: '>=10'}
+
+ is-weakmap@2.0.2:
+ resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ engines: {node: '>= 0.4'}
+
+ is-weakref@1.1.1:
+ resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==}
+ engines: {node: '>= 0.4'}
+
+ is-weakset@2.0.4:
+ resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
+ engines: {node: '>= 0.4'}
+
+ is-wsl@1.1.0:
+ resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==}
+ engines: {node: '>=4'}
+
+ is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+
+ is-wsl@3.1.0:
+ resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
+ engines: {node: '>=16'}
+
+ is-yarn-global@0.4.1:
+ resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==}
+ engines: {node: '>=12'}
+
+ isarray@0.0.1:
+ resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
+
+ isarray@1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+
+ isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ isexe@3.1.1:
+ resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
+ engines: {node: '>=16'}
+
+ isobject@2.1.0:
+ resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==}
+ engines: {node: '>=0.10.0'}
+
+ isobject@3.0.1:
+ resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
+ engines: {node: '>=0.10.0'}
+
+ isomorphic.js@0.2.5:
+ resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==}
+
+ isstream@0.1.2:
+ resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
+
+ istanbul-lib-coverage@3.2.2:
+ resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
+ engines: {node: '>=8'}
+
+ istanbul-lib-instrument@6.0.3:
+ resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==}
+ engines: {node: '>=10'}
+
+ istanbul-lib-report@3.0.1:
+ resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
+ engines: {node: '>=10'}
+
+ istanbul-lib-source-maps@5.0.6:
+ resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==}
+ engines: {node: '>=10'}
+
+ istanbul-reports@3.1.7:
+ resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
+ engines: {node: '>=8'}
+
+ jackspeak@3.4.3:
+ resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
+
+ jake@10.8.5:
+ resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ jest-changed-files@30.2.0:
+ resolution: {integrity: sha512-L8lR1ChrRnSdfeOvTrwZMlnWV8G/LLjQ0nG9MBclwWZidA2N5FviRki0Bvh20WRMOX31/JYvzdqTJrk5oBdydQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-circus@30.2.0:
+ resolution: {integrity: sha512-Fh0096NC3ZkFx05EP2OXCxJAREVxj1BcW/i6EWqqymcgYKWjyyDpral3fMxVcHXg6oZM7iULer9wGRFvfpl+Tg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-cli@30.2.0:
+ resolution: {integrity: sha512-Os9ukIvADX/A9sLt6Zse3+nmHtHaE6hqOsjQtNiugFTbKRHYIYtZXNGNK9NChseXy7djFPjndX1tL0sCTlfpAA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ jest-config@30.2.0:
+ resolution: {integrity: sha512-g4WkyzFQVWHtu6uqGmQR4CQxz/CH3yDSlhzXMWzNjDx843gYjReZnMRanjRCq5XZFuQrGDxgUaiYWE8BRfVckA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ '@types/node': '*'
+ esbuild-register: '>=3.4.0'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ esbuild-register:
+ optional: true
+ ts-node:
+ optional: true
+
+ jest-diff@27.5.1:
+ resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-diff@29.7.0:
+ resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ jest-diff@30.2.0:
+ resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-docblock@30.2.0:
+ resolution: {integrity: sha512-tR/FFgZKS1CXluOQzZvNH3+0z9jXr3ldGSD8bhyuxvlVUwbeLOGynkunvlTMxchC5urrKndYiwCFC0DLVjpOCA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-each@30.2.0:
+ resolution: {integrity: sha512-lpWlJlM7bCUf1mfmuqTA8+j2lNURW9eNafOy99knBM01i5CQeY5UH1vZjgT9071nDJac1M4XsbyI44oNOdhlDQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-environment-jsdom@30.2.0:
+ resolution: {integrity: sha512-zbBTiqr2Vl78pKp/laGBREYzbZx9ZtqPjOK4++lL4BNDhxRnahg51HtoDrk9/VjIy9IthNEWdKVd7H5bqBhiWQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ peerDependencies:
+ canvas: ^3.0.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+
+ jest-environment-node@30.2.0:
+ resolution: {integrity: sha512-ElU8v92QJ9UrYsKrxDIKCxu6PfNj4Hdcktcn0JX12zqNdqWHB0N+hwOnnBBXvjLd2vApZtuLUGs1QSY+MsXoNA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-get-type@27.5.1:
+ resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-get-type@29.6.3:
+ resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ jest-haste-map@30.2.0:
+ resolution: {integrity: sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-html-reporter@3.10.2:
+ resolution: {integrity: sha512-XRBa5ylHPUQoo8aJXEEdKsTruieTdlPbRktMx9WG9evMTxzJEKGFMaw5x+sQxJuClWdNR72GGwbOaz+6HIlksA==}
+ engines: {node: '>=4.8.3'}
+ peerDependencies:
+ jest: 19.x - 29.x
+ typescript: ^3.7.x || ^4.3.x || ^5.x
+
+ jest-leak-detector@30.2.0:
+ resolution: {integrity: sha512-M6jKAjyzjHG0SrQgwhgZGy9hFazcudwCNovY/9HPIicmNSBuockPSedAP9vlPK6ONFJ1zfyH/M2/YYJxOz5cdQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-matcher-utils@27.5.1:
+ resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-matcher-utils@29.7.0:
+ resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ jest-matcher-utils@30.2.0:
+ resolution: {integrity: sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-message-util@27.5.1:
+ resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-message-util@29.7.0:
+ resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ jest-message-util@30.2.0:
+ resolution: {integrity: sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-mock@30.2.0:
+ resolution: {integrity: sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-pnp-resolver@1.2.3:
+ resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
+ engines: {node: '>=6'}
+ peerDependencies:
+ jest-resolve: '*'
+ peerDependenciesMeta:
+ jest-resolve:
+ optional: true
+
+ jest-raw-loader@1.0.1:
+ resolution: {integrity: sha512-g9oaAjeC4/rIJk1Wd3RxVbOfMizowM7LSjEJqa4R9qDX0OjQNABXOhH+GaznUp+DjTGVPi2vPPbQXyX87DOnYg==}
+
+ jest-regex-util@27.5.1:
+ resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-regex-util@30.0.1:
+ resolution: {integrity: sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-resolve-dependencies@30.2.0:
+ resolution: {integrity: sha512-xTOIGug/0RmIe3mmCqCT95yO0vj6JURrn1TKWlNbhiAefJRWINNPgwVkrVgt/YaerPzY3iItufd80v3lOrFJ2w==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-resolve@30.2.0:
+ resolution: {integrity: sha512-TCrHSxPlx3tBY3hWNtRQKbtgLhsXa1WmbJEqBlTBrGafd5fiQFByy2GNCEoGR+Tns8d15GaL9cxEzKOO3GEb2A==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-runner@30.2.0:
+ resolution: {integrity: sha512-PqvZ2B2XEyPEbclp+gV6KO/F1FIFSbIwewRgmROCMBo/aZ6J1w8Qypoj2pEOcg3G2HzLlaP6VUtvwCI8dM3oqQ==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-runtime@30.2.0:
+ resolution: {integrity: sha512-p1+GVX/PJqTucvsmERPMgCPvQJpFt4hFbM+VN3n8TMo47decMUcJbt+rgzwrEme0MQUA/R+1de2axftTHkKckg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-snapshot@30.2.0:
+ resolution: {integrity: sha512-5WEtTy2jXPFypadKNpbNkZ72puZCa6UjSr/7djeecHWOu7iYhSXSnHScT8wBz3Rn8Ena5d5RYRcsyKIeqG1IyA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-util@29.7.0:
+ resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ jest-util@30.2.0:
+ resolution: {integrity: sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-validate@30.2.0:
+ resolution: {integrity: sha512-FBGWi7dP2hpdi8nBoWxSsLvBFewKAg0+uSQwBaof4Y4DPgBabXgpSYC5/lR7VmnIlSpASmCi/ntRWPbv7089Pw==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-watcher@30.2.0:
+ resolution: {integrity: sha512-PYxa28dxJ9g777pGm/7PrbnMeA0Jr7osHP9bS7eJy9DuAjMgdGtxgf0uKMyoIsTWAkIbUW5hSDdJ3urmgXBqxg==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest-worker@27.5.1:
+ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
+ engines: {node: '>= 10.13.0'}
+
+ jest-worker@29.7.0:
+ resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ jest-worker@30.2.0:
+ resolution: {integrity: sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ jest@30.2.0:
+ resolution: {integrity: sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ jiti@1.21.7:
+ resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
+ hasBin: true
+
+ jiti@2.5.1:
+ resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==}
+ hasBin: true
+
+ jmespath@0.16.0:
+ resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==}
+ engines: {node: '>= 0.6.0'}
+
+ joi@17.13.3:
+ resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==}
+
+ jose@4.15.9:
+ resolution: {integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==}
+
+ jose@5.4.0:
+ resolution: {integrity: sha512-6rpxTHPAQyWMb9A35BroFl1Sp0ST3DpPcm5EVIxZxdH+e0Hv9fwhyB3XLKFUcHNpdSDnETmBfuPPTTlYz5+USw==}
+
+ jpeg-js@0.4.4:
+ resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
+
+ js-base64@2.6.4:
+ resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==}
+
+ js-base64@3.7.8:
+ resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==}
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+
+ js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+
+ jsbarcode@3.11.0:
+ resolution: {integrity: sha512-/ozCd7wsa+VIHo9sUc03HneVEQrH7cVWfJolUT/WOW1m8mJ2e3iYZje6C9X3LFHdczlesqFHRpxLtbVsNtjyow==}
+ hasBin: true
+
+ jsbn@0.1.1:
+ resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
+
+ jsbn@1.1.0:
+ resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
+
+ jsdom@24.1.0:
+ resolution: {integrity: sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ canvas: ^2.11.2
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+
+ jsdom@26.1.0:
+ resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ canvas: ^3.0.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+
+ jsesc@3.0.2:
+ resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ json-bigint@1.0.0:
+ resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==}
+
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ json-parse-better-errors@1.0.2:
+ resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
+
+ json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
+ json-parse-even-better-errors@3.0.2:
+ resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
+ json-schema-typed@8.0.1:
+ resolution: {integrity: sha512-XQmWYj2Sm4kn4WeTYvmpKEbyPsL7nBsb647c7pMe6l02/yx2+Jfc4dT6UZkEXnIUb5LhD55r2HPsJ1milQ4rDg==}
+
+ json-schema@0.4.0:
+ resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
+
+ json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ json-stringify-nice@1.1.4:
+ resolution: {integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==}
+
+ json-stringify-safe@5.0.1:
+ resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
+
+ json5@1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ hasBin: true
+
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ jsonc-parser@3.2.0:
+ resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
+
+ jsonc-parser@3.3.1:
+ resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
+
+ jsonfile@4.0.0:
+ resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+
+ jsonfile@6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+
+ jsonparse@1.3.1:
+ resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
+ engines: {'0': node >= 0.2.0}
+
+ jsonpointer@5.0.1:
+ resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
+ engines: {node: '>=0.10.0'}
+
+ jsonstream2@3.0.0:
+ resolution: {integrity: sha512-8ngq2XB8NjYrpe3+Xtl9lFJl6RoV2dNT4I7iyaHwxUpTBwsj0AlAR7epGfeYVP0z4Z7KxMoSxRgJWrd2jmBT/Q==}
+ engines: {node: '>=5.10.0'}
+ hasBin: true
+
+ jsonwebtoken@9.0.2:
+ resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==}
+ engines: {node: '>=12', npm: '>=6'}
+
+ jsprim@1.4.2:
+ resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
+ engines: {node: '>=0.6.0'}
+
+ jsqr@1.2.0:
+ resolution: {integrity: sha512-wKcQS9QC2VHGk7aphWCp1RrFyC0CM6fMgC5prZZ2KV/Lk6OKNoCod9IR6bao+yx3KPY0gZFC5dc+h+KFzCI0Wg==}
+
+ jsts@2.7.1:
+ resolution: {integrity: sha512-x2wSZHEBK20CY+Wy+BPE7MrFQHW6sIsdaGUMEqmGAio+3gFzQaBYPwLRonUfQf9Ak8pBieqj9tUofX1+WtAEIg==}
+ engines: {node: '>= 12'}
+
+ jszip@3.10.1:
+ resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
+
+ just-diff-apply@5.5.0:
+ resolution: {integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==}
+
+ just-diff@6.0.2:
+ resolution: {integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==}
+
+ jwa@1.4.2:
+ resolution: {integrity: sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==}
+
+ jwa@2.0.1:
+ resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==}
+
+ jws@3.2.2:
+ resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==}
+
+ jws@4.0.0:
+ resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==}
+
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+ kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+
+ kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+
+ labeled-stream-splicer@2.0.2:
+ resolution: {integrity: sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==}
+
+ latest-version@7.0.0:
+ resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==}
+ engines: {node: '>=14.16'}
+
+ launch-editor@2.10.0:
+ resolution: {integrity: sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==}
+
+ lerna@8.0.0:
+ resolution: {integrity: sha512-Ddshct9hJrujtR7t2cAIiiiKnQCKiTvR/Ki3KhzpBNVepYtWq+dg+HxArZrezF+sYxI+OCxL00BxDHY4/H4uGg==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
+
+ leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
+
+ levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+
+ lib0@0.2.107:
+ resolution: {integrity: sha512-2xih/AugT0dJSgeSfsW/bqIPILlsqzEtmw8hXzWEnMLrOz12DTK5z9rjNgUT21/HkBjHSznOQBr67bcZdc8Ltg==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ lib0@0.2.49:
+ resolution: {integrity: sha512-ziwYLe/pmI9bjHsAehm4ApuVfZ+q+sbC+vO6Z5+KM+0Fe0MrTLwZSDkJ+cElnhFNQ0P6z/wVkRmc5+vTmImJ9A==}
+ engines: {node: '>=12'}
+
+ libnpmaccess@7.0.2:
+ resolution: {integrity: sha512-vHBVMw1JFMTgEk15zRsJuSAg7QtGGHpUSEfnbcRL1/gTBag9iEfJbyjpDmdJmwMhvpoLoNBtdAUCdGnaP32hhw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ libnpmpublish@7.3.0:
+ resolution: {integrity: sha512-fHUxw5VJhZCNSls0KLNEG0mCD2PN1i14gH5elGOgiVnU3VgTcRahagYP2LKI1m0tFCJ+XrAm0zVYyF5RCbXzcg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ libsql@0.5.20:
+ resolution: {integrity: sha512-hkWCsiwTbNsrKeWqPh91ZZEcLDo0+WUnFv2QzITD33F7Er9KOlr7N2SGfNjAbnkciN+iPJ7g108Jkno1JFmzTw==}
+ os: [darwin, linux, win32]
+
+ lie@3.3.0:
+ resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
+
+ lilconfig@3.1.3:
+ resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
+ engines: {node: '>=14'}
+
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ lines-and-columns@2.0.4:
+ resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ lint-staged@15.5.0:
+ resolution: {integrity: sha512-WyCzSbfYGhK7cU+UuDDkzUiytbfbi0ZdPy2orwtM75P3WTtQBzmG40cCxIa8Ii2+XjfxzLH6Be46tUfWS85Xfg==}
+ engines: {node: '>=18.12.0'}
+ hasBin: true
+
+ listr2@8.3.3:
+ resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==}
+ engines: {node: '>=18.0.0'}
+
+ livekit-client@2.1.3:
+ resolution: {integrity: sha512-nKWX+2GTGEWbTTu+lV6s2xwUv+6bRVnQXL+DYcQmC2KxEOzanGEODPklR/q1bo2iMhpzWYuoTYw4uY3K2Ws/lA==}
+
+ livekit-server-sdk@2.7.2:
+ resolution: {integrity: sha512-qDNRXeo+WMnY5nKSug7KHJ9er9JIuKi+r7H9ZaSBbmbaOt62i0b4BrHBMFSMr8pAuWzuSxihCFa29q5QvFc5fw==}
+ engines: {node: '>=19'}
+
+ load-json-file@4.0.0:
+ resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==}
+ engines: {node: '>=4'}
+
+ load-json-file@6.2.0:
+ resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==}
+ engines: {node: '>=8'}
+
+ loader-runner@4.3.0:
+ resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
+ engines: {node: '>=6.11.5'}
+
+ loader-utils@1.4.2:
+ resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==}
+ engines: {node: '>=4.0.0'}
+
+ loader-utils@2.0.4:
+ resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
+ engines: {node: '>=8.9.0'}
+
+ loader-utils@3.3.1:
+ resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==}
+ engines: {node: '>= 12.13.0'}
+
+ locate-path@2.0.0:
+ resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==}
+ engines: {node: '>=4'}
+
+ locate-path@3.0.0:
+ resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
+ engines: {node: '>=6'}
+
+ locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+ locate-path@7.2.0:
+ resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ lodash.camelcase@4.3.0:
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+
+ lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+
+ lodash.defaults@4.2.0:
+ resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==}
+
+ lodash.flatten@4.4.0:
+ resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==}
+
+ lodash.get@4.4.2:
+ resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==}
+ deprecated: This package is deprecated. Use the optional chaining (?.) operator instead.
+
+ lodash.includes@4.3.0:
+ resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==}
+
+ lodash.isarguments@3.1.0:
+ resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==}
+
+ lodash.isboolean@3.0.3:
+ resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==}
+
+ lodash.isinteger@4.0.4:
+ resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==}
+
+ lodash.ismatch@4.4.0:
+ resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==}
+
+ lodash.isnumber@3.0.3:
+ resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==}
+
+ lodash.isplainobject@4.0.6:
+ resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
+
+ lodash.isstring@4.0.1:
+ resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==}
+
+ lodash.memoize@3.0.4:
+ resolution: {integrity: sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==}
+
+ lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ lodash.once@4.1.1:
+ resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==}
+
+ lodash.set@4.3.2:
+ resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==}
+
+ lodash.sortby@4.7.0:
+ resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
+
+ lodash.throttle@4.1.1:
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
+
+ lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+
+ lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ log-symbols@2.2.0:
+ resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==}
+ engines: {node: '>=4'}
+
+ log-symbols@4.1.0:
+ resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
+ engines: {node: '>=10'}
+
+ log-update@6.1.0:
+ resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
+ engines: {node: '>=18'}
+
+ loglevel@1.9.2:
+ resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==}
+ engines: {node: '>= 0.6.0'}
+
+ long@2.4.0:
+ resolution: {integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==}
+ engines: {node: '>=0.6'}
+
+ long@4.0.0:
+ resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==}
+
+ long@5.3.2:
+ resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==}
+
+ longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+
+ loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+
+ loupe@2.3.7:
+ resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
+
+ lower-case@1.1.4:
+ resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==}
+
+ lower-case@2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+
+ lowercase-keys@2.0.0:
+ resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
+ engines: {node: '>=8'}
+
+ lowercase-keys@3.0.0:
+ resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ lru-cache@4.1.5:
+ resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
+
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+ lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+
+ lru-cache@7.18.3:
+ resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
+ engines: {node: '>=12'}
+
+ lunr@2.3.9:
+ resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==}
+
+ luxon@3.4.4:
+ resolution: {integrity: sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==}
+ engines: {node: '>=12'}
+
+ macos-release@2.5.1:
+ resolution: {integrity: sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==}
+ engines: {node: '>=6'}
+
+ magic-string@0.23.2:
+ resolution: {integrity: sha512-oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==}
+
+ magic-string@0.25.9:
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+
+ magic-string@0.30.17:
+ resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
+
+ make-dir@2.1.0:
+ resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
+ engines: {node: '>=6'}
+
+ make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+
+ make-dir@4.0.0:
+ resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
+ engines: {node: '>=10'}
+
+ make-error@1.3.6:
+ resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+
+ make-fetch-happen@10.2.1:
+ resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+
+ make-fetch-happen@11.1.1:
+ resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ make-fetch-happen@13.0.1:
+ resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ makeerror@1.0.12:
+ resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
+
+ map-obj@1.0.1:
+ resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
+ engines: {node: '>=0.10.0'}
+
+ map-obj@4.3.0:
+ resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
+ engines: {node: '>=8'}
+
+ map-obj@5.0.0:
+ resolution: {integrity: sha512-2L3MIgJynYrZ3TYMriLDLWocz15okFakV6J12HXvMXDHui2x/zgChzg1u9mFFGbbGWE+GsLpQByt4POb9Or+uA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ map-stream@0.0.7:
+ resolution: {integrity: sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==}
+
+ marchingsquares@1.3.3:
+ resolution: {integrity: sha512-gz6nNQoVK7Lkh2pZulrT4qd4347S/toG9RXH2pyzhLgkL5mLkBoqgv4EvAGXcV0ikDW72n/OQb3Xe8bGagQZCg==}
+
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
+
+ markdown-table@3.0.4:
+ resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+
+ marked@4.3.0:
+ resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==}
+ engines: {node: '>= 12'}
+ hasBin: true
+
+ matcher@4.0.0:
+ resolution: {integrity: sha512-S6x5wmcDmsDRRU/c2dkccDwQPXoFczc5+HpQ2lON8pnvHlnvHAHj5WlLVvw6n6vNyHuVugYrFohYxbS+pvFpKQ==}
+ engines: {node: '>=10'}
+
+ material-colors@1.2.6:
+ resolution: {integrity: sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==}
+
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
+
+ md5.js@1.3.5:
+ resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==}
+
+ mdast-util-directive@3.1.0:
+ resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==}
+
+ mdast-util-find-and-replace@3.0.2:
+ resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
+
+ mdast-util-from-markdown@2.0.2:
+ resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
+
+ mdast-util-frontmatter@2.0.1:
+ resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
+
+ mdast-util-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
+
+ mdast-util-gfm-table@2.0.0:
+ resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
+
+ mdast-util-gfm@3.1.0:
+ resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
+
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
+
+ mdast-util-mdx-jsx@3.2.0:
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
+
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+
+ mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+
+ mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
+
+ mdast-util-to-hast@13.2.0:
+ resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
+
+ mdast-util-to-markdown@2.1.2:
+ resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
+
+ mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+
+ mdast-util-toc@7.1.0:
+ resolution: {integrity: sha512-2TVKotOQzqdY7THOdn2gGzS9d1Sdd66bvxUyw3aNpWfcPXCLYSJCCgfPy30sEtuzkDraJgqF35dzgmz6xlvH/w==}
+
+ mdn-data@2.0.14:
+ resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
+
+ mdn-data@2.0.28:
+ resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
+
+ mdn-data@2.0.30:
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+
+ media-typer@0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+ engines: {node: '>= 0.6'}
+
+ media-typer@1.1.0:
+ resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==}
+ engines: {node: '>= 0.8'}
+
+ memfs@3.5.3:
+ resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
+ engines: {node: '>= 4.0.0'}
+
+ memory-pager@1.5.0:
+ resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==}
+
+ meow@8.1.2:
+ resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
+ engines: {node: '>=10'}
+
+ merge-descriptors@1.0.3:
+ resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
+
+ merge-descriptors@2.0.0:
+ resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==}
+ engines: {node: '>=18'}
+
+ merge-options@1.0.1:
+ resolution: {integrity: sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==}
+ engines: {node: '>=4'}
+
+ merge-source-map@1.0.4:
+ resolution: {integrity: sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==}
+
+ merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ methods@1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+ engines: {node: '>= 0.6'}
+
+ micromark-core-commonmark@2.0.3:
+ resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
+
+ micromark-extension-directive@3.0.2:
+ resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==}
+
+ micromark-extension-frontmatter@2.0.0:
+ resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
+
+ micromark-extension-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
+
+ micromark-extension-gfm-table@2.1.1:
+ resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
+
+ micromark-extension-gfm@3.0.0:
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+
+ micromark-extension-mdx-expression@3.0.1:
+ resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==}
+
+ micromark-extension-mdx-jsx@3.0.2:
+ resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==}
+
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
+
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+
+ micromark-factory-destination@2.0.1:
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
+
+ micromark-factory-label@2.0.1:
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
+
+ micromark-factory-mdx-expression@2.0.3:
+ resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==}
+
+ micromark-factory-space@1.1.0:
+ resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==}
+
+ micromark-factory-space@2.0.1:
+ resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
+
+ micromark-factory-title@2.0.1:
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
+
+ micromark-factory-whitespace@2.0.1:
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
+
+ micromark-util-character@1.2.0:
+ resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==}
+
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
+
+ micromark-util-classify-character@2.0.1:
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
+
+ micromark-util-combine-extensions@2.0.1:
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
+
+ micromark-util-decode-string@2.0.1:
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
+
+ micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+
+ micromark-util-events-to-acorn@2.0.3:
+ resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==}
+
+ micromark-util-html-tag-name@2.0.1:
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
+
+ micromark-util-normalize-identifier@2.0.1:
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
+
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
+
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+
+ micromark-util-subtokenize@2.1.0:
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
+
+ micromark-util-symbol@1.1.0:
+ resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==}
+
+ micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
+
+ micromark-util-types@1.1.0:
+ resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==}
+
+ micromark-util-types@2.0.2:
+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
+
+ micromark@4.0.2:
+ resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
+
+ micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+
+ miller-rabin@4.0.1:
+ resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==}
+ hasBin: true
+
+ mime-db@1.33.0:
+ resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==}
+ engines: {node: '>= 0.6'}
+
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-db@1.54.0:
+ resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.18:
+ resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@3.0.1:
+ resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==}
+ engines: {node: '>= 0.6'}
+
+ mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ mime@2.4.6:
+ resolution: {integrity: sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==}
+ engines: {node: '>=4.0.0'}
+ hasBin: true
+
+ mimic-fn@1.2.0:
+ resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
+ engines: {node: '>=4'}
+
+ mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+
+ mimic-function@5.0.1:
+ resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
+ engines: {node: '>=18'}
+
+ mimic-response@1.0.1:
+ resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
+ engines: {node: '>=4'}
+
+ mimic-response@3.1.0:
+ resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
+ engines: {node: '>=10'}
+
+ mimic-response@4.0.0:
+ resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ min-indent@1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+
+ mini-css-extract-plugin@2.9.2:
+ resolution: {integrity: sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+
+ minimalistic-assert@1.0.1:
+ resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+
+ minimalistic-crypto-utils@1.0.1:
+ resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==}
+
+ minimatch@3.0.5:
+ resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==}
+
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+ minimatch@5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+
+ minimatch@7.4.6:
+ resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
+ engines: {node: '>=10'}
+
+ minimatch@8.0.4:
+ resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimatch@9.0.3:
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimist-options@4.1.0:
+ resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
+ engines: {node: '>= 6'}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ minio@8.0.1:
+ resolution: {integrity: sha512-FzDO6yGnqLtm8sp3mXafWtiRUOslJSSg/aI0v9YbN5vjw5KLoODKAROCyi766NIvTSxcfHBrbhCSGk1A+MOzDg==}
+ engines: {node: ^16 || ^18 || >=20}
+
+ minipass-collect@1.0.2:
+ resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==}
+ engines: {node: '>= 8'}
+
+ minipass-collect@2.0.1:
+ resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minipass-fetch@2.1.2:
+ resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+
+ minipass-fetch@3.0.5:
+ resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ minipass-flush@1.0.5:
+ resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==}
+ engines: {node: '>= 8'}
+
+ minipass-json-stream@1.0.2:
+ resolution: {integrity: sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg==}
+
+ minipass-pipeline@1.2.4:
+ resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==}
+ engines: {node: '>=8'}
+
+ minipass-sized@1.0.3:
+ resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==}
+ engines: {node: '>=8'}
+
+ minipass@2.9.0:
+ resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==}
+
+ minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
+
+ minipass@4.2.8:
+ resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==}
+ engines: {node: '>=8'}
+
+ minipass@5.0.0:
+ resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
+ engines: {node: '>=8'}
+
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minizlib@1.3.3:
+ resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==}
+
+ minizlib@2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
+
+ mkdirp-classic@0.5.3:
+ resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
+
+ mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+
+ mkdirp@1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ mkdirp@2.1.6:
+ resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ mnemonist@0.38.3:
+ resolution: {integrity: sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==}
+
+ mock-fs@5.2.0:
+ resolution: {integrity: sha512-2dF2R6YMSZbpip1V1WHKGLNjr/k48uQClqMVb5H3MOvwc9qhYis3/IWbj02qIg/Y8MDXKFF4c5v0rxx2o6xTZw==}
+ engines: {node: '>=12.0.0'}
+
+ modify-values@1.0.1:
+ resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==}
+ engines: {node: '>=0.10.0'}
+
+ module-deps@6.2.3:
+ resolution: {integrity: sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==}
+ engines: {node: '>= 0.8.0'}
+ hasBin: true
+
+ module-details-from-path@1.0.4:
+ resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==}
+
+ mongodb@3.6.2:
+ resolution: {integrity: sha512-sSZOb04w3HcnrrXC82NEh/YGCmBuRgR+C1hZgmmv4L6dBz4BkRse6Y8/q/neXer9i95fKUBbFi4KgeceXmbsOA==}
+ engines: {node: '>=4'}
+
+ morphdom@2.7.5:
+ resolution: {integrity: sha512-z6bfWFMra7kBqDjQGHud1LSXtq5JJC060viEkQFMBX6baIecpkNr2Ywrn2OQfWP3rXiNFQRPoFjD8/TvJcWcDg==}
+
+ mri@1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+
+ mrmime@2.0.1:
+ resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
+ engines: {node: '>=10'}
+
+ ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ msgpackr-extract@3.0.3:
+ resolution: {integrity: sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==}
+ hasBin: true
+
+ msgpackr@1.11.5:
+ resolution: {integrity: sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==}
+
+ multicast-dns@7.2.5:
+ resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
+ hasBin: true
+
+ multimatch@5.0.0:
+ resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==}
+ engines: {node: '>=10'}
+
+ mustache@4.2.0:
+ resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
+ hasBin: true
+
+ mute-stream@0.0.8:
+ resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
+
+ mute-stream@1.0.0:
+ resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ mutexify@1.4.0:
+ resolution: {integrity: sha512-pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==}
+
+ nanoassert@1.1.0:
+ resolution: {integrity: sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ==}
+
+ nanobench@2.1.1:
+ resolution: {integrity: sha512-z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==}
+ hasBin: true
+
+ nanohtml@1.10.0:
+ resolution: {integrity: sha512-r/3AQl+jxAxUIJRiKExUjBtFcE1cm4yTOsTIdVqqlxPNtBxJh522ANrcQYzdNHhPzbPgb7j6qujq6eGehBX0kg==}
+
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ napi-postinstall@0.3.4:
+ resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ hasBin: true
+
+ natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ ndarray-linear-interpolate@1.0.0:
+ resolution: {integrity: sha512-UN0f4+6XWsQzJ2pP5gVp+kKn5tJed6mA3K/L50uO619+7LKrjcSNdcerhpqxYaSkbxNJuEN76N05yBBJySnZDw==}
+
+ ndarray-pack@1.2.1:
+ resolution: {integrity: sha512-51cECUJMT0rUZNQa09EoKsnFeDL4x2dHRT0VR5U2H5ZgEcm95ZDWcMA5JShroXjHOejmAD/fg8+H+OvUnVXz2g==}
+
+ ndarray@1.0.19:
+ resolution: {integrity: sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==}
+
+ negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+
+ negotiator@0.6.4:
+ resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==}
+ engines: {node: '>= 0.6'}
+
+ negotiator@1.0.0:
+ resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}
+ engines: {node: '>= 0.6'}
+
+ neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+
+ nice-try@1.0.5:
+ resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
+
+ no-case@2.3.2:
+ resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==}
+
+ no-case@3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+
+ node-abort-controller@3.1.1:
+ resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==}
+
+ node-bitmap@0.0.1:
+ resolution: {integrity: sha512-Jx5lPaaLdIaOsj2mVLWMWulXF6GQVdyLvNSxmiYCvZ8Ma2hfKX0POoR2kgKOqz+oFsRreq0yYZjQ2wjE9VNzCA==}
+ engines: {node: '>=v0.6.5'}
+
+ node-domexception@1.0.0:
+ resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
+ engines: {node: '>=10.5.0'}
+ deprecated: Use your platform's native DOMException instead
+
+ node-emoji@2.2.0:
+ resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==}
+ engines: {node: '>=18'}
+
+ node-fetch-native@1.6.7:
+ resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
+
+ node-fetch@2.6.13:
+ resolution: {integrity: sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
+ node-fetch@2.6.7:
+ resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
+ node-fetch@3.3.2:
+ resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ node-forge@1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+
+ node-gyp-build-optional-packages@5.2.2:
+ resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==}
+ hasBin: true
+
+ node-gyp@10.3.1:
+ resolution: {integrity: sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+ hasBin: true
+
+ node-gyp@9.4.1:
+ resolution: {integrity: sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==}
+ engines: {node: ^12.13 || ^14.13 || >=16}
+ hasBin: true
+
+ node-int64@0.4.0:
+ resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
+
+ node-machine-id@1.1.12:
+ resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==}
+
+ node-releases@2.0.19:
+ resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
+
+ nodemon@2.0.22:
+ resolution: {integrity: sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==}
+ engines: {node: '>=8.10.0'}
+ hasBin: true
+
+ nopt@6.0.0:
+ resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ hasBin: true
+
+ nopt@7.2.1:
+ resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+
+ normalize-html-whitespace@0.2.0:
+ resolution: {integrity: sha512-5CZAEQ4bQi8Msqw0GAT6rrkrjNN4ZKqAG3+jJMwms4O6XoMvh6ekwOueG4mRS1LbPUR1r9EdnhxxfpzMTOdzKw==}
+ engines: {node: '>= 0.10'}
+
+ normalize-package-data@2.5.0:
+ resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+
+ normalize-package-data@3.0.3:
+ resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
+ engines: {node: '>=10'}
+
+ normalize-package-data@5.0.0:
+ resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ normalize-package-data@6.0.2:
+ resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-url@6.1.0:
+ resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
+ engines: {node: '>=10'}
+
+ normalize-url@8.0.1:
+ resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==}
+ engines: {node: '>=14.16'}
+
+ npm-bundled@1.1.2:
+ resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==}
+
+ npm-bundled@3.0.1:
+ resolution: {integrity: sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ npm-install-checks@6.3.0:
+ resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ npm-normalize-package-bin@1.0.1:
+ resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==}
+
+ npm-normalize-package-bin@3.0.1:
+ resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ npm-package-arg@10.1.0:
+ resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ npm-package-arg@11.0.3:
+ resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ npm-package-arg@8.1.1:
+ resolution: {integrity: sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==}
+ engines: {node: '>=10'}
+
+ npm-packlist@5.1.1:
+ resolution: {integrity: sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ hasBin: true
+
+ npm-packlist@7.0.4:
+ resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ npm-packlist@8.0.2:
+ resolution: {integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ npm-pick-manifest@8.0.2:
+ resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ npm-pick-manifest@9.1.0:
+ resolution: {integrity: sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ npm-registry-fetch@14.0.5:
+ resolution: {integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ npm-registry-fetch@17.1.0:
+ resolution: {integrity: sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ npm-run-path@2.0.2:
+ resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
+ engines: {node: '>=4'}
+
+ npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+
+ npm-run-path@5.3.0:
+ resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ npmlog@6.0.2:
+ resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ deprecated: This package is no longer supported.
+
+ nprogress@0.2.0:
+ resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==}
+
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+
+ number-is-nan@1.0.1:
+ resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==}
+ engines: {node: '>=0.10.0'}
+
+ nwsapi@2.2.20:
+ resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==}
+
+ nx@17.3.2:
+ resolution: {integrity: sha512-QjF1gnwKebQISvATrSbW7dsmIcLbA0fcyDyxLo5wVHx/MIlcaIb/lLYaPTld73ZZ6svHEZ6n2gOkhMitmkIPQA==}
+ hasBin: true
+ peerDependencies:
+ '@swc-node/register': ^1.6.7
+ '@swc/core': ^1.3.85
+ peerDependenciesMeta:
+ '@swc-node/register':
+ optional: true
+ '@swc/core':
+ optional: true
+
+ nypm@0.6.1:
+ resolution: {integrity: sha512-hlacBiRiv1k9hZFiphPUkfSQ/ZfQzZDzC+8z0wL3lvDAOUu/2NnChkKuMoMjNur/9OpKuz2QsIeiPVN0xM5Q0w==}
+ engines: {node: ^14.16.0 || >=16.10.0}
+ hasBin: true
+
+ oauth-sign@0.9.0:
+ resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==}
+
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ object-hash@2.2.0:
+ resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==}
+ engines: {node: '>= 6'}
+
+ object-inspect@1.13.4:
+ resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
+ engines: {node: '>= 0.4'}
+
+ object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+
+ object.assign@4.1.7:
+ resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
+ engines: {node: '>= 0.4'}
+
+ obliterator@1.6.1:
+ resolution: {integrity: sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==}
+
+ obuf@1.1.2:
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
+
+ octokit-pagination-methods@1.1.0:
+ resolution: {integrity: sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==}
+
+ octokit@4.1.3:
+ resolution: {integrity: sha512-PP+EL8h4xPCE9NBo6jXq6I2/EiTXsn1cg9F0IZehHBv/qhuQpyGMFElEB17miWKciuT6vRHiFFiG9+FoXOmg6A==}
+ engines: {node: '>= 18'}
+
+ ohash@2.0.11:
+ resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
+
+ oidc-token-hash@5.1.0:
+ resolution: {integrity: sha512-y0W+X7Ppo7oZX6eovsRkuzcSM40Bicg2JEJkDJ4irIt1wsYAP5MLSNv+QAogO8xivMffw/9OvV3um1pxXgt1uA==}
+ engines: {node: ^10.13.0 || >=12.0.0}
+
+ omggif@1.0.10:
+ resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
+
+ on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+
+ on-headers@1.0.2:
+ resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
+ engines: {node: '>= 0.8'}
+
+ on-net-listen@1.1.2:
+ resolution: {integrity: sha512-y1HRYy8s/RlcBvDUwKXSmkODMdx4KSuIvloCnQYJ2LdBBC1asY4HtfhXwe3UWknLakATZDnbzht2Ijw3M1EqFg==}
+ engines: {node: '>=9.4.0 || ^8.9.4'}
+
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+ onetime@2.0.1:
+ resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==}
+ engines: {node: '>=4'}
+
+ onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+
+ onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+
+ onetime@7.0.0:
+ resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
+ engines: {node: '>=18'}
+
+ open@10.1.0:
+ resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==}
+ engines: {node: '>=18'}
+
+ open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+
+ openai@4.89.0:
+ resolution: {integrity: sha512-XNI0q2l8/Os6jmojxaID5EhyQjxZgzR2gWcpEjYWK5hGKwE7AcifxEY7UNwFDDHJQXqeiosQ0CJwQN+rvnwdjA==}
+ hasBin: true
+ peerDependencies:
+ ws: ^8.18.0
+ zod: ^3.23.8
+ peerDependenciesMeta:
+ ws:
+ optional: true
+ zod:
+ optional: true
+
+ opencollective-postinstall@2.0.3:
+ resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==}
+ hasBin: true
+
+ opener@1.5.2:
+ resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
+ hasBin: true
+
+ openid-client@5.6.1:
+ resolution: {integrity: sha512-PtrWsY+dXg6y8mtMPyL/namZSYVz8pjXz3yJiBNZsEdCnu9miHLB4ELVC85WvneMKo2Rg62Ay7NkuCpM0bgiLQ==}
+
+ opn@5.5.0:
+ resolution: {integrity: sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==}
+ engines: {node: '>=4'}
+
+ optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
+ engines: {node: '>= 0.8.0'}
+
+ ora@1.4.0:
+ resolution: {integrity: sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==}
+ engines: {node: '>=4'}
+
+ ora@5.3.0:
+ resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==}
+ engines: {node: '>=10'}
+
+ ora@5.4.1:
+ resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
+ engines: {node: '>=10'}
+
+ os-browserify@0.3.0:
+ resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==}
+
+ os-name@3.1.0:
+ resolution: {integrity: sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==}
+ engines: {node: '>=6'}
+
+ os-tmpdir@1.0.2:
+ resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
+ engines: {node: '>=0.10.0'}
+
+ own-keys@1.0.1:
+ resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
+ engines: {node: '>= 0.4'}
+
+ p-cancelable@2.1.1:
+ resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==}
+ engines: {node: '>=8'}
+
+ p-cancelable@3.0.0:
+ resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
+ engines: {node: '>=12.20'}
+
+ p-finally@1.0.0:
+ resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
+ engines: {node: '>=4'}
+
+ p-limit@1.3.0:
+ resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==}
+ engines: {node: '>=4'}
+
+ p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-limit@4.0.0:
+ resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ p-locate@2.0.0:
+ resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==}
+ engines: {node: '>=4'}
+
+ p-locate@3.0.0:
+ resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
+ engines: {node: '>=6'}
+
+ p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ p-locate@6.0.0:
+ resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ p-map-series@2.1.0:
+ resolution: {integrity: sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==}
+ engines: {node: '>=8'}
+
+ p-map@2.1.0:
+ resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
+ engines: {node: '>=6'}
+
+ p-map@4.0.0:
+ resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
+ engines: {node: '>=10'}
+
+ p-map@5.5.0:
+ resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==}
+ engines: {node: '>=12'}
+
+ p-pipe@3.1.0:
+ resolution: {integrity: sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==}
+ engines: {node: '>=8'}
+
+ p-queue@6.6.2:
+ resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==}
+ engines: {node: '>=8'}
+
+ p-reduce@2.1.0:
+ resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==}
+ engines: {node: '>=8'}
+
+ p-retry@4.6.2:
+ resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
+ engines: {node: '>=8'}
+
+ p-timeout@3.2.0:
+ resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==}
+ engines: {node: '>=8'}
+
+ p-try@1.0.0:
+ resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==}
+ engines: {node: '>=4'}
+
+ p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+ p-waterfall@2.1.1:
+ resolution: {integrity: sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==}
+ engines: {node: '>=8'}
+
+ package-json-from-dist@1.0.1:
+ resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
+ package-json@8.1.1:
+ resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==}
+ engines: {node: '>=14.16'}
+
+ pacote@15.2.0:
+ resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+
+ pacote@18.0.6:
+ resolution: {integrity: sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+ hasBin: true
+
+ pako@1.0.11:
+ resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
+
+ param-case@3.0.4:
+ resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ parents@1.0.1:
+ resolution: {integrity: sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==}
+
+ parse-asn1@5.1.7:
+ resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==}
+ engines: {node: '>= 0.10'}
+
+ parse-conflict-json@3.0.1:
+ resolution: {integrity: sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ parse-data-uri@0.2.0:
+ resolution: {integrity: sha512-uOtts8NqDcaCt1rIsO3VFDRsAfgE4c6osG4d9z3l4dCBlxYFzni6Di/oNU270SDrjkfZuUvLZx1rxMyqh46Y9w==}
+
+ parse-entities@4.0.2:
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
+
+ parse-json@4.0.0:
+ resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==}
+ engines: {node: '>=4'}
+
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+
+ parse-numeric-range@1.3.0:
+ resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==}
+
+ parse-path@7.1.0:
+ resolution: {integrity: sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==}
+
+ parse-url@8.1.0:
+ resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==}
+
+ parse5-htmlparser2-tree-adapter@7.1.0:
+ resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==}
+
+ parse5@6.0.1:
+ resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
+
+ parse5@7.3.0:
+ resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
+
+ parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+
+ pascal-case@3.1.2:
+ resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
+
+ path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+
+ path-exists@3.0.0:
+ resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
+ engines: {node: '>=4'}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-exists@5.0.0:
+ resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ path-is-inside@1.0.2:
+ resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==}
+
+ path-key@2.0.1:
+ resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
+ engines: {node: '>=4'}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ path-platform@0.11.15:
+ resolution: {integrity: sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==}
+ engines: {node: '>= 0.8.0'}
+
+ path-scurry@1.11.1:
+ resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
+ engines: {node: '>=16 || 14 >=14.18'}
+
+ path-to-regexp@0.1.12:
+ resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
+
+ path-to-regexp@1.9.0:
+ resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==}
+
+ path-to-regexp@3.3.0:
+ resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==}
+
+ path-to-regexp@8.2.0:
+ resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==}
+ engines: {node: '>=16'}
+
+ path-type@3.0.0:
+ resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==}
+ engines: {node: '>=4'}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ pathe@0.2.0:
+ resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==}
+
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
+ pathval@1.1.1:
+ resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
+
+ pause-stream@0.0.11:
+ resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
+
+ pbkdf2@3.1.2:
+ resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==}
+ engines: {node: '>=0.12'}
+
+ perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+
+ performance-now@2.1.0:
+ resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
+
+ periscopic@3.1.0:
+ resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
+
+ pg-int8@1.0.1:
+ resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
+ engines: {node: '>=4.0.0'}
+
+ pg-protocol@1.9.5:
+ resolution: {integrity: sha512-DYTWtWpfd5FOro3UnAfwvhD8jh59r2ig8bPtc9H8Ds7MscE/9NYruUQWFAOuraRl29jwcT2kyMFQ3MxeaVjUhg==}
+
+ pg-types@2.2.0:
+ resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
+ engines: {node: '>=4'}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ picomatch@3.0.1:
+ resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==}
+ engines: {node: '>=10'}
+
+ picomatch@4.0.2:
+ resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
+ engines: {node: '>=12'}
+
+ pidtree@0.6.0:
+ resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+
+ pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+
+ pify@3.0.0:
+ resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
+ engines: {node: '>=4'}
+
+ pify@4.0.1:
+ resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
+ engines: {node: '>=6'}
+
+ pify@5.0.0:
+ resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==}
+ engines: {node: '>=10'}
+
+ pin-github-action@1.9.1:
+ resolution: {integrity: sha512-ZwICGpJjnQKctwK+Wvq+hYT49PT2M9Psd9P+D4x9dBHuOAPP3AeNk68mvhkLtXhyahH4kjQkUMDohQ86NEvVnA==}
+ hasBin: true
+
+ pirates@4.0.7:
+ resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
+ engines: {node: '>= 6'}
+
+ pkce-challenge@5.0.0:
+ resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==}
+ engines: {node: '>=16.20.0'}
+
+ pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+
+ pkg-dir@7.0.0:
+ resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==}
+ engines: {node: '>=14.16'}
+
+ pkg-types@2.2.0:
+ resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==}
+
+ pkg-up@3.1.0:
+ resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
+ engines: {node: '>=8'}
+
+ platform@1.3.5:
+ resolution: {integrity: sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==}
+
+ playwright-core@1.52.0:
+ resolution: {integrity: sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ playwright@1.52.0:
+ resolution: {integrity: sha512-JAwMNMBlxJ2oD1kce4KPtMkDeKGHQstdpFPcPH3maElAXon/QZeTvtsfXmTMRyO9TslfoYOXkSsvao2nE1ilTw==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ pngjs@3.4.0:
+ resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
+ engines: {node: '>=4.0.0'}
+
+ pngjs@5.0.0:
+ resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
+ engines: {node: '>=10.13.0'}
+
+ point-in-polygon-hao@1.2.4:
+ resolution: {integrity: sha512-x2pcvXeqhRHlNRdhLs/tgFapAbSSe86wa/eqmj1G6pWftbEs5aVRJhRGM6FYSUERKu0PjekJzMq0gsI2XyiclQ==}
+
+ point-in-polygon@1.1.0:
+ resolution: {integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==}
+
+ polyclip-ts@0.16.8:
+ resolution: {integrity: sha512-JPtKbDRuPEuAjuTdhR62Gph7Is2BS1Szx69CFOO3g71lpJDFo78k4tFyi+qFOMVPePEzdSKkpGU3NBXPHHjvKQ==}
+
+ portfinder@1.0.37:
+ resolution: {integrity: sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==}
+ engines: {node: '>= 10.12'}
+
+ possible-typed-array-names@1.1.0:
+ resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
+ engines: {node: '>= 0.4'}
+
+ postcss-calc@9.0.1:
+ resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.2
+
+ postcss-colormin@6.1.0:
+ resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-convert-values@6.1.0:
+ resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-discard-comments@6.0.2:
+ resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-discard-duplicates@6.0.3:
+ resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-discard-empty@6.0.3:
+ resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-discard-overridden@6.0.2:
+ resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-discard-unused@6.0.5:
+ resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-loader@7.3.4:
+ resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ postcss: ^7.0.0 || ^8.0.1
+ webpack: ^5.0.0
+
+ postcss-merge-idents@6.0.3:
+ resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-merge-longhand@6.0.5:
+ resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-merge-rules@6.1.1:
+ resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-minify-font-values@6.1.0:
+ resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-minify-gradients@6.0.3:
+ resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-minify-params@6.1.0:
+ resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-minify-selectors@6.0.4:
+ resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-modules-extract-imports@3.1.0:
+ resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-local-by-default@4.2.0:
+ resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-scope@3.2.1:
+ resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-values@4.0.0:
+ resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-normalize-charset@6.0.2:
+ resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-display-values@6.0.2:
+ resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-positions@6.0.2:
+ resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-repeat-style@6.0.2:
+ resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-string@6.0.2:
+ resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-timing-functions@6.0.2:
+ resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-unicode@6.1.0:
+ resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-url@6.0.2:
+ resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-normalize-whitespace@6.0.2:
+ resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-ordered-values@6.0.2:
+ resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-prefix-selector@1.16.1:
+ resolution: {integrity: sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==}
+ peerDependencies:
+ postcss: '>4 <9'
+
+ postcss-reduce-idents@6.0.3:
+ resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-reduce-initial@6.1.0:
+ resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-reduce-transforms@6.0.2:
+ resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-selector-parser@6.1.2:
+ resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
+ engines: {node: '>=4'}
+
+ postcss-selector-parser@7.1.0:
+ resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
+ engines: {node: '>=4'}
+
+ postcss-sort-media-queries@5.2.0:
+ resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.4.23
+
+ postcss-svgo@6.0.3:
+ resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==}
+ engines: {node: ^14 || ^16 || >= 18}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-unique-selectors@6.0.4:
+ resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ postcss-zindex@6.0.2:
+ resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ postcss@5.2.18:
+ resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==}
+ engines: {node: '>=0.12'}
+
+ postcss@8.5.3:
+ resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ postgres-array@2.0.0:
+ resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
+ engines: {node: '>=4'}
+
+ postgres-bytea@1.0.0:
+ resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==}
+ engines: {node: '>=0.10.0'}
+
+ postgres-date@1.0.7:
+ resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==}
+ engines: {node: '>=0.10.0'}
+
+ postgres-interval@1.2.0:
+ resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
+ engines: {node: '>=0.10.0'}
+
+ posthtml-parser@0.2.1:
+ resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==}
+
+ posthtml-rename-id@1.0.12:
+ resolution: {integrity: sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==}
+
+ posthtml-render@1.4.0:
+ resolution: {integrity: sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==}
+ engines: {node: '>=10'}
+
+ posthtml-svg-mode@1.0.3:
+ resolution: {integrity: sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==}
+
+ posthtml@0.9.2:
+ resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==}
+ engines: {node: '>=0.10.0'}
+
+ preact@10.19.6:
+ resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==}
+
+ precise-commits@1.0.2:
+ resolution: {integrity: sha512-PYkoNTFXVvZRzJTDxdgzmPanhSNGj5Wtj2NgSo7IhwNXGcKktX+L4DJhyIrhFSLsWWAvd+cYyyU2eXlaX5QxzA==}
+ hasBin: true
+ peerDependencies:
+ prettier: '>=1.8.0'
+
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ prettier@2.8.8:
+ resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ pretty-bytes@5.6.0:
+ resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
+ engines: {node: '>=6'}
+
+ pretty-bytes@6.1.1:
+ resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
+ engines: {node: ^14.13.1 || >=16.0.0}
+
+ pretty-error@4.0.0:
+ resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
+
+ pretty-format@27.5.1:
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ pretty-format@29.7.0:
+ resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+ pretty-format@30.2.0:
+ resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==}
+ engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
+
+ pretty-hrtime@1.0.3:
+ resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==}
+ engines: {node: '>= 0.8'}
+
+ pretty-quick@3.3.1:
+ resolution: {integrity: sha512-3b36UXfYQ+IXXqex6mCca89jC8u0mYLqFAN5eTQKoXO6oCQYcIVYZEB/5AlBHI7JPYygReM2Vv6Vom/Gln7fBg==}
+ engines: {node: '>=10.13'}
+ hasBin: true
+ peerDependencies:
+ prettier: ^2.0.0
+
+ pretty-time@1.1.0:
+ resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==}
+ engines: {node: '>=4'}
+
+ prism-react-renderer@2.4.1:
+ resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==}
+ peerDependencies:
+ react: '>=16.0.0'
+
+ prisma@6.14.0:
+ resolution: {integrity: sha512-QEuCwxu+Uq9BffFw7in8In+WfbSUN0ewnaSUKloLkbJd42w6EyFckux4M0f7VwwHlM3A8ssaz4OyniCXlsn0WA==}
+ engines: {node: '>=18.18'}
+ hasBin: true
+ peerDependencies:
+ typescript: '>=5.1.0'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ prismjs@1.30.0:
+ resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
+ engines: {node: '>=6'}
+
+ proc-log@3.0.0:
+ resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ proc-log@4.2.0:
+ resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ process-nextick-args@2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+
+ process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+
+ proggy@2.0.0:
+ resolution: {integrity: sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ promise-all-reject-late@1.0.1:
+ resolution: {integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==}
+
+ promise-call-limit@3.0.2:
+ resolution: {integrity: sha512-mRPQO2T1QQVw11E7+UdCJu7S61eJVWknzml9sC1heAdj1jxl0fWMBypIt9ZOcLFf8FkG995ZD7RnVk7HH72fZw==}
+
+ promise-inflight@1.0.1:
+ resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==}
+ peerDependencies:
+ bluebird: '*'
+ peerDependenciesMeta:
+ bluebird:
+ optional: true
+
+ promise-limit@2.7.0:
+ resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==}
+
+ promise-retry@2.0.1:
+ resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==}
+ engines: {node: '>=10'}
+
+ prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+
+ promzard@1.0.2:
+ resolution: {integrity: sha512-2FPputGL+mP3jJ3UZg/Dl9YOkovB7DX0oOr+ck5QbZ5MtORtds8k/BZdn+02peDLI8/YWbmzx34k5fA+fHvCVQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ prop-types@15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+
+ property-information@6.5.0:
+ resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
+
+ property-information@7.0.0:
+ resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==}
+
+ proto-list@1.2.4:
+ resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
+
+ protobufjs@7.4.0:
+ resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==}
+ engines: {node: '>=12.0.0'}
+
+ protocols@2.0.2:
+ resolution: {integrity: sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==}
+
+ proxy-addr@2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
+
+ proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+
+ pseudomap@1.0.2:
+ resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
+
+ psl@1.15.0:
+ resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==}
+
+ pstree.remy@1.1.8:
+ resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==}
+
+ public-encrypt@4.0.3:
+ resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==}
+
+ pump@3.0.2:
+ resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==}
+
+ pumpify@2.0.1:
+ resolution: {integrity: sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==}
+
+ punycode@1.3.2:
+ resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==}
+
+ punycode@1.4.1:
+ resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==}
+
+ punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+
+ pupa@3.1.0:
+ resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==}
+ engines: {node: '>=12.20'}
+
+ pure-rand@5.0.5:
+ resolution: {integrity: sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw==}
+
+ pure-rand@6.1.0:
+ resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==}
+
+ pure-rand@7.0.1:
+ resolution: {integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==}
+
+ pvtsutils@1.3.6:
+ resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==}
+
+ pvutils@1.1.3:
+ resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==}
+ engines: {node: '>=6.0.0'}
+
+ qrcode@1.5.4:
+ resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ qs@6.13.0:
+ resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
+ engines: {node: '>=0.6'}
+
+ qs@6.14.0:
+ resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==}
+ engines: {node: '>=0.6'}
+
+ qs@6.5.3:
+ resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==}
+ engines: {node: '>=0.6'}
+
+ query-string@4.3.4:
+ resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==}
+ engines: {node: '>=0.10.0'}
+
+ query-string@7.1.3:
+ resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
+ engines: {node: '>=6'}
+
+ querystring-es3@0.2.1:
+ resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==}
+ engines: {node: '>=0.4.x'}
+
+ querystring@0.2.0:
+ resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==}
+ engines: {node: '>=0.4.x'}
+ deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
+
+ querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ queue-tick@1.0.1:
+ resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
+
+ queue@6.0.2:
+ resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
+
+ quick-lru@4.0.1:
+ resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
+ engines: {node: '>=8'}
+
+ quick-lru@5.1.1:
+ resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
+ engines: {node: '>=10'}
+
+ quick-lru@6.1.2:
+ resolution: {integrity: sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==}
+ engines: {node: '>=12'}
+
+ quickselect@1.1.1:
+ resolution: {integrity: sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==}
+
+ quickselect@2.0.0:
+ resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==}
+
+ randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+
+ randomfill@1.0.4:
+ resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==}
+
+ range-parser@1.2.0:
+ resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==}
+ engines: {node: '>= 0.6'}
+
+ range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+
+ raw-body@2.5.2:
+ resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
+ engines: {node: '>= 0.8'}
+
+ raw-body@3.0.0:
+ resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==}
+ engines: {node: '>= 0.8'}
+
+ rbush@2.0.2:
+ resolution: {integrity: sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==}
+
+ rbush@3.0.1:
+ resolution: {integrity: sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==}
+
+ rc-align@4.0.15:
+ resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==}
+ peerDependencies:
+ react: '>=16.9.0'
+ react-dom: '>=16.9.0'
+
+ rc-motion@2.9.5:
+ resolution: {integrity: sha512-w+XTUrfh7ArbYEd2582uDrEhmBHwK1ZENJiSJVb7uRxdE7qJSYjbO2eksRXmndqyKqKoYPc9ClpPh5242mV1vA==}
+ peerDependencies:
+ react: '>=16.9.0'
+ react-dom: '>=16.9.0'
+
+ rc-tooltip@5.2.2:
+ resolution: {integrity: sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==}
+ peerDependencies:
+ react: '>=16.9.0'
+ react-dom: '>=16.9.0'
+
+ rc-trigger@5.3.4:
+ resolution: {integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==}
+ engines: {node: '>=8.x'}
+ peerDependencies:
+ react: '>=16.9.0'
+ react-dom: '>=16.9.0'
+
+ rc-util@5.44.4:
+ resolution: {integrity: sha512-resueRJzmHG9Q6rI/DfK6Kdv9/Lfls05vzMs1Sk3M2P+3cJa+MakaZyWY8IPfehVuhPJFKrIY1IK4GqbiaiY5w==}
+ peerDependencies:
+ react: '>=16.9.0'
+ react-dom: '>=16.9.0'
+
+ rc9@2.1.2:
+ resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
+
+ rc@1.2.8:
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
+ hasBin: true
+
+ react-dev-utils@12.0.1:
+ resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=2.7'
+ webpack: '>=4'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ react-dom@18.3.1:
+ resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
+ peerDependencies:
+ react: ^18.3.1
+
+ react-error-overlay@6.1.0:
+ resolution: {integrity: sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==}
+
+ react-fast-compare@3.2.2:
+ resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
+
+ react-helmet-async@1.3.0:
+ resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==}
+ peerDependencies:
+ react: ^16.6.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0
+
+ react-helmet-async@2.0.5:
+ resolution: {integrity: sha512-rYUYHeus+i27MvFE+Jaa4WsyBKGkL6qVgbJvSBoX8mbsWoABJXdEO0bZyi0F6i+4f0NuIb8AvqPMj3iXFHkMwg==}
+ peerDependencies:
+ react: ^16.6.0 || ^17.0.0 || ^18.0.0
+
+ react-hotkeys-hook@3.4.7:
+ resolution: {integrity: sha512-+bbPmhPAl6ns9VkXkNNyxlmCAIyDAcWbB76O4I0ntr3uWCRuIQf/aRLartUahe9chVMPj+OEzzfk3CQSjclUEQ==}
+ peerDependencies:
+ react: '>=16.8.1'
+ react-dom: '>=16.8.1'
+
+ react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+
+ react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+
+ react-is@18.3.1:
+ resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+
+ react-json-view-lite@1.5.0:
+ resolution: {integrity: sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ react: ^16.13.1 || ^17.0.0 || ^18.0.0
+
+ react-loadable-ssr-addon-v5-slorber@1.0.1:
+ resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ react-loadable: '*'
+ webpack: '>=4.41.1 || 5.x'
+
+ react-loadable@5.5.0:
+ resolution: {integrity: sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg==}
+ peerDependencies:
+ react: '*'
+
+ react-markdown@9.0.1:
+ resolution: {integrity: sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==}
+ peerDependencies:
+ '@types/react': '>=18'
+ react: '>=18'
+
+ react-router-config@5.1.1:
+ resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==}
+ peerDependencies:
+ react: '>=15'
+ react-router: '>=5'
+
+ react-router-dom@5.3.4:
+ resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==}
+ peerDependencies:
+ react: '>=15'
+
+ react-router@5.3.4:
+ resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==}
+ peerDependencies:
+ react: '>=15'
+
+ react-type-animation@3.2.0:
+ resolution: {integrity: sha512-WXTe0i3rRNKjmggPvT5ntye1QBt0ATGbijeW6V3cQe2W0jaMABXXlPPEdtofnS9tM7wSRHchEvI9SUw+0kUohw==}
+ peerDependencies:
+ prop-types: ^15.5.4
+ react: '>= 15.0.0'
+ react-dom: '>= 15.0.0'
+
+ react@18.3.1:
+ resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
+ engines: {node: '>=0.10.0'}
+
+ read-cmd-shim@4.0.0:
+ resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ read-only-stream@2.0.0:
+ resolution: {integrity: sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==}
+
+ read-package-json-fast@3.0.2:
+ resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ read-package-json@6.0.4:
+ resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ deprecated: This package is no longer supported. Please use @npmcli/package-json instead.
+
+ read-pkg-up@3.0.0:
+ resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==}
+ engines: {node: '>=4'}
+
+ read-pkg-up@7.0.1:
+ resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
+ engines: {node: '>=8'}
+
+ read-pkg@3.0.0:
+ resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==}
+ engines: {node: '>=4'}
+
+ read-pkg@5.2.0:
+ resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
+ engines: {node: '>=8'}
+
+ read@2.1.0:
+ resolution: {integrity: sha512-bvxi1QLJHcaywCAEsAk4DG3nVoqiY2Csps3qzWalhj5hFqRn1d/OixkFXtLO1PrgHUcAP0FNaSY/5GYNfENFFQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ read@3.0.1:
+ resolution: {integrity: sha512-SLBrDU/Srs/9EoWhU5GdbAoxG1GzpQHo/6qiGItaoLJ1thmYpcNIM1qISEUvyHBzfGlWIyd6p2DNi1oV1VmAuw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ readable-stream@2.3.8:
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+
+ readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+
+ readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
+
+ reading-time@1.5.0:
+ resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==}
+
+ readline-sync@1.4.10:
+ resolution: {integrity: sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==}
+ engines: {node: '>= 0.8.0'}
+
+ rechoir@0.6.2:
+ resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
+ engines: {node: '>= 0.10'}
+
+ recursive-readdir@2.2.3:
+ resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==}
+ engines: {node: '>=6.0.0'}
+
+ redent@3.0.0:
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
+ engines: {node: '>=8'}
+
+ redis-commands@1.7.0:
+ resolution: {integrity: sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==}
+
+ redis-errors@1.2.0:
+ resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==}
+ engines: {node: '>=4'}
+
+ redis-parser@3.0.0:
+ resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==}
+ engines: {node: '>=4'}
+
+ redis@4.6.10:
+ resolution: {integrity: sha512-mmbyhuKgDiJ5TWUhiKhBssz+mjsuSI/lSZNPI9QvZOYzWvYGejtb+W3RlDDf8LD6Bdl5/mZeG8O1feUGhXTxEg==}
+
+ reflect.getprototypeof@1.0.10:
+ resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
+ engines: {node: '>= 0.4'}
+
+ regenerate-unicode-properties@10.2.0:
+ resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==}
+ engines: {node: '>=4'}
+
+ regenerate@1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+
+ regenerator-runtime@0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+
+ regexp.prototype.flags@1.5.4:
+ resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
+ engines: {node: '>= 0.4'}
+
+ regexpu-core@6.2.0:
+ resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==}
+ engines: {node: '>=4'}
+
+ registry-auth-token@5.1.0:
+ resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==}
+ engines: {node: '>=14'}
+
+ registry-url@6.0.1:
+ resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==}
+ engines: {node: '>=12'}
+
+ regjsgen@0.8.0:
+ resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
+
+ regjsparser@0.12.0:
+ resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==}
+ hasBin: true
+
+ rehype-raw@6.1.1:
+ resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==}
+
+ rehype-raw@7.0.0:
+ resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
+
+ rehype-slug@6.0.0:
+ resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==}
+
+ rehype-stringify@10.0.0:
+ resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==}
+
+ relateurl@0.2.7:
+ resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
+ engines: {node: '>= 0.10'}
+
+ remark-directive@3.0.1:
+ resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==}
+
+ remark-emoji@4.0.1:
+ resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ remark-frontmatter@5.0.0:
+ resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
+
+ remark-gfm@4.0.1:
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
+
+ remark-mdx@3.1.0:
+ resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==}
+
+ remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+
+ remark-rehype@11.0.0:
+ resolution: {integrity: sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==}
+
+ remark-stringify@11.0.0:
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+
+ remark-toc@9.0.0:
+ resolution: {integrity: sha512-KJ9txbo33GjDAV1baHFze7ij4G8c7SGYoY8Kzsm2gzFpbhL/bSoVpMMzGa3vrNDSWASNd/3ppAqL7cP2zD6JIA==}
+
+ remark@15.0.1:
+ resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
+
+ renderkid@3.0.0:
+ resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
+
+ request@2.88.2:
+ resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==}
+ engines: {node: '>= 6'}
+ deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
+
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+ require-in-the-middle@7.5.2:
+ resolution: {integrity: sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ==}
+ engines: {node: '>=8.6.0'}
+
+ require-like@0.1.2:
+ resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==}
+
+ require-main-filename@2.0.0:
+ resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
+
+ require_optional@1.0.1:
+ resolution: {integrity: sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==}
+
+ requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+
+ resize-observer-polyfill@1.5.1:
+ resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
+
+ resolve-alpn@1.2.1:
+ resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
+
+ resolve-cwd@3.0.0:
+ resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
+ engines: {node: '>=8'}
+
+ resolve-from@2.0.0:
+ resolution: {integrity: sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ==}
+ engines: {node: '>=0.10.0'}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+
+ resolve-pathname@3.0.0:
+ resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==}
+
+ resolve@1.22.10:
+ resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+ engines: {node: '>= 0.4'}
+ hasBin: true
+
+ responselike@2.0.1:
+ resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==}
+
+ responselike@3.0.0:
+ resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==}
+ engines: {node: '>=14.16'}
+
+ restore-cursor@2.0.0:
+ resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
+ engines: {node: '>=4'}
+
+ restore-cursor@3.1.0:
+ resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
+ engines: {node: '>=8'}
+
+ restore-cursor@5.1.0:
+ resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
+ engines: {node: '>=18'}
+
+ retry@0.12.0:
+ resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
+ engines: {node: '>= 4'}
+
+ retry@0.13.1:
+ resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
+ engines: {node: '>= 4'}
+
+ reusify@1.1.0:
+ resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rfdc@1.4.1:
+ resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+
+ rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
+ hasBin: true
+
+ rimraf@4.4.1:
+ resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ ripemd160@2.0.2:
+ resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==}
+
+ robust-predicates@2.0.4:
+ resolution: {integrity: sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg==}
+
+ robust-predicates@3.0.2:
+ resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
+
+ rollup-plugin-copy@3.5.0:
+ resolution: {integrity: sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==}
+ engines: {node: '>=8.3'}
+
+ rollup-plugin-visualizer@5.12.0:
+ resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+ peerDependencies:
+ rollup: 2.x || 3.x || 4.x
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ rollup@2.79.2:
+ resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+
+ rollup@4.24.0:
+ resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ router@2.2.0:
+ resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==}
+ engines: {node: '>= 18'}
+
+ rrweb-cssom@0.7.1:
+ resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==}
+
+ rrweb-cssom@0.8.0:
+ resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==}
+
+ rtl-detect@1.1.2:
+ resolution: {integrity: sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==}
+
+ rtlcss@4.3.0:
+ resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==}
+ engines: {node: '>=12.0.0'}
+ hasBin: true
+
+ run-applescript@7.0.0:
+ resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
+ engines: {node: '>=18'}
+
+ run-async@2.4.1:
+ resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
+ engines: {node: '>=0.12.0'}
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ rxjs@7.8.2:
+ resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
+
+ rxjs@8.0.0-alpha.14:
+ resolution: {integrity: sha512-oRCzFwbAMbo0+dVUeGUCCEf339mW7CESFvVDG3RTncD6yMtV2XoubFMpKEhBd2a9d04EpHl8QSz84/V/agG6bw==}
+
+ safe-array-concat@1.1.3:
+ resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
+ engines: {node: '>=0.4'}
+
+ safe-buffer@5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+ safe-push-apply@1.0.0:
+ resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
+ engines: {node: '>= 0.4'}
+
+ safe-regex-test@1.1.0:
+ resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
+ engines: {node: '>= 0.4'}
+
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ saslprep@1.0.3:
+ resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==}
+ engines: {node: '>=6'}
+
+ sass@1.56.1:
+ resolution: {integrity: sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ==}
+ engines: {node: '>=12.0.0'}
+ hasBin: true
+
+ sax@1.2.1:
+ resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==}
+
+ sax@1.4.1:
+ resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
+
+ saxes@6.0.0:
+ resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
+ engines: {node: '>=v12.22.7'}
+
+ scheduler@0.23.2:
+ resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+
+ schema-utils@2.7.0:
+ resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==}
+ engines: {node: '>= 8.9.0'}
+
+ schema-utils@3.3.0:
+ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
+ engines: {node: '>= 10.13.0'}
+
+ schema-utils@4.3.2:
+ resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==}
+ engines: {node: '>= 10.13.0'}
+
+ scrypt-js@3.0.1:
+ resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==}
+
+ sdp-transform@2.15.0:
+ resolution: {integrity: sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw==}
+ hasBin: true
+
+ sdp@3.2.0:
+ resolution: {integrity: sha512-d7wDPgDV3DDiqulJjKiV2865wKsJ34YI+NDREbm+FySq6WuKOikwyNQcm+doLAZ1O6ltdO0SeKle2xMpN3Brgw==}
+
+ search-insights@2.17.3:
+ resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==}
+
+ section-matter@1.0.0:
+ resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
+ engines: {node: '>=4'}
+
+ secure-compare@3.0.1:
+ resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==}
+
+ seedrandom@2.4.4:
+ resolution: {integrity: sha512-9A+PDmgm+2du77B5i0Ip2cxOqqHjgNxnBgglxLcX78A2D6c2rTo61z4jnVABpF4cKeDMDG+cmXXvdnqse2VqMA==}
+
+ seedrandom@3.0.5:
+ resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==}
+
+ select-hose@2.0.0:
+ resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
+
+ select@1.1.2:
+ resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==}
+
+ selfsigned@2.4.1:
+ resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
+ engines: {node: '>=10'}
+
+ semver-diff@4.0.0:
+ resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==}
+ engines: {node: '>=12'}
+
+ semver@5.7.2:
+ resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+ hasBin: true
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.0.0:
+ resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==}
+ hasBin: true
+
+ semver@7.7.1:
+ resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ semver@7.7.3:
+ resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ send@0.19.0:
+ resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
+ engines: {node: '>= 0.8.0'}
+
+ send@1.2.0:
+ resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==}
+ engines: {node: '>= 18'}
+
+ serialize-javascript@6.0.2:
+ resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+
+ serve-handler@6.1.6:
+ resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==}
+
+ serve-index@1.9.1:
+ resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
+ engines: {node: '>= 0.8.0'}
+
+ serve-static@1.16.2:
+ resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
+ engines: {node: '>= 0.8.0'}
+
+ serve-static@2.2.0:
+ resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==}
+ engines: {node: '>= 18'}
+
+ set-blocking@2.0.0:
+ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+
+ set-function-name@2.0.2:
+ resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
+ engines: {node: '>= 0.4'}
+
+ set-proto@1.0.0:
+ resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
+ engines: {node: '>= 0.4'}
+
+ setimmediate@1.0.5:
+ resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
+
+ setprototypeof@1.1.0:
+ resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
+
+ setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+
+ sha.js@2.4.11:
+ resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==}
+ hasBin: true
+
+ shallow-clone@3.0.1:
+ resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
+ engines: {node: '>=8'}
+
+ shallowequal@1.1.0:
+ resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
+
+ shasum-object@1.0.0:
+ resolution: {integrity: sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==}
+
+ shebang-command@1.2.0:
+ resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
+ engines: {node: '>=0.10.0'}
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@1.0.0:
+ resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
+ engines: {node: '>=0.10.0'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ shell-quote@1.8.2:
+ resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==}
+ engines: {node: '>= 0.4'}
+
+ shelljs@0.8.5:
+ resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ shiki@0.14.7:
+ resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==}
+
+ shimmer@1.2.1:
+ resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==}
+
+ side-channel-list@1.0.0:
+ resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-map@1.0.1:
+ resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-weakmap@1.0.2:
+ resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
+ engines: {node: '>= 0.4'}
+
+ side-channel@1.1.0:
+ resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
+ engines: {node: '>= 0.4'}
+
+ signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ sigstore@1.9.0:
+ resolution: {integrity: sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+
+ sigstore@2.3.1:
+ resolution: {integrity: sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ simple-concat@1.0.1:
+ resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
+
+ simple-git@3.27.0:
+ resolution: {integrity: sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==}
+
+ simple-update-notifier@1.1.0:
+ resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==}
+ engines: {node: '>=8.10.0'}
+
+ single-line-log@1.1.2:
+ resolution: {integrity: sha512-awzaaIPtYFdexLr6TBpcZSGPB6D1RInNO/qNetgaJloPDF/D0GkVtLvGEp8InfmLV7CyLyQ5fIRP+tVN/JmWQA==}
+
+ sirv@2.0.4:
+ resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
+ engines: {node: '>= 10'}
+
+ sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+ sitemap@7.1.2:
+ resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==}
+ engines: {node: '>=12.0.0', npm: '>=5.6.0'}
+ hasBin: true
+
+ skin-tone@2.0.0:
+ resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==}
+ engines: {node: '>=8'}
+
+ skmeans@0.9.7:
+ resolution: {integrity: sha512-hNj1/oZ7ygsfmPZ7ZfN5MUBRoGg1gtpnImuJBgLO0ljQ67DtJuiQaiYdS4lUA6s0KCwnPhGivtC/WRwIZLkHyg==}
+
+ slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ slash@4.0.0:
+ resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
+ engines: {node: '>=12'}
+
+ slice-ansi@5.0.0:
+ resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
+ engines: {node: '>=12'}
+
+ slice-ansi@7.1.0:
+ resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
+ engines: {node: '>=18'}
+
+ smart-buffer@4.2.0:
+ resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
+ engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
+
+ smob@1.5.0:
+ resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
+
+ snake-case@3.0.4:
+ resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
+
+ sockjs@0.3.24:
+ resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
+
+ socks-proxy-agent@7.0.0:
+ resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==}
+ engines: {node: '>= 10'}
+
+ socks-proxy-agent@8.0.5:
+ resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==}
+ engines: {node: '>= 14'}
+
+ socks@2.8.4:
+ resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==}
+ engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
+
+ sort-css-media-queries@2.2.0:
+ resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==}
+ engines: {node: '>= 6.3.0'}
+
+ sort-keys@2.0.0:
+ resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==}
+ engines: {node: '>=4'}
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ source-map-support@0.5.13:
+ resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
+
+ source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+
+ source-map@0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.3:
+ resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==}
+ engines: {node: '>= 8'}
+
+ source-map@0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+ engines: {node: '>= 8'}
+
+ source-map@0.8.0-beta.0:
+ resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
+ engines: {node: '>= 8'}
+ deprecated: The work that was done in this beta branch won't be included in future versions
+
+ sourcemap-codec@1.4.8:
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ deprecated: Please use @jridgewell/sourcemap-codec instead
+
+ space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+
+ sparse-bitfield@3.0.3:
+ resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==}
+
+ spawn-command@0.0.2:
+ resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==}
+
+ spdx-correct@3.2.0:
+ resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+
+ spdx-exceptions@2.5.0:
+ resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
+
+ spdx-expression-parse@3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+
+ spdx-license-ids@3.0.21:
+ resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==}
+
+ spdy-transport@3.0.0:
+ resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
+
+ spdy@4.0.2:
+ resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
+ engines: {node: '>=6.0.0'}
+
+ splaytree-ts@1.0.2:
+ resolution: {integrity: sha512-0kGecIZNIReCSiznK3uheYB8sbstLjCZLiwcQwbmLhgHJj2gz6OnSPkVzJQCMnmEz1BQ4gPK59ylhBoEWOhGNA==}
+
+ split-on-first@1.1.0:
+ resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
+ engines: {node: '>=6'}
+
+ split2@3.2.2:
+ resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
+
+ split2@4.2.0:
+ resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
+ engines: {node: '>= 10.x'}
+
+ split@1.0.1:
+ resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==}
+
+ sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+
+ sprintf-js@1.1.3:
+ resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
+
+ srcset@4.0.0:
+ resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==}
+ engines: {node: '>=12'}
+
+ sshpk@1.16.1:
+ resolution: {integrity: sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+
+ ssri@10.0.6:
+ resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ ssri@9.0.1:
+ resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+
+ stable@0.1.8:
+ resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
+ deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+
+ stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
+
+ stackframe@1.3.4:
+ resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
+
+ standard-as-callback@2.1.0:
+ resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==}
+
+ statuses@1.5.0:
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
+ engines: {node: '>= 0.6'}
+
+ statuses@2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+
+ std-env@3.9.0:
+ resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
+
+ stream-browserify@3.0.0:
+ resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==}
+
+ stream-chain@2.2.5:
+ resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==}
+
+ stream-combiner2@1.1.1:
+ resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==}
+
+ stream-combiner@0.2.2:
+ resolution: {integrity: sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==}
+
+ stream-http@3.2.0:
+ resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==}
+
+ stream-json@1.9.1:
+ resolution: {integrity: sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==}
+
+ stream-shift@1.0.3:
+ resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
+
+ stream-splicer@2.0.1:
+ resolution: {integrity: sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==}
+
+ strict-uri-encode@1.1.0:
+ resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==}
+ engines: {node: '>=0.10.0'}
+
+ strict-uri-encode@2.0.0:
+ resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
+ engines: {node: '>=4'}
+
+ string-argv@0.3.2:
+ resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
+ engines: {node: '>=0.6.19'}
+
+ string-length@4.0.2:
+ resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
+ engines: {node: '>=10'}
+
+ string-width@1.0.2:
+ resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==}
+ engines: {node: '>=0.10.0'}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
+
+ string.prototype.matchall@4.0.12:
+ resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trim@1.2.10:
+ resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trimend@1.0.9:
+ resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trimstart@1.0.8:
+ resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
+ engines: {node: '>= 0.4'}
+
+ string_decoder@1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+
+ string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+
+ stringify-entities@4.0.4:
+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
+
+ stringify-object@3.3.0:
+ resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
+ engines: {node: '>=4'}
+
+ strip-ansi@3.0.1:
+ resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
+ engines: {node: '>=0.10.0'}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+
+ strip-bom-string@1.0.0:
+ resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==}
+ engines: {node: '>=0.10.0'}
+
+ strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+
+ strip-bom@4.0.0:
+ resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
+ engines: {node: '>=8'}
+
+ strip-comments@2.0.1:
+ resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==}
+ engines: {node: '>=10'}
+
+ strip-eof@1.0.0:
+ resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
+ engines: {node: '>=0.10.0'}
+
+ strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+
+ strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
+
+ strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
+
+ strip-json-comments@2.0.1:
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
+ engines: {node: '>=0.10.0'}
+
+ strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ stripe@15.4.0:
+ resolution: {integrity: sha512-o3STlHYUmJh1ogAem434As7hCMEGG43R1fFkX0NuxabnmZoOQ9Ytxuu+e5Tq5NSE3LPUIV64jbjQebHoZvLTKw==}
+ engines: {node: '>=12.*'}
+
+ strnum@1.1.2:
+ resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==}
+
+ strnum@2.1.1:
+ resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==}
+
+ strong-log-transformer@2.1.0:
+ resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ stubborn-fs@1.2.5:
+ resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==}
+
+ style-to-js@1.1.16:
+ resolution: {integrity: sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==}
+
+ style-to-object@1.0.8:
+ resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==}
+
+ stylehacks@6.1.1:
+ resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+
+ subarg@1.0.0:
+ resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==}
+
+ supports-color@2.0.0:
+ resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
+ engines: {node: '>=0.8.0'}
+
+ supports-color@3.2.3:
+ resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==}
+ engines: {node: '>=0.8.0'}
+
+ supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ svg-baker@1.7.0:
+ resolution: {integrity: sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==}
+
+ svg-parser@2.0.4:
+ resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==}
+
+ svgo@2.8.0:
+ resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ svgo@3.3.2:
+ resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
+ sweepline-intersections@1.5.0:
+ resolution: {integrity: sha512-AoVmx72QHpKtItPu72TzFL+kcYjd67BPLDoR0LarIk+xyaRg+pDTMFXndIEvZf9xEKnJv6JdhgRMnocoG0D3AQ==}
+
+ symbol-tree@3.2.4:
+ resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+
+ synckit@0.11.11:
+ resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+
+ syntax-error@1.4.0:
+ resolution: {integrity: sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==}
+
+ tachyons@4.12.0:
+ resolution: {integrity: sha512-2nA2IrYFy3raCM9fxJ2KODRGHVSZNTW3BR0YnlGsLUf1DA3pk3YfWZ/DdfbnZK6zLZS+jUenlUGJsKcA5fUiZg==}
+
+ tapable@1.1.3:
+ resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==}
+ engines: {node: '>=6'}
+
+ tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
+ tar-stream@2.2.0:
+ resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
+ engines: {node: '>=6'}
+
+ tar@4.4.18:
+ resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==}
+ engines: {node: '>=4.5'}
+
+ tar@6.1.11:
+ resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==}
+ engines: {node: '>= 10'}
+
+ tar@6.2.1:
+ resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
+ engines: {node: '>=10'}
+
+ temp-dir@1.0.0:
+ resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==}
+ engines: {node: '>=4'}
+
+ temp-dir@2.0.0:
+ resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
+ engines: {node: '>=8'}
+
+ tempy@0.6.0:
+ resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==}
+ engines: {node: '>=10'}
+
+ terser-webpack-plugin@5.3.14:
+ resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+
+ terser@4.8.1:
+ resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ terser@5.39.0:
+ resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ test-exclude@6.0.0:
+ resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
+ engines: {node: '>=8'}
+
+ text-extensions@1.9.0:
+ resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==}
+ engines: {node: '>=0.10'}
+
+ text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+
+ three-mesh-ui@6.4.4:
+ resolution: {integrity: sha512-Inzndir7UUQTl7U7isPMQa2H0jCv2G7RgcX3HVMoF5PSrbStAzayLtI6P9tK9rEkcQdehQfGHwpZVxghhuS77Q==}
+ engines: {node: x.x.x}
+ peerDependencies:
+ three: '>=0.132.1'
+
+ three.meshline@1.3.0:
+ resolution: {integrity: sha512-ZEb6cZiMh7RFPAQ0320aVBQx1CK4/wFffG9NNAArfX4KBPSJzjS19tYSuhNX7eZ1trU4blEHixz1EXkXN33++w==}
+
+ three@0.176.0:
+ resolution: {integrity: sha512-PWRKYWQo23ojf9oZSlRGH8K09q7nRSWx6LY/HF/UUrMdYgN9i1e2OwJYHoQjwc6HF/4lvvYLC5YC1X8UJL2ZpA==}
+
+ through2@2.0.5:
+ resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
+
+ through2@3.0.2:
+ resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==}
+
+ through2@4.0.2:
+ resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
+
+ through@2.3.8:
+ resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+
+ thunky@1.1.0:
+ resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
+
+ tigerbeetle-node@0.16.44:
+ resolution: {integrity: sha512-D2VD/N7lP53Uea+AY12liUL8NSBmRQgqkLu+e4Q1JJCIdqWkJ37niMdFLepNA3VH2olTM5/krNLzOE4HTr8xFA==}
+ engines: {node: '>=14.0.0'}
+
+ timers-browserify@1.4.2:
+ resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==}
+ engines: {node: '>=0.6.0'}
+
+ tiny-emitter@2.1.0:
+ resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==}
+
+ tiny-invariant@1.3.3:
+ resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
+
+ tiny-warning@1.0.3:
+ resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
+
+ tinycolor2@1.6.0:
+ resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
+
+ tinyexec@1.0.1:
+ resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==}
+
+ tinyqueue@2.0.3:
+ resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==}
+
+ tldts-core@6.1.86:
+ resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==}
+
+ tldts@6.1.86:
+ resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==}
+ hasBin: true
+
+ tmp@0.0.33:
+ resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
+ engines: {node: '>=0.6.0'}
+
+ tmp@0.2.3:
+ resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==}
+ engines: {node: '>=14.14'}
+
+ tmpl@1.0.5:
+ resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ toad-cache@3.7.0:
+ resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==}
+ engines: {node: '>=12'}
+
+ toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+
+ topojson-client@3.1.0:
+ resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==}
+ hasBin: true
+
+ topojson-server@3.0.1:
+ resolution: {integrity: sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==}
+ hasBin: true
+
+ totalist@3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
+ engines: {node: '>=6'}
+
+ touch@3.1.1:
+ resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==}
+ hasBin: true
+
+ tough-cookie@2.5.0:
+ resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==}
+ engines: {node: '>=0.8'}
+
+ tough-cookie@4.1.4:
+ resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
+ engines: {node: '>=6'}
+
+ tough-cookie@5.1.2:
+ resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==}
+ engines: {node: '>=16'}
+
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
+ tr46@1.0.1:
+ resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
+
+ tr46@5.1.1:
+ resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==}
+ engines: {node: '>=18'}
+
+ transform-ast@2.4.4:
+ resolution: {integrity: sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==}
+
+ traverse@0.6.11:
+ resolution: {integrity: sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==}
+ engines: {node: '>= 0.4'}
+
+ tree-kill@1.2.2:
+ resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
+ hasBin: true
+
+ treeverse@3.0.0:
+ resolution: {integrity: sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+
+ trim-newlines@3.0.1:
+ resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
+ engines: {node: '>=8'}
+
+ troika-three-text@0.46.4:
+ resolution: {integrity: sha512-Qsv0HhUKTZgSmAJs5wvO7YlBoJSP9TGPLmrg+K9pbQq4lseQdcevbno/WI38bwJBZ/qS56hvfqEzY0zUEFzDIw==}
+ peerDependencies:
+ three: '>=0.103.0'
+
+ troika-three-utils@0.46.0:
+ resolution: {integrity: sha512-llHyrXAcwzr0bpg80GxsIp73N7FuImm4WCrKDJkAqcAsWmE5pfP9+Qzw+oMWK1P/AdHQ79eOrOl9NjyW4aOw0w==}
+ peerDependencies:
+ three: '>=0.103.0'
+
+ troika-worker-utils@0.46.0:
+ resolution: {integrity: sha512-bzOx5f2ZBxkFhXtIvDJlLn2AI3bzCkGVbCndl/2dL5QZrwHEKl45OEIilCxYQQWJG1rEbOD9O80tMjoYjw19OA==}
+
+ trough@2.2.0:
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+
+ ts-api-utils@2.1.0:
+ resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
+ engines: {node: '>=18.12'}
+ peerDependencies:
+ typescript: '>=4.8.4'
+
+ ts-debounce@4.0.0:
+ resolution: {integrity: sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==}
+
+ ts-jest-mock-import-meta@1.3.0:
+ resolution: {integrity: sha512-xiuhc4DXRp35Lwy3bPB9X7utwyBJzp0tkse2qt3V3wxaCNSEOq54HyMxz75mvdG6LcOF4hawgb6vxEIpWnUe5A==}
+ peerDependencies:
+ ts-jest: '>=20.0.0'
+
+ ts-jest@29.4.5:
+ resolution: {integrity: sha512-HO3GyiWn2qvTQA4kTgjDcXiMwYQt68a1Y8+JuLRVpdIzm+UOLSHgl/XqR4c6nzJkq5rOkjc02O2I7P7l/Yof0Q==}
+ engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@babel/core': '>=7.0.0-beta.0 <8'
+ '@jest/transform': ^29.0.0 || ^30.0.0
+ '@jest/types': ^29.0.0 || ^30.0.0
+ babel-jest: ^29.0.0 || ^30.0.0
+ esbuild: '*'
+ jest: ^29.0.0 || ^30.0.0
+ jest-util: ^29.0.0 || ^30.0.0
+ typescript: '>=4.3 <6'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ '@jest/transform':
+ optional: true
+ '@jest/types':
+ optional: true
+ babel-jest:
+ optional: true
+ esbuild:
+ optional: true
+ jest-util:
+ optional: true
+
+ ts-morph@20.0.0:
+ resolution: {integrity: sha512-JVmEJy2Wow5n/84I3igthL9sudQ8qzjh/6i4tmYCm6IqYyKFlNbJZi7oBdjyqcWSWYRu3CtL0xbT6fS03ESZIg==}
+
+ tsconfig-paths@4.2.0:
+ resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
+ engines: {node: '>=6'}
+
+ tslib@1.14.1:
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+
+ tslib@2.6.2:
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ tty-browserify@0.0.1:
+ resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==}
+
+ tuf-js@1.1.7:
+ resolution: {integrity: sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ tuf-js@2.2.1:
+ resolution: {integrity: sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==}
+ engines: {node: ^16.14.0 || >=18.0.0}
+
+ tunnel-agent@0.6.0:
+ resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
+
+ tweetnacl@0.14.5:
+ resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
+
+ tweetnacl@1.0.3:
+ resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==}
+
+ type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+
+ type-component@0.0.1:
+ resolution: {integrity: sha512-mDZRBQS2yZkwRQKfjJvQ8UIYJeBNNWCq+HBNstl9N5s9jZ4dkVYXEGkVPsSCEh5Ld4JM1kmrZTzjnrqSAIQ7dw==}
+
+ type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+
+ type-detect@4.1.0:
+ resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==}
+ engines: {node: '>=4'}
+
+ type-fest@0.16.0:
+ resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
+ engines: {node: '>=10'}
+
+ type-fest@0.18.1:
+ resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==}
+ engines: {node: '>=10'}
+
+ type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+
+ type-fest@0.4.1:
+ resolution: {integrity: sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==}
+ engines: {node: '>=6'}
+
+ type-fest@0.6.0:
+ resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
+ engines: {node: '>=8'}
+
+ type-fest@0.8.1:
+ resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
+ engines: {node: '>=8'}
+
+ type-fest@1.4.0:
+ resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
+ engines: {node: '>=10'}
+
+ type-fest@2.19.0:
+ resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
+ engines: {node: '>=12.20'}
+
+ type-fest@3.13.1:
+ resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
+ engines: {node: '>=14.16'}
+
+ type-fest@4.41.0:
+ resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
+ engines: {node: '>=16'}
+
+ type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+
+ type-is@2.0.1:
+ resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==}
+ engines: {node: '>= 0.6'}
+
+ typed-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-length@1.0.3:
+ resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-offset@1.0.4:
+ resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-length@1.0.7:
+ resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
+ engines: {node: '>= 0.4'}
+
+ typed-emitter@2.1.0:
+ resolution: {integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==}
+
+ typedarray-to-buffer@3.1.5:
+ resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+
+ typedarray.prototype.slice@1.0.5:
+ resolution: {integrity: sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==}
+ engines: {node: '>= 0.4'}
+
+ typedarray@0.0.6:
+ resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
+
+ typedoc@0.25.4:
+ resolution: {integrity: sha512-Du9ImmpBCw54bX275yJrxPVnjdIyJO/84co0/L9mwe0R3G4FSR6rQ09AlXVRvZEGMUg09+z/usc8mgygQ1aidA==}
+ engines: {node: '>= 16'}
+ hasBin: true
+ peerDependencies:
+ typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x
+
+ typescript-eslint@8.32.0:
+ resolution: {integrity: sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
+
+ typescript@5.8.3:
+ resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ typesense@2.0.3:
+ resolution: {integrity: sha512-fRJjFdDNZn6qF9XzIk+bB8n8cm0fiAx1SGcpLDfNcsGtp8znITfG+SO+l/qk63GCRXZwJGq7wrMDLFUvblJSHA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/runtime': ^7.23.2
+
+ typesense@2.1.0-13:
+ resolution: {integrity: sha512-J7Y+gqIAyPejjAfyQ5rqeAGRuRM6CTZw7VSgSq9F5esWnCAMSFI62GW9gpaG8QtbY00ELdx7nFq96TY2ezHS8Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/runtime': ^7.23.2
+
+ uglify-js@3.19.3:
+ resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==}
+ engines: {node: '>=0.8.0'}
+ hasBin: true
+
+ uint8array-extras@0.3.0:
+ resolution: {integrity: sha512-erJsJwQ0tKdwuqI0359U8ijkFmfiTcq25JvvzRVc1VP+2son1NJRXhxcAKJmAW3ajM8JSGAfsAXye8g4s+znxA==}
+ engines: {node: '>=18'}
+
+ umd@3.0.3:
+ resolution: {integrity: sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==}
+ hasBin: true
+
+ unbox-primitive@1.1.0:
+ resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
+ engines: {node: '>= 0.4'}
+
+ undeclared-identifiers@1.1.3:
+ resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==}
+ hasBin: true
+
+ undefsafe@2.0.5:
+ resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
+
+ undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+
+ unicode-canonical-property-names-ecmascript@2.0.1:
+ resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
+ engines: {node: '>=4'}
+
+ unicode-emoji-modifier-base@1.0.0:
+ resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-value-ecmascript@2.2.0:
+ resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==}
+ engines: {node: '>=4'}
+
+ unicode-property-aliases-ecmascript@2.1.0:
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+ engines: {node: '>=4'}
+
+ unified@10.1.2:
+ resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
+
+ unified@11.0.4:
+ resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==}
+
+ union@0.5.0:
+ resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==}
+ engines: {node: '>= 0.8.0'}
+
+ uniq@1.0.1:
+ resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==}
+
+ unique-filename@2.0.1:
+ resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+
+ unique-filename@3.0.0:
+ resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ unique-names-generator@4.2.0:
+ resolution: {integrity: sha512-MaNgUy/U7jeIMr5n8tdYXFi5IJ9DVo3nc90Z0QDnbYmO0F/H3Swjb8H/bkHRQYBCNveBNU6rq90metcmxVdO6Q==}
+ engines: {node: '>=6'}
+
+ unique-slug@3.0.0:
+ resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+
+ unique-slug@4.0.0:
+ resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ unique-string@2.0.0:
+ resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
+ engines: {node: '>=8'}
+
+ unique-string@3.0.0:
+ resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==}
+ engines: {node: '>=12'}
+
+ unist-util-is@5.2.1:
+ resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
+
+ unist-util-is@6.0.0:
+ resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
+
+ unist-util-position-from-estree@2.0.0:
+ resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
+
+ unist-util-position@4.0.4:
+ resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
+
+ unist-util-position@5.0.0:
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+
+ unist-util-stringify-position@3.0.3:
+ resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
+
+ unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+
+ unist-util-visit-parents@5.1.3:
+ resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==}
+
+ unist-util-visit-parents@6.0.1:
+ resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
+
+ unist-util-visit@4.1.2:
+ resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
+
+ unist-util-visit@5.0.0:
+ resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
+
+ universal-github-app-jwt@2.2.2:
+ resolution: {integrity: sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw==}
+
+ universal-user-agent@4.0.1:
+ resolution: {integrity: sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==}
+
+ universal-user-agent@6.0.1:
+ resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==}
+
+ universal-user-agent@7.0.2:
+ resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==}
+
+ universalify@0.1.2:
+ resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
+ engines: {node: '>= 4.0.0'}
+
+ universalify@0.2.0:
+ resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
+ engines: {node: '>= 4.0.0'}
+
+ universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+
+ unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+
+ unrs-resolver@1.11.1:
+ resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==}
+
+ upath@1.2.0:
+ resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==}
+ engines: {node: '>=4'}
+
+ upath@2.0.1:
+ resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==}
+ engines: {node: '>=4'}
+
+ update-browserslist-db@1.1.3:
+ resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ update-notifier@6.0.2:
+ resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==}
+ engines: {node: '>=14.16'}
+
+ upper-case@1.1.3:
+ resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==}
+
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+ url-join@4.0.1:
+ resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==}
+
+ url-loader@4.1.1:
+ resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ file-loader: '*'
+ webpack: ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ file-loader:
+ optional: true
+
+ url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+
+ url@0.10.3:
+ resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==}
+
+ url@0.11.4:
+ resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==}
+ engines: {node: '>= 0.4'}
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ util-extend@1.0.3:
+ resolution: {integrity: sha512-mLs5zAK+ctllYBj+iAQvlDCwoxU/WDOUaJkcFudeiAX6OajC6BKXJUa9a+tbtkC11dz2Ufb7h0lyvIOVn4LADA==}
+
+ util@0.10.4:
+ resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==}
+
+ util@0.12.5:
+ resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
+
+ utila@0.4.0:
+ resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
+
+ utility-types@3.11.0:
+ resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==}
+ engines: {node: '>= 4'}
+
+ utils-merge@1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+ engines: {node: '>= 0.4.0'}
+
+ uuid@10.0.0:
+ resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==}
+ hasBin: true
+
+ uuid@3.4.0:
+ resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
+ deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
+ hasBin: true
+
+ uuid@8.0.0:
+ resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==}
+ hasBin: true
+
+ uuid@8.3.2:
+ resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
+ hasBin: true
+
+ uuid@9.0.1:
+ resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
+ hasBin: true
+
+ v8-to-istanbul@9.3.0:
+ resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==}
+ engines: {node: '>=10.12.0'}
+
+ validate-npm-package-license@3.0.4:
+ resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+
+ validate-npm-package-name@3.0.0:
+ resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==}
+
+ validate-npm-package-name@5.0.0:
+ resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ validate-npm-package-name@5.0.1:
+ resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ value-equal@1.0.1:
+ resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==}
+
+ vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+
+ verror@1.10.0:
+ resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
+ engines: {'0': node >=0.6.0}
+
+ vfile-location@4.1.0:
+ resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==}
+
+ vfile-location@5.0.3:
+ resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
+
+ vfile-message@3.1.4:
+ resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==}
+
+ vfile-message@4.0.2:
+ resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
+
+ vfile@5.3.7:
+ resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==}
+
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+
+ vhost@3.0.2:
+ resolution: {integrity: sha512-S3pJdWrpFWrKMboRU4dLYgMrTgoPALsmYwOvyebK2M6X95b9kQrjZy5rwl3uzzpfpENe/XrNYu/2U+e7/bmT5g==}
+ engines: {node: '>= 0.8.0'}
+
+ vite-plugin-commonjs@0.10.4:
+ resolution: {integrity: sha512-eWQuvQKCcx0QYB5e5xfxBNjQKyrjEWZIR9UOkOV6JAgxVhtbZvCOF+FNC2ZijBJ3U3Px04ZMMyyMyFBVWIJ5+g==}
+
+ vite-plugin-dynamic-import@1.6.0:
+ resolution: {integrity: sha512-TM0sz70wfzTIo9YCxVFwS8OA9lNREsh+0vMHGSkWDTZ7bgd1Yjs5RV8EgB634l/91IsXJReg0xtmuQqP0mf+rg==}
+
+ vite-plugin-html@2.1.1:
+ resolution: {integrity: sha512-TCLLYzibNDEMwbtRYAYYmI7CqMuU0qFFfoTVhEQ8w4P9Tjfe5Xrh/0+XXydifgd/H7xzuWkFUjSYT6Egy7Y27Q==}
+ peerDependencies:
+ vite: '>=2.0.0'
+
+ vite-plugin-pwa@0.17.4:
+ resolution: {integrity: sha512-j9iiyinFOYyof4Zk3Q+DtmYyDVBDAi6PuMGNGq6uGI0pw7E+LNm9e+nQ2ep9obMP/kjdWwzilqUrlfVRj9OobA==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ vite: ^3.1.0 || ^4.0.0 || ^5.0.0
+ workbox-build: ^7.0.0
+ workbox-window: ^7.0.0
+
+ vite-plugin-singlefile@2.0.1:
+ resolution: {integrity: sha512-J74tfN6TE4fz0Hp7E1+dmVTmCpyazv4yuIpR6jd22Kq76d2CQDSQx3wDiHX8LT02f922V+YrLhRq2VIk/UYrig==}
+ engines: {node: '>18.0.0'}
+ peerDependencies:
+ rollup: ^4.12.0
+ vite: ^5.1.4
+
+ vite-plugin-svg-icons@2.0.1:
+ resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==}
+ peerDependencies:
+ vite: '>=2.0.0'
+
+ vite@5.4.10:
+ resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ sass-embedded: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+
+ vm-browserify@1.1.2:
+ resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
+
+ vscode-oniguruma@1.7.0:
+ resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==}
+
+ vscode-textmate@8.0.0:
+ resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
+
+ vue-class-component@7.2.6:
+ resolution: {integrity: sha512-+eaQXVrAm/LldalI272PpDe3+i4mPis0ORiMYxF6Ae4hyuCh15W8Idet7wPUEs4N4YptgFHGys4UrgNQOMyO6w==}
+ peerDependencies:
+ vue: ^2.0.0
+
+ vue-clipboard2@0.3.1:
+ resolution: {integrity: sha512-H5S/agEDj0kXjUb5GP2c0hCzIXWRBygaWLN3NEFsaI9I3uWin778SFEMt8QRXiPG+7anyjqWiw2lqcxWUSfkYg==}
+
+ vue-color@2.8.2:
+ resolution: {integrity: sha512-1qmsxl5GiIjx/jApBbTGr2r4bN/7WRKUTl3tc53vkXb9Ua0rZmiqsdq6VdG1e7dVNTLJahdsRGWcjeU2+98+NA==}
+
+ vue-eslint-parser@10.1.3:
+ resolution: {integrity: sha512-dbCBnd2e02dYWsXoqX5yKUZlOt+ExIpq7hmHKPb5ZqKcjf++Eo0hMseFTZMLKThrUk61m+Uv6A2YSBve6ZvuDQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+
+ vue-filepond@4.0.3:
+ resolution: {integrity: sha512-Y6hYSYWbqRQfz2HOpnRN9dn1mGxqkhP6Cv7pqBPw3EEeKEGwEfxT36h9A0o4va1KGVrfV/OjjfjMqTnQShUx6g==}
+ peerDependencies:
+ filepond: ^3.0.0
+ vue: ^2.5.13
+
+ vue-github-button@1.3.0:
+ resolution: {integrity: sha512-Cc92t+GBLwBPhwtHSvKXjbx07U3+6xdi+eR+s9c734tHbndipCLenJjLVkgErNhKZ0EvDjRyuu8Hu69gg9/TxQ==}
+
+ vue-github-buttons@3.1.0:
+ resolution: {integrity: sha512-x0b9bdhP5xZOD5kQ9+nnCzvKqVyHb4moqN2l06mjYB/k2WRdW5jiAWlneUgoPFwPvcqM40vrTDXVvBrS0MMlEQ==}
+ peerDependencies:
+ vue: '2'
+
+ vue-material@1.0.0-beta-15:
+ resolution: {integrity: sha512-nNC1mF1BQNKsyEjRXPYxweYlIOcVE9rK4LeeyppOU6h4vgQnZuNmlGIRnl6fUe8dj+x7c5x5/qydLhJRabPMng==}
+ engines: {node: '>= 7.0'}
+ peerDependencies:
+ vue: ^2.5.0
+
+ vue-property-decorator@9.1.2:
+ resolution: {integrity: sha512-xYA8MkZynPBGd/w5QFJ2d/NM0z/YeegMqYTphy7NJQXbZcuU6FC6AOdUAcy4SXP+YnkerC6AfH+ldg7PDk9ESQ==}
+ peerDependencies:
+ vue: '*'
+ vue-class-component: '*'
+
+ vue-router@3.5.4:
+ resolution: {integrity: sha512-x+/DLAJZv2mcQ7glH2oV9ze8uPwcI+H+GgTgTmb5I55bCgY3+vXWIsqbYUzbBSZnwFHEJku4eoaH/x98veyymQ==}
+ peerDependencies:
+ vue: ^2
+
+ vue-template-compiler@2.7.16:
+ resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==}
+
+ vue-toc@0.0.1:
+ resolution: {integrity: sha512-RZfVgLzk/kpEmk05ptvU/+x3TVo4Ai4BBARvV4iCurR9bJsAqnnrqwjEBKnEG+s6NT0yQ6EY0JMGViyOUGysDw==}
+
+ vue@2.7.16:
+ resolution: {integrity: sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==}
+ deprecated: Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.
+
+ vue@3.3.4:
+ resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==}
+
+ w3c-xmlserializer@5.0.0:
+ resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
+ engines: {node: '>=18'}
+
+ wait-on@7.2.0:
+ resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==}
+ engines: {node: '>=12.0.0'}
+ hasBin: true
+
+ walk-up-path@3.0.1:
+ resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==}
+
+ walker@1.0.8:
+ resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+
+ watchpack@2.4.2:
+ resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==}
+ engines: {node: '>=10.13.0'}
+
+ wbuf@1.7.3:
+ resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
+
+ wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+
+ web-encoding@1.1.5:
+ resolution: {integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==}
+
+ web-namespaces@2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+
+ web-push@3.6.7:
+ resolution: {integrity: sha512-OpiIUe8cuGjrj3mMBFWY+e4MMIkW3SVT+7vEIjvD9kejGUypv8GPDf84JdPWskK8zMRIJ6xYGm+Kxr8YkPyA0A==}
+ engines: {node: '>= 16'}
+ hasBin: true
+
+ web-streams-polyfill@3.3.3:
+ resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
+ engines: {node: '>= 8'}
+
+ web-streams-polyfill@4.0.0-beta.3:
+ resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
+ engines: {node: '>= 14'}
+
+ webgl-sdf-generator@1.1.1:
+ resolution: {integrity: sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==}
+
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
+ webidl-conversions@4.0.2:
+ resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
+
+ webidl-conversions@7.0.0:
+ resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
+ engines: {node: '>=12'}
+
+ webpack-bundle-analyzer@4.10.2:
+ resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==}
+ engines: {node: '>= 10.13.0'}
+ hasBin: true
+
+ webpack-dev-middleware@5.3.4:
+ resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ webpack-dev-server@4.15.2:
+ resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==}
+ engines: {node: '>= 12.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack: ^4.37.0 || ^5.0.0
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack:
+ optional: true
+ webpack-cli:
+ optional: true
+
+ webpack-merge@5.10.0:
+ resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==}
+ engines: {node: '>=10.0.0'}
+
+ webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+
+ webpack-virtual-modules@0.5.0:
+ resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
+
+ webpack@5.99.8:
+ resolution: {integrity: sha512-lQ3CPiSTpfOnrEGeXDwoq5hIGzSjmwD72GdfVzF7CQAI7t47rJG9eDWvcEkEn3CUQymAElVvDg3YNTlCYj+qUQ==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+
+ webpackbar@5.0.2:
+ resolution: {integrity: sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ webpack: 3 || 4 || 5
+
+ webrtc-adapter@8.2.4:
+ resolution: {integrity: sha512-VwtwbYNKnVQW8koB9qb8YcxNwpSVHTvvKEZLzY6uQ3gFrA9E87VPbB5xE+m1AGwUjL1UgN35jRR9hQgteZI5bg==}
+ engines: {node: '>=6.0.0', npm: '>=3.10.0'}
+
+ websocket-driver@0.7.4:
+ resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
+ engines: {node: '>=0.8.0'}
+
+ websocket-extensions@0.1.4:
+ resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
+ engines: {node: '>=0.8.0'}
+
+ whatwg-encoding@2.0.0:
+ resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
+ engines: {node: '>=12'}
+
+ whatwg-encoding@3.1.1:
+ resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
+ engines: {node: '>=18'}
+
+ whatwg-mimetype@4.0.0:
+ resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
+ engines: {node: '>=18'}
+
+ whatwg-url@14.2.0:
+ resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==}
+ engines: {node: '>=18'}
+
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
+ whatwg-url@7.1.0:
+ resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
+
+ when-exit@2.1.4:
+ resolution: {integrity: sha512-4rnvd3A1t16PWzrBUcSDZqcAmsUIy4minDXT/CZ8F2mVDgd65i4Aalimgz1aQkRGU0iH5eT5+6Rx2TK8o443Pg==}
+
+ which-boxed-primitive@1.1.1:
+ resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
+ engines: {node: '>= 0.4'}
+
+ which-builtin-type@1.2.1:
+ resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
+ engines: {node: '>= 0.4'}
+
+ which-collection@1.0.2:
+ resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+ engines: {node: '>= 0.4'}
+
+ which-module@2.0.1:
+ resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
+
+ which-typed-array@1.1.19:
+ resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
+ engines: {node: '>= 0.4'}
+
+ which@1.3.1:
+ resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
+ hasBin: true
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ which@3.0.1:
+ resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+
+ which@4.0.0:
+ resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
+ engines: {node: ^16.13.0 || >=18.0.0}
+ hasBin: true
+
+ wide-align@1.1.5:
+ resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
+
+ widest-line@4.0.1:
+ resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==}
+ engines: {node: '>=12'}
+
+ wildcard@2.0.1:
+ resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
+
+ windows-release@3.3.3:
+ resolution: {integrity: sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==}
+ engines: {node: '>=6'}
+
+ word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+
+ wordwrap@1.0.0:
+ resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
+
+ workbox-background-sync@7.3.0:
+ resolution: {integrity: sha512-PCSk3eK7Mxeuyatb22pcSx9dlgWNv3+M8PqPaYDokks8Y5/FX4soaOqj3yhAZr5k6Q5JWTOMYgaJBpbw11G9Eg==}
+
+ workbox-broadcast-update@7.3.0:
+ resolution: {integrity: sha512-T9/F5VEdJVhwmrIAE+E/kq5at2OY6+OXXgOWQevnubal6sO92Gjo24v6dCVwQiclAF5NS3hlmsifRrpQzZCdUA==}
+
+ workbox-build@7.3.0:
+ resolution: {integrity: sha512-JGL6vZTPlxnlqZRhR/K/msqg3wKP+m0wfEUVosK7gsYzSgeIxvZLi1ViJJzVL7CEeI8r7rGFV973RiEqkP3lWQ==}
engines: {node: '>=16.0.0'}
+
+ workbox-cacheable-response@7.3.0:
+ resolution: {integrity: sha512-eAFERIg6J2LuyELhLlmeRcJFa5e16Mj8kL2yCDbhWE+HUun9skRQrGIFVUagqWj4DMaaPSMWfAolM7XZZxNmxA==}
+
+ workbox-core@7.3.0:
+ resolution: {integrity: sha512-Z+mYrErfh4t3zi7NVTvOuACB0A/jA3bgxUN3PwtAVHvfEsZxV9Iju580VEETug3zYJRc0Dmii/aixI/Uxj8fmw==}
+
+ workbox-expiration@7.3.0:
+ resolution: {integrity: sha512-lpnSSLp2BM+K6bgFCWc5bS1LR5pAwDWbcKt1iL87/eTSJRdLdAwGQznZE+1czLgn/X05YChsrEegTNxjM067vQ==}
+
+ workbox-google-analytics@7.3.0:
+ resolution: {integrity: sha512-ii/tSfFdhjLHZ2BrYgFNTrb/yk04pw2hasgbM70jpZfLk0vdJAXgaiMAWsoE+wfJDNWoZmBYY0hMVI0v5wWDbg==}
+
+ workbox-navigation-preload@7.3.0:
+ resolution: {integrity: sha512-fTJzogmFaTv4bShZ6aA7Bfj4Cewaq5rp30qcxl2iYM45YD79rKIhvzNHiFj1P+u5ZZldroqhASXwwoyusnr2cg==}
+
+ workbox-precaching@7.3.0:
+ resolution: {integrity: sha512-ckp/3t0msgXclVAYaNndAGeAoWQUv7Rwc4fdhWL69CCAb2UHo3Cef0KIUctqfQj1p8h6aGyz3w8Cy3Ihq9OmIw==}
+
+ workbox-range-requests@7.3.0:
+ resolution: {integrity: sha512-EyFmM1KpDzzAouNF3+EWa15yDEenwxoeXu9bgxOEYnFfCxns7eAxA9WSSaVd8kujFFt3eIbShNqa4hLQNFvmVQ==}
+
+ workbox-recipes@7.3.0:
+ resolution: {integrity: sha512-BJro/MpuW35I/zjZQBcoxsctgeB+kyb2JAP5EB3EYzePg8wDGoQuUdyYQS+CheTb+GhqJeWmVs3QxLI8EBP1sg==}
+
+ workbox-routing@7.3.0:
+ resolution: {integrity: sha512-ZUlysUVn5ZUzMOmQN3bqu+gK98vNfgX/gSTZ127izJg/pMMy4LryAthnYtjuqcjkN4HEAx1mdgxNiKJMZQM76A==}
+
+ workbox-strategies@7.3.0:
+ resolution: {integrity: sha512-tmZydug+qzDFATwX7QiEL5Hdf7FrkhjaF9db1CbB39sDmEZJg3l9ayDvPxy8Y18C3Y66Nrr9kkN1f/RlkDgllg==}
+
+ workbox-streams@7.3.0:
+ resolution: {integrity: sha512-SZnXucyg8x2Y61VGtDjKPO5EgPUG5NDn/v86WYHX+9ZqvAsGOytP0Jxp1bl663YUuMoXSAtsGLL+byHzEuMRpw==}
+
+ workbox-sw@7.3.0:
+ resolution: {integrity: sha512-aCUyoAZU9IZtH05mn0ACUpyHzPs0lMeJimAYkQkBsOWiqaJLgusfDCR+yllkPkFRxWpZKF8vSvgHYeG7LwhlmA==}
+
+ workbox-window@7.3.0:
+ resolution: {integrity: sha512-qW8PDy16OV1UBaUNGlTVcepzrlzyzNW/ZJvFQQs2j2TzGsg6IKjcpZC1RSquqQnTOafl5pCj5bGfAHlCjOOjdA==}
+
+ wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+
+ wrap-ansi@9.0.0:
+ resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
+ engines: {node: '>=18'}
+
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ write-file-atomic@2.4.3:
+ resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==}
+
+ write-file-atomic@3.0.3:
+ resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
+
+ write-file-atomic@5.0.1:
+ resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+ write-json-file@3.2.0:
+ resolution: {integrity: sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==}
+ engines: {node: '>=6'}
+
+ write-pkg@4.0.0:
+ resolution: {integrity: sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==}
+ engines: {node: '>=8'}
+
+ ws@7.5.10:
+ resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
+ engines: {node: '>=8.3.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ ws@8.18.0:
+ resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
+ 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
+
+ xdg-basedir@5.1.0:
+ resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
+ engines: {node: '>=12'}
+
+ xml-js@1.6.11:
+ resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==}
+ hasBin: true
+
+ xml-name-validator@4.0.0:
+ resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
+ engines: {node: '>=12'}
+
+ xml-name-validator@5.0.0:
+ resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
+ engines: {node: '>=18'}
+
+ xml2js@0.5.0:
+ resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==}
+ engines: {node: '>=4.0.0'}
+
+ xml2js@0.6.2:
+ resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==}
+ engines: {node: '>=4.0.0'}
+
+ xmlbuilder@11.0.1:
+ resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
+ engines: {node: '>=4.0'}
+
+ xmlbuilder@15.0.0:
+ resolution: {integrity: sha512-KLu/G0DoWhkncQ9eHSI6s0/w+T4TM7rQaLhtCaL6tORv8jFlJPlnGumsgTcGfYeS1qZ/IHqrvDG7zJZ4d7e+nw==}
+ engines: {node: '>=8.0'}
+
+ xmlchars@2.2.0:
+ resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+
+ xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+
+ y18n@4.0.3:
+ resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
+
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+
+ yallist@2.1.2:
+ resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
+
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
+ yaml@2.7.1:
+ resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==}
+ engines: {node: '>= 14'}
+ hasBin: true
+
+ yargs-parser@18.1.3:
+ resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
+ engines: {node: '>=6'}
+
+ yargs-parser@20.2.9:
+ resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
+ engines: {node: '>=10'}
+
+ yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+
+ yargs@15.4.1:
+ resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
+ engines: {node: '>=8'}
+
+ yargs@16.2.0:
+ resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
+ engines: {node: '>=10'}
+
+ yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+
+ yjs@13.6.8:
+ resolution: {integrity: sha512-ZPq0hpJQb6f59B++Ngg4cKexDJTvfOgeiv0sBc4sUm8CaBWH7OQC4kcCgrqbjJ/B2+6vO49exvTmYfdlPtcjbg==}
+ engines: {node: '>=16.0.0', npm: '>=8.0.0'}
+
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+ yocto-queue@1.2.1:
+ resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==}
+ engines: {node: '>=12.20'}
+
+ zod-to-json-schema@3.24.5:
+ resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==}
+ peerDependencies:
+ zod: ^3.24.1
+
+ zod@3.22.4:
+ resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
+
+ zod@3.24.4:
+ resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==}
+
+ zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+
+snapshots:
+
+ 0x@5.7.0:
+ dependencies:
+ ajv: 8.17.1
+ browserify: 17.0.1
+ concat-stream: 2.0.0
+ d3-fg: 6.14.0
+ debounce: 1.2.1
+ debug: 4.4.0
+ end-of-stream: 1.4.4
+ env-string: 1.0.1
+ escape-string-regexp: 4.0.0
+ execspawn: 1.0.1
+ fs-extra: 10.1.0
+ has-unicode: 2.0.1
+ hsl-to-rgb-for-reals: 1.1.1
+ jsonstream2: 3.0.0
+ make-dir: 3.1.0
+ minimist: 1.2.8
+ morphdom: 2.7.5
+ nanohtml: 1.10.0
+ on-net-listen: 1.1.2
+ opn: 5.5.0
+ pump: 3.0.2
+ pumpify: 2.0.1
+ semver: 7.7.1
+ single-line-log: 1.1.2
+ split2: 4.2.0
+ tachyons: 4.12.0
+ through2: 4.0.2
+ which: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@algolia/autocomplete-core@1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.24.0)(search-insights@2.17.3)':
+ dependencies:
+ '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.24.0)(search-insights@2.17.3)
+ '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.24.0)
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - algoliasearch
+ - search-insights
+
+ '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.24.0)(search-insights@2.17.3)':
+ dependencies:
+ '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.24.0)
+ search-insights: 2.17.3
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - algoliasearch
+
+ '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.24.0)':
+ dependencies:
+ '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.24.0)
+ '@algolia/client-search': 4.24.0
+ algoliasearch: 5.24.0
+
+ '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.24.0)':
+ dependencies:
+ '@algolia/client-search': 4.24.0
+ algoliasearch: 5.24.0
+
+ '@algolia/cache-browser-local-storage@4.24.0':
+ dependencies:
+ '@algolia/cache-common': 4.24.0
+
+ '@algolia/cache-common@4.24.0': {}
+
+ '@algolia/cache-in-memory@4.24.0':
+ dependencies:
+ '@algolia/cache-common': 4.24.0
+
+ '@algolia/client-abtesting@5.24.0':
+ dependencies:
+ '@algolia/client-common': 5.24.0
+ '@algolia/requester-browser-xhr': 5.24.0
+ '@algolia/requester-fetch': 5.24.0
+ '@algolia/requester-node-http': 5.24.0
+
+ '@algolia/client-account@4.24.0':
+ dependencies:
+ '@algolia/client-common': 4.24.0
+ '@algolia/client-search': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/client-analytics@4.24.0':
+ dependencies:
+ '@algolia/client-common': 4.24.0
+ '@algolia/client-search': 4.24.0
+ '@algolia/requester-common': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/client-analytics@5.24.0':
+ dependencies:
+ '@algolia/client-common': 5.24.0
+ '@algolia/requester-browser-xhr': 5.24.0
+ '@algolia/requester-fetch': 5.24.0
+ '@algolia/requester-node-http': 5.24.0
+
+ '@algolia/client-common@4.24.0':
+ dependencies:
+ '@algolia/requester-common': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/client-common@5.24.0': {}
+
+ '@algolia/client-insights@5.24.0':
+ dependencies:
+ '@algolia/client-common': 5.24.0
+ '@algolia/requester-browser-xhr': 5.24.0
+ '@algolia/requester-fetch': 5.24.0
+ '@algolia/requester-node-http': 5.24.0
+
+ '@algolia/client-personalization@4.24.0':
+ dependencies:
+ '@algolia/client-common': 4.24.0
+ '@algolia/requester-common': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/client-personalization@5.24.0':
+ dependencies:
+ '@algolia/client-common': 5.24.0
+ '@algolia/requester-browser-xhr': 5.24.0
+ '@algolia/requester-fetch': 5.24.0
+ '@algolia/requester-node-http': 5.24.0
+
+ '@algolia/client-query-suggestions@5.24.0':
+ dependencies:
+ '@algolia/client-common': 5.24.0
+ '@algolia/requester-browser-xhr': 5.24.0
+ '@algolia/requester-fetch': 5.24.0
+ '@algolia/requester-node-http': 5.24.0
+
+ '@algolia/client-search@4.24.0':
+ dependencies:
+ '@algolia/client-common': 4.24.0
+ '@algolia/requester-common': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/client-search@5.24.0':
+ dependencies:
+ '@algolia/client-common': 5.24.0
+ '@algolia/requester-browser-xhr': 5.24.0
+ '@algolia/requester-fetch': 5.24.0
+ '@algolia/requester-node-http': 5.24.0
+
+ '@algolia/events@4.0.1': {}
+
+ '@algolia/ingestion@1.24.0':
+ dependencies:
+ '@algolia/client-common': 5.24.0
+ '@algolia/requester-browser-xhr': 5.24.0
+ '@algolia/requester-fetch': 5.24.0
+ '@algolia/requester-node-http': 5.24.0
+
+ '@algolia/logger-common@4.24.0': {}
+
+ '@algolia/logger-console@4.24.0':
+ dependencies:
+ '@algolia/logger-common': 4.24.0
+
+ '@algolia/monitoring@1.24.0':
+ dependencies:
+ '@algolia/client-common': 5.24.0
+ '@algolia/requester-browser-xhr': 5.24.0
+ '@algolia/requester-fetch': 5.24.0
+ '@algolia/requester-node-http': 5.24.0
+
+ '@algolia/recommend@4.24.0':
+ dependencies:
+ '@algolia/cache-browser-local-storage': 4.24.0
+ '@algolia/cache-common': 4.24.0
+ '@algolia/cache-in-memory': 4.24.0
+ '@algolia/client-common': 4.24.0
+ '@algolia/client-search': 4.24.0
+ '@algolia/logger-common': 4.24.0
+ '@algolia/logger-console': 4.24.0
+ '@algolia/requester-browser-xhr': 4.24.0
+ '@algolia/requester-common': 4.24.0
+ '@algolia/requester-node-http': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ '@algolia/recommend@5.24.0':
+ dependencies:
+ '@algolia/client-common': 5.24.0
+ '@algolia/requester-browser-xhr': 5.24.0
+ '@algolia/requester-fetch': 5.24.0
+ '@algolia/requester-node-http': 5.24.0
+
+ '@algolia/requester-browser-xhr@4.24.0':
+ dependencies:
+ '@algolia/requester-common': 4.24.0
+
+ '@algolia/requester-browser-xhr@5.24.0':
dependencies:
- '@aws-crypto/sha256-browser': 5.2.0
- '@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.620.1
- '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-sdk-s3-control': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.620.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@aws-sdk/xml-builder': 3.609.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.3.1
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-blob-browser': 3.1.2
- '@smithy/hash-node': 3.0.3
- '@smithy/hash-stream-node': 3.1.2
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/md5-js': 3.0.3
- '@smithy/middleware-apply-body-checksum': 3.0.5
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.3.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.13
- '@smithy/util-defaults-mode-node': 3.0.13
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.6.2
- uuid: 9.0.1
+ '@algolia/client-common': 5.24.0
+
+ '@algolia/requester-common@4.24.0': {}
+
+ '@algolia/requester-fetch@5.24.0':
+ dependencies:
+ '@algolia/client-common': 5.24.0
+
+ '@algolia/requester-node-http@4.24.0':
+ dependencies:
+ '@algolia/requester-common': 4.24.0
+
+ '@algolia/requester-node-http@5.24.0':
+ dependencies:
+ '@algolia/client-common': 5.24.0
+
+ '@algolia/transporter@4.24.0':
+ dependencies:
+ '@algolia/cache-common': 4.24.0
+ '@algolia/logger-common': 4.24.0
+ '@algolia/requester-common': 4.24.0
+
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.8
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@anthropic-ai/sdk@0.24.3(encoding@0.1.13)':
+ dependencies:
+ '@types/node': 18.19.98
+ '@types/node-fetch': 2.6.12
+ abort-controller: 3.0.0
+ agentkeepalive: 4.6.0
+ form-data-encoder: 1.7.2
+ formdata-node: 4.4.1
+ node-fetch: 2.7.0(encoding@0.1.13)
+ web-streams-polyfill: 3.3.3
transitivePeerDependencies:
- - aws-crt
- dev: false
+ - encoding
- /@aws-sdk/client-s3@3.620.1:
- resolution: {integrity: sha512-KDcHNtYjGMJmzATBZGRI8bJhqKbfdkSM9c6B/BmDwff/UdfhA1W7DzxOt5iY4x48+OhlOYZMudExrxoW7ignCA==}
- engines: {node: '>=16.0.0'}
+ '@apideck/better-ajv-errors@0.3.6(ajv@8.17.1)':
+ dependencies:
+ ajv: 8.17.1
+ json-schema: 0.4.0
+ jsonpointer: 5.0.1
+ leven: 3.1.0
+
+ '@asamuzakjp/css-color@3.1.7':
+ dependencies:
+ '@csstools/css-calc': 2.1.3(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+ '@csstools/css-color-parser': 3.0.9(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+ '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
+ '@csstools/css-tokenizer': 3.0.3
+ lru-cache: 10.4.3
+
+ '@aws-crypto/crc32@5.2.0':
+ dependencies:
+ '@aws-crypto/util': 5.2.0
+ '@aws-sdk/types': 3.862.0
+ tslib: 2.8.1
+
+ '@aws-crypto/crc32c@5.2.0':
+ dependencies:
+ '@aws-crypto/util': 5.2.0
+ '@aws-sdk/types': 3.862.0
+ tslib: 2.8.1
+
+ '@aws-crypto/sha1-browser@5.2.0':
+ dependencies:
+ '@aws-crypto/supports-web-crypto': 5.2.0
+ '@aws-crypto/util': 5.2.0
+ '@aws-sdk/types': 3.862.0
+ '@aws-sdk/util-locate-window': 3.804.0
+ '@smithy/util-utf8': 2.3.0
+ tslib: 2.8.1
+
+ '@aws-crypto/sha256-browser@5.2.0':
+ dependencies:
+ '@aws-crypto/sha256-js': 5.2.0
+ '@aws-crypto/supports-web-crypto': 5.2.0
+ '@aws-crypto/util': 5.2.0
+ '@aws-sdk/types': 3.862.0
+ '@aws-sdk/util-locate-window': 3.804.0
+ '@smithy/util-utf8': 2.3.0
+ tslib: 2.8.1
+
+ '@aws-crypto/sha256-js@5.2.0':
+ dependencies:
+ '@aws-crypto/util': 5.2.0
+ '@aws-sdk/types': 3.862.0
+ tslib: 2.8.1
+
+ '@aws-crypto/supports-web-crypto@5.2.0':
+ dependencies:
+ tslib: 2.8.1
+
+ '@aws-crypto/util@5.2.0':
+ dependencies:
+ '@aws-sdk/types': 3.862.0
+ '@smithy/util-utf8': 2.3.0
+ tslib: 2.8.1
+
+ '@aws-sdk/client-api-gateway@3.804.0':
dependencies:
- '@aws-crypto/sha1-browser': 5.2.0
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.620.1
- '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/middleware-bucket-endpoint': 3.620.0
- '@aws-sdk/middleware-expect-continue': 3.620.0
- '@aws-sdk/middleware-flexible-checksums': 3.620.0
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-location-constraint': 3.609.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-sdk-s3': 3.620.0
- '@aws-sdk/middleware-signing': 3.620.0
- '@aws-sdk/middleware-ssec': 3.609.0
- '@aws-sdk/middleware-user-agent': 3.620.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/signature-v4-multi-region': 3.620.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@aws-sdk/xml-builder': 3.609.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.3.1
- '@smithy/eventstream-serde-browser': 3.0.5
- '@smithy/eventstream-serde-config-resolver': 3.0.3
- '@smithy/eventstream-serde-node': 3.0.4
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-blob-browser': 3.1.2
- '@smithy/hash-node': 3.0.3
- '@smithy/hash-stream-node': 3.1.2
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/md5-js': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.3.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.13
- '@smithy/util-defaults-mode-node': 3.0.13
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-retry': 3.0.3
- '@smithy/util-stream': 3.1.3
- '@smithy/util-utf8': 3.0.0
- '@smithy/util-waiter': 3.1.2
- tslib: 2.6.2
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-node': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-sdk-api-gateway': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-stream': 4.2.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sesv2@3.620.1:
- resolution: {integrity: sha512-pu/CbRQuxCA0EmDqyAktc77pjbmeWuQao6aLDBuXLDbccwKgRECLCTscqUcnqtfFhPkiOAim9LdczqEXLNIpcA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/client-apigatewaymanagementapi@3.804.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.620.1
- '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.620.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.3.1
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.3.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.13
- '@smithy/util-defaults-mode-node': 3.0.13
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.6.2
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-node': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sso-oidc@3.620.1(@aws-sdk/client-sts@3.620.1):
- resolution: {integrity: sha512-gm69ttbkr7Kbg/Zzr3SczyLWkLgmK3bEZtkvbM/40ZW5ItYhDzJE48Ovs2lyA64h2YsOftDqqwcbJirAAdTgSg==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.620.1
+ '@aws-sdk/client-cognito-identity@3.804.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.620.1
- '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.620.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.3.1
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.13
- '@smithy/util-defaults-mode-node': 3.0.13
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-node': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sso-oidc@3.635.0(@aws-sdk/client-sts@3.635.0):
- resolution: {integrity: sha512-RIwDlhzAFttB1vbpznewnPqz7h1H/2UhQLwB38yfZBwYQOxyxVfLV5j5VoUUX3jY4i4qH9wiHc7b02qeAOZY6g==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.635.0
+ '@aws-sdk/client-dynamodb@3.804.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sts': 3.635.0
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/credential-provider-node': 3.635.0(@aws-sdk/client-sso-oidc@3.635.0)(@aws-sdk/client-sts@3.635.0)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.632.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.632.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.4.0
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.15
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.15
- '@smithy/util-defaults-mode-node': 3.0.15
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-node': 3.804.0
+ '@aws-sdk/middleware-endpoint-discovery': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-utf8': 4.0.0
+ '@smithy/util-waiter': 4.0.3
+ '@types/uuid': 9.0.8
+ tslib: 2.8.1
+ uuid: 9.0.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sso-oidc@3.637.0(@aws-sdk/client-sts@3.637.0):
- resolution: {integrity: sha512-27bHALN6Qb6m6KZmPvRieJ/QRlj1lyac/GT2Rn5kJpre8Mpp+yxrtvp3h9PjNBty4lCeFEENfY4dGNSozBuBcw==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.637.0
+ '@aws-sdk/client-ecs@3.804.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sts': 3.637.0
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/credential-provider-node': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0)(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.637.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.637.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.4.0
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.15
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.15
- '@smithy/util-defaults-mode-node': 3.0.15
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-node': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.3.2
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-utf8': 4.0.0
+ '@smithy/util-waiter': 4.0.3
+ '@types/uuid': 9.0.8
+ tslib: 2.8.1
+ uuid: 9.0.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.620.1):
- resolution: {integrity: sha512-/dBYWcCwbA/id4sFCIVZvf0UsvzHCC68SryxeNQk/PDkY9N4n5yRcMUkZDaEyQCjowc3kY4JOXp2AdUP037nhA==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.679.0
+ '@aws-sdk/client-lambda@3.804.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.679.0
- '@aws-sdk/credential-provider-node': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/middleware-host-header': 3.679.0
- '@aws-sdk/middleware-logger': 3.679.0
- '@aws-sdk/middleware-recursion-detection': 3.679.0
- '@aws-sdk/middleware-user-agent': 3.679.0
- '@aws-sdk/region-config-resolver': 3.679.0
- '@aws-sdk/types': 3.679.0
- '@aws-sdk/util-endpoints': 3.679.0
- '@aws-sdk/util-user-agent-browser': 3.679.0
- '@aws-sdk/util-user-agent-node': 3.679.0
- '@smithy/config-resolver': 3.0.10
- '@smithy/core': 2.5.1
- '@smithy/fetch-http-handler': 3.2.9
- '@smithy/hash-node': 3.0.8
- '@smithy/invalid-dependency': 3.0.8
- '@smithy/middleware-content-length': 3.0.10
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-retry': 3.0.25
- '@smithy/middleware-serde': 3.0.8
- '@smithy/middleware-stack': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.25
- '@smithy/util-defaults-mode-node': 3.0.25
- '@smithy/util-endpoints': 2.1.4
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-node': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/eventstream-serde-browser': 4.0.2
+ '@smithy/eventstream-serde-config-resolver': 4.1.0
+ '@smithy/eventstream-serde-node': 4.0.2
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-stream': 4.2.0
+ '@smithy/util-utf8': 4.0.0
+ '@smithy/util-waiter': 4.0.3
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sso@3.620.1:
- resolution: {integrity: sha512-4Ox0BSs+atrAhLvjNHN2uiYvSTdpMv//IS4l4XRoQG0cJKIPLs3OU3PL5H0X1NfZehz9/8FTWl5Lv81uw4j1eA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/client-rekognition@3.804.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/core': 3.620.1
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.620.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.3.1
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.13
- '@smithy/util-defaults-mode-node': 3.0.13
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-node': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-utf8': 4.0.0
+ '@smithy/util-waiter': 4.0.3
+ '@types/uuid': 9.0.8
+ tslib: 2.8.1
+ uuid: 9.0.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sso@3.635.0:
- resolution: {integrity: sha512-/Hl69+JpFUo9JNVmh2gSvMgYkE4xjd+1okiRoPBbQqjI7YBP2JWCUDP8IoEkNq3wj0vNTq0OWfn6RpZycIkAXQ==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/client-s3-control@3.804.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.632.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.632.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.4.0
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.15
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.15
- '@smithy/util-defaults-mode-node': 3.0.15
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-node': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-sdk-s3-control': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@aws-sdk/xml-builder': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-blob-browser': 4.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/hash-stream-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/md5-js': 4.0.2
+ '@smithy/middleware-apply-body-checksum': 4.1.0
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-utf8': 4.0.0
+ '@types/uuid': 9.0.8
+ tslib: 2.8.1
+ uuid: 9.0.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sso@3.637.0:
- resolution: {integrity: sha512-+KjLvgX5yJYROWo3TQuwBJlHCY0zz9PsLuEolmXQn0BVK1L/m9GteZHtd+rEdAoDGBpE0Xqjy1oz5+SmtsaRUw==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/client-s3@3.804.0':
dependencies:
+ '@aws-crypto/sha1-browser': 5.2.0
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.637.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.637.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.4.0
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.15
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.15
- '@smithy/util-defaults-mode-node': 3.0.15
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-node': 3.804.0
+ '@aws-sdk/middleware-bucket-endpoint': 3.804.0
+ '@aws-sdk/middleware-expect-continue': 3.804.0
+ '@aws-sdk/middleware-flexible-checksums': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-location-constraint': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-sdk-s3': 3.804.0
+ '@aws-sdk/middleware-ssec': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/signature-v4-multi-region': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@aws-sdk/xml-builder': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/eventstream-serde-browser': 4.0.2
+ '@smithy/eventstream-serde-config-resolver': 4.1.0
+ '@smithy/eventstream-serde-node': 4.0.2
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-blob-browser': 4.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/hash-stream-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/md5-js': 4.0.2
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-stream': 4.2.0
+ '@smithy/util-utf8': 4.0.0
+ '@smithy/util-waiter': 4.0.3
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sso@3.679.0:
- resolution: {integrity: sha512-/0cAvYnpOZTo/Y961F1kx2fhDDLUYZ0SQQ5/75gh3xVImLj7Zw+vp74ieqFbqWLYGMaq8z1Arr9A8zG95mbLdg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/client-sesv2@3.804.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/core': 3.679.0
- '@aws-sdk/middleware-host-header': 3.679.0
- '@aws-sdk/middleware-logger': 3.679.0
- '@aws-sdk/middleware-recursion-detection': 3.679.0
- '@aws-sdk/middleware-user-agent': 3.679.0
- '@aws-sdk/region-config-resolver': 3.679.0
- '@aws-sdk/types': 3.679.0
- '@aws-sdk/util-endpoints': 3.679.0
- '@aws-sdk/util-user-agent-browser': 3.679.0
- '@aws-sdk/util-user-agent-node': 3.679.0
- '@smithy/config-resolver': 3.0.10
- '@smithy/core': 2.5.1
- '@smithy/fetch-http-handler': 3.2.9
- '@smithy/hash-node': 3.0.8
- '@smithy/invalid-dependency': 3.0.8
- '@smithy/middleware-content-length': 3.0.10
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-retry': 3.0.25
- '@smithy/middleware-serde': 3.0.8
- '@smithy/middleware-stack': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.25
- '@smithy/util-defaults-mode-node': 3.0.25
- '@smithy/util-endpoints': 2.1.4
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-node': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/signature-v4-multi-region': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sts@3.620.1:
- resolution: {integrity: sha512-d+ECGFDg0IsDdmfKU2O0VeMYKZcmbfBaA9HkZnZ39wu1BlXGI73xJe8cfmzbobvu+Ly+bAfHdLCpgIY+pD4D7g==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/client-sns@3.863.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/core': 3.620.1
- '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.620.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.3.1
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.13
- '@smithy/util-defaults-mode-node': 3.0.13
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.863.0
+ '@aws-sdk/credential-provider-node': 3.863.0
+ '@aws-sdk/middleware-host-header': 3.862.0
+ '@aws-sdk/middleware-logger': 3.862.0
+ '@aws-sdk/middleware-recursion-detection': 3.862.0
+ '@aws-sdk/middleware-user-agent': 3.863.0
+ '@aws-sdk/region-config-resolver': 3.862.0
+ '@aws-sdk/types': 3.862.0
+ '@aws-sdk/util-endpoints': 3.862.0
+ '@aws-sdk/util-user-agent-browser': 3.862.0
+ '@aws-sdk/util-user-agent-node': 3.863.0
+ '@smithy/config-resolver': 4.1.5
+ '@smithy/core': 3.8.0
+ '@smithy/fetch-http-handler': 5.1.1
+ '@smithy/hash-node': 4.0.5
+ '@smithy/invalid-dependency': 4.0.5
+ '@smithy/middleware-content-length': 4.0.5
+ '@smithy/middleware-endpoint': 4.1.18
+ '@smithy/middleware-retry': 4.1.19
+ '@smithy/middleware-serde': 4.0.9
+ '@smithy/middleware-stack': 4.0.5
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/node-http-handler': 4.1.1
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/smithy-client': 4.4.10
+ '@smithy/types': 4.3.2
+ '@smithy/url-parser': 4.0.5
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.26
+ '@smithy/util-defaults-mode-node': 4.0.26
+ '@smithy/util-endpoints': 3.0.7
+ '@smithy/util-middleware': 4.0.5
+ '@smithy/util-retry': 4.0.7
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sts@3.635.0:
- resolution: {integrity: sha512-Al2ytE69+cbA44qHlelqhzWwbURikfF13Zkal9utIG5Q6T2c7r8p6sePN92n8l/x1v0FhJ5VTxKak+cPTE0CZQ==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/client-sso@3.804.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.635.0(@aws-sdk/client-sts@3.635.0)
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/credential-provider-node': 3.635.0(@aws-sdk/client-sso-oidc@3.635.0)(@aws-sdk/client-sts@3.635.0)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.632.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.632.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.4.0
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.15
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.15
- '@smithy/util-defaults-mode-node': 3.0.15
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.3.2
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/client-sts@3.637.0:
- resolution: {integrity: sha512-xUi7x4qDubtA8QREtlblPuAcn91GS/09YVEY/RwU7xCY0aqGuFwgszAANlha4OUIqva8oVj2WO4gJuG+iaSnhw==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/client-sso@3.863.0':
dependencies:
'@aws-crypto/sha256-browser': 5.2.0
'@aws-crypto/sha256-js': 5.2.0
- '@aws-sdk/client-sso-oidc': 3.637.0(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/core': 3.635.0
- '@aws-sdk/credential-provider-node': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0)(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/middleware-host-header': 3.620.0
- '@aws-sdk/middleware-logger': 3.609.0
- '@aws-sdk/middleware-recursion-detection': 3.620.0
- '@aws-sdk/middleware-user-agent': 3.637.0
- '@aws-sdk/region-config-resolver': 3.614.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.637.0
- '@aws-sdk/util-user-agent-browser': 3.609.0
- '@aws-sdk/util-user-agent-node': 3.614.0
- '@smithy/config-resolver': 3.0.5
- '@smithy/core': 2.4.0
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/hash-node': 3.0.3
- '@smithy/invalid-dependency': 3.0.3
- '@smithy/middleware-content-length': 3.0.5
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.15
- '@smithy/middleware-serde': 3.0.3
- '@smithy/middleware-stack': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-base64': 3.0.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-body-length-node': 3.0.0
- '@smithy/util-defaults-mode-browser': 3.0.15
- '@smithy/util-defaults-mode-node': 3.0.15
- '@smithy/util-endpoints': 2.0.5
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.863.0
+ '@aws-sdk/middleware-host-header': 3.862.0
+ '@aws-sdk/middleware-logger': 3.862.0
+ '@aws-sdk/middleware-recursion-detection': 3.862.0
+ '@aws-sdk/middleware-user-agent': 3.863.0
+ '@aws-sdk/region-config-resolver': 3.862.0
+ '@aws-sdk/types': 3.862.0
+ '@aws-sdk/util-endpoints': 3.862.0
+ '@aws-sdk/util-user-agent-browser': 3.862.0
+ '@aws-sdk/util-user-agent-node': 3.863.0
+ '@smithy/config-resolver': 4.1.5
+ '@smithy/core': 3.8.0
+ '@smithy/fetch-http-handler': 5.1.1
+ '@smithy/hash-node': 4.0.5
+ '@smithy/invalid-dependency': 4.0.5
+ '@smithy/middleware-content-length': 4.0.5
+ '@smithy/middleware-endpoint': 4.1.18
+ '@smithy/middleware-retry': 4.1.19
+ '@smithy/middleware-serde': 4.0.9
+ '@smithy/middleware-stack': 4.0.5
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/node-http-handler': 4.1.1
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/smithy-client': 4.4.10
+ '@smithy/types': 4.3.2
+ '@smithy/url-parser': 4.0.5
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.26
+ '@smithy/util-defaults-mode-node': 4.0.26
+ '@smithy/util-endpoints': 3.0.7
+ '@smithy/util-middleware': 4.0.5
+ '@smithy/util-retry': 4.0.7
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- dev: false
-
- /@aws-sdk/core@3.620.1:
- resolution: {integrity: sha512-6Ejce93dDlDnovl6oYtxj3I/SJMOQoFdmmtM4+4W/cgMWH+l00T5aszVxDLjjPfu3Ryt7dNhrXaYeK2Ue1ZBmg==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@smithy/core': 2.3.1
- '@smithy/node-config-provider': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/signature-v4': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.3
- fast-xml-parser: 4.2.5
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/core@3.635.0:
- resolution: {integrity: sha512-i1x/E/sgA+liUE1XJ7rj1dhyXpAKO1UKFUcTTHXok2ARjWTvszHnSXMOsB77aPbmn0fUp1JTx2kHUAZ1LVt5Bg==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@smithy/core': 2.4.0
- '@smithy/node-config-provider': 3.1.4
- '@smithy/property-provider': 3.1.3
- '@smithy/protocol-http': 4.1.0
- '@smithy/signature-v4': 4.1.0
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.3
- fast-xml-parser: 4.4.1
- tslib: 2.8.0
- dev: false
- /@aws-sdk/core@3.679.0:
- resolution: {integrity: sha512-CS6PWGX8l4v/xyvX8RtXnBisdCa5+URzKd0L6GvHChype9qKUVxO/Gg6N/y43Hvg7MNWJt9FBPNWIxUB+byJwg==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/types': 3.679.0
- '@smithy/core': 2.5.1
- '@smithy/node-config-provider': 3.1.9
- '@smithy/property-provider': 3.1.8
- '@smithy/protocol-http': 4.1.5
- '@smithy/signature-v4': 4.2.1
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.8
+ '@aws-sdk/core@3.804.0':
+ dependencies:
+ '@aws-sdk/types': 3.804.0
+ '@smithy/core': 3.3.1
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/property-provider': 4.0.2
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/signature-v4': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/util-middleware': 4.0.2
fast-xml-parser: 4.4.1
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/credential-provider-cognito-identity@3.620.1:
- resolution: {integrity: sha512-Xj3KhllIQXnmONLOMvUInV6MsvxUut62jeKiD2k0fJNnGvJ2c2+h2/U6eMlhyneoVeVMvEKBw1L60X9vUb/aAw==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/client-cognito-identity': 3.620.1
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/types': 3.6.0
- tslib: 2.8.0
+ tslib: 2.8.1
+
+ '@aws-sdk/core@3.863.0':
+ dependencies:
+ '@aws-sdk/types': 3.862.0
+ '@aws-sdk/xml-builder': 3.862.0
+ '@smithy/core': 3.8.0
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/property-provider': 4.0.5
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/signature-v4': 5.1.3
+ '@smithy/smithy-client': 4.4.10
+ '@smithy/types': 4.3.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-middleware': 4.0.5
+ '@smithy/util-utf8': 4.0.0
+ fast-xml-parser: 5.2.5
+ tslib: 2.8.1
+
+ '@aws-sdk/credential-provider-cognito-identity@3.804.0':
+ dependencies:
+ '@aws-sdk/client-cognito-identity': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/property-provider': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
- dev: false
-
- /@aws-sdk/credential-provider-env@3.620.1:
- resolution: {integrity: sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/credential-provider-env@3.679.0:
- resolution: {integrity: sha512-EdlTYbzMm3G7VUNAMxr9S1nC1qUNqhKlAxFU8E7cKsAe8Bp29CD5HAs3POc56AVo9GC4yRIS+/mtlZSmrckzUA==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/core': 3.679.0
- '@aws-sdk/types': 3.679.0
- '@smithy/property-provider': 3.1.8
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/credential-provider-http@3.620.0:
- resolution: {integrity: sha512-BI2BdrSKDmB/2ouB/NJR0PT0x/+5fmoF6XOE78hFBb4F5w/yynGgcJY936dF+oREfpME6ehjB2b0okGg78Scpw==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/property-provider': 3.1.3
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.6.0
- '@smithy/util-stream': 3.1.3
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/credential-provider-http@3.635.0:
- resolution: {integrity: sha512-iJyRgEjOCQlBMXqtwPLIKYc7Bsc6nqjrZybdMDenPDa+kmLg7xh8LxHsu9088e+2/wtLicE34FsJJIfzu3L82g==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/property-provider': 3.1.3
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- '@smithy/util-stream': 3.1.3
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/credential-provider-http@3.679.0:
- resolution: {integrity: sha512-ZoKLubW5DqqV1/2a3TSn+9sSKg0T8SsYMt1JeirnuLJF0mCoYFUaWMyvxxKuxPoqvUsaycxKru4GkpJ10ltNBw==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/core': 3.679.0
- '@aws-sdk/types': 3.679.0
- '@smithy/fetch-http-handler': 3.2.9
- '@smithy/node-http-handler': 3.2.5
- '@smithy/property-provider': 3.1.8
- '@smithy/protocol-http': 4.1.5
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/util-stream': 3.2.1
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/credential-provider-ini@3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1):
- resolution: {integrity: sha512-m9jwigMPRlRRhoPxCQZMOwQUd6imEJbksF6tSMYNae76DIvrCi4z2Jhp6RJ9Mij8cnewUZCAmvu2FlK9+n9M7A==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.620.1
- dependencies:
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/credential-provider-env': 3.620.1
- '@aws-sdk/credential-provider-http': 3.620.0
- '@aws-sdk/credential-provider-process': 3.620.1
- '@aws-sdk/credential-provider-sso': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)
- '@aws-sdk/credential-provider-web-identity': 3.609.0(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/types': 3.609.0
- '@smithy/credential-provider-imds': 3.2.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - aws-crt
- dev: false
- /@aws-sdk/credential-provider-ini@3.620.1(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.620.1):
- resolution: {integrity: sha512-m9jwigMPRlRRhoPxCQZMOwQUd6imEJbksF6tSMYNae76DIvrCi4z2Jhp6RJ9Mij8cnewUZCAmvu2FlK9+n9M7A==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.620.1
- dependencies:
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/credential-provider-env': 3.620.1
- '@aws-sdk/credential-provider-http': 3.620.0
- '@aws-sdk/credential-provider-process': 3.620.1
- '@aws-sdk/credential-provider-sso': 3.620.1(@aws-sdk/client-sso-oidc@3.679.0)
- '@aws-sdk/credential-provider-web-identity': 3.609.0(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/types': 3.609.0
- '@smithy/credential-provider-imds': 3.2.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
+ '@aws-sdk/credential-provider-env@3.804.0':
+ dependencies:
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/property-provider': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/credential-provider-env@3.863.0':
+ dependencies:
+ '@aws-sdk/core': 3.863.0
+ '@aws-sdk/types': 3.862.0
+ '@smithy/property-provider': 4.0.5
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
+
+ '@aws-sdk/credential-provider-http@3.804.0':
+ dependencies:
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/property-provider': 4.0.2
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/util-stream': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/credential-provider-http@3.863.0':
+ dependencies:
+ '@aws-sdk/core': 3.863.0
+ '@aws-sdk/types': 3.862.0
+ '@smithy/fetch-http-handler': 5.1.1
+ '@smithy/node-http-handler': 4.1.1
+ '@smithy/property-provider': 4.0.5
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/smithy-client': 4.4.10
+ '@smithy/types': 4.3.2
+ '@smithy/util-stream': 4.2.4
+ tslib: 2.8.1
+
+ '@aws-sdk/credential-provider-ini@3.804.0':
+ dependencies:
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-env': 3.804.0
+ '@aws-sdk/credential-provider-http': 3.804.0
+ '@aws-sdk/credential-provider-process': 3.804.0
+ '@aws-sdk/credential-provider-sso': 3.804.0
+ '@aws-sdk/credential-provider-web-identity': 3.804.0
+ '@aws-sdk/nested-clients': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/credential-provider-imds': 4.0.2
+ '@smithy/property-provider': 4.0.2
+ '@smithy/shared-ini-file-loader': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+ transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/credential-provider-ini@3.635.0(@aws-sdk/client-sso-oidc@3.635.0)(@aws-sdk/client-sts@3.635.0):
- resolution: {integrity: sha512-+OqcNhhOFFY08YHLjO9/Y1n37RKAO7LADnsJ7VTXca7IfvYh27BVBn+FdlqnyEb1MQ5ArHTY4pq3pKRIg6RW4Q==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.635.0
- dependencies:
- '@aws-sdk/client-sts': 3.635.0
- '@aws-sdk/credential-provider-env': 3.620.1
- '@aws-sdk/credential-provider-http': 3.635.0
- '@aws-sdk/credential-provider-process': 3.620.1
- '@aws-sdk/credential-provider-sso': 3.635.0(@aws-sdk/client-sso-oidc@3.635.0)
- '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.635.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/credential-provider-imds': 3.2.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
+ '@aws-sdk/credential-provider-ini@3.863.0':
+ dependencies:
+ '@aws-sdk/core': 3.863.0
+ '@aws-sdk/credential-provider-env': 3.863.0
+ '@aws-sdk/credential-provider-http': 3.863.0
+ '@aws-sdk/credential-provider-process': 3.863.0
+ '@aws-sdk/credential-provider-sso': 3.863.0
+ '@aws-sdk/credential-provider-web-identity': 3.863.0
+ '@aws-sdk/nested-clients': 3.863.0
+ '@aws-sdk/types': 3.862.0
+ '@smithy/credential-provider-imds': 4.0.7
+ '@smithy/property-provider': 4.0.5
+ '@smithy/shared-ini-file-loader': 4.0.5
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
+ transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/credential-provider-ini@3.637.0(@aws-sdk/client-sso-oidc@3.637.0)(@aws-sdk/client-sts@3.637.0):
- resolution: {integrity: sha512-h+PFCWfZ0Q3Dx84SppET/TFpcQHmxFW8/oV9ArEvMilw4EBN+IlxgbL0CnHwjHW64szcmrM0mbebjEfHf4FXmw==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.637.0
- dependencies:
- '@aws-sdk/client-sts': 3.637.0
- '@aws-sdk/credential-provider-env': 3.620.1
- '@aws-sdk/credential-provider-http': 3.635.0
- '@aws-sdk/credential-provider-process': 3.620.1
- '@aws-sdk/credential-provider-sso': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0)
- '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/credential-provider-imds': 3.2.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
+ '@aws-sdk/credential-provider-node@3.804.0':
+ dependencies:
+ '@aws-sdk/credential-provider-env': 3.804.0
+ '@aws-sdk/credential-provider-http': 3.804.0
+ '@aws-sdk/credential-provider-ini': 3.804.0
+ '@aws-sdk/credential-provider-process': 3.804.0
+ '@aws-sdk/credential-provider-sso': 3.804.0
+ '@aws-sdk/credential-provider-web-identity': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/credential-provider-imds': 4.0.2
+ '@smithy/property-provider': 4.0.2
+ '@smithy/shared-ini-file-loader': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+ transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/credential-provider-ini@3.679.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.620.1):
- resolution: {integrity: sha512-Rg7t8RwUzKcumpipG4neZqaeJ6DF+Bco1+FHn5BZB68jpvwvjBjcQUuWkxj18B6ctYHr1fkunnzeKEn/+vy7+w==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.679.0
- dependencies:
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.679.0
- '@aws-sdk/credential-provider-env': 3.679.0
- '@aws-sdk/credential-provider-http': 3.679.0
- '@aws-sdk/credential-provider-process': 3.679.0
- '@aws-sdk/credential-provider-sso': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0)
- '@aws-sdk/credential-provider-web-identity': 3.679.0(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/types': 3.679.0
- '@smithy/credential-provider-imds': 3.2.5
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
+ '@aws-sdk/credential-provider-node@3.863.0':
+ dependencies:
+ '@aws-sdk/credential-provider-env': 3.863.0
+ '@aws-sdk/credential-provider-http': 3.863.0
+ '@aws-sdk/credential-provider-ini': 3.863.0
+ '@aws-sdk/credential-provider-process': 3.863.0
+ '@aws-sdk/credential-provider-sso': 3.863.0
+ '@aws-sdk/credential-provider-web-identity': 3.863.0
+ '@aws-sdk/types': 3.862.0
+ '@smithy/credential-provider-imds': 4.0.7
+ '@smithy/property-provider': 4.0.5
+ '@smithy/shared-ini-file-loader': 4.0.5
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
+ transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/credential-provider-node@3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1):
- resolution: {integrity: sha512-KaprIJW2azM+oTIHi7S1ayJ3oQqoFwpMBWFpZM1nvSzaPucrZIUmX2m4uVrMM4LfXsfUsgMkrme2rBI1fGAjCg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-process@3.804.0':
dependencies:
- '@aws-sdk/credential-provider-env': 3.620.1
- '@aws-sdk/credential-provider-http': 3.620.0
- '@aws-sdk/credential-provider-ini': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/credential-provider-process': 3.620.1
- '@aws-sdk/credential-provider-sso': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)
- '@aws-sdk/credential-provider-web-identity': 3.609.0(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/types': 3.609.0
- '@smithy/credential-provider-imds': 3.2.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - '@aws-sdk/client-sts'
- - aws-crt
- dev: false
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/property-provider': 4.0.2
+ '@smithy/shared-ini-file-loader': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@aws-sdk/credential-provider-node@3.620.1(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.620.1):
- resolution: {integrity: sha512-KaprIJW2azM+oTIHi7S1ayJ3oQqoFwpMBWFpZM1nvSzaPucrZIUmX2m4uVrMM4LfXsfUsgMkrme2rBI1fGAjCg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-process@3.863.0':
dependencies:
- '@aws-sdk/credential-provider-env': 3.620.1
- '@aws-sdk/credential-provider-http': 3.620.0
- '@aws-sdk/credential-provider-ini': 3.620.1(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/credential-provider-process': 3.620.1
- '@aws-sdk/credential-provider-sso': 3.620.1(@aws-sdk/client-sso-oidc@3.679.0)
- '@aws-sdk/credential-provider-web-identity': 3.609.0(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/types': 3.609.0
- '@smithy/credential-provider-imds': 3.2.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - '@aws-sdk/client-sts'
- - aws-crt
- dev: false
+ '@aws-sdk/core': 3.863.0
+ '@aws-sdk/types': 3.862.0
+ '@smithy/property-provider': 4.0.5
+ '@smithy/shared-ini-file-loader': 4.0.5
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@aws-sdk/credential-provider-node@3.635.0(@aws-sdk/client-sso-oidc@3.635.0)(@aws-sdk/client-sts@3.635.0):
- resolution: {integrity: sha512-bmd23mnb94S6AxmWPgqJTnvT9ONKlTx7EPafE1RNO+vUl6mHih4iyqX6ZPaRcSfaPx4U1R7H1RM8cSnafXgaBg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-sso@3.804.0':
dependencies:
- '@aws-sdk/credential-provider-env': 3.620.1
- '@aws-sdk/credential-provider-http': 3.635.0
- '@aws-sdk/credential-provider-ini': 3.635.0(@aws-sdk/client-sso-oidc@3.635.0)(@aws-sdk/client-sts@3.635.0)
- '@aws-sdk/credential-provider-process': 3.620.1
- '@aws-sdk/credential-provider-sso': 3.635.0(@aws-sdk/client-sso-oidc@3.635.0)
- '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.635.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/credential-provider-imds': 3.2.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - '@aws-sdk/client-sts'
+ '@aws-sdk/client-sso': 3.804.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/token-providers': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/property-provider': 4.0.2
+ '@smithy/shared-ini-file-loader': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+ transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/credential-provider-node@3.637.0(@aws-sdk/client-sso-oidc@3.637.0)(@aws-sdk/client-sts@3.637.0):
- resolution: {integrity: sha512-yoEhoxJJfs7sPVQ6Is939BDQJZpZCoUgKr/ySse4YKOZ24t4VqgHA6+wV7rYh+7IW24Rd91UTvEzSuHYTlxlNA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-sso@3.863.0':
dependencies:
- '@aws-sdk/credential-provider-env': 3.620.1
- '@aws-sdk/credential-provider-http': 3.635.0
- '@aws-sdk/credential-provider-ini': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0)(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/credential-provider-process': 3.620.1
- '@aws-sdk/credential-provider-sso': 3.637.0(@aws-sdk/client-sso-oidc@3.637.0)
- '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/credential-provider-imds': 3.2.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - '@aws-sdk/client-sts'
+ '@aws-sdk/client-sso': 3.863.0
+ '@aws-sdk/core': 3.863.0
+ '@aws-sdk/token-providers': 3.863.0
+ '@aws-sdk/types': 3.862.0
+ '@smithy/property-provider': 4.0.5
+ '@smithy/shared-ini-file-loader': 4.0.5
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
+ transitivePeerDependencies:
- aws-crt
- dev: false
- /@aws-sdk/credential-provider-node@3.679.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.620.1):
- resolution: {integrity: sha512-E3lBtaqCte8tWs6Rkssc8sLzvGoJ10TLGvpkijOlz43wPd6xCRh1YLwg6zolf9fVFtEyUs/GsgymiASOyxhFtw==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-web-identity@3.804.0':
dependencies:
- '@aws-sdk/credential-provider-env': 3.679.0
- '@aws-sdk/credential-provider-http': 3.679.0
- '@aws-sdk/credential-provider-ini': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/credential-provider-process': 3.679.0
- '@aws-sdk/credential-provider-sso': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0)
- '@aws-sdk/credential-provider-web-identity': 3.679.0(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/types': 3.679.0
- '@smithy/credential-provider-imds': 3.2.5
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - '@aws-sdk/client-sts'
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/nested-clients': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/property-provider': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+ transitivePeerDependencies:
- aws-crt
- dev: false
-
- /@aws-sdk/credential-provider-process@3.620.1:
- resolution: {integrity: sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/credential-provider-process@3.679.0:
- resolution: {integrity: sha512-u/p4TV8kQ0zJWDdZD4+vdQFTMhkDEJFws040Gm113VHa/Xo1SYOjbpvqeuFoz6VmM0bLvoOWjxB9MxnSQbwKpQ==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/core': 3.679.0
- '@aws-sdk/types': 3.679.0
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
- /@aws-sdk/credential-provider-sso@3.620.1(@aws-sdk/client-sso-oidc@3.620.1):
- resolution: {integrity: sha512-cFU8e6ctdkWR8BRCnHFzs37N+ilbHf1OT2EeMjt1ZDE9FgTD5L5BTgVWDxnPmyQnEoBs1p4PyNPHkpHY5EmswQ==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/credential-provider-web-identity@3.863.0':
dependencies:
- '@aws-sdk/client-sso': 3.620.1
- '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.620.1)
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
+ '@aws-sdk/core': 3.863.0
+ '@aws-sdk/nested-clients': 3.863.0
+ '@aws-sdk/types': 3.862.0
+ '@smithy/property-provider': 4.0.5
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- aws-crt
- dev: false
- /@aws-sdk/credential-provider-sso@3.620.1(@aws-sdk/client-sso-oidc@3.679.0):
- resolution: {integrity: sha512-cFU8e6ctdkWR8BRCnHFzs37N+ilbHf1OT2EeMjt1ZDE9FgTD5L5BTgVWDxnPmyQnEoBs1p4PyNPHkpHY5EmswQ==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/client-sso': 3.620.1
- '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.679.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
+ '@aws-sdk/credential-providers@3.804.0':
+ dependencies:
+ '@aws-sdk/client-cognito-identity': 3.804.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/credential-provider-cognito-identity': 3.804.0
+ '@aws-sdk/credential-provider-env': 3.804.0
+ '@aws-sdk/credential-provider-http': 3.804.0
+ '@aws-sdk/credential-provider-ini': 3.804.0
+ '@aws-sdk/credential-provider-node': 3.804.0
+ '@aws-sdk/credential-provider-process': 3.804.0
+ '@aws-sdk/credential-provider-sso': 3.804.0
+ '@aws-sdk/credential-provider-web-identity': 3.804.0
+ '@aws-sdk/nested-clients': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/credential-provider-imds': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/property-provider': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- aws-crt
- dev: false
- /@aws-sdk/credential-provider-sso@3.635.0(@aws-sdk/client-sso-oidc@3.635.0):
- resolution: {integrity: sha512-hO/fKyvUaGpK9zyvCnmJz70EputvGWDr2UTOn/RzvcR6UB4yXoFf0QcCMubEsE3v67EsAv6PadgOeJ0vz6IazA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/endpoint-cache@3.804.0':
dependencies:
- '@aws-sdk/client-sso': 3.635.0
- '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.635.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - aws-crt
- dev: false
+ mnemonist: 0.38.3
+ tslib: 2.8.1
- /@aws-sdk/credential-provider-sso@3.637.0(@aws-sdk/client-sso-oidc@3.637.0):
- resolution: {integrity: sha512-Mvz+h+e62/tl+dVikLafhv+qkZJ9RUb8l2YN/LeKMWkxQylPT83CPk9aimVhCV89zth1zpREArl97+3xsfgQvA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/lib-dynamodb@3.804.0(@aws-sdk/client-dynamodb@3.804.0)':
dependencies:
- '@aws-sdk/client-sso': 3.637.0
- '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.637.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - aws-crt
- dev: false
+ '@aws-sdk/client-dynamodb': 3.804.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/util-dynamodb': 3.804.0(@aws-sdk/client-dynamodb@3.804.0)
+ '@smithy/core': 3.3.1
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@aws-sdk/credential-provider-sso@3.679.0(@aws-sdk/client-sso-oidc@3.679.0):
- resolution: {integrity: sha512-SAtWonhi9asxn0ukEbcE81jkyanKgqpsrtskvYPpO9Z9KOednM4Cqt6h1bfcS9zaHjN2zu815Gv8O7WiV+F/DQ==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/middleware-bucket-endpoint@3.804.0':
dependencies:
- '@aws-sdk/client-sso': 3.679.0
- '@aws-sdk/core': 3.679.0
- '@aws-sdk/token-providers': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0)
- '@aws-sdk/types': 3.679.0
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- - aws-crt
- dev: false
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-arn-parser': 3.804.0
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ '@smithy/util-config-provider': 4.0.0
+ tslib: 2.8.1
- /@aws-sdk/credential-provider-web-identity@3.609.0(@aws-sdk/client-sts@3.620.1):
- resolution: {integrity: sha512-U+PG8NhlYYF45zbr1km3ROtBMYqyyj/oK8NRp++UHHeuavgrP+4wJ4wQnlEaKvJBjevfo3+dlIBcaeQ7NYejWg==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.609.0
+ '@aws-sdk/middleware-endpoint-discovery@3.804.0':
dependencies:
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/endpoint-cache': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@aws-sdk/credential-provider-web-identity@3.621.0(@aws-sdk/client-sts@3.635.0):
- resolution: {integrity: sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.621.0
+ '@aws-sdk/middleware-expect-continue@3.804.0':
dependencies:
- '@aws-sdk/client-sts': 3.635.0
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/types': 3.804.0
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@aws-sdk/credential-provider-web-identity@3.621.0(@aws-sdk/client-sts@3.637.0):
- resolution: {integrity: sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.621.0
+ '@aws-sdk/middleware-flexible-checksums@3.804.0':
dependencies:
- '@aws-sdk/client-sts': 3.637.0
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-crypto/crc32': 5.2.0
+ '@aws-crypto/crc32c': 5.2.0
+ '@aws-crypto/util': 5.2.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/is-array-buffer': 4.0.0
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-stream': 4.2.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-host-header@3.804.0':
+ dependencies:
+ '@aws-sdk/types': 3.804.0
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-host-header@3.862.0':
+ dependencies:
+ '@aws-sdk/types': 3.862.0
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-location-constraint@3.804.0':
+ dependencies:
+ '@aws-sdk/types': 3.804.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-logger@3.804.0':
+ dependencies:
+ '@aws-sdk/types': 3.804.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-logger@3.862.0':
+ dependencies:
+ '@aws-sdk/types': 3.862.0
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-recursion-detection@3.804.0':
+ dependencies:
+ '@aws-sdk/types': 3.804.0
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-recursion-detection@3.862.0':
+ dependencies:
+ '@aws-sdk/types': 3.862.0
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-sdk-api-gateway@3.804.0':
+ dependencies:
+ '@aws-sdk/types': 3.804.0
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-sdk-s3-control@3.804.0':
+ dependencies:
+ '@aws-sdk/middleware-bucket-endpoint': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-arn-parser': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ '@smithy/util-endpoints': 3.0.2
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-sdk-s3@3.804.0':
+ dependencies:
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-arn-parser': 3.804.0
+ '@smithy/core': 3.3.1
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/signature-v4': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/util-config-provider': 4.0.0
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-stream': 4.2.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-ssec@3.804.0':
+ dependencies:
+ '@aws-sdk/types': 3.804.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/middleware-user-agent@3.804.0':
+ dependencies:
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@smithy/core': 3.3.1
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@aws-sdk/credential-provider-web-identity@3.679.0(@aws-sdk/client-sts@3.620.1):
- resolution: {integrity: sha512-a74tLccVznXCaBefWPSysUcLXYJiSkeUmQGtalNgJ1vGkE36W5l/8czFiiowdWdKWz7+x6xf0w+Kjkjlj42Ung==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sts': ^3.679.0
+ '@aws-sdk/middleware-user-agent@3.863.0':
dependencies:
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/core': 3.679.0
- '@aws-sdk/types': 3.679.0
- '@smithy/property-provider': 3.1.8
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/core': 3.863.0
+ '@aws-sdk/types': 3.862.0
+ '@aws-sdk/util-endpoints': 3.862.0
+ '@smithy/core': 3.8.0
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@aws-sdk/credential-providers@3.620.1(@aws-sdk/client-sso-oidc@3.679.0):
- resolution: {integrity: sha512-jclJi7bNtwYBrlzMwuTLqbYIKqLb00JSRJG7oQHXuQYbVAKkU2iRhnLpitLBfXklyEIDv/LmW+MKvq8uOhYNkQ==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/nested-clients@3.804.0':
dependencies:
- '@aws-sdk/client-cognito-identity': 3.620.1
- '@aws-sdk/client-sso': 3.620.1
- '@aws-sdk/client-sts': 3.620.1
- '@aws-sdk/credential-provider-cognito-identity': 3.620.1
- '@aws-sdk/credential-provider-env': 3.620.1
- '@aws-sdk/credential-provider-http': 3.620.0
- '@aws-sdk/credential-provider-ini': 3.620.1(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/credential-provider-process': 3.620.1
- '@aws-sdk/credential-provider-sso': 3.620.1(@aws-sdk/client-sso-oidc@3.679.0)
- '@aws-sdk/credential-provider-web-identity': 3.609.0(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/types': 3.609.0
- '@smithy/credential-provider-imds': 3.2.0
- '@smithy/property-provider': 3.1.3
- '@smithy/types': 3.3.0
- tslib: 2.6.2
+ '@aws-crypto/sha256-browser': 5.2.0
+ '@aws-crypto/sha256-js': 5.2.0
+ '@aws-sdk/core': 3.804.0
+ '@aws-sdk/middleware-host-header': 3.804.0
+ '@aws-sdk/middleware-logger': 3.804.0
+ '@aws-sdk/middleware-recursion-detection': 3.804.0
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/region-config-resolver': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-endpoints': 3.804.0
+ '@aws-sdk/util-user-agent-browser': 3.804.0
+ '@aws-sdk/util-user-agent-node': 3.804.0
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/core': 3.3.1
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/hash-node': 4.0.2
+ '@smithy/invalid-dependency': 4.0.2
+ '@smithy/middleware-content-length': 4.0.2
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-retry': 4.1.3
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.10
+ '@smithy/util-defaults-mode-node': 4.0.10
+ '@smithy/util-endpoints': 3.0.2
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
transitivePeerDependencies:
- - '@aws-sdk/client-sso-oidc'
- aws-crt
- dev: false
-
- /@aws-sdk/endpoint-cache@3.572.0:
- resolution: {integrity: sha512-CzuRWMj/xtN9p9eP915nlPmlyniTzke732Ow/M60++gGgB3W+RtZyFftw3TEx+NzNhd1tH54dEcGiWdiNaBz3Q==}
- engines: {node: '>=16.0.0'}
- dependencies:
- mnemonist: 0.38.3
- tslib: 2.8.0
- dev: false
- /@aws-sdk/lib-dynamodb@3.620.1(@aws-sdk/client-dynamodb@3.620.1):
- resolution: {integrity: sha512-GCFEX4O+AZpawGGunGbf71M7G3r0Nat7KznnWwZb54AKzUraLAQ6C8ORQurjWVLDam6Nyr7n1UH/PNZiCS7T3A==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-dynamodb': ^3.620.1
+ '@aws-sdk/nested-clients@3.863.0':
dependencies:
- '@aws-sdk/client-dynamodb': 3.620.1
- '@aws-sdk/util-dynamodb': 3.620.1(@aws-sdk/client-dynamodb@3.620.1)
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.3.0
- tslib: 2.6.2
- dev: false
+ '@aws-crypto/sha256-browser': 5.2.0
+ '@aws-crypto/sha256-js': 5.2.0
+ '@aws-sdk/core': 3.863.0
+ '@aws-sdk/middleware-host-header': 3.862.0
+ '@aws-sdk/middleware-logger': 3.862.0
+ '@aws-sdk/middleware-recursion-detection': 3.862.0
+ '@aws-sdk/middleware-user-agent': 3.863.0
+ '@aws-sdk/region-config-resolver': 3.862.0
+ '@aws-sdk/types': 3.862.0
+ '@aws-sdk/util-endpoints': 3.862.0
+ '@aws-sdk/util-user-agent-browser': 3.862.0
+ '@aws-sdk/util-user-agent-node': 3.863.0
+ '@smithy/config-resolver': 4.1.5
+ '@smithy/core': 3.8.0
+ '@smithy/fetch-http-handler': 5.1.1
+ '@smithy/hash-node': 4.0.5
+ '@smithy/invalid-dependency': 4.0.5
+ '@smithy/middleware-content-length': 4.0.5
+ '@smithy/middleware-endpoint': 4.1.18
+ '@smithy/middleware-retry': 4.1.19
+ '@smithy/middleware-serde': 4.0.9
+ '@smithy/middleware-stack': 4.0.5
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/node-http-handler': 4.1.1
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/smithy-client': 4.4.10
+ '@smithy/types': 4.3.2
+ '@smithy/url-parser': 4.0.5
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-body-length-node': 4.0.0
+ '@smithy/util-defaults-mode-browser': 4.0.26
+ '@smithy/util-defaults-mode-node': 4.0.26
+ '@smithy/util-endpoints': 3.0.7
+ '@smithy/util-middleware': 4.0.5
+ '@smithy/util-retry': 4.0.7
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - aws-crt
- /@aws-sdk/middleware-bucket-endpoint@3.620.0:
- resolution: {integrity: sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-arn-parser': 3.568.0
- '@smithy/node-config-provider': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- '@smithy/util-config-provider': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/middleware-endpoint-discovery@3.620.0:
- resolution: {integrity: sha512-T6kuydHBF4BPP5CVH53Fze7c2b9rqxWP88XrGtmNMXXdY4sXur1v/itGdS2l3gqRjxKo0LsmjmuQm9zL4vGneQ==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/endpoint-cache': 3.572.0
- '@aws-sdk/types': 3.609.0
- '@smithy/node-config-provider': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/region-config-resolver@3.804.0':
+ dependencies:
+ '@aws-sdk/types': 3.804.0
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/types': 4.2.0
+ '@smithy/util-config-provider': 4.0.0
+ '@smithy/util-middleware': 4.0.2
+ tslib: 2.8.1
+
+ '@aws-sdk/region-config-resolver@3.862.0':
+ dependencies:
+ '@aws-sdk/types': 3.862.0
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/types': 4.3.2
+ '@smithy/util-config-provider': 4.0.0
+ '@smithy/util-middleware': 4.0.5
+ tslib: 2.8.1
+
+ '@aws-sdk/s3-request-presigner@3.804.0':
+ dependencies:
+ '@aws-sdk/signature-v4-multi-region': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@aws-sdk/util-format-url': 3.804.0
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/signature-v4-multi-region@3.804.0':
+ dependencies:
+ '@aws-sdk/middleware-sdk-s3': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/signature-v4': 5.1.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+
+ '@aws-sdk/token-providers@3.804.0':
+ dependencies:
+ '@aws-sdk/nested-clients': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/property-provider': 4.0.2
+ '@smithy/shared-ini-file-loader': 4.0.2
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - aws-crt
- /@aws-sdk/middleware-expect-continue@3.620.0:
- resolution: {integrity: sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/token-providers@3.863.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/core': 3.863.0
+ '@aws-sdk/nested-clients': 3.863.0
+ '@aws-sdk/types': 3.862.0
+ '@smithy/property-provider': 4.0.5
+ '@smithy/shared-ini-file-loader': 4.0.5
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - aws-crt
- /@aws-sdk/middleware-flexible-checksums@3.620.0:
- resolution: {integrity: sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-crypto/crc32': 5.2.0
- '@aws-crypto/crc32c': 5.2.0
- '@aws-sdk/types': 3.609.0
- '@smithy/is-array-buffer': 3.0.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/middleware-host-header@3.620.0:
- resolution: {integrity: sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/types@3.804.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@aws-sdk/middleware-host-header@3.679.0:
- resolution: {integrity: sha512-y176HuQ8JRY3hGX8rQzHDSbCl9P5Ny9l16z4xmaiLo+Qfte7ee4Yr3yaAKd7GFoJ3/Mhud2XZ37fR015MfYl2w==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/types@3.862.0':
dependencies:
- '@aws-sdk/types': 3.679.0
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@aws-sdk/middleware-location-constraint@3.609.0:
- resolution: {integrity: sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-arn-parser@3.804.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@aws-sdk/middleware-logger@3.609.0:
- resolution: {integrity: sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-dynamodb@3.804.0(@aws-sdk/client-dynamodb@3.804.0)':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/client-dynamodb': 3.804.0
+ tslib: 2.8.1
- /@aws-sdk/middleware-logger@3.679.0:
- resolution: {integrity: sha512-0vet8InEj7nvIvGKk+ch7bEF5SyZ7Us9U7YTEgXPrBNStKeRUsgwRm0ijPWWd0a3oz2okaEwXsFl7G/vI0XiEA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-endpoints@3.804.0':
dependencies:
- '@aws-sdk/types': 3.679.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/types': 3.804.0
+ '@smithy/types': 4.2.0
+ '@smithy/util-endpoints': 3.0.2
+ tslib: 2.8.1
- /@aws-sdk/middleware-recursion-detection@3.620.0:
- resolution: {integrity: sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-endpoints@3.862.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/types': 3.862.0
+ '@smithy/types': 4.3.2
+ '@smithy/url-parser': 4.0.5
+ '@smithy/util-endpoints': 3.0.7
+ tslib: 2.8.1
- /@aws-sdk/middleware-recursion-detection@3.679.0:
- resolution: {integrity: sha512-sQoAZFsQiW/LL3DfKMYwBoGjYDEnMbA9WslWN8xneCmBAwKo6IcSksvYs23PP8XMIoBGe2I2J9BSr654XWygTQ==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-format-url@3.804.0':
dependencies:
- '@aws-sdk/types': 3.679.0
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/types': 3.804.0
+ '@smithy/querystring-builder': 4.0.2
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@aws-sdk/middleware-sdk-api-gateway@3.620.0:
- resolution: {integrity: sha512-JH8JzZb5CTry5Xit51jwyES8cqihaUWJVS3pcr5L73g8qLDUnvfg2IJJJ7pXs0hVAaCNjDs4L97DW3ity76CUA==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-locate-window@3.804.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@aws-sdk/middleware-sdk-s3-control@3.620.0:
- resolution: {integrity: sha512-Oxxk3RcJqqbZd1LyDFx4fxwQGjxSoitxQK4FmtJ4Oy7Kn/kZjgQwTXuzJoMqVoWk1bJjDDeMbDkxVs3sqWCd+g==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/middleware-bucket-endpoint': 3.620.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-arn-parser': 3.568.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- '@smithy/util-endpoints': 2.0.5
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/middleware-sdk-s3@3.620.0:
- resolution: {integrity: sha512-AAZ6NLVOx/bP97PYj/afCMeySzxOHocgJG3ZXh6f8MnJcGpZgx8NyRm0vtiYUTFrS2JtU4xV05Dl3j4afV3s4A==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-arn-parser': 3.568.0
- '@smithy/node-config-provider': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/signature-v4': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.6.0
- '@smithy/util-config-provider': 3.0.0
- '@smithy/util-stream': 3.1.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/middleware-signing@3.620.0:
- resolution: {integrity: sha512-gxI7rubiaanUXaLfJ4NybERa9MGPNg2Ycl/OqANsozrBnR3Pw8vqy3EuVImQOyn2pJ2IFvl8ZPoSMHf4pX56FQ==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/protocol-http': 4.1.0
- '@smithy/signature-v4': 4.1.0
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.3
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/middleware-ssec@3.609.0:
- resolution: {integrity: sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-user-agent-browser@3.804.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/types': 3.804.0
+ '@smithy/types': 4.2.0
+ bowser: 2.11.0
+ tslib: 2.8.1
- /@aws-sdk/middleware-user-agent@3.620.0:
- resolution: {integrity: sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-user-agent-browser@3.862.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.614.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/types': 3.862.0
+ '@smithy/types': 4.3.2
+ bowser: 2.11.0
+ tslib: 2.8.1
- /@aws-sdk/middleware-user-agent@3.632.0:
- resolution: {integrity: sha512-yY/sFsHKwG9yzSf/DTclqWJaGPI2gPBJDCGBujSqTG1zlS7Ot4fqi91DZ6088BFWzbOorDzJFcAhAEFzc6LuQg==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-user-agent-node@3.804.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.632.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/middleware-user-agent': 3.804.0
+ '@aws-sdk/types': 3.804.0
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@aws-sdk/middleware-user-agent@3.637.0:
- resolution: {integrity: sha512-EYo0NE9/da/OY8STDsK2LvM4kNa79DBsf4YVtaG4P5pZ615IeFsD8xOHZeuJmUrSMlVQ8ywPRX7WMucUybsKug==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/util-user-agent-node@3.863.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-endpoints': 3.637.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@aws-sdk/middleware-user-agent': 3.863.0
+ '@aws-sdk/types': 3.862.0
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@aws-sdk/middleware-user-agent@3.679.0:
- resolution: {integrity: sha512-4hdeXhPDURPqQLPd9jCpUEo9fQITXl3NM3W1MwcJpE0gdUM36uXkQOYsTPeeU/IRCLVjK8Htlh2oCaM9iJrLCA==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/core': 3.679.0
- '@aws-sdk/types': 3.679.0
- '@aws-sdk/util-endpoints': 3.679.0
- '@smithy/core': 2.5.1
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
-
- /@aws-sdk/region-config-resolver@3.614.0:
- resolution: {integrity: sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/xml-builder@3.804.0':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/node-config-provider': 3.1.4
- '@smithy/types': 3.6.0
- '@smithy/util-config-provider': 3.0.0
- '@smithy/util-middleware': 3.0.3
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@aws-sdk/region-config-resolver@3.679.0:
- resolution: {integrity: sha512-Ybx54P8Tg6KKq5ck7uwdjiKif7n/8g1x+V0V9uTjBjRWqaIgiqzXwKWoPj6NCNkE7tJNtqI4JrNxp/3S3HvmRw==}
- engines: {node: '>=16.0.0'}
+ '@aws-sdk/xml-builder@3.862.0':
dependencies:
- '@aws-sdk/types': 3.679.0
- '@smithy/node-config-provider': 3.1.9
- '@smithy/types': 3.6.0
- '@smithy/util-config-provider': 3.0.0
- '@smithy/util-middleware': 3.0.8
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@aws-sdk/s3-request-presigner@3.620.1:
- resolution: {integrity: sha512-IXOhhwYgQcDP5DqRq+zZaY01310kwefr9VZ/ESeVrxACvousxLzPRCFHCOBBBkhEgKpxWXw4WnuMfI8W0bqfzA==}
- engines: {node: '>=16.0.0'}
+ '@babel/code-frame@7.27.1':
dependencies:
- '@aws-sdk/signature-v4-multi-region': 3.620.0
- '@aws-sdk/types': 3.609.0
- '@aws-sdk/util-format-url': 3.609.0
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.3.0
- tslib: 2.6.2
- dev: false
+ '@babel/helper-validator-identifier': 7.27.1
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
- /@aws-sdk/signature-v4-multi-region@3.620.0:
- resolution: {integrity: sha512-yu1pTCqIbkSdaOvmyfW9vV9jWe3pDApkQPZLg4VEN5dXDWRtgQ/amv88myyCEoG14irUN1tsbvytcKzGyEXnhA==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/middleware-sdk-s3': 3.620.0
- '@aws-sdk/types': 3.609.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/signature-v4': 4.1.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@babel/compat-data@7.27.2': {}
- /@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.620.1):
- resolution: {integrity: sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sso-oidc': ^3.614.0
+ '@babel/core@7.27.1':
dependencies:
- '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.27.1
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-module-transforms': 7.27.1(@babel/core@7.27.1)
+ '@babel/helpers': 7.27.1
+ '@babel/parser': 7.27.2
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.27.1
+ '@babel/types': 7.27.1
+ convert-source-map: 2.0.0
+ debug: 4.4.0
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
- /@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.635.0):
- resolution: {integrity: sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sso-oidc': ^3.614.0
- dependencies:
- '@aws-sdk/client-sso-oidc': 3.635.0(@aws-sdk/client-sts@3.635.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@babel/core@7.28.4':
+ 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/core@7.28.4)
+ '@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
+ '@jridgewell/remapping': 2.3.5
+ convert-source-map: 2.0.0
+ debug: 4.4.0
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
- /@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.637.0):
- resolution: {integrity: sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sso-oidc': ^3.614.0
+ '@babel/generator@7.27.1':
dependencies:
- '@aws-sdk/client-sso-oidc': 3.637.0(@aws-sdk/client-sts@3.637.0)
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@babel/parser': 7.27.2
+ '@babel/types': 7.27.1
+ '@jridgewell/gen-mapping': 0.3.8
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 3.1.0
- /@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.679.0):
- resolution: {integrity: sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sso-oidc': ^3.614.0
+ '@babel/generator@7.28.3':
dependencies:
- '@aws-sdk/client-sso-oidc': 3.679.0(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/types': 3.609.0
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ jsesc: 3.1.0
- /@aws-sdk/token-providers@3.679.0(@aws-sdk/client-sso-oidc@3.679.0):
- resolution: {integrity: sha512-1/+Zso/x2jqgutKixYFQEGli0FELTgah6bm7aB+m2FAWH4Hz7+iMUsazg6nSWm714sG9G3h5u42Dmpvi9X6/hA==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-sso-oidc': ^3.679.0
+ '@babel/helper-annotate-as-pure@7.27.1':
dependencies:
- '@aws-sdk/client-sso-oidc': 3.679.0(@aws-sdk/client-sts@3.620.1)
- '@aws-sdk/types': 3.679.0
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@babel/types': 7.27.1
- /@aws-sdk/types@3.609.0:
- resolution: {integrity: sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==}
- engines: {node: '>=16.0.0'}
+ '@babel/helper-compilation-targets@7.27.2':
dependencies:
- '@smithy/types': 3.3.0
- tslib: 2.6.2
- dev: false
+ '@babel/compat-data': 7.27.2
+ '@babel/helper-validator-option': 7.27.1
+ browserslist: 4.24.5
+ lru-cache: 5.1.1
+ semver: 6.3.1
- /@aws-sdk/types@3.679.0:
- resolution: {integrity: sha512-NwVq8YvInxQdJ47+zz4fH3BRRLC6lL+WLkvr242PVBbUOLRyK/lkwHlfiKUoeVIMyK5NF+up6TRg71t/8Bny6Q==}
- engines: {node: '>=16.0.0'}
+ '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-annotate-as-pure': 7.27.1
+ '@babel/helper-member-expression-to-functions': 7.27.1
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/traverse': 7.27.1
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
- /@aws-sdk/util-arn-parser@3.568.0:
- resolution: {integrity: sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==}
- engines: {node: '>=16.0.0'}
+ '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.27.1)':
dependencies:
- tslib: 2.8.0
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-annotate-as-pure': 7.27.1
+ regexpu-core: 6.2.0
+ semver: 6.3.1
- /@aws-sdk/util-dynamodb@3.620.1(@aws-sdk/client-dynamodb@3.620.1):
- resolution: {integrity: sha512-x54SdqDvXr6NrFLL9wqDpX9avpTenhuB4fsoCVk/fxgL5jQsypI2+nCZtY4BXdaI1pi17Jca0+K6pqGkKIQHHA==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- '@aws-sdk/client-dynamodb': ^3.620.1
+ '@babel/helper-define-polyfill-provider@0.6.4(@babel/core@7.27.1)':
dependencies:
- '@aws-sdk/client-dynamodb': 3.620.1
- tslib: 2.8.0
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.27.1
+ debug: 4.4.0
+ lodash.debounce: 4.0.8
+ resolve: 1.22.10
+ transitivePeerDependencies:
+ - supports-color
- /@aws-sdk/util-endpoints@3.614.0:
- resolution: {integrity: sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/types': 3.6.0
- '@smithy/util-endpoints': 2.0.5
- tslib: 2.8.0
- dev: false
+ '@babel/helper-globals@7.28.0': {}
- /@aws-sdk/util-endpoints@3.632.0:
- resolution: {integrity: sha512-LlYMU8pAbcEQphOpE6xaNLJ8kPGhklZZTVzZVpVW477NaaGgoGTMYNXTABYHcxeF5E2lLrxql9OmVpvr8GWN8Q==}
- engines: {node: '>=16.0.0'}
+ '@babel/helper-member-expression-to-functions@7.27.1':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/types': 3.6.0
- '@smithy/util-endpoints': 2.0.5
- tslib: 2.8.0
- dev: false
+ '@babel/traverse': 7.27.1
+ '@babel/types': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@aws-sdk/util-endpoints@3.637.0:
- resolution: {integrity: sha512-pAqOKUHeVWHEXXDIp/qoMk/6jyxIb6GGjnK1/f8dKHtKIEs4tKsnnL563gceEvdad53OPXIt86uoevCcCzmBnw==}
- engines: {node: '>=16.0.0'}
+ '@babel/helper-module-imports@7.27.1':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/types': 3.6.0
- '@smithy/util-endpoints': 2.0.5
- tslib: 2.8.0
- dev: false
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
- /@aws-sdk/util-endpoints@3.679.0:
- resolution: {integrity: sha512-YL6s4Y/1zC45OvddvgE139fjeWSKKPgLlnfrvhVL7alNyY9n7beR4uhoDpNrt5mI6sn9qiBF17790o+xLAXjjg==}
- engines: {node: '>=16.0.0'}
+ '@babel/helper-module-transforms@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@aws-sdk/types': 3.679.0
- '@smithy/types': 3.6.0
- '@smithy/util-endpoints': 2.1.4
- tslib: 2.8.0
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+ '@babel/traverse': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@aws-sdk/util-format-url@3.609.0:
- resolution: {integrity: sha512-fuk29BI/oLQlJ7pfm6iJ4gkEpHdavffAALZwXh9eaY1vQ0ip0aKfRTiNudPoJjyyahnz5yJ1HkmlcDitlzsOrQ==}
- engines: {node: '>=16.0.0'}
+ '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/querystring-builder': 3.0.3
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@babel/core': 7.28.4
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
- /@aws-sdk/util-locate-window@3.465.0:
- resolution: {integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==}
- engines: {node: '>=14.0.0'}
+ '@babel/helper-optimise-call-expression@7.27.1':
dependencies:
- tslib: 2.8.0
- dev: false
+ '@babel/types': 7.27.1
- /@aws-sdk/util-user-agent-browser@3.609.0:
- resolution: {integrity: sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==}
- dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/types': 3.6.0
- bowser: 2.11.0
- tslib: 2.8.0
- dev: false
+ '@babel/helper-plugin-utils@7.27.1': {}
- /@aws-sdk/util-user-agent-browser@3.679.0:
- resolution: {integrity: sha512-CusSm2bTBG1kFypcsqU8COhnYc6zltobsqs3nRrvYqYaOqtMnuE46K4XTWpnzKgwDejgZGOE+WYyprtAxrPvmQ==}
+ '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@aws-sdk/types': 3.679.0
- '@smithy/types': 3.6.0
- bowser: 2.11.0
- tslib: 2.8.0
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-annotate-as-pure': 7.27.1
+ '@babel/helper-wrap-function': 7.27.1
+ '@babel/traverse': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@aws-sdk/util-user-agent-node@3.614.0:
- resolution: {integrity: sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- aws-crt: '>=1.0.0'
- peerDependenciesMeta:
- aws-crt:
- optional: true
+ '@babel/helper-replace-supers@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@aws-sdk/types': 3.609.0
- '@smithy/node-config-provider': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-member-expression-to-functions': 7.27.1
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/traverse': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@aws-sdk/util-user-agent-node@3.679.0:
- resolution: {integrity: sha512-Bw4uXZ+NU5ed6TNfo4tBbhBSW+2eQxXYjYBGl5gLUNUpg2pDFToQAP6rXBFiwcG52V2ny5oLGiD82SoYuYkAVg==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- aws-crt: '>=1.0.0'
- peerDependenciesMeta:
- aws-crt:
- optional: true
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
dependencies:
- '@aws-sdk/middleware-user-agent': 3.679.0
- '@aws-sdk/types': 3.679.0
- '@smithy/node-config-provider': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@babel/traverse': 7.27.1
+ '@babel/types': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@aws-sdk/xml-builder@3.609.0:
- resolution: {integrity: sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@babel/helper-string-parser@7.27.1': {}
- /@babel/code-frame@7.23.5:
- resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 7.23.4
- chalk: 2.4.2
+ '@babel/helper-validator-identifier@7.27.1': {}
- /@babel/compat-data@7.23.5:
- resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
- engines: {node: '>=6.9.0'}
+ '@babel/helper-validator-option@7.27.1': {}
- /@babel/core@7.23.5:
- resolution: {integrity: sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==}
- engines: {node: '>=6.9.0'}
+ '@babel/helper-wrap-function@7.27.1':
dependencies:
- '@ampproject/remapping': 2.2.1
- '@babel/code-frame': 7.23.5
- '@babel/generator': 7.23.5
- '@babel/helper-compilation-targets': 7.22.15
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
- '@babel/helpers': 7.23.5
- '@babel/parser': 7.23.5
- '@babel/template': 7.22.15
- '@babel/traverse': 7.23.5
- '@babel/types': 7.23.5
- convert-source-map: 2.0.0
- debug: 4.3.4
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.27.1
+ '@babel/types': 7.27.1
transitivePeerDependencies:
- supports-color
- /@babel/generator@7.23.5:
- resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==}
- engines: {node: '>=6.9.0'}
+ '@babel/helpers@7.27.1':
dependencies:
- '@babel/types': 7.23.5
- '@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.20
- jsesc: 2.5.2
+ '@babel/template': 7.27.2
+ '@babel/types': 7.27.1
- /@babel/helper-annotate-as-pure@7.22.5:
- resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
- engines: {node: '>=6.9.0'}
+ '@babel/helpers@7.28.4':
dependencies:
- '@babel/types': 7.23.5
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.4
- /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15:
- resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
- engines: {node: '>=6.9.0'}
+ '@babel/parser@7.27.2':
dependencies:
- '@babel/types': 7.23.5
+ '@babel/types': 7.27.1
- /@babel/helper-compilation-targets@7.22.15:
- resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==}
- engines: {node: '>=6.9.0'}
+ '@babel/parser@7.28.4':
dependencies:
- '@babel/compat-data': 7.23.5
- '@babel/helper-validator-option': 7.23.5
- browserslist: 4.22.2
- lru-cache: 5.1.1
- semver: 6.3.1
+ '@babel/types': 7.28.4
- /@babel/helper-create-class-features-plugin@7.23.5(@babel/core@7.23.5):
- resolution: {integrity: sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-member-expression-to-functions': 7.23.0
- '@babel/helper-optimise-call-expression': 7.22.5
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5)
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/helper-split-export-declaration': 7.22.6
- semver: 6.3.1
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/traverse': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/helper-create-class-features-plugin@7.23.6(@babel/core@7.23.5):
- resolution: {integrity: sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-member-expression-to-functions': 7.23.0
- '@babel/helper-optimise-call-expression': 7.22.5
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5)
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/helper-split-export-declaration': 7.22.6
- semver: 6.3.1
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.5):
- resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-annotate-as-pure': 7.22.5
- regexpu-core: 5.3.2
- semver: 6.3.1
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-compilation-targets': 7.22.15
- '@babel/helper-plugin-utils': 7.22.5
- debug: 4.4.0
- lodash.debounce: 4.0.8
- resolve: 1.22.8
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.1)
transitivePeerDependencies:
- supports-color
- /@babel/helper-environment-visitor@7.22.20:
- resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
- engines: {node: '>=6.9.0'}
-
- /@babel/helper-function-name@7.23.0:
- resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/template': 7.22.15
- '@babel/types': 7.23.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/traverse': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/helper-hoist-variables@7.22.5:
- resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.1)':
dependencies:
- '@babel/types': 7.23.5
+ '@babel/core': 7.27.1
- /@babel/helper-member-expression-to-functions@7.23.0:
- resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.27.1)':
dependencies:
- '@babel/types': 7.23.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/helper-module-imports@7.22.15:
- resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.4)':
dependencies:
- '@babel/types': 7.23.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-simple-access': 7.22.5
- '@babel/helper-split-export-declaration': 7.22.6
- '@babel/helper-validator-identifier': 7.22.20
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/helper-optimise-call-expression@7.22.5:
- resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.4)':
dependencies:
- '@babel/types': 7.23.5
-
- /@babel/helper-plugin-utils@7.22.5:
- resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
- engines: {node: '>=6.9.0'}
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.5):
- resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-wrap-function': 7.22.20
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.5):
- resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-member-expression-to-functions': 7.23.0
- '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/helper-simple-access@7.22.5:
- resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.27.1)':
dependencies:
- '@babel/types': 7.23.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
- resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.4)':
dependencies:
- '@babel/types': 7.23.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/helper-split-export-declaration@7.22.6:
- resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.27.1)':
dependencies:
- '@babel/types': 7.23.5
-
- /@babel/helper-string-parser@7.23.4:
- resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
- engines: {node: '>=6.9.0'}
-
- /@babel/helper-validator-identifier@7.22.20:
- resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
- engines: {node: '>=6.9.0'}
-
- /@babel/helper-validator-option@7.23.5:
- resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
- engines: {node: '>=6.9.0'}
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/helper-wrap-function@7.22.20:
- resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/helper-function-name': 7.23.0
- '@babel/template': 7.22.15
- '@babel/types': 7.23.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/helpers@7.23.5:
- resolution: {integrity: sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/template': 7.22.15
- '@babel/traverse': 7.23.5
- '@babel/types': 7.23.5
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/highlight@7.23.4:
- resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
- engines: {node: '>=6.9.0'}
+ '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/helper-validator-identifier': 7.22.20
- chalk: 2.4.2
- js-tokens: 4.0.0
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/parser@7.23.5:
- resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==}
- engines: {node: '>=6.0.0'}
- hasBin: true
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.27.1)':
dependencies:
- '@babel/types': 7.23.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.13.0
+ '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.5):
- resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- dev: true
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.5):
- resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.5):
- resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ optional: true
- /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.5):
- resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.5):
- resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.5):
- resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-async-generator-functions@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.1)
+ '@babel/traverse': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-async-generator-functions@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.5)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.1)
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-block-scoping@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-class-static-block@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
+ '@babel/plugin-transform-classes@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-annotate-as-pure': 7.27.1
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.1)
+ '@babel/traverse': 7.27.1
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-classes@7.23.5(@babel/core@7.23.5):
- resolution: {integrity: sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-compilation-targets': 7.22.15
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-optimise-call-expression': 7.22.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5)
- '@babel/helper-split-export-declaration': 7.22.6
- globals: 11.12.0
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/template': 7.27.2
- /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-destructuring@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/template': 7.22.15
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-for-of@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-compilation-targets': 7.22.15
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/traverse': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-literals@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-module-transforms': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-simple-access': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-module-transforms': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-hoist-variables': 7.22.5
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-validator-identifier': 7.22.20
+ '@babel/core': 7.27.1
+ '@babel/helper-module-transforms': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+ '@babel/traverse': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-module-transforms': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.5):
- resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-object-rest-spread@7.27.2(@babel/core@7.27.1)':
dependencies:
- '@babel/compat-data': 7.23.5
- '@babel/core': 7.23.5
- '@babel/helper-compilation-targets': 7.22.15
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-transform-destructuring': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.1)
- /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.27.1)':
+ dependencies:
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.1)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-parameters@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-annotate-as-pure': 7.27.1
+ '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-react-display-name@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.1)
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.5):
- resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.5)
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-annotate-as-pure': 7.27.1
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.1)
+ '@babel/types': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.5):
- resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.5)
- '@babel/types': 7.23.5
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-annotate-as-pure': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-regenerator@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-plugin-utils': 7.22.5
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- regenerator-transform: 0.15.2
+ '@babel/core': 7.27.1
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-runtime@7.23.6(@babel/core@7.23.5):
- resolution: {integrity: sha512-kF1Zg62aPseQ11orDhFRw+aPG/eynNQtI+TyY+m33qJa2cJ5EEvza2P2BNTIA9E5MyqFABHEyY6CPHwgdy9aNg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-runtime@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-plugin-utils': 7.22.5
- babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.5)
- babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.5)
- babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ babel-plugin-polyfill-corejs2: 0.4.13(@babel/core@7.27.1)
+ babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.27.1)
+ babel-plugin-polyfill-regenerator: 0.6.4(@babel/core@7.27.1)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-spread@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.5):
- resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.5)
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-annotate-as-pure': 7.27.1
+ '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.1)
+ transitivePeerDependencies:
+ - supports-color
- /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5)
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/core': 7.27.1
+ '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.1)
+ '@babel/helper-plugin-utils': 7.27.1
- /@babel/polyfill@7.12.1:
- resolution: {integrity: sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==}
- deprecated: šØ This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.
+ '@babel/polyfill@7.12.1':
dependencies:
core-js: 2.6.12
regenerator-runtime: 0.13.11
- dev: false
- /@babel/preset-env@7.23.5(@babel/core@7.23.5):
- resolution: {integrity: sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/compat-data': 7.23.5
- '@babel/core': 7.23.5
- '@babel/helper-compilation-targets': 7.22.15
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-validator-option': 7.23.5
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.5)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.5)
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.5)
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.5)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.5)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.5)
- '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-async-generator-functions': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.5)
- '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-for-of': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.5)
- '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.5)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.5)
- babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.5)
- babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.5)
- babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.5)
- core-js-compat: 3.34.0
+ '@babel/preset-env@7.27.2(@babel/core@7.27.1)':
+ dependencies:
+ '@babel/compat-data': 7.27.2
+ '@babel/core': 7.27.1
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.1)
+ '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.27.1)
+ '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-async-generator-functions': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-block-scoping': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-classes': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-destructuring': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-object-rest-spread': 7.27.2(@babel/core@7.27.1)
+ '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-regenerator': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.27.1)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.27.1)
+ babel-plugin-polyfill-corejs2: 0.4.13(@babel/core@7.27.1)
+ babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.27.1)
+ babel-plugin-polyfill-regenerator: 0.6.4(@babel/core@7.27.1)
+ core-js-compat: 3.42.0
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.5):
- resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+ '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/types': 7.23.5
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/types': 7.27.1
esutils: 2.0.3
- /@babel/preset-react@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-validator-option': 7.23.5
- '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.5)
- '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.5)
- '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.5)
- dev: false
-
- /@babel/preset-typescript@7.23.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/preset-react@7.27.1(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-plugin-utils': 7.22.5
- '@babel/helper-validator-option': 7.23.5
- '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.5)
- dev: false
-
- /@babel/regjsgen@0.8.0:
- resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-transform-react-display-name': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.27.1)
+ transitivePeerDependencies:
+ - supports-color
- /@babel/runtime-corejs3@7.23.6:
- resolution: {integrity: sha512-Djs/ZTAnpyj0nyg7p1J6oiE/tZ9G2stqAFlLGZynrW+F3k2w2jGK2mLOBxzYIOcZYA89+c3d3wXKpYLcpwcU6w==}
- engines: {node: '>=6.9.0'}
+ '@babel/preset-typescript@7.27.1(@babel/core@7.27.1)':
dependencies:
- core-js-pure: 3.34.0
- regenerator-runtime: 0.14.0
- dev: false
+ '@babel/core': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.1)
+ transitivePeerDependencies:
+ - supports-color
- /@babel/runtime@7.23.5:
- resolution: {integrity: sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==}
- engines: {node: '>=6.9.0'}
+ '@babel/runtime-corejs3@7.27.1':
dependencies:
- regenerator-runtime: 0.14.0
+ core-js-pure: 3.42.0
- /@babel/template@7.22.15:
- resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
- engines: {node: '>=6.9.0'}
+ '@babel/runtime@7.27.1': {}
+
+ '@babel/template@7.27.2':
dependencies:
- '@babel/code-frame': 7.23.5
- '@babel/parser': 7.23.5
- '@babel/types': 7.23.5
+ '@babel/code-frame': 7.27.1
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
- /@babel/traverse@7.23.5:
- resolution: {integrity: sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==}
- engines: {node: '>=6.9.0'}
+ '@babel/traverse@7.27.1':
dependencies:
- '@babel/code-frame': 7.23.5
- '@babel/generator': 7.23.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-hoist-variables': 7.22.5
- '@babel/helper-split-export-declaration': 7.22.6
- '@babel/parser': 7.23.5
- '@babel/types': 7.23.5
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.27.1
+ '@babel/parser': 7.27.2
+ '@babel/template': 7.27.2
+ '@babel/types': 7.27.1
debug: 4.4.0
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- /@babel/types@7.23.5:
- resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==}
- engines: {node: '>=6.9.0'}
+ '@babel/traverse@7.28.4':
dependencies:
- '@babel/helper-string-parser': 7.23.4
- '@babel/helper-validator-identifier': 7.22.20
- to-fast-properties: 2.0.0
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.3
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.28.4
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.4
+ debug: 4.4.0
+ transitivePeerDependencies:
+ - supports-color
- /@bcoe/v8-coverage@0.2.3:
- resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
- dev: true
+ '@babel/types@7.27.1':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
- /@bufbuild/protobuf@1.10.0:
- resolution: {integrity: sha512-QDdVFLoN93Zjg36NoQPZfsVH9tZew7wKDKyV5qRdj8ntT4wQCOradQjRaTdwMhWUYsgKsvCINKKm87FdEk96Ag==}
- dev: false
+ '@babel/types@7.28.4':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
- /@casual-simulation/engine262@0.0.1-4de2170374e22761996e46eb1362f4496ee57f8f:
- resolution: {integrity: sha512-kRUMP6IEnQd/zg9Zv08BfevOkwesbiZsU3QFo5Y+qijg8SjGEZUYQg9zF/psGdto/QAJPiBeo6LsIdARyAjY+A==}
- hasBin: true
- dev: false
+ '@bcoe/v8-coverage@0.2.3': {}
- /@casual-simulation/error-stack-parser@2.0.7:
- resolution: {integrity: sha512-an69t0bPOLl1mlxrHH/bDOEYEj75yaARfmzNhuzfM+klAzwUk2I5Y/INZ5iRE8ZHIH2/gieAVsLyFzzkygPMGg==}
+ '@bufbuild/protobuf@1.10.1': {}
+
+ '@casual-simulation/engine262@0.0.1-4de2170374e22761996e46eb1362f4496ee57f8f': {}
+
+ '@casual-simulation/error-stack-parser@2.0.7':
dependencies:
stackframe: 1.3.4
- dev: false
- /@casual-simulation/monaco-editor@0.47.1:
- resolution: {integrity: sha512-cCzGOoYqGM5+OAL7u26L2BcPSG0hvOt9SgF+Xg/x3n5A/9rxdn+bZVNr+9Uwhbq40Kazl58M3se5wJadpg+Vlg==}
+ '@casual-simulation/monaco-editor@0.47.1(encoding@0.1.13)':
dependencies:
'@types/shelljs': 0.8.15
- pin-github-action: 1.9.1
+ pin-github-action: 1.9.1(encoding@0.1.13)
shelljs: 0.8.5
transitivePeerDependencies:
- encoding
- supports-color
- dev: false
- /@casual-simulation/three@0.140.3:
- resolution: {integrity: sha512-kAwbTV0UkqR0/IhaEIYqk2yvUVFWy7HcQtsatOuFzn2TDdRxM4OecCUPxOeDgFY8TG30t3hLF+qmALBIhGy4nQ==}
- dev: false
+ '@casual-simulation/three@0.140.3': {}
- /@chenfengyuan/vue-qrcode@1.0.2(vue@2.7.15):
- resolution: {integrity: sha512-hwy1d4YMJAyEh+V7dLPG8eAKACRvugzSB4ylwb6QNqo84KHTF50/5EJcBYdUhTRPfAqrxG0i6jDAXONWOGyQbQ==}
- peerDependencies:
- vue: ^2.6.0
+ '@chenfengyuan/vue-qrcode@1.0.2(vue@2.7.16)':
dependencies:
- qrcode: 1.5.3
- vue: 2.7.15
- dev: false
+ qrcode: 1.5.4
+ vue: 2.7.16
- /@colors/colors@1.5.0:
- resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
- engines: {node: '>=0.1.90'}
- requiresBuild: true
- dev: false
+ '@colors/colors@1.5.0':
optional: true
- /@discoveryjs/json-ext@0.5.7:
- resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
- engines: {node: '>=10.0.0'}
- dev: false
+ '@csstools/color-helpers@5.0.2': {}
- /@docsearch/css@3.5.2:
- resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==}
- dev: false
+ '@csstools/css-calc@2.1.3(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
+ dependencies:
+ '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
+ '@csstools/css-tokenizer': 3.0.3
- /@docsearch/react@3.5.2(@algolia/client-search@4.21.0)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0):
- resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==}
- peerDependencies:
- '@types/react': '>= 16.8.0 < 19.0.0'
- react: '>= 16.8.0 < 19.0.0'
- react-dom: '>= 16.8.0 < 19.0.0'
- search-insights: '>= 1 < 3'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- react:
- optional: true
- react-dom:
- optional: true
- search-insights:
- optional: true
+ '@csstools/css-color-parser@3.0.9(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
+ dependencies:
+ '@csstools/color-helpers': 5.0.2
+ '@csstools/css-calc': 2.1.3(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+ '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
+ '@csstools/css-tokenizer': 3.0.3
+
+ '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)':
+ dependencies:
+ '@csstools/css-tokenizer': 3.0.3
+
+ '@csstools/css-tokenizer@3.0.3': {}
+
+ '@discoveryjs/json-ext@0.5.7': {}
+
+ '@docsearch/css@3.9.0': {}
+
+ '@docsearch/react@3.9.0(@algolia/client-search@4.24.0)(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)':
dependencies:
- '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.21.0)(algoliasearch@4.21.0)(search-insights@2.13.0)
- '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.21.0)(algoliasearch@4.21.0)
- '@docsearch/css': 3.5.2
- '@types/react': 18.2.43
- algoliasearch: 4.21.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- search-insights: 2.13.0
+ '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.24.0)(search-insights@2.17.3)
+ '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@4.24.0)(algoliasearch@5.24.0)
+ '@docsearch/css': 3.9.0
+ algoliasearch: 5.24.0
+ optionalDependencies:
+ '@types/react': 18.3.21
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ search-insights: 2.17.3
transitivePeerDependencies:
- '@algolia/client-search'
- dev: false
- /@docusaurus/core@3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-4Z1WkhCSkX4KO0Fw5m/Vuc7Q3NxBG53NE5u59Rs96fWkMPZVSrzEPP16/Nk6cWb/shK7xXPndTmalJtw7twL/w==}
- engines: {node: '>=18.0'}
- hasBin: true
- peerDependencies:
- '@mdx-js/react': ^3.0.0
- react: ^18.0.0
- react-dom: ^18.0.0
- dependencies:
- '@babel/core': 7.23.5
- '@babel/generator': 7.23.5
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-transform-runtime': 7.23.6(@babel/core@7.23.5)
- '@babel/preset-env': 7.23.5(@babel/core@7.23.5)
- '@babel/preset-react': 7.23.3(@babel/core@7.23.5)
- '@babel/preset-typescript': 7.23.3(@babel/core@7.23.5)
- '@babel/runtime': 7.23.5
- '@babel/runtime-corejs3': 7.23.6
- '@babel/traverse': 7.23.5
+ '@docusaurus/core@3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
+ dependencies:
+ '@babel/core': 7.27.1
+ '@babel/generator': 7.27.1
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.1)
+ '@babel/plugin-transform-runtime': 7.27.1(@babel/core@7.27.1)
+ '@babel/preset-env': 7.27.2(@babel/core@7.27.1)
+ '@babel/preset-react': 7.27.1(@babel/core@7.27.1)
+ '@babel/preset-typescript': 7.27.1(@babel/core@7.27.1)
+ '@babel/runtime': 7.27.1
+ '@babel/runtime-corejs3': 7.27.1
+ '@babel/traverse': 7.27.1
'@docusaurus/cssnano-preset': 3.5.2
'@docusaurus/logger': 3.5.2
- '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@mdx-js/react': 3.0.0(@types/react@18.2.43)(react@18.2.0)
- autoprefixer: 10.4.16(postcss@8.4.47)
- babel-loader: 9.1.3(@babel/core@7.23.5)(webpack@5.89.0)
+ '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@mdx-js/react': 3.0.0(@types/react@18.3.21)(react@18.3.1)
+ autoprefixer: 10.4.21(postcss@8.5.3)
+ babel-loader: 9.2.1(@babel/core@7.27.1)(webpack@5.99.8(esbuild@0.19.12))
babel-plugin-dynamic-import-node: 2.3.3
boxen: 6.2.1
chalk: 4.1.2
- chokidar: 3.5.3
+ chokidar: 3.6.0
clean-css: 5.3.3
- cli-table3: 0.6.3
+ cli-table3: 0.6.5
combine-promises: 1.2.0
commander: 5.1.0
- copy-webpack-plugin: 11.0.0(webpack@5.89.0)
- core-js: 3.34.0
- css-loader: 6.8.1(webpack@5.89.0)
- css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(esbuild@0.19.8)(webpack@5.89.0)
- cssnano: 6.1.2(postcss@8.4.47)
+ copy-webpack-plugin: 11.0.0(webpack@5.99.8(esbuild@0.19.12))
+ core-js: 3.42.0
+ css-loader: 6.11.0(webpack@5.99.8(esbuild@0.19.12))
+ css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(esbuild@0.19.12)(webpack@5.99.8(esbuild@0.19.12))
+ cssnano: 6.1.2(postcss@8.5.3)
del: 6.1.1
- detect-port: 1.5.1
+ detect-port: 1.6.1
escape-html: 1.0.3
eta: 2.2.0
eval: 0.1.8
- file-loader: 6.2.0(webpack@5.89.0)
- fs-extra: 11.2.0
+ file-loader: 6.2.0(webpack@5.99.8(esbuild@0.19.12))
+ fs-extra: 11.3.0
html-minifier-terser: 7.2.0
html-tags: 3.3.1
- html-webpack-plugin: 5.5.4(webpack@5.89.0)
+ html-webpack-plugin: 5.6.3(webpack@5.99.8(esbuild@0.19.12))
leven: 3.1.0
lodash: 4.17.21
- mini-css-extract-plugin: 2.7.6(webpack@5.89.0)
+ mini-css-extract-plugin: 2.9.2(webpack@5.99.8(esbuild@0.19.12))
p-map: 4.0.0
- postcss: 8.4.47
- postcss-loader: 7.3.3(postcss@8.4.47)(typescript@5.3.3)(webpack@5.89.0)
+ postcss: 8.5.3
+ postcss-loader: 7.3.4(postcss@8.5.3)(typescript@5.8.3)(webpack@5.99.8(esbuild@0.19.12))
prompts: 2.4.2
- react: 18.2.0
- react-dev-utils: 12.0.1(eslint@9.22.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)(webpack@5.89.0)
- react-dom: 18.2.0(react@18.2.0)
- react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0)
- react-loadable: /@docusaurus/react-loadable@6.0.0(react@18.2.0)
- react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0)(webpack@5.89.0)
- react-router: 5.3.4(react@18.2.0)
- react-router-config: 5.1.1(react-router@5.3.4)(react@18.2.0)
- react-router-dom: 5.3.4(react@18.2.0)
+ react: 18.3.1
+ react-dev-utils: 12.0.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)(vue-template-compiler@2.7.16)(webpack@5.99.8(esbuild@0.19.12))
+ react-dom: 18.3.1(react@18.3.1)
+ react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)'
+ react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.99.8(esbuild@0.19.12))
+ react-router: 5.3.4(react@18.3.1)
+ react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1)
+ react-router-dom: 5.3.4(react@18.3.1)
rtl-detect: 1.1.2
- semver: 7.6.3
- serve-handler: 6.1.5
+ semver: 7.7.1
+ serve-handler: 6.1.6
shelljs: 0.8.5
- terser-webpack-plugin: 5.3.9(esbuild@0.19.8)(webpack@5.89.0)
- tslib: 2.8.0
+ terser-webpack-plugin: 5.3.14(esbuild@0.19.12)(webpack@5.99.8(esbuild@0.19.12))
+ tslib: 2.8.1
update-notifier: 6.0.2
- url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0)
- webpack: 5.89.0(esbuild@0.19.8)
- webpack-bundle-analyzer: 4.10.1
- webpack-dev-server: 4.15.1(webpack@5.89.0)
+ url-loader: 4.1.1(file-loader@6.2.0(webpack@5.99.8(esbuild@0.19.12)))(webpack@5.99.8(esbuild@0.19.12))
+ webpack: 5.99.8(esbuild@0.19.12)
+ webpack-bundle-analyzer: 4.10.2
+ webpack-dev-server: 4.15.2(webpack@5.99.8(esbuild@0.19.12))
webpack-merge: 5.10.0
- webpackbar: 5.0.2(webpack@5.89.0)
+ webpackbar: 5.0.2(webpack@5.99.8(esbuild@0.19.12))
transitivePeerDependencies:
- '@docusaurus/types'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -5621,59 +18382,47 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/cssnano-preset@3.5.2:
- resolution: {integrity: sha512-D3KiQXOMA8+O0tqORBrTOEQyQxNIfPm9jEaJoALjjSjc2M/ZAWcUfPQEnwr2JB2TadHw2gqWgpZckQmrVWkytA==}
- engines: {node: '>=18.0'}
+ '@docusaurus/cssnano-preset@3.5.2':
dependencies:
- cssnano-preset-advanced: 6.1.2(postcss@8.4.47)
- postcss: 8.4.47
- postcss-sort-media-queries: 5.2.0(postcss@8.4.47)
- tslib: 2.8.0
- dev: false
+ cssnano-preset-advanced: 6.1.2(postcss@8.5.3)
+ postcss: 8.5.3
+ postcss-sort-media-queries: 5.2.0(postcss@8.5.3)
+ tslib: 2.8.1
- /@docusaurus/logger@3.5.2:
- resolution: {integrity: sha512-LHC540SGkeLfyT3RHK3gAMK6aS5TRqOD4R72BEU/DE2M/TY8WwEUAMY576UUc/oNJXv8pGhBmQB6N9p3pt8LQw==}
- engines: {node: '>=18.0'}
+ '@docusaurus/logger@3.5.2':
dependencies:
chalk: 4.1.2
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@docusaurus/mdx-loader@3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-ku3xO9vZdwpiMIVd8BzWV0DCqGEbCP5zs1iHfKX50vw6jX8vQo0ylYo1YJMZyz6e+JFJ17HYHT5FzVidz2IflA==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/mdx-loader@3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)':
dependencies:
'@docusaurus/logger': 3.5.2
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@mdx-js/mdx': 3.0.0(patch_hash=lqdilpwhfhkxjukceppb4twwum)
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@mdx-js/mdx': 3.0.0(patch_hash=23fce79a8d279fa75dfece17d731fccaaa071ece72fe7b3d44db9e33c63d2b1a)
'@slorber/remark-comment': 1.0.0
escape-html: 1.0.3
- estree-util-value-to-estree: 3.0.1
- file-loader: 6.2.0(webpack@5.89.0)
- fs-extra: 11.2.0
- image-size: 1.0.2
+ estree-util-value-to-estree: 3.3.3
+ file-loader: 6.2.0(webpack@5.99.8(esbuild@0.19.12))
+ fs-extra: 11.3.0
+ image-size: 1.2.1
mdast-util-mdx: 3.0.0
mdast-util-to-string: 4.0.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
rehype-raw: 7.0.0
- remark-directive: 3.0.0
+ remark-directive: 3.0.1
remark-emoji: 4.0.1
remark-frontmatter: 5.0.0
- remark-gfm: 4.0.0
+ remark-gfm: 4.0.1
stringify-object: 3.3.0
- tslib: 2.8.0
+ tslib: 2.8.1
unified: 11.0.4
unist-util-visit: 5.0.0
- url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0)
- vfile: 6.0.1
- webpack: 5.89.0(esbuild@0.19.8)
+ url-loader: 4.1.1(file-loader@6.2.0(webpack@5.99.8(esbuild@0.19.12)))(webpack@5.99.8(esbuild@0.19.12))
+ vfile: 6.0.3
+ webpack: 5.99.8(esbuild@0.19.12)
transitivePeerDependencies:
- '@docusaurus/types'
- '@swc/core'
@@ -5682,53 +18431,43 @@ packages:
- typescript
- uglify-js
- webpack-cli
- dev: false
- /@docusaurus/module-type-aliases@3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-Z+Xu3+2rvKef/YKTMxZHsEXp1y92ac0ngjDiExRdqGTmEKtCUpkbNYH8v5eXo5Ls+dnW88n6WTa+Q54kLOkwPg==}
- peerDependencies:
- react: '*'
- react-dom: '*'
+ '@docusaurus/module-type-aliases@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@types/history': 4.7.11
- '@types/react': 18.2.43
+ '@types/react': 18.3.21
'@types/react-router-config': 5.0.11
'@types/react-router-dom': 5.3.3
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-helmet-async: 2.0.3(react-dom@18.2.0)(react@18.2.0)
- react-loadable: /@docusaurus/react-loadable@6.0.0(react@18.2.0)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-helmet-async: 2.0.5(react@18.3.1)
+ react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)'
transitivePeerDependencies:
- '@swc/core'
- esbuild
- supports-color
- uglify-js
- - webpack-cli
- dev: false
-
- /@docusaurus/plugin-client-redirects@3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-GMU0ZNoVG1DEsZlBbwLPdh0iwibrVZiRfmdppvX17SnByCVP74mb/Nne7Ss7ALgxQLtM4IHbXi8ij90VVjAJ+Q==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ - webpack-cli
+
+ '@docusaurus/plugin-client-redirects@3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
dependencies:
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
'@docusaurus/logger': 3.5.2
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
eta: 2.2.0
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
lodash: 4.17.21
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- tslib: 2.8.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
transitivePeerDependencies:
- '@docusaurus/types'
- '@mdx-js/react'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -5743,40 +18482,34 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/plugin-content-blog@3.5.2(@docusaurus/plugin-content-docs@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-R7ghWnMvjSf+aeNDH0K4fjyQnt5L0KzUEnUhmf1e3jZrv3wogeytZNN6n7X8yHcMsuZHPOrctQhXWnmxu+IRRg==}
- engines: {node: '>=18.0'}
- peerDependencies:
- '@docusaurus/plugin-content-docs': '*'
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/plugin-content-blog@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
dependencies:
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
'@docusaurus/logger': 3.5.2
- '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2)(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
+ '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
+ '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16))(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
cheerio: 1.0.0-rc.12
feed: 4.2.2
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
lodash: 4.17.21
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
reading-time: 1.5.0
srcset: 4.0.0
- tslib: 2.8.0
+ tslib: 2.8.1
unist-util-visit: 5.0.0
- utility-types: 3.10.0
- webpack: 5.89.0(esbuild@0.19.8)
+ utility-types: 3.11.0
+ webpack: 5.99.8(esbuild@0.19.12)
transitivePeerDependencies:
- '@mdx-js/react'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -5791,37 +18524,32 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-Bt+OXn/CPtVqM3Di44vHjE7rPCEsRCB/DMo2qoOuozB9f7+lsdrHvD0QCHdBs0uhz6deYJDppAr2VgqybKPlVQ==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
dependencies:
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
'@docusaurus/logger': 3.5.2
- '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/module-type-aliases': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2)(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
+ '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
+ '@docusaurus/module-type-aliases': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16))(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
'@types/react-router-config': 5.0.11
combine-promises: 1.2.0
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
js-yaml: 4.1.0
lodash: 4.17.21
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- tslib: 2.8.0
- utility-types: 3.10.0
- webpack: 5.89.0(esbuild@0.19.8)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
+ utility-types: 3.11.0
+ webpack: 5.99.8(esbuild@0.19.12)
transitivePeerDependencies:
- '@mdx-js/react'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -5836,28 +18564,23 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/plugin-content-pages@3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-WzhHjNpoQAUz/ueO10cnundRz+VUtkjFhhaQ9jApyv1a46FPURO4cef89pyNIOMny1fjDz/NUN2z6Yi+5WUrCw==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/plugin-content-pages@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
dependencies:
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- fs-extra: 11.2.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- tslib: 2.8.0
- webpack: 5.89.0(esbuild@0.19.8)
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ fs-extra: 11.3.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
+ webpack: 5.99.8(esbuild@0.19.12)
transitivePeerDependencies:
- '@mdx-js/react'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -5872,26 +18595,21 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/plugin-debug@3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-kBK6GlN0itCkrmHuCS6aX1wmoWc5wpd5KJlqQ1FyrF0cLDnvsYSnh7+ftdwzt7G6lGBho8lrVwkkL9/iQvaSOA==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/plugin-debug@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
dependencies:
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- fs-extra: 11.2.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-json-view-lite: 1.2.1(react@18.2.0)
- tslib: 2.8.0
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ fs-extra: 11.3.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-json-view-lite: 1.5.0(react@18.3.1)
+ tslib: 2.8.1
transitivePeerDependencies:
- '@mdx-js/react'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -5906,24 +18624,19 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/plugin-google-analytics@3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-rjEkJH/tJ8OXRE9bwhV2mb/WP93V441rD6XnM6MIluu7rk8qg38iSxS43ga2V2Q/2ib53PcqbDEJDG/yWQRJhQ==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/plugin-google-analytics@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
dependencies:
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- tslib: 2.8.0
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
transitivePeerDependencies:
- '@mdx-js/react'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -5938,25 +18651,20 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/plugin-google-gtag@3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-lm8XL3xLkTPHFKKjLjEEAHUrW0SZBSHBE1I+i/tmYMBsjCcUB5UJ52geS5PSiOCFVR74tbPGcPHEV/gaaxFeSA==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/plugin-google-gtag@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
dependencies:
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
'@types/gtag.js': 0.0.12
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- tslib: 2.8.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
transitivePeerDependencies:
- '@mdx-js/react'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -5971,24 +18679,19 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/plugin-google-tag-manager@3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-QkpX68PMOMu10Mvgvr5CfZAzZQFx8WLlOiUQ/Qmmcl6mjGK6H21WLT5x7xDmcpCoKA/3CegsqIqBR+nA137lQg==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/plugin-google-tag-manager@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
dependencies:
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- tslib: 2.8.0
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
transitivePeerDependencies:
- '@mdx-js/react'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -6003,29 +18706,24 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/plugin-sitemap@3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-DnlqYyRAdQ4NHY28TfHuVk414ft2uruP4QWCH//jzpHjqvKyXjj2fmDtI8RPUBh9K8iZKFMHRnLtzJKySPWvFA==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/plugin-sitemap@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
dependencies:
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
'@docusaurus/logger': 3.5.2
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- fs-extra: 11.2.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- sitemap: 7.1.1
- tslib: 2.8.0
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ fs-extra: 11.3.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ sitemap: 7.1.2
+ tslib: 2.8.1
transitivePeerDependencies:
- '@mdx-js/react'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- bufferutil
@@ -6040,34 +18738,29 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/preset-classic@3.5.2(@algolia/client-search@4.21.0)(@mdx-js/react@3.0.0)(@types/react@18.2.43)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-3ihfXQ95aOHiLB5uCu+9PRy2gZCeSZoDcqpnDvf3B+sTrMvMTr8qRUzBvWkoIqc82yG5prCboRjk1SVILKx6sg==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
- dependencies:
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/plugin-debug': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/plugin-google-analytics': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/plugin-google-gtag': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/plugin-google-tag-manager': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/plugin-sitemap': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/theme-classic': 3.5.2(@types/react@18.2.43)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2)(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/theme-search-algolia': 3.5.2(@algolia/client-search@4.21.0)(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(@types/react@18.2.43)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ '@docusaurus/preset-classic@3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(@types/react@18.3.21)(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
+ dependencies:
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/plugin-debug': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/plugin-google-analytics': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/plugin-google-gtag': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/plugin-google-tag-manager': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/plugin-sitemap': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/theme-classic': 3.5.2(@types/react@18.3.21)(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16))(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
+ '@docusaurus/theme-search-algolia': 3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(@types/react@18.3.21)(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
transitivePeerDependencies:
- '@algolia/client-search'
- '@mdx-js/react'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- '@types/react'
@@ -6084,53 +18777,44 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/react-loadable@6.0.0(react@18.2.0):
- resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==}
- peerDependencies:
- react: '*'
+ '@docusaurus/react-loadable@6.0.0(react@18.3.1)':
dependencies:
- '@types/react': 18.2.43
- react: 18.2.0
- dev: false
+ '@types/react': 18.3.21
+ react: 18.3.1
- /@docusaurus/theme-classic@3.5.2(@types/react@18.2.43)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-XRpinSix3NBv95Rk7xeMF9k4safMkwnpSgThn0UNQNumKvmcIYjfkwfh2BhwYh/BxMXQHJ/PdmNh22TQFpIaYg==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/theme-classic@3.5.2(@types/react@18.3.21)(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
dependencies:
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/module-type-aliases': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2)(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
+ '@docusaurus/module-type-aliases': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16))(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
'@docusaurus/theme-translations': 3.5.2
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@mdx-js/react': 3.0.0(@types/react@18.2.43)(react@18.2.0)
- clsx: 2.0.0
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@mdx-js/react': 3.0.0(@types/react@18.3.21)(react@18.3.1)
+ clsx: 2.1.1
copy-text-to-clipboard: 3.2.0
infima: 0.2.0-alpha.44
lodash: 4.17.21
nprogress: 0.2.0
- postcss: 8.4.47
- prism-react-renderer: 2.3.0(react@18.2.0)
- prismjs: 1.29.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-router-dom: 5.3.4(react@18.2.0)
- rtlcss: 4.1.1
- tslib: 2.8.0
- utility-types: 3.10.0
+ postcss: 8.5.3
+ prism-react-renderer: 2.4.1(react@18.3.1)
+ prismjs: 1.30.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-router-dom: 5.3.4(react@18.3.1)
+ rtlcss: 4.3.0
+ tslib: 2.8.1
+ utility-types: 3.11.0
transitivePeerDependencies:
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- '@types/react'
@@ -6146,31 +18830,24 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2)(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3):
- resolution: {integrity: sha512-QXqlm9S6x9Ibwjs7I2yEDgsCocp708DrCrgHgKwg2n2AY0YQ6IjU0gAK35lHRLOvAoJUfCKpQAwUykB0R7+Eew==}
- engines: {node: '>=18.0'}
- peerDependencies:
- '@docusaurus/plugin-content-docs': '*'
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16))(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)':
dependencies:
- '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
- '@docusaurus/module-type-aliases': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2)
+ '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
+ '@docusaurus/module-type-aliases': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
'@types/history': 4.7.11
- '@types/react': 18.2.43
+ '@types/react': 18.3.21
'@types/react-router-config': 5.0.11
- clsx: 2.0.0
+ clsx: 2.1.1
parse-numeric-range: 1.3.0
- prism-react-renderer: 2.3.0(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- tslib: 2.8.0
- utility-types: 3.10.0
+ prism-react-renderer: 2.4.1(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
+ utility-types: 3.11.0
transitivePeerDependencies:
- '@docusaurus/types'
- '@swc/core'
@@ -6179,38 +18856,33 @@ packages:
- typescript
- uglify-js
- webpack-cli
- dev: false
- /@docusaurus/theme-search-algolia@3.5.2(@algolia/client-search@4.21.0)(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(@types/react@18.2.43)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3)(vue-template-compiler@2.7.15):
- resolution: {integrity: sha512-qW53kp3VzMnEqZGjakaV90sst3iN1o32PH+nawv1uepROO8aEGxptcq2R5rsv7aBShSRbZwIobdvSYKsZ5pqvA==}
- engines: {node: '>=18.0'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/theme-search-algolia@3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(@types/react@18.3.21)(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.8.3)(vue-template-compiler@2.7.16)':
dependencies:
- '@docsearch/react': 3.5.2(@algolia/client-search@4.21.0)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)
- '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2)(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
+ '@docsearch/react': 3.9.0(@algolia/client-search@4.24.0)(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)
+ '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
'@docusaurus/logger': 3.5.2
- '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.0)(esbuild@0.19.8)(eslint@9.22.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)
- '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2)(@docusaurus/types@3.5.2)(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)
+ '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16)
+ '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1))(esbuild@0.19.12)(eslint@9.26.0(jiti@2.5.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)(vue-template-compiler@2.7.16))(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
'@docusaurus/theme-translations': 3.5.2
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- algoliasearch: 4.21.0
- algoliasearch-helper: 3.16.0(algoliasearch@4.21.0)
- clsx: 2.0.0
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ algoliasearch: 4.24.0
+ algoliasearch-helper: 3.25.0(algoliasearch@4.24.0)
+ clsx: 2.1.1
eta: 2.2.0
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
lodash: 4.17.21
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- tslib: 2.8.0
- utility-types: 3.10.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.8.1
+ utility-types: 3.11.0
transitivePeerDependencies:
- '@algolia/client-search'
- '@docusaurus/types'
- '@mdx-js/react'
- '@parcel/css'
+ - '@rspack/core'
- '@swc/core'
- '@swc/css'
- '@types/react'
@@ -6227,32 +18899,24 @@ packages:
- utf-8-validate
- vue-template-compiler
- webpack-cli
- dev: false
- /@docusaurus/theme-translations@3.5.2:
- resolution: {integrity: sha512-GPZLcu4aT1EmqSTmbdpVrDENGR2yObFEX8ssEFYTCiAIVc0EihNSdOIBTazUvgNqwvnoU1A8vIs1xyzc3LITTw==}
- engines: {node: '>=18.0'}
+ '@docusaurus/theme-translations@3.5.2':
dependencies:
- fs-extra: 11.2.0
- tslib: 2.8.0
- dev: false
+ fs-extra: 11.3.0
+ tslib: 2.8.1
- /@docusaurus/types@3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-N6GntLXoLVUwkZw7zCxwy9QiuEXIcTVzA9AkmNw16oc0AP3SXLrMmDMMBIfgqwuKWa6Ox6epHol9kMtJqekACw==}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
+ '@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@mdx-js/mdx': 3.0.0(patch_hash=lqdilpwhfhkxjukceppb4twwum)
+ '@mdx-js/mdx': 3.0.0(patch_hash=23fce79a8d279fa75dfece17d731fccaaa071ece72fe7b3d44db9e33c63d2b1a)
'@types/history': 4.7.11
- '@types/react': 18.2.43
+ '@types/react': 18.3.21
commander: 5.1.0
- joi: 17.11.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0)
- utility-types: 3.10.0
- webpack: 5.89.0(esbuild@0.19.8)
+ joi: 17.13.3
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ utility-types: 3.11.0
+ webpack: 5.99.8(esbuild@0.19.12)
webpack-merge: 5.10.0
transitivePeerDependencies:
- '@swc/core'
@@ -6260,33 +18924,23 @@ packages:
- supports-color
- uglify-js
- webpack-cli
- dev: false
- /@docusaurus/utils-common@3.5.2(@docusaurus/types@3.5.2):
- resolution: {integrity: sha512-i0AZjHiRgJU6d7faQngIhuHKNrszpL/SHQPgF1zH4H+Ij6E9NBYGy6pkcGWToIv7IVPbs+pQLh1P3whn0gWXVg==}
- engines: {node: '>=18.0'}
- peerDependencies:
- '@docusaurus/types': '*'
- peerDependenciesMeta:
- '@docusaurus/types':
- optional: true
+ '@docusaurus/utils-common@3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))':
dependencies:
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
+ optionalDependencies:
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- /@docusaurus/utils-validation@3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3):
- resolution: {integrity: sha512-m+Foq7augzXqB6HufdS139PFxDC5d5q2QKZy8q0qYYvGdI6nnlNsGH4cIGsgBnV7smz+mopl3g4asbSDvMV0jA==}
- engines: {node: '>=18.0'}
+ '@docusaurus/utils-validation@3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)':
dependencies:
'@docusaurus/logger': 3.5.2
- '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3)
- '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2)
- fs-extra: 11.2.0
- joi: 17.11.0
+ '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)
+ '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ fs-extra: 11.3.0
+ joi: 17.13.3
js-yaml: 4.1.0
lodash: 4.17.21
- tslib: 2.8.0
+ tslib: 2.8.1
transitivePeerDependencies:
- '@docusaurus/types'
- '@swc/core'
@@ -6295,38 +18949,31 @@ packages:
- typescript
- uglify-js
- webpack-cli
- dev: false
- /@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2)(esbuild@0.19.8)(typescript@5.3.3):
- resolution: {integrity: sha512-33QvcNFh+Gv+C2dP9Y9xWEzMgf3JzrpL2nW9PopidiohS1nDcyknKRx2DWaFvyVTTYIkkABVSr073VTj/NITNA==}
- engines: {node: '>=18.0'}
- peerDependencies:
- '@docusaurus/types': '*'
- peerDependenciesMeta:
- '@docusaurus/types':
- optional: true
+ '@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(esbuild@0.19.12)(typescript@5.8.3)':
dependencies:
'@docusaurus/logger': 3.5.2
- '@docusaurus/types': 3.5.2(esbuild@0.19.8)(react-dom@18.2.0)(react@18.2.0)
- '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2)
- '@svgr/webpack': 8.1.0(typescript@5.3.3)
+ '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ '@svgr/webpack': 8.1.0(typescript@5.8.3)
escape-string-regexp: 4.0.0
- file-loader: 6.2.0(webpack@5.89.0)
- fs-extra: 11.2.0
+ file-loader: 6.2.0(webpack@5.99.8(esbuild@0.19.12))
+ fs-extra: 11.3.0
github-slugger: 1.5.0
globby: 11.1.0
gray-matter: 4.0.3
- jiti: 1.21.0
+ jiti: 1.21.7
js-yaml: 4.1.0
lodash: 4.17.21
micromatch: 4.0.5
prompts: 2.4.2
resolve-pathname: 3.0.0
shelljs: 0.8.5
- tslib: 2.8.0
- url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0)
- utility-types: 3.10.0
- webpack: 5.89.0(esbuild@0.19.8)
+ tslib: 2.8.1
+ url-loader: 4.1.1(file-loader@6.2.0(webpack@5.99.8(esbuild@0.19.12)))(webpack@5.99.8(esbuild@0.19.12))
+ utility-types: 3.11.0
+ webpack: 5.99.8(esbuild@0.19.12)
+ optionalDependencies:
+ '@docusaurus/types': 3.5.2(esbuild@0.19.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
transitivePeerDependencies:
- '@swc/core'
- esbuild
@@ -6334,11 +18981,24 @@ packages:
- typescript
- uglify-js
- webpack-cli
- dev: false
- /@ericblade/quagga2@1.4.2:
- resolution: {integrity: sha512-MZXX8Sh5wHNLrB+1qfMi0c8tz+LJibOJv/c6WoSc5SbGdqWBMAMZv6p1N8Wu/JtFlhlXtw7RzvIz3I3ZMuaJjw==}
- engines: {node: '>= 10.0'}
+ '@emnapi/core@1.5.0':
+ dependencies:
+ '@emnapi/wasi-threads': 1.1.0
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/runtime@1.5.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/wasi-threads@1.1.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@ericblade/quagga2@1.4.2':
dependencies:
'@babel/polyfill': 7.12.1
get-pixels: 3.3.3
@@ -6348,407 +19008,153 @@ packages:
lodash: 4.17.21
ndarray: 1.0.19
ndarray-linear-interpolate: 1.0.0
- dev: false
- /@esbuild/aix-ppc64@0.21.5:
- resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
- requiresBuild: true
- dev: true
+ '@esbuild/aix-ppc64@0.19.12':
optional: true
- /@esbuild/android-arm64@0.19.8:
- resolution: {integrity: sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
+ '@esbuild/aix-ppc64@0.21.5':
optional: true
- /@esbuild/android-arm64@0.21.5:
- resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
+ '@esbuild/android-arm64@0.19.12':
optional: true
- /@esbuild/android-arm@0.19.8:
- resolution: {integrity: sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
+ '@esbuild/android-arm64@0.21.5':
optional: true
- /@esbuild/android-arm@0.21.5:
- resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
+ '@esbuild/android-arm@0.19.12':
optional: true
- /@esbuild/android-x64@0.19.8:
- resolution: {integrity: sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
+ '@esbuild/android-arm@0.21.5':
optional: true
- /@esbuild/android-x64@0.21.5:
- resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
+ '@esbuild/android-x64@0.19.12':
optional: true
- /@esbuild/darwin-arm64@0.19.8:
- resolution: {integrity: sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
+ '@esbuild/android-x64@0.21.5':
optional: true
- /@esbuild/darwin-arm64@0.21.5:
- resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
+ '@esbuild/darwin-arm64@0.19.12':
optional: true
- /@esbuild/darwin-x64@0.19.8:
- resolution: {integrity: sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
+ '@esbuild/darwin-arm64@0.21.5':
optional: true
- /@esbuild/darwin-x64@0.21.5:
- resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
+ '@esbuild/darwin-x64@0.19.12':
optional: true
- /@esbuild/freebsd-arm64@0.19.8:
- resolution: {integrity: sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
+ '@esbuild/darwin-x64@0.21.5':
optional: true
- /@esbuild/freebsd-arm64@0.21.5:
- resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
+ '@esbuild/freebsd-arm64@0.19.12':
optional: true
- /@esbuild/freebsd-x64@0.19.8:
- resolution: {integrity: sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
+ '@esbuild/freebsd-arm64@0.21.5':
optional: true
- /@esbuild/freebsd-x64@0.21.5:
- resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
+ '@esbuild/freebsd-x64@0.19.12':
optional: true
- /@esbuild/linux-arm64@0.19.8:
- resolution: {integrity: sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
+ '@esbuild/freebsd-x64@0.21.5':
optional: true
- /@esbuild/linux-arm64@0.21.5:
- resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@esbuild/linux-arm64@0.19.12':
optional: true
- /@esbuild/linux-arm@0.19.8:
- resolution: {integrity: sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
+ '@esbuild/linux-arm64@0.21.5':
optional: true
- /@esbuild/linux-arm@0.21.5:
- resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@esbuild/linux-arm@0.19.12':
optional: true
- /@esbuild/linux-ia32@0.19.8:
- resolution: {integrity: sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
+ '@esbuild/linux-arm@0.21.5':
optional: true
- /@esbuild/linux-ia32@0.21.5:
- resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@esbuild/linux-ia32@0.19.12':
optional: true
- /@esbuild/linux-loong64@0.19.8:
- resolution: {integrity: sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
+ '@esbuild/linux-ia32@0.21.5':
optional: true
- /@esbuild/linux-loong64@0.21.5:
- resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@esbuild/linux-loong64@0.19.12':
optional: true
- /@esbuild/linux-mips64el@0.19.8:
- resolution: {integrity: sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
+ '@esbuild/linux-loong64@0.21.5':
optional: true
- /@esbuild/linux-mips64el@0.21.5:
- resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@esbuild/linux-mips64el@0.19.12':
optional: true
- /@esbuild/linux-ppc64@0.19.8:
- resolution: {integrity: sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
+ '@esbuild/linux-mips64el@0.21.5':
optional: true
- /@esbuild/linux-ppc64@0.21.5:
- resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@esbuild/linux-ppc64@0.19.12':
optional: true
- /@esbuild/linux-riscv64@0.19.8:
- resolution: {integrity: sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
+ '@esbuild/linux-ppc64@0.21.5':
optional: true
- /@esbuild/linux-riscv64@0.21.5:
- resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@esbuild/linux-riscv64@0.19.12':
optional: true
- /@esbuild/linux-s390x@0.19.8:
- resolution: {integrity: sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
+ '@esbuild/linux-riscv64@0.21.5':
optional: true
- /@esbuild/linux-s390x@0.21.5:
- resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@esbuild/linux-s390x@0.19.12':
optional: true
- /@esbuild/linux-x64@0.19.8:
- resolution: {integrity: sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
+ '@esbuild/linux-s390x@0.21.5':
optional: true
- /@esbuild/linux-x64@0.21.5:
- resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@esbuild/linux-x64@0.19.12':
optional: true
- /@esbuild/netbsd-x64@0.19.8:
- resolution: {integrity: sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
+ '@esbuild/linux-x64@0.21.5':
optional: true
- /@esbuild/netbsd-x64@0.21.5:
- resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
+ '@esbuild/netbsd-x64@0.19.12':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.21.5':
optional: true
- /@esbuild/openbsd-x64@0.19.8:
- resolution: {integrity: sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
+ '@esbuild/openbsd-x64@0.19.12':
optional: true
- /@esbuild/openbsd-x64@0.21.5:
- resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
+ '@esbuild/openbsd-x64@0.21.5':
optional: true
- /@esbuild/sunos-x64@0.19.8:
- resolution: {integrity: sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
+ '@esbuild/sunos-x64@0.19.12':
optional: true
- /@esbuild/sunos-x64@0.21.5:
- resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
+ '@esbuild/sunos-x64@0.21.5':
optional: true
- /@esbuild/win32-arm64@0.19.8:
- resolution: {integrity: sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
+ '@esbuild/win32-arm64@0.19.12':
optional: true
- /@esbuild/win32-arm64@0.21.5:
- resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
+ '@esbuild/win32-arm64@0.21.5':
optional: true
- /@esbuild/win32-ia32@0.19.8:
- resolution: {integrity: sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
+ '@esbuild/win32-ia32@0.19.12':
optional: true
- /@esbuild/win32-ia32@0.21.5:
- resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
+ '@esbuild/win32-ia32@0.21.5':
optional: true
- /@esbuild/win32-x64@0.19.8:
- resolution: {integrity: sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
+ '@esbuild/win32-x64@0.19.12':
optional: true
- /@esbuild/win32-x64@0.21.5:
- resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
+ '@esbuild/win32-x64@0.21.5':
optional: true
- /@eslint-community/eslint-utils@4.5.1(eslint@9.22.0):
- resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0(jiti@2.5.1))':
dependencies:
- eslint: 9.22.0
+ eslint: 9.26.0(jiti@2.5.1)
eslint-visitor-keys: 3.4.3
- /@eslint-community/regexpp@4.12.1:
- resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ '@eslint-community/regexpp@4.12.1': {}
- /@eslint/config-array@0.19.2:
- resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/config-array@0.20.0':
dependencies:
'@eslint/object-schema': 2.1.6
debug: 4.4.0
@@ -6756,432 +19162,387 @@ packages:
transitivePeerDependencies:
- supports-color
- /@eslint/config-helpers@0.1.0:
- resolution: {integrity: sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/config-helpers@0.2.2': {}
- /@eslint/core@0.12.0:
- resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/core@0.13.0':
dependencies:
'@types/json-schema': 7.0.15
- /@eslint/eslintrc@3.3.0:
- resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/eslintrc@3.3.1':
dependencies:
ajv: 6.12.6
debug: 4.4.0
espree: 10.3.0
globals: 14.0.0
- ignore: 5.3.0
- import-fresh: 3.3.0
+ ignore: 5.3.2
+ import-fresh: 3.3.1
js-yaml: 4.1.0
minimatch: 3.1.2
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
- /@eslint/js@9.22.0:
- resolution: {integrity: sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/js@9.26.0': {}
- /@eslint/object-schema@2.1.6:
- resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/object-schema@2.1.6': {}
- /@eslint/plugin-kit@0.2.7:
- resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/plugin-kit@0.2.8':
dependencies:
- '@eslint/core': 0.12.0
+ '@eslint/core': 0.13.0
levn: 0.4.1
- /@gar/promisify@1.1.3:
- resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
- dev: true
+ '@gar/promisify@1.1.3': {}
- /@google/generative-ai@0.11.3:
- resolution: {integrity: sha512-QtQ1hz6rcybbw35uxXlFF26KNnaTVr2oWwnmDkC1M35KdzN4tVc4wakgJp8uXbY9KDCNHksyp11DbFg0HPckZQ==}
- engines: {node: '>=18.0.0'}
- dev: false
+ '@google/generative-ai@0.11.3': {}
- /@grpc/grpc-js@1.10.10:
- resolution: {integrity: sha512-HPa/K5NX6ahMoeBv15njAc/sfF4/jmiXLar9UlC2UfHFKZzsCVLc3wbe7+7qua7w9VPh2/L6EBxyAV7/E8Wftg==}
- engines: {node: '>=12.10.0'}
+ '@grpc/grpc-js@1.13.3':
dependencies:
- '@grpc/proto-loader': 0.7.13
+ '@grpc/proto-loader': 0.7.15
'@js-sdsl/ordered-map': 4.4.2
- dev: false
- /@grpc/proto-loader@0.7.13:
- resolution: {integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==}
- engines: {node: '>=6'}
- hasBin: true
+ '@grpc/proto-loader@0.7.15':
dependencies:
lodash.camelcase: 4.3.0
- long: 5.2.3
- protobufjs: 7.3.2
+ long: 5.3.2
+ protobufjs: 7.4.0
yargs: 17.7.2
- dev: false
- /@hapi/hoek@9.3.0:
- resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
+ '@hapi/hoek@9.3.0': {}
- /@hapi/topo@5.1.0:
- resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+ '@hapi/topo@5.1.0':
dependencies:
'@hapi/hoek': 9.3.0
- /@hexagon/base64@1.1.28:
- resolution: {integrity: sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw==}
- dev: false
+ '@hexagon/base64@1.1.28': {}
- /@humanfs/core@0.19.1:
- resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
- engines: {node: '>=18.18.0'}
+ '@humanfs/core@0.19.1': {}
- /@humanfs/node@0.16.6:
- resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
- engines: {node: '>=18.18.0'}
+ '@humanfs/node@0.16.6':
dependencies:
'@humanfs/core': 0.19.1
'@humanwhocodes/retry': 0.3.1
- /@humanwhocodes/module-importer@1.0.1:
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
+ '@humanwhocodes/module-importer@1.0.1': {}
- /@humanwhocodes/retry@0.3.1:
- resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
- engines: {node: '>=18.18'}
+ '@humanwhocodes/retry@0.3.1': {}
- /@humanwhocodes/retry@0.4.2:
- resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
- engines: {node: '>=18.18'}
+ '@humanwhocodes/retry@0.4.3': {}
- /@hutson/parse-repository-url@3.0.2:
- resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==}
- engines: {node: '>=6.9.0'}
- dev: true
+ '@hutson/parse-repository-url@3.0.2': {}
- /@isaacs/cliui@8.0.2:
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
+ '@ioredis/commands@1.2.0': {}
+
+ '@ioredis/commands@1.3.0': {}
+
+ '@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
- string-width-cjs: /string-width@4.2.3
+ string-width-cjs: string-width@4.2.3
strip-ansi: 7.1.0
- strip-ansi-cjs: /strip-ansi@6.0.1
+ strip-ansi-cjs: strip-ansi@6.0.1
wrap-ansi: 8.1.0
- wrap-ansi-cjs: /wrap-ansi@7.0.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
- /@isaacs/string-locale-compare@1.1.0:
- resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==}
- dev: false
+ '@isaacs/string-locale-compare@1.1.0': {}
- /@istanbuljs/load-nyc-config@1.1.0:
- resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
- engines: {node: '>=8'}
+ '@istanbuljs/load-nyc-config@1.1.0':
dependencies:
camelcase: 5.3.1
find-up: 4.1.0
get-package-type: 0.1.0
js-yaml: 3.14.1
resolve-from: 5.0.0
- dev: true
- /@istanbuljs/schema@0.1.3:
- resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
- engines: {node: '>=8'}
- dev: true
+ '@istanbuljs/schema@0.1.3': {}
- /@jest/console@29.7.0:
- resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/console@29.7.0':
dependencies:
'@jest/types': 29.6.3
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
chalk: 4.1.2
jest-message-util: 29.7.0
jest-util: 29.7.0
slash: 3.0.0
- dev: true
- /@jest/core@29.7.0:
- resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
+ '@jest/console@30.2.0':
dependencies:
- '@jest/console': 29.7.0
- '@jest/reporters': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 18.19.3
+ '@jest/types': 30.2.0
+ '@types/node': 18.19.98
+ chalk: 4.1.2
+ jest-message-util: 30.2.0
+ jest-util: 30.2.0
+ slash: 3.0.0
+
+ '@jest/core@30.2.0':
+ dependencies:
+ '@jest/console': 30.2.0
+ '@jest/pattern': 30.0.1
+ '@jest/reporters': 30.2.0
+ '@jest/test-result': 30.2.0
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 18.19.98
ansi-escapes: 4.3.2
chalk: 4.1.2
- ci-info: 3.9.0
- exit: 0.1.2
+ ci-info: 4.3.1
+ exit-x: 0.2.2
graceful-fs: 4.2.11
- jest-changed-files: 29.7.0
- jest-config: 29.7.0(@types/node@18.19.3)
- jest-haste-map: 29.7.0
- jest-message-util: 29.7.0
- jest-regex-util: 29.6.3
- jest-resolve: 29.7.0
- jest-resolve-dependencies: 29.7.0
- jest-runner: 29.7.0
- jest-runtime: 29.7.0
- jest-snapshot: 29.7.0
- jest-util: 29.7.0
- jest-validate: 29.7.0
- jest-watcher: 29.7.0
+ jest-changed-files: 30.2.0
+ jest-config: 30.2.0(@types/node@18.19.98)
+ jest-haste-map: 30.2.0
+ jest-message-util: 30.2.0
+ jest-regex-util: 30.0.1
+ jest-resolve: 30.2.0
+ jest-resolve-dependencies: 30.2.0
+ jest-runner: 30.2.0
+ jest-runtime: 30.2.0
+ jest-snapshot: 30.2.0
+ jest-util: 30.2.0
+ jest-validate: 30.2.0
+ jest-watcher: 30.2.0
micromatch: 4.0.5
- pretty-format: 29.7.0
+ pretty-format: 30.2.0
slash: 3.0.0
- strip-ansi: 6.0.1
transitivePeerDependencies:
- babel-plugin-macros
+ - esbuild-register
- supports-color
- ts-node
- dev: true
- /@jest/environment@29.7.0:
- resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/diff-sequences@30.0.1': {}
+
+ '@jest/environment-jsdom-abstract@30.2.0(jsdom@26.1.0)':
dependencies:
- '@jest/fake-timers': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 18.19.3
- jest-mock: 29.7.0
- dev: true
+ '@jest/environment': 30.2.0
+ '@jest/fake-timers': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/jsdom': 21.1.7
+ '@types/node': 18.19.98
+ jest-mock: 30.2.0
+ jest-util: 30.2.0
+ jsdom: 26.1.0
- /@jest/expect-utils@29.7.0:
- resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/environment@30.2.0':
+ dependencies:
+ '@jest/fake-timers': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 18.19.98
+ jest-mock: 30.2.0
+
+ '@jest/expect-utils@29.7.0':
dependencies:
jest-get-type: 29.6.3
- dev: true
- /@jest/expect@29.7.0:
- resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/expect-utils@30.2.0':
dependencies:
- expect: 29.7.0
- jest-snapshot: 29.7.0
+ '@jest/get-type': 30.1.0
+
+ '@jest/expect@30.2.0':
+ dependencies:
+ expect: 30.2.0
+ jest-snapshot: 30.2.0
transitivePeerDependencies:
- supports-color
- dev: true
- /@jest/fake-timers@29.7.0:
- resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/fake-timers@30.2.0':
dependencies:
- '@jest/types': 29.6.3
- '@sinonjs/fake-timers': 10.3.0
- '@types/node': 18.19.3
- jest-message-util: 29.7.0
- jest-mock: 29.7.0
- jest-util: 29.7.0
- dev: true
+ '@jest/types': 30.2.0
+ '@sinonjs/fake-timers': 13.0.5
+ '@types/node': 18.19.98
+ jest-message-util: 30.2.0
+ jest-mock: 30.2.0
+ jest-util: 30.2.0
- /@jest/globals@29.7.0:
- resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/get-type@30.1.0': {}
+
+ '@jest/globals@30.2.0':
dependencies:
- '@jest/environment': 29.7.0
- '@jest/expect': 29.7.0
- '@jest/types': 29.6.3
- jest-mock: 29.7.0
+ '@jest/environment': 30.2.0
+ '@jest/expect': 30.2.0
+ '@jest/types': 30.2.0
+ jest-mock: 30.2.0
transitivePeerDependencies:
- supports-color
- dev: true
- /@jest/reporters@29.7.0:
- resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
+ '@jest/pattern@30.0.1':
+ dependencies:
+ '@types/node': 18.19.98
+ jest-regex-util: 30.0.1
+
+ '@jest/reporters@30.2.0':
dependencies:
'@bcoe/v8-coverage': 0.2.3
- '@jest/console': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@jridgewell/trace-mapping': 0.3.20
- '@types/node': 18.19.3
+ '@jest/console': 30.2.0
+ '@jest/test-result': 30.2.0
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ '@jridgewell/trace-mapping': 0.3.25
+ '@types/node': 18.19.98
chalk: 4.1.2
collect-v8-coverage: 1.0.2
- exit: 0.1.2
- glob: 7.2.3
+ exit-x: 0.2.2
+ glob: 10.4.5
graceful-fs: 4.2.11
istanbul-lib-coverage: 3.2.2
- istanbul-lib-instrument: 6.0.1
+ istanbul-lib-instrument: 6.0.3
istanbul-lib-report: 3.0.1
- istanbul-lib-source-maps: 4.0.1
- istanbul-reports: 3.1.6
- jest-message-util: 29.7.0
- jest-util: 29.7.0
- jest-worker: 29.7.0
+ istanbul-lib-source-maps: 5.0.6
+ istanbul-reports: 3.1.7
+ jest-message-util: 30.2.0
+ jest-util: 30.2.0
+ jest-worker: 30.2.0
slash: 3.0.0
string-length: 4.0.2
- strip-ansi: 6.0.1
- v8-to-istanbul: 9.2.0
+ v8-to-istanbul: 9.3.0
transitivePeerDependencies:
- supports-color
- dev: true
- /@jest/schemas@29.6.3:
- resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/schemas@29.6.3':
dependencies:
'@sinclair/typebox': 0.27.8
- /@jest/source-map@29.6.3:
- resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/schemas@30.0.5':
dependencies:
- '@jridgewell/trace-mapping': 0.3.20
+ '@sinclair/typebox': 0.34.41
+
+ '@jest/snapshot-utils@30.2.0':
+ dependencies:
+ '@jest/types': 30.2.0
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ natural-compare: 1.4.0
+
+ '@jest/source-map@30.0.1':
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.25
callsites: 3.1.0
graceful-fs: 4.2.11
- dev: true
- /@jest/test-result@29.7.0:
- resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/test-result@29.7.0':
dependencies:
'@jest/console': 29.7.0
'@jest/types': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
collect-v8-coverage: 1.0.2
- dev: true
- /@jest/test-sequencer@29.7.0:
- resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/test-result@30.2.0':
dependencies:
- '@jest/test-result': 29.7.0
+ '@jest/console': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/istanbul-lib-coverage': 2.0.6
+ collect-v8-coverage: 1.0.2
+
+ '@jest/test-sequencer@30.2.0':
+ dependencies:
+ '@jest/test-result': 30.2.0
graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
+ jest-haste-map: 30.2.0
slash: 3.0.0
- dev: true
- /@jest/transform@29.7.0:
- resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/transform@30.2.0':
dependencies:
- '@babel/core': 7.23.5
- '@jest/types': 29.6.3
- '@jridgewell/trace-mapping': 0.3.20
- babel-plugin-istanbul: 6.1.1
+ '@babel/core': 7.28.4
+ '@jest/types': 30.2.0
+ '@jridgewell/trace-mapping': 0.3.25
+ babel-plugin-istanbul: 7.0.1
chalk: 4.1.2
convert-source-map: 2.0.0
fast-json-stable-stringify: 2.1.0
graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- jest-regex-util: 29.6.3
- jest-util: 29.7.0
+ jest-haste-map: 30.2.0
+ jest-regex-util: 30.0.1
+ jest-util: 30.2.0
micromatch: 4.0.5
- pirates: 4.0.6
+ pirates: 4.0.7
slash: 3.0.0
- write-file-atomic: 4.0.2
+ write-file-atomic: 5.0.1
transitivePeerDependencies:
- supports-color
- dev: true
- /@jest/types@27.5.1:
- resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ '@jest/types@27.5.1':
dependencies:
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
- '@types/node': 20.10.4
+ '@types/node': 18.19.98
'@types/yargs': 16.0.9
chalk: 4.1.2
- dev: false
- /@jest/types@29.6.3:
- resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/types@29.6.3':
dependencies:
'@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
- '@types/node': 18.19.3
- '@types/yargs': 17.0.32
+ '@types/node': 18.19.98
+ '@types/yargs': 17.0.33
chalk: 4.1.2
- /@jridgewell/gen-mapping@0.3.3:
- resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
- engines: {node: '>=6.0.0'}
+ '@jest/types@30.2.0':
dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.20
+ '@jest/pattern': 30.0.1
+ '@jest/schemas': 30.0.5
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 18.19.98
+ '@types/yargs': 17.0.33
+ chalk: 4.1.2
- /@jridgewell/resolve-uri@3.1.1:
- resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
- engines: {node: '>=6.0.0'}
+ '@jridgewell/gen-mapping@0.3.13':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/trace-mapping': 0.3.31
- /@jridgewell/set-array@1.1.2:
- resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
- engines: {node: '>=6.0.0'}
+ '@jridgewell/gen-mapping@0.3.8':
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/remapping@2.3.5':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.8
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/resolve-uri@3.1.2': {}
- /@jridgewell/source-map@0.3.5:
- resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
+ '@jridgewell/set-array@1.2.1': {}
+
+ '@jridgewell/source-map@0.3.6':
dependencies:
- '@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.20
+ '@jridgewell/gen-mapping': 0.3.8
+ '@jridgewell/trace-mapping': 0.3.25
- /@jridgewell/sourcemap-codec@1.4.15:
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+ '@jridgewell/sourcemap-codec@1.5.0': {}
- /@jridgewell/trace-mapping@0.3.20:
- resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
+ '@jridgewell/trace-mapping@0.3.25':
dependencies:
- '@jridgewell/resolve-uri': 3.1.1
- '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.0
- /@js-sdsl/ordered-map@4.4.2:
- resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==}
- dev: false
+ '@jridgewell/trace-mapping@0.3.31':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.0
- /@juggle/resize-observer@2.3.0:
- resolution: {integrity: sha512-vCS2dz1HAG760+vADa7Fol/NhrmdyDa58Nvq39TpdwYjCqTEDFmIFCDGRiKGSw4GPoDRcx/+xwOYlJdMeNUKRw==}
- dev: false
+ '@js-sdsl/ordered-map@4.4.2': {}
- /@kwsites/file-exists@1.1.1:
- resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==}
+ '@juggle/resize-observer@2.3.0': {}
+
+ '@kwsites/file-exists@1.1.1':
dependencies:
debug: 4.4.0
transitivePeerDependencies:
- supports-color
- dev: false
- /@kwsites/promise-deferred@1.1.1:
- resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==}
- dev: false
+ '@kwsites/promise-deferred@1.1.1': {}
- /@leichtgewicht/ip-codec@2.0.4:
- resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==}
- dev: false
+ '@leichtgewicht/ip-codec@2.0.5': {}
- /@lerna/create@8.0.0(typescript@5.3.3):
- resolution: {integrity: sha512-mCeEhjFDRwPY7J4uxCjqdzPwPFBUGlkdlQjBidaX5XaoQcxR2hAAvgHZKfVGkUUEZKfyPcWwKzen4KydNB2G7A==}
- engines: {node: '>=18.0.0'}
+ '@lerna/create@8.0.0(encoding@0.1.13)(typescript@5.8.3)':
dependencies:
'@npmcli/run-script': 6.0.2
- '@nx/devkit': 17.1.3(nx@17.1.3)
+ '@nx/devkit': 17.3.2(nx@17.3.2)
'@octokit/plugin-enterprise-rest': 6.0.1
- '@octokit/rest': 19.0.11
+ '@octokit/rest': 19.0.11(encoding@0.1.13)
byte-size: 8.1.1
chalk: 4.1.0
clone-deep: 4.0.1
@@ -7189,10 +19550,10 @@ packages:
columnify: 1.6.0
conventional-changelog-core: 5.0.1
conventional-recommended-bump: 7.0.1
- cosmiconfig: 8.3.6(typescript@5.3.3)
+ cosmiconfig: 8.3.6(typescript@5.8.3)
dedent: 0.7.0
execa: 5.0.0
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
get-stream: 6.0.0
git-url-parse: 13.1.0
glob-parent: 5.1.2
@@ -7211,12 +19572,12 @@ packages:
make-dir: 4.0.0
minimatch: 3.0.5
multimatch: 5.0.0
- node-fetch: 2.6.7
+ node-fetch: 2.6.7(encoding@0.1.13)
npm-package-arg: 8.1.1
npm-packlist: 5.1.1
npm-registry-fetch: 14.0.5
npmlog: 6.0.2
- nx: 17.1.3
+ nx: 17.3.2
p-map: 4.0.0
p-map-series: 2.1.0
p-queue: 6.6.2
@@ -7227,7 +19588,7 @@ packages:
read-package-json: 6.0.4
resolve-from: 5.0.0
rimraf: 4.4.1
- semver: 7.6.3
+ semver: 7.7.1
signal-exit: 3.0.7
slash: 3.0.0
ssri: 9.0.1
@@ -7250,61 +19611,115 @@ packages:
- encoding
- supports-color
- typescript
- dev: true
- /@levischuck/tiny-cbor@0.2.2:
- resolution: {integrity: sha512-f5CnPw997Y2GQ8FAvtuVVC19FX8mwNNC+1XJcIi16n/LTJifKO6QBgGLgN3YEmqtGMk17SKSuoWES3imJVxAVw==}
- dev: false
+ '@levischuck/tiny-cbor@0.2.11': {}
- /@livekit/protocol@1.15.0:
- resolution: {integrity: sha512-KVjM1odPzEWkXB4QQyz2qfiecHo74wLeb8YDhaX/cNnxUk0H1L35H0gVgLA8Y6fXkF3ayOHQnXO9V3GzulMyXw==}
+ '@libsql/client@0.15.14':
dependencies:
- '@bufbuild/protobuf': 1.10.0
- dev: false
+ '@libsql/core': 0.15.14
+ '@libsql/hrana-client': 0.7.0
+ js-base64: 3.7.8
+ libsql: 0.5.20
+ promise-limit: 2.7.0
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
- /@livekit/protocol@1.27.0:
- resolution: {integrity: sha512-jVb4zljNaYKoLiL5MBjGiO1+QKVsxMqXT/c0dwcKUW7NCLjAZXucoQVV1Y79FCbKwVnOCOtI6wwteEntbfk/Qw==}
+ '@libsql/core@0.15.14':
dependencies:
- '@bufbuild/protobuf': 1.10.0
- dev: false
+ js-base64: 3.7.8
- /@logdna/tail-file@2.2.0:
- resolution: {integrity: sha512-XGSsWDweP80Fks16lwkAUIr54ICyBs6PsI4mpfTLQaWgEJRtY9xEV+PeyDpJ+sJEGZxqINlpmAwe/6tS1pP8Ng==}
- engines: {node: '>=10.3.0'}
- dev: false
+ '@libsql/darwin-arm64@0.5.20':
+ optional: true
- /@loomhq/loom-embed@1.7.0:
- resolution: {integrity: sha512-HJE+N/iUWLHpLhdo3afp9I9jbMo00JecaHRdXlhN2JXVbaaRR0Kcf+bN+KvdeQqfSIDI0a2I4UOs3zX2bgUI5g==}
- dev: false
+ '@libsql/darwin-x64@0.5.20':
+ optional: true
+
+ '@libsql/hrana-client@0.7.0':
+ dependencies:
+ '@libsql/isomorphic-fetch': 0.3.1
+ '@libsql/isomorphic-ws': 0.1.5
+ js-base64: 3.7.8
+ node-fetch: 3.3.2
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ '@libsql/isomorphic-fetch@0.3.1': {}
+
+ '@libsql/isomorphic-ws@0.1.5':
+ dependencies:
+ '@types/ws': 8.18.1
+ ws: 8.18.0
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ '@libsql/linux-arm-gnueabihf@0.5.20':
+ optional: true
+
+ '@libsql/linux-arm-musleabihf@0.5.20':
+ optional: true
+
+ '@libsql/linux-arm64-gnu@0.5.20':
+ optional: true
+
+ '@libsql/linux-arm64-gnu@0.5.22': {}
+
+ '@libsql/linux-arm64-musl@0.5.20':
+ optional: true
+
+ '@libsql/linux-x64-gnu@0.5.20':
+ optional: true
+
+ '@libsql/linux-x64-gnu@0.5.22': {}
+
+ '@libsql/linux-x64-musl@0.5.20':
+ optional: true
+
+ '@libsql/win32-x64-msvc@0.5.20':
+ optional: true
- /@loomhq/record-sdk@3.3.3(prop-types@15.8.1)(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-c+VkRDRcSwDqVogzXg7ZzvyKbnUWJ4hysB45Y6VPfxDnsWBhty+DoijiTslq+8nR50o48iw4hG9GxDICa+IyIg==}
+ '@libsql/win32-x64-msvc@0.5.22': {}
+
+ '@livekit/protocol@1.15.0':
+ dependencies:
+ '@bufbuild/protobuf': 1.10.1
+
+ '@livekit/protocol@1.37.1':
+ dependencies:
+ '@bufbuild/protobuf': 1.10.1
+
+ '@logdna/tail-file@2.2.0': {}
+
+ '@loomhq/loom-embed@1.7.0': {}
+
+ '@loomhq/record-sdk@3.14.4(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- react-type-animation: 3.2.0(prop-types@15.8.1)(react-dom@18.3.1)(react@18.3.1)
+ react-hotkeys-hook: 3.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react-type-animation: 3.2.0(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
transitivePeerDependencies:
- prop-types
- react
- react-dom
- dev: false
- /@mdx-js/mdx@3.0.0(patch_hash=lqdilpwhfhkxjukceppb4twwum):
- resolution: {integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==}
+ '@mdx-js/mdx@3.0.0(patch_hash=23fce79a8d279fa75dfece17d731fccaaa071ece72fe7b3d44db9e33c63d2b1a)':
dependencies:
'@types/estree': 1.0.0
- '@types/estree-jsx': 1.0.3
- '@types/hast': 3.0.3
- '@types/mdx': 2.0.10
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdx': 2.0.13
collapse-white-space: 2.1.0
devlop: 1.1.0
estree-util-build-jsx: 3.0.1
estree-util-is-identifier-name: 3.0.0
estree-util-to-js: 2.0.0
estree-walker: 3.0.3
- hast-util-to-estree: 3.1.0
- hast-util-to-jsx-runtime: 2.3.0
+ hast-util-to-estree: 3.1.3
+ hast-util-to-jsx-runtime: 2.3.6
markdown-extensions: 2.0.0
periscopic: 3.1.0
- remark-mdx: 3.0.0
+ remark-mdx: 3.1.0
remark-parse: 11.0.0
remark-rehype: 11.0.0
source-map: 0.7.3
@@ -7312,58 +19727,81 @@ packages:
unist-util-position-from-estree: 2.0.0
unist-util-stringify-position: 4.0.0
unist-util-visit: 5.0.0
- vfile: 6.0.1
+ vfile: 6.0.3
transitivePeerDependencies:
- supports-color
- dev: false
- patched: true
- /@mdx-js/react@3.0.0(@types/react@18.2.43)(react@18.2.0):
- resolution: {integrity: sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ==}
- peerDependencies:
- '@types/react': '>=16'
- react: '>=16'
+ '@mdx-js/react@3.0.0(@types/react@18.3.21)(react@18.3.1)':
dependencies:
- '@types/mdx': 2.0.10
- '@types/react': 18.2.43
- react: 18.2.0
- dev: false
+ '@types/mdx': 2.0.13
+ '@types/react': 18.3.21
+ react: 18.3.1
- /@nodelib/fs.scandir@2.1.5:
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
+ '@modelcontextprotocol/sdk@1.11.0':
+ dependencies:
+ content-type: 1.0.5
+ cors: 2.8.5
+ cross-spawn: 7.0.6
+ eventsource: 3.0.6
+ express: 5.1.0
+ express-rate-limit: 7.5.0(express@5.1.0)
+ pkce-challenge: 5.0.0
+ raw-body: 3.0.0
+ zod: 3.24.4
+ zod-to-json-schema: 3.24.5(zod@3.24.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3':
+ optional: true
+
+ '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3':
+ optional: true
+
+ '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3':
+ optional: true
+
+ '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3':
+ optional: true
+
+ '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3':
+ optional: true
+
+ '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3':
+ optional: true
+
+ '@napi-rs/wasm-runtime@0.2.12':
+ dependencies:
+ '@emnapi/core': 1.5.0
+ '@emnapi/runtime': 1.5.0
+ '@tybys/wasm-util': 0.10.1
+ optional: true
+
+ '@neon-rs/load@0.0.4': {}
+
+ '@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
run-parallel: 1.2.0
- /@nodelib/fs.stat@2.0.5:
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
+ '@nodelib/fs.stat@2.0.5': {}
- /@nodelib/fs.walk@1.2.8:
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
+ '@nodelib/fs.walk@1.2.8':
dependencies:
'@nodelib/fs.scandir': 2.1.5
- fastq: 1.15.0
+ fastq: 1.19.1
- /@npmcli/agent@2.2.2:
- resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@npmcli/agent@2.2.2':
dependencies:
- agent-base: 7.1.1
+ agent-base: 7.1.3
http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.4
+ https-proxy-agent: 7.0.6
lru-cache: 10.4.3
- socks-proxy-agent: 8.0.4
+ socks-proxy-agent: 8.0.5
transitivePeerDependencies:
- supports-color
- dev: false
- /@npmcli/arborist@7.5.4:
- resolution: {integrity: sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==}
- engines: {node: ^16.14.0 || >=18.0.0}
- hasBin: true
+ '@npmcli/arborist@7.5.4':
dependencies:
'@isaacs/string-locale-compare': 1.1.0
'@npmcli/fs': 3.1.1
@@ -7372,7 +19810,7 @@ packages:
'@npmcli/metavuln-calculator': 7.1.1
'@npmcli/name-from-folder': 2.0.0
'@npmcli/node-gyp': 3.0.0
- '@npmcli/package-json': 5.2.0
+ '@npmcli/package-json': 5.2.1
'@npmcli/query': 3.1.0
'@npmcli/redact': 2.0.1
'@npmcli/run-script': 8.1.0
@@ -7394,42 +19832,26 @@ packages:
proc-log: 4.2.0
proggy: 2.0.0
promise-all-reject-late: 1.0.1
- promise-call-limit: 3.0.1
+ promise-call-limit: 3.0.2
read-package-json-fast: 3.0.2
- semver: 7.6.3
+ semver: 7.7.1
ssri: 10.0.6
treeverse: 3.0.0
walk-up-path: 3.0.1
transitivePeerDependencies:
- bluebird
- supports-color
- dev: false
- /@npmcli/fs@2.1.2:
- resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ '@npmcli/fs@2.1.2':
dependencies:
'@gar/promisify': 1.1.3
- semver: 7.6.3
- dev: true
-
- /@npmcli/fs@3.1.0:
- resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dependencies:
- semver: 7.6.3
- dev: true
+ semver: 7.7.1
- /@npmcli/fs@3.1.1:
- resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@npmcli/fs@3.1.1':
dependencies:
- semver: 7.6.3
- dev: false
+ semver: 7.7.1
- /@npmcli/git@4.1.0:
- resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@npmcli/git@4.1.0':
dependencies:
'@npmcli/promise-spawn': 6.0.2
lru-cache: 7.18.3
@@ -7437,15 +19859,12 @@ packages:
proc-log: 3.0.0
promise-inflight: 1.0.1
promise-retry: 2.0.1
- semver: 7.6.3
+ semver: 7.7.1
which: 3.0.1
transitivePeerDependencies:
- bluebird
- dev: true
- /@npmcli/git@5.0.8:
- resolution: {integrity: sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@npmcli/git@5.0.8':
dependencies:
'@npmcli/promise-spawn': 7.0.2
ini: 4.1.3
@@ -7454,116 +19873,70 @@ packages:
proc-log: 4.2.0
promise-inflight: 1.0.1
promise-retry: 2.0.1
- semver: 7.6.3
+ semver: 7.7.1
which: 4.0.0
transitivePeerDependencies:
- bluebird
- dev: false
-
- /@npmcli/installed-package-contents@2.0.2:
- resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- hasBin: true
- dependencies:
- npm-bundled: 3.0.0
- npm-normalize-package-bin: 3.0.1
- dev: true
- /@npmcli/installed-package-contents@2.1.0:
- resolution: {integrity: sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- hasBin: true
+ '@npmcli/installed-package-contents@2.1.0':
dependencies:
- npm-bundled: 3.0.0
+ npm-bundled: 3.0.1
npm-normalize-package-bin: 3.0.1
- dev: false
- /@npmcli/map-workspaces@3.0.6:
- resolution: {integrity: sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@npmcli/map-workspaces@3.0.6':
dependencies:
'@npmcli/name-from-folder': 2.0.0
- glob: 10.3.10
+ glob: 10.4.5
minimatch: 9.0.5
read-package-json-fast: 3.0.2
- dev: false
- /@npmcli/metavuln-calculator@7.1.1:
- resolution: {integrity: sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@npmcli/metavuln-calculator@7.1.1':
dependencies:
cacache: 18.0.4
json-parse-even-better-errors: 3.0.2
pacote: 18.0.6
proc-log: 4.2.0
- semver: 7.6.3
+ semver: 7.7.1
transitivePeerDependencies:
- bluebird
- supports-color
- dev: false
- /@npmcli/move-file@2.0.1:
- resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
- deprecated: This functionality has been moved to @npmcli/fs
+ '@npmcli/move-file@2.0.1':
dependencies:
mkdirp: 1.0.4
rimraf: 3.0.2
- dev: true
- /@npmcli/name-from-folder@2.0.0:
- resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: false
+ '@npmcli/name-from-folder@2.0.0': {}
- /@npmcli/node-gyp@3.0.0:
- resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@npmcli/node-gyp@3.0.0': {}
- /@npmcli/package-json@5.2.0:
- resolution: {integrity: sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@npmcli/package-json@5.2.1':
dependencies:
'@npmcli/git': 5.0.8
- glob: 10.3.10
+ glob: 10.4.5
hosted-git-info: 7.0.2
json-parse-even-better-errors: 3.0.2
normalize-package-data: 6.0.2
proc-log: 4.2.0
- semver: 7.6.3
+ semver: 7.7.1
transitivePeerDependencies:
- bluebird
- dev: false
- /@npmcli/promise-spawn@6.0.2:
- resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@npmcli/promise-spawn@6.0.2':
dependencies:
which: 3.0.1
- dev: true
- /@npmcli/promise-spawn@7.0.2:
- resolution: {integrity: sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@npmcli/promise-spawn@7.0.2':
dependencies:
which: 4.0.0
- dev: false
- /@npmcli/query@3.1.0:
- resolution: {integrity: sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@npmcli/query@3.1.0':
dependencies:
postcss-selector-parser: 6.1.2
- dev: false
- /@npmcli/redact@2.0.1:
- resolution: {integrity: sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==}
- engines: {node: ^16.14.0 || >=18.0.0}
- dev: false
+ '@npmcli/redact@2.0.1': {}
- /@npmcli/run-script@6.0.2:
- resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@npmcli/run-script@6.0.2':
dependencies:
'@npmcli/node-gyp': 3.0.0
'@npmcli/promise-spawn': 6.0.2
@@ -7573,558 +19946,402 @@ packages:
transitivePeerDependencies:
- bluebird
- supports-color
- dev: true
- /@npmcli/run-script@8.1.0:
- resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@npmcli/run-script@8.1.0':
dependencies:
'@npmcli/node-gyp': 3.0.0
- '@npmcli/package-json': 5.2.0
+ '@npmcli/package-json': 5.2.1
'@npmcli/promise-spawn': 7.0.2
- node-gyp: 10.2.0
+ node-gyp: 10.3.1
proc-log: 4.2.0
which: 4.0.0
transitivePeerDependencies:
- bluebird
- supports-color
- dev: false
- /@nrwl/devkit@17.1.3(nx@17.1.3):
- resolution: {integrity: sha512-8HfIY7P3yIYfQ/XKuHoq0GGLA9GpwWtBlI9kPQ0ygjuJ9BkpiGMtQvO6003zs7c6vpc2vNeG+Jmi72+EKvoN5A==}
+ '@nrwl/devkit@17.3.2(nx@17.3.2)':
dependencies:
- '@nx/devkit': 17.1.3(nx@17.1.3)
+ '@nx/devkit': 17.3.2(nx@17.3.2)
transitivePeerDependencies:
- nx
- dev: true
- /@nrwl/tao@17.1.3:
- resolution: {integrity: sha512-9YpfEkUpVqOweqgQvMDcWApNx4jhCqBNH5IByZj302Enp3TLnQSvhuX5Dfr8hNQRQokIpEn6tW8SGTctTM5LXw==}
- hasBin: true
+ '@nrwl/tao@17.3.2':
dependencies:
- nx: 17.1.3
- tslib: 2.8.0
+ nx: 17.3.2
+ tslib: 2.8.1
transitivePeerDependencies:
- '@swc-node/register'
- '@swc/core'
- debug
- dev: true
- /@nx/devkit@17.1.3(nx@17.1.3):
- resolution: {integrity: sha512-1Is7ooovg3kdGJ5VdkePulRUDaMYLLULr+LwXgx7oHSW7AY2iCmhkoOE/vSR7DJ6rkey2gYx7eT1IoRoORiIaQ==}
- peerDependencies:
- nx: '>= 16 <= 18'
+ '@nx/devkit@17.3.2(nx@17.3.2)':
dependencies:
- '@nrwl/devkit': 17.1.3(nx@17.1.3)
- ejs: 3.1.9
+ '@nrwl/devkit': 17.3.2(nx@17.3.2)
+ ejs: 3.1.10
enquirer: 2.3.6
- ignore: 5.3.0
- nx: 17.1.3
- semver: 7.5.3
- tmp: 0.2.1
- tslib: 2.8.0
- dev: true
-
- /@nx/nx-darwin-arm64@17.1.3:
- resolution: {integrity: sha512-f4qLa0y3C4uuhYKgq+MU892WaQvtvmHqrEhHINUOxYXNiLy2sgyJPW0mOZvzXtC4dPaUmiVaFP5RMVzc8Lxhtg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
+ ignore: 5.3.2
+ nx: 17.3.2
+ semver: 7.7.1
+ tmp: 0.2.3
+ tslib: 2.8.1
+ yargs-parser: 21.1.1
+
+ '@nx/nx-darwin-arm64@17.3.2':
optional: true
- /@nx/nx-darwin-x64@17.1.3:
- resolution: {integrity: sha512-kh76ZjqkLeQUIAfTa9G/DFFf+e1sZ5ipDzk7zFGhZ2k68PoQoFdsFOO3C513JmuEdavspts6Hkifsqh61TaE+A==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
+ '@nx/nx-darwin-x64@17.3.2':
optional: true
- /@nx/nx-freebsd-x64@17.1.3:
- resolution: {integrity: sha512-CRuVL5ZSLb+Gc8vwMUUe9Pl/1Z26YtXMKTahBMQh2dac63vzLgzqIV4c66aduUl1x2M0kGYBSIIRG9z0/BgWeg==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
+ '@nx/nx-freebsd-x64@17.3.2':
optional: true
- /@nx/nx-linux-arm-gnueabihf@17.1.3:
- resolution: {integrity: sha512-KDBmd5tSrg93g/oij/eGW4yeVNVK3DBIM4VYAS2vtkIgVOGoqcQ+SEIeMK3nMUJP9jGyblt3QNj5ZsJBtScwQw==}
- engines: {node: '>= 10'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@nx/nx-linux-arm-gnueabihf@17.3.2':
optional: true
- /@nx/nx-linux-arm64-gnu@17.1.3:
- resolution: {integrity: sha512-W2tNL/7sIwoQKLmuy68Usd6TZzIZvxZt4UE30kDwGc2RSap6RCHAvDbzSxtW+L4+deC9UxX0Tty0VuW+J8FjSg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@nx/nx-linux-arm64-gnu@17.3.2':
optional: true
- /@nx/nx-linux-arm64-musl@17.1.3:
- resolution: {integrity: sha512-Oto3gkLd7yweuVUCsSHwm4JkAIbcxpPJP0ycRHI/PRHPMIOPiMX8r651QM1amMyKAbJtAe047nyb9Sh1X0FA4A==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@nx/nx-linux-arm64-musl@17.3.2':
optional: true
- /@nx/nx-linux-x64-gnu@17.1.3:
- resolution: {integrity: sha512-pJS994sa5PBPFak93RydTB9KdEmiVb3rgiSB7PDBegphERbzHEB77B7G8M5TZ62dGlMdplIEKmdhY5XNqeAf9A==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@nx/nx-linux-x64-gnu@17.3.2':
optional: true
- /@nx/nx-linux-x64-musl@17.1.3:
- resolution: {integrity: sha512-4Hcx5Fg/88jV+bcTr6P0dM4unXNvKgrGJe3oK9/sgEhiW6pD2UAFjv16CCSRcWhDUAzUDqcwnD2fgg+vnAJG6g==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@nx/nx-linux-x64-musl@17.3.2':
optional: true
- /@nx/nx-win32-arm64-msvc@17.1.3:
- resolution: {integrity: sha512-dUasEuskmDxUL36XA0GZqSb9233suE4wKhxrMobyFBzHUZ2tq/unzOpPjYfqDBie4QIvF8tEpAjQsLds8LWgbw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
+ '@nx/nx-win32-arm64-msvc@17.3.2':
optional: true
- /@nx/nx-win32-x64-msvc@17.1.3:
- resolution: {integrity: sha512-eTuTpBHFvA5NFJh/iosmqCL4JOAjDrwXLSMgfKrZKjiApHMG1T/5Hb+PrsNpt+WnGp94ur7c4Dtx4xD5vlpAEw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
+ '@nx/nx-win32-x64-msvc@17.3.2':
optional: true
- /@octokit/app@15.1.0:
- resolution: {integrity: sha512-TkBr7QgOmE6ORxvIAhDbZsqPkF7RSqTY4pLTtUQCvr6dTXqvi2fFo46q3h1lxlk/sGMQjqyZ0kEahkD/NyzOHg==}
- engines: {node: '>= 18'}
- dependencies:
- '@octokit/auth-app': 7.1.0
- '@octokit/auth-unauthenticated': 6.1.0
- '@octokit/core': 6.1.2
- '@octokit/oauth-app': 7.1.3
- '@octokit/plugin-paginate-rest': 11.3.3(@octokit/core@6.1.2)
- '@octokit/types': 13.5.0
- '@octokit/webhooks': 13.3.0
- dev: false
-
- /@octokit/auth-app@7.1.0:
- resolution: {integrity: sha512-cazGaJPSgeZ8NkVYeM/C5l/6IQ5vZnsI8p1aMucadCkt/bndI+q+VqwrlnWbASRmenjOkf1t1RpCKrif53U8gw==}
- engines: {node: '>= 18'}
- dependencies:
- '@octokit/auth-oauth-app': 8.1.1
- '@octokit/auth-oauth-user': 5.1.1
- '@octokit/request': 9.1.3
- '@octokit/request-error': 6.1.4
- '@octokit/types': 13.5.0
- lru-cache: 10.4.3
- universal-github-app-jwt: 2.2.0
+ '@octokit/app@15.1.6':
+ dependencies:
+ '@octokit/auth-app': 7.2.1
+ '@octokit/auth-unauthenticated': 6.1.3
+ '@octokit/core': 6.1.5
+ '@octokit/oauth-app': 7.1.6
+ '@octokit/plugin-paginate-rest': 12.0.0(@octokit/core@6.1.5)
+ '@octokit/types': 14.0.0
+ '@octokit/webhooks': 13.8.2
+
+ '@octokit/auth-app@7.2.1':
+ dependencies:
+ '@octokit/auth-oauth-app': 8.1.4
+ '@octokit/auth-oauth-user': 5.1.4
+ '@octokit/request': 9.2.3
+ '@octokit/request-error': 6.1.8
+ '@octokit/types': 14.0.0
+ toad-cache: 3.7.0
+ universal-github-app-jwt: 2.2.2
universal-user-agent: 7.0.2
- dev: false
- /@octokit/auth-oauth-app@8.1.1:
- resolution: {integrity: sha512-5UtmxXAvU2wfcHIPPDWzVSAWXVJzG3NWsxb7zCFplCWEmMCArSZV0UQu5jw5goLQXbFyOr5onzEH37UJB3zQQg==}
- engines: {node: '>= 18'}
+ '@octokit/auth-oauth-app@8.1.4':
dependencies:
- '@octokit/auth-oauth-device': 7.1.1
- '@octokit/auth-oauth-user': 5.1.1
- '@octokit/request': 9.1.3
- '@octokit/types': 13.5.0
+ '@octokit/auth-oauth-device': 7.1.5
+ '@octokit/auth-oauth-user': 5.1.4
+ '@octokit/request': 9.2.3
+ '@octokit/types': 14.0.0
universal-user-agent: 7.0.2
- dev: false
- /@octokit/auth-oauth-device@7.1.1:
- resolution: {integrity: sha512-HWl8lYueHonuyjrKKIup/1tiy0xcmQCdq5ikvMO1YwkNNkxb6DXfrPjrMYItNLyCP/o2H87WuijuE+SlBTT8eg==}
- engines: {node: '>= 18'}
+ '@octokit/auth-oauth-device@7.1.5':
dependencies:
- '@octokit/oauth-methods': 5.1.2
- '@octokit/request': 9.1.3
- '@octokit/types': 13.5.0
+ '@octokit/oauth-methods': 5.1.5
+ '@octokit/request': 9.2.3
+ '@octokit/types': 14.0.0
universal-user-agent: 7.0.2
- dev: false
- /@octokit/auth-oauth-user@5.1.1:
- resolution: {integrity: sha512-rRkMz0ErOppdvEfnemHJXgZ9vTPhBuC6yASeFaB7I2yLMd7QpjfrL1mnvRPlyKo+M6eeLxrKanXJ9Qte29SRsw==}
- engines: {node: '>= 18'}
+ '@octokit/auth-oauth-user@5.1.4':
dependencies:
- '@octokit/auth-oauth-device': 7.1.1
- '@octokit/oauth-methods': 5.1.2
- '@octokit/request': 9.1.3
- '@octokit/types': 13.5.0
+ '@octokit/auth-oauth-device': 7.1.5
+ '@octokit/oauth-methods': 5.1.5
+ '@octokit/request': 9.2.3
+ '@octokit/types': 14.0.0
universal-user-agent: 7.0.2
- dev: false
- /@octokit/auth-token@2.5.0:
- resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==}
+ '@octokit/auth-token@2.5.0':
dependencies:
'@octokit/types': 6.41.0
- dev: false
- /@octokit/auth-token@3.0.4:
- resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==}
- engines: {node: '>= 14'}
- dev: true
+ '@octokit/auth-token@3.0.4': {}
- /@octokit/auth-token@5.1.1:
- resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==}
- engines: {node: '>= 18'}
- dev: false
+ '@octokit/auth-token@4.0.0': {}
- /@octokit/auth-unauthenticated@6.1.0:
- resolution: {integrity: sha512-zPSmfrUAcspZH/lOFQnVnvjQZsIvmfApQH6GzJrkIunDooU1Su2qt2FfMTSVPRp7WLTQyC20Kd55lF+mIYaohQ==}
- engines: {node: '>= 18'}
+ '@octokit/auth-token@5.1.2': {}
+
+ '@octokit/auth-unauthenticated@6.1.3':
dependencies:
- '@octokit/request-error': 6.1.4
- '@octokit/types': 13.5.0
- dev: false
+ '@octokit/request-error': 6.1.8
+ '@octokit/types': 14.0.0
- /@octokit/core@3.6.0:
- resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==}
+ '@octokit/core@3.6.0(encoding@0.1.13)':
dependencies:
'@octokit/auth-token': 2.5.0
- '@octokit/graphql': 4.8.0
- '@octokit/request': 5.6.3
+ '@octokit/graphql': 4.8.0(encoding@0.1.13)
+ '@octokit/request': 5.6.3(encoding@0.1.13)
'@octokit/request-error': 2.1.0
'@octokit/types': 6.41.0
before-after-hook: 2.2.3
universal-user-agent: 6.0.1
transitivePeerDependencies:
- encoding
- dev: false
- /@octokit/core@4.2.4:
- resolution: {integrity: sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==}
- engines: {node: '>= 14'}
+ '@octokit/core@4.2.4(encoding@0.1.13)':
dependencies:
'@octokit/auth-token': 3.0.4
- '@octokit/graphql': 5.0.6
- '@octokit/request': 6.2.8
+ '@octokit/graphql': 5.0.6(encoding@0.1.13)
+ '@octokit/request': 6.2.8(encoding@0.1.13)
'@octokit/request-error': 3.0.3
'@octokit/types': 9.3.2
before-after-hook: 2.2.3
universal-user-agent: 6.0.1
transitivePeerDependencies:
- encoding
- dev: true
- /@octokit/core@6.1.2:
- resolution: {integrity: sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==}
- engines: {node: '>= 18'}
+ '@octokit/core@5.2.2':
dependencies:
- '@octokit/auth-token': 5.1.1
- '@octokit/graphql': 8.1.1
- '@octokit/request': 9.1.3
- '@octokit/request-error': 6.1.4
- '@octokit/types': 13.5.0
+ '@octokit/auth-token': 4.0.0
+ '@octokit/graphql': 7.1.1
+ '@octokit/request': 8.4.1
+ '@octokit/request-error': 5.1.1
+ '@octokit/types': 13.10.0
+ before-after-hook: 2.2.3
+ universal-user-agent: 6.0.1
+
+ '@octokit/core@6.1.5':
+ dependencies:
+ '@octokit/auth-token': 5.1.2
+ '@octokit/graphql': 8.2.2
+ '@octokit/request': 9.2.3
+ '@octokit/request-error': 6.1.8
+ '@octokit/types': 14.0.0
before-after-hook: 3.0.2
universal-user-agent: 7.0.2
- dev: false
- /@octokit/endpoint@10.1.1:
- resolution: {integrity: sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==}
- engines: {node: '>= 18'}
+ '@octokit/endpoint@10.1.4':
dependencies:
- '@octokit/types': 13.5.0
+ '@octokit/types': 14.0.0
universal-user-agent: 7.0.2
- dev: false
- /@octokit/endpoint@6.0.12:
- resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==}
+ '@octokit/endpoint@6.0.12':
dependencies:
'@octokit/types': 6.41.0
is-plain-object: 5.0.0
universal-user-agent: 6.0.1
- dev: false
- /@octokit/endpoint@7.0.6:
- resolution: {integrity: sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==}
- engines: {node: '>= 14'}
+ '@octokit/endpoint@7.0.6':
dependencies:
'@octokit/types': 9.3.2
is-plain-object: 5.0.0
universal-user-agent: 6.0.1
- dev: true
- /@octokit/graphql@4.8.0:
- resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==}
+ '@octokit/endpoint@9.0.6':
+ dependencies:
+ '@octokit/types': 13.10.0
+ universal-user-agent: 6.0.1
+
+ '@octokit/graphql@4.8.0(encoding@0.1.13)':
dependencies:
- '@octokit/request': 5.6.3
+ '@octokit/request': 5.6.3(encoding@0.1.13)
'@octokit/types': 6.41.0
universal-user-agent: 6.0.1
transitivePeerDependencies:
- encoding
- dev: false
- /@octokit/graphql@5.0.6:
- resolution: {integrity: sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==}
- engines: {node: '>= 14'}
+ '@octokit/graphql@5.0.6(encoding@0.1.13)':
dependencies:
- '@octokit/request': 6.2.8
+ '@octokit/request': 6.2.8(encoding@0.1.13)
'@octokit/types': 9.3.2
universal-user-agent: 6.0.1
transitivePeerDependencies:
- encoding
- dev: true
- /@octokit/graphql@8.1.1:
- resolution: {integrity: sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==}
- engines: {node: '>= 18'}
+ '@octokit/graphql@7.1.1':
+ dependencies:
+ '@octokit/request': 8.4.1
+ '@octokit/types': 13.10.0
+ universal-user-agent: 6.0.1
+
+ '@octokit/graphql@8.2.2':
dependencies:
- '@octokit/request': 9.1.3
- '@octokit/types': 13.5.0
+ '@octokit/request': 9.2.3
+ '@octokit/types': 14.0.0
universal-user-agent: 7.0.2
- dev: false
- /@octokit/oauth-app@7.1.3:
- resolution: {integrity: sha512-EHXbOpBkSGVVGF1W+NLMmsnSsJRkcrnVmDKt0TQYRBb6xWfWzoi9sBD4DIqZ8jGhOWO/V8t4fqFyJ4vDQDn9bg==}
- engines: {node: '>= 18'}
+ '@octokit/oauth-app@7.1.6':
dependencies:
- '@octokit/auth-oauth-app': 8.1.1
- '@octokit/auth-oauth-user': 5.1.1
- '@octokit/auth-unauthenticated': 6.1.0
- '@octokit/core': 6.1.2
+ '@octokit/auth-oauth-app': 8.1.4
+ '@octokit/auth-oauth-user': 5.1.4
+ '@octokit/auth-unauthenticated': 6.1.3
+ '@octokit/core': 6.1.5
'@octokit/oauth-authorization-url': 7.1.1
- '@octokit/oauth-methods': 5.1.2
- '@types/aws-lambda': 8.10.130
+ '@octokit/oauth-methods': 5.1.5
+ '@types/aws-lambda': 8.10.149
universal-user-agent: 7.0.2
- dev: false
- /@octokit/oauth-authorization-url@7.1.1:
- resolution: {integrity: sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA==}
- engines: {node: '>= 18'}
- dev: false
+ '@octokit/oauth-authorization-url@7.1.1': {}
- /@octokit/oauth-methods@5.1.2:
- resolution: {integrity: sha512-C5lglRD+sBlbrhCUTxgJAFjWgJlmTx5bQ7Ch0+2uqRjYv7Cfb5xpX4WuSC9UgQna3sqRGBL9EImX9PvTpMaQ7g==}
- engines: {node: '>= 18'}
+ '@octokit/oauth-methods@5.1.5':
dependencies:
'@octokit/oauth-authorization-url': 7.1.1
- '@octokit/request': 9.1.3
- '@octokit/request-error': 6.1.4
- '@octokit/types': 13.5.0
- dev: false
+ '@octokit/request': 9.2.3
+ '@octokit/request-error': 6.1.8
+ '@octokit/types': 14.0.0
- /@octokit/openapi-types@12.11.0:
- resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==}
- dev: false
+ '@octokit/openapi-types@12.11.0': {}
- /@octokit/openapi-types@18.1.1:
- resolution: {integrity: sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==}
- dev: true
+ '@octokit/openapi-types@18.1.1': {}
- /@octokit/openapi-types@22.2.0:
- resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==}
- dev: false
+ '@octokit/openapi-types@20.0.0': {}
- /@octokit/openapi-webhooks-types@8.3.0:
- resolution: {integrity: sha512-vKLsoR4xQxg4Z+6rU/F65ItTUz/EXbD+j/d4mlq2GW8TsA4Tc8Kdma2JTAAJ5hrKWUQzkR/Esn2fjsqiVRYaQg==}
- dev: false
+ '@octokit/openapi-types@24.2.0': {}
- /@octokit/plugin-enterprise-rest@6.0.1:
- resolution: {integrity: sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==}
- dev: true
+ '@octokit/openapi-types@25.0.0': {}
- /@octokit/plugin-paginate-graphql@5.2.2(@octokit/core@6.1.2):
- resolution: {integrity: sha512-7znSVvlNAOJisCqAnjN1FtEziweOHSjPGAuc5W58NeGNAr/ZB57yCsjQbXDlWsVryA7hHQaEQPcBbJYFawlkyg==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=6'
+ '@octokit/openapi-webhooks-types@11.0.0': {}
+
+ '@octokit/plugin-enterprise-rest@6.0.1': {}
+
+ '@octokit/plugin-paginate-graphql@5.2.4(@octokit/core@6.1.5)':
dependencies:
- '@octokit/core': 6.1.2
- dev: false
+ '@octokit/core': 6.1.5
- /@octokit/plugin-paginate-rest@11.3.3(@octokit/core@6.1.2):
- resolution: {integrity: sha512-o4WRoOJZlKqEEgj+i9CpcmnByvtzoUYC6I8PD2SA95M+BJ2x8h7oLcVOg9qcowWXBOdcTRsMZiwvM3EyLm9AfA==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=6'
+ '@octokit/plugin-paginate-rest@12.0.0(@octokit/core@6.1.5)':
dependencies:
- '@octokit/core': 6.1.2
- '@octokit/types': 13.5.0
- dev: false
+ '@octokit/core': 6.1.5
+ '@octokit/types': 14.0.0
- /@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0):
- resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==}
- peerDependencies:
- '@octokit/core': '>=2'
+ '@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0(encoding@0.1.13))':
dependencies:
- '@octokit/core': 3.6.0
+ '@octokit/core': 3.6.0(encoding@0.1.13)
'@octokit/types': 6.41.0
- dev: false
- /@octokit/plugin-paginate-rest@6.1.2(@octokit/core@4.2.4):
- resolution: {integrity: sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==}
- engines: {node: '>= 14'}
- peerDependencies:
- '@octokit/core': '>=4'
+ '@octokit/plugin-paginate-rest@6.1.2(@octokit/core@4.2.4(encoding@0.1.13))':
dependencies:
- '@octokit/core': 4.2.4
+ '@octokit/core': 4.2.4(encoding@0.1.13)
'@octokit/tsconfig': 1.0.2
'@octokit/types': 9.3.2
- dev: true
- /@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0):
- resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==}
- peerDependencies:
- '@octokit/core': '>=3'
+ '@octokit/plugin-paginate-rest@9.2.2(@octokit/core@5.2.2)':
dependencies:
- '@octokit/core': 3.6.0
- dev: false
+ '@octokit/core': 5.2.2
+ '@octokit/types': 12.6.0
- /@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.4):
- resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==}
- peerDependencies:
- '@octokit/core': '>=3'
+ '@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0(encoding@0.1.13))':
dependencies:
- '@octokit/core': 4.2.4
- dev: true
+ '@octokit/core': 3.6.0(encoding@0.1.13)
- /@octokit/plugin-rest-endpoint-methods@13.2.4(@octokit/core@6.1.2):
- resolution: {integrity: sha512-gusyAVgTrPiuXOdfqOySMDztQHv6928PQ3E4dqVGEtOvRXAKRbJR4b1zQyniIT9waqaWk/UDaoJ2dyPr7Bk7Iw==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=6'
+ '@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.4(encoding@0.1.13))':
dependencies:
- '@octokit/core': 6.1.2
- '@octokit/types': 13.5.0
- dev: false
+ '@octokit/core': 4.2.4(encoding@0.1.13)
- /@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0):
- resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==}
- peerDependencies:
- '@octokit/core': '>=3'
+ '@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.2)':
+ dependencies:
+ '@octokit/core': 5.2.2
+
+ '@octokit/plugin-rest-endpoint-methods@10.4.1(@octokit/core@5.2.2)':
+ dependencies:
+ '@octokit/core': 5.2.2
+ '@octokit/types': 12.6.0
+
+ '@octokit/plugin-rest-endpoint-methods@14.0.0(@octokit/core@6.1.5)':
dependencies:
- '@octokit/core': 3.6.0
+ '@octokit/core': 6.1.5
+ '@octokit/types': 14.0.0
+
+ '@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0(encoding@0.1.13))':
+ dependencies:
+ '@octokit/core': 3.6.0(encoding@0.1.13)
'@octokit/types': 6.41.0
deprecation: 2.3.1
- dev: false
- /@octokit/plugin-rest-endpoint-methods@7.2.3(@octokit/core@4.2.4):
- resolution: {integrity: sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==}
- engines: {node: '>= 14'}
- peerDependencies:
- '@octokit/core': '>=3'
+ '@octokit/plugin-rest-endpoint-methods@7.2.3(@octokit/core@4.2.4(encoding@0.1.13))':
dependencies:
- '@octokit/core': 4.2.4
+ '@octokit/core': 4.2.4(encoding@0.1.13)
'@octokit/types': 10.0.0
- dev: true
- /@octokit/plugin-retry@7.1.1(@octokit/core@6.1.2):
- resolution: {integrity: sha512-G9Ue+x2odcb8E1XIPhaFBnTTIrrUDfXN05iFXiqhR+SeeeDMMILcAnysOsxUpEWcQp2e5Ft397FCXTcPkiPkLw==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=6'
+ '@octokit/plugin-retry@7.2.1(@octokit/core@6.1.5)':
dependencies:
- '@octokit/core': 6.1.2
- '@octokit/request-error': 6.1.4
- '@octokit/types': 13.5.0
+ '@octokit/core': 6.1.5
+ '@octokit/request-error': 6.1.8
+ '@octokit/types': 14.0.0
bottleneck: 2.19.5
- dev: false
- /@octokit/plugin-throttling@9.3.1(@octokit/core@6.1.2):
- resolution: {integrity: sha512-Qd91H4liUBhwLB2h6jZ99bsxoQdhgPk6TdwnClPyTBSDAdviGPceViEgUwj+pcQDmB/rfAXAXK7MTochpHM3yQ==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': ^6.0.0
+ '@octokit/plugin-throttling@10.0.0(@octokit/core@6.1.5)':
dependencies:
- '@octokit/core': 6.1.2
- '@octokit/types': 13.5.0
+ '@octokit/core': 6.1.5
+ '@octokit/types': 14.0.0
bottleneck: 2.19.5
- dev: false
- /@octokit/request-error@1.2.1:
- resolution: {integrity: sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==}
+ '@octokit/request-error@1.2.1':
dependencies:
'@octokit/types': 2.16.2
deprecation: 2.3.1
once: 1.4.0
- dev: false
- /@octokit/request-error@2.1.0:
- resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==}
+ '@octokit/request-error@2.1.0':
dependencies:
'@octokit/types': 6.41.0
deprecation: 2.3.1
once: 1.4.0
- dev: false
- /@octokit/request-error@3.0.3:
- resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==}
- engines: {node: '>= 14'}
+ '@octokit/request-error@3.0.3':
dependencies:
'@octokit/types': 9.3.2
deprecation: 2.3.1
once: 1.4.0
- dev: true
- /@octokit/request-error@6.1.4:
- resolution: {integrity: sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==}
- engines: {node: '>= 18'}
+ '@octokit/request-error@5.1.1':
dependencies:
- '@octokit/types': 13.5.0
- dev: false
+ '@octokit/types': 13.10.0
+ deprecation: 2.3.1
+ once: 1.4.0
- /@octokit/request@5.6.3:
- resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==}
+ '@octokit/request-error@6.1.8':
+ dependencies:
+ '@octokit/types': 14.0.0
+
+ '@octokit/request@5.6.3(encoding@0.1.13)':
dependencies:
'@octokit/endpoint': 6.0.12
'@octokit/request-error': 2.1.0
'@octokit/types': 6.41.0
is-plain-object: 5.0.0
- node-fetch: 2.7.0
+ node-fetch: 2.7.0(encoding@0.1.13)
universal-user-agent: 6.0.1
transitivePeerDependencies:
- encoding
- dev: false
- /@octokit/request@6.2.8:
- resolution: {integrity: sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==}
- engines: {node: '>= 14'}
+ '@octokit/request@6.2.8(encoding@0.1.13)':
dependencies:
'@octokit/endpoint': 7.0.6
'@octokit/request-error': 3.0.3
'@octokit/types': 9.3.2
is-plain-object: 5.0.0
- node-fetch: 2.7.0
+ node-fetch: 2.7.0(encoding@0.1.13)
universal-user-agent: 6.0.1
transitivePeerDependencies:
- encoding
- dev: true
- /@octokit/request@9.1.3:
- resolution: {integrity: sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==}
- engines: {node: '>= 18'}
+ '@octokit/request@8.4.1':
dependencies:
- '@octokit/endpoint': 10.1.1
- '@octokit/request-error': 6.1.4
- '@octokit/types': 13.5.0
+ '@octokit/endpoint': 9.0.6
+ '@octokit/request-error': 5.1.1
+ '@octokit/types': 13.10.0
+ universal-user-agent: 6.0.1
+
+ '@octokit/request@9.2.3':
+ dependencies:
+ '@octokit/endpoint': 10.1.4
+ '@octokit/request-error': 6.1.8
+ '@octokit/types': 14.0.0
+ fast-content-type-parse: 2.0.1
universal-user-agent: 7.0.2
- dev: false
- /@octokit/rest@16.35.2:
- resolution: {integrity: sha512-iijaNZpn9hBpUdh8YdXqNiWazmq4R1vCUsmxpBB0kCQ0asHZpCx+HNs22eiHuwYKRhO31ZSAGBJLi0c+3XHaKQ==}
+ '@octokit/rest@16.35.2(encoding@0.1.13)':
dependencies:
- '@octokit/request': 5.6.3
+ '@octokit/request': 5.6.3(encoding@0.1.13)
'@octokit/request-error': 1.2.1
atob-lite: 2.0.0
before-after-hook: 2.2.3
@@ -8138,96 +20355,81 @@ packages:
universal-user-agent: 4.0.1
transitivePeerDependencies:
- encoding
- dev: false
- /@octokit/rest@18.12.0:
- resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==}
+ '@octokit/rest@18.12.0(encoding@0.1.13)':
dependencies:
- '@octokit/core': 3.6.0
- '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0)
- '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0)
- '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0)
+ '@octokit/core': 3.6.0(encoding@0.1.13)
+ '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0(encoding@0.1.13))
+ '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0(encoding@0.1.13))
+ '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0(encoding@0.1.13))
transitivePeerDependencies:
- encoding
- dev: false
- /@octokit/rest@19.0.11:
- resolution: {integrity: sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==}
- engines: {node: '>= 14'}
+ '@octokit/rest@19.0.11(encoding@0.1.13)':
dependencies:
- '@octokit/core': 4.2.4
- '@octokit/plugin-paginate-rest': 6.1.2(@octokit/core@4.2.4)
- '@octokit/plugin-request-log': 1.0.4(@octokit/core@4.2.4)
- '@octokit/plugin-rest-endpoint-methods': 7.2.3(@octokit/core@4.2.4)
+ '@octokit/core': 4.2.4(encoding@0.1.13)
+ '@octokit/plugin-paginate-rest': 6.1.2(@octokit/core@4.2.4(encoding@0.1.13))
+ '@octokit/plugin-request-log': 1.0.4(@octokit/core@4.2.4(encoding@0.1.13))
+ '@octokit/plugin-rest-endpoint-methods': 7.2.3(@octokit/core@4.2.4(encoding@0.1.13))
transitivePeerDependencies:
- encoding
- dev: true
- /@octokit/tsconfig@1.0.2:
- resolution: {integrity: sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==}
- dev: true
+ '@octokit/rest@20.1.0':
+ dependencies:
+ '@octokit/core': 5.2.2
+ '@octokit/plugin-paginate-rest': 9.2.2(@octokit/core@5.2.2)
+ '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.2)
+ '@octokit/plugin-rest-endpoint-methods': 10.4.1(@octokit/core@5.2.2)
- /@octokit/types@10.0.0:
- resolution: {integrity: sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==}
+ '@octokit/tsconfig@1.0.2': {}
+
+ '@octokit/types@10.0.0':
dependencies:
'@octokit/openapi-types': 18.1.1
- dev: true
- /@octokit/types@13.5.0:
- resolution: {integrity: sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==}
+ '@octokit/types@12.6.0':
dependencies:
- '@octokit/openapi-types': 22.2.0
- dev: false
+ '@octokit/openapi-types': 20.0.0
- /@octokit/types@2.16.2:
- resolution: {integrity: sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==}
+ '@octokit/types@13.10.0':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@octokit/openapi-types': 24.2.0
- /@octokit/types@6.41.0:
- resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==}
+ '@octokit/types@14.0.0':
+ dependencies:
+ '@octokit/openapi-types': 25.0.0
+
+ '@octokit/types@2.16.2':
+ dependencies:
+ '@types/node': 18.19.98
+
+ '@octokit/types@6.41.0':
dependencies:
'@octokit/openapi-types': 12.11.0
- dev: false
- /@octokit/types@9.3.2:
- resolution: {integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==}
+ '@octokit/types@9.3.2':
dependencies:
'@octokit/openapi-types': 18.1.1
- dev: true
- /@octokit/webhooks-methods@5.1.0:
- resolution: {integrity: sha512-yFZa3UH11VIxYnnoOYCVoJ3q4ChuSOk2IVBBQ0O3xtKX4x9bmKb/1t+Mxixv2iUhzMdOl1qeWJqEhouXXzB3rQ==}
- engines: {node: '>= 18'}
- dev: false
+ '@octokit/webhooks-methods@5.1.1': {}
- /@octokit/webhooks@13.3.0:
- resolution: {integrity: sha512-TUkJLtI163Bz5+JK0O+zDkQpn4gKwN+BovclUvCj6pI/6RXrFqQvUMRS2M+Rt8Rv0qR3wjoMoOPmpJKeOh0nBg==}
- engines: {node: '>= 18'}
+ '@octokit/webhooks@13.8.2':
dependencies:
- '@octokit/openapi-webhooks-types': 8.3.0
- '@octokit/request-error': 6.1.4
- '@octokit/webhooks-methods': 5.1.0
- dev: false
+ '@octokit/openapi-webhooks-types': 11.0.0
+ '@octokit/request-error': 6.1.8
+ '@octokit/webhooks-methods': 5.1.1
- /@opentelemetry/api-logs@0.52.1:
- resolution: {integrity: sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==}
- engines: {node: '>=14'}
+ '@opentelemetry/api-logs@0.52.1':
dependencies:
'@opentelemetry/api': 1.9.0
- dev: false
- /@opentelemetry/api@1.9.0:
- resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==}
- engines: {node: '>=8.0.0'}
- dev: false
+ '@opentelemetry/api-logs@0.55.0':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
- /@opentelemetry/auto-instrumentations-node@0.47.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-W7Iz4SZhj6z5iqYTu4zZXr2woP/zD4dA6zFAz9PQEx21/SGn6+y6plcJTA08KnPVMbRff60D1IBdl547TyGy9A==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.4.1
+ '@opentelemetry/api@1.9.0': {}
+
+ '@opentelemetry/auto-instrumentations-node@0.47.1(@opentelemetry/api@1.9.0)(encoding@0.1.13)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
@@ -8270,41 +20472,35 @@ packages:
'@opentelemetry/instrumentation-undici': 0.3.0(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation-winston': 0.38.0(@opentelemetry/api@1.9.0)
'@opentelemetry/resource-detector-alibaba-cloud': 0.28.10(@opentelemetry/api@1.9.0)
- '@opentelemetry/resource-detector-aws': 1.5.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/resource-detector-azure': 0.2.9(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resource-detector-aws': 1.12.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resource-detector-azure': 0.2.12(@opentelemetry/api@1.9.0)
'@opentelemetry/resource-detector-container': 0.3.11(@opentelemetry/api@1.9.0)
- '@opentelemetry/resource-detector-gcp': 0.29.10(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resource-detector-gcp': 0.29.13(@opentelemetry/api@1.9.0)(encoding@0.1.13)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-node': 0.52.1(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- encoding
- supports-color
- dev: false
- /@opentelemetry/context-async-hooks@1.25.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.10.0'
+ '@opentelemetry/context-async-hooks@1.25.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- dev: false
- /@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.10.0'
+ '@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+
+ '@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/semantic-conventions': 1.25.1
- dev: false
- /@opentelemetry/exporter-metrics-otlp-http@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-oAHPOy1sZi58bwqXaucd19F/v7+qE2EuVslQOEeLQT94CDuZJJ4tbWzx8DpYBTrOSzKqqrMtx9+PMxkrcbxOyQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/semantic-conventions': 1.28.0
+
+ '@opentelemetry/exporter-metrics-otlp-http@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
@@ -8312,13 +20508,8 @@ packages:
'@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0)
- dev: false
- /@opentelemetry/exporter-metrics-otlp-proto@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-m9aEOzKkjznNxm+0NbyEV834Wza9asRaFA4VyWY3b1XltqbdStRmOYSZHq0VzcecOe24uD41zFqHweL2fA3y6g==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/exporter-metrics-otlp-proto@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
@@ -8327,28 +20518,18 @@ packages:
'@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0)
- dev: false
- /@opentelemetry/exporter-trace-otlp-grpc@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-pVkSH20crBwMTqB3nIN4jpQKUEoB0Z94drIHpYyEqs7UBr+I0cpYyOR3bqjA/UasQUMROb3GX8ZX4/9cVRqGBQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/exporter-trace-otlp-grpc@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
- '@grpc/grpc-js': 1.10.10
+ '@grpc/grpc-js': 1.13.3
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/otlp-grpc-exporter-base': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
- dev: false
- /@opentelemetry/exporter-trace-otlp-http@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-05HcNizx0BxcFKKnS5rwOV+2GevLTVIRA0tRgWYyw4yCgR53Ic/xk83toYKts7kbzcI+dswInUg/4s8oyA+tqg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/exporter-trace-otlp-http@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
@@ -8356,85 +20537,63 @@ packages:
'@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
- dev: false
- /@opentelemetry/exporter-trace-otlp-proto@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-pt6uX0noTQReHXNeEslQv7x311/F1gJzMnp1HD2qgypLRPbXDeMzzeTngRTUaUbP6hqWNtPxuLr4DEoZG+TcEQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/exporter-trace-otlp-proto@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/otlp-exporter-base': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
- dev: false
-
- /@opentelemetry/exporter-zipkin@1.25.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-RmOwSvkimg7ETwJbUOPTMhJm9A9bG1U8s7Zo3ajDh4zM7eYcycQ0dM7FbLD6NXWbI2yj7UY4q8BKinKYBQksyw==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
+
+ '@opentelemetry/exporter-zipkin@1.25.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
- dev: false
- /@opentelemetry/instrumentation-amqplib@0.38.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-6i1sZl2B329NoOeCFm0R6H/u0DLex7L3NVLEQGSujfM6ztNxEZGmrFhV57eFkzwIHVHUqq9pfmpAAYVkGgrO1w==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/exporter-zipkin@1.30.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.28.0
+
+ '@opentelemetry/instrumentation-amqplib@0.38.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-aws-lambda@0.42.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-GhV3s62W8gWXDuCdPkWj60W3giHGadHoGBPGW5Wud2fUK9lY6FiYxv6AmCokzugTaiRfB2RjsaJWd9xTtYttVA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-aws-lambda@0.42.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/propagator-aws-xray': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/propagator-aws-xray': 1.26.2(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
'@types/aws-lambda': 8.10.122
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-aws-sdk@0.42.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-6b4LQAeBSKU5RhKEP9rH+wMcKswlllIT9J65uREmnWQQJo5zogD6cWa2sJ814o9K25/aDi+zheVHDFDuA7iVCQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-aws-sdk@0.42.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/propagation-utils': 0.30.10(@opentelemetry/api@1.9.0)
+ '@opentelemetry/propagation-utils': 0.30.16(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-bunyan@0.39.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-AQ845Wh5Yhd7S0argkCd1vrThNo4q/p6LJePC4OlFifPa9i5O2MzfLNh4mo8YWa0rYvcc+jbhodkGNa+1YJk/A==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-bunyan@0.39.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/api-logs': 0.52.1
@@ -8442,186 +20601,124 @@ packages:
'@types/bunyan': 1.8.9
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-cassandra-driver@0.39.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-D1p7zNNHQYI6/d0ulAFXe+71oDAgzxctfB0EICT8GpBhOCRlCW0U4rxRWrnZW6T5sJaBJqSsY4QF5CPqvCc00w==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-cassandra-driver@0.39.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-connect@0.37.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-SeQktDIH5rNzjiEiazWiJAIXkmnLOnNV7wwHpahrqE0Ph+Z3heqMfxRtoMtbdJSIYLfcNZYO51AjxZ00IXufdw==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-connect@0.37.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
'@types/connect': 3.4.36
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-cucumber@0.7.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-bF9gpkUsDbg5Ii47PrhOzgCJKKrT0Tn0wfowOOgcW8PruqfuXgnQ9q1B6GGdSqtIaFnX3xFxGCyWcmf5emt64w==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/instrumentation-cucumber@0.7.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-dataloader@0.10.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-yoAHGsgXx0YNFJ5XgCAgPo2Wr7Hy4IQX7YTcCulnKuxdfFXybsM9Yz7wiF9X2X2eB6HRLRJRufXT0sujbHaq1g==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-dataloader@0.10.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-dns@0.37.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-vhIOqqUGq1qwSKS6mF9tpXP7GmVQpQK4zm7bn2UYModpm+YYQzghtf/D8JH6lxXyUMP40zA37xUd2HO6uze/dw==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-dns@0.37.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
- semver: 7.6.3
+ semver: 7.7.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-express@0.40.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-+RKMvVe2zw3kIXRup9c1jFu3T4d0fs5aKy015TpiMyoCKX1UMu3Z0lfgYtuyiSTANvg5hZnDbWmQmqSPj9VTvg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-express@0.40.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-fastify@0.37.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-WRjwzNZgupSzbEYvo9s+QuHJRqZJjVdNxSEpGBwWK8RKLlHGwGVAu0gcc2gPamJWUJsGqPGvahAPWM18ZkWj6A==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-fastify@0.37.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-fs@0.13.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-sZxofhMkul95/Rb4R/Q1eP8mIpgWX8dXNCAOk1jMzl/I8xPJ5tnPgT+PIInPSiDh3kgZDTxK5Up1zMnUh0XqSg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-fs@0.13.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-generic-pool@0.37.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-l3VivYfu+FRw0/hHu2jlFLz4mfxZrOg4r96usDF5dJgDRQrRUmjtq6xssYGuFKn1FXAfN8Rcn1Tdk/c40PNYEA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-generic-pool@0.37.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-graphql@0.41.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-R/gXeljgIhaRDKquVkKYT5QHPnFouM8ooyePZEP0kqyaVAedtR1V7NfAUJbxfTG5fBQa5wdmLjvu63+tzRXZCA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-graphql@0.41.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-grpc@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-EdSDiDSAO+XRXk/ZN128qQpBo1I51+Uay/LUPcPQhSRGf7fBPIEUBeOLQiItguGsug5MGOYjql2w/1wCQF3fdQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-grpc@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-hapi@0.39.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-ik2nA9Yj2s2ay+aNY+tJsKCsEx6Tsc2g/MK0iWBW5tibwrWKTy1pdVt5sB3kd5Gkimqj23UV5+FH2JFcQLeKug==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-grpc@0.55.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.55.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.27.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-hapi@0.39.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-http@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-http@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
- semver: 7.6.3
+ semver: 7.7.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-ioredis@0.41.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-rxiLloU8VyeJGm5j2fZS8ShVdB82n7VNP8wTwfUQqDwRfHCnkzGr+buKoxuhGD91gtwJ91RHkjHA1Eg6RqsUTg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-ioredis@0.41.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
@@ -8629,54 +20726,34 @@ packages:
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-knex@0.37.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-NyXHezcUYiWnzhiY4gJE/ZMABnaC7ZQUCyx7zNB4J9Snmc4YCsRbLpTkJmCLft3ey/8Qg1Un+6efZcpgthQqbg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-knex@0.37.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-koa@0.41.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-mbPnDt7ELvpM2S0vixYUsde7122lgegLOJQxx8iJQbB8YHal/xnTh9v7IfArSVzIDo+E+080hxZyUZD4boOWkw==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-koa@0.41.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
'@types/koa': 2.14.0
'@types/koa__router': 12.0.3
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-lru-memoizer@0.38.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-x41JPoCbltEeOXlHHVxHU6Xcd/91UkaXHNIqj8ejfp9nVQe0lFHBJ8wkUaVJlasu60oEPmiz6VksU3Wa42BrGw==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-lru-memoizer@0.38.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-memcached@0.37.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-30mEfl+JdeuA6m7GRRwO6XYkk7dj4dp0YB70vMQ4MS2qBMVQvkEu3Gb+WFhSHukTYv753zyBeohDkeXw7DEsvw==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-memcached@0.37.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
@@ -8684,13 +20761,8 @@ packages:
'@types/memcached': 2.2.10
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-mongodb@0.45.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-xnZP9+ayeB1JJyNE9cIiwhOJTzNEsRhXVdLgfzmrs48Chhhk026mQdM5CITfyXSCfN73FGAIB8d91+pflJEfWQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-mongodb@0.45.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
@@ -8698,27 +20770,17 @@ packages:
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-mongoose@0.39.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-J1r66A7zJklPPhMtrFOO7/Ud2p0Pv5u8+r23Cd1JUH6fYPmftNJVsLp2urAt6PHK4jVqpP/YegN8wzjJ2mZNPQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-mongoose@0.39.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-mysql2@0.39.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-Iypuq2z6TCfriAXCIZjRq8GTFCKhQv5SpXbmI+e60rYdXw8NHtMH4NXcGF0eKTuoCsC59IYSTUvDQYDKReaszA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-mysql2@0.39.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
@@ -8726,13 +20788,8 @@ packages:
'@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-mysql@0.39.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-8snHPh83rhrDf31v9Kq0Nf+ts8hdr7NguuszRqZomZBHgE0+UyXZSkXHAAFZoBPPRMGyM68uaFE5hVtFl+wOcA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-mysql@0.39.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
@@ -8740,39 +20797,24 @@ packages:
'@types/mysql': 2.15.22
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-nestjs-core@0.38.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-M381Df1dM8aqihZz2yK+ugvMFK5vlHG/835dc67Sx2hH4pQEQYDA2PpFPTgc9AYYOydQaj7ClFQunESimjXDgg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-nestjs-core@0.38.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-net@0.37.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-kLTnWs4R/FtNDvJC7clS7/tBzK7I8DH5IV1I8abog4/1fHh/CFiwWeTRlPlREwcGfVJyL95pDX2Utjviybr5Dg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-net@0.37.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-pg@0.42.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-sjgcM8CswYy8zxHgXv4RAZ09DlYhQ+9TdlourUs63Df/ek5RrB1ZbjznqW7PB6c3TyJJmX6AVtPTjAsROovEjA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-pg@0.42.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
@@ -8782,25 +20824,15 @@ packages:
'@types/pg-pool': 2.0.4
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-pino@0.40.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-29B7mpabiB5m9YeVuUpWNceKv2E2semh44Y0EngFn7Z/Dwg13j+jsD3h6RaLPLUmUynWKSa160jZm0XrWbx40w==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-pino@0.40.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-redis-4@0.40.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-0ieQYJb6yl35kXA75LQUPhHtGjtQU9L85KlWa7d4ohBbk/iQKZ3X3CFl5jC5vNMq/GGPB3+w3IxNvALlHtrp7A==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-redis-4@0.40.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
@@ -8808,13 +20840,8 @@ packages:
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-redis@0.40.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-vf2EwBrb979ztLMbf8ew+65ECP3yMxeFwpMLu9KjX6+hFf1Ng776jlM2H9GeP1YePbvoBB5Jbo0MBU6Y0HEgzA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-redis@0.40.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
@@ -8822,53 +20849,33 @@ packages:
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-restify@0.39.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-+KDpaGvJLW28LYoT3AZAEVnywzy8dGS+wTWirXU6edKXu4w5mwdxui3UB3Vy/+FV7gbMWidzedaihTDlQvZXRA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-restify@0.39.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-router@0.38.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-HMeeBva/rqIqg/KHzmKcvutK4JS90Sk59i4qCnLhHW57CMVruj18aXEpBT+QMVJRjmzrvhkJnIpNcPu5vglmRg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-router@0.38.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-socket.io@0.40.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-BJFMytiHnvKM7n6n67pT9eTBGpZetY+LHic8UKrIQ313uBp+MBbRyqiJY6dT4bcN1B6sl47JzCyKmVprSuSnBA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-socket.io@0.40.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-tedious@0.11.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-Dh93CyaR7vldKf0oXwtYlSEdqvMGUTv270N0YGBQtODPKtgIMr9816vIA7cJPCZ4SbbREgLNQJfbh0qeadAM4Q==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-tedious@0.11.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
@@ -8876,80 +20883,62 @@ packages:
'@types/tedious': 4.0.14
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-undici@0.3.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-LMbOE4ofjpQyZ3266Ah6XL9JIBaShebLN0aaZPvqXozKPu41rHmggO3qk0H+Unv8wbiUnHgYZDvq8yxXyKAadg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.7.0
+ '@opentelemetry/instrumentation-undici@0.3.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation-winston@0.38.0(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-rBAoVkv5HGyKFIpM3Xy5raPNJ/Le1JsAFPbxwbfOZUxpLT2YBB99h/jJYsHm+eNueJ7EBwz2ftqY8rEpVlk3XA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation-winston@0.38.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/api-logs': 0.52.1
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.3.0
+ '@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/api-logs': 0.52.1
- '@types/shimmer': 1.0.5
- import-in-the-middle: 1.8.1
- require-in-the-middle: 7.3.0
- semver: 7.6.3
+ '@types/shimmer': 1.2.0
+ import-in-the-middle: 1.13.1
+ require-in-the-middle: 7.5.2
+ semver: 7.7.1
shimmer: 1.2.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/otlp-exporter-base@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-z175NXOtX5ihdlshtYBe5RpGeBoTXVCKPPLiQlD6FHvpM4Ch+p2B0yWKYSrBfLH24H9zjJiBdTrtD+hLlfnXEQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/instrumentation@0.55.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/api-logs': 0.55.0
+ '@types/shimmer': 1.2.0
+ import-in-the-middle: 1.13.1
+ require-in-the-middle: 7.5.2
+ semver: 7.7.1
+ shimmer: 1.2.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/otlp-exporter-base@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0)
- dev: false
- /@opentelemetry/otlp-grpc-exporter-base@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-zo/YrSDmKMjG+vPeA9aBBrsQM9Q/f2zo6N04WMB3yNldJRsgpRBeLLwvAt/Ba7dpehDLOEFBd1i2JCoaFtpCoQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/otlp-grpc-exporter-base@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
- '@grpc/grpc-js': 1.10.10
+ '@grpc/grpc-js': 1.13.3
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/otlp-exporter-base': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/otlp-transformer': 0.52.1(@opentelemetry/api@1.9.0)
- dev: false
- /@opentelemetry/otlp-transformer@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-I88uCZSZZtVa0XniRqQWKbjAUm73I8tpEy/uJYPPYw5d7BRdVk0RfTBQw8kSUl01oVWEuqxLDa802222MYyWHg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.3.0 <1.10.0'
+ '@opentelemetry/otlp-transformer@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/api-logs': 0.52.1
@@ -8958,154 +20947,102 @@ packages:
'@opentelemetry/sdk-logs': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
- protobufjs: 7.3.2
- dev: false
+ protobufjs: 7.4.0
- /@opentelemetry/propagation-utils@0.30.10(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-hhTW8pFp9PSyosYzzuUL9rdm7HF97w3OCyElufFHyUnYnKkCBbu8ne2LyF/KSdI/xZ81ubxWZs78hX4S7pLq5g==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/propagation-utils@0.30.16(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- dev: false
- /@opentelemetry/propagator-aws-xray@1.25.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-soZQdO9EAROMwa9bL2C0VLadbrfRjSA9t7g6X8sL0X1B8V59pzOayYMyTW9qTECn9uuJV98A7qOnJm6KH6yk8w==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.10.0'
+ '@opentelemetry/propagator-aws-xray@1.26.2(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
- dev: false
- /@opentelemetry/propagator-b3@1.25.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-p6HFscpjrv7//kE+7L+3Vn00VEDUJB0n6ZrjkTYHrJ58QZ8B3ajSJhRbCcY6guQ3PDjTbxWklyvIN2ojVbIb1A==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.10.0'
+ '@opentelemetry/propagator-b3@1.25.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
- dev: false
- /@opentelemetry/propagator-jaeger@1.25.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-nBprRf0+jlgxks78G/xq72PipVK+4or9Ypntw0gVZYNTCSK8rg5SeaGV19tV920CMqBD/9UIOiFr23Li/Q8tiA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.10.0'
+ '@opentelemetry/propagator-b3@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
+
+ '@opentelemetry/propagator-jaeger@1.25.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
- dev: false
- /@opentelemetry/redis-common@0.36.2:
- resolution: {integrity: sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g==}
- engines: {node: '>=14'}
- dev: false
+ '@opentelemetry/propagator-jaeger@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
- /@opentelemetry/resource-detector-alibaba-cloud@0.28.10(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-TZv/1Y2QCL6sJ+X9SsPPBXe4786bc/Qsw0hQXFsNTbJzDTGGUmOAlSZ2qPiuqAd4ZheUYfD+QA20IvAjUz9Hhg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/redis-common@0.36.2': {}
+
+ '@opentelemetry/resource-detector-alibaba-cloud@0.28.10(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
- dev: false
- /@opentelemetry/resource-detector-aws@1.5.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-+IUh4gAwJf49vOJM6PIjmgOapRH5zr21ZpFnNU0QZmxRi52AXVhZN7A89pKW6GAQheWnVQLD7iUN87ieYt70tw==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/resource-detector-aws@1.12.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/semantic-conventions': 1.25.1
- dev: false
+ '@opentelemetry/semantic-conventions': 1.32.0
- /@opentelemetry/resource-detector-azure@0.2.9(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-16Z6kyrmszoa7J1uj1kbSAgZuk11K07yEDj6fa3I9XBf8Debi8y4K8ex94kpxbCfEraWagXji3bCWvaq3k4dRg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/resource-detector-azure@0.2.12(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/semantic-conventions': 1.25.1
- dev: false
+ '@opentelemetry/semantic-conventions': 1.32.0
- /@opentelemetry/resource-detector-container@0.3.11(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-22ndMDakxX+nuhAYwqsciexV8/w26JozRUV0FN9kJiqSWtA1b5dCVtlp3J6JivG5t8kDN9UF5efatNnVbqRT9Q==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/resource-detector-container@0.3.11(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
- dev: false
- /@opentelemetry/resource-detector-gcp@0.29.10(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-rm2HKJ9lsdoVvrbmkr9dkOzg3Uk0FksXNxvNBgrCprM1XhMoJwThI5i0h/5sJypISUAJlEeJS6gn6nROj/NpkQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/resource-detector-gcp@0.29.13(@opentelemetry/api@1.9.0)(encoding@0.1.13)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/semantic-conventions': 1.25.1
- gcp-metadata: 6.1.0
+ '@opentelemetry/semantic-conventions': 1.32.0
+ gcp-metadata: 6.1.1(encoding@0.1.13)
transitivePeerDependencies:
- encoding
- supports-color
- dev: false
- /@opentelemetry/resources@1.25.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.10.0'
+ '@opentelemetry/resources@1.25.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
- dev: false
- /@opentelemetry/sdk-logs@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-MBYh+WcPPsN8YpRHRmK1Hsca9pVlyyKd4BxOC4SsgHACnl/bPp4Cri9hWhVm5+2tiQ9Zf4qSc1Jshw9tOLGWQA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.4.0 <1.10.0'
+ '@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.28.0
+
+ '@opentelemetry/sdk-logs@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/api-logs': 0.52.1
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
- dev: false
- /@opentelemetry/sdk-metrics@1.25.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.3.0 <1.10.0'
+ '@opentelemetry/sdk-metrics@1.25.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
lodash.merge: 4.6.2
- dev: false
- /@opentelemetry/sdk-node@0.52.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-uEG+gtEr6eKd8CVWeKMhH2olcCHM9dEK68pe0qE0be32BcCRsvYURhHaD1Srngh1SQcnQzZ4TP324euxqtBOJA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.3.0 <1.10.0'
+ '@opentelemetry/sdk-node@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/api-logs': 0.52.1
@@ -9123,25 +21060,22 @@ packages:
'@opentelemetry/semantic-conventions': 1.25.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.10.0'
+ '@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.25.1
- dev: false
- /@opentelemetry/sdk-trace-node@1.25.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.10.0'
+ '@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.28.0
+
+ '@opentelemetry/sdk-trace-node@1.25.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/context-async-hooks': 1.25.1(@opentelemetry/api@1.9.0)
@@ -9149,254 +21083,190 @@ packages:
'@opentelemetry/propagator-b3': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/propagator-jaeger': 1.25.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
- semver: 7.6.3
- dev: false
+ semver: 7.7.1
- /@opentelemetry/semantic-conventions@1.25.1:
- resolution: {integrity: sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==}
- engines: {node: '>=14'}
- dev: false
+ '@opentelemetry/sdk-trace-node@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/propagator-b3': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/propagator-jaeger': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0)
+ semver: 7.7.1
- /@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.9.0):
- resolution: {integrity: sha512-nSDlnHSqzC3pXn/wZEZVLuAuJ1MYMXPBwtv2qAbCa3847SaHItdE7SzUq/Jtb0KZmh1zfAbNi3AAMjztTT4Ugg==}
- engines: {node: '>=14'}
- peerDependencies:
- '@opentelemetry/api': ^1.1.0
+ '@opentelemetry/semantic-conventions@1.25.1': {}
+
+ '@opentelemetry/semantic-conventions@1.27.0': {}
+
+ '@opentelemetry/semantic-conventions@1.28.0': {}
+
+ '@opentelemetry/semantic-conventions@1.32.0': {}
+
+ '@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0)
- dev: false
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
- /@peculiar/asn1-android@2.3.10:
- resolution: {integrity: sha512-z9Rx9cFJv7UUablZISe7uksNbFJCq13hO0yEAOoIpAymALTLlvUOSLnGiQS7okPaM5dP42oTLhezH6XDXRXjGw==}
+ '@peculiar/asn1-android@2.3.16':
dependencies:
- '@peculiar/asn1-schema': 2.3.8
- asn1js: 3.0.5
- tslib: 2.8.0
- dev: false
+ '@peculiar/asn1-schema': 2.3.15
+ asn1js: 3.0.6
+ tslib: 2.8.1
- /@peculiar/asn1-ecc@2.3.8:
- resolution: {integrity: sha512-Ah/Q15y3A/CtxbPibiLM/LKcMbnLTdUdLHUgdpB5f60sSvGkXzxJCu5ezGTFHogZXWNX3KSmYqilCrfdmBc6pQ==}
+ '@peculiar/asn1-ecc@2.3.15':
dependencies:
- '@peculiar/asn1-schema': 2.3.8
- '@peculiar/asn1-x509': 2.3.8
- asn1js: 3.0.5
- tslib: 2.8.0
- dev: false
+ '@peculiar/asn1-schema': 2.3.15
+ '@peculiar/asn1-x509': 2.3.15
+ asn1js: 3.0.6
+ tslib: 2.8.1
- /@peculiar/asn1-rsa@2.3.8:
- resolution: {integrity: sha512-ES/RVEHu8VMYXgrg3gjb1m/XG0KJWnV4qyZZ7mAg7rrF3VTmRbLxO8mk+uy0Hme7geSMebp+Wvi2U6RLLEs12Q==}
+ '@peculiar/asn1-rsa@2.3.15':
dependencies:
- '@peculiar/asn1-schema': 2.3.8
- '@peculiar/asn1-x509': 2.3.8
- asn1js: 3.0.5
- tslib: 2.8.0
- dev: false
+ '@peculiar/asn1-schema': 2.3.15
+ '@peculiar/asn1-x509': 2.3.15
+ asn1js: 3.0.6
+ tslib: 2.8.1
- /@peculiar/asn1-schema@2.3.8:
- resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==}
+ '@peculiar/asn1-schema@2.3.15':
dependencies:
- asn1js: 3.0.5
- pvtsutils: 1.3.5
- tslib: 2.8.0
- dev: false
+ asn1js: 3.0.6
+ pvtsutils: 1.3.6
+ tslib: 2.8.1
- /@peculiar/asn1-x509@2.3.8:
- resolution: {integrity: sha512-voKxGfDU1c6r9mKiN5ZUsZWh3Dy1BABvTM3cimf0tztNwyMJPhiXY94eRTgsMQe6ViLfT6EoXxkWVzcm3mFAFw==}
+ '@peculiar/asn1-x509@2.3.15':
dependencies:
- '@peculiar/asn1-schema': 2.3.8
- asn1js: 3.0.5
- ipaddr.js: 2.1.0
- pvtsutils: 1.3.5
- tslib: 2.8.0
- dev: false
+ '@peculiar/asn1-schema': 2.3.15
+ asn1js: 3.0.6
+ pvtsutils: 1.3.6
+ tslib: 2.8.1
- /@pkgjs/parseargs@0.11.0:
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
- requiresBuild: true
+ '@pkgjs/parseargs@0.11.0':
optional: true
- /@playwright/test@1.40.1:
- resolution: {integrity: sha512-EaaawMTOeEItCRvfmkI9v6rBkF1svM8wjl/YPRrg2N2Wmp+4qJYkWtJsbew1szfKKDm6fPLy4YAanBhIlf9dWw==}
- engines: {node: '>=16'}
- hasBin: true
+ '@pkgr/core@0.2.9': {}
+
+ '@playwright/test@1.52.0':
dependencies:
- playwright: 1.40.1
- dev: true
+ playwright: 1.52.0
- /@pnpm/config.env-replace@1.1.0:
- resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==}
- engines: {node: '>=12.22.0'}
- dev: false
+ '@pnpm/config.env-replace@1.1.0': {}
- /@pnpm/network.ca-file@1.0.2:
- resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==}
- engines: {node: '>=12.22.0'}
+ '@pnpm/network.ca-file@1.0.2':
dependencies:
graceful-fs: 4.2.10
- dev: false
- /@pnpm/npm-conf@2.2.2:
- resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==}
- engines: {node: '>=12'}
+ '@pnpm/npm-conf@2.3.1':
dependencies:
'@pnpm/config.env-replace': 1.1.0
'@pnpm/network.ca-file': 1.0.2
config-chain: 1.1.13
- dev: false
- /@polka/url@1.0.0-next.24:
- resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==}
- dev: false
+ '@polka/url@1.0.0-next.29': {}
- /@prisma/client@5.7.0(prisma@5.7.0):
- resolution: {integrity: sha512-cZmglCrfNbYpzUtz7HscVHl38e9CrUs31nrVoGUK1nIPXGgt8hT4jj2s657UXcNdQ/jBUxDgGmHyu2Nyrq1txg==}
- engines: {node: '>=16.13'}
- requiresBuild: true
- peerDependencies:
- prisma: '*'
- peerDependenciesMeta:
- prisma:
- optional: true
+ '@prisma/client@6.14.0(prisma@6.14.0(typescript@5.8.3))(typescript@5.8.3)':
+ optionalDependencies:
+ prisma: 6.14.0(typescript@5.8.3)
+ typescript: 5.8.3
+
+ '@prisma/config@6.14.0':
dependencies:
- prisma: 5.7.0
- dev: false
+ c12: 3.1.0
+ deepmerge-ts: 7.1.5
+ effect: 3.16.12
+ empathic: 2.0.0
+ transitivePeerDependencies:
+ - magicast
- /@prisma/debug@5.7.0:
- resolution: {integrity: sha512-tZ+MOjWlVvz1kOEhNYMa4QUGURY+kgOUBqLHYIV8jmCsMuvA1tWcn7qtIMLzYWCbDcQT4ZS8xDgK0R2gl6/0wA==}
- dev: false
+ '@prisma/debug@6.14.0': {}
- /@prisma/engines-version@5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9:
- resolution: {integrity: sha512-V6tgRVi62jRwTm0Hglky3Scwjr/AKFBFtS+MdbsBr7UOuiu1TKLPc6xfPiyEN1+bYqjEtjxwGsHgahcJsd1rNg==}
- dev: false
+ '@prisma/engines-version@6.14.0-25.717184b7b35ea05dfa71a3236b7af656013e1e49': {}
- /@prisma/engines@5.7.0:
- resolution: {integrity: sha512-TkOMgMm60n5YgEKPn9erIvFX2/QuWnl3GBo6yTRyZKk5O5KQertXiNnrYgSLy0SpsKmhovEPQb+D4l0SzyE7XA==}
- requiresBuild: true
+ '@prisma/engines@6.14.0':
dependencies:
- '@prisma/debug': 5.7.0
- '@prisma/engines-version': 5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9
- '@prisma/fetch-engine': 5.7.0
- '@prisma/get-platform': 5.7.0
- dev: false
+ '@prisma/debug': 6.14.0
+ '@prisma/engines-version': 6.14.0-25.717184b7b35ea05dfa71a3236b7af656013e1e49
+ '@prisma/fetch-engine': 6.14.0
+ '@prisma/get-platform': 6.14.0
- /@prisma/fetch-engine@5.7.0:
- resolution: {integrity: sha512-zIn/qmO+N/3FYe7/L9o+yZseIU8ivh4NdPKSkQRIHfg2QVTVMnbhGoTcecbxfVubeTp+DjcbjS0H9fCuM4W04w==}
+ '@prisma/fetch-engine@6.14.0':
dependencies:
- '@prisma/debug': 5.7.0
- '@prisma/engines-version': 5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9
- '@prisma/get-platform': 5.7.0
- dev: false
+ '@prisma/debug': 6.14.0
+ '@prisma/engines-version': 6.14.0-25.717184b7b35ea05dfa71a3236b7af656013e1e49
+ '@prisma/get-platform': 6.14.0
- /@prisma/get-platform@5.7.0:
- resolution: {integrity: sha512-ZeV/Op4bZsWXuw5Tg05WwRI8BlKiRFhsixPcAM+5BKYSiUZiMKIi713tfT3drBq8+T0E1arNZgYSA9QYcglWNA==}
+ '@prisma/get-platform@6.14.0':
dependencies:
- '@prisma/debug': 5.7.0
- dev: false
+ '@prisma/debug': 6.14.0
- /@prisma/instrumentation@5.16.1:
- resolution: {integrity: sha512-4m5gRFWnQb8s/yTyGbMZkL7A5uJgqOWcWJxapwcAD0T0kh5sGPEVSQl/zTQvE9aduXhFAxOtC3gO+R8Hb5xO1Q==}
+ '@prisma/instrumentation@6.14.0(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
- '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.55.0(@opentelemetry/api@1.9.0)
transitivePeerDependencies:
- supports-color
- dev: false
- /@protobufjs/aspromise@1.1.2:
- resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
- dev: false
+ '@protobufjs/aspromise@1.1.2': {}
- /@protobufjs/base64@1.1.2:
- resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
- dev: false
+ '@protobufjs/base64@1.1.2': {}
- /@protobufjs/codegen@2.0.4:
- resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
- dev: false
+ '@protobufjs/codegen@2.0.4': {}
- /@protobufjs/eventemitter@1.1.0:
- resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
- dev: false
+ '@protobufjs/eventemitter@1.1.0': {}
- /@protobufjs/fetch@1.1.0:
- resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
+ '@protobufjs/fetch@1.1.0':
dependencies:
'@protobufjs/aspromise': 1.1.2
'@protobufjs/inquire': 1.1.0
- dev: false
- /@protobufjs/float@1.0.2:
- resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
- dev: false
+ '@protobufjs/float@1.0.2': {}
- /@protobufjs/inquire@1.1.0:
- resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
- dev: false
+ '@protobufjs/inquire@1.1.0': {}
- /@protobufjs/path@1.1.2:
- resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
- dev: false
+ '@protobufjs/path@1.1.2': {}
- /@protobufjs/pool@1.1.0:
- resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
- dev: false
+ '@protobufjs/pool@1.1.0': {}
- /@protobufjs/utf8@1.1.0:
- resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
- dev: false
+ '@protobufjs/utf8@1.1.0': {}
- /@pulumi/aws-apigateway@2.6.0(typescript@5.3.3):
- resolution: {integrity: sha512-pu+v7znrBs3L9kOpBFWhOfUHm0c4/CqucoRJoJ3bueaO5kT4uC7EJoltM9i1Qm5ibKypnMuxXPPfIvN9x6Uimw==}
+ '@pulumi/aws-apigateway@2.6.2(typescript@5.8.3)':
dependencies:
- '@pulumi/aws': 6.50.1(typescript@5.3.3)
- '@pulumi/pulumi': 3.130.0(typescript@5.3.3)
+ '@pulumi/aws': 6.80.0(typescript@5.8.3)
+ '@pulumi/pulumi': 3.168.0(typescript@5.8.3)
transitivePeerDependencies:
- bluebird
- supports-color
- ts-node
- typescript
- dev: false
- /@pulumi/aws-native@0.116.0(typescript@5.3.3):
- resolution: {integrity: sha512-ZjW7nNgFdTOvRQFdp5MMJ95rdkfO4uDhulOkDzZJnLh0aLau5g0JelagkHCtCNTOzvvb5IZPN6ZI0NOA1/Clsg==}
- requiresBuild: true
+ '@pulumi/aws-native@0.116.0(typescript@5.8.3)':
dependencies:
- '@pulumi/pulumi': 3.130.0(typescript@5.3.3)
+ '@pulumi/pulumi': 3.168.0(typescript@5.8.3)
transitivePeerDependencies:
- bluebird
- supports-color
- ts-node
- typescript
- dev: false
- /@pulumi/aws@6.50.1(typescript@5.3.3):
- resolution: {integrity: sha512-PzU8DnOsLCFgqeV7eFSrmcyqos2ilsuuRNbGLxP9pP1dXhsBvXoLFVyLNdTuI+zDG58fOmC2c7KsXXuyo3vjvg==}
+ '@pulumi/aws@6.80.0(typescript@5.8.3)':
dependencies:
- '@pulumi/pulumi': 3.130.0(typescript@5.3.3)
- builtin-modules: 3.0.0
+ '@pulumi/pulumi': 3.168.0(typescript@5.8.3)
mime: 2.4.6
- resolve: 1.22.8
transitivePeerDependencies:
- bluebird
- supports-color
- ts-node
- typescript
- dev: false
-
- /@pulumi/awsx@2.14.0(typescript@5.3.3):
- resolution: {integrity: sha512-vAv4qKT1vvFYDERR+IxjXiSikz20E8fRsWEg1xg5Hc7W9Go2WjsAXx9EgNtZrXr/dCNtHk3lQgOVdNmhrPnfCw==}
- requiresBuild: true
- dependencies:
- '@aws-sdk/client-ecs': 3.637.0
- '@pulumi/aws': 6.50.1(typescript@5.3.3)
- '@pulumi/docker': 4.5.5(typescript@5.3.3)
- '@pulumi/pulumi': 3.130.0(typescript@5.3.3)
- '@types/aws-lambda': 8.10.130
- aws-sdk: 2.1513.0
- docker-classic: /@pulumi/docker@3.6.1(typescript@5.3.3)
+
+ '@pulumi/awsx@2.21.1(typescript@5.8.3)':
+ dependencies:
+ '@aws-sdk/client-ecs': 3.804.0
+ '@pulumi/aws': 6.80.0(typescript@5.8.3)
+ '@pulumi/docker': 4.6.2(typescript@5.8.3)
+ '@pulumi/docker-build': 0.0.8(typescript@5.8.3)
+ '@pulumi/pulumi': 3.168.0(typescript@5.8.3)
+ '@types/aws-lambda': 8.10.149
+ docker-classic: '@pulumi/docker@3.6.1(typescript@5.8.3)'
mime: 2.4.6
transitivePeerDependencies:
- aws-crt
@@ -9404,62 +21274,53 @@ packages:
- supports-color
- ts-node
- typescript
- dev: false
- /@pulumi/docker@3.6.1(typescript@5.3.3):
- resolution: {integrity: sha512-BZME50QkT556v+LvmTXPT8ssB2xxNkp9+msB5xYFEnUnWcdGAx5yUysQw70RJCb+U0GbkJSbxtlgMJgOQf/now==}
- requiresBuild: true
+ '@pulumi/docker-build@0.0.8(typescript@5.8.3)':
+ dependencies:
+ '@pulumi/pulumi': 3.168.0(typescript@5.8.3)
+ transitivePeerDependencies:
+ - bluebird
+ - supports-color
+ - ts-node
+ - typescript
+
+ '@pulumi/docker@3.6.1(typescript@5.8.3)':
dependencies:
- '@pulumi/pulumi': 3.130.0(typescript@5.3.3)
+ '@pulumi/pulumi': 3.168.0(typescript@5.8.3)
semver: 5.7.2
transitivePeerDependencies:
- bluebird
- supports-color
- ts-node
- typescript
- dev: false
- /@pulumi/docker@4.5.5(typescript@5.3.3):
- resolution: {integrity: sha512-+5u0A3H3PTkxGfVuvDafbdyyYT8xLzLJnKdKc2jFEpphwKlXF+lc4YhjsDLBp1cc/5JPfE4hujOxGAxwt/5BUQ==}
+ '@pulumi/docker@4.6.2(typescript@5.8.3)':
dependencies:
- '@pulumi/pulumi': 3.130.0(typescript@5.3.3)
+ '@pulumi/pulumi': 3.168.0(typescript@5.8.3)
semver: 5.7.2
transitivePeerDependencies:
- bluebird
- supports-color
- ts-node
- typescript
- dev: false
- /@pulumi/pulumi@3.130.0(typescript@5.3.3):
- resolution: {integrity: sha512-WsvXRfEdCz+AcuzP41ABgN5Ye3qLt4v/EVZXUT7sMHU6G8uazaLtS92tpvNp+pgeRZf9kbotCEoABXKg+d+1oQ==}
- engines: {node: '>=18'}
- peerDependencies:
- ts-node: '>= 7.0.1 < 12'
- typescript: '>= 3.8.3 < 6'
- peerDependenciesMeta:
- ts-node:
- optional: true
- typescript:
- optional: true
+ '@pulumi/pulumi@3.168.0(typescript@5.8.3)':
dependencies:
- '@grpc/grpc-js': 1.10.10
+ '@grpc/grpc-js': 1.13.3
'@logdna/tail-file': 2.2.0
'@npmcli/arborist': 7.5.4
'@opentelemetry/api': 1.9.0
- '@opentelemetry/exporter-zipkin': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/instrumentation-grpc': 0.52.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/sdk-trace-node': 1.25.1(@opentelemetry/api@1.9.0)
- '@opentelemetry/semantic-conventions': 1.25.1
- '@pulumi/query': 0.3.0
+ '@opentelemetry/exporter-zipkin': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.55.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-grpc': 0.55.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-node': 1.30.1(@opentelemetry/api@1.9.0)
'@types/google-protobuf': 3.15.12
- '@types/semver': 7.5.8
+ '@types/semver': 7.7.0
'@types/tmp': 0.2.6
execa: 5.1.1
- fdir: 6.2.0(picomatch@3.0.1)
+ fdir: 6.4.4(picomatch@3.0.1)
google-protobuf: 3.21.4
got: 11.8.6
ini: 2.0.0
@@ -9469,1544 +21330,944 @@ packages:
picomatch: 3.0.1
pkg-dir: 7.0.0
require-from-string: 2.0.2
- semver: 7.5.4
+ semver: 7.7.1
source-map-support: 0.5.21
- tmp: 0.2.1
- typescript: 5.3.3
+ tmp: 0.2.3
upath: 1.2.0
+ optionalDependencies:
+ typescript: 5.8.3
transitivePeerDependencies:
- bluebird
- supports-color
- dev: false
- /@pulumi/query@0.3.0:
- resolution: {integrity: sha512-xfo+yLRM2zVjVEA4p23IjQWzyWl1ZhWOGobsBqRpIarzLvwNH/RAGaoehdxlhx4X92302DrpdIFgTICMN4P38w==}
- dev: false
-
- /@redis/bloom@1.2.0(@redis/client@1.5.11):
- resolution: {integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==}
- peerDependencies:
- '@redis/client': ^1.0.0
+ '@redis/bloom@1.2.0(@redis/client@1.5.11)':
dependencies:
'@redis/client': 1.5.11
- dev: false
- /@redis/client@1.5.11:
- resolution: {integrity: sha512-cV7yHcOAtNQ5x/yQl7Yw1xf53kO0FNDTdDU6bFIMbW6ljB7U7ns0YRM+QIkpoqTAt6zK5k9Fq0QWlUbLcq9AvA==}
- engines: {node: '>=14'}
+ '@redis/client@1.5.11':
dependencies:
cluster-key-slot: 1.1.2
generic-pool: 3.9.0
yallist: 4.0.0
- dev: false
- /@redis/graph@1.1.0(@redis/client@1.5.11):
- resolution: {integrity: sha512-16yZWngxyXPd+MJxeSr0dqh2AIOi8j9yXKcKCwVaKDbH3HTuETpDVPcLujhFYVPtYrngSco31BUcSa9TH31Gqg==}
- peerDependencies:
- '@redis/client': ^1.0.0
+ '@redis/graph@1.1.0(@redis/client@1.5.11)':
dependencies:
'@redis/client': 1.5.11
- dev: false
- /@redis/json@1.0.6(@redis/client@1.5.11):
- resolution: {integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==}
- peerDependencies:
- '@redis/client': ^1.0.0
+ '@redis/json@1.0.6(@redis/client@1.5.11)':
dependencies:
'@redis/client': 1.5.11
- dev: false
- /@redis/search@1.1.5(@redis/client@1.5.11):
- resolution: {integrity: sha512-hPP8w7GfGsbtYEJdn4n7nXa6xt6hVZnnDktKW4ArMaFQ/m/aR7eFvsLQmG/mn1Upq99btPJk+F27IQ2dYpCoUg==}
- peerDependencies:
- '@redis/client': ^1.0.0
+ '@redis/search@1.1.5(@redis/client@1.5.11)':
dependencies:
'@redis/client': 1.5.11
- dev: false
- /@redis/time-series@1.0.5(@redis/client@1.5.11):
- resolution: {integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==}
- peerDependencies:
- '@redis/client': ^1.0.0
+ '@redis/time-series@1.0.5(@redis/client@1.5.11)':
dependencies:
'@redis/client': 1.5.11
- dev: false
- /@rollup/plugin-babel@5.3.1(@babel/core@7.23.5)(rollup@2.79.2):
- resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
- engines: {node: '>= 10.0.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- '@types/babel__core': ^7.1.9
- rollup: ^1.20.0||^2.0.0
- peerDependenciesMeta:
- '@types/babel__core':
- optional: true
+ '@rollup/plugin-babel@5.3.1(@babel/core@7.27.1)(@types/babel__core@7.20.5)(rollup@2.79.2)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-module-imports': 7.22.15
+ '@babel/core': 7.27.1
+ '@babel/helper-module-imports': 7.27.1
'@rollup/pluginutils': 3.1.0(rollup@2.79.2)
rollup: 2.79.2
- dev: true
+ optionalDependencies:
+ '@types/babel__core': 7.20.5
+ transitivePeerDependencies:
+ - supports-color
- /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.2):
- resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==}
- engines: {node: '>= 10.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
+ '@rollup/plugin-node-resolve@15.3.1(rollup@2.79.2)':
dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@2.79.2)
- '@types/resolve': 1.17.1
- builtin-modules: 3.3.0
+ '@rollup/pluginutils': 5.1.4(rollup@2.79.2)
+ '@types/resolve': 1.20.2
deepmerge: 4.3.1
is-module: 1.0.0
- resolve: 1.22.8
+ resolve: 1.22.10
+ optionalDependencies:
rollup: 2.79.2
- dev: true
- /@rollup/plugin-replace@2.4.2(rollup@2.79.2):
- resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
- peerDependencies:
- rollup: ^1.20.0 || ^2.0.0
+ '@rollup/plugin-replace@2.4.2(rollup@2.79.2)':
dependencies:
'@rollup/pluginutils': 3.1.0(rollup@2.79.2)
magic-string: 0.25.9
rollup: 2.79.2
- dev: true
- /@rollup/plugin-virtual@3.0.2(rollup@4.24.0):
- resolution: {integrity: sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
+ '@rollup/plugin-terser@0.4.4(rollup@2.79.2)':
dependencies:
+ serialize-javascript: 6.0.2
+ smob: 1.5.0
+ terser: 5.39.0
+ optionalDependencies:
+ rollup: 2.79.2
+
+ '@rollup/plugin-virtual@3.0.2(rollup@4.24.0)':
+ optionalDependencies:
rollup: 4.24.0
- dev: true
- /@rollup/pluginutils@3.1.0(rollup@2.79.2):
- resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
- engines: {node: '>= 8.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
+ '@rollup/pluginutils@3.1.0(rollup@2.79.2)':
dependencies:
'@types/estree': 0.0.39
estree-walker: 1.0.1
picomatch: 2.3.1
rollup: 2.79.2
- dev: true
- /@rollup/pluginutils@4.2.1:
- resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
- engines: {node: '>= 8.0.0'}
+ '@rollup/pluginutils@4.2.1':
dependencies:
estree-walker: 2.0.2
picomatch: 2.3.1
- dev: true
- /@rollup/rollup-android-arm-eabi@4.24.0:
- resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
+ '@rollup/pluginutils@5.1.4(rollup@2.79.2)':
+ dependencies:
+ '@types/estree': 1.0.0
+ estree-walker: 2.0.2
+ picomatch: 4.0.2
+ optionalDependencies:
+ rollup: 2.79.2
+
+ '@rollup/rollup-android-arm-eabi@4.24.0':
optional: true
- /@rollup/rollup-android-arm64@4.24.0:
- resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-android-arm64@4.24.0':
optional: true
- /@rollup/rollup-darwin-arm64@4.24.0:
- resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-darwin-arm64@4.24.0':
optional: true
- /@rollup/rollup-darwin-x64@4.24.0:
- resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-darwin-x64@4.24.0':
optional: true
- /@rollup/rollup-linux-arm-gnueabihf@4.24.0:
- resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-linux-arm-gnueabihf@4.24.0':
optional: true
- /@rollup/rollup-linux-arm-musleabihf@4.24.0:
- resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-linux-arm-musleabihf@4.24.0':
optional: true
- /@rollup/rollup-linux-arm64-gnu@4.24.0:
- resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-linux-arm64-gnu@4.24.0':
optional: true
- /@rollup/rollup-linux-arm64-musl@4.24.0:
- resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-linux-arm64-musl@4.24.0':
optional: true
- /@rollup/rollup-linux-powerpc64le-gnu@4.24.0:
- resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-linux-powerpc64le-gnu@4.24.0':
optional: true
- /@rollup/rollup-linux-riscv64-gnu@4.24.0:
- resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-linux-riscv64-gnu@4.24.0':
optional: true
- /@rollup/rollup-linux-s390x-gnu@4.24.0:
- resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-linux-s390x-gnu@4.24.0':
optional: true
- /@rollup/rollup-linux-x64-gnu@4.24.0:
- resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-linux-x64-gnu@4.24.0':
optional: true
- /@rollup/rollup-linux-x64-musl@4.24.0:
- resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-linux-x64-musl@4.24.0':
optional: true
- /@rollup/rollup-win32-arm64-msvc@4.24.0:
- resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-win32-arm64-msvc@4.24.0':
optional: true
- /@rollup/rollup-win32-ia32-msvc@4.24.0:
- resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-win32-ia32-msvc@4.24.0':
optional: true
- /@rollup/rollup-win32-x64-msvc@4.24.0:
- resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
+ '@rollup/rollup-win32-x64-msvc@4.24.0':
optional: true
- /@sideway/address@4.1.4:
- resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==}
+ '@sideway/address@4.1.5':
dependencies:
'@hapi/hoek': 9.3.0
- /@sideway/formula@3.0.1:
- resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
+ '@sideway/formula@3.0.1': {}
- /@sideway/pinpoint@2.0.0:
- resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
+ '@sideway/pinpoint@2.0.0': {}
- /@sigstore/bundle@1.1.0:
- resolution: {integrity: sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@sigstore/bundle@1.1.0':
dependencies:
'@sigstore/protobuf-specs': 0.2.1
- dev: true
- /@sigstore/bundle@2.3.2:
- resolution: {integrity: sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@sigstore/bundle@2.3.2':
dependencies:
- '@sigstore/protobuf-specs': 0.3.2
- dev: false
+ '@sigstore/protobuf-specs': 0.3.3
- /@sigstore/core@1.1.0:
- resolution: {integrity: sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==}
- engines: {node: ^16.14.0 || >=18.0.0}
- dev: false
+ '@sigstore/core@1.1.0': {}
- /@sigstore/protobuf-specs@0.2.1:
- resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: true
+ '@sigstore/protobuf-specs@0.2.1': {}
- /@sigstore/protobuf-specs@0.3.2:
- resolution: {integrity: sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw==}
- engines: {node: ^16.14.0 || >=18.0.0}
- dev: false
+ '@sigstore/protobuf-specs@0.3.3': {}
- /@sigstore/sign@1.0.0:
- resolution: {integrity: sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@sigstore/sign@1.0.0':
dependencies:
'@sigstore/bundle': 1.1.0
'@sigstore/protobuf-specs': 0.2.1
make-fetch-happen: 11.1.1
transitivePeerDependencies:
- supports-color
- dev: true
- /@sigstore/sign@2.3.2:
- resolution: {integrity: sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@sigstore/sign@2.3.2':
dependencies:
'@sigstore/bundle': 2.3.2
'@sigstore/core': 1.1.0
- '@sigstore/protobuf-specs': 0.3.2
+ '@sigstore/protobuf-specs': 0.3.3
make-fetch-happen: 13.0.1
proc-log: 4.2.0
promise-retry: 2.0.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@sigstore/tuf@1.0.3:
- resolution: {integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@sigstore/tuf@1.0.3':
dependencies:
'@sigstore/protobuf-specs': 0.2.1
tuf-js: 1.1.7
transitivePeerDependencies:
- supports-color
- dev: true
- /@sigstore/tuf@2.3.4:
- resolution: {integrity: sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@sigstore/tuf@2.3.4':
dependencies:
- '@sigstore/protobuf-specs': 0.3.2
+ '@sigstore/protobuf-specs': 0.3.3
tuf-js: 2.2.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@sigstore/verify@1.2.1:
- resolution: {integrity: sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@sigstore/verify@1.2.1':
dependencies:
'@sigstore/bundle': 2.3.2
'@sigstore/core': 1.1.0
- '@sigstore/protobuf-specs': 0.3.2
- dev: false
+ '@sigstore/protobuf-specs': 0.3.3
- /@simplewebauthn/browser@9.0.1:
- resolution: {integrity: sha512-wD2WpbkaEP4170s13/HUxPcAV5y4ZXaKo1TfNklS5zDefPinIgXOpgz1kpEvobAsaLPa2KeH7AKKX/od1mrBJw==}
+ '@simplewebauthn/browser@9.0.1':
dependencies:
'@simplewebauthn/types': 9.0.1
- dev: false
- /@simplewebauthn/server@9.0.3:
- resolution: {integrity: sha512-FMZieoBosrVLFxCnxPFD9Enhd1U7D8nidVDT4MsHc6l4fdVcjoeHjDueeXCloO1k5O/fZg1fsSXXPKbY2XTzDA==}
- engines: {node: '>=16.0.0'}
+ '@simplewebauthn/server@9.0.3(encoding@0.1.13)':
dependencies:
'@hexagon/base64': 1.1.28
- '@levischuck/tiny-cbor': 0.2.2
- '@peculiar/asn1-android': 2.3.10
- '@peculiar/asn1-ecc': 2.3.8
- '@peculiar/asn1-rsa': 2.3.8
- '@peculiar/asn1-schema': 2.3.8
- '@peculiar/asn1-x509': 2.3.8
+ '@levischuck/tiny-cbor': 0.2.11
+ '@peculiar/asn1-android': 2.3.16
+ '@peculiar/asn1-ecc': 2.3.15
+ '@peculiar/asn1-rsa': 2.3.15
+ '@peculiar/asn1-schema': 2.3.15
+ '@peculiar/asn1-x509': 2.3.15
'@simplewebauthn/types': 9.0.1
- cross-fetch: 4.0.0
+ cross-fetch: 4.1.0(encoding@0.1.13)
transitivePeerDependencies:
- encoding
- dev: false
- /@simplewebauthn/types@9.0.1:
- resolution: {integrity: sha512-tGSRP1QvsAvsJmnOlRQyw/mvK9gnPtjEc5fg2+m8n+QUa+D7rvrKkOYyfpy42GTs90X3RDOnqJgfHt+qO67/+w==}
- dev: false
+ '@simplewebauthn/types@9.0.1': {}
- /@sinclair/typebox@0.27.8:
- resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
+ '@sinclair/typebox@0.27.8': {}
- /@sindresorhus/is@4.6.0:
- resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
- engines: {node: '>=10'}
- dev: false
+ '@sinclair/typebox@0.34.41': {}
- /@sindresorhus/is@5.6.0:
- resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==}
- engines: {node: '>=14.16'}
- dev: false
+ '@sindresorhus/is@4.6.0': {}
- /@sinonjs/commons@3.0.0:
- resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==}
+ '@sindresorhus/is@5.6.0': {}
+
+ '@sinonjs/commons@3.0.1':
dependencies:
type-detect: 4.0.8
- dev: true
- /@sinonjs/fake-timers@10.3.0:
- resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
+ '@sinonjs/fake-timers@13.0.5':
dependencies:
- '@sinonjs/commons': 3.0.0
- dev: true
+ '@sinonjs/commons': 3.0.1
- /@slorber/remark-comment@1.0.0:
- resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==}
+ '@slorber/remark-comment@1.0.0':
dependencies:
micromark-factory-space: 1.1.0
micromark-util-character: 1.2.0
micromark-util-symbol: 1.1.0
- dev: false
- /@smithy/abort-controller@3.1.1:
- resolution: {integrity: sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/abort-controller@4.0.2':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/abort-controller@3.1.6:
- resolution: {integrity: sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/abort-controller@4.0.5':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/chunked-blob-reader-native@3.0.0:
- resolution: {integrity: sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==}
+ '@smithy/chunked-blob-reader-native@4.0.0':
dependencies:
- '@smithy/util-base64': 3.0.0
- tslib: 2.8.0
- dev: false
+ '@smithy/util-base64': 4.0.0
+ tslib: 2.8.1
- /@smithy/chunked-blob-reader@3.0.0:
- resolution: {integrity: sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==}
+ '@smithy/chunked-blob-reader@5.0.0':
dependencies:
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/config-resolver@3.0.10:
- resolution: {integrity: sha512-Uh0Sz9gdUuz538nvkPiyv1DZRX9+D15EKDtnQP5rYVAzM/dnYk3P8cg73jcxyOitPgT3mE3OVj7ky7sibzHWkw==}
- engines: {node: '>=16.0.0'}
+ '@smithy/config-resolver@4.1.0':
dependencies:
- '@smithy/node-config-provider': 3.1.9
- '@smithy/types': 3.6.0
- '@smithy/util-config-provider': 3.0.0
- '@smithy/util-middleware': 3.0.8
- tslib: 2.8.0
- dev: false
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/types': 4.2.0
+ '@smithy/util-config-provider': 4.0.0
+ '@smithy/util-middleware': 4.0.2
+ tslib: 2.8.1
- /@smithy/config-resolver@3.0.5:
- resolution: {integrity: sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/config-resolver@4.1.5':
dependencies:
- '@smithy/node-config-provider': 3.1.4
- '@smithy/types': 3.6.0
- '@smithy/util-config-provider': 3.0.0
- '@smithy/util-middleware': 3.0.3
- tslib: 2.8.0
- dev: false
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/types': 4.3.2
+ '@smithy/util-config-provider': 4.0.0
+ '@smithy/util-middleware': 4.0.5
+ tslib: 2.8.1
- /@smithy/core@2.3.1:
- resolution: {integrity: sha512-BC7VMXx/1BCmRPCVzzn4HGWAtsrb7/0758EtwOGFJQrlSwJBEjCcDLNZLFoL/68JexYa2s+KmgL/UfmXdG6v1w==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.13
- '@smithy/middleware-serde': 3.0.3
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.3
- tslib: 2.8.0
- dev: false
-
- /@smithy/core@2.4.0:
- resolution: {integrity: sha512-cHXq+FneIF/KJbt4q4pjN186+Jf4ZB0ZOqEaZMBhT79srEyGDDBV31NqBRBjazz8ppQ1bJbDJMY9ba5wKFV36w==}
- engines: {node: '>=16.0.0'}
+ '@smithy/core@3.3.1':
dependencies:
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-retry': 3.0.15
- '@smithy/middleware-serde': 3.0.3
- '@smithy/protocol-http': 4.1.0
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/core@2.5.1:
- resolution: {integrity: sha512-DujtuDA7BGEKExJ05W5OdxCoyekcKT3Rhg1ZGeiUWaz2BJIWXjZmsG/DIP4W48GHno7AQwRsaCb8NcBgH3QZpg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-stream': 4.2.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
+
+ '@smithy/core@3.8.0':
dependencies:
- '@smithy/middleware-serde': 3.0.8
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- '@smithy/util-body-length-browser': 3.0.0
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-stream': 3.2.1
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/credential-provider-imds@3.2.0:
- resolution: {integrity: sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-serde': 4.0.9
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/types': 4.3.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-body-length-browser': 4.0.0
+ '@smithy/util-middleware': 4.0.5
+ '@smithy/util-stream': 4.2.4
+ '@smithy/util-utf8': 4.0.0
+ '@types/uuid': 9.0.8
+ tslib: 2.8.1
+ uuid: 9.0.1
+
+ '@smithy/credential-provider-imds@4.0.2':
dependencies:
- '@smithy/node-config-provider': 3.1.4
- '@smithy/property-provider': 3.1.3
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- tslib: 2.8.0
- dev: false
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/property-provider': 4.0.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ tslib: 2.8.1
- /@smithy/credential-provider-imds@3.2.5:
- resolution: {integrity: sha512-4FTQGAsuwqTzVMmiRVTn0RR9GrbRfkP0wfu/tXWVHd2LgNpTY0uglQpIScXK4NaEyXbB3JmZt8gfVqO50lP8wg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/credential-provider-imds@4.0.7':
dependencies:
- '@smithy/node-config-provider': 3.1.9
- '@smithy/property-provider': 3.1.8
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- tslib: 2.8.0
- dev: false
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/property-provider': 4.0.5
+ '@smithy/types': 4.3.2
+ '@smithy/url-parser': 4.0.5
+ tslib: 2.8.1
- /@smithy/eventstream-codec@3.1.2:
- resolution: {integrity: sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw==}
+ '@smithy/eventstream-codec@4.0.2':
dependencies:
'@aws-crypto/crc32': 5.2.0
- '@smithy/types': 3.6.0
- '@smithy/util-hex-encoding': 3.0.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ '@smithy/util-hex-encoding': 4.0.0
+ tslib: 2.8.1
- /@smithy/eventstream-serde-browser@3.0.5:
- resolution: {integrity: sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/eventstream-serde-browser@4.0.2':
dependencies:
- '@smithy/eventstream-serde-universal': 3.0.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/eventstream-serde-universal': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/eventstream-serde-browser@3.0.6:
- resolution: {integrity: sha512-2hM54UWQUOrki4BtsUI1WzmD13/SeaqT/AB3EUJKbcver/WgKNaiJ5y5F5XXuVe6UekffVzuUDrBZVAA3AWRpQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/eventstream-serde-config-resolver@4.1.0':
dependencies:
- '@smithy/eventstream-serde-universal': 3.0.5
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/eventstream-serde-config-resolver@3.0.3:
- resolution: {integrity: sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/eventstream-serde-node@4.0.2':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/eventstream-serde-universal': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/eventstream-serde-node@3.0.4:
- resolution: {integrity: sha512-mjlG0OzGAYuUpdUpflfb9zyLrBGgmQmrobNT8b42ZTsGv/J03+t24uhhtVEKG/b2jFtPIHF74Bq+VUtbzEKOKg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/eventstream-serde-universal@4.0.2':
dependencies:
- '@smithy/eventstream-serde-universal': 3.0.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/eventstream-codec': 4.0.2
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/eventstream-serde-node@3.0.5:
- resolution: {integrity: sha512-+upXvnHNyZP095s11jF5dhGw/Ihzqwl5G+/KtMnoQOpdfC3B5HYCcDVG9EmgkhJMXJlM64PyN5gjJl0uXFQehQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/fetch-http-handler@5.0.2':
dependencies:
- '@smithy/eventstream-serde-universal': 3.0.5
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/querystring-builder': 4.0.2
+ '@smithy/types': 4.2.0
+ '@smithy/util-base64': 4.0.0
+ tslib: 2.8.1
- /@smithy/eventstream-serde-universal@3.0.4:
- resolution: {integrity: sha512-Od9dv8zh3PgOD7Vj4T3HSuox16n0VG8jJIM2gvKASL6aCtcS8CfHZDWe1Ik3ZXW6xBouU+45Q5wgoliWDZiJ0A==}
- engines: {node: '>=16.0.0'}
+ '@smithy/fetch-http-handler@5.1.1':
dependencies:
- '@smithy/eventstream-codec': 3.1.2
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/querystring-builder': 4.0.5
+ '@smithy/types': 4.3.2
+ '@smithy/util-base64': 4.0.0
+ tslib: 2.8.1
- /@smithy/eventstream-serde-universal@3.0.5:
- resolution: {integrity: sha512-5u/nXbyoh1s4QxrvNre9V6vfyoLWuiVvvd5TlZjGThIikc3G+uNiG9uOTCWweSRjv1asdDIWK7nOmN7le4RYHQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/hash-blob-browser@4.0.2':
dependencies:
- '@smithy/eventstream-codec': 3.1.2
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/fetch-http-handler@3.2.4:
- resolution: {integrity: sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==}
- dependencies:
- '@smithy/protocol-http': 4.1.0
- '@smithy/querystring-builder': 3.0.3
- '@smithy/types': 3.6.0
- '@smithy/util-base64': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/fetch-http-handler@3.2.9:
- resolution: {integrity: sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==}
- dependencies:
- '@smithy/protocol-http': 4.1.5
- '@smithy/querystring-builder': 3.0.8
- '@smithy/types': 3.6.0
- '@smithy/util-base64': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/fetch-http-handler@4.0.0:
- resolution: {integrity: sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==}
- dependencies:
- '@smithy/protocol-http': 4.1.5
- '@smithy/querystring-builder': 3.0.8
- '@smithy/types': 3.6.0
- '@smithy/util-base64': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/hash-blob-browser@3.1.2:
- resolution: {integrity: sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg==}
- dependencies:
- '@smithy/chunked-blob-reader': 3.0.0
- '@smithy/chunked-blob-reader-native': 3.0.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/hash-node@3.0.3:
- resolution: {integrity: sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@smithy/types': 3.6.0
- '@smithy/util-buffer-from': 3.0.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
+ '@smithy/chunked-blob-reader': 5.0.0
+ '@smithy/chunked-blob-reader-native': 4.0.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/hash-node@3.0.8:
- resolution: {integrity: sha512-tlNQYbfpWXHimHqrvgo14DrMAgUBua/cNoz9fMYcDmYej7MAmUcjav/QKQbFc3NrcPxeJ7QClER4tWZmfwoPng==}
- engines: {node: '>=16.0.0'}
+ '@smithy/hash-node@4.0.2':
dependencies:
- '@smithy/types': 3.6.0
- '@smithy/util-buffer-from': 3.0.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ '@smithy/util-buffer-from': 4.0.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
- /@smithy/hash-stream-node@3.1.2:
- resolution: {integrity: sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g==}
- engines: {node: '>=16.0.0'}
+ '@smithy/hash-node@4.0.5':
dependencies:
- '@smithy/types': 3.6.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ '@smithy/util-buffer-from': 4.0.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
- /@smithy/invalid-dependency@3.0.3:
- resolution: {integrity: sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==}
+ '@smithy/hash-stream-node@4.0.2':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
- /@smithy/invalid-dependency@3.0.8:
- resolution: {integrity: sha512-7Qynk6NWtTQhnGTTZwks++nJhQ1O54Mzi7fz4PqZOiYXb4Z1Flpb2yRvdALoggTS8xjtohWUM+RygOtB30YL3Q==}
+ '@smithy/invalid-dependency@4.0.2':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/is-array-buffer@2.0.0:
- resolution: {integrity: sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==}
- engines: {node: '>=14.0.0'}
+ '@smithy/invalid-dependency@4.0.5':
dependencies:
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/is-array-buffer@3.0.0:
- resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/is-array-buffer@2.2.0':
dependencies:
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/md5-js@3.0.3:
- resolution: {integrity: sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q==}
+ '@smithy/is-array-buffer@4.0.0':
dependencies:
- '@smithy/types': 3.6.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/middleware-apply-body-checksum@3.0.5:
- resolution: {integrity: sha512-Ba6UFhfhmuefo3B98Zke85JzyDymb28MpQ0nfsZX6U6fHF+QmUosxR7s11/yh3lKb9f55Xvdd5NwIwvDep3enA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/md5-js@4.0.2':
dependencies:
- '@smithy/is-array-buffer': 3.0.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
- /@smithy/middleware-content-length@3.0.10:
- resolution: {integrity: sha512-T4dIdCs1d/+/qMpwhJ1DzOhxCZjZHbHazEPJWdB4GDi2HjIZllVzeBEcdJUN0fomV8DURsgOyrbEUzg3vzTaOg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-apply-body-checksum@4.1.0':
dependencies:
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/is-array-buffer': 4.0.0
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/middleware-content-length@3.0.5:
- resolution: {integrity: sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-content-length@4.0.2':
dependencies:
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/middleware-endpoint@3.1.0:
- resolution: {integrity: sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-content-length@4.0.5':
dependencies:
- '@smithy/middleware-serde': 3.0.3
- '@smithy/node-config-provider': 3.1.4
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.3
- '@smithy/util-middleware': 3.0.3
- tslib: 2.8.0
- dev: false
-
- /@smithy/middleware-endpoint@3.2.1:
- resolution: {integrity: sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
+
+ '@smithy/middleware-endpoint@4.1.18':
dependencies:
- '@smithy/core': 2.5.1
- '@smithy/middleware-serde': 3.0.8
- '@smithy/node-config-provider': 3.1.9
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- '@smithy/url-parser': 3.0.8
- '@smithy/util-middleware': 3.0.8
- tslib: 2.8.0
- dev: false
-
- /@smithy/middleware-retry@3.0.13:
- resolution: {integrity: sha512-zvCLfaRYCaUmjbF2yxShGZdolSHft7NNCTA28HVN9hKcEbOH+g5irr1X9s+in8EpambclGnevZY4A3lYpvDCFw==}
- engines: {node: '>=16.0.0'}
+ '@smithy/core': 3.8.0
+ '@smithy/middleware-serde': 4.0.9
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/shared-ini-file-loader': 4.0.5
+ '@smithy/types': 4.3.2
+ '@smithy/url-parser': 4.0.5
+ '@smithy/util-middleware': 4.0.5
+ tslib: 2.8.1
+
+ '@smithy/middleware-endpoint@4.1.2':
dependencies:
- '@smithy/node-config-provider': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/service-error-classification': 3.0.3
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- tslib: 2.8.0
- uuid: 9.0.1
- dev: false
+ '@smithy/core': 3.3.1
+ '@smithy/middleware-serde': 4.0.3
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/shared-ini-file-loader': 4.0.2
+ '@smithy/types': 4.2.0
+ '@smithy/url-parser': 4.0.2
+ '@smithy/util-middleware': 4.0.2
+ tslib: 2.8.1
- /@smithy/middleware-retry@3.0.15:
- resolution: {integrity: sha512-iTMedvNt1ApdvkaoE8aSDuwaoc+BhvHqttbA/FO4Ty+y/S5hW6Ci/CTScG7vam4RYJWZxdTElc3MEfHRVH6cgQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-retry@4.1.19':
dependencies:
- '@smithy/node-config-provider': 3.1.4
- '@smithy/protocol-http': 4.1.0
- '@smithy/service-error-classification': 3.0.3
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-retry': 3.0.3
- tslib: 2.8.0
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/service-error-classification': 4.0.7
+ '@smithy/smithy-client': 4.4.10
+ '@smithy/types': 4.3.2
+ '@smithy/util-middleware': 4.0.5
+ '@smithy/util-retry': 4.0.7
+ '@types/uuid': 9.0.8
+ tslib: 2.8.1
uuid: 9.0.1
- dev: false
- /@smithy/middleware-retry@3.0.25:
- resolution: {integrity: sha512-m1F70cPaMBML4HiTgCw5I+jFNtjgz5z5UdGnUbG37vw6kh4UvizFYjqJGHvicfgKMkDL6mXwyPp5mhZg02g5sg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-retry@4.1.3':
dependencies:
- '@smithy/node-config-provider': 3.1.9
- '@smithy/protocol-http': 4.1.5
- '@smithy/service-error-classification': 3.0.8
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-retry': 3.0.8
- tslib: 2.8.0
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/service-error-classification': 4.0.3
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-retry': 4.0.3
+ tslib: 2.8.1
uuid: 9.0.1
- dev: false
- /@smithy/middleware-serde@3.0.3:
- resolution: {integrity: sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-serde@4.0.3':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/middleware-serde@3.0.8:
- resolution: {integrity: sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-serde@4.0.9':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/middleware-stack@3.0.3:
- resolution: {integrity: sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-stack@4.0.2':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/middleware-stack@3.0.8:
- resolution: {integrity: sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/middleware-stack@4.0.5':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/node-config-provider@3.1.4:
- resolution: {integrity: sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/node-config-provider@4.0.2':
dependencies:
- '@smithy/property-provider': 3.1.3
- '@smithy/shared-ini-file-loader': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/property-provider': 4.0.2
+ '@smithy/shared-ini-file-loader': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/node-config-provider@3.1.9:
- resolution: {integrity: sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==}
- engines: {node: '>=16.0.0'}
+ '@smithy/node-config-provider@4.1.4':
dependencies:
- '@smithy/property-provider': 3.1.8
- '@smithy/shared-ini-file-loader': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/property-provider': 4.0.5
+ '@smithy/shared-ini-file-loader': 4.0.5
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/node-http-handler@3.1.4:
- resolution: {integrity: sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/node-http-handler@4.0.4':
dependencies:
- '@smithy/abort-controller': 3.1.1
- '@smithy/protocol-http': 4.1.0
- '@smithy/querystring-builder': 3.0.3
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/abort-controller': 4.0.2
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/querystring-builder': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/node-http-handler@3.2.5:
- resolution: {integrity: sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==}
- engines: {node: '>=16.0.0'}
+ '@smithy/node-http-handler@4.1.1':
dependencies:
- '@smithy/abort-controller': 3.1.6
- '@smithy/protocol-http': 4.1.5
- '@smithy/querystring-builder': 3.0.8
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/abort-controller': 4.0.5
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/querystring-builder': 4.0.5
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/property-provider@3.1.3:
- resolution: {integrity: sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==}
- engines: {node: '>=16.0.0'}
+ '@smithy/property-provider@4.0.2':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/property-provider@3.1.8:
- resolution: {integrity: sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/property-provider@4.0.5':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/protocol-http@4.1.0:
- resolution: {integrity: sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/protocol-http@5.1.0':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/protocol-http@4.1.5:
- resolution: {integrity: sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/protocol-http@5.1.3':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/querystring-builder@3.0.3:
- resolution: {integrity: sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==}
- engines: {node: '>=16.0.0'}
+ '@smithy/querystring-builder@4.0.2':
dependencies:
- '@smithy/types': 3.6.0
- '@smithy/util-uri-escape': 3.0.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ '@smithy/util-uri-escape': 4.0.0
+ tslib: 2.8.1
- /@smithy/querystring-builder@3.0.8:
- resolution: {integrity: sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/querystring-builder@4.0.5':
dependencies:
- '@smithy/types': 3.6.0
- '@smithy/util-uri-escape': 3.0.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ '@smithy/util-uri-escape': 4.0.0
+ tslib: 2.8.1
- /@smithy/querystring-parser@3.0.3:
- resolution: {integrity: sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/querystring-parser@4.0.2':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/querystring-parser@3.0.8:
- resolution: {integrity: sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/querystring-parser@4.0.5':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/service-error-classification@3.0.3:
- resolution: {integrity: sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/service-error-classification@4.0.3':
dependencies:
- '@smithy/types': 3.6.0
- dev: false
+ '@smithy/types': 4.3.2
- /@smithy/service-error-classification@3.0.8:
- resolution: {integrity: sha512-uEC/kCCFto83bz5ZzapcrgGqHOh/0r69sZ2ZuHlgoD5kYgXJEThCoTuw/y1Ub3cE7aaKdznb+jD9xRPIfIwD7g==}
- engines: {node: '>=16.0.0'}
+ '@smithy/service-error-classification@4.0.7':
dependencies:
- '@smithy/types': 3.6.0
- dev: false
+ '@smithy/types': 4.3.2
- /@smithy/shared-ini-file-loader@3.1.4:
- resolution: {integrity: sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/shared-ini-file-loader@4.0.2':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/shared-ini-file-loader@3.1.9:
- resolution: {integrity: sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/shared-ini-file-loader@4.0.5':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/signature-v4@4.1.0:
- resolution: {integrity: sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@smithy/is-array-buffer': 3.0.0
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- '@smithy/util-hex-encoding': 3.0.0
- '@smithy/util-middleware': 3.0.3
- '@smithy/util-uri-escape': 3.0.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/signature-v4@4.2.1:
- resolution: {integrity: sha512-NsV1jF4EvmO5wqmaSzlnTVetemBS3FZHdyc5CExbDljcyJCEEkJr8ANu2JvtNbVg/9MvKAWV44kTrGS+Pi4INg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/signature-v4@5.1.0':
dependencies:
- '@smithy/is-array-buffer': 3.0.0
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- '@smithy/util-hex-encoding': 3.0.0
- '@smithy/util-middleware': 3.0.8
- '@smithy/util-uri-escape': 3.0.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/smithy-client@3.1.11:
- resolution: {integrity: sha512-l0BpyYkciNyMaS+PnFFz4aO5sBcXvGLoJd7mX9xrMBIm2nIQBVvYgp2ZpPDMzwjKCavsXu06iuCm0F6ZJZc6yQ==}
- engines: {node: '>=16.0.0'}
- dependencies:
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-stack': 3.0.3
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- '@smithy/util-stream': 3.1.3
- tslib: 2.8.0
- dev: false
+ '@smithy/is-array-buffer': 4.0.0
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.3.2
+ '@smithy/util-hex-encoding': 4.0.0
+ '@smithy/util-middleware': 4.0.2
+ '@smithy/util-uri-escape': 4.0.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
- /@smithy/smithy-client@3.2.0:
- resolution: {integrity: sha512-pDbtxs8WOhJLJSeaF/eAbPgXg4VVYFlRcL/zoNYA5WbG3wBL06CHtBSg53ppkttDpAJ/hdiede+xApip1CwSLw==}
- engines: {node: '>=16.0.0'}
+ '@smithy/signature-v4@5.1.3':
dependencies:
- '@smithy/middleware-endpoint': 3.1.0
- '@smithy/middleware-stack': 3.0.3
- '@smithy/protocol-http': 4.1.0
- '@smithy/types': 3.6.0
- '@smithy/util-stream': 3.1.3
- tslib: 2.8.0
- dev: false
+ '@smithy/is-array-buffer': 4.0.0
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/types': 4.3.2
+ '@smithy/util-hex-encoding': 4.0.0
+ '@smithy/util-middleware': 4.0.5
+ '@smithy/util-uri-escape': 4.0.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
- /@smithy/smithy-client@3.4.2:
- resolution: {integrity: sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/smithy-client@4.2.2':
dependencies:
- '@smithy/core': 2.5.1
- '@smithy/middleware-endpoint': 3.2.1
- '@smithy/middleware-stack': 3.0.8
- '@smithy/protocol-http': 4.1.5
- '@smithy/types': 3.6.0
- '@smithy/util-stream': 3.2.1
- tslib: 2.8.0
- dev: false
-
- /@smithy/types@3.3.0:
- resolution: {integrity: sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/core': 3.3.1
+ '@smithy/middleware-endpoint': 4.1.2
+ '@smithy/middleware-stack': 4.0.2
+ '@smithy/protocol-http': 5.1.0
+ '@smithy/types': 4.2.0
+ '@smithy/util-stream': 4.2.0
+ tslib: 2.8.1
+
+ '@smithy/smithy-client@4.4.10':
dependencies:
- tslib: 2.8.0
- dev: false
+ '@smithy/core': 3.8.0
+ '@smithy/middleware-endpoint': 4.1.18
+ '@smithy/middleware-stack': 4.0.5
+ '@smithy/protocol-http': 5.1.3
+ '@smithy/types': 4.3.2
+ '@smithy/util-stream': 4.2.4
+ tslib: 2.8.1
- /@smithy/types@3.6.0:
- resolution: {integrity: sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==}
- engines: {node: '>=16.0.0'}
+ '@smithy/types@4.2.0':
dependencies:
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/url-parser@3.0.3:
- resolution: {integrity: sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==}
+ '@smithy/types@4.3.2':
dependencies:
- '@smithy/querystring-parser': 3.0.3
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/url-parser@3.0.8:
- resolution: {integrity: sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==}
+ '@smithy/url-parser@4.0.2':
dependencies:
- '@smithy/querystring-parser': 3.0.8
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/querystring-parser': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/util-base64@3.0.0:
- resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/url-parser@4.0.5':
dependencies:
- '@smithy/util-buffer-from': 3.0.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
+ '@smithy/querystring-parser': 4.0.5
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/util-body-length-browser@3.0.0:
- resolution: {integrity: sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==}
+ '@smithy/util-base64@4.0.0':
dependencies:
- tslib: 2.8.0
- dev: false
+ '@smithy/util-buffer-from': 4.0.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
- /@smithy/util-body-length-node@3.0.0:
- resolution: {integrity: sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-body-length-browser@4.0.0':
dependencies:
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/util-buffer-from@2.0.0:
- resolution: {integrity: sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==}
- engines: {node: '>=14.0.0'}
+ '@smithy/util-body-length-node@4.0.0':
dependencies:
- '@smithy/is-array-buffer': 2.0.0
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/util-buffer-from@3.0.0:
- resolution: {integrity: sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-buffer-from@2.2.0':
dependencies:
- '@smithy/is-array-buffer': 3.0.0
- tslib: 2.8.0
- dev: false
+ '@smithy/is-array-buffer': 2.2.0
+ tslib: 2.8.1
- /@smithy/util-config-provider@3.0.0:
- resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-buffer-from@4.0.0':
dependencies:
- tslib: 2.8.0
- dev: false
+ '@smithy/is-array-buffer': 4.0.0
+ tslib: 2.8.1
- /@smithy/util-defaults-mode-browser@3.0.13:
- resolution: {integrity: sha512-ZIRSUsnnMRStOP6OKtW+gCSiVFkwnfQF2xtf32QKAbHR6ACjhbAybDvry+3L5qQYdh3H6+7yD/AiUE45n8mTTw==}
- engines: {node: '>= 10.0.0'}
+ '@smithy/util-config-provider@4.0.0':
dependencies:
- '@smithy/property-provider': 3.1.3
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.6.0
- bowser: 2.11.0
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/util-defaults-mode-browser@3.0.15:
- resolution: {integrity: sha512-FZ4Psa3vjp8kOXcd3HJOiDPBCWtiilLl57r0cnNtq/Ga9RSDrM5ERL6xt+tO43+2af6Pn5Yp92x2n5vPuduNfg==}
- engines: {node: '>= 10.0.0'}
+ '@smithy/util-defaults-mode-browser@4.0.10':
dependencies:
- '@smithy/property-provider': 3.1.3
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
+ '@smithy/property-provider': 4.0.2
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
bowser: 2.11.0
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/util-defaults-mode-browser@3.0.25:
- resolution: {integrity: sha512-fRw7zymjIDt6XxIsLwfJfYUfbGoO9CmCJk6rjJ/X5cd20+d2Is7xjU5Kt/AiDt6hX8DAf5dztmfP5O82gR9emA==}
- engines: {node: '>= 10.0.0'}
+ '@smithy/util-defaults-mode-browser@4.0.26':
dependencies:
- '@smithy/property-provider': 3.1.8
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
+ '@smithy/property-provider': 4.0.5
+ '@smithy/smithy-client': 4.4.10
+ '@smithy/types': 4.3.2
bowser: 2.11.0
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/util-defaults-mode-node@3.0.13:
- resolution: {integrity: sha512-voUa8TFJGfD+U12tlNNLCDlXibt9vRdNzRX45Onk/WxZe7TS+hTOZouEZRa7oARGicdgeXvt1A0W45qLGYdy+g==}
- engines: {node: '>= 10.0.0'}
- dependencies:
- '@smithy/config-resolver': 3.0.5
- '@smithy/credential-provider-imds': 3.2.0
- '@smithy/node-config-provider': 3.1.4
- '@smithy/property-provider': 3.1.3
- '@smithy/smithy-client': 3.1.11
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/util-defaults-mode-node@3.0.15:
- resolution: {integrity: sha512-KSyAAx2q6d0t6f/S4XB2+3+6aQacm3aLMhs9aLMqn18uYGUepbdssfogW5JQZpc6lXNBnp0tEnR5e9CEKmEd7A==}
- engines: {node: '>= 10.0.0'}
+ '@smithy/util-defaults-mode-node@4.0.10':
dependencies:
- '@smithy/config-resolver': 3.0.5
- '@smithy/credential-provider-imds': 3.2.0
- '@smithy/node-config-provider': 3.1.4
- '@smithy/property-provider': 3.1.3
- '@smithy/smithy-client': 3.2.0
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/util-defaults-mode-node@3.0.25:
- resolution: {integrity: sha512-H3BSZdBDiVZGzt8TG51Pd2FvFO0PAx/A0mJ0EH8a13KJ6iUCdYnw/Dk/MdC1kTd0eUuUGisDFaxXVXo4HHFL1g==}
- engines: {node: '>= 10.0.0'}
+ '@smithy/config-resolver': 4.1.0
+ '@smithy/credential-provider-imds': 4.0.2
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/property-provider': 4.0.2
+ '@smithy/smithy-client': 4.2.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
+
+ '@smithy/util-defaults-mode-node@4.0.26':
dependencies:
- '@smithy/config-resolver': 3.0.10
- '@smithy/credential-provider-imds': 3.2.5
- '@smithy/node-config-provider': 3.1.9
- '@smithy/property-provider': 3.1.8
- '@smithy/smithy-client': 3.4.2
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/util-endpoints@2.0.5:
- resolution: {integrity: sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/config-resolver': 4.1.5
+ '@smithy/credential-provider-imds': 4.0.7
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/property-provider': 4.0.5
+ '@smithy/smithy-client': 4.4.10
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
+
+ '@smithy/util-endpoints@3.0.2':
dependencies:
- '@smithy/node-config-provider': 3.1.4
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/node-config-provider': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/util-endpoints@2.1.4:
- resolution: {integrity: sha512-kPt8j4emm7rdMWQyL0F89o92q10gvCUa6sBkBtDJ7nV2+P7wpXczzOfoDJ49CKXe5CCqb8dc1W+ZdLlrKzSAnQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-endpoints@3.0.7':
dependencies:
- '@smithy/node-config-provider': 3.1.9
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/node-config-provider': 4.1.4
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/util-hex-encoding@3.0.0:
- resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-hex-encoding@4.0.0':
dependencies:
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/util-middleware@3.0.3:
- resolution: {integrity: sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-middleware@4.0.2':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/util-middleware@3.0.8:
- resolution: {integrity: sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-middleware@4.0.5':
dependencies:
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/util-retry@3.0.3:
- resolution: {integrity: sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-retry@4.0.3':
dependencies:
- '@smithy/service-error-classification': 3.0.3
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/service-error-classification': 4.0.3
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@smithy/util-retry@3.0.8:
- resolution: {integrity: sha512-TCEhLnY581YJ+g1x0hapPz13JFqzmh/pMWL2KEFASC51qCfw3+Y47MrTmea4bUE5vsdxQ4F6/KFbUeSz22Q1ow==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-retry@4.0.7':
dependencies:
- '@smithy/service-error-classification': 3.0.8
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/service-error-classification': 4.0.7
+ '@smithy/types': 4.3.2
+ tslib: 2.8.1
- /@smithy/util-stream@3.1.3:
- resolution: {integrity: sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-stream@4.2.0':
dependencies:
- '@smithy/fetch-http-handler': 3.2.4
- '@smithy/node-http-handler': 3.1.4
- '@smithy/types': 3.6.0
- '@smithy/util-base64': 3.0.0
- '@smithy/util-buffer-from': 3.0.0
- '@smithy/util-hex-encoding': 3.0.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/util-stream@3.2.1:
- resolution: {integrity: sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==}
- engines: {node: '>=16.0.0'}
+ '@smithy/fetch-http-handler': 5.0.2
+ '@smithy/node-http-handler': 4.0.4
+ '@smithy/types': 4.2.0
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-buffer-from': 4.0.0
+ '@smithy/util-hex-encoding': 4.0.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
+
+ '@smithy/util-stream@4.2.4':
dependencies:
- '@smithy/fetch-http-handler': 4.0.0
- '@smithy/node-http-handler': 3.2.5
- '@smithy/types': 3.6.0
- '@smithy/util-base64': 3.0.0
- '@smithy/util-buffer-from': 3.0.0
- '@smithy/util-hex-encoding': 3.0.0
- '@smithy/util-utf8': 3.0.0
- tslib: 2.8.0
- dev: false
-
- /@smithy/util-uri-escape@3.0.0:
- resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==}
- engines: {node: '>=16.0.0'}
+ '@smithy/fetch-http-handler': 5.1.1
+ '@smithy/node-http-handler': 4.1.1
+ '@smithy/types': 4.3.2
+ '@smithy/util-base64': 4.0.0
+ '@smithy/util-buffer-from': 4.0.0
+ '@smithy/util-hex-encoding': 4.0.0
+ '@smithy/util-utf8': 4.0.0
+ tslib: 2.8.1
+
+ '@smithy/util-uri-escape@4.0.0':
dependencies:
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /@smithy/util-utf8@2.0.2:
- resolution: {integrity: sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA==}
- engines: {node: '>=14.0.0'}
+ '@smithy/util-utf8@2.3.0':
dependencies:
- '@smithy/util-buffer-from': 2.0.0
- tslib: 2.8.0
- dev: false
+ '@smithy/util-buffer-from': 2.2.0
+ tslib: 2.8.1
- /@smithy/util-utf8@3.0.0:
- resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-utf8@4.0.0':
dependencies:
- '@smithy/util-buffer-from': 3.0.0
- tslib: 2.8.0
- dev: false
+ '@smithy/util-buffer-from': 4.0.0
+ tslib: 2.8.1
- /@smithy/util-waiter@3.1.2:
- resolution: {integrity: sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==}
- engines: {node: '>=16.0.0'}
+ '@smithy/util-waiter@4.0.3':
dependencies:
- '@smithy/abort-controller': 3.1.1
- '@smithy/types': 3.6.0
- tslib: 2.8.0
- dev: false
+ '@smithy/abort-controller': 4.0.2
+ '@smithy/types': 4.2.0
+ tslib: 2.8.1
- /@surma/rollup-plugin-off-main-thread@2.2.3:
- resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
+ '@standard-schema/spec@1.0.0': {}
+
+ '@surma/rollup-plugin-off-main-thread@2.2.3':
dependencies:
- ejs: 3.1.9
+ ejs: 3.1.10
json5: 2.2.3
magic-string: 0.25.9
- string.prototype.matchall: 4.0.10
- dev: true
+ string.prototype.matchall: 4.0.12
- /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.23.5):
- resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- dev: false
+ '@babel/core': 7.27.1
- /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.5):
- resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- dev: false
+ '@babel/core': 7.27.1
- /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.5):
- resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- dev: false
+ '@babel/core': 7.27.1
- /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.23.5):
- resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- dev: false
+ '@babel/core': 7.27.1
- /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.23.5):
- resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- dev: false
+ '@babel/core': 7.27.1
- /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.23.5):
- resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- dev: false
+ '@babel/core': 7.27.1
- /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.23.5):
- resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- dev: false
+ '@babel/core': 7.27.1
- /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.23.5):
- resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==}
- engines: {node: '>=12'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- dev: false
+ '@babel/core': 7.27.1
- /@svgr/babel-preset@8.1.0(@babel/core@7.23.5):
- resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@svgr/babel-preset@8.1.0(@babel/core@7.27.1)':
dependencies:
- '@babel/core': 7.23.5
- '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.23.5)
- '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.5)
- '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.5)
- '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.23.5)
- '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.23.5)
- '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.23.5)
- '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.23.5)
- '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.23.5)
- dev: false
-
- /@svgr/core@8.1.0(typescript@5.3.3):
- resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==}
- engines: {node: '>=14'}
+ '@babel/core': 7.27.1
+ '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.27.1)
+ '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.27.1)
+ '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.27.1)
+ '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.27.1)
+ '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.27.1)
+ '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.27.1)
+ '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.27.1)
+ '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.27.1)
+
+ '@svgr/core@8.1.0(typescript@5.8.3)':
dependencies:
- '@babel/core': 7.23.5
- '@svgr/babel-preset': 8.1.0(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@svgr/babel-preset': 8.1.0(@babel/core@7.27.1)
camelcase: 6.3.0
- cosmiconfig: 8.3.6(typescript@5.3.3)
+ cosmiconfig: 8.3.6(typescript@5.8.3)
snake-case: 3.0.4
transitivePeerDependencies:
- supports-color
- typescript
- dev: false
- /@svgr/hast-util-to-babel-ast@8.0.0:
- resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==}
- engines: {node: '>=14'}
+ '@svgr/hast-util-to-babel-ast@8.0.0':
dependencies:
- '@babel/types': 7.23.5
+ '@babel/types': 7.27.1
entities: 4.5.0
- dev: false
- /@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0):
- resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@svgr/core': '*'
+ '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.8.3))':
dependencies:
- '@babel/core': 7.23.5
- '@svgr/babel-preset': 8.1.0(@babel/core@7.23.5)
- '@svgr/core': 8.1.0(typescript@5.3.3)
+ '@babel/core': 7.27.1
+ '@svgr/babel-preset': 8.1.0(@babel/core@7.27.1)
+ '@svgr/core': 8.1.0(typescript@5.8.3)
'@svgr/hast-util-to-babel-ast': 8.0.0
svg-parser: 2.0.4
transitivePeerDependencies:
- supports-color
- dev: false
- /@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0)(typescript@5.3.3):
- resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@svgr/core': '*'
+ '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.8.3))(typescript@5.8.3)':
dependencies:
- '@svgr/core': 8.1.0(typescript@5.3.3)
- cosmiconfig: 8.3.6(typescript@5.3.3)
+ '@svgr/core': 8.1.0(typescript@5.8.3)
+ cosmiconfig: 8.3.6(typescript@5.8.3)
deepmerge: 4.3.1
svgo: 3.3.2
transitivePeerDependencies:
- typescript
- dev: false
- /@svgr/webpack@8.1.0(typescript@5.3.3):
- resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==}
- engines: {node: '>=14'}
+ '@svgr/webpack@8.1.0(typescript@5.8.3)':
dependencies:
- '@babel/core': 7.23.5
- '@babel/plugin-transform-react-constant-elements': 7.23.3(@babel/core@7.23.5)
- '@babel/preset-env': 7.23.5(@babel/core@7.23.5)
- '@babel/preset-react': 7.23.3(@babel/core@7.23.5)
- '@babel/preset-typescript': 7.23.3(@babel/core@7.23.5)
- '@svgr/core': 8.1.0(typescript@5.3.3)
- '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0)
- '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0)(typescript@5.3.3)
+ '@babel/core': 7.27.1
+ '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.27.1)
+ '@babel/preset-env': 7.27.2(@babel/core@7.27.1)
+ '@babel/preset-react': 7.27.1(@babel/core@7.27.1)
+ '@babel/preset-typescript': 7.27.1(@babel/core@7.27.1)
+ '@svgr/core': 8.1.0(typescript@5.8.3)
+ '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3))
+ '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3))(typescript@5.8.3)
transitivePeerDependencies:
- supports-color
- typescript
- dev: false
- /@szmarczak/http-timer@4.0.6:
- resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
- engines: {node: '>=10'}
+ '@szmarczak/http-timer@4.0.6':
dependencies:
defer-to-connect: 2.0.1
- dev: false
- /@szmarczak/http-timer@5.0.1:
- resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
- engines: {node: '>=14.16'}
+ '@szmarczak/http-timer@5.0.1':
dependencies:
defer-to-connect: 2.0.1
- dev: false
- /@teachablemachine/image@0.8.5(@tensorflow/tfjs@4.2.0):
- resolution: {integrity: sha512-u6BLQ8RBn38BKee7mmAl+HS9qWgM/2YmUbQYy21eQfqhb7E8xT5LDp7QqEU31rtgEIMDwB/OG8cjmSiuHpqb7A==}
- peerDependencies:
- '@tensorflow/tfjs': 1.3.1
+ '@teachablemachine/image@0.8.5(@tensorflow/tfjs@4.2.0(encoding@0.1.13)(seedrandom@3.0.5))':
dependencies:
- '@tensorflow/tfjs': 4.2.0(seedrandom@3.0.5)
+ '@tensorflow/tfjs': 4.2.0(encoding@0.1.13)(seedrandom@3.0.5)
autobind-decorator: 2.4.0
seedrandom: 2.4.4
- dev: false
- /@tensorflow/tfjs-backend-cpu@4.2.0(@tensorflow/tfjs-core@4.2.0):
- resolution: {integrity: sha512-8HWg9J69m0Ovc6w8TVhhixMOcwA3t/NPXLblOA/sgJ+/JD5gsbpLWJk4QISQyb1RnpSVzw6PX3BSMTJU7hWVOg==}
- engines: {yarn: '>= 1.3.2'}
- peerDependencies:
- '@tensorflow/tfjs-core': 4.2.0
+ '@tensorflow/tfjs-backend-cpu@4.2.0(@tensorflow/tfjs-core@4.2.0(encoding@0.1.13))':
dependencies:
- '@tensorflow/tfjs-core': 4.2.0
+ '@tensorflow/tfjs-core': 4.2.0(encoding@0.1.13)
'@types/seedrandom': 2.4.34
seedrandom: 3.0.5
- dev: false
- /@tensorflow/tfjs-backend-webgl@4.2.0(@tensorflow/tfjs-core@4.2.0):
- resolution: {integrity: sha512-Qvf+hD5pSh+xi48kChSGzcDKJemkc4EKfoVVjuxl4k25ZUPwuEd7zZUAtinkLu1dzgHNyvePZY8k+9rVm59HJA==}
- engines: {yarn: '>= 1.3.2'}
- peerDependencies:
- '@tensorflow/tfjs-core': 4.2.0
+ '@tensorflow/tfjs-backend-webgl@4.2.0(@tensorflow/tfjs-core@4.2.0(encoding@0.1.13))':
dependencies:
- '@tensorflow/tfjs-backend-cpu': 4.2.0(@tensorflow/tfjs-core@4.2.0)
- '@tensorflow/tfjs-core': 4.2.0
+ '@tensorflow/tfjs-backend-cpu': 4.2.0(@tensorflow/tfjs-core@4.2.0(encoding@0.1.13))
+ '@tensorflow/tfjs-core': 4.2.0(encoding@0.1.13)
'@types/offscreencanvas': 2019.3.0
'@types/seedrandom': 2.4.34
'@types/webgl-ext': 0.0.30
seedrandom: 3.0.5
- dev: false
- /@tensorflow/tfjs-converter@4.2.0(@tensorflow/tfjs-core@4.2.0):
- resolution: {integrity: sha512-m+E2KJM6yGQdi8ElzWpChdD/JaqhWMCi9yK70v/ndkOaCL2q2UN48nYP2T5S15vkDvMIgzAQyZfh7hxQsMuvRQ==}
- peerDependencies:
- '@tensorflow/tfjs-core': 4.2.0
+ '@tensorflow/tfjs-converter@4.2.0(@tensorflow/tfjs-core@4.2.0(encoding@0.1.13))':
dependencies:
- '@tensorflow/tfjs-core': 4.2.0
- dev: false
+ '@tensorflow/tfjs-core': 4.2.0(encoding@0.1.13)
- /@tensorflow/tfjs-core@4.2.0:
- resolution: {integrity: sha512-uuHkiWVC8b00ngFbHvAV7J7haRlN/9PEdeenCi0CzBjgKd7aN25wPWaoN0TSQcU+GT4FJ8mofMZ9VBYZ/s/WLg==}
- engines: {yarn: '>= 1.3.2'}
+ '@tensorflow/tfjs-core@4.2.0(encoding@0.1.13)':
dependencies:
'@types/long': 4.0.2
'@types/offscreencanvas': 2019.7.3
@@ -11014,410 +22275,1374 @@ packages:
'@types/webgl-ext': 0.0.30
'@webgpu/types': 0.1.21
long: 4.0.0
- node-fetch: 2.6.13
+ node-fetch: 2.6.13(encoding@0.1.13)
seedrandom: 3.0.5
transitivePeerDependencies:
- encoding
- dev: false
- /@tensorflow/tfjs-data@4.2.0(@tensorflow/tfjs-core@4.2.0)(seedrandom@3.0.5):
- resolution: {integrity: sha512-11t7Q+ikseduJgkd9iSeRrtor1aA3o5PVCFhC5yYvR3JLO55ic1+4Ryo0EJfhRoismS6zBUJrpzX4K0zlLbIfw==}
- peerDependencies:
- '@tensorflow/tfjs-core': 4.2.0
- seedrandom: ^3.0.5
+ '@tensorflow/tfjs-data@4.2.0(@tensorflow/tfjs-core@4.2.0(encoding@0.1.13))(encoding@0.1.13)(seedrandom@3.0.5)':
dependencies:
- '@tensorflow/tfjs-core': 4.2.0
- '@types/node-fetch': 2.6.9
- node-fetch: 2.6.13
+ '@tensorflow/tfjs-core': 4.2.0(encoding@0.1.13)
+ '@types/node-fetch': 2.6.12
+ node-fetch: 2.6.13(encoding@0.1.13)
seedrandom: 3.0.5
string_decoder: 1.3.0
transitivePeerDependencies:
- encoding
- dev: false
- /@tensorflow/tfjs-layers@4.2.0(@tensorflow/tfjs-core@4.2.0):
- resolution: {integrity: sha512-SO0KTmCFOjrW+PlP9nKYXz07XGFq6uE7am9yH2bRaRPWpEeaKT/+k0C9vFMxI/GzRwY8AK4sLe4U+jE1mhYxGw==}
- peerDependencies:
- '@tensorflow/tfjs-core': 4.2.0
+ '@tensorflow/tfjs-layers@4.2.0(@tensorflow/tfjs-core@4.2.0(encoding@0.1.13))':
dependencies:
- '@tensorflow/tfjs-core': 4.2.0
- dev: false
+ '@tensorflow/tfjs-core': 4.2.0(encoding@0.1.13)
- /@tensorflow/tfjs@4.2.0(seedrandom@3.0.5):
- resolution: {integrity: sha512-iZmtyGC9IJkx+TpFnkgDol8BHv2BU3zJ01HyNcuvnm1w1EqoNe+1n8bwvLzI/sxHMcHTqzuu7VugMaphryxE+A==}
- hasBin: true
+ '@tensorflow/tfjs@4.2.0(encoding@0.1.13)(seedrandom@3.0.5)':
dependencies:
- '@tensorflow/tfjs-backend-cpu': 4.2.0(@tensorflow/tfjs-core@4.2.0)
- '@tensorflow/tfjs-backend-webgl': 4.2.0(@tensorflow/tfjs-core@4.2.0)
- '@tensorflow/tfjs-converter': 4.2.0(@tensorflow/tfjs-core@4.2.0)
- '@tensorflow/tfjs-core': 4.2.0
- '@tensorflow/tfjs-data': 4.2.0(@tensorflow/tfjs-core@4.2.0)(seedrandom@3.0.5)
- '@tensorflow/tfjs-layers': 4.2.0(@tensorflow/tfjs-core@4.2.0)
+ '@tensorflow/tfjs-backend-cpu': 4.2.0(@tensorflow/tfjs-core@4.2.0(encoding@0.1.13))
+ '@tensorflow/tfjs-backend-webgl': 4.2.0(@tensorflow/tfjs-core@4.2.0(encoding@0.1.13))
+ '@tensorflow/tfjs-converter': 4.2.0(@tensorflow/tfjs-core@4.2.0(encoding@0.1.13))
+ '@tensorflow/tfjs-core': 4.2.0(encoding@0.1.13)
+ '@tensorflow/tfjs-data': 4.2.0(@tensorflow/tfjs-core@4.2.0(encoding@0.1.13))(encoding@0.1.13)(seedrandom@3.0.5)
+ '@tensorflow/tfjs-layers': 4.2.0(@tensorflow/tfjs-core@4.2.0(encoding@0.1.13))
argparse: 1.0.10
chalk: 4.1.2
- core-js: 3.34.0
+ core-js: 3.42.0
regenerator-runtime: 0.13.11
yargs: 16.2.0
transitivePeerDependencies:
- encoding
- seedrandom
- dev: false
- /@tootallnate/once@2.0.0:
- resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
- engines: {node: '>= 10'}
- dev: true
+ '@tootallnate/once@2.0.0': {}
- /@trysound/sax@0.2.0:
- resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
- engines: {node: '>=10.13.0'}
+ '@trysound/sax@0.2.0': {}
- /@ts-morph/common@0.21.0:
- resolution: {integrity: sha512-ES110Mmne5Vi4ypUKrtVQfXFDtCsDXiUiGxF6ILVlE90dDD4fdpC1LSjydl/ml7xJWKSDZwUYD2zkOePMSrPBA==}
+ '@ts-morph/common@0.21.0':
dependencies:
- fast-glob: 3.3.2
+ fast-glob: 3.3.3
minimatch: 7.4.6
mkdirp: 2.1.6
path-browserify: 1.0.1
- dev: false
- /@tufjs/canonical-json@1.0.0:
- resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: true
+ '@tufjs/canonical-json@1.0.0': {}
- /@tufjs/canonical-json@2.0.0:
- resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==}
- engines: {node: ^16.14.0 || >=18.0.0}
- dev: false
+ '@tufjs/canonical-json@2.0.0': {}
- /@tufjs/models@1.0.4:
- resolution: {integrity: sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ '@tufjs/models@1.0.4':
dependencies:
'@tufjs/canonical-json': 1.0.0
minimatch: 9.0.5
- dev: true
- /@tufjs/models@2.0.1:
- resolution: {integrity: sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ '@tufjs/models@2.0.1':
dependencies:
'@tufjs/canonical-json': 2.0.0
minimatch: 9.0.5
- dev: false
- /@tweenjs/tween.js@18.6.0:
- resolution: {integrity: sha512-z45HU0G0e/SenbvGdAlTpUR5Hur5zwZXQcqfI+f7EnVHdeb2oMI2rQghEePu7uXuvBC0nuKWG5YtZ1nWbuvqzQ==}
- dev: false
+ '@turf/along@7.2.0':
+ dependencies:
+ '@turf/bearing': 7.2.0
+ '@turf/destination': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
- /@types/accepts@1.3.7:
- resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==}
+ '@turf/angle@7.2.0':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@turf/bearing': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/rhumb-bearing': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
- /@types/acorn@4.0.6:
- resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
+ '@turf/area@7.2.0':
dependencies:
- '@types/estree': 1.0.0
- dev: false
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
- /@types/arcgis-js-api@4.24.0:
- resolution: {integrity: sha512-Qh6Yw1g4cBq1UGoX1xI+G+4NgxZgTgmSj6IdV8CE9k7IRdPOZIHeEC5ZHDjf93mgjbD8vytPZWHVvcYs1F/PDw==}
- dev: true
+ '@turf/bbox-clip@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
- /@types/asn1@0.2.4:
- resolution: {integrity: sha512-V91DSJ2l0h0gRhVP4oBfBzRBN9lAbPUkGDMCnwedqPKX2d84aAMc9CulOvxdw1f7DfEYx99afab+Rsm3e52jhA==}
+ '@turf/bbox-polygon@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/bbox@7.2.0':
dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
- /@types/aws-lambda@8.10.122:
- resolution: {integrity: sha512-vBkIh9AY22kVOCEKo5CJlyCgmSWvasC+SWUxL/x/vOwRobMpI/HG1xp/Ae3AqmSiZeLUbOhW0FCD3ZjqqUxmXw==}
- dev: false
+ '@turf/bearing@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
- /@types/aws-lambda@8.10.130:
- resolution: {integrity: sha512-HxTfLeGvD1wTJqIGwcBCpNmHKenja+We1e0cuzeIDFfbEj3ixnlTInyPR/81zAe0Ss/Ip12rFK6XNeMLVucOSg==}
+ '@turf/bezier-spline@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
- /@types/babel__core@7.20.5:
- resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+ '@turf/boolean-clockwise@7.2.0':
dependencies:
- '@babel/parser': 7.23.5
- '@babel/types': 7.23.5
- '@types/babel__generator': 7.6.7
- '@types/babel__template': 7.4.4
- '@types/babel__traverse': 7.20.4
- dev: true
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
- /@types/babel__generator@7.6.7:
- resolution: {integrity: sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==}
+ '@turf/boolean-concave@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/boolean-contains@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/boolean-point-on-line': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/boolean-crosses@7.2.0':
+ dependencies:
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/line-intersect': 7.2.0
+ '@turf/polygon-to-line': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/boolean-disjoint@7.2.0':
+ dependencies:
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/line-intersect': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/polygon-to-line': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/boolean-equal@7.2.0':
+ dependencies:
+ '@turf/clean-coords': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ geojson-equality-ts: 1.0.2
+ tslib: 2.8.1
+
+ '@turf/boolean-intersects@7.2.0':
+ dependencies:
+ '@turf/boolean-disjoint': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/boolean-overlap@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/line-intersect': 7.2.0
+ '@turf/line-overlap': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ geojson-equality-ts: 1.0.2
+ tslib: 2.8.1
+
+ '@turf/boolean-parallel@7.2.0':
+ dependencies:
+ '@turf/clean-coords': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/line-segment': 7.2.0
+ '@turf/rhumb-bearing': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/boolean-point-in-polygon@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ point-in-polygon-hao: 1.2.4
+ tslib: 2.8.1
+
+ '@turf/boolean-point-on-line@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/boolean-touches@7.2.0':
+ dependencies:
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/boolean-point-on-line': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/boolean-valid@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/boolean-crosses': 7.2.0
+ '@turf/boolean-disjoint': 7.2.0
+ '@turf/boolean-overlap': 7.2.0
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/boolean-point-on-line': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/line-intersect': 7.2.0
+ '@types/geojson': 7946.0.16
+ geojson-polygon-self-intersections: 1.2.1
+ tslib: 2.8.1
+
+ '@turf/boolean-within@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/boolean-point-on-line': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/buffer@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/center': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/jsts': 2.7.2
+ '@turf/meta': 7.2.0
+ '@turf/projection': 7.2.0
+ '@types/geojson': 7946.0.16
+ d3-geo: 1.7.1
+
+ '@turf/center-mean@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/center-median@7.2.0':
+ dependencies:
+ '@turf/center-mean': 7.2.0
+ '@turf/centroid': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/center-of-mass@7.2.0':
+ dependencies:
+ '@turf/centroid': 7.2.0
+ '@turf/convex': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/center@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/centroid@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/circle@7.2.0':
+ dependencies:
+ '@turf/destination': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/clean-coords@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/clone@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/clusters-dbscan@7.2.0':
+ dependencies:
+ '@turf/clone': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ rbush: 3.0.1
+ tslib: 2.8.1
+
+ '@turf/clusters-kmeans@7.2.0':
+ dependencies:
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ skmeans: 0.9.7
+ tslib: 2.8.1
+
+ '@turf/clusters@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/collect@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ rbush: 3.0.1
+ tslib: 2.8.1
+
+ '@turf/combine@7.2.0':
dependencies:
- '@babel/types': 7.23.5
- dev: true
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/concave@7.2.0':
+ dependencies:
+ '@turf/clone': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/tin': 7.2.0
+ '@types/geojson': 7946.0.16
+ topojson-client: 3.1.0
+ topojson-server: 3.0.1
+ tslib: 2.8.1
- /@types/babel__template@7.4.4:
- resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+ '@turf/convex@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ concaveman: 1.2.1
+ tslib: 2.8.1
+
+ '@turf/destination@7.2.0':
dependencies:
- '@babel/parser': 7.23.5
- '@babel/types': 7.23.5
- dev: true
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
- /@types/babel__traverse@7.20.4:
- resolution: {integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==}
+ '@turf/difference@7.2.0':
dependencies:
- '@babel/types': 7.23.5
- dev: true
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ polyclip-ts: 0.16.8
+ tslib: 2.8.1
- /@types/base64-js@1.3.2:
- resolution: {integrity: sha512-Q2Xn2/vQHRGLRXhQ5+BSLwhHkR3JVflxVKywH0Q6fVoAiUE8fFYL2pE5/l2ZiOiBDfA8qUqRnSxln4G/NFz1Sg==}
- dev: true
+ '@turf/dissolve@7.2.0':
+ dependencies:
+ '@turf/flatten': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ polyclip-ts: 0.16.8
+ tslib: 2.8.1
+
+ '@turf/distance-weight@7.2.0':
+ dependencies:
+ '@turf/centroid': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/distance@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/ellipse@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/rhumb-destination': 7.2.0
+ '@turf/transform-rotate': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/envelope@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/bbox-polygon': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/explode@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/flatten@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
- /@types/bcryptjs@2.4.6:
- resolution: {integrity: sha512-9xlo6R2qDs5uixm0bcIqCeMCE6HiQsIyel9KQySStiyqNl2tnj2mP3DX1Nf56MD6KMenNNlBBsy3LJ7gUEQPXQ==}
- dev: true
+ '@turf/flip@7.2.0':
+ dependencies:
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/geojson-rbush@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ rbush: 3.0.1
- /@types/benchmark@2.1.5:
- resolution: {integrity: sha512-cKio2eFB3v7qmKcvIHLUMw/dIx/8bhWPuzpzRT4unCPRTD8VdA9Zb0afxpcxOqR4PixRS7yT42FqGS8BYL8g1w==}
- dev: true
+ '@turf/great-circle@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
- /@types/bn.js@5.1.5:
- resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==}
+ '@turf/helpers@7.2.0':
dependencies:
- '@types/node': 18.19.3
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
- /@types/body-parser@1.19.5:
- resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
+ '@turf/hex-grid@7.2.0':
+ dependencies:
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/intersect': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/interpolate@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/centroid': 7.2.0
+ '@turf/clone': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/hex-grid': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/point-grid': 7.2.0
+ '@turf/square-grid': 7.2.0
+ '@turf/triangle-grid': 7.2.0
+ '@types/geojson': 7946.0.16
+
+ '@turf/intersect@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ polyclip-ts: 0.16.8
+ tslib: 2.8.1
+
+ '@turf/invariant@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/isobands@7.2.0':
+ dependencies:
+ '@turf/area': 7.2.0
+ '@turf/bbox': 7.2.0
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/explode': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ marchingsquares: 1.3.3
+ tslib: 2.8.1
+
+ '@turf/isolines@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ marchingsquares: 1.3.3
+ tslib: 2.8.1
+
+ '@turf/jsts@2.7.2':
+ dependencies:
+ jsts: 2.7.1
+
+ '@turf/kinks@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/length@7.2.0':
+ dependencies:
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/line-arc@7.2.0':
+ dependencies:
+ '@turf/circle': 7.2.0
+ '@turf/destination': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/line-chunk@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/length': 7.2.0
+ '@turf/line-slice-along': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+
+ '@turf/line-intersect@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ sweepline-intersections: 1.5.0
+ tslib: 2.8.1
+
+ '@turf/line-offset@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+
+ '@turf/line-overlap@7.2.0':
+ dependencies:
+ '@turf/boolean-point-on-line': 7.2.0
+ '@turf/geojson-rbush': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/line-segment': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/nearest-point-on-line': 7.2.0
+ '@types/geojson': 7946.0.16
+ fast-deep-equal: 3.1.3
+ tslib: 2.8.1
+
+ '@turf/line-segment@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/line-slice-along@7.2.0':
+ dependencies:
+ '@turf/bearing': 7.2.0
+ '@turf/destination': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+
+ '@turf/line-slice@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/nearest-point-on-line': 7.2.0
+ '@types/geojson': 7946.0.16
+
+ '@turf/line-split@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/geojson-rbush': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/line-intersect': 7.2.0
+ '@turf/line-segment': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/nearest-point-on-line': 7.2.0
+ '@turf/square': 7.2.0
+ '@turf/truncate': 7.2.0
+ '@types/geojson': 7946.0.16
+
+ '@turf/line-to-polygon@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/mask@7.2.0':
+ dependencies:
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ polyclip-ts: 0.16.8
+ tslib: 2.8.1
+
+ '@turf/meta@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+
+ '@turf/midpoint@7.2.0':
+ dependencies:
+ '@turf/bearing': 7.2.0
+ '@turf/destination': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/moran-index@7.2.0':
+ dependencies:
+ '@turf/distance-weight': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/nearest-neighbor-analysis@7.2.0':
+ dependencies:
+ '@turf/area': 7.2.0
+ '@turf/bbox': 7.2.0
+ '@turf/bbox-polygon': 7.2.0
+ '@turf/centroid': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/nearest-point': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/nearest-point-on-line@7.2.0':
+ dependencies:
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/nearest-point-to-line@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/point-to-line-distance': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/nearest-point@7.2.0':
+ dependencies:
+ '@turf/clone': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/planepoint@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/point-grid@7.2.0':
+ dependencies:
+ '@turf/boolean-within': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/point-on-feature@7.2.0':
+ dependencies:
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/center': 7.2.0
+ '@turf/explode': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/nearest-point': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/point-to-line-distance@7.2.0':
+ dependencies:
+ '@turf/bearing': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/nearest-point-on-line': 7.2.0
+ '@turf/projection': 7.2.0
+ '@turf/rhumb-bearing': 7.2.0
+ '@turf/rhumb-distance': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/point-to-polygon-distance@7.2.0':
+ dependencies:
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/point-to-line-distance': 7.2.0
+ '@turf/polygon-to-line': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/points-within-polygon@7.2.0':
+ dependencies:
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/polygon-smooth@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/polygon-tangents@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/boolean-within': 7.2.0
+ '@turf/explode': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/nearest-point': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/polygon-to-line@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/polygonize@7.2.0':
+ dependencies:
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/envelope': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/projection@7.2.0':
+ dependencies:
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/quadrat-analysis@7.2.0':
+ dependencies:
+ '@turf/area': 7.2.0
+ '@turf/bbox': 7.2.0
+ '@turf/bbox-polygon': 7.2.0
+ '@turf/centroid': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/point-grid': 7.2.0
+ '@turf/random': 7.2.0
+ '@turf/square-grid': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/random@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/rectangle-grid@7.2.0':
+ dependencies:
+ '@turf/boolean-intersects': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/rewind@7.2.0':
+ dependencies:
+ '@turf/boolean-clockwise': 7.2.0
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/rhumb-bearing@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/rhumb-destination@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/rhumb-distance@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/sample@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/sector@7.2.0':
+ dependencies:
+ '@turf/circle': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/line-arc': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/shortest-path@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/bbox-polygon': 7.2.0
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/clean-coords': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/transform-scale': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/simplify@7.2.0':
+ dependencies:
+ '@turf/clean-coords': 7.2.0
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/square-grid@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/rectangle-grid': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/square@7.2.0':
+ dependencies:
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/standard-deviational-ellipse@7.2.0':
+ dependencies:
+ '@turf/center-mean': 7.2.0
+ '@turf/ellipse': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/points-within-polygon': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/tag@7.2.0':
+ dependencies:
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/tesselate@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ earcut: 2.2.4
+ tslib: 2.8.1
+
+ '@turf/tin@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/transform-rotate@7.2.0':
+ dependencies:
+ '@turf/centroid': 7.2.0
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/rhumb-bearing': 7.2.0
+ '@turf/rhumb-destination': 7.2.0
+ '@turf/rhumb-distance': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/transform-scale@7.2.0':
+ dependencies:
+ '@turf/bbox': 7.2.0
+ '@turf/center': 7.2.0
+ '@turf/centroid': 7.2.0
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/rhumb-bearing': 7.2.0
+ '@turf/rhumb-destination': 7.2.0
+ '@turf/rhumb-distance': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/transform-translate@7.2.0':
+ dependencies:
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/rhumb-destination': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/triangle-grid@7.2.0':
+ dependencies:
+ '@turf/distance': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/intersect': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/truncate@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/turf@7.2.0':
+ dependencies:
+ '@turf/along': 7.2.0
+ '@turf/angle': 7.2.0
+ '@turf/area': 7.2.0
+ '@turf/bbox': 7.2.0
+ '@turf/bbox-clip': 7.2.0
+ '@turf/bbox-polygon': 7.2.0
+ '@turf/bearing': 7.2.0
+ '@turf/bezier-spline': 7.2.0
+ '@turf/boolean-clockwise': 7.2.0
+ '@turf/boolean-concave': 7.2.0
+ '@turf/boolean-contains': 7.2.0
+ '@turf/boolean-crosses': 7.2.0
+ '@turf/boolean-disjoint': 7.2.0
+ '@turf/boolean-equal': 7.2.0
+ '@turf/boolean-intersects': 7.2.0
+ '@turf/boolean-overlap': 7.2.0
+ '@turf/boolean-parallel': 7.2.0
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/boolean-point-on-line': 7.2.0
+ '@turf/boolean-touches': 7.2.0
+ '@turf/boolean-valid': 7.2.0
+ '@turf/boolean-within': 7.2.0
+ '@turf/buffer': 7.2.0
+ '@turf/center': 7.2.0
+ '@turf/center-mean': 7.2.0
+ '@turf/center-median': 7.2.0
+ '@turf/center-of-mass': 7.2.0
+ '@turf/centroid': 7.2.0
+ '@turf/circle': 7.2.0
+ '@turf/clean-coords': 7.2.0
+ '@turf/clone': 7.2.0
+ '@turf/clusters': 7.2.0
+ '@turf/clusters-dbscan': 7.2.0
+ '@turf/clusters-kmeans': 7.2.0
+ '@turf/collect': 7.2.0
+ '@turf/combine': 7.2.0
+ '@turf/concave': 7.2.0
+ '@turf/convex': 7.2.0
+ '@turf/destination': 7.2.0
+ '@turf/difference': 7.2.0
+ '@turf/dissolve': 7.2.0
+ '@turf/distance': 7.2.0
+ '@turf/distance-weight': 7.2.0
+ '@turf/ellipse': 7.2.0
+ '@turf/envelope': 7.2.0
+ '@turf/explode': 7.2.0
+ '@turf/flatten': 7.2.0
+ '@turf/flip': 7.2.0
+ '@turf/geojson-rbush': 7.2.0
+ '@turf/great-circle': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/hex-grid': 7.2.0
+ '@turf/interpolate': 7.2.0
+ '@turf/intersect': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@turf/isobands': 7.2.0
+ '@turf/isolines': 7.2.0
+ '@turf/kinks': 7.2.0
+ '@turf/length': 7.2.0
+ '@turf/line-arc': 7.2.0
+ '@turf/line-chunk': 7.2.0
+ '@turf/line-intersect': 7.2.0
+ '@turf/line-offset': 7.2.0
+ '@turf/line-overlap': 7.2.0
+ '@turf/line-segment': 7.2.0
+ '@turf/line-slice': 7.2.0
+ '@turf/line-slice-along': 7.2.0
+ '@turf/line-split': 7.2.0
+ '@turf/line-to-polygon': 7.2.0
+ '@turf/mask': 7.2.0
+ '@turf/meta': 7.2.0
+ '@turf/midpoint': 7.2.0
+ '@turf/moran-index': 7.2.0
+ '@turf/nearest-neighbor-analysis': 7.2.0
+ '@turf/nearest-point': 7.2.0
+ '@turf/nearest-point-on-line': 7.2.0
+ '@turf/nearest-point-to-line': 7.2.0
+ '@turf/planepoint': 7.2.0
+ '@turf/point-grid': 7.2.0
+ '@turf/point-on-feature': 7.2.0
+ '@turf/point-to-line-distance': 7.2.0
+ '@turf/point-to-polygon-distance': 7.2.0
+ '@turf/points-within-polygon': 7.2.0
+ '@turf/polygon-smooth': 7.2.0
+ '@turf/polygon-tangents': 7.2.0
+ '@turf/polygon-to-line': 7.2.0
+ '@turf/polygonize': 7.2.0
+ '@turf/projection': 7.2.0
+ '@turf/quadrat-analysis': 7.2.0
+ '@turf/random': 7.2.0
+ '@turf/rectangle-grid': 7.2.0
+ '@turf/rewind': 7.2.0
+ '@turf/rhumb-bearing': 7.2.0
+ '@turf/rhumb-destination': 7.2.0
+ '@turf/rhumb-distance': 7.2.0
+ '@turf/sample': 7.2.0
+ '@turf/sector': 7.2.0
+ '@turf/shortest-path': 7.2.0
+ '@turf/simplify': 7.2.0
+ '@turf/square': 7.2.0
+ '@turf/square-grid': 7.2.0
+ '@turf/standard-deviational-ellipse': 7.2.0
+ '@turf/tag': 7.2.0
+ '@turf/tesselate': 7.2.0
+ '@turf/tin': 7.2.0
+ '@turf/transform-rotate': 7.2.0
+ '@turf/transform-scale': 7.2.0
+ '@turf/transform-translate': 7.2.0
+ '@turf/triangle-grid': 7.2.0
+ '@turf/truncate': 7.2.0
+ '@turf/union': 7.2.0
+ '@turf/unkink-polygon': 7.2.0
+ '@turf/voronoi': 7.2.0
+ '@types/geojson': 7946.0.16
+ tslib: 2.8.1
+
+ '@turf/union@7.2.0':
+ dependencies:
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ polyclip-ts: 0.16.8
+ tslib: 2.8.1
+
+ '@turf/unkink-polygon@7.2.0':
+ dependencies:
+ '@turf/area': 7.2.0
+ '@turf/boolean-point-in-polygon': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/meta': 7.2.0
+ '@types/geojson': 7946.0.16
+ rbush: 3.0.1
+ tslib: 2.8.1
+
+ '@turf/voronoi@7.2.0':
+ dependencies:
+ '@turf/clone': 7.2.0
+ '@turf/helpers': 7.2.0
+ '@turf/invariant': 7.2.0
+ '@types/d3-voronoi': 1.1.12
+ '@types/geojson': 7946.0.16
+ d3-voronoi: 1.1.2
+ tslib: 2.8.1
+
+ '@tweenjs/tween.js@18.6.0': {}
+
+ '@tybys/wasm-util@0.10.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@types/accepts@1.3.7':
+ dependencies:
+ '@types/node': 18.19.98
+
+ '@types/arcgis-js-api@4.24.0': {}
+
+ '@types/asn1@0.2.4':
+ dependencies:
+ '@types/node': 18.19.98
+
+ '@types/aws-lambda@8.10.122': {}
+
+ '@types/aws-lambda@8.10.149': {}
+
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.27.2
+ '@babel/types': 7.27.1
+ '@types/babel__generator': 7.27.0
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.20.7
+
+ '@types/babel__generator@7.27.0':
+ dependencies:
+ '@babel/types': 7.27.1
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.27.2
+ '@babel/types': 7.27.1
+
+ '@types/babel__traverse@7.20.7':
+ dependencies:
+ '@babel/types': 7.27.1
+
+ '@types/bcryptjs@2.4.6': {}
+
+ '@types/benchmark@2.1.5': {}
+
+ '@types/bn.js@5.1.6':
+ dependencies:
+ '@types/node': 18.19.98
+
+ '@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
- '@types/node': 20.10.4
+ '@types/node': 18.19.98
- /@types/bonjour@3.5.13:
- resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
+ '@types/bonjour@3.5.13':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/bson@4.0.5:
- resolution: {integrity: sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==}
+ '@types/bson@4.0.5':
dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@types/node': 18.19.98
- /@types/bunyan@1.8.9:
- resolution: {integrity: sha512-ZqS9JGpBxVOvsawzmVt30sP++gSQMTejCkIAQ3VdadOcRE8izTyW66hufvwLeH+YEGP6Js2AW7Gz+RMyvrEbmw==}
+ '@types/bunyan@1.8.9':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/cacheable-request@6.0.3:
- resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
+ '@types/cacheable-request@6.0.3':
dependencies:
'@types/http-cache-semantics': 4.0.4
'@types/keyv': 3.1.4
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
'@types/responselike': 1.0.3
- dev: false
- /@types/chai@4.3.11:
- resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==}
- dev: true
+ '@types/chai@4.3.20': {}
- /@types/cli-progress@3.11.5:
- resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==}
+ '@types/cli-progress@3.11.6':
dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@types/node': 18.19.98
- /@types/compression@1.7.5:
- resolution: {integrity: sha512-AAQvK5pxMpaT+nDvhHrsBhLSYG5yQdtkaJE1WYieSNY2mVFKAgmU4ks65rkZD5oqnGCFLyQpUr1CqI4DmUMyDg==}
+ '@types/compression@1.7.5':
dependencies:
'@types/express': 4.17.21
- dev: true
- /@types/connect-history-api-fallback@1.5.4:
- resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
+ '@types/connect-history-api-fallback@1.5.4':
dependencies:
- '@types/express-serve-static-core': 4.17.41
- '@types/node': 18.19.3
- dev: false
+ '@types/express-serve-static-core': 5.0.6
+ '@types/node': 18.19.98
- /@types/connect@3.4.36:
- resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==}
+ '@types/connect@3.4.36':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/connect@3.4.38:
- resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+ '@types/connect@3.4.38':
dependencies:
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
- /@types/content-disposition@0.5.8:
- resolution: {integrity: sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==}
- dev: false
+ '@types/content-disposition@0.5.8': {}
- /@types/cookies@0.9.0:
- resolution: {integrity: sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==}
+ '@types/cookies@0.9.0':
dependencies:
'@types/connect': 3.4.38
'@types/express': 4.17.21
'@types/keygrip': 1.0.6
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/cors@2.8.17:
- resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
+ '@types/cors@2.8.17':
dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@types/node': 18.19.98
- /@types/d3-array@3.2.1:
- resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==}
- dev: true
+ '@types/d3-array@3.2.1': {}
- /@types/d3-axis@3.0.6:
- resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
+ '@types/d3-axis@3.0.6':
dependencies:
- '@types/d3-selection': 3.0.10
- dev: true
+ '@types/d3-selection': 3.0.11
- /@types/d3-brush@3.0.6:
- resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
+ '@types/d3-brush@3.0.6':
dependencies:
- '@types/d3-selection': 3.0.10
- dev: true
+ '@types/d3-selection': 3.0.11
- /@types/d3-chord@3.0.6:
- resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
- dev: true
+ '@types/d3-chord@3.0.6': {}
- /@types/d3-color@3.1.3:
- resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
- dev: true
+ '@types/d3-color@3.1.3': {}
- /@types/d3-contour@3.0.6:
- resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
+ '@types/d3-contour@3.0.6':
dependencies:
'@types/d3-array': 3.2.1
- '@types/geojson': 7946.0.13
- dev: true
+ '@types/geojson': 7946.0.16
- /@types/d3-delaunay@6.0.4:
- resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
- dev: true
+ '@types/d3-delaunay@6.0.4': {}
- /@types/d3-dispatch@3.0.6:
- resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==}
- dev: true
+ '@types/d3-dispatch@3.0.6': {}
- /@types/d3-drag@3.0.7:
- resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
+ '@types/d3-drag@3.0.7':
dependencies:
- '@types/d3-selection': 3.0.10
- dev: true
+ '@types/d3-selection': 3.0.11
- /@types/d3-dsv@3.0.7:
- resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
- dev: true
+ '@types/d3-dsv@3.0.7': {}
- /@types/d3-ease@3.0.2:
- resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
- dev: true
+ '@types/d3-ease@3.0.2': {}
- /@types/d3-fetch@3.0.7:
- resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
+ '@types/d3-fetch@3.0.7':
dependencies:
'@types/d3-dsv': 3.0.7
- dev: true
- /@types/d3-force@3.0.9:
- resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==}
- dev: true
+ '@types/d3-force@3.0.10': {}
- /@types/d3-format@3.0.4:
- resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
- dev: true
+ '@types/d3-format@3.0.4': {}
- /@types/d3-geo@3.1.0:
- resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
+ '@types/d3-geo@3.1.0':
dependencies:
- '@types/geojson': 7946.0.13
- dev: true
+ '@types/geojson': 7946.0.16
- /@types/d3-hierarchy@3.1.6:
- resolution: {integrity: sha512-qlmD/8aMk5xGorUvTUWHCiumvgaUXYldYjNVOWtYoTYY/L+WwIEAmJxUmTgr9LoGNG0PPAOmqMDJVDPc7DOpPw==}
- dev: true
+ '@types/d3-hierarchy@3.1.7': {}
- /@types/d3-interpolate@3.0.4:
- resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
+ '@types/d3-interpolate@3.0.4':
dependencies:
'@types/d3-color': 3.1.3
- dev: true
- /@types/d3-path@3.0.2:
- resolution: {integrity: sha512-WAIEVlOCdd/NKRYTsqCpOMHQHemKBEINf8YXMYOtXH0GA7SY0dqMB78P3Uhgfy+4X+/Mlw2wDtlETkN6kQUCMA==}
- dev: true
+ '@types/d3-path@3.1.1': {}
- /@types/d3-polygon@3.0.2:
- resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
- dev: true
+ '@types/d3-polygon@3.0.2': {}
- /@types/d3-quadtree@3.0.6:
- resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
- dev: true
+ '@types/d3-quadtree@3.0.6': {}
- /@types/d3-random@3.0.3:
- resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
- dev: true
+ '@types/d3-random@3.0.3': {}
- /@types/d3-scale-chromatic@3.0.3:
- resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==}
- dev: true
+ '@types/d3-scale-chromatic@3.1.0': {}
- /@types/d3-scale@4.0.8:
- resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==}
+ '@types/d3-scale@4.0.9':
dependencies:
- '@types/d3-time': 3.0.3
- dev: true
+ '@types/d3-time': 3.0.4
- /@types/d3-selection@3.0.10:
- resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==}
- dev: true
+ '@types/d3-selection@3.0.11': {}
- /@types/d3-shape@3.1.6:
- resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==}
+ '@types/d3-shape@3.1.7':
dependencies:
- '@types/d3-path': 3.0.2
- dev: true
+ '@types/d3-path': 3.1.1
- /@types/d3-time-format@4.0.3:
- resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
- dev: true
+ '@types/d3-time-format@4.0.3': {}
- /@types/d3-time@3.0.3:
- resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==}
- dev: true
+ '@types/d3-time@3.0.4': {}
- /@types/d3-timer@3.0.2:
- resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
- dev: true
+ '@types/d3-timer@3.0.2': {}
- /@types/d3-transition@3.0.8:
- resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==}
+ '@types/d3-transition@3.0.9':
dependencies:
- '@types/d3-selection': 3.0.10
- dev: true
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-voronoi@1.1.12': {}
- /@types/d3-zoom@3.0.8:
- resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
+ '@types/d3-zoom@3.0.8':
dependencies:
'@types/d3-interpolate': 3.0.4
- '@types/d3-selection': 3.0.10
- dev: true
+ '@types/d3-selection': 3.0.11
- /@types/d3@7.4.3:
- resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
+ '@types/d3@7.4.3':
dependencies:
'@types/d3-array': 3.2.1
'@types/d3-axis': 3.0.6
@@ -11431,1528 +23656,1043 @@ packages:
'@types/d3-dsv': 3.0.7
'@types/d3-ease': 3.0.2
'@types/d3-fetch': 3.0.7
- '@types/d3-force': 3.0.9
+ '@types/d3-force': 3.0.10
'@types/d3-format': 3.0.4
'@types/d3-geo': 3.1.0
- '@types/d3-hierarchy': 3.1.6
+ '@types/d3-hierarchy': 3.1.7
'@types/d3-interpolate': 3.0.4
- '@types/d3-path': 3.0.2
+ '@types/d3-path': 3.1.1
'@types/d3-polygon': 3.0.2
'@types/d3-quadtree': 3.0.6
'@types/d3-random': 3.0.3
- '@types/d3-scale': 4.0.8
- '@types/d3-scale-chromatic': 3.0.3
- '@types/d3-selection': 3.0.10
- '@types/d3-shape': 3.1.6
- '@types/d3-time': 3.0.3
+ '@types/d3-scale': 4.0.9
+ '@types/d3-scale-chromatic': 3.1.0
+ '@types/d3-selection': 3.0.11
+ '@types/d3-shape': 3.1.7
+ '@types/d3-time': 3.0.4
'@types/d3-time-format': 4.0.3
'@types/d3-timer': 3.0.2
- '@types/d3-transition': 3.0.8
+ '@types/d3-transition': 3.0.9
'@types/d3-zoom': 3.0.8
- dev: true
- /@types/debug@4.1.12:
- resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+ '@types/debug@4.1.12':
dependencies:
- '@types/ms': 0.7.34
+ '@types/ms': 2.1.0
- /@types/eslint-scope@3.7.7:
- resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
+ '@types/eslint-scope@3.7.7':
dependencies:
- '@types/eslint': 8.44.8
+ '@types/eslint': 9.6.1
'@types/estree': 1.0.0
- dev: false
- /@types/eslint@8.44.8:
- resolution: {integrity: sha512-4K8GavROwhrYl2QXDXm0Rv9epkA8GBFu0EI+XrrnnuCl7u8CWBRusX7fXJfanhZTDWSAL24gDI/UqXyUM0Injw==}
+ '@types/eslint@9.6.1':
dependencies:
'@types/estree': 1.0.0
'@types/json-schema': 7.0.15
- dev: false
- /@types/estraverse@5.1.7:
- resolution: {integrity: sha512-JRVtdKYZz7VkNp7hMC/WKoiZ8DS3byw20ZGoMZ1R8eBrBPIY7iBaDAS1zcrnXQCwK44G4vbXkimeU7R0VLG8UQ==}
+ '@types/estraverse@5.1.7':
dependencies:
'@types/estree': 1.0.0
- /@types/estree-jsx@1.0.3:
- resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==}
+ '@types/estree-jsx@1.0.5':
dependencies:
'@types/estree': 1.0.0
- dev: false
- /@types/estree@0.0.39:
- resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
- dev: true
+ '@types/estree@0.0.39': {}
- /@types/estree@1.0.0:
- resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
+ '@types/estree@1.0.0': {}
- /@types/estree@1.0.6:
- resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+ '@types/estree@1.0.6': {}
- /@types/express-serve-static-core@4.17.41:
- resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==}
+ '@types/estree@1.0.7': {}
+
+ '@types/express-serve-static-core@4.19.6':
dependencies:
- '@types/node': 18.19.3
- '@types/qs': 6.9.10
+ '@types/node': 18.19.98
+ '@types/qs': 6.9.18
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
- /@types/express@4.17.21:
- resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
+ '@types/express-serve-static-core@5.0.6':
+ dependencies:
+ '@types/node': 18.19.98
+ '@types/qs': 6.9.18
+ '@types/range-parser': 1.2.7
+ '@types/send': 0.17.4
+
+ '@types/express@4.17.21':
dependencies:
'@types/body-parser': 1.19.5
- '@types/express-serve-static-core': 4.17.41
- '@types/qs': 6.9.10
- '@types/serve-static': 1.15.5
+ '@types/express-serve-static-core': 4.19.6
+ '@types/qs': 6.9.18
+ '@types/serve-static': 1.15.7
- /@types/faker@5.1.3:
- resolution: {integrity: sha512-7YTyCRoujZWYaCpDLslQJ8QzaFWFLZZ3mZ7Vfr/jJHascRmSd05pYteyt2FK4btF2vXyGq0obuoyLpcF99OvaA==}
- dev: true
+ '@types/faker@5.1.3': {}
- /@types/fs-extra@8.1.5:
- resolution: {integrity: sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==}
+ '@types/fs-extra@8.1.5':
dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@types/node': 18.19.98
- /@types/geojson@7946.0.13:
- resolution: {integrity: sha512-bmrNrgKMOhM3WsafmbGmC+6dsF2Z308vLFsQ3a/bT8X8Sv5clVYpPars/UPq+sAaJP+5OoLAYgwbkS5QEJdLUQ==}
- dev: true
+ '@types/geojson@7946.0.16': {}
- /@types/glob@7.2.0:
- resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
+ '@types/glob@7.2.0':
dependencies:
'@types/minimatch': 5.1.2
- '@types/node': 18.19.3
-
- /@types/google-protobuf@3.15.12:
- resolution: {integrity: sha512-40um9QqwHjRS92qnOaDpL7RmDK15NuZYo9HihiJRbYkMQZlWnuH8AdvbMy8/o6lgLmKbDUKa+OALCltHdbOTpQ==}
- dev: false
+ '@types/node': 18.19.98
- /@types/graceful-fs@4.1.9:
- resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
- dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@types/google-protobuf@3.15.12': {}
- /@types/gtag.js@0.0.12:
- resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==}
- dev: false
+ '@types/gtag.js@0.0.12': {}
- /@types/hapi__joi@17.1.14:
- resolution: {integrity: sha512-elV1VhwXUfA1sw59ij75HWyCH+3cA7xLbaOY9GQ+iQo/S+jSSf22LNZAmsXMdfV8DZwquCZaCT+F43Xf6/txrQ==}
- dev: true
+ '@types/hapi__joi@17.1.15': {}
- /@types/hast@2.3.8:
- resolution: {integrity: sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==}
+ '@types/hast@2.3.10':
dependencies:
- '@types/unist': 2.0.10
- dev: false
+ '@types/unist': 2.0.11
- /@types/hast@3.0.3:
- resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==}
+ '@types/hast@3.0.4':
dependencies:
- '@types/unist': 3.0.2
+ '@types/unist': 3.0.3
- /@types/history@4.7.11:
- resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==}
- dev: false
+ '@types/history@4.7.11': {}
- /@types/howler@2.2.11:
- resolution: {integrity: sha512-7aBoUL6RbSIrqKnpEgfa1wSNUBK06mn08siP2QI0zYk7MXfEJAaORc4tohamQYqCqVESoDyRWSdQn2BOKWj2Qw==}
- dev: true
+ '@types/howler@2.2.12': {}
- /@types/html-minifier-terser@6.1.0:
- resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
- dev: false
+ '@types/html-minifier-terser@6.1.0': {}
- /@types/http-assert@1.5.5:
- resolution: {integrity: sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g==}
- dev: false
+ '@types/http-assert@1.5.6': {}
- /@types/http-cache-semantics@4.0.4:
- resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
- dev: false
+ '@types/http-cache-semantics@4.0.4': {}
- /@types/http-errors@2.0.4:
- resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
+ '@types/http-errors@2.0.4': {}
- /@types/http-proxy@1.17.14:
- resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==}
+ '@types/http-proxy@1.17.16':
dependencies:
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
- /@types/inquirer@8.2.10:
- resolution: {integrity: sha512-IdD5NmHyVjWM8SHWo/kPBgtzXatwPkfwzyP3fN1jF2g9BWt5WO+8hL2F4o2GKIYsU40PpqeevuUWvkS/roXJkA==}
+ '@types/inquirer@8.2.11':
dependencies:
'@types/through': 0.0.33
- rxjs: 7.8.1
- dev: true
+ rxjs: 7.8.2
- /@types/ioredis-mock@5.6.0:
- resolution: {integrity: sha512-2L20NMYTzNlCeLbi7aXQ/VlFTBu7qYoGefwB0NIDYN5TWzOslzvfl7ttoIN9IVO2LEeY+MBpSWO8oJQklL/o4Q==}
+ '@types/ioredis-mock@5.6.0':
dependencies:
'@types/ioredis': 4.28.10
- dev: true
- /@types/ioredis@4.28.10:
- resolution: {integrity: sha512-69LyhUgrXdgcNDv7ogs1qXZomnfOEnSmrmMFqKgt1XMJxmoOSG/u3wYy13yACIfKuMJ8IhKgHafDO3sx19zVQQ==}
+ '@types/ioredis@4.28.10':
dependencies:
- '@types/node': 20.10.4
- dev: true
+ '@types/node': 18.19.98
- /@types/istanbul-lib-coverage@2.0.6:
- resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+ '@types/istanbul-lib-coverage@2.0.6': {}
- /@types/istanbul-lib-report@3.0.3:
- resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+ '@types/istanbul-lib-report@3.0.3':
dependencies:
'@types/istanbul-lib-coverage': 2.0.6
- /@types/istanbul-reports@3.0.4:
- resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+ '@types/istanbul-reports@3.0.4':
dependencies:
'@types/istanbul-lib-report': 3.0.3
- /@types/jest@29.5.11:
- resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==}
+ '@types/jest@29.5.14':
dependencies:
expect: 29.7.0
pretty-format: 29.7.0
- dev: true
- /@types/jsdom@20.0.1:
- resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==}
+ '@types/jsdom@21.1.6':
dependencies:
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
'@types/tough-cookie': 4.0.5
- parse5: 7.1.2
- dev: true
+ parse5: 7.3.0
- /@types/jsdom@21.1.6:
- resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==}
+ '@types/jsdom@21.1.7':
dependencies:
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
'@types/tough-cookie': 4.0.5
- parse5: 7.1.2
- dev: true
+ parse5: 7.3.0
- /@types/json-schema@7.0.15:
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ '@types/json-schema@7.0.15': {}
- /@types/jsonwebtoken@9.0.5:
- resolution: {integrity: sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA==}
+ '@types/jsonwebtoken@9.0.9':
dependencies:
- '@types/node': 20.10.4
- dev: true
+ '@types/ms': 2.1.0
+ '@types/node': 18.19.98
- /@types/keygrip@1.0.6:
- resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==}
- dev: false
+ '@types/keygrip@1.0.6': {}
- /@types/keyv@3.1.4:
- resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
+ '@types/keyv@3.1.4':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/koa-compose@3.2.8:
- resolution: {integrity: sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==}
+ '@types/koa-compose@3.2.8':
dependencies:
'@types/koa': 2.14.0
- dev: false
- /@types/koa@2.14.0:
- resolution: {integrity: sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==}
+ '@types/koa@2.14.0':
dependencies:
'@types/accepts': 1.3.7
'@types/content-disposition': 0.5.8
'@types/cookies': 0.9.0
- '@types/http-assert': 1.5.5
+ '@types/http-assert': 1.5.6
'@types/http-errors': 2.0.4
'@types/keygrip': 1.0.6
'@types/koa-compose': 3.2.8
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/koa__router@12.0.3:
- resolution: {integrity: sha512-5YUJVv6NwM1z7m6FuYpKfNLTZ932Z6EF6xy2BbtpJSyn13DKNQEkXVffFVSnJHxvwwWh2SAeumpjAYUELqgjyw==}
+ '@types/koa__router@12.0.3':
dependencies:
'@types/koa': 2.14.0
- dev: false
-
- /@types/lodash@4.14.202:
- resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==}
- dev: true
- /@types/long@4.0.2:
- resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==}
- dev: false
+ '@types/long@4.0.2': {}
- /@types/lru-cache@5.1.1:
- resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==}
- dev: true
+ '@types/lru-cache@5.1.1': {}
- /@types/luxon@3.3.7:
- resolution: {integrity: sha512-gKc9P2d4g5uYwmy4s/MO/yOVPmvHyvzka1YH6i5dM03UrFofHSmgc0D0ymbDRStFWHusk6cwwF6nhLm/ckBbbQ==}
- dev: true
+ '@types/luxon@3.3.7': {}
- /@types/mdast@4.0.3:
- resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
+ '@types/mdast@4.0.4':
dependencies:
- '@types/unist': 3.0.2
+ '@types/unist': 3.0.3
- /@types/mdx@2.0.10:
- resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==}
- dev: false
+ '@types/mdx@2.0.13': {}
- /@types/memcached@2.2.10:
- resolution: {integrity: sha512-AM9smvZN55Gzs2wRrqeMHVP7KE8KWgCJO/XL5yCly2xF6EKa4YlbpK+cLSAH4NG/Ah64HrlegmGqW8kYws7Vxg==}
+ '@types/memcached@2.2.10':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/mime@1.3.5:
- resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
+ '@types/mime@1.3.5': {}
- /@types/mime@2.0.3:
- resolution: {integrity: sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==}
+ '@types/mime@2.0.3': {}
- /@types/minimatch@3.0.5:
- resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==}
- dev: true
+ '@types/minimatch@3.0.5': {}
- /@types/minimatch@5.1.2:
- resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
+ '@types/minimatch@5.1.2': {}
- /@types/minimist@1.2.5:
- resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
- dev: true
+ '@types/minimist@1.2.5': {}
- /@types/mock-fs@4.13.1:
- resolution: {integrity: sha512-m6nFAJ3lBSnqbvDZioawRvpLXSaPyn52Srf7OfzjubYbYX8MTUdIgDxQl0wEapm4m/pNYSd9TXocpQ0TvZFlYA==}
+ '@types/mock-fs@4.13.1':
dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@types/node': 18.19.98
- /@types/mongodb@3.6.20:
- resolution: {integrity: sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==}
+ '@types/mongodb@3.6.20':
dependencies:
'@types/bson': 4.0.5
- '@types/node': 18.19.3
- dev: true
+ '@types/node': 18.19.98
- /@types/ms@0.7.34:
- resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
+ '@types/ms@2.1.0': {}
- /@types/mustache@4.2.5:
- resolution: {integrity: sha512-PLwiVvTBg59tGFL/8VpcGvqOu3L4OuveNvPi0EYbWchRdEVP++yRUXJPFl+CApKEq13017/4Nf7aQ5lTtHUNsA==}
- dev: true
+ '@types/mustache@4.2.6': {}
- /@types/mysql@2.15.22:
- resolution: {integrity: sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==}
+ '@types/mysql@2.15.22':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/node-fetch@2.6.9:
- resolution: {integrity: sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==}
+ '@types/node-fetch@2.6.12':
dependencies:
- '@types/node': 18.19.3
- form-data: 4.0.1
- dev: false
+ '@types/node': 18.19.98
+ form-data: 4.0.4
- /@types/node-forge@1.3.10:
- resolution: {integrity: sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==}
+ '@types/node-forge@1.3.11':
dependencies:
- '@types/node': 18.19.3
- dev: false
-
- /@types/node@17.0.45:
- resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
- dev: false
+ '@types/node': 18.19.98
- /@types/node@18.19.3:
- resolution: {integrity: sha512-k5fggr14DwAytoA/t8rPrIz++lXK7/DqckthCmoZOKNsEbJkId4Z//BqgApXBUGrGddrigYa1oqheo/7YmW4rg==}
- dependencies:
- undici-types: 5.26.5
+ '@types/node@17.0.45': {}
- /@types/node@20.10.4:
- resolution: {integrity: sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==}
+ '@types/node@18.19.98':
dependencies:
undici-types: 5.26.5
- /@types/normalize-package-data@2.4.4:
- resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
- dev: true
+ '@types/normalize-package-data@2.4.4': {}
- /@types/offscreencanvas@2019.3.0:
- resolution: {integrity: sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==}
- dev: false
+ '@types/offscreencanvas@2019.3.0': {}
- /@types/offscreencanvas@2019.7.3:
- resolution: {integrity: sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==}
+ '@types/offscreencanvas@2019.7.3': {}
- /@types/parse-json@4.0.2:
- resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
- dev: false
+ '@types/parse-json@4.0.2': {}
- /@types/parse5@6.0.3:
- resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
- dev: false
+ '@types/parse5@6.0.3': {}
- /@types/pg-pool@2.0.4:
- resolution: {integrity: sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==}
+ '@types/pg-pool@2.0.4':
dependencies:
'@types/pg': 8.6.1
- dev: false
- /@types/pg@8.6.1:
- resolution: {integrity: sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==}
+ '@types/pg@8.6.1':
dependencies:
- '@types/node': 18.19.3
- pg-protocol: 1.6.1
+ '@types/node': 18.19.98
+ pg-protocol: 1.9.5
pg-types: 2.2.0
- dev: false
- /@types/pify@5.0.4:
- resolution: {integrity: sha512-gxKJ1Aw8LbyCsCQWIsip9bYKJCNsKHMoZoQMAe2IWH7U7hgp/l6TvJpbFvu8ZlGBimjZZNvEx2S1ZQlj02ayNQ==}
- dev: true
+ '@types/pify@5.0.4': {}
- /@types/prismjs@1.26.3:
- resolution: {integrity: sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==}
- dev: false
+ '@types/prismjs@1.26.5': {}
- /@types/prompts@2.4.9:
- resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==}
+ '@types/prompts@2.4.9':
dependencies:
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
kleur: 3.0.3
- dev: true
- /@types/prop-types@15.7.11:
- resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==}
- dev: false
+ '@types/prop-types@15.7.14': {}
- /@types/qs@6.9.10:
- resolution: {integrity: sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==}
+ '@types/qs@6.9.18': {}
- /@types/range-parser@1.2.7:
- resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
+ '@types/range-parser@1.2.7': {}
- /@types/react-router-config@5.0.11:
- resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==}
+ '@types/react-router-config@5.0.11':
dependencies:
'@types/history': 4.7.11
- '@types/react': 18.2.43
+ '@types/react': 18.3.21
'@types/react-router': 5.1.20
- dev: false
- /@types/react-router-dom@5.3.3:
- resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==}
+ '@types/react-router-dom@5.3.3':
dependencies:
'@types/history': 4.7.11
- '@types/react': 18.2.43
+ '@types/react': 18.3.21
'@types/react-router': 5.1.20
- dev: false
- /@types/react-router@5.1.20:
- resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==}
+ '@types/react-router@5.1.20':
dependencies:
'@types/history': 4.7.11
- '@types/react': 18.2.43
- dev: false
+ '@types/react': 18.3.21
- /@types/react@18.2.43:
- resolution: {integrity: sha512-nvOV01ZdBdd/KW6FahSbcNplt2jCJfyWdTos61RYHV+FVv5L/g9AOX1bmbVcWcLFL8+KHQfh1zVIQrud6ihyQA==}
+ '@types/react@18.3.21':
dependencies:
- '@types/prop-types': 15.7.11
- '@types/scheduler': 0.16.8
+ '@types/prop-types': 15.7.14
csstype: 3.1.3
- dev: false
- /@types/redis@2.8.32:
- resolution: {integrity: sha512-7jkMKxcGq9p242exlbsVzuJb57KqHRhNl4dHoQu2Y5v9bCAbtIXXH0R3HleSQW4CTOqpHIYUW3t6tpUj4BVQ+w==}
+ '@types/redis@2.8.32':
dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@types/node': 18.19.98
- /@types/resolve@1.17.1:
- resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
- dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@types/resolve@1.20.2': {}
- /@types/responselike@1.0.3:
- resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
+ '@types/responselike@1.0.3':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/retry@0.12.0:
- resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
- dev: false
+ '@types/retry@0.12.0': {}
- /@types/sax@1.2.7:
- resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
+ '@types/sax@1.2.7':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/scheduler@0.16.8:
- resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
- dev: false
+ '@types/scrypt-async@1.3.5': {}
- /@types/scrypt-async@1.3.5:
- resolution: {integrity: sha512-WprBpDhqq8DemGI0QepdcLdfTfOuAgD85A0hz8PljDFlalRbnZ1Puy1qC8x8CoAzr5Ugnyerbu+mNQ4jk9dg/w==}
- dev: false
-
- /@types/seedrandom@2.4.34:
- resolution: {integrity: sha512-ytDiArvrn/3Xk6/vtylys5tlY6eo7Ane0hvcx++TKo6RxQXuVfW0AF/oeWqAj9dN29SyhtawuXstgmPlwNcv/A==}
- dev: false
+ '@types/seedrandom@2.4.34': {}
- /@types/seedrandom@3.0.8:
- resolution: {integrity: sha512-TY1eezMU2zH2ozQoAFAQFOPpvP15g+ZgSfTZt31AUUH/Rxtnz3H+A/Sv1Snw2/amp//omibc+AEkTaA8KUeOLQ==}
- dev: false
+ '@types/seedrandom@3.0.8': {}
- /@types/semver@7.5.8:
- resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
- dev: false
+ '@types/semver@7.7.0': {}
- /@types/send@0.17.4:
- resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
+ '@types/send@0.17.4':
dependencies:
'@types/mime': 1.3.5
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
- /@types/serve-index@1.9.4:
- resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==}
+ '@types/serve-index@1.9.4':
dependencies:
'@types/express': 4.17.21
- dev: false
- /@types/serve-static@1.15.5:
- resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==}
+ '@types/serve-static@1.15.7':
dependencies:
'@types/http-errors': 2.0.4
- '@types/mime': 2.0.3
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
+ '@types/send': 0.17.4
- /@types/shelljs@0.8.15:
- resolution: {integrity: sha512-vzmnCHl6hViPu9GNLQJ+DZFd6BQI2DBTUeOvYHqkWQLMfKAAQYMb/xAmZkTogZI/vqXHCWkqDRymDI5p0QTi5Q==}
+ '@types/shelljs@0.8.15':
dependencies:
'@types/glob': 7.2.0
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/shimmer@1.0.5:
- resolution: {integrity: sha512-9Hp0ObzwwO57DpLFF0InUjUm/II8GmKAvzbefxQTihCb7KI6yc9yzf0nLc4mVdby5N4DRCgQM2wCup9KTieeww==}
- dev: false
+ '@types/shimmer@1.2.0': {}
- /@types/sockjs@0.3.36:
- resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
+ '@types/sockjs@0.3.36':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/sshpk@1.17.4:
- resolution: {integrity: sha512-5gI/7eJn6wmkuIuFY8JZJ1g5b30H9K5U5vKrvOuYu+hoZLb2xcVEgxhYZ2Vhbs0w/ACyzyfkJq0hQtBfSCugjw==}
+ '@types/sshpk@1.17.4':
dependencies:
'@types/asn1': 0.2.4
- '@types/node': 18.19.3
- dev: true
+ '@types/node': 18.19.98
- /@types/stack-utils@2.0.3:
- resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
+ '@types/stack-utils@2.0.3': {}
- /@types/stripe-v3@3.1.32:
- resolution: {integrity: sha512-apFOWwf8CDNNtLuD9r+yPxW4NfK7rSUlpOTyoAZ7ZUHNGuMtmW4HbRFxsCJEQdVm9ZY3nf/w/GdYaqYlaS4nTg==}
- dev: true
+ '@types/stripe-v3@3.1.33': {}
- /@types/svgo@2.6.4:
- resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==}
+ '@types/svgo@2.6.4':
dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@types/node': 18.19.98
- /@types/tedious@4.0.14:
- resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==}
+ '@types/tedious@4.0.14':
dependencies:
- '@types/node': 18.19.3
- dev: false
+ '@types/node': 18.19.98
- /@types/three@0.140.0:
- resolution: {integrity: sha512-YPJLSIY6uKUOp1k6BZYDq5GtEIdhfeK04UCbc9IPAVbdn/RNjkfrbnyd7smrsNkJhc0IFASLpd3AAYgwqgXKVQ==}
- dev: true
+ '@types/three@0.140.0': {}
- /@types/through@0.0.33:
- resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==}
+ '@types/through@0.0.33':
dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@types/node': 18.19.98
- /@types/tmp@0.2.6:
- resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==}
- dev: false
+ '@types/tmp@0.2.6': {}
- /@types/tough-cookie@4.0.5:
- resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
- dev: true
+ '@types/tough-cookie@4.0.5': {}
- /@types/trusted-types@2.0.7:
- resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
- dev: true
+ '@types/trusted-types@2.0.7': {}
- /@types/ungap__structured-clone@0.3.3:
- resolution: {integrity: sha512-RNmhIPwoip6K/zZOv3ypksTAqaqLEXvlNSXKyrC93xMSOAHZCR7PifW6xKZCwkbbnbM9dwB9X56PPoNTlNwEqw==}
- dev: true
+ '@types/ungap__structured-clone@1.2.0': {}
- /@types/unist@2.0.10:
- resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
- dev: false
+ '@types/unist@2.0.11': {}
- /@types/unist@3.0.2:
- resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
+ '@types/unist@3.0.3': {}
- /@types/uuid@10.0.0:
- resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==}
+ '@types/uuid@10.0.0': {}
- /@types/vue-color@2.4.8:
- resolution: {integrity: sha512-pj6wCAKTdbkwQ2LSyE5pnvmMrl4Ep1OI5M3ZkkeBG2s8/LFEjz9YbuZ3BfBQsumI89HqHHwWoEgu8HfnVbnOnw==}
+ '@types/uuid@9.0.8': {}
+
+ '@types/vue-color@2.4.8':
dependencies:
- vue: 2.7.15
- dev: true
+ vue: 2.7.16
- /@types/web-push@3.6.3:
- resolution: {integrity: sha512-v3oT4mMJsHeJ/rraliZ+7TbZtr5bQQuxcgD7C3/1q/zkAj29c8RE0F9lVZVu3hiQe5Z9fYcBreV7TLnfKR+4mg==}
+ '@types/web-push@3.6.4':
dependencies:
- '@types/node': 18.19.3
- dev: true
+ '@types/node': 18.19.98
- /@types/webgl-ext@0.0.30:
- resolution: {integrity: sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==}
- dev: false
+ '@types/webgl-ext@0.0.30': {}
- /@types/ws@8.5.12:
- resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==}
+ '@types/ws@8.18.1':
dependencies:
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
- /@types/yargs-parser@21.0.3:
- resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+ '@types/yargs-parser@21.0.3': {}
- /@types/yargs@16.0.9:
- resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==}
+ '@types/yargs@16.0.9':
dependencies:
'@types/yargs-parser': 21.0.3
- dev: false
- /@types/yargs@17.0.32:
- resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==}
+ '@types/yargs@17.0.33':
dependencies:
'@types/yargs-parser': 21.0.3
- /@typescript-eslint/eslint-plugin@8.26.1(@typescript-eslint/parser@8.26.1)(eslint@9.22.0)(typescript@5.3.3):
- resolution: {integrity: sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- 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-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.26.1(eslint@9.22.0)(typescript@5.3.3)
- '@typescript-eslint/scope-manager': 8.26.1
- '@typescript-eslint/type-utils': 8.26.1(eslint@9.22.0)(typescript@5.3.3)
- '@typescript-eslint/utils': 8.26.1(eslint@9.22.0)(typescript@5.3.3)
- '@typescript-eslint/visitor-keys': 8.26.1
- eslint: 9.22.0
+ '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)
+ '@typescript-eslint/scope-manager': 8.32.0
+ '@typescript-eslint/type-utils': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)
+ '@typescript-eslint/visitor-keys': 8.32.0
+ eslint: 9.26.0(jiti@2.5.1)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
- ts-api-utils: 2.0.1(typescript@5.3.3)
- typescript: 5.3.3
+ ts-api-utils: 2.1.0(typescript@5.8.3)
+ typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/parser@8.26.1(eslint@9.22.0)(typescript@5.3.3):
- resolution: {integrity: sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.9.0'
+ '@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.26.1
- '@typescript-eslint/types': 8.26.1
- '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.3.3)
- '@typescript-eslint/visitor-keys': 8.26.1
+ '@typescript-eslint/scope-manager': 8.32.0
+ '@typescript-eslint/types': 8.32.0
+ '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3)
+ '@typescript-eslint/visitor-keys': 8.32.0
debug: 4.4.0
- eslint: 9.22.0
- typescript: 5.3.3
+ eslint: 9.26.0(jiti@2.5.1)
+ typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/scope-manager@8.26.1:
- resolution: {integrity: sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/scope-manager@8.32.0':
dependencies:
- '@typescript-eslint/types': 8.26.1
- '@typescript-eslint/visitor-keys': 8.26.1
- dev: true
+ '@typescript-eslint/types': 8.32.0
+ '@typescript-eslint/visitor-keys': 8.32.0
- /@typescript-eslint/type-utils@8.26.1(eslint@9.22.0)(typescript@5.3.3):
- resolution: {integrity: sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.9.0'
+ '@typescript-eslint/type-utils@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.3.3)
- '@typescript-eslint/utils': 8.26.1(eslint@9.22.0)(typescript@5.3.3)
+ '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)
debug: 4.4.0
- eslint: 9.22.0
- ts-api-utils: 2.0.1(typescript@5.3.3)
- typescript: 5.3.3
+ eslint: 9.26.0(jiti@2.5.1)
+ ts-api-utils: 2.1.0(typescript@5.8.3)
+ typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/types@8.26.1:
- resolution: {integrity: sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- dev: true
+ '@typescript-eslint/types@8.32.0': {}
- /@typescript-eslint/typescript-estree@8.26.1(typescript@5.3.3):
- resolution: {integrity: sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <5.9.0'
+ '@typescript-eslint/typescript-estree@8.32.0(typescript@5.8.3)':
dependencies:
- '@typescript-eslint/types': 8.26.1
- '@typescript-eslint/visitor-keys': 8.26.1
+ '@typescript-eslint/types': 8.32.0
+ '@typescript-eslint/visitor-keys': 8.32.0
debug: 4.4.0
- fast-glob: 3.3.2
+ fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
- semver: 7.6.3
- ts-api-utils: 2.0.1(typescript@5.3.3)
- typescript: 5.3.3
+ semver: 7.7.1
+ ts-api-utils: 2.1.0(typescript@5.8.3)
+ typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/utils@8.26.1(eslint@9.22.0)(typescript@5.3.3):
- resolution: {integrity: sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.9.0'
+ '@typescript-eslint/utils@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.5.1(eslint@9.22.0)
- '@typescript-eslint/scope-manager': 8.26.1
- '@typescript-eslint/types': 8.26.1
- '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.3.3)
- eslint: 9.22.0
- typescript: 5.3.3
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.5.1))
+ '@typescript-eslint/scope-manager': 8.32.0
+ '@typescript-eslint/types': 8.32.0
+ '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3)
+ eslint: 9.26.0(jiti@2.5.1)
+ typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/visitor-keys@8.26.1:
- resolution: {integrity: sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/visitor-keys@8.32.0':
dependencies:
- '@typescript-eslint/types': 8.26.1
+ '@typescript-eslint/types': 8.32.0
eslint-visitor-keys: 4.2.0
- dev: true
- /@ungap/structured-clone@1.2.0:
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ '@ungap/structured-clone@1.3.0': {}
- /@uriopass/nosleep.js@0.12.2:
- resolution: {integrity: sha512-aMrhyZ/pO1L0EGxI3EaQhijKDi2LZd++FtrHQItP5+lVSRD3EpwaXlDoBvCBCO9+U1E6gOxo400OC79yRHzR/A==}
- dev: false
+ '@unrs/resolver-binding-android-arm-eabi@1.11.1':
+ optional: true
- /@vitejs/plugin-basic-ssl@1.1.0(vite@5.4.10):
- resolution: {integrity: sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==}
- engines: {node: '>=14.6.0'}
- peerDependencies:
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+ '@unrs/resolver-binding-android-arm64@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-darwin-arm64@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-darwin-x64@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-freebsd-x64@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-arm64-gnu@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-arm64-musl@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-x64-gnu@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-linux-x64-musl@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-wasm32-wasi@1.11.1':
dependencies:
- vite: 5.4.10(@types/node@18.19.3)(sass@1.56.1)
- dev: true
+ '@napi-rs/wasm-runtime': 0.2.12
+ optional: true
- /@vitejs/plugin-vue2@2.3.1(vite@5.4.10)(vue@2.7.15):
- resolution: {integrity: sha512-/ksaaz2SRLN11JQhLdEUhDzOn909WEk99q9t9w+N12GjQCljzv7GyvAbD/p20aBUjHkvpGOoQ+FCOkG+mjDF4A==}
- engines: {node: ^14.18.0 || >= 16.0.0}
- peerDependencies:
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0
- vue: ^2.7.0-0
+ '@unrs/resolver-binding-win32-arm64-msvc@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-win32-ia32-msvc@1.11.1':
+ optional: true
+
+ '@unrs/resolver-binding-win32-x64-msvc@1.11.1':
+ optional: true
+
+ '@uriopass/nosleep.js@0.12.2': {}
+
+ '@vitejs/plugin-basic-ssl@1.1.0(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0))':
dependencies:
- vite: 5.4.10(@types/node@18.19.3)(sass@1.56.1)
- vue: 2.7.15
- dev: true
+ vite: 5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)
- /@vue/compiler-core@3.3.4:
- resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==}
+ '@vitejs/plugin-vue2@2.3.1(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0))(vue@2.7.16)':
+ dependencies:
+ vite: 5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)
+ vue: 2.7.16
+
+ '@vue/compiler-core@3.3.4':
dependencies:
- '@babel/parser': 7.23.5
+ '@babel/parser': 7.27.2
'@vue/shared': 3.3.4
estree-walker: 2.0.2
- source-map-js: 1.0.2
- dev: false
+ source-map-js: 1.2.1
- /@vue/compiler-dom@3.3.4:
- resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==}
+ '@vue/compiler-dom@3.3.4':
dependencies:
'@vue/compiler-core': 3.3.4
'@vue/shared': 3.3.4
- dev: false
- /@vue/compiler-sfc@2.7.15:
- resolution: {integrity: sha512-FCvIEevPmgCgqFBH7wD+3B97y7u7oj/Wr69zADBf403Tui377bThTjBvekaZvlRr4IwUAu3M6hYZeULZFJbdYg==}
+ '@vue/compiler-sfc@2.7.16':
dependencies:
- '@babel/parser': 7.23.5
- postcss: 8.4.32
+ '@babel/parser': 7.27.2
+ postcss: 8.5.3
source-map: 0.6.1
+ optionalDependencies:
+ prettier: 2.8.8
- /@vue/compiler-sfc@3.3.4:
- resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==}
+ '@vue/compiler-sfc@3.3.4':
dependencies:
- '@babel/parser': 7.23.5
+ '@babel/parser': 7.27.2
'@vue/compiler-core': 3.3.4
'@vue/compiler-dom': 3.3.4
'@vue/compiler-ssr': 3.3.4
'@vue/reactivity-transform': 3.3.4
'@vue/shared': 3.3.4
estree-walker: 2.0.2
- magic-string: 0.30.5
- postcss: 8.4.32
- source-map-js: 1.0.2
- dev: false
+ magic-string: 0.30.17
+ postcss: 8.5.3
+ source-map-js: 1.2.1
- /@vue/compiler-ssr@3.3.4:
- resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==}
+ '@vue/compiler-ssr@3.3.4':
dependencies:
'@vue/compiler-dom': 3.3.4
'@vue/shared': 3.3.4
- dev: false
- /@vue/reactivity-transform@3.3.4:
- resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==}
+ '@vue/reactivity-transform@3.3.4':
dependencies:
- '@babel/parser': 7.23.5
+ '@babel/parser': 7.27.2
'@vue/compiler-core': 3.3.4
'@vue/shared': 3.3.4
estree-walker: 2.0.2
- magic-string: 0.30.5
- dev: false
+ magic-string: 0.30.17
- /@vue/reactivity@3.3.4:
- resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==}
+ '@vue/reactivity@3.3.4':
dependencies:
'@vue/shared': 3.3.4
- dev: false
- /@vue/runtime-core@3.3.4:
- resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==}
+ '@vue/runtime-core@3.3.4':
dependencies:
'@vue/reactivity': 3.3.4
'@vue/shared': 3.3.4
- dev: false
- /@vue/runtime-dom@3.3.4:
- resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==}
+ '@vue/runtime-dom@3.3.4':
dependencies:
'@vue/runtime-core': 3.3.4
'@vue/shared': 3.3.4
csstype: 3.1.3
- dev: false
- /@vue/server-renderer@3.3.4(vue@3.3.4):
- resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==}
- peerDependencies:
- vue: 3.3.4
+ '@vue/server-renderer@3.3.4(vue@3.3.4)':
dependencies:
'@vue/compiler-ssr': 3.3.4
'@vue/shared': 3.3.4
vue: 3.3.4
- dev: false
- /@vue/shared@3.3.4:
- resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==}
- dev: false
+ '@vue/shared@3.3.4': {}
- /@webassemblyjs/ast@1.11.6:
- resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==}
+ '@webassemblyjs/ast@1.14.1':
dependencies:
- '@webassemblyjs/helper-numbers': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- dev: false
+ '@webassemblyjs/helper-numbers': 1.13.2
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
- /@webassemblyjs/floating-point-hex-parser@1.11.6:
- resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
- dev: false
+ '@webassemblyjs/floating-point-hex-parser@1.13.2': {}
- /@webassemblyjs/helper-api-error@1.11.6:
- resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
- dev: false
+ '@webassemblyjs/helper-api-error@1.13.2': {}
- /@webassemblyjs/helper-buffer@1.11.6:
- resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==}
- dev: false
+ '@webassemblyjs/helper-buffer@1.14.1': {}
- /@webassemblyjs/helper-numbers@1.11.6:
- resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
+ '@webassemblyjs/helper-numbers@1.13.2':
dependencies:
- '@webassemblyjs/floating-point-hex-parser': 1.11.6
- '@webassemblyjs/helper-api-error': 1.11.6
+ '@webassemblyjs/floating-point-hex-parser': 1.13.2
+ '@webassemblyjs/helper-api-error': 1.13.2
'@xtuc/long': 4.2.2
- dev: false
- /@webassemblyjs/helper-wasm-bytecode@1.11.6:
- resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
- dev: false
+ '@webassemblyjs/helper-wasm-bytecode@1.13.2': {}
- /@webassemblyjs/helper-wasm-section@1.11.6:
- resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==}
+ '@webassemblyjs/helper-wasm-section@1.14.1':
dependencies:
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/helper-buffer': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/wasm-gen': 1.11.6
- dev: false
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/wasm-gen': 1.14.1
- /@webassemblyjs/ieee754@1.11.6:
- resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
+ '@webassemblyjs/ieee754@1.13.2':
dependencies:
'@xtuc/ieee754': 1.2.0
- dev: false
- /@webassemblyjs/leb128@1.11.6:
- resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
+ '@webassemblyjs/leb128@1.13.2':
dependencies:
'@xtuc/long': 4.2.2
- dev: false
-
- /@webassemblyjs/utf8@1.11.6:
- resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
- dev: false
-
- /@webassemblyjs/wasm-edit@1.11.6:
- resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==}
- dependencies:
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/helper-buffer': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/helper-wasm-section': 1.11.6
- '@webassemblyjs/wasm-gen': 1.11.6
- '@webassemblyjs/wasm-opt': 1.11.6
- '@webassemblyjs/wasm-parser': 1.11.6
- '@webassemblyjs/wast-printer': 1.11.6
- dev: false
-
- /@webassemblyjs/wasm-gen@1.11.6:
- resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==}
- dependencies:
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/ieee754': 1.11.6
- '@webassemblyjs/leb128': 1.11.6
- '@webassemblyjs/utf8': 1.11.6
- dev: false
-
- /@webassemblyjs/wasm-opt@1.11.6:
- resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==}
- dependencies:
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/helper-buffer': 1.11.6
- '@webassemblyjs/wasm-gen': 1.11.6
- '@webassemblyjs/wasm-parser': 1.11.6
- dev: false
-
- /@webassemblyjs/wasm-parser@1.11.6:
- resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==}
- dependencies:
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/helper-api-error': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/ieee754': 1.11.6
- '@webassemblyjs/leb128': 1.11.6
- '@webassemblyjs/utf8': 1.11.6
- dev: false
-
- /@webassemblyjs/wast-printer@1.11.6:
- resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==}
- dependencies:
- '@webassemblyjs/ast': 1.11.6
+
+ '@webassemblyjs/utf8@1.13.2': {}
+
+ '@webassemblyjs/wasm-edit@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/helper-wasm-section': 1.14.1
+ '@webassemblyjs/wasm-gen': 1.14.1
+ '@webassemblyjs/wasm-opt': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ '@webassemblyjs/wast-printer': 1.14.1
+
+ '@webassemblyjs/wasm-gen@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/ieee754': 1.13.2
+ '@webassemblyjs/leb128': 1.13.2
+ '@webassemblyjs/utf8': 1.13.2
+
+ '@webassemblyjs/wasm-opt@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-buffer': 1.14.1
+ '@webassemblyjs/wasm-gen': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+
+ '@webassemblyjs/wasm-parser@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/helper-api-error': 1.13.2
+ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
+ '@webassemblyjs/ieee754': 1.13.2
+ '@webassemblyjs/leb128': 1.13.2
+ '@webassemblyjs/utf8': 1.13.2
+
+ '@webassemblyjs/wast-printer@1.14.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.14.1
'@xtuc/long': 4.2.2
- dev: false
- /@webgpu/types@0.1.21:
- resolution: {integrity: sha512-pUrWq3V5PiSGFLeLxoGqReTZmiiXwY3jRkIG5sLLKjyqNxrwm/04b4nw7LSmGWJcKk59XOM/YRTUwOzo4MMlow==}
- dev: false
+ '@webgpu/types@0.1.21': {}
- /@webxr-input-profiles/assets@1.0.14:
- resolution: {integrity: sha512-I+uDi9W1pRAnyqVi+MsB+xgeuWP94m1LFn5ij8BroVFCJDnpiWqJp6aw0Rp6ZLuQ1gXJrBxL7bAwk2Qto/7sog==}
- dev: false
+ '@webxr-input-profiles/assets@1.0.14': {}
- /@webxr-input-profiles/motion-controllers@1.0.0:
- resolution: {integrity: sha512-Ppxde+G1/QZbU8ShCQg+eq5VtlcL/FPkerF1dkDOLlIml0LJD1tFqnCZYR0SrHzYleIQ2siRnOx7xbFLaCpExQ==}
- dev: false
+ '@webxr-input-profiles/motion-controllers@1.0.0': {}
- /@xtuc/ieee754@1.2.0:
- resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
- dev: false
+ '@xtuc/ieee754@1.2.0': {}
- /@xtuc/long@4.2.2:
- resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
- dev: false
+ '@xtuc/long@4.2.2': {}
- /@yarnpkg/lockfile@1.1.0:
- resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==}
- dev: true
+ '@yarnpkg/lockfile@1.1.0': {}
- /@yarnpkg/parsers@3.0.0-rc.46:
- resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==}
- engines: {node: '>=14.15.0'}
+ '@yarnpkg/parsers@3.0.0-rc.46':
dependencies:
js-yaml: 3.14.1
- tslib: 2.8.0
- dev: true
+ tslib: 2.8.1
- /@zkochan/js-yaml@0.0.6:
- resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==}
- hasBin: true
+ '@zip.js/zip.js@2.6.40': {}
+
+ '@zkochan/js-yaml@0.0.6':
dependencies:
argparse: 2.0.1
- dev: true
- /@zxing/text-encoding@0.9.0:
- resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==}
- requiresBuild: true
- dev: false
+ '@zxing/text-encoding@0.9.0':
optional: true
- /JSONStream@1.3.5:
- resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
- hasBin: true
+ JSONStream@1.3.5:
dependencies:
jsonparse: 1.3.1
through: 2.3.8
- dev: true
-
- /abab@2.0.6:
- resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
- deprecated: Use your platform's native atob() and btoa() methods instead
- dev: true
- /abbrev@1.1.1:
- resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
- dev: true
+ abbrev@1.1.1: {}
- /abbrev@2.0.0:
- resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: false
+ abbrev@2.0.0: {}
- /abort-controller@3.0.0:
- resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
- engines: {node: '>=6.5'}
+ abort-controller@3.0.0:
dependencies:
event-target-shim: 5.0.1
- dev: false
- /accepts@1.3.8:
- resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
- engines: {node: '>= 0.6'}
+ accepts@1.3.8:
dependencies:
mime-types: 2.1.35
negotiator: 0.6.3
- dev: false
-
- /acorn-globals@7.0.1:
- resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==}
- dependencies:
- acorn: 8.11.3
- acorn-walk: 8.3.1
- dev: true
- /acorn-import-assertions@1.9.0(acorn@8.11.3):
- resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
- peerDependencies:
- acorn: ^8
+ accepts@2.0.0:
dependencies:
- acorn: 8.11.3
- dev: false
+ mime-types: 3.0.1
+ negotiator: 1.0.0
- /acorn-import-attributes@1.9.5(acorn@8.11.3):
- resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
- peerDependencies:
- acorn: ^8
+ acorn-import-attributes@1.9.5(acorn@8.14.1):
dependencies:
- acorn: 8.11.3
- dev: false
+ acorn: 8.14.1
- /acorn-jsx@5.3.2(acorn@8.11.3):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ acorn-jsx@5.3.2(acorn@8.11.3):
dependencies:
acorn: 8.11.3
- dev: false
- /acorn-jsx@5.3.2(acorn@8.14.1):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ acorn-jsx@5.3.2(acorn@8.14.1):
dependencies:
acorn: 8.14.1
- /acorn-node@1.8.2:
- resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
+ acorn-node@1.8.2:
dependencies:
acorn: 7.4.1
acorn-walk: 7.2.0
xtend: 4.0.2
- dev: true
- /acorn-typescript@1.4.13(patch_hash=6c2dd2yvtei2d4lpomumi2s22q)(acorn@8.11.3):
- resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==}
- peerDependencies:
- acorn: '>=8.9.0'
+ acorn-typescript@1.4.13(patch_hash=e33eda9c7cfd22b7e4812106f09b26f342e947fb663155be1f12c5323f7a10f3)(acorn@8.11.3):
dependencies:
acorn: 8.11.3
- dev: false
- patched: true
-
- /acorn-walk@7.2.0:
- resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
- engines: {node: '>=0.4.0'}
- dev: true
- /acorn-walk@8.3.1:
- resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==}
- engines: {node: '>=0.4.0'}
+ acorn-walk@7.2.0: {}
- /acorn@7.4.1:
- resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
- engines: {node: '>=0.4.0'}
- hasBin: true
- dev: true
+ acorn-walk@8.3.4:
+ dependencies:
+ acorn: 8.11.3
- /acorn@8.11.3:
- resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
+ acorn@7.4.1: {}
- /acorn@8.14.1:
- resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
+ acorn@8.11.3: {}
- /add-stream@1.0.0:
- resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==}
- dev: true
+ acorn@8.14.1: {}
- /address@1.2.2:
- resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
- engines: {node: '>= 10.0.0'}
- dev: false
+ add-stream@1.0.0: {}
- /adm-zip@0.4.16:
- resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==}
- engines: {node: '>=0.3.0'}
- dev: false
+ address@1.2.2: {}
- /agent-base@6.0.2:
- resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
- engines: {node: '>= 6.0.0'}
- dependencies:
- debug: 4.4.0
- transitivePeerDependencies:
- - supports-color
- dev: true
+ adm-zip@0.4.16: {}
- /agent-base@7.1.1:
- resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
- engines: {node: '>= 14'}
+ agent-base@6.0.2:
dependencies:
debug: 4.4.0
transitivePeerDependencies:
- supports-color
- /agentkeepalive@4.5.0:
- resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==}
- engines: {node: '>= 8.0.0'}
+ agent-base@7.1.3: {}
+
+ agentkeepalive@4.6.0:
dependencies:
humanize-ms: 1.2.1
- /aggregate-error@3.1.0:
- resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
- engines: {node: '>=8'}
+ aggregate-error@3.1.0:
dependencies:
clean-stack: 2.2.0
indent-string: 4.0.0
- /aggregate-error@4.0.1:
- resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==}
- engines: {node: '>=12'}
+ aggregate-error@4.0.1:
dependencies:
clean-stack: 4.2.0
indent-string: 5.0.0
- dev: true
- /ajv-formats@2.1.1(ajv@8.12.0):
- resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
- peerDependencies:
- ajv: ^8.0.0
- peerDependenciesMeta:
- ajv:
- optional: true
- dependencies:
- ajv: 8.12.0
- dev: false
+ ajv-formats@2.1.1(ajv@8.17.1):
+ optionalDependencies:
+ ajv: 8.17.1
- /ajv-keywords@3.5.2(ajv@6.12.6):
- resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
- peerDependencies:
- ajv: ^6.9.1
+ ajv-keywords@3.5.2(ajv@6.12.6):
dependencies:
ajv: 6.12.6
- /ajv-keywords@5.1.0(ajv@8.12.0):
- resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
- peerDependencies:
- ajv: ^8.8.2
+ ajv-keywords@5.1.0(ajv@8.17.1):
dependencies:
- ajv: 8.12.0
+ ajv: 8.17.1
fast-deep-equal: 3.1.3
- dev: false
- /ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
fast-json-stable-stringify: 2.1.0
json-schema-traverse: 0.4.1
uri-js: 4.4.1
- /ajv@8.12.0:
- resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
+ ajv@8.17.1:
dependencies:
fast-deep-equal: 3.1.3
+ fast-uri: 3.0.6
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- uri-js: 4.4.1
- /algoliasearch-helper@3.16.0(algoliasearch@4.21.0):
- resolution: {integrity: sha512-RxOtBafSQwyqD5BLO/q9VsVw/zuNz8kjb51OZhCIWLr33uvKB+vrRis+QK+JFlNQXbXf+w28fsTWiBupc1pHew==}
- peerDependencies:
- algoliasearch: '>= 3.1 < 6'
+ algoliasearch-helper@3.25.0(algoliasearch@4.24.0):
dependencies:
'@algolia/events': 4.0.1
- algoliasearch: 4.21.0
- dev: false
-
- /algoliasearch@4.21.0:
- resolution: {integrity: sha512-ZBxnjyb8m7G5dHe2x42OLKJw4f7coOuHEgPdQ8/Y7flZS+1niIaVc2wx+CEmJEIFdyhCLvQo8+EY7CDSydb1Xw==}
- dependencies:
- '@algolia/cache-browser-local-storage': 4.21.0
- '@algolia/cache-common': 4.21.0
- '@algolia/cache-in-memory': 4.21.0
- '@algolia/client-account': 4.21.0
- '@algolia/client-analytics': 4.21.0
- '@algolia/client-common': 4.21.0
- '@algolia/client-personalization': 4.21.0
- '@algolia/client-search': 4.21.0
- '@algolia/logger-common': 4.21.0
- '@algolia/logger-console': 4.21.0
- '@algolia/requester-browser-xhr': 4.21.0
- '@algolia/requester-common': 4.21.0
- '@algolia/requester-node-http': 4.21.0
- '@algolia/transporter': 4.21.0
- dev: false
-
- /ansi-align@3.0.1:
- resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+ algoliasearch: 4.24.0
+
+ algoliasearch@4.24.0:
+ dependencies:
+ '@algolia/cache-browser-local-storage': 4.24.0
+ '@algolia/cache-common': 4.24.0
+ '@algolia/cache-in-memory': 4.24.0
+ '@algolia/client-account': 4.24.0
+ '@algolia/client-analytics': 4.24.0
+ '@algolia/client-common': 4.24.0
+ '@algolia/client-personalization': 4.24.0
+ '@algolia/client-search': 4.24.0
+ '@algolia/logger-common': 4.24.0
+ '@algolia/logger-console': 4.24.0
+ '@algolia/recommend': 4.24.0
+ '@algolia/requester-browser-xhr': 4.24.0
+ '@algolia/requester-common': 4.24.0
+ '@algolia/requester-node-http': 4.24.0
+ '@algolia/transporter': 4.24.0
+
+ algoliasearch@5.24.0:
+ dependencies:
+ '@algolia/client-abtesting': 5.24.0
+ '@algolia/client-analytics': 5.24.0
+ '@algolia/client-common': 5.24.0
+ '@algolia/client-insights': 5.24.0
+ '@algolia/client-personalization': 5.24.0
+ '@algolia/client-query-suggestions': 5.24.0
+ '@algolia/client-search': 5.24.0
+ '@algolia/ingestion': 1.24.0
+ '@algolia/monitoring': 1.24.0
+ '@algolia/recommend': 5.24.0
+ '@algolia/requester-browser-xhr': 5.24.0
+ '@algolia/requester-fetch': 5.24.0
+ '@algolia/requester-node-http': 5.24.0
+
+ ansi-align@3.0.1:
dependencies:
string-width: 4.2.3
- dev: false
- /ansi-colors@4.1.3:
- resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
- engines: {node: '>=6'}
- dev: true
+ ansi-colors@4.1.3: {}
- /ansi-escapes@4.3.2:
- resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
- engines: {node: '>=8'}
+ ansi-escapes@4.3.2:
dependencies:
type-fest: 0.21.3
- dev: true
- /ansi-escapes@7.0.0:
- resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
- engines: {node: '>=18'}
+ ansi-escapes@7.0.0:
dependencies:
environment: 1.1.0
- dev: true
- /ansi-html-community@0.0.8:
- resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
- engines: {'0': node >= 0.8.0}
- hasBin: true
- dev: false
+ ansi-html-community@0.0.8: {}
- /ansi-regex@2.1.1:
- resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ ansi-regex@2.1.1: {}
- /ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
+ ansi-regex@5.0.1: {}
- /ansi-regex@6.0.1:
- resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
- engines: {node: '>=12'}
+ ansi-regex@6.1.0: {}
- /ansi-sequence-parser@1.1.1:
- resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==}
- dev: false
+ ansi-sequence-parser@1.1.3: {}
- /ansi-styles@2.2.1:
- resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ ansi-styles@2.2.1: {}
- /ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
+ ansi-styles@3.2.1:
dependencies:
color-convert: 1.9.3
- /ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
+ ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
- /ansi-styles@5.2.0:
- resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
- engines: {node: '>=10'}
+ ansi-styles@5.2.0: {}
- /ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
+ ansi-styles@6.2.1: {}
- /anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
+ anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
picomatch: 2.3.1
- /aproba@2.0.0:
- resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
- dev: true
+ aproba@2.0.0: {}
- /are-we-there-yet@3.0.1:
- resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ are-we-there-yet@3.0.1:
dependencies:
delegates: 1.0.0
readable-stream: 3.6.2
- dev: true
- /arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
- dev: false
+ arg@5.0.2: {}
- /argparse@1.0.10:
- resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+ argparse@1.0.10:
dependencies:
sprintf-js: 1.0.3
- /argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ argparse@2.0.1: {}
- /array-buffer-byte-length@1.0.0:
- resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
+ array-buffer-byte-length@1.0.2:
dependencies:
- call-bind: 1.0.7
- is-array-buffer: 3.0.2
- dev: true
-
- /array-differ@3.0.0:
- resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==}
- engines: {node: '>=8'}
- dev: true
+ call-bound: 1.0.4
+ is-array-buffer: 3.0.5
- /array-flatten@1.1.1:
- resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
- dev: false
+ array-differ@3.0.0: {}
- /array-flatten@2.1.2:
- resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==}
- dev: false
+ array-flatten@1.1.1: {}
- /array-ify@1.0.0:
- resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
- dev: true
+ array-ify@1.0.0: {}
- /array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
+ array-union@2.1.0: {}
- /arraybuffer.prototype.slice@1.0.2:
- resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==}
- engines: {node: '>= 0.4'}
+ arraybuffer.prototype.slice@1.0.4:
dependencies:
- array-buffer-byte-length: 1.0.0
- call-bind: 1.0.7
+ array-buffer-byte-length: 1.0.2
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.22.3
- get-intrinsic: 1.2.4
- is-array-buffer: 3.0.2
- is-shared-array-buffer: 1.0.2
- dev: true
+ es-abstract: 1.23.9
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ is-array-buffer: 3.0.5
- /arrify@1.0.1:
- resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ arrify@1.0.1: {}
- /arrify@2.0.1:
- resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==}
- engines: {node: '>=8'}
- dev: true
+ arrify@2.0.1: {}
- /asn1.js@5.4.1:
- resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==}
+ asn1.js@4.10.1:
dependencies:
- bn.js: 4.12.0
+ bn.js: 4.12.2
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+
+ asn1.js@5.4.1:
+ dependencies:
+ bn.js: 4.12.2
inherits: 2.0.4
minimalistic-assert: 1.0.1
safer-buffer: 2.1.2
- /asn1@0.2.6:
- resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
+ asn1@0.2.6:
dependencies:
safer-buffer: 2.1.2
- dev: false
- /asn1js@3.0.5:
- resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==}
- engines: {node: '>=12.0.0'}
+ asn1js@3.0.6:
dependencies:
- pvtsutils: 1.3.5
+ pvtsutils: 1.3.6
pvutils: 1.1.3
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /assert-plus@1.0.0:
- resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
- engines: {node: '>=0.8'}
- dev: false
+ assert-plus@1.0.0: {}
- /assert@1.5.1:
- resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==}
+ assert@1.5.1:
dependencies:
- object.assign: 4.1.5
+ object.assign: 4.1.7
util: 0.10.4
- dev: true
- /assertion-error@1.1.0:
- resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
- dev: true
+ assertion-error@1.1.0: {}
- /astring@1.7.5:
- resolution: {integrity: sha512-lobf6RWXb8c4uZ7Mdq0U12efYmpD1UFnyOWVJPTa3ukqZrMopav+2hdNu0hgBF0JIBFK9QgrBDfwYvh3DFJDAA==}
- hasBin: true
- dev: false
+ astring@1.7.5: {}
- /astring@1.8.6:
- resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==}
- hasBin: true
- dev: false
+ astring@1.9.0: {}
- /async@2.6.4:
- resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==}
- dependencies:
- lodash: 4.17.21
- dev: true
+ async-function@1.0.0: {}
- /async@3.2.5:
- resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
+ async@3.2.6: {}
- /asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ asynckit@0.4.0: {}
- /at-least-node@1.0.0:
- resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
- engines: {node: '>= 4.0.0'}
+ at-least-node@1.0.0: {}
- /atob-lite@2.0.0:
- resolution: {integrity: sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==}
- dev: false
+ atob-lite@2.0.0: {}
- /atomically@2.0.2:
- resolution: {integrity: sha512-Xfmb4q5QV7uqTlVdMSTtO5eF4DCHfNOdaPyKlbFShkzeNP+3lj3yjjcbdjSmEY4+pDBKJ9g26aP+ImTe88UHoQ==}
+ atomically@2.0.3:
dependencies:
stubborn-fs: 1.2.5
- when-exit: 2.1.2
- dev: false
+ when-exit: 2.1.4
- /autobind-decorator@2.4.0:
- resolution: {integrity: sha512-OGYhWUO72V6DafbF8PM8rm3EPbfuyMZcJhtm5/n26IDwO18pohE4eNazLoCGhPiXOCD0gEGmrbU3849QvM8bbw==}
- engines: {node: '>=8.10', npm: '>=6.4.1'}
- dev: false
+ autobind-decorator@2.4.0: {}
- /autoprefixer@10.4.16(postcss@8.4.47):
- resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
+ autoprefixer@10.4.21(postcss@8.5.3):
dependencies:
- browserslist: 4.22.2
- caniuse-lite: 1.0.30001566
+ browserslist: 4.24.5
+ caniuse-lite: 1.0.30001717
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.1
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /autoprefixer@10.4.20(postcss@8.4.47):
- resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
+ available-typed-arrays@1.0.7:
dependencies:
- browserslist: 4.24.2
- caniuse-lite: 1.0.30001669
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.1.1
- postcss: 8.4.47
- postcss-value-parser: 4.2.0
- dev: false
-
- /available-typed-arrays@1.0.5:
- resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
- engines: {node: '>= 0.4'}
+ possible-typed-array-names: 1.1.0
- /aws-sdk@2.1513.0:
- resolution: {integrity: sha512-prgLj06P0Tiqlohz9mV916JZlZjnGhCftKNPOSZvTmKRyCUfbIIJnnBp/6HpkIe7ig7UGpWCXX72OPqVBrICpA==}
- engines: {node: '>= 10.0.0'}
+ aws-sdk@2.1692.0:
dependencies:
buffer: 4.9.2
events: 1.1.1
@@ -12963,265 +24703,222 @@ packages:
url: 0.10.3
util: 0.12.5
uuid: 8.0.0
- xml2js: 0.5.0
- dev: false
+ xml2js: 0.6.2
- /aws-sign2@0.7.0:
- resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==}
- dev: false
+ aws-sign2@0.7.0: {}
- /aws4@1.12.0:
- resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==}
- dev: false
+ aws4@1.13.2: {}
- /axios@1.6.2:
- resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==}
+ axios@1.11.0:
dependencies:
follow-redirects: 1.15.9
- form-data: 4.0.1
+ form-data: 4.0.4
proxy-from-env: 1.1.0
transitivePeerDependencies:
- debug
- dev: true
- /axios@1.7.7:
- resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==}
+ axios@1.7.7:
dependencies:
follow-redirects: 1.15.9
- form-data: 4.0.1
+ form-data: 4.0.2
proxy-from-env: 1.1.0
transitivePeerDependencies:
- debug
- /babel-jest@29.7.0(@babel/core@7.23.5):
- resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@babel/core': ^7.8.0
+ babel-jest@30.2.0(@babel/core@7.27.1):
dependencies:
- '@babel/core': 7.23.5
- '@jest/transform': 29.7.0
+ '@babel/core': 7.27.1
+ '@jest/transform': 30.2.0
'@types/babel__core': 7.20.5
- babel-plugin-istanbul: 6.1.1
- babel-preset-jest: 29.6.3(@babel/core@7.23.5)
+ babel-plugin-istanbul: 7.0.1
+ babel-preset-jest: 30.2.0(@babel/core@7.27.1)
chalk: 4.1.2
graceful-fs: 4.2.11
slash: 3.0.0
transitivePeerDependencies:
- supports-color
- dev: true
+ optional: true
- /babel-loader@9.1.3(@babel/core@7.23.5)(webpack@5.89.0):
- resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
- engines: {node: '>= 14.15.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
- webpack: '>=5'
+ babel-jest@30.2.0(@babel/core@7.28.4):
+ dependencies:
+ '@babel/core': 7.28.4
+ '@jest/transform': 30.2.0
+ '@types/babel__core': 7.20.5
+ babel-plugin-istanbul: 7.0.1
+ babel-preset-jest: 30.2.0(@babel/core@7.28.4)
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ slash: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-loader@9.2.1(@babel/core@7.27.1)(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
- '@babel/core': 7.23.5
+ '@babel/core': 7.27.1
find-cache-dir: 4.0.0
- schema-utils: 4.2.0
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ schema-utils: 4.3.2
+ webpack: 5.99.8(esbuild@0.19.12)
- /babel-plugin-dynamic-import-node@2.3.3:
- resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==}
+ babel-plugin-dynamic-import-node@2.3.3:
dependencies:
- object.assign: 4.1.5
- dev: false
+ object.assign: 4.1.7
- /babel-plugin-istanbul@6.1.1:
- resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
- engines: {node: '>=8'}
+ babel-plugin-istanbul@7.0.1:
dependencies:
- '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-plugin-utils': 7.27.1
'@istanbuljs/load-nyc-config': 1.1.0
'@istanbuljs/schema': 0.1.3
- istanbul-lib-instrument: 5.2.1
+ istanbul-lib-instrument: 6.0.3
test-exclude: 6.0.0
transitivePeerDependencies:
- supports-color
- dev: true
- /babel-plugin-jest-hoist@29.6.3:
- resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ babel-plugin-jest-hoist@30.2.0:
dependencies:
- '@babel/template': 7.22.15
- '@babel/types': 7.23.5
'@types/babel__core': 7.20.5
- '@types/babel__traverse': 7.20.4
- dev: true
- /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.5):
- resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ babel-plugin-polyfill-corejs2@0.4.13(@babel/core@7.27.1):
dependencies:
- '@babel/compat-data': 7.23.5
- '@babel/core': 7.23.5
- '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.5)
+ '@babel/compat-data': 7.27.2
+ '@babel/core': 7.27.1
+ '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.1)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.23.5):
- resolution: {integrity: sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.27.1):
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.5)
- core-js-compat: 3.34.0
+ '@babel/core': 7.27.1
+ '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.1)
+ core-js-compat: 3.42.0
transitivePeerDependencies:
- supports-color
- /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ babel-plugin-polyfill-regenerator@0.6.4(@babel/core@7.27.1):
dependencies:
- '@babel/core': 7.23.5
- '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.5)
+ '@babel/core': 7.27.1
+ '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.1)
transitivePeerDependencies:
- supports-color
- /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.5):
- resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.23.5
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.5)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.5)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.5)
- dev: true
-
- /babel-preset-jest@29.6.3(@babel/core@7.23.5):
- resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@babel/core': ^7.0.0
+ babel-preset-current-node-syntax@1.2.0(@babel/core@7.27.1):
+ dependencies:
+ '@babel/core': 7.27.1
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.27.1)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.27.1)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.27.1)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.27.1)
+ '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.27.1)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.27.1)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.27.1)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.27.1)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.1)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.27.1)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.1)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.27.1)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.1)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.27.1)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.27.1)
+ optional: true
+
+ babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.4):
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.4)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.4)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.4)
+ '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.4)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.4)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.4)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.4)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.4)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.4)
+
+ babel-preset-jest@30.2.0(@babel/core@7.27.1):
+ dependencies:
+ '@babel/core': 7.27.1
+ babel-plugin-jest-hoist: 30.2.0
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.27.1)
+ optional: true
+
+ babel-preset-jest@30.2.0(@babel/core@7.28.4):
dependencies:
- '@babel/core': 7.23.5
- babel-plugin-jest-hoist: 29.6.3
- babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.5)
- dev: true
+ '@babel/core': 7.28.4
+ babel-plugin-jest-hoist: 30.2.0
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.4)
- /bail@2.0.2:
- resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+ bail@2.0.2: {}
- /balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ balanced-match@1.0.2: {}
- /base64-js@1.5.1:
- resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+ base64-js@1.5.1: {}
- /basic-auth@2.0.1:
- resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==}
- engines: {node: '>= 0.8'}
+ basic-auth@2.0.1:
dependencies:
safe-buffer: 5.1.2
- dev: true
- /batch@0.6.1:
- resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
- dev: false
+ batch@0.6.1: {}
- /bcrypt-pbkdf@1.0.2:
- resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==}
+ bcrypt-pbkdf@1.0.2:
dependencies:
tweetnacl: 0.14.5
- dev: false
- /bcryptjs@2.4.3:
- resolution: {integrity: sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==}
- dev: false
+ bcryptjs@2.4.3: {}
- /before-after-hook@2.2.3:
- resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
+ before-after-hook@2.2.3: {}
- /before-after-hook@3.0.2:
- resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==}
- dev: false
+ before-after-hook@3.0.2: {}
- /benchmark@2.1.4:
- resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==}
+ benchmark@2.1.4:
dependencies:
lodash: 4.17.21
platform: 1.3.5
- /bidi-js@1.0.3:
- resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==}
+ bidi-js@1.0.3:
dependencies:
require-from-string: 2.0.2
- dev: false
- /big.js@5.2.2:
- resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+ big.js@5.2.2: {}
- /bignumber.js@9.1.2:
- resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==}
- dev: false
+ bignumber.js@9.3.0: {}
- /bin-links@4.0.4:
- resolution: {integrity: sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ bin-links@4.0.4:
dependencies:
- cmd-shim: 6.0.1
+ cmd-shim: 6.0.3
npm-normalize-package-bin: 3.0.1
read-cmd-shim: 4.0.0
write-file-atomic: 5.0.1
- dev: false
- /binary-extensions@2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
- engines: {node: '>=8'}
+ binary-extensions@2.3.0: {}
- /bl@2.2.1:
- resolution: {integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==}
+ bl@2.2.1:
dependencies:
readable-stream: 2.3.8
safe-buffer: 5.2.1
- dev: false
- /bl@4.1.0:
- resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+ bl@4.1.0:
dependencies:
buffer: 5.7.1
inherits: 2.0.4
readable-stream: 3.6.2
- dev: true
- /block-stream2@2.1.0:
- resolution: {integrity: sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg==}
+ block-stream2@2.1.0:
dependencies:
readable-stream: 3.6.2
- dev: false
- /bluebird@3.7.2:
- resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
- dev: true
+ bluebird@3.7.2: {}
- /bn.js@4.12.0:
- resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==}
+ bn.js@4.12.2: {}
- /bn.js@5.2.1:
- resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==}
- dev: true
+ bn.js@5.2.2: {}
- /body-parser@1.20.3:
- resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ body-parser@1.20.3:
dependencies:
bytes: 3.1.2
content-type: 1.0.5
@@ -13237,31 +24934,33 @@ packages:
unpipe: 1.0.0
transitivePeerDependencies:
- supports-color
- dev: false
- /bonjour-service@1.1.1:
- resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==}
+ body-parser@2.2.0:
+ 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.1
+ transitivePeerDependencies:
+ - supports-color
+
+ bonjour-service@1.3.0:
dependencies:
- array-flatten: 2.1.2
- dns-equal: 1.0.0
fast-deep-equal: 3.1.3
multicast-dns: 7.2.5
- dev: false
- /boolbase@1.0.0:
- resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+ boolbase@1.0.0: {}
- /bottleneck@2.19.5:
- resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==}
- dev: false
+ bottleneck@2.19.5: {}
- /bowser@2.11.0:
- resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==}
- dev: false
+ bowser@2.11.0: {}
- /boxen@6.2.1:
- resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ boxen@6.2.1:
dependencies:
ansi-align: 3.0.1
camelcase: 6.3.0
@@ -13271,11 +24970,8 @@ packages:
type-fest: 2.19.0
widest-line: 4.0.1
wrap-ansi: 8.1.0
- dev: false
- /boxen@7.1.1:
- resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==}
- engines: {node: '>=14.16'}
+ boxen@7.1.1:
dependencies:
ansi-align: 3.0.1
camelcase: 7.0.1
@@ -13285,36 +24981,25 @@ packages:
type-fest: 2.19.0
widest-line: 4.0.1
wrap-ansi: 8.1.0
- dev: false
- /brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ brace-expansion@1.1.11:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
- /brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ brace-expansion@2.0.1:
dependencies:
balanced-match: 1.0.2
- /braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
+ braces@3.0.3:
dependencies:
- fill-range: 7.0.1
+ fill-range: 7.1.1
- /brorand@1.1.0:
- resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==}
- dev: true
+ brorand@1.1.0: {}
- /browser-or-node@2.1.1:
- resolution: {integrity: sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg==}
- dev: false
+ browser-or-node@2.1.1: {}
- /browser-pack@6.1.0:
- resolution: {integrity: sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==}
- hasBin: true
+ browser-pack@6.1.0:
dependencies:
JSONStream: 1.3.5
combine-source-map: 0.8.0
@@ -13322,78 +25007,59 @@ packages:
safe-buffer: 5.2.1
through2: 2.0.5
umd: 3.0.3
- dev: true
- /browser-process-hrtime@0.1.3:
- resolution: {integrity: sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==}
- dev: true
+ browser-process-hrtime@0.1.3: {}
- /browser-resolve@2.0.0:
- resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==}
+ browser-resolve@2.0.0:
dependencies:
- resolve: 1.22.8
- dev: true
+ resolve: 1.22.10
- /browserify-aes@1.2.0:
- resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==}
+ browserify-aes@1.2.0:
dependencies:
buffer-xor: 1.0.3
- cipher-base: 1.0.4
+ cipher-base: 1.0.6
create-hash: 1.2.0
evp_bytestokey: 1.0.3
inherits: 2.0.4
safe-buffer: 5.2.1
- dev: true
- /browserify-cipher@1.0.1:
- resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==}
+ browserify-cipher@1.0.1:
dependencies:
browserify-aes: 1.2.0
browserify-des: 1.0.2
evp_bytestokey: 1.0.3
- dev: true
- /browserify-des@1.0.2:
- resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==}
+ browserify-des@1.0.2:
dependencies:
- cipher-base: 1.0.4
+ cipher-base: 1.0.6
des.js: 1.1.0
inherits: 2.0.4
safe-buffer: 5.2.1
- dev: true
- /browserify-rsa@4.1.0:
- resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==}
+ browserify-rsa@4.1.1:
dependencies:
- bn.js: 5.2.1
+ bn.js: 5.2.2
randombytes: 2.1.0
- dev: true
+ safe-buffer: 5.2.1
- /browserify-sign@4.2.2:
- resolution: {integrity: sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==}
- engines: {node: '>= 4'}
+ browserify-sign@4.2.3:
dependencies:
- bn.js: 5.2.1
- browserify-rsa: 4.1.0
+ bn.js: 5.2.2
+ browserify-rsa: 4.1.1
create-hash: 1.2.0
create-hmac: 1.1.7
- elliptic: 6.5.4
+ elliptic: 6.6.1
+ hash-base: 3.0.5
inherits: 2.0.4
- parse-asn1: 5.1.6
- readable-stream: 3.6.2
+ parse-asn1: 5.1.7
+ readable-stream: 2.3.8
safe-buffer: 5.2.1
- dev: true
- /browserify-zlib@0.2.0:
- resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==}
+ browserify-zlib@0.2.0:
dependencies:
pako: 1.0.11
- dev: true
- /browserify@17.0.0:
- resolution: {integrity: sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==}
- engines: {node: '>= 0.8'}
- hasBin: true
+ browserify@17.0.1:
dependencies:
JSONStream: 1.3.5
assert: 1.5.1
@@ -13405,14 +25071,14 @@ packages:
concat-stream: 1.6.2
console-browserify: 1.2.0
constants-browserify: 1.0.0
- crypto-browserify: 3.12.0
+ crypto-browserify: 3.12.1
defined: 1.0.1
deps-sort: 2.0.1
domain-browser: 1.2.0
duplexer2: 0.1.4
events: 3.3.0
glob: 7.2.3
- has: 1.0.4
+ hasown: 2.0.2
htmlescape: 1.1.1
https-browserify: 1.0.0
inherits: 2.0.4
@@ -13428,9 +25094,9 @@ packages:
querystring-es3: 0.2.1
read-only-stream: 2.0.0
readable-stream: 2.3.8
- resolve: 1.22.8
+ resolve: 1.22.10
shasum-object: 1.0.0
- shell-quote: 1.8.1
+ shell-quote: 1.8.2
stream-browserify: 3.0.0
stream-http: 3.2.0
string_decoder: 1.3.0
@@ -13439,148 +25105,105 @@ packages:
through2: 2.0.5
timers-browserify: 1.4.2
tty-browserify: 0.0.1
- url: 0.11.3
+ url: 0.11.4
util: 0.12.5
vm-browserify: 1.1.2
xtend: 4.0.2
- dev: true
-
- /browserslist@4.22.2:
- resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001566
- electron-to-chromium: 1.4.607
- node-releases: 2.0.14
- update-browserslist-db: 1.0.13(browserslist@4.22.2)
- /browserslist@4.24.2:
- resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
+ browserslist@4.24.5:
dependencies:
- caniuse-lite: 1.0.30001669
- electron-to-chromium: 1.5.46
- node-releases: 2.0.18
- update-browserslist-db: 1.1.1(browserslist@4.24.2)
- dev: false
+ caniuse-lite: 1.0.30001717
+ electron-to-chromium: 1.5.150
+ node-releases: 2.0.19
+ update-browserslist-db: 1.1.3(browserslist@4.24.5)
- /bs-logger@0.2.6:
- resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
- engines: {node: '>= 6'}
+ bs-logger@0.2.6:
dependencies:
fast-json-stable-stringify: 2.1.0
- dev: true
- /bser@2.1.1:
- resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
+ bser@2.1.1:
dependencies:
node-int64: 0.4.0
- dev: true
- /bson@1.1.6:
- resolution: {integrity: sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==}
- engines: {node: '>=0.6.19'}
- dev: false
+ bson@1.1.6: {}
- /btoa-lite@1.0.0:
- resolution: {integrity: sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==}
- dev: false
+ btoa-lite@1.0.0: {}
- /buffer-crc32@1.0.0:
- resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==}
- engines: {node: '>=8.0.0'}
- dev: false
+ buffer-crc32@1.0.0: {}
- /buffer-equal-constant-time@1.0.1:
- resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==}
- dev: false
+ buffer-equal-constant-time@1.0.1: {}
- /buffer-from@1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+ buffer-from@1.1.2: {}
- /buffer-xor@1.0.3:
- resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==}
- dev: true
+ buffer-xor@1.0.3: {}
- /buffer@4.9.2:
- resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==}
+ buffer@4.9.2:
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
isarray: 1.0.0
- dev: false
- /buffer@5.2.1:
- resolution: {integrity: sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==}
+ buffer@5.2.1:
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
- dev: true
- /buffer@5.7.1:
- resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+ buffer@5.7.1:
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
- dev: true
- /buffer@6.0.3:
- resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
+ buffer@6.0.3:
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
- dev: false
-
- /builtin-modules@3.0.0:
- resolution: {integrity: sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==}
- engines: {node: '>=6'}
- dev: false
- /builtin-modules@3.3.0:
- resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
- engines: {node: '>=6'}
- dev: true
+ builtin-status-codes@3.0.0: {}
- /builtin-status-codes@3.0.0:
- resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==}
- dev: true
+ builtins@1.0.3: {}
- /builtins@1.0.3:
- resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==}
- dev: true
+ builtins@5.1.0:
+ dependencies:
+ semver: 7.7.1
- /builtins@5.0.1:
- resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==}
+ bullmq@5.56.9:
dependencies:
- semver: 7.6.3
+ cron-parser: 4.9.0
+ ioredis: 5.7.0
+ msgpackr: 1.11.5
+ node-abort-controller: 3.1.1
+ semver: 7.7.1
+ tslib: 2.8.1
+ uuid: 9.0.1
+ transitivePeerDependencies:
+ - supports-color
- /bundle-name@4.1.0:
- resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
- engines: {node: '>=18'}
+ bundle-name@4.1.0:
dependencies:
run-applescript: 7.0.0
- dev: false
- /byte-size@8.1.1:
- resolution: {integrity: sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg==}
- engines: {node: '>=12.17'}
- dev: true
+ byte-size@8.1.1: {}
- /bytes@3.0.0:
- resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
- engines: {node: '>= 0.8'}
- dev: false
+ bytes@3.0.0: {}
- /bytes@3.1.2:
- resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
- engines: {node: '>= 0.8'}
- dev: false
+ bytes@3.1.2: {}
- /cacache@16.1.3:
- resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ c12@3.1.0:
+ dependencies:
+ chokidar: 4.0.3
+ confbox: 0.2.2
+ defu: 6.1.4
+ dotenv: 16.6.1
+ exsolve: 1.0.7
+ giget: 2.0.0
+ jiti: 2.5.1
+ ohash: 2.0.11
+ pathe: 2.0.3
+ perfect-debounce: 1.0.0
+ pkg-types: 2.2.0
+ rc9: 2.1.2
+
+ cacache@16.1.3:
dependencies:
'@npmcli/fs': 2.1.2
'@npmcli/move-file': 2.0.1
@@ -13598,74 +25221,56 @@ packages:
promise-inflight: 1.0.1
rimraf: 3.0.2
ssri: 9.0.1
- tar: 6.2.0
+ tar: 6.1.11
unique-filename: 2.0.1
transitivePeerDependencies:
- bluebird
- dev: true
- /cacache@17.1.4:
- resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ cacache@17.1.4:
dependencies:
- '@npmcli/fs': 3.1.0
+ '@npmcli/fs': 3.1.1
fs-minipass: 3.0.3
- glob: 10.3.10
+ glob: 10.4.5
lru-cache: 7.18.3
- minipass: 7.0.4
+ minipass: 7.1.2
minipass-collect: 1.0.2
minipass-flush: 1.0.5
minipass-pipeline: 1.2.4
p-map: 4.0.0
- ssri: 10.0.5
- tar: 6.2.0
+ ssri: 10.0.6
+ tar: 6.1.11
unique-filename: 3.0.0
- dev: true
- /cacache@18.0.4:
- resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ cacache@18.0.4:
dependencies:
'@npmcli/fs': 3.1.1
fs-minipass: 3.0.3
- glob: 10.3.10
+ glob: 10.4.5
lru-cache: 10.4.3
- minipass: 7.0.4
+ minipass: 7.1.2
minipass-collect: 2.0.1
minipass-flush: 1.0.5
minipass-pipeline: 1.2.4
p-map: 4.0.0
ssri: 10.0.6
- tar: 6.2.0
+ tar: 6.2.1
unique-filename: 3.0.0
- dev: false
- /cacheable-lookup@5.0.4:
- resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
- engines: {node: '>=10.6.0'}
- dev: false
+ cacheable-lookup@5.0.4: {}
- /cacheable-lookup@7.0.0:
- resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
- engines: {node: '>=14.16'}
- dev: false
+ cacheable-lookup@7.0.0: {}
- /cacheable-request@10.2.14:
- resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
- engines: {node: '>=14.16'}
+ cacheable-request@10.2.14:
dependencies:
'@types/http-cache-semantics': 4.0.4
get-stream: 6.0.1
http-cache-semantics: 4.1.1
keyv: 4.5.4
mimic-response: 4.0.0
- normalize-url: 8.0.0
+ normalize-url: 8.0.1
responselike: 3.0.0
- dev: false
- /cacheable-request@7.0.4:
- resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==}
- engines: {node: '>=8'}
+ cacheable-request@7.0.4:
dependencies:
clone-response: 1.0.3
get-stream: 5.2.0
@@ -13674,234 +25279,156 @@ packages:
lowercase-keys: 2.0.0
normalize-url: 6.1.0
responselike: 2.0.1
- dev: false
- /cached-path-relative@1.1.0:
- resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==}
- dev: true
+ cached-path-relative@1.1.0: {}
- /call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
- engines: {node: '>= 0.4'}
+ call-bind-apply-helpers@1.0.2:
dependencies:
- es-define-property: 1.0.0
es-errors: 1.3.0
function-bind: 1.1.2
- get-intrinsic: 1.2.4
+
+ call-bind@1.0.8:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ get-intrinsic: 1.3.0
set-function-length: 1.2.2
- /callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
+ call-bound@1.0.4:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ get-intrinsic: 1.3.0
- /camel-case@3.0.0:
- resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==}
+ callsites@3.1.0: {}
+
+ camel-case@3.0.0:
dependencies:
no-case: 2.3.2
upper-case: 1.1.3
- dev: true
- /camel-case@4.1.2:
- resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+ camel-case@4.1.2:
dependencies:
pascal-case: 3.1.2
- tslib: 2.8.0
+ tslib: 2.8.1
- /camelcase-keys@6.2.2:
- resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
- engines: {node: '>=8'}
+ camelcase-keys@6.2.2:
dependencies:
camelcase: 5.3.1
map-obj: 4.3.0
quick-lru: 4.0.1
- dev: true
- /camelcase-keys@9.1.3:
- resolution: {integrity: sha512-Rircqi9ch8AnZscQcsA1C47NFdaO3wukpmIRzYcDOrmvgt78hM/sj5pZhZNec2NM12uk5vTwRHZ4anGcrC4ZTg==}
- engines: {node: '>=16'}
+ camelcase-keys@9.1.3:
dependencies:
camelcase: 8.0.0
map-obj: 5.0.0
quick-lru: 6.1.2
- type-fest: 4.26.1
- dev: false
+ type-fest: 4.41.0
- /camelcase@5.3.1:
- resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
- engines: {node: '>=6'}
+ camelcase@5.3.1: {}
- /camelcase@6.3.0:
- resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
- engines: {node: '>=10'}
+ camelcase@6.3.0: {}
- /camelcase@7.0.1:
- resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
- engines: {node: '>=14.16'}
- dev: false
+ camelcase@7.0.1: {}
- /camelcase@8.0.0:
- resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
- engines: {node: '>=16'}
- dev: false
+ camelcase@8.0.0: {}
- /camelize@1.0.0:
- resolution: {integrity: sha512-W2lPwkBkMZwFlPCXhIlYgxu+7gC/NUlCtdK652DAJ1JdgV0sTrvuPFshNPrFa1TY2JOkLhgdeEBplB4ezEa+xg==}
- dev: false
+ camelize@1.0.0: {}
- /caniuse-api@3.0.0:
- resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+ caniuse-api@3.0.0:
dependencies:
- browserslist: 4.24.2
- caniuse-lite: 1.0.30001566
+ browserslist: 4.24.5
+ caniuse-lite: 1.0.30001717
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
- dev: false
- /caniuse-lite@1.0.30001566:
- resolution: {integrity: sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==}
+ caniuse-lite@1.0.30001717: {}
- /caniuse-lite@1.0.30001669:
- resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==}
- dev: false
+ caseless@0.12.0: {}
- /caseless@0.12.0:
- resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
- dev: false
-
- /cassandra-driver@4.5.1:
- resolution: {integrity: sha512-N5pxCxi9jPJzHuhx7ObClJtePcby8xuSb3mQkik1EE57CWqI7dEAuZZUaM7Flboasbwf/uSmw9oTfuf6sZMq9A==}
- engines: {node: '>=8'}
+ cassandra-driver@4.5.1:
dependencies:
'@types/long': 4.0.2
- '@types/node': 20.10.4
+ '@types/node': 18.19.98
adm-zip: 0.4.16
long: 2.4.0
- dev: false
- /ccount@2.0.1:
- resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+ ccount@2.0.1: {}
- /chai@4.3.10:
- resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==}
- engines: {node: '>=4'}
+ chai@4.5.0:
dependencies:
assertion-error: 1.1.0
check-error: 1.0.3
- deep-eql: 4.1.3
+ deep-eql: 4.1.4
get-func-name: 2.0.2
loupe: 2.3.7
pathval: 1.1.1
- type-detect: 4.0.8
- dev: true
+ type-detect: 4.1.0
- /chalk@1.1.3:
- resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
- engines: {node: '>=0.10.0'}
+ chalk@1.1.3:
dependencies:
ansi-styles: 2.2.1
escape-string-regexp: 1.0.5
has-ansi: 2.0.0
strip-ansi: 3.0.1
supports-color: 2.0.0
- dev: true
- /chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
+ chalk@2.4.2:
dependencies:
ansi-styles: 3.2.1
escape-string-regexp: 1.0.5
supports-color: 5.5.0
- /chalk@3.0.0:
- resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
- engines: {node: '>=8'}
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
- dev: true
-
- /chalk@4.1.0:
- resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==}
- engines: {node: '>=10'}
+ chalk@4.1.0:
dependencies:
ansi-styles: 4.3.0
supports-color: 7.2.0
- dev: true
- /chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
+ chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
supports-color: 7.2.0
- /chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
- dev: false
-
- /chalk@5.4.1:
- resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ chalk@5.4.1: {}
- /char-regex@1.0.2:
- resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
- engines: {node: '>=10'}
+ char-regex@1.0.2: {}
- /character-entities-html4@2.1.0:
- resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+ character-entities-html4@2.1.0: {}
- /character-entities-legacy@3.0.0:
- resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+ character-entities-legacy@3.0.0: {}
- /character-entities@2.0.2:
- resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+ character-entities@2.0.2: {}
- /character-reference-invalid@2.0.1:
- resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
- dev: false
+ character-reference-invalid@2.0.1: {}
- /chardet@0.7.0:
- resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
- dev: true
+ chardet@0.7.0: {}
- /check-error@1.0.3:
- resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
+ check-error@1.0.3:
dependencies:
get-func-name: 2.0.2
- dev: true
- /cheerio-select@2.1.0:
- resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
+ cheerio-select@2.1.0:
dependencies:
boolbase: 1.0.0
css-select: 5.1.0
css-what: 6.1.0
domelementtype: 2.3.0
domhandler: 5.0.3
- domutils: 3.1.0
- dev: false
+ domutils: 3.2.2
- /cheerio@1.0.0-rc.12:
- resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
- engines: {node: '>= 6'}
+ cheerio@1.0.0-rc.12:
dependencies:
cheerio-select: 2.1.0
dom-serializer: 2.0.0
domhandler: 5.0.3
- domutils: 3.1.0
+ domutils: 3.2.2
htmlparser2: 8.0.2
- parse5: 7.1.2
- parse5-htmlparser2-tree-adapter: 7.0.0
- dev: false
+ parse5: 7.3.0
+ parse5-htmlparser2-tree-adapter: 7.1.0
- /chokidar@3.5.2:
- resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==}
- engines: {node: '>= 8.10.0'}
+ chokidar@3.5.2:
dependencies:
anymatch: 3.1.3
- braces: 3.0.2
+ braces: 3.0.3
glob-parent: 5.1.2
is-binary-path: 2.1.0
is-glob: 4.0.3
@@ -13910,12 +25437,10 @@ packages:
optionalDependencies:
fsevents: 2.3.3
- /chokidar@3.5.3:
- resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
- engines: {node: '>= 8.10.0'}
+ chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
- braces: 3.0.2
+ braces: 3.0.3
glob-parent: 5.1.2
is-binary-path: 2.1.0
is-glob: 4.0.3
@@ -13923,366 +25448,221 @@ packages:
readdirp: 3.6.0
optionalDependencies:
fsevents: 2.3.3
- dev: false
- /chownr@1.1.4:
- resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
- dev: true
+ chokidar@4.0.3:
+ dependencies:
+ readdirp: 4.1.2
- /chownr@2.0.0:
- resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
- engines: {node: '>=10'}
+ chownr@1.1.4: {}
- /chrome-trace-event@1.0.3:
- resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
- engines: {node: '>=6.0'}
- dev: false
+ chownr@2.0.0: {}
- /ci-info@3.9.0:
- resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
- engines: {node: '>=8'}
+ chrome-trace-event@1.0.4: {}
+
+ ci-info@3.9.0: {}
- /cipher-base@1.0.4:
- resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==}
+ ci-info@4.3.1: {}
+
+ cipher-base@1.0.6:
dependencies:
inherits: 2.0.4
safe-buffer: 5.2.1
- dev: true
- /cjs-module-lexer@1.2.3:
- resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==}
+ citty@0.1.6:
+ dependencies:
+ consola: 3.4.2
+
+ cjs-module-lexer@1.4.3: {}
- /clamp@1.0.1:
- resolution: {integrity: sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==}
- dev: false
+ cjs-module-lexer@2.1.0: {}
- /classnames@2.3.2:
- resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==}
- dev: false
+ clamp@1.0.1: {}
- /clean-css@4.2.4:
- resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==}
- engines: {node: '>= 4.0'}
+ classnames@2.5.1: {}
+
+ clean-css@4.2.4:
dependencies:
source-map: 0.6.1
- dev: true
- /clean-css@5.3.3:
- resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
- engines: {node: '>= 10.0'}
+ clean-css@5.3.3:
dependencies:
source-map: 0.6.1
- dev: false
- /clean-stack@2.2.0:
- resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
- engines: {node: '>=6'}
+ clean-stack@2.2.0: {}
- /clean-stack@4.2.0:
- resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==}
- engines: {node: '>=12'}
+ clean-stack@4.2.0:
dependencies:
escape-string-regexp: 5.0.0
- dev: true
- /cli-boxes@3.0.0:
- resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
- engines: {node: '>=10'}
- dev: false
+ cli-boxes@3.0.0: {}
- /cli-cursor@2.1.0:
- resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
- engines: {node: '>=4'}
+ cli-cursor@2.1.0:
dependencies:
restore-cursor: 2.0.0
- dev: true
- /cli-cursor@3.1.0:
- resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
- engines: {node: '>=8'}
+ cli-cursor@3.1.0:
dependencies:
restore-cursor: 3.1.0
- dev: true
- /cli-cursor@5.0.0:
- resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
- engines: {node: '>=18'}
+ cli-cursor@5.0.0:
dependencies:
restore-cursor: 5.1.0
- dev: true
- /cli-spinners@1.3.1:
- resolution: {integrity: sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==}
- engines: {node: '>=4'}
- dev: true
+ cli-spinners@1.3.1: {}
- /cli-spinners@2.6.1:
- resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==}
- engines: {node: '>=6'}
- dev: true
+ cli-spinners@2.6.1: {}
- /cli-table3@0.6.3:
- resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==}
- engines: {node: 10.* || >= 12.*}
+ cli-spinners@2.9.2: {}
+
+ cli-table3@0.6.5:
dependencies:
string-width: 4.2.3
optionalDependencies:
'@colors/colors': 1.5.0
- dev: false
- /cli-truncate@4.0.0:
- resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
- engines: {node: '>=18'}
+ cli-truncate@4.0.0:
dependencies:
slice-ansi: 5.0.0
string-width: 7.2.0
- dev: true
- /cli-width@3.0.0:
- resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
- engines: {node: '>= 10'}
- dev: true
+ cli-width@3.0.0: {}
- /clipboard@2.0.11:
- resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==}
+ clipboard@2.0.11:
dependencies:
good-listener: 1.2.2
select: 1.1.2
tiny-emitter: 2.1.0
- dev: false
- /cliui@6.0.0:
- resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
+ cliui@6.0.0:
dependencies:
string-width: 4.2.3
strip-ansi: 6.0.1
wrap-ansi: 6.2.0
- dev: false
- /cliui@7.0.4:
- resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+ cliui@7.0.4:
dependencies:
string-width: 4.2.3
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
- /cliui@8.0.1:
- resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
- engines: {node: '>=12'}
+ cliui@8.0.1:
dependencies:
string-width: 4.2.3
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
- /clone-deep@4.0.1:
- resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
- engines: {node: '>=6'}
+ clone-deep@4.0.1:
dependencies:
is-plain-object: 2.0.4
kind-of: 6.0.3
shallow-clone: 3.0.1
- /clone-response@1.0.3:
- resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
+ clone-response@1.0.3:
dependencies:
mimic-response: 1.0.1
- dev: false
- /clone@1.0.4:
- resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
- engines: {node: '>=0.8'}
- dev: true
+ clone@1.0.4: {}
- /clone@2.1.2:
- resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
- engines: {node: '>=0.8'}
- dev: true
+ clone@2.1.2: {}
- /clsx@1.2.1:
- resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
- engines: {node: '>=6'}
- dev: false
+ clsx@1.2.1: {}
- /clsx@2.0.0:
- resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
- engines: {node: '>=6'}
- dev: false
+ clsx@2.1.1: {}
- /cluster-key-slot@1.1.2:
- resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==}
- engines: {node: '>=0.10.0'}
+ cluster-key-slot@1.1.2: {}
- /cmd-shim@6.0.1:
- resolution: {integrity: sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ cmd-shim@6.0.1: {}
- /co@4.6.0:
- resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
- engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
- dev: true
+ cmd-shim@6.0.3: {}
- /code-block-writer@12.0.0:
- resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==}
- dev: false
+ co@4.6.0: {}
- /code-point-at@1.1.0:
- resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ code-block-writer@12.0.0: {}
- /collapse-white-space@2.1.0:
- resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
- dev: false
+ code-point-at@1.1.0: {}
- /collect-v8-coverage@1.0.2:
- resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
- dev: true
+ collapse-white-space@2.1.0: {}
- /color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ collect-v8-coverage@1.0.2: {}
+
+ color-convert@1.9.3:
dependencies:
color-name: 1.1.3
- /color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
+ color-convert@2.0.1:
dependencies:
color-name: 1.1.4
- /color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+ color-name@1.1.3: {}
- /color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ color-name@1.1.4: {}
- /color-support@1.1.3:
- resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
- hasBin: true
- dev: true
+ color-support@1.1.3: {}
- /colord@2.9.3:
- resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
- dev: false
+ colord@2.9.3: {}
- /colorette@1.4.0:
- resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
- dev: true
+ colorette@1.4.0: {}
- /colorette@2.0.20:
- resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+ colorette@2.0.20: {}
- /columnify@1.6.0:
- resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==}
- engines: {node: '>=8.0.0'}
+ columnify@1.6.0:
dependencies:
strip-ansi: 6.0.1
wcwidth: 1.0.1
- dev: true
- /combine-promises@1.2.0:
- resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==}
- engines: {node: '>=10'}
- dev: false
+ combine-promises@1.2.0: {}
- /combine-source-map@0.8.0:
- resolution: {integrity: sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==}
+ combine-source-map@0.8.0:
dependencies:
convert-source-map: 1.1.3
- inline-source-map: 0.6.2
+ inline-source-map: 0.6.3
lodash.memoize: 3.0.4
source-map: 0.5.7
- dev: true
- /combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
+ combined-stream@1.0.8:
dependencies:
delayed-stream: 1.0.0
- /comlink@4.3.1:
- resolution: {integrity: sha512-+YbhUdNrpBZggBAHWcgQMLPLH1KDF3wJpeqrCKieWQ8RL7atmgsgTQko1XEBK6PsecfopWNntopJ+ByYG1lRaA==}
- dev: false
+ comlink@4.3.1: {}
- /comma-separated-tokens@2.0.3:
- resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+ comma-separated-tokens@2.0.3: {}
- /commander@10.0.1:
- resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
- engines: {node: '>=14'}
- dev: false
+ commander@10.0.1: {}
- /commander@12.0.0:
- resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==}
- engines: {node: '>=18'}
- dev: false
+ commander@12.0.0: {}
- /commander@13.1.0:
- resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
- engines: {node: '>=18'}
- dev: true
+ commander@13.1.0: {}
- /commander@2.20.3:
- resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ commander@2.20.3: {}
- /commander@4.0.1:
- resolution: {integrity: sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==}
- engines: {node: '>= 6'}
- dev: false
+ commander@4.0.1: {}
- /commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
- dev: true
+ commander@4.1.1: {}
- /commander@5.1.0:
- resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
- engines: {node: '>= 6'}
- dev: false
+ commander@5.1.0: {}
- /commander@7.2.0:
- resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
- engines: {node: '>= 10'}
+ commander@7.2.0: {}
- /commander@8.3.0:
- resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
- engines: {node: '>= 12'}
- dev: false
+ commander@8.3.0: {}
- /commander@9.5.0:
- resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
- engines: {node: ^12.20.0 || >=14}
- dev: false
+ commander@9.5.0: {}
- /common-ancestor-path@1.0.1:
- resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
- dev: false
+ common-ancestor-path@1.0.1: {}
- /common-path-prefix@3.0.0:
- resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
- dev: false
+ common-path-prefix@3.0.0: {}
- /common-tags@1.8.2:
- resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
- engines: {node: '>=4.0.0'}
- dev: true
+ common-tags@1.8.2: {}
- /compare-func@2.0.0:
- resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
+ compare-func@2.0.0:
dependencies:
array-ify: 1.0.0
dot-prop: 5.3.0
- dev: true
- /compressible@2.0.18:
- resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
- engines: {node: '>= 0.6'}
+ compressible@2.0.18:
dependencies:
- mime-db: 1.52.0
- dev: false
+ mime-db: 1.54.0
- /compression@1.7.4:
- resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
- engines: {node: '>= 0.8.0'}
+ compression@1.7.4:
dependencies:
accepts: 1.3.8
bytes: 3.0.0
@@ -14293,133 +25673,100 @@ packages:
vary: 1.1.2
transitivePeerDependencies:
- supports-color
- dev: false
- /concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ concat-map@0.0.1: {}
- /concat-stream@1.6.2:
- resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==}
- engines: {'0': node >= 0.8}
+ concat-stream@1.6.2:
dependencies:
buffer-from: 1.1.2
inherits: 2.0.4
readable-stream: 2.3.8
typedarray: 0.0.6
- dev: true
- /concat-stream@2.0.0:
- resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==}
- engines: {'0': node >= 6.0}
+ concat-stream@2.0.0:
dependencies:
buffer-from: 1.1.2
inherits: 2.0.4
readable-stream: 3.6.2
typedarray: 0.0.6
- dev: true
- /concurrently@8.2.2:
- resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==}
- engines: {node: ^14.13.0 || >=16.0.0}
- hasBin: true
+ concaveman@1.2.1:
+ dependencies:
+ point-in-polygon: 1.1.0
+ rbush: 3.0.1
+ robust-predicates: 2.0.4
+ tinyqueue: 2.0.3
+
+ concurrently@8.2.2:
dependencies:
chalk: 4.1.2
date-fns: 2.30.0
lodash: 4.17.21
- rxjs: 7.8.1
- shell-quote: 1.8.1
+ rxjs: 7.8.2
+ shell-quote: 1.8.2
spawn-command: 0.0.2
supports-color: 8.1.1
tree-kill: 1.2.2
yargs: 17.7.2
- dev: true
- /conf@12.0.0:
- resolution: {integrity: sha512-fIWyWUXrJ45cHCIQX+Ck1hrZDIf/9DR0P0Zewn3uNht28hbt5OfGUq8rRWsxi96pZWPyBEd0eY9ama01JTaknA==}
- engines: {node: '>=18'}
+ conf@12.0.0:
dependencies:
- ajv: 8.12.0
- ajv-formats: 2.1.1(ajv@8.12.0)
- atomically: 2.0.2
+ ajv: 8.17.1
+ ajv-formats: 2.1.1(ajv@8.17.1)
+ atomically: 2.0.3
debounce-fn: 5.1.2
dot-prop: 8.0.2
env-paths: 3.0.0
json-schema-typed: 8.0.1
- semver: 7.5.4
+ semver: 7.7.1
uint8array-extras: 0.3.0
- dev: false
- /config-chain@1.1.13:
- resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
+ confbox@0.2.2: {}
+
+ config-chain@1.1.13:
dependencies:
ini: 1.3.8
proto-list: 1.2.4
- dev: false
- /configstore@6.0.0:
- resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==}
- engines: {node: '>=12'}
+ configstore@6.0.0:
dependencies:
dot-prop: 6.0.1
graceful-fs: 4.2.11
unique-string: 3.0.0
write-file-atomic: 3.0.3
xdg-basedir: 5.1.0
- dev: false
- /connect-history-api-fallback@2.0.0:
- resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
- engines: {node: '>=0.8'}
- dev: false
+ connect-history-api-fallback@2.0.0: {}
- /consola@2.15.3:
- resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==}
- dev: false
+ consola@2.15.3: {}
- /console-browserify@1.2.0:
- resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==}
- dev: true
+ consola@3.4.2: {}
- /console-control-strings@1.1.0:
- resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
- dev: true
+ console-browserify@1.2.0: {}
- /constants-browserify@1.0.0:
- resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==}
- dev: true
+ console-control-strings@1.1.0: {}
- /content-disposition@0.5.2:
- resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==}
- engines: {node: '>= 0.6'}
- dev: false
+ constants-browserify@1.0.0: {}
- /content-disposition@0.5.4:
- resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
- engines: {node: '>= 0.6'}
+ content-disposition@0.5.2: {}
+
+ content-disposition@0.5.4:
dependencies:
safe-buffer: 5.2.1
- dev: false
- /content-security-policy-builder@2.1.0:
- resolution: {integrity: sha512-/MtLWhJVvJNkA9dVLAp6fg9LxD2gfI6R2Fi1hPmfjYXSahJJzcfvoeDOxSyp4NvxMuwWv3WMssE9o31DoULHrQ==}
- engines: {node: '>=4.0.0'}
- dev: false
+ content-disposition@1.0.0:
+ dependencies:
+ safe-buffer: 5.2.1
- /content-type@1.0.5:
- resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
- engines: {node: '>= 0.6'}
- dev: false
+ content-security-policy-builder@2.1.0: {}
- /conventional-changelog-angular@7.0.0:
- resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
- engines: {node: '>=16'}
+ content-type@1.0.5: {}
+
+ conventional-changelog-angular@7.0.0:
dependencies:
compare-func: 2.0.0
- dev: true
- /conventional-changelog-core@5.0.1:
- resolution: {integrity: sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A==}
- engines: {node: '>=14'}
+ conventional-changelog-core@5.0.1:
dependencies:
add-stream: 1.0.0
conventional-changelog-writer: 6.0.1
@@ -14432,50 +25779,32 @@ packages:
normalize-package-data: 3.0.3
read-pkg: 3.0.0
read-pkg-up: 3.0.0
- dev: true
- /conventional-changelog-preset-loader@3.0.0:
- resolution: {integrity: sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA==}
- engines: {node: '>=14'}
- dev: true
+ conventional-changelog-preset-loader@3.0.0: {}
- /conventional-changelog-writer@6.0.1:
- resolution: {integrity: sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ==}
- engines: {node: '>=14'}
- hasBin: true
+ conventional-changelog-writer@6.0.1:
dependencies:
conventional-commits-filter: 3.0.0
dateformat: 3.0.3
handlebars: 4.7.8
json-stringify-safe: 5.0.1
meow: 8.1.2
- semver: 7.6.3
+ semver: 7.7.1
split: 1.0.1
- dev: true
- /conventional-commits-filter@3.0.0:
- resolution: {integrity: sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==}
- engines: {node: '>=14'}
+ conventional-commits-filter@3.0.0:
dependencies:
lodash.ismatch: 4.4.0
modify-values: 1.0.1
- dev: true
- /conventional-commits-parser@4.0.0:
- resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==}
- engines: {node: '>=14'}
- hasBin: true
+ conventional-commits-parser@4.0.0:
dependencies:
JSONStream: 1.3.5
is-text-path: 1.0.1
meow: 8.1.2
split2: 3.2.2
- dev: true
- /conventional-recommended-bump@7.0.1:
- resolution: {integrity: sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA==}
- engines: {node: '>=14'}
- hasBin: true
+ conventional-recommended-bump@7.0.1:
dependencies:
concat-stream: 2.0.0
conventional-changelog-preset-loader: 3.0.0
@@ -14484,305 +25813,179 @@ packages:
git-raw-commits: 3.0.0
git-semver-tags: 5.0.1
meow: 8.1.2
- dev: true
-
- /convert-source-map@1.1.3:
- resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==}
- dev: true
- /convert-source-map@1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
- dev: true
+ convert-source-map@1.1.3: {}
- /convert-source-map@2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+ convert-source-map@1.9.0: {}
- /cookie-signature@1.0.6:
- resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
- dev: false
+ convert-source-map@2.0.0: {}
- /cookie@0.7.1:
- resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
- engines: {node: '>= 0.6'}
- dev: false
+ cookie-signature@1.0.6: {}
- /copy-text-to-clipboard@3.2.0:
- resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==}
- engines: {node: '>=12'}
- dev: false
+ cookie-signature@1.2.2: {}
- /copy-webpack-plugin@11.0.0(webpack@5.89.0):
- resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==}
- engines: {node: '>= 14.15.0'}
- peerDependencies:
- webpack: ^5.1.0
+ cookie@0.7.1: {}
+
+ cookie@0.7.2: {}
+
+ copy-text-to-clipboard@3.2.0: {}
+
+ copy-webpack-plugin@11.0.0(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
- fast-glob: 3.3.2
+ fast-glob: 3.3.3
glob-parent: 6.0.2
globby: 13.2.2
normalize-path: 3.0.0
- schema-utils: 4.2.0
- serialize-javascript: 6.0.1
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ schema-utils: 4.3.2
+ serialize-javascript: 6.0.2
+ webpack: 5.99.8(esbuild@0.19.12)
- /core-js-compat@3.34.0:
- resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==}
+ core-js-compat@3.42.0:
dependencies:
- browserslist: 4.22.2
+ browserslist: 4.24.5
- /core-js-pure@3.34.0:
- resolution: {integrity: sha512-pmhivkYXkymswFfbXsANmBAewXx86UBfmagP+w0wkK06kLsLlTK5oQmsURPivzMkIBQiYq2cjamcZExIwlFQIg==}
- requiresBuild: true
- dev: false
+ core-js-pure@3.42.0: {}
- /core-js@2.6.12:
- resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==}
- deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
- requiresBuild: true
- dev: false
+ core-js@2.6.12: {}
- /core-js@3.34.0:
- resolution: {integrity: sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==}
- requiresBuild: true
- dev: false
+ core-js@3.42.0: {}
- /core-util-is@1.0.2:
- resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
- dev: false
+ core-util-is@1.0.2: {}
- /core-util-is@1.0.3:
- resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+ core-util-is@1.0.3: {}
- /cors@2.8.5:
- resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
- engines: {node: '>= 0.10'}
+ cors@2.8.5:
dependencies:
object-assign: 4.1.1
vary: 1.1.2
- /corser@2.0.1:
- resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==}
- engines: {node: '>= 0.4.0'}
- dev: true
+ corser@2.0.1: {}
- /cosmiconfig@6.0.0:
- resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==}
- engines: {node: '>=8'}
+ cosmiconfig@6.0.0:
dependencies:
'@types/parse-json': 4.0.2
- import-fresh: 3.3.0
+ import-fresh: 3.3.1
parse-json: 5.2.0
path-type: 4.0.0
yaml: 1.10.2
- dev: false
- /cosmiconfig@8.3.6(typescript@5.3.3):
- resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
- engines: {node: '>=14'}
- peerDependencies:
- typescript: '>=4.9.5'
- peerDependenciesMeta:
- typescript:
- optional: true
+ cosmiconfig@8.3.6(typescript@5.8.3):
dependencies:
- import-fresh: 3.3.0
+ import-fresh: 3.3.1
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
- typescript: 5.3.3
+ optionalDependencies:
+ typescript: 5.8.3
- /create-ecdh@4.0.4:
- resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==}
+ create-ecdh@4.0.4:
dependencies:
- bn.js: 4.12.0
- elliptic: 6.5.4
- dev: true
+ bn.js: 4.12.2
+ elliptic: 6.6.1
- /create-hash@1.2.0:
- resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==}
+ create-hash@1.2.0:
dependencies:
- cipher-base: 1.0.4
+ cipher-base: 1.0.6
inherits: 2.0.4
md5.js: 1.3.5
ripemd160: 2.0.2
sha.js: 2.4.11
- dev: true
- /create-hmac@1.1.7:
- resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==}
+ create-hmac@1.1.7:
dependencies:
- cipher-base: 1.0.4
+ cipher-base: 1.0.6
create-hash: 1.2.0
inherits: 2.0.4
ripemd160: 2.0.2
safe-buffer: 5.2.1
sha.js: 2.4.11
- dev: true
- /create-jest@29.7.0(@types/node@18.19.3):
- resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
+ cron-parser@4.9.0:
dependencies:
- '@jest/types': 29.6.3
- chalk: 4.1.2
- exit: 0.1.2
- graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@18.19.3)
- jest-util: 29.7.0
- prompts: 2.4.2
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
- dev: true
+ luxon: 3.4.4
- /cross-env@7.0.3:
- resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
- engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
- hasBin: true
+ cross-env@7.0.3:
dependencies:
- cross-spawn: 7.0.3
- dev: true
+ cross-spawn: 7.0.6
- /cross-fetch@4.0.0:
- resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==}
+ cross-fetch@4.1.0(encoding@0.1.13):
dependencies:
- node-fetch: 2.7.0
+ node-fetch: 2.7.0(encoding@0.1.13)
transitivePeerDependencies:
- encoding
- dev: false
- /cross-spawn@5.1.0:
- resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
+ cross-spawn@5.1.0:
dependencies:
lru-cache: 4.1.5
shebang-command: 1.2.0
which: 1.3.1
- dev: true
- /cross-spawn@6.0.5:
- resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
- engines: {node: '>=4.8'}
+ cross-spawn@6.0.6:
dependencies:
nice-try: 1.0.5
path-key: 2.0.1
semver: 5.7.2
shebang-command: 1.2.0
which: 1.3.1
- dev: false
-
- /cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
- dev: true
- /cross-spawn@7.0.6:
- resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
- engines: {node: '>= 8'}
+ cross-spawn@7.0.6:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
- /crypto-browserify@3.12.0:
- resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==}
+ crypto-browserify@3.12.1:
dependencies:
browserify-cipher: 1.0.1
- browserify-sign: 4.2.2
+ browserify-sign: 4.2.3
create-ecdh: 4.0.4
create-hash: 1.2.0
create-hmac: 1.1.7
diffie-hellman: 5.0.3
+ hash-base: 3.0.5
inherits: 2.0.4
pbkdf2: 3.1.2
public-encrypt: 4.0.3
randombytes: 2.1.0
randomfill: 1.0.4
- dev: true
- /crypto-random-string@2.0.0:
- resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
- engines: {node: '>=8'}
- dev: true
+ crypto-random-string@2.0.0: {}
- /crypto-random-string@4.0.0:
- resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
- engines: {node: '>=12'}
+ crypto-random-string@4.0.0:
dependencies:
type-fest: 1.4.0
- dev: false
- /css-declaration-sorter@7.2.0(postcss@8.4.47):
- resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
- engines: {node: ^14 || ^16 || >=18}
- peerDependencies:
- postcss: ^8.0.9
+ css-declaration-sorter@7.2.0(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
- dev: false
+ postcss: 8.5.3
- /css-loader@6.8.1(webpack@5.89.0):
- resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==}
- engines: {node: '>= 12.13.0'}
- peerDependencies:
- webpack: ^5.0.0
+ css-loader@6.11.0(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
- icss-utils: 5.1.0(postcss@8.4.47)
- postcss: 8.4.47
- postcss-modules-extract-imports: 3.0.0(postcss@8.4.47)
- postcss-modules-local-by-default: 4.0.3(postcss@8.4.47)
- postcss-modules-scope: 3.0.0(postcss@8.4.47)
- postcss-modules-values: 4.0.0(postcss@8.4.47)
+ icss-utils: 5.1.0(postcss@8.5.3)
+ postcss: 8.5.3
+ postcss-modules-extract-imports: 3.1.0(postcss@8.5.3)
+ postcss-modules-local-by-default: 4.2.0(postcss@8.5.3)
+ postcss-modules-scope: 3.2.1(postcss@8.5.3)
+ postcss-modules-values: 4.0.0(postcss@8.5.3)
postcss-value-parser: 4.2.0
- semver: 7.6.3
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ semver: 7.7.1
+ optionalDependencies:
+ webpack: 5.99.8(esbuild@0.19.12)
- /css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(esbuild@0.19.8)(webpack@5.89.0):
- resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==}
- engines: {node: '>= 14.15.0'}
- peerDependencies:
- '@parcel/css': '*'
- '@swc/css': '*'
- clean-css: '*'
- csso: '*'
- esbuild: '*'
- lightningcss: '*'
- webpack: ^5.0.0
- peerDependenciesMeta:
- '@parcel/css':
- optional: true
- '@swc/css':
- optional: true
- clean-css:
- optional: true
- csso:
- optional: true
- esbuild:
- optional: true
- lightningcss:
- optional: true
+ css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(esbuild@0.19.12)(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
- '@jridgewell/trace-mapping': 0.3.20
- clean-css: 5.3.3
- cssnano: 6.1.2(postcss@8.4.47)
- esbuild: 0.19.8
+ '@jridgewell/trace-mapping': 0.3.25
+ cssnano: 6.1.2(postcss@8.5.3)
jest-worker: 29.7.0
- postcss: 8.4.47
- schema-utils: 4.2.0
- serialize-javascript: 6.0.1
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ postcss: 8.5.3
+ schema-utils: 4.3.2
+ serialize-javascript: 6.0.2
+ webpack: 5.99.8(esbuild@0.19.12)
+ optionalDependencies:
+ clean-css: 5.3.3
+ esbuild: 0.19.12
- /css-select@4.3.0:
- resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+ css-select@4.3.0:
dependencies:
boolbase: 1.0.0
css-what: 6.1.0
@@ -14790,200 +25993,127 @@ packages:
domutils: 2.8.0
nth-check: 2.1.1
- /css-select@5.1.0:
- resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
+ css-select@5.1.0:
dependencies:
boolbase: 1.0.0
css-what: 6.1.0
domhandler: 5.0.3
- domutils: 3.1.0
+ domutils: 3.2.2
nth-check: 2.1.1
- dev: false
- /css-tree@1.1.3:
- resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
- engines: {node: '>=8.0.0'}
+ css-tree@1.1.3:
dependencies:
mdn-data: 2.0.14
source-map: 0.6.1
- dev: true
- /css-tree@2.2.1:
- resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+ css-tree@2.2.1:
dependencies:
mdn-data: 2.0.28
source-map-js: 1.2.1
- dev: false
- /css-tree@2.3.1:
- resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ css-tree@2.3.1:
dependencies:
mdn-data: 2.0.30
source-map-js: 1.2.1
- dev: false
- /css-what@6.1.0:
- resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
- engines: {node: '>= 6'}
-
- /cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
-
- /cssnano-preset-advanced@6.1.2(postcss@8.4.47):
- resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
- dependencies:
- autoprefixer: 10.4.20(postcss@8.4.47)
- browserslist: 4.24.2
- cssnano-preset-default: 6.1.2(postcss@8.4.47)
- postcss: 8.4.47
- postcss-discard-unused: 6.0.5(postcss@8.4.47)
- postcss-merge-idents: 6.0.3(postcss@8.4.47)
- postcss-reduce-idents: 6.0.3(postcss@8.4.47)
- postcss-zindex: 6.0.2(postcss@8.4.47)
- dev: false
-
- /cssnano-preset-default@6.1.2(postcss@8.4.47):
- resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
- dependencies:
- browserslist: 4.24.2
- css-declaration-sorter: 7.2.0(postcss@8.4.47)
- cssnano-utils: 4.0.2(postcss@8.4.47)
- postcss: 8.4.47
- postcss-calc: 9.0.1(postcss@8.4.47)
- postcss-colormin: 6.1.0(postcss@8.4.47)
- postcss-convert-values: 6.1.0(postcss@8.4.47)
- postcss-discard-comments: 6.0.2(postcss@8.4.47)
- postcss-discard-duplicates: 6.0.3(postcss@8.4.47)
- postcss-discard-empty: 6.0.3(postcss@8.4.47)
- postcss-discard-overridden: 6.0.2(postcss@8.4.47)
- postcss-merge-longhand: 6.0.5(postcss@8.4.47)
- postcss-merge-rules: 6.1.1(postcss@8.4.47)
- postcss-minify-font-values: 6.1.0(postcss@8.4.47)
- postcss-minify-gradients: 6.0.3(postcss@8.4.47)
- postcss-minify-params: 6.1.0(postcss@8.4.47)
- postcss-minify-selectors: 6.0.4(postcss@8.4.47)
- postcss-normalize-charset: 6.0.2(postcss@8.4.47)
- postcss-normalize-display-values: 6.0.2(postcss@8.4.47)
- postcss-normalize-positions: 6.0.2(postcss@8.4.47)
- postcss-normalize-repeat-style: 6.0.2(postcss@8.4.47)
- postcss-normalize-string: 6.0.2(postcss@8.4.47)
- postcss-normalize-timing-functions: 6.0.2(postcss@8.4.47)
- postcss-normalize-unicode: 6.1.0(postcss@8.4.47)
- postcss-normalize-url: 6.0.2(postcss@8.4.47)
- postcss-normalize-whitespace: 6.0.2(postcss@8.4.47)
- postcss-ordered-values: 6.0.2(postcss@8.4.47)
- postcss-reduce-initial: 6.1.0(postcss@8.4.47)
- postcss-reduce-transforms: 6.0.2(postcss@8.4.47)
- postcss-svgo: 6.0.3(postcss@8.4.47)
- postcss-unique-selectors: 6.0.4(postcss@8.4.47)
- dev: false
-
- /cssnano-utils@4.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
- dependencies:
- postcss: 8.4.47
- dev: false
-
- /cssnano@6.1.2(postcss@8.4.47):
- resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
- dependencies:
- cssnano-preset-default: 6.1.2(postcss@8.4.47)
- lilconfig: 3.1.2
- postcss: 8.4.47
- dev: false
+ css-what@6.1.0: {}
+
+ cssesc@3.0.0: {}
+
+ cssnano-preset-advanced@6.1.2(postcss@8.5.3):
+ dependencies:
+ autoprefixer: 10.4.21(postcss@8.5.3)
+ browserslist: 4.24.5
+ cssnano-preset-default: 6.1.2(postcss@8.5.3)
+ postcss: 8.5.3
+ postcss-discard-unused: 6.0.5(postcss@8.5.3)
+ postcss-merge-idents: 6.0.3(postcss@8.5.3)
+ postcss-reduce-idents: 6.0.3(postcss@8.5.3)
+ postcss-zindex: 6.0.2(postcss@8.5.3)
+
+ cssnano-preset-default@6.1.2(postcss@8.5.3):
+ dependencies:
+ browserslist: 4.24.5
+ css-declaration-sorter: 7.2.0(postcss@8.5.3)
+ cssnano-utils: 4.0.2(postcss@8.5.3)
+ postcss: 8.5.3
+ postcss-calc: 9.0.1(postcss@8.5.3)
+ postcss-colormin: 6.1.0(postcss@8.5.3)
+ postcss-convert-values: 6.1.0(postcss@8.5.3)
+ postcss-discard-comments: 6.0.2(postcss@8.5.3)
+ postcss-discard-duplicates: 6.0.3(postcss@8.5.3)
+ postcss-discard-empty: 6.0.3(postcss@8.5.3)
+ postcss-discard-overridden: 6.0.2(postcss@8.5.3)
+ postcss-merge-longhand: 6.0.5(postcss@8.5.3)
+ postcss-merge-rules: 6.1.1(postcss@8.5.3)
+ postcss-minify-font-values: 6.1.0(postcss@8.5.3)
+ postcss-minify-gradients: 6.0.3(postcss@8.5.3)
+ postcss-minify-params: 6.1.0(postcss@8.5.3)
+ postcss-minify-selectors: 6.0.4(postcss@8.5.3)
+ postcss-normalize-charset: 6.0.2(postcss@8.5.3)
+ postcss-normalize-display-values: 6.0.2(postcss@8.5.3)
+ postcss-normalize-positions: 6.0.2(postcss@8.5.3)
+ postcss-normalize-repeat-style: 6.0.2(postcss@8.5.3)
+ postcss-normalize-string: 6.0.2(postcss@8.5.3)
+ postcss-normalize-timing-functions: 6.0.2(postcss@8.5.3)
+ postcss-normalize-unicode: 6.1.0(postcss@8.5.3)
+ postcss-normalize-url: 6.0.2(postcss@8.5.3)
+ postcss-normalize-whitespace: 6.0.2(postcss@8.5.3)
+ postcss-ordered-values: 6.0.2(postcss@8.5.3)
+ postcss-reduce-initial: 6.1.0(postcss@8.5.3)
+ postcss-reduce-transforms: 6.0.2(postcss@8.5.3)
+ postcss-svgo: 6.0.3(postcss@8.5.3)
+ postcss-unique-selectors: 6.0.4(postcss@8.5.3)
+
+ cssnano-utils@4.0.2(postcss@8.5.3):
+ dependencies:
+ postcss: 8.5.3
+
+ cssnano@6.1.2(postcss@8.5.3):
+ dependencies:
+ cssnano-preset-default: 6.1.2(postcss@8.5.3)
+ lilconfig: 3.1.3
+ postcss: 8.5.3
- /csso@4.2.0:
- resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
- engines: {node: '>=8.0.0'}
+ csso@4.2.0:
dependencies:
css-tree: 1.1.3
- dev: true
- /csso@5.0.5:
- resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+ csso@5.0.5:
dependencies:
css-tree: 2.2.1
- dev: false
-
- /cssom@0.3.8:
- resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
- dev: true
-
- /cssom@0.5.0:
- resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==}
- dev: true
-
- /cssstyle@2.3.0:
- resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
- engines: {node: '>=8'}
- dependencies:
- cssom: 0.3.8
- dev: true
- /cssstyle@4.0.1:
- resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==}
- engines: {node: '>=18'}
+ cssstyle@4.3.1:
dependencies:
- rrweb-cssom: 0.6.0
- dev: true
+ '@asamuzakjp/css-color': 3.1.7
+ rrweb-cssom: 0.8.0
- /csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ csstype@3.1.3: {}
- /cwise-compiler@1.1.3:
- resolution: {integrity: sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==}
+ cwise-compiler@1.1.3:
dependencies:
uniq: 1.0.1
- dev: false
- /d3-array@2.12.1:
- resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
+ d3-array@1.2.4: {}
+
+ d3-array@2.12.1:
dependencies:
internmap: 1.0.1
- dev: true
- /d3-color@1.4.1:
- resolution: {integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==}
- dev: true
+ d3-color@1.4.1: {}
- /d3-color@2.0.0:
- resolution: {integrity: sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==}
- dev: true
+ d3-color@2.0.0: {}
- /d3-dispatch@1.0.6:
- resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==}
- dev: true
+ d3-dispatch@1.0.6: {}
- /d3-drag@1.2.5:
- resolution: {integrity: sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==}
+ d3-drag@1.2.5:
dependencies:
d3-dispatch: 1.0.6
d3-selection: 1.4.2
- dev: true
- /d3-ease@1.0.7:
- resolution: {integrity: sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==}
- dev: true
+ d3-ease@1.0.7: {}
- /d3-fg@6.14.0:
- resolution: {integrity: sha512-M4QpFZOEvAq4ZDzwabJp2inL+KXS85T2SQl00zWwjnolaCJR+gHxUbT7Ha4GxTeW1NXwzbykhv/38I1fxQqbyg==}
+ d3-fg@6.14.0:
dependencies:
d3-array: 2.12.1
d3-dispatch: 1.0.6
@@ -14994,60 +26124,44 @@ packages:
d3-zoom: 1.8.3
escape-string-regexp: 1.0.5
hsl-to-rgb-for-reals: 1.1.1
- dev: true
- /d3-format@2.0.0:
- resolution: {integrity: sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==}
- dev: true
+ d3-format@2.0.0: {}
- /d3-hierarchy@1.1.9:
- resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==}
- dev: true
+ d3-geo@1.7.1:
+ dependencies:
+ d3-array: 1.2.4
- /d3-interpolate@1.4.0:
- resolution: {integrity: sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==}
+ d3-hierarchy@1.1.9: {}
+
+ d3-interpolate@1.4.0:
dependencies:
d3-color: 1.4.1
- dev: true
- /d3-interpolate@2.0.1:
- resolution: {integrity: sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==}
+ d3-interpolate@2.0.1:
dependencies:
d3-color: 2.0.0
- dev: true
- /d3-scale@3.3.0:
- resolution: {integrity: sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==}
+ d3-scale@3.3.0:
dependencies:
d3-array: 2.12.1
d3-format: 2.0.0
d3-interpolate: 2.0.1
d3-time: 2.1.1
d3-time-format: 3.0.0
- dev: true
- /d3-selection@1.4.2:
- resolution: {integrity: sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==}
- dev: true
+ d3-selection@1.4.2: {}
- /d3-time-format@3.0.0:
- resolution: {integrity: sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==}
+ d3-time-format@3.0.0:
dependencies:
d3-time: 2.1.1
- dev: true
- /d3-time@2.1.1:
- resolution: {integrity: sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==}
+ d3-time@2.1.1:
dependencies:
d3-array: 2.12.1
- dev: true
- /d3-timer@1.0.10:
- resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==}
- dev: true
+ d3-timer@1.0.10: {}
- /d3-transition@1.3.2:
- resolution: {integrity: sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==}
+ d3-transition@1.3.2:
dependencies:
d3-color: 1.4.1
d3-dispatch: 1.0.6
@@ -15055,283 +26169,157 @@ packages:
d3-interpolate: 1.4.0
d3-selection: 1.4.2
d3-timer: 1.0.10
- dev: true
- /d3-zoom@1.8.3:
- resolution: {integrity: sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==}
+ d3-voronoi@1.1.2: {}
+
+ d3-zoom@1.8.3:
dependencies:
d3-dispatch: 1.0.6
d3-drag: 1.2.5
d3-interpolate: 1.4.0
d3-selection: 1.4.2
d3-transition: 1.3.2
- dev: true
- /dargs@7.0.0:
- resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
- engines: {node: '>=8'}
- dev: true
+ dargs@7.0.0: {}
- /dash-ast@1.0.0:
- resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==}
- dev: true
+ dash-ast@1.0.0: {}
- /dashdash@1.14.1:
- resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==}
- engines: {node: '>=0.10'}
+ dashdash@1.14.1:
dependencies:
assert-plus: 1.0.0
- dev: false
- /dasherize@2.0.0:
- resolution: {integrity: sha512-APql/TZ6FdLEpf2z7/X2a2zyqK8juYtqaSVqxw9mYoQ64CXkfU15AeLh8pUszT8+fnYjgm6t0aIYpWKJbnLkuA==}
- dev: false
+ dasherize@2.0.0: {}
- /data-uri-to-buffer@0.0.3:
- resolution: {integrity: sha512-Cp+jOa8QJef5nXS5hU7M1DWzXPEIoVR3kbV0dQuVGwROZg8bGf1DcCnkmajBTnvghTtSNMUdRrPjgaT6ZQucbw==}
- dev: false
+ data-uri-to-buffer@0.0.3: {}
- /data-urls@3.0.2:
- resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==}
- engines: {node: '>=12'}
- dependencies:
- abab: 2.0.6
- whatwg-mimetype: 3.0.0
- whatwg-url: 11.0.0
- dev: true
+ data-uri-to-buffer@4.0.1: {}
- /data-urls@5.0.0:
- resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
- engines: {node: '>=18'}
+ data-urls@5.0.0:
dependencies:
whatwg-mimetype: 4.0.0
- whatwg-url: 14.0.0
- dev: true
+ whatwg-url: 14.2.0
- /date-fns@2.30.0:
- resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
- engines: {node: '>=0.11'}
+ data-view-buffer@1.0.2:
dependencies:
- '@babel/runtime': 7.23.5
- dev: true
-
- /dateformat@3.0.2:
- resolution: {integrity: sha512-EelsCzH0gMC2YmXuMeaZ3c6md1sUJQxyb1XXc4xaisi/K6qKukqZhKPrEQyRkdNIncgYyLoDTReq0nNyuKerTg==}
- dev: true
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-data-view: 1.0.2
- /dateformat@3.0.3:
- resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==}
- dev: true
+ data-view-byte-length@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-data-view: 1.0.2
- /de-indent@1.0.2:
- resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
+ data-view-byte-offset@1.0.1:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-data-view: 1.0.2
- /debounce-fn@5.1.2:
- resolution: {integrity: sha512-Sr4SdOZ4vw6eQDvPYNxHogvrxmCIld/VenC5JbNrFwMiwd7lY/Z18ZFfo+EWNG4DD9nFlAujWAo/wGuOPHmy5A==}
- engines: {node: '>=12'}
+ date-fns@2.30.0:
dependencies:
- mimic-fn: 4.0.0
- dev: false
+ '@babel/runtime': 7.27.1
- /debounce@1.2.1:
- resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
+ dateformat@3.0.2: {}
- /debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.0.0
- dev: false
+ dateformat@3.0.3: {}
- /debug@3.2.7(supports-color@5.5.0):
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.3
- supports-color: 5.5.0
- dev: true
+ de-indent@1.0.2: {}
- /debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ debounce-fn@5.1.2:
dependencies:
- ms: 2.1.2
+ mimic-fn: 4.0.0
- /debug@4.3.6:
- resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ debounce@1.2.1: {}
+
+ debug@2.6.9:
dependencies:
- ms: 2.1.2
- dev: false
+ ms: 2.0.0
- /debug@4.3.7:
- resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ debug@3.2.7(supports-color@5.5.0):
dependencies:
ms: 2.1.3
+ optionalDependencies:
+ supports-color: 5.5.0
- /debug@4.4.0:
- resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ debug@4.4.0:
dependencies:
ms: 2.1.3
- /decamelize-keys@1.1.1:
- resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
- engines: {node: '>=0.10.0'}
+ decamelize-keys@1.1.1:
dependencies:
decamelize: 1.2.0
map-obj: 1.0.1
- dev: true
- /decamelize@1.2.0:
- resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
- engines: {node: '>=0.10.0'}
+ decamelize@1.2.0: {}
- /decimal.js@10.4.3:
- resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
- dev: true
+ decimal.js@10.5.0: {}
- /decode-named-character-reference@1.0.2:
- resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
+ decode-named-character-reference@1.1.0:
dependencies:
character-entities: 2.0.2
- /decode-uri-component@0.2.2:
- resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
- engines: {node: '>=0.10'}
- dev: false
+ decode-uri-component@0.2.2: {}
- /decompress-response@6.0.0:
- resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
- engines: {node: '>=10'}
+ decompress-response@6.0.0:
dependencies:
mimic-response: 3.1.0
- dev: false
- /dedent@0.7.0:
- resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
- dev: true
+ dedent@0.7.0: {}
- /dedent@1.5.1:
- resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==}
- peerDependencies:
- babel-plugin-macros: ^3.1.0
- peerDependenciesMeta:
- babel-plugin-macros:
- optional: true
- dev: true
+ dedent@1.6.0: {}
- /deep-eql@4.1.3:
- resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
- engines: {node: '>=6'}
+ deep-eql@4.1.4:
dependencies:
- type-detect: 4.0.8
- dev: true
+ type-detect: 4.1.0
- /deep-extend@0.6.0:
- resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
- engines: {node: '>=4.0.0'}
- dev: false
+ deep-extend@0.6.0: {}
- /deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ deep-is@0.1.4: {}
- /deepmerge@4.3.1:
- resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
- engines: {node: '>=0.10.0'}
+ deepmerge-ts@7.1.5: {}
- /default-browser-id@5.0.0:
- resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
- engines: {node: '>=18'}
- dev: false
+ deepmerge@4.3.1: {}
+
+ default-browser-id@5.0.0: {}
- /default-browser@5.2.1:
- resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
- engines: {node: '>=18'}
+ default-browser@5.2.1:
dependencies:
bundle-name: 4.1.0
default-browser-id: 5.0.0
- dev: false
- /default-gateway@6.0.3:
- resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
- engines: {node: '>= 10'}
+ default-gateway@6.0.3:
dependencies:
execa: 5.1.1
- dev: false
- /defaults@1.0.4:
- resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+ defaults@1.0.4:
dependencies:
clone: 1.0.4
- dev: true
- /defer-to-connect@2.0.1:
- resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
- engines: {node: '>=10'}
- dev: false
+ defer-to-connect@2.0.1: {}
- /define-data-property@1.1.4:
- resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
- engines: {node: '>= 0.4'}
+ define-data-property@1.1.4:
dependencies:
- es-define-property: 1.0.0
+ es-define-property: 1.0.1
es-errors: 1.3.0
- gopd: 1.0.1
+ gopd: 1.2.0
- /define-lazy-prop@2.0.0:
- resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
- engines: {node: '>=8'}
+ define-lazy-prop@2.0.0: {}
- /define-lazy-prop@3.0.0:
- resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
- engines: {node: '>=12'}
- dev: false
+ define-lazy-prop@3.0.0: {}
- /define-properties@1.2.1:
- resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
- engines: {node: '>= 0.4'}
+ define-properties@1.2.1:
dependencies:
define-data-property: 1.1.4
has-property-descriptors: 1.0.2
object-keys: 1.1.1
- /defined@1.0.1:
- resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
- dev: true
+ defined@1.0.1: {}
- /del@6.1.1:
- resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==}
- engines: {node: '>=10'}
+ defu@6.1.4: {}
+
+ del@6.1.1:
dependencies:
globby: 11.1.0
graceful-fs: 4.2.11
@@ -15341,11 +26329,8 @@ packages:
p-map: 4.0.0
rimraf: 3.0.2
slash: 3.0.0
- dev: false
- /del@7.0.0:
- resolution: {integrity: sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==}
- engines: {node: '>=14.16'}
+ del@7.0.0:
dependencies:
globby: 13.2.2
graceful-fs: 4.2.11
@@ -15355,602 +26340,418 @@ packages:
p-map: 5.5.0
rimraf: 3.0.2
slash: 4.0.0
- dev: true
- /delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
+ delayed-stream@1.0.0: {}
- /delegate@3.2.0:
- resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==}
- dev: false
+ delegate@3.2.0: {}
- /delegates@1.0.0:
- resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
- dev: true
+ delegates@1.0.0: {}
- /deno-vm@0.12.0(patch_hash=4b6o6pkokhnxhk5mw3ayiagdxm):
- resolution: {integrity: sha512-JcQroHIjemG7kwADvdW9mjVqSuCsTHyQbL8INwZFAch+kKNUvhWiDcBG3KBCSeIRoErW3MoU5/7riPyimzTFUg==}
- engines: {node: '>= 12'}
+ deno-vm@0.13.0(patch_hash=2a6d5036373ec04b771962451fe9bd1f41cd0764a94698793f994de3703ec90d):
dependencies:
base64-js: 1.5.1
ws: 7.5.10
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- dev: false
- patched: true
- /denque@1.5.1:
- resolution: {integrity: sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==}
- engines: {node: '>=0.10'}
+ denque@1.5.1: {}
- /depd@1.1.2:
- resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
- engines: {node: '>= 0.6'}
- dev: false
+ denque@2.1.0: {}
- /depd@2.0.0:
- resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
- engines: {node: '>= 0.8'}
- dev: false
+ depd@1.1.2: {}
- /deprecation@2.3.1:
- resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
+ depd@2.0.0: {}
- /deps-sort@2.0.1:
- resolution: {integrity: sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==}
- hasBin: true
+ deprecation@2.3.1: {}
+
+ deps-sort@2.0.1:
dependencies:
JSONStream: 1.3.5
shasum-object: 1.0.0
subarg: 1.0.0
through2: 2.0.5
- dev: true
- /dequal@2.0.3:
- resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
- engines: {node: '>=6'}
+ dequal@2.0.3: {}
- /des.js@1.1.0:
- resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==}
+ des.js@1.1.0:
dependencies:
inherits: 2.0.4
minimalistic-assert: 1.0.1
- dev: true
- /destroy@1.2.0:
- resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
- dev: false
+ destr@2.0.5: {}
- /detect-indent@5.0.0:
- resolution: {integrity: sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==}
- engines: {node: '>=4'}
- dev: true
+ destroy@1.2.0: {}
- /detect-newline@3.1.0:
- resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
- engines: {node: '>=8'}
- dev: true
+ detect-indent@5.0.0: {}
- /detect-node@2.1.0:
- resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
- dev: false
+ detect-libc@2.0.2: {}
- /detect-port-alt@1.1.6:
- resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==}
- engines: {node: '>= 4.2.1'}
- hasBin: true
+ detect-libc@2.0.4:
+ optional: true
+
+ detect-newline@3.1.0: {}
+
+ detect-node@2.1.0: {}
+
+ detect-port-alt@1.1.6:
dependencies:
address: 1.2.2
debug: 2.6.9
transitivePeerDependencies:
- supports-color
- dev: false
- /detect-port@1.5.1:
- resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==}
- hasBin: true
+ detect-port@1.6.1:
dependencies:
address: 1.2.2
debug: 4.4.0
transitivePeerDependencies:
- supports-color
- dev: false
- /detective@5.2.1:
- resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
- engines: {node: '>=0.8.0'}
- hasBin: true
+ detective@5.2.1:
dependencies:
acorn-node: 1.8.2
defined: 1.0.1
minimist: 1.2.8
- dev: true
- /devlop@1.1.0:
- resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+ devlop@1.1.0:
dependencies:
dequal: 2.0.3
- /diff-match-patch@1.0.5:
- resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==}
- dev: true
+ diff-match-patch@1.0.5: {}
- /diff-sequences@27.5.1:
- resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
- dev: false
+ diff-sequences@27.5.1: {}
- /diff-sequences@29.6.3:
- resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: true
+ diff-sequences@29.6.3: {}
- /diffie-hellman@5.0.3:
- resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==}
+ diffie-hellman@5.0.3:
dependencies:
- bn.js: 4.12.0
+ bn.js: 4.12.2
miller-rabin: 4.0.1
randombytes: 2.1.0
- dev: true
- /dijkstrajs@1.0.3:
- resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
- dev: false
+ dijkstrajs@1.0.3: {}
- /dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
+ dir-glob@3.0.1:
dependencies:
path-type: 4.0.0
- /dns-equal@1.0.0:
- resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==}
- dev: false
-
- /dns-packet@5.6.1:
- resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
- engines: {node: '>=6'}
+ dns-packet@5.6.1:
dependencies:
- '@leichtgewicht/ip-codec': 2.0.4
- dev: false
+ '@leichtgewicht/ip-codec': 2.0.5
- /dom-align@1.12.4:
- resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==}
- dev: false
+ dom-align@1.12.4: {}
- /dom-converter@0.2.0:
- resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
+ dom-converter@0.2.0:
dependencies:
utila: 0.4.0
- dev: false
- /dom-serializer@0.2.2:
- resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==}
+ dom-serializer@0.2.2:
dependencies:
domelementtype: 2.3.0
entities: 2.2.0
- dev: true
- /dom-serializer@1.4.1:
- resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+ dom-serializer@1.4.1:
dependencies:
domelementtype: 2.3.0
domhandler: 4.3.1
entities: 2.2.0
- /dom-serializer@2.0.0:
- resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+ dom-serializer@2.0.0:
dependencies:
domelementtype: 2.3.0
domhandler: 5.0.3
entities: 4.5.0
- dev: false
-
- /domain-browser@1.2.0:
- resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==}
- engines: {node: '>=0.4', npm: '>=1.2'}
- dev: true
- /domelementtype@1.3.1:
- resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==}
- dev: true
+ domain-browser@1.2.0: {}
- /domelementtype@2.3.0:
- resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+ domelementtype@1.3.1: {}
- /domexception@4.0.0:
- resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}
- engines: {node: '>=12'}
- deprecated: Use your platform's native DOMException instead
- dependencies:
- webidl-conversions: 7.0.0
- dev: true
+ domelementtype@2.3.0: {}
- /domhandler@2.4.2:
- resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==}
+ domhandler@2.4.2:
dependencies:
domelementtype: 1.3.1
- dev: true
- /domhandler@4.3.1:
- resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
- engines: {node: '>= 4'}
+ domhandler@4.3.1:
dependencies:
domelementtype: 2.3.0
- /domhandler@5.0.3:
- resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
- engines: {node: '>= 4'}
+ domhandler@5.0.3:
dependencies:
domelementtype: 2.3.0
- dev: false
- /domutils@1.7.0:
- resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==}
+ domutils@1.7.0:
dependencies:
dom-serializer: 0.2.2
domelementtype: 1.3.1
- dev: true
- /domutils@2.8.0:
- resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+ domutils@2.8.0:
dependencies:
dom-serializer: 1.4.1
domelementtype: 2.3.0
domhandler: 4.3.1
- /domutils@3.1.0:
- resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
+ domutils@3.2.2:
dependencies:
dom-serializer: 2.0.0
domelementtype: 2.3.0
domhandler: 5.0.3
- dev: false
- /dot-case@3.0.4:
- resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+ dot-case@3.0.4:
dependencies:
no-case: 3.0.4
- tslib: 2.8.0
+ tslib: 2.8.1
- /dot-prop@5.3.0:
- resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
- engines: {node: '>=8'}
+ dot-prop@5.3.0:
dependencies:
is-obj: 2.0.0
- dev: true
- /dot-prop@6.0.1:
- resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
- engines: {node: '>=10'}
+ dot-prop@6.0.1:
dependencies:
is-obj: 2.0.0
- dev: false
- /dot-prop@8.0.2:
- resolution: {integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==}
- engines: {node: '>=16'}
+ dot-prop@8.0.2:
dependencies:
type-fest: 3.13.1
- dev: false
- /dotenv-expand@10.0.0:
- resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==}
- engines: {node: '>=12'}
- dev: true
+ dotenv-expand@10.0.0: {}
- /dotenv-expand@5.1.0:
- resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==}
- dev: true
+ dotenv-expand@5.1.0: {}
- /dotenv@10.0.0:
- resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==}
- engines: {node: '>=10'}
- dev: true
+ dotenv@10.0.0: {}
- /dotenv@16.3.1:
- resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==}
- engines: {node: '>=12'}
- dev: true
+ dotenv@16.3.2: {}
- /downloadjs@1.4.7:
- resolution: {integrity: sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q==}
- dev: false
+ dotenv@16.6.1: {}
- /duplexer2@0.1.4:
- resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==}
+ downloadjs@1.4.7: {}
+
+ dunder-proto@1.0.1:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
+ duplexer2@0.1.4:
dependencies:
readable-stream: 2.3.8
- dev: true
- /duplexer@0.1.2:
- resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+ duplexer@0.1.2: {}
- /duplexify@4.1.2:
- resolution: {integrity: sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==}
+ duplexify@4.1.3:
dependencies:
end-of-stream: 1.4.4
inherits: 2.0.4
readable-stream: 3.6.2
- stream-shift: 1.0.1
- dev: true
+ stream-shift: 1.0.3
- /eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ earcut@2.2.4: {}
- /ecc-jsbn@0.1.2:
- resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==}
+ eastasianwidth@0.2.0: {}
+
+ ecc-jsbn@0.1.2:
dependencies:
jsbn: 0.1.1
safer-buffer: 2.1.2
- dev: false
- /ecdsa-sig-formatter@1.0.11:
- resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==}
+ ecdsa-sig-formatter@1.0.11:
dependencies:
safe-buffer: 5.2.1
- dev: false
- /ee-first@1.1.1:
- resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- dev: false
+ ee-first@1.1.1: {}
- /ejs@3.1.9:
- resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==}
- engines: {node: '>=0.10.0'}
- hasBin: true
+ effect@3.16.12:
dependencies:
- jake: 10.8.5
- dev: true
+ '@standard-schema/spec': 1.0.0
+ fast-check: 3.23.2
- /electron-to-chromium@1.4.607:
- resolution: {integrity: sha512-YUlnPwE6eYxzwBnFmawA8LiLRfm70R2aJRIUv0n03uHt/cUzzYACOogmvk8M2+hVzt/kB80KJXx7d5f5JofPvQ==}
+ ejs@3.1.10:
+ dependencies:
+ jake: 10.8.5
- /electron-to-chromium@1.5.46:
- resolution: {integrity: sha512-1XDk0Z8/YRgB2t5GeEg8DPK592DLjVmd/5uwAu6c/S4Z0CUwV/RwYqe5GWxQqcoN3bJ5U7hYMiMRPZzpCzSBhQ==}
- dev: false
+ electron-to-chromium@1.5.150: {}
- /elliptic@6.5.4:
- resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==}
+ elliptic@6.6.1:
dependencies:
- bn.js: 4.12.0
+ bn.js: 4.12.2
brorand: 1.1.0
hash.js: 1.1.7
hmac-drbg: 1.0.1
inherits: 2.0.4
minimalistic-assert: 1.0.1
minimalistic-crypto-utils: 1.0.1
- dev: true
- /emittery@0.13.1:
- resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
- engines: {node: '>=12'}
- dev: true
+ emittery@0.13.1: {}
- /emoji-regex@10.4.0:
- resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
- dev: true
+ emoji-regex@10.4.0: {}
- /emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ emoji-regex@8.0.0: {}
- /emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ emoji-regex@9.2.2: {}
- /emojilib@2.4.0:
- resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==}
- dev: false
+ emojilib@2.4.0: {}
- /emojis-list@3.0.0:
- resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
- engines: {node: '>= 4'}
+ emojis-list@3.0.0: {}
- /emoticon@4.0.1:
- resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==}
- dev: false
+ emoticon@4.1.0: {}
- /encode-utf8@1.0.3:
- resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==}
- dev: false
+ empathic@2.0.0: {}
- /encodeurl@1.0.2:
- resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
- engines: {node: '>= 0.8'}
- dev: false
+ encodeurl@1.0.2: {}
- /encodeurl@2.0.0:
- resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
- engines: {node: '>= 0.8'}
- dev: false
+ encodeurl@2.0.0: {}
- /encoding@0.1.13:
- resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
- requiresBuild: true
+ encoding@0.1.13:
dependencies:
iconv-lite: 0.6.3
optional: true
- /end-of-stream@1.4.4:
- resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+ end-of-stream@1.4.4:
dependencies:
once: 1.4.0
- /enhanced-resolve@5.15.0:
- resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
- engines: {node: '>=10.13.0'}
+ enhanced-resolve@5.18.1:
dependencies:
graceful-fs: 4.2.11
tapable: 2.2.1
- dev: false
- /enquirer@2.3.6:
- resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==}
- engines: {node: '>=8.6'}
+ enquirer@2.3.6:
dependencies:
ansi-colors: 4.1.3
- dev: true
- /entities@1.1.2:
- resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==}
- dev: true
+ entities@1.1.2: {}
- /entities@2.2.0:
- resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+ entities@2.2.0: {}
- /entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
+ entities@4.5.0: {}
- /env-paths@2.2.1:
- resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
- engines: {node: '>=6'}
+ entities@6.0.0: {}
- /env-paths@3.0.0:
- resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: false
+ env-paths@2.2.1: {}
- /env-string@1.0.1:
- resolution: {integrity: sha512-/DhCJDf5DSFK32joQiWRpWrT0h7p3hVQfMKxiBb7Nt8C8IF8BYyPtclDnuGGLOoj16d/8udKeiE7JbkotDmorQ==}
- dev: true
+ env-paths@3.0.0: {}
- /envinfo@7.8.1:
- resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
+ env-string@1.0.1: {}
- /environment@1.1.0:
- resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
- engines: {node: '>=18'}
- dev: true
+ envinfo@7.8.1: {}
- /err-code@2.0.3:
- resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==}
+ environment@1.1.0: {}
- /error-ex@1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ err-code@2.0.3: {}
+
+ error-ex@1.3.2:
dependencies:
is-arrayish: 0.2.1
- /es-abstract@1.22.3:
- resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==}
- engines: {node: '>= 0.4'}
- dependencies:
- array-buffer-byte-length: 1.0.0
- arraybuffer.prototype.slice: 1.0.2
- available-typed-arrays: 1.0.5
- call-bind: 1.0.7
- es-set-tostringtag: 2.0.2
- es-to-primitive: 1.2.1
- function.prototype.name: 1.1.6
- get-intrinsic: 1.2.4
- get-symbol-description: 1.0.0
- globalthis: 1.0.3
- gopd: 1.0.1
+ es-abstract@1.23.9:
+ dependencies:
+ array-buffer-byte-length: 1.0.2
+ arraybuffer.prototype.slice: 1.0.4
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ data-view-buffer: 1.0.2
+ data-view-byte-length: 1.0.2
+ data-view-byte-offset: 1.0.1
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ es-set-tostringtag: 2.1.0
+ es-to-primitive: 1.3.0
+ function.prototype.name: 1.1.8
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
+ get-symbol-description: 1.1.0
+ globalthis: 1.0.4
+ gopd: 1.2.0
has-property-descriptors: 1.0.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
+ has-proto: 1.2.0
+ has-symbols: 1.1.0
hasown: 2.0.2
- internal-slot: 1.0.6
- is-array-buffer: 3.0.2
+ internal-slot: 1.1.0
+ is-array-buffer: 3.0.5
is-callable: 1.2.7
- is-negative-zero: 2.0.2
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.2
- is-string: 1.0.7
- is-typed-array: 1.1.12
- is-weakref: 1.0.2
- object-inspect: 1.13.2
+ is-data-view: 1.0.2
+ is-regex: 1.2.1
+ is-shared-array-buffer: 1.0.4
+ is-string: 1.1.1
+ is-typed-array: 1.1.15
+ is-weakref: 1.1.1
+ math-intrinsics: 1.1.0
+ object-inspect: 1.13.4
object-keys: 1.1.1
- object.assign: 4.1.5
- regexp.prototype.flags: 1.5.1
- safe-array-concat: 1.0.1
- safe-regex-test: 1.0.0
- string.prototype.trim: 1.2.8
- string.prototype.trimend: 1.0.7
- string.prototype.trimstart: 1.0.7
- typed-array-buffer: 1.0.0
- typed-array-byte-length: 1.0.0
- typed-array-byte-offset: 1.0.0
- typed-array-length: 1.0.4
- unbox-primitive: 1.0.2
- which-typed-array: 1.1.13
- dev: true
-
- /es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
- engines: {node: '>= 0.4'}
+ object.assign: 4.1.7
+ own-keys: 1.0.1
+ regexp.prototype.flags: 1.5.4
+ safe-array-concat: 1.1.3
+ safe-push-apply: 1.0.0
+ safe-regex-test: 1.1.0
+ set-proto: 1.0.0
+ string.prototype.trim: 1.2.10
+ string.prototype.trimend: 1.0.9
+ string.prototype.trimstart: 1.0.8
+ typed-array-buffer: 1.0.3
+ typed-array-byte-length: 1.0.3
+ typed-array-byte-offset: 1.0.4
+ typed-array-length: 1.0.7
+ unbox-primitive: 1.1.0
+ which-typed-array: 1.1.19
+
+ es-define-property@1.0.1: {}
+
+ es-errors@1.3.0: {}
+
+ es-module-lexer@1.7.0: {}
+
+ es-object-atoms@1.1.1:
dependencies:
- get-intrinsic: 1.2.4
-
- /es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
-
- /es-module-lexer@1.4.1:
- resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
- dev: false
+ es-errors: 1.3.0
- /es-set-tostringtag@2.0.2:
- resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==}
- engines: {node: '>= 0.4'}
+ es-set-tostringtag@2.1.0:
dependencies:
- get-intrinsic: 1.2.4
- has-tostringtag: 1.0.0
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ has-tostringtag: 1.0.2
hasown: 2.0.2
- dev: true
- /es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
- engines: {node: '>= 0.4'}
+ es-to-primitive@1.3.0:
dependencies:
is-callable: 1.2.7
- is-date-object: 1.0.5
- is-symbol: 1.0.4
- dev: true
+ is-date-object: 1.1.0
+ is-symbol: 1.1.1
- /esbuild-copy-static-files@0.1.0:
- resolution: {integrity: sha512-KlpmYqANA1t2nZavEdItfcOjJC6wbHA21v35HJWN32DddGTWKNNGDKljUzbCPojmpD+wAw8/DXr5abJ4jFCE0w==}
- dev: true
+ es-toolkit@1.39.10: {}
- /esbuild@0.19.8:
- resolution: {integrity: sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
+ esbuild-copy-static-files@0.1.0: {}
+
+ esbuild@0.19.12:
optionalDependencies:
- '@esbuild/android-arm': 0.19.8
- '@esbuild/android-arm64': 0.19.8
- '@esbuild/android-x64': 0.19.8
- '@esbuild/darwin-arm64': 0.19.8
- '@esbuild/darwin-x64': 0.19.8
- '@esbuild/freebsd-arm64': 0.19.8
- '@esbuild/freebsd-x64': 0.19.8
- '@esbuild/linux-arm': 0.19.8
- '@esbuild/linux-arm64': 0.19.8
- '@esbuild/linux-ia32': 0.19.8
- '@esbuild/linux-loong64': 0.19.8
- '@esbuild/linux-mips64el': 0.19.8
- '@esbuild/linux-ppc64': 0.19.8
- '@esbuild/linux-riscv64': 0.19.8
- '@esbuild/linux-s390x': 0.19.8
- '@esbuild/linux-x64': 0.19.8
- '@esbuild/netbsd-x64': 0.19.8
- '@esbuild/openbsd-x64': 0.19.8
- '@esbuild/sunos-x64': 0.19.8
- '@esbuild/win32-arm64': 0.19.8
- '@esbuild/win32-ia32': 0.19.8
- '@esbuild/win32-x64': 0.19.8
-
- /esbuild@0.21.5:
- resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
+ '@esbuild/aix-ppc64': 0.19.12
+ '@esbuild/android-arm': 0.19.12
+ '@esbuild/android-arm64': 0.19.12
+ '@esbuild/android-x64': 0.19.12
+ '@esbuild/darwin-arm64': 0.19.12
+ '@esbuild/darwin-x64': 0.19.12
+ '@esbuild/freebsd-arm64': 0.19.12
+ '@esbuild/freebsd-x64': 0.19.12
+ '@esbuild/linux-arm': 0.19.12
+ '@esbuild/linux-arm64': 0.19.12
+ '@esbuild/linux-ia32': 0.19.12
+ '@esbuild/linux-loong64': 0.19.12
+ '@esbuild/linux-mips64el': 0.19.12
+ '@esbuild/linux-ppc64': 0.19.12
+ '@esbuild/linux-riscv64': 0.19.12
+ '@esbuild/linux-s390x': 0.19.12
+ '@esbuild/linux-x64': 0.19.12
+ '@esbuild/netbsd-x64': 0.19.12
+ '@esbuild/openbsd-x64': 0.19.12
+ '@esbuild/sunos-x64': 0.19.12
+ '@esbuild/win32-arm64': 0.19.12
+ '@esbuild/win32-ia32': 0.19.12
+ '@esbuild/win32-x64': 0.19.12
+
+ esbuild@0.21.5:
optionalDependencies:
'@esbuild/aix-ppc64': 0.21.5
'@esbuild/android-arm': 0.21.5
@@ -15975,130 +26776,76 @@ packages:
'@esbuild/win32-arm64': 0.21.5
'@esbuild/win32-ia32': 0.21.5
'@esbuild/win32-x64': 0.21.5
- dev: true
-
- /escalade@3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
- engines: {node: '>=6'}
- /escalade@3.2.0:
- resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
- engines: {node: '>=6'}
- dev: false
+ escalade@3.2.0: {}
- /escape-goat@4.0.0:
- resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==}
- engines: {node: '>=12'}
- dev: false
+ escape-goat@4.0.0: {}
- /escape-html@1.0.3:
- resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
- dev: false
+ escape-html@1.0.3: {}
- /escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
+ escape-string-regexp@1.0.5: {}
- /escape-string-regexp@2.0.0:
- resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
- engines: {node: '>=8'}
+ escape-string-regexp@2.0.0: {}
- /escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
+ escape-string-regexp@4.0.0: {}
- /escape-string-regexp@5.0.0:
- resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
- engines: {node: '>=12'}
+ escape-string-regexp@5.0.0: {}
- /escodegen@2.1.0:
- resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
- engines: {node: '>=6.0'}
- hasBin: true
+ eslint-plugin-header@3.1.1(patch_hash=de105eeabb85127b2ef1c85bdeb93def6f686d3ae76651a405fb0a41028267ce)(eslint@9.26.0(jiti@2.5.1)):
dependencies:
- esprima: 4.0.1
- estraverse: 5.3.0
- esutils: 2.0.3
- optionalDependencies:
- source-map: 0.6.1
- dev: true
+ eslint: 9.26.0(jiti@2.5.1)
- /eslint-plugin-header@3.1.1(patch_hash=b3o5exenray2xkoqu5gm4rau54)(eslint@9.22.0):
- resolution: {integrity: sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==}
- peerDependencies:
- eslint: '>=7.7.0'
+ eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1)):
dependencies:
- eslint: 9.22.0
- dev: true
- patched: true
+ eslint: 9.26.0(jiti@2.5.1)
+ optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)
- /eslint-plugin-vue@10.0.0(eslint@9.22.0)(vue-eslint-parser@10.1.1):
- resolution: {integrity: sha512-XKckedtajqwmaX6u1VnECmZ6xJt+YvlmMzBPZd+/sI3ub2lpYZyFnsyWo7c3nMOQKJQudeyk1lw/JxdgeKT64w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- vue-eslint-parser: ^10.0.0
+ eslint-plugin-vue@10.1.0(eslint@9.26.0(jiti@2.5.1))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.5.1))):
dependencies:
- '@eslint-community/eslint-utils': 4.5.1(eslint@9.22.0)
- eslint: 9.22.0
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.5.1))
+ eslint: 9.26.0(jiti@2.5.1)
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.1.2
- semver: 7.6.3
- vue-eslint-parser: 10.1.1(eslint@9.22.0)
+ semver: 7.7.1
+ vue-eslint-parser: 10.1.3(eslint@9.26.0(jiti@2.5.1))
xml-name-validator: 4.0.0
- dev: true
- /eslint-scope@5.1.1:
- resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
- engines: {node: '>=8.0.0'}
+ eslint-scope@5.1.1:
dependencies:
esrecurse: 4.3.0
estraverse: 4.3.0
- dev: false
- /eslint-scope@8.3.0:
- resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ eslint-scope@8.3.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
- /eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ eslint-visitor-keys@3.4.3: {}
- /eslint-visitor-keys@4.2.0:
- resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ eslint-visitor-keys@4.2.0: {}
- /eslint@9.22.0:
- resolution: {integrity: sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- hasBin: true
- peerDependencies:
- jiti: '*'
- peerDependenciesMeta:
- jiti:
- optional: true
+ eslint@9.26.0(jiti@2.5.1):
dependencies:
- '@eslint-community/eslint-utils': 4.5.1(eslint@9.22.0)
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.5.1))
'@eslint-community/regexpp': 4.12.1
- '@eslint/config-array': 0.19.2
- '@eslint/config-helpers': 0.1.0
- '@eslint/core': 0.12.0
- '@eslint/eslintrc': 3.3.0
- '@eslint/js': 9.22.0
- '@eslint/plugin-kit': 0.2.7
+ '@eslint/config-array': 0.20.0
+ '@eslint/config-helpers': 0.2.2
+ '@eslint/core': 0.13.0
+ '@eslint/eslintrc': 3.3.1
+ '@eslint/js': 9.26.0
+ '@eslint/plugin-kit': 0.2.8
'@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.4.2
- '@types/estree': 1.0.6
+ '@humanwhocodes/retry': 0.4.3
+ '@modelcontextprotocol/sdk': 1.11.0
+ '@types/estree': 1.0.7
'@types/json-schema': 7.0.15
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.3.7
+ debug: 4.4.0
escape-string-regexp: 4.0.0
eslint-scope: 8.3.0
eslint-visitor-keys: 4.2.0
@@ -16109,7 +26856,7 @@ packages:
file-entry-cache: 8.0.0
find-up: 5.0.0
glob-parent: 6.0.2
- ignore: 5.3.0
+ ignore: 5.3.2
imurmurhash: 0.1.4
is-glob: 4.0.3
json-stable-stringify-without-jsonify: 1.0.1
@@ -16117,129 +26864,84 @@ packages:
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.4
+ zod: 3.24.4
+ optionalDependencies:
+ jiti: 2.5.1
transitivePeerDependencies:
- supports-color
- /espree@10.3.0:
- resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ espree@10.3.0:
dependencies:
acorn: 8.14.1
acorn-jsx: 5.3.2(acorn@8.14.1)
eslint-visitor-keys: 4.2.0
- /esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
- hasBin: true
+ esprima@4.0.1: {}
- /esquery@1.6.0:
- resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
- engines: {node: '>=0.10'}
+ esquery@1.6.0:
dependencies:
estraverse: 5.3.0
- /esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
+ esrecurse@4.3.0:
dependencies:
estraverse: 5.3.0
- /esri-loader@3.7.0:
- resolution: {integrity: sha512-cB1Sw9EQjtW4mtT7eFBjn/6VaaIWNTjmTd2asnnEyuZk1xVSFRMCfLZSBSjZM7ZarDcVu5WIjOP0t0MYVu4hVQ==}
- dev: false
+ esri-loader@3.7.0: {}
- /estraverse@4.3.0:
- resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
- engines: {node: '>=4.0'}
- dev: false
+ estraverse@4.3.0: {}
- /estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
+ estraverse@5.3.0: {}
- /estree-is-member-expression@1.0.0:
- resolution: {integrity: sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg==}
- dev: true
+ estree-is-member-expression@1.0.0: {}
- /estree-util-attach-comments@3.0.0:
- resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
+ estree-util-attach-comments@3.0.0:
dependencies:
'@types/estree': 1.0.0
- dev: false
- /estree-util-build-jsx@3.0.1:
- resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+ estree-util-build-jsx@3.0.1:
dependencies:
- '@types/estree-jsx': 1.0.3
+ '@types/estree-jsx': 1.0.5
devlop: 1.1.0
estree-util-is-identifier-name: 3.0.0
estree-walker: 3.0.3
- dev: false
- /estree-util-is-identifier-name@3.0.0:
- resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
- dev: false
+ estree-util-is-identifier-name@3.0.0: {}
- /estree-util-to-js@2.0.0:
- resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+ estree-util-to-js@2.0.0:
dependencies:
- '@types/estree-jsx': 1.0.3
- astring: 1.8.6
+ '@types/estree-jsx': 1.0.5
+ astring: 1.9.0
source-map: 0.7.3
- dev: false
- /estree-util-value-to-estree@3.0.1:
- resolution: {integrity: sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==}
- engines: {node: '>=16.0.0'}
+ estree-util-value-to-estree@3.3.3:
dependencies:
'@types/estree': 1.0.0
- is-plain-obj: 4.1.0
- dev: false
- /estree-util-visit@2.0.0:
- resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+ estree-util-visit@2.0.0:
dependencies:
- '@types/estree-jsx': 1.0.3
- '@types/unist': 3.0.2
- dev: false
+ '@types/estree-jsx': 1.0.5
+ '@types/unist': 3.0.3
- /estree-walker@1.0.1:
- resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
- dev: true
+ estree-walker@1.0.1: {}
- /estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ estree-walker@2.0.2: {}
- /estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ estree-walker@3.0.3:
dependencies:
'@types/estree': 1.0.0
- dev: false
- /esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
+ esutils@2.0.3: {}
- /eta@2.2.0:
- resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==}
- engines: {node: '>=6.0.0'}
- dev: false
+ eta@2.2.0: {}
- /etag@1.8.1:
- resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
- engines: {node: '>= 0.6'}
+ etag@1.8.1: {}
- /eval@0.1.8:
- resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==}
- engines: {node: '>= 0.8'}
+ eval@0.1.8:
dependencies:
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
require-like: 0.1.2
- dev: false
- /event-stream@4.0.1:
- resolution: {integrity: sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==}
+ event-stream@4.0.1:
dependencies:
duplexer: 0.1.2
from: 0.1.7
@@ -16248,38 +26950,29 @@ packages:
split: 1.0.1
stream-combiner: 0.2.2
through: 2.3.8
- dev: false
- /event-target-shim@5.0.1:
- resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
- engines: {node: '>=6'}
- dev: false
+ event-target-shim@5.0.1: {}
- /eventemitter3@4.0.7:
- resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+ eventemitter3@4.0.7: {}
- /eventemitter3@5.0.1:
- resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
+ eventemitter3@5.0.1: {}
- /events@1.1.1:
- resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==}
- engines: {node: '>=0.4.x'}
- dev: false
+ events@1.1.1: {}
- /events@3.3.0:
- resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
- engines: {node: '>=0.8.x'}
+ events@3.3.0: {}
- /evp_bytestokey@1.0.3:
- resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==}
+ eventsource-parser@3.0.1: {}
+
+ eventsource@3.0.6:
+ dependencies:
+ eventsource-parser: 3.0.1
+
+ evp_bytestokey@1.0.3:
dependencies:
md5.js: 1.3.5
safe-buffer: 5.2.1
- dev: true
- /execa@0.9.0:
- resolution: {integrity: sha512-BbUMBiX4hqiHZUA5+JujIjNb6TyAlp2D5KLheMjMluwOuzcnylDL4AxZYLLn1n2AGB49eSWwyKvvEQoRpnAtmA==}
- engines: {node: '>=4'}
+ execa@0.9.0:
dependencies:
cross-spawn: 5.1.0
get-stream: 3.0.0
@@ -16288,24 +26981,18 @@ packages:
p-finally: 1.0.0
signal-exit: 3.0.7
strip-eof: 1.0.0
- dev: true
- /execa@1.0.0:
- resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
- engines: {node: '>=6'}
+ execa@1.0.0:
dependencies:
- cross-spawn: 6.0.5
+ cross-spawn: 6.0.6
get-stream: 4.1.0
is-stream: 1.1.0
npm-run-path: 2.0.2
p-finally: 1.0.0
signal-exit: 3.0.7
strip-eof: 1.0.0
- dev: false
- /execa@4.1.0:
- resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
- engines: {node: '>=10'}
+ execa@4.1.0:
dependencies:
cross-spawn: 7.0.6
get-stream: 5.2.0
@@ -16316,11 +27003,8 @@ packages:
onetime: 5.1.2
signal-exit: 3.0.7
strip-final-newline: 2.0.0
- dev: true
- /execa@5.0.0:
- resolution: {integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==}
- engines: {node: '>=10'}
+ execa@5.0.0:
dependencies:
cross-spawn: 7.0.6
get-stream: 6.0.1
@@ -16331,11 +27015,8 @@ packages:
onetime: 5.1.2
signal-exit: 3.0.7
strip-final-newline: 2.0.0
- dev: true
- /execa@5.1.1:
- resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
- engines: {node: '>=10'}
+ execa@5.1.1:
dependencies:
cross-spawn: 7.0.6
get-stream: 6.0.1
@@ -16347,9 +27028,7 @@ packages:
signal-exit: 3.0.7
strip-final-newline: 2.0.0
- /execa@8.0.1:
- resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
- engines: {node: '>=16.17'}
+ execa@8.0.1:
dependencies:
cross-spawn: 7.0.6
get-stream: 8.0.1
@@ -16360,22 +27039,14 @@ packages:
onetime: 6.0.0
signal-exit: 4.1.0
strip-final-newline: 3.0.0
- dev: true
- /execspawn@1.0.1:
- resolution: {integrity: sha512-s2k06Jy9i8CUkYe0+DxRlvtkZoOkwwfhB+Xxo5HGUtrISVW2m98jO2tr67DGRFxZwkjQqloA3v/tNtjhBRBieg==}
+ execspawn@1.0.1:
dependencies:
util-extend: 1.0.3
- dev: true
- /exit@0.1.2:
- resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
- engines: {node: '>= 0.8.0'}
- dev: true
+ exit-x@0.2.2: {}
- /expect@27.3.1:
- resolution: {integrity: sha512-MrNXV2sL9iDRebWPGOGFdPQRl2eDQNu/uhxIMShjjx74T6kC6jFIkmQ6OqXDtevjGUkyB2IT56RzDBqXf/QPCg==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ expect@27.3.1:
dependencies:
'@jest/types': 27.5.1
ansi-styles: 5.2.0
@@ -16383,25 +27054,31 @@ packages:
jest-matcher-utils: 27.5.1
jest-message-util: 27.5.1
jest-regex-util: 27.5.1
- dev: false
- /expect@29.7.0:
- resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ expect@29.7.0:
dependencies:
'@jest/expect-utils': 29.7.0
jest-get-type: 29.6.3
jest-matcher-utils: 29.7.0
jest-message-util: 29.7.0
jest-util: 29.7.0
- dev: true
- /exponential-backoff@3.1.1:
- resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==}
+ expect@30.2.0:
+ dependencies:
+ '@jest/expect-utils': 30.2.0
+ '@jest/get-type': 30.1.0
+ jest-matcher-utils: 30.2.0
+ jest-message-util: 30.2.0
+ jest-mock: 30.2.0
+ jest-util: 30.2.0
+
+ exponential-backoff@3.1.2: {}
- /express@4.21.1:
- resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==}
- engines: {node: '>= 0.10.0'}
+ express-rate-limit@7.5.0(express@5.1.0):
+ dependencies:
+ express: 5.1.0
+
+ express@4.21.2:
dependencies:
accepts: 1.3.8
array-flatten: 1.1.1
@@ -16422,7 +27099,7 @@ packages:
methods: 1.1.2
on-finished: 2.4.1
parseurl: 1.3.3
- path-to-regexp: 0.1.10
+ path-to-regexp: 0.1.12
proxy-addr: 2.0.7
qs: 6.13.0
range-parser: 1.2.1
@@ -16436,55 +27113,72 @@ packages:
vary: 1.1.2
transitivePeerDependencies:
- supports-color
- dev: false
- /extend-shallow@2.0.1:
- resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
- engines: {node: '>=0.10.0'}
+ express@5.1.0:
+ dependencies:
+ accepts: 2.0.0
+ body-parser: 2.2.0
+ content-disposition: 1.0.0
+ content-type: 1.0.5
+ cookie: 0.7.2
+ cookie-signature: 1.2.2
+ 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.1
+ 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.2.0
+ serve-static: 2.2.0
+ statuses: 2.0.1
+ type-is: 2.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ exsolve@1.0.7: {}
+
+ extend-shallow@2.0.1:
dependencies:
is-extendable: 0.1.1
- dev: false
- /extend@3.0.2:
- resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+ extend@3.0.2: {}
- /external-editor@3.1.0:
- resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
- engines: {node: '>=4'}
+ external-editor@3.1.0:
dependencies:
chardet: 0.7.0
iconv-lite: 0.4.24
tmp: 0.0.33
- dev: true
- /extsprintf@1.3.0:
- resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
- engines: {'0': node >=0.6.0}
- dev: false
+ extsprintf@1.3.0: {}
- /fake-indexeddb@5.0.1(patch_hash=32aodcxqlam32klerymhxuwzha):
- resolution: {integrity: sha512-vxybH29Owtc6khV/Usy47B1g+eKwyhFiX8nwpCC4td320jvwrKQDH6vNtcJZgUzVxmfsSIlHzLKQzT76JMCO7A==}
- engines: {node: '>=18'}
- dev: true
- patched: true
+ fake-indexeddb@5.0.1(patch_hash=d597b2b144531a822d7a504855823767cbd16a0644fa2a214fa0dce0d573ec34): {}
- /faker@5.1.0:
- resolution: {integrity: sha512-RrWKFSSA/aNLP0g3o2WW1Zez7/MnMr7xkiZmoCfAGZmdkDQZ6l2KtuXHN5XjdvpRjDl8+3vf+Rrtl06Z352+Mw==}
- dev: true
+ faker@5.1.0: {}
- /fast-check@2.19.0:
- resolution: {integrity: sha512-qY4Rc0Nljl2aJx2qgbK3o6wPBjL9QvhKdD/VqJgaKd5ewn8l4ViqgDpUHJq/JkHTBnFKomYYvkFkOYGDVTT8bw==}
- engines: {node: '>=8.0.0'}
+ fast-check@2.19.0:
dependencies:
pure-rand: 5.0.5
- dev: true
- /fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ fast-check@3.23.2:
+ dependencies:
+ pure-rand: 6.1.0
- /fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
+ fast-content-type-parse@2.0.1: {}
+
+ fast-deep-equal@3.1.3: {}
+
+ fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
@@ -16492,155 +27186,98 @@ packages:
merge2: 1.4.1
micromatch: 4.0.5
- /fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ fast-json-stable-stringify@2.1.0: {}
- /fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ fast-levenshtein@2.0.6: {}
- /fast-safe-stringify@2.1.1:
- resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
- dev: true
+ fast-safe-stringify@2.1.1: {}
- /fast-url-parser@1.1.3:
- resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==}
+ fast-uri@3.0.6: {}
+
+ fast-xml-parser@4.4.1:
dependencies:
- punycode: 1.4.1
- dev: false
+ strnum: 1.1.2
- /fast-xml-parser@4.2.5:
- resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==}
- hasBin: true
+ fast-xml-parser@4.5.3:
dependencies:
- strnum: 1.0.5
- dev: false
+ strnum: 1.1.2
- /fast-xml-parser@4.4.1:
- resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==}
- hasBin: true
+ fast-xml-parser@5.2.5:
dependencies:
- strnum: 1.0.5
- dev: false
+ strnum: 2.1.1
- /fastq@1.15.0:
- resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+ fastq@1.19.1:
dependencies:
- reusify: 1.0.4
+ reusify: 1.1.0
- /fault@2.0.1:
- resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
+ fault@2.0.1:
dependencies:
format: 0.2.2
- dev: false
- /faye-websocket@0.11.4:
- resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
- engines: {node: '>=0.8.0'}
+ faye-websocket@0.11.4:
dependencies:
websocket-driver: 0.7.4
- dev: false
- /fb-watchman@2.0.2:
- resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+ fb-watchman@2.0.2:
dependencies:
bser: 2.1.1
- dev: true
- /fdir@6.2.0(picomatch@3.0.1):
- resolution: {integrity: sha512-9XaWcDl0riOX5j2kYfy0kKdg7skw3IY6kA4LFT8Tk2yF9UdrADUy8D6AJuBLtf7ISm/MksumwAHE3WVbMRyCLw==}
- peerDependencies:
- picomatch: ^3 || ^4
- peerDependenciesMeta:
- picomatch:
- optional: true
- dependencies:
+ fdir@6.4.4(picomatch@3.0.1):
+ optionalDependencies:
picomatch: 3.0.1
- dev: false
- /feed@4.2.2:
- resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==}
- engines: {node: '>=0.4.0'}
+ feed@4.2.2:
dependencies:
xml-js: 1.6.11
- dev: false
- /fengari-interop@0.1.3(fengari@0.1.4):
- resolution: {integrity: sha512-EtZ+oTu3kEwVJnoymFPBVLIbQcCoy9uWCVnMA6h3M/RqHkUBsLYp29+RRHf9rKr6GwjubWREU1O7RretFIXjHw==}
- peerDependencies:
- fengari: ^0.1.0
+ fengari-interop@0.1.3(fengari@0.1.4):
dependencies:
fengari: 0.1.4
- dev: true
- /fengari@0.1.4:
- resolution: {integrity: sha512-6ujqUuiIYmcgkGz8MGAdERU57EIluGGPSUgGPTsco657EHa+srq0S3/YUl/r9kx1+D+d4rGfYObd+m8K22gB1g==}
+ fengari@0.1.4:
dependencies:
readline-sync: 1.4.10
sprintf-js: 1.1.3
tmp: 0.0.33
- dev: true
- /figures@3.2.0:
- resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
- engines: {node: '>=8'}
+ fetch-blob@3.2.0:
+ dependencies:
+ node-domexception: 1.0.0
+ web-streams-polyfill: 3.3.3
+
+ figures@3.2.0:
dependencies:
escape-string-regexp: 1.0.5
- dev: true
- /file-entry-cache@8.0.0:
- resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
- engines: {node: '>=16.0.0'}
+ file-entry-cache@8.0.0:
dependencies:
flat-cache: 4.0.1
- /file-loader@6.2.0(webpack@5.89.0):
- resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- webpack: ^4.0.0 || ^5.0.0
+ file-loader@6.2.0(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
loader-utils: 2.0.4
schema-utils: 3.3.0
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ webpack: 5.99.8(esbuild@0.19.12)
- /filelist@1.0.4:
- resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
+ filelist@1.0.4:
dependencies:
minimatch: 5.1.6
- dev: true
- /filepond-plugin-file-validate-type@1.2.8(filepond@3.9.0):
- resolution: {integrity: sha512-UBTqIWbk5+5R0GBELI8svu01MHWjFSLfc9DfCMvFtHKXLdJMxY1p37ChC4YKQjhfODaTuvLnNVRsukMGMFZBBg==}
- peerDependencies:
- filepond: '>=1.x <5.x'
+ filepond-plugin-file-validate-type@1.2.9(filepond@3.9.0):
dependencies:
filepond: 3.9.0
- dev: false
- /filepond@3.9.0:
- resolution: {integrity: sha512-6XqRwzdpCOHYvnp7hqPpYbOH03zweOcGkgv5ixQlihbRxLFUw2AJId4lHwLdbKW7LX9EaQPqZ6qRF+3T0dkDVw==}
- dev: false
+ filepond@3.9.0: {}
- /filesize@8.0.7:
- resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==}
- engines: {node: '>= 0.4.0'}
- dev: false
+ filesize@8.0.7: {}
- /fill-range@7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
+ fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
- /filter-obj@1.1.0:
- resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==}
- engines: {node: '>=0.10.0'}
- dev: false
+ filter-obj@1.1.0: {}
- /finalhandler@1.3.1:
- resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
- engines: {node: '>= 0.8'}
+ finalhandler@1.3.1:
dependencies:
debug: 2.6.9
encodeurl: 2.0.0
@@ -16651,303 +27288,200 @@ packages:
unpipe: 1.0.0
transitivePeerDependencies:
- supports-color
- dev: false
- /find-cache-dir@4.0.0:
- resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==}
- engines: {node: '>=14.16'}
+ finalhandler@2.1.0:
+ 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
+ transitivePeerDependencies:
+ - supports-color
+
+ find-cache-dir@4.0.0:
dependencies:
common-path-prefix: 3.0.0
pkg-dir: 7.0.0
- dev: false
- /find-up@2.1.0:
- resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==}
- engines: {node: '>=4'}
+ find-up@2.1.0:
dependencies:
locate-path: 2.0.0
- dev: true
- /find-up@3.0.0:
- resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
- engines: {node: '>=6'}
+ find-up@3.0.0:
dependencies:
locate-path: 3.0.0
- dev: false
- /find-up@4.1.0:
- resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
- engines: {node: '>=8'}
+ find-up@4.1.0:
dependencies:
locate-path: 5.0.0
path-exists: 4.0.0
- /find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
+ find-up@5.0.0:
dependencies:
locate-path: 6.0.0
path-exists: 4.0.0
- /find-up@6.3.0:
- resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ find-up@6.3.0:
dependencies:
locate-path: 7.2.0
path-exists: 5.0.0
- dev: false
- /flat-cache@4.0.1:
- resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
- engines: {node: '>=16'}
+ flat-cache@4.0.1:
dependencies:
flatted: 3.3.3
keyv: 4.5.4
- /flat@5.0.2:
- resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
- hasBin: true
-
- /flatted@3.3.3:
- resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+ flat@5.0.2: {}
- /follow-redirects@1.15.3:
- resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==}
- engines: {node: '>=4.0'}
- peerDependencies:
- debug: '*'
- peerDependenciesMeta:
- debug:
- optional: true
+ flatted@3.3.3: {}
- /follow-redirects@1.15.9:
- resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
- engines: {node: '>=4.0'}
- peerDependencies:
- debug: '*'
- peerDependenciesMeta:
- debug:
- optional: true
+ follow-redirects@1.15.9: {}
- /for-each@0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ for-each@0.3.5:
dependencies:
is-callable: 1.2.7
- /foreground-child@3.1.1:
- resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
- engines: {node: '>=14'}
+ foreground-child@3.3.1:
dependencies:
cross-spawn: 7.0.6
signal-exit: 4.1.0
- /forever-agent@0.6.1:
- resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
- dev: false
+ forever-agent@0.6.1: {}
- /fork-ts-checker-webpack-plugin@6.5.3(eslint@9.22.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)(webpack@5.89.0):
- resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==}
- engines: {node: '>=10', yarn: '>=1.0.0'}
- peerDependencies:
- eslint: '>= 6'
- typescript: '>= 2.7'
- vue-template-compiler: '*'
- webpack: '>= 4'
- peerDependenciesMeta:
- eslint:
- optional: true
- vue-template-compiler:
- optional: true
+ fork-ts-checker-webpack-plugin@6.5.3(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)(vue-template-compiler@2.7.16)(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
- '@babel/code-frame': 7.23.5
+ '@babel/code-frame': 7.27.1
'@types/json-schema': 7.0.15
chalk: 4.1.2
chokidar: 3.5.2
cosmiconfig: 6.0.0
deepmerge: 4.3.1
- eslint: 9.22.0
fs-extra: 9.1.0
glob: 7.2.3
memfs: 3.5.3
minimatch: 3.1.2
schema-utils: 2.7.0
- semver: 7.6.3
+ semver: 7.7.1
tapable: 1.1.3
- typescript: 5.3.3
- vue-template-compiler: 2.7.15
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ typescript: 5.8.3
+ webpack: 5.99.8(esbuild@0.19.12)
+ optionalDependencies:
+ eslint: 9.26.0(jiti@2.5.1)
+ vue-template-compiler: 2.7.16
- /form-data-encoder@1.7.2:
- resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==}
- dev: false
+ form-data-encoder@1.7.2: {}
- /form-data-encoder@2.1.4:
- resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
- engines: {node: '>= 14.17'}
- dev: false
+ form-data-encoder@2.1.4: {}
- /form-data@2.3.3:
- resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
- engines: {node: '>= 0.12'}
+ form-data@2.3.3:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
mime-types: 2.1.35
- dev: false
- /form-data@4.0.0:
- resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
- engines: {node: '>= 6'}
+ form-data@4.0.2:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
mime-types: 2.1.35
- dev: true
- /form-data@4.0.1:
- resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==}
- engines: {node: '>= 6'}
+ form-data@4.0.4:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ hasown: 2.0.2
mime-types: 2.1.35
- /format-thousands@1.1.1:
- resolution: {integrity: sha512-OrNyhmdvoDfpcUVU3N4SqjfLTfnYVmc8JFiUo3Ar1IwxLv/QJC9PpU5dYuLrHTYzpLC8hF9aCBsfmgaoHlWJMQ==}
- engines: {node: '>=0.10.0'}
- dev: false
+ format-thousands@1.1.1: {}
- /format@0.2.2:
- resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
- engines: {node: '>=0.4.x'}
- dev: false
+ format@0.2.2: {}
- /formdata-node@4.4.1:
- resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
- engines: {node: '>= 12.20'}
+ formdata-node@4.4.1:
dependencies:
node-domexception: 1.0.0
web-streams-polyfill: 4.0.0-beta.3
- dev: false
- /forwarded@0.2.0:
- resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
- engines: {node: '>= 0.6'}
- dev: false
+ formdata-polyfill@4.0.10:
+ dependencies:
+ fetch-blob: 3.2.0
- /fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
- dev: false
+ forwarded@0.2.0: {}
- /fresh@0.5.2:
- resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
- engines: {node: '>= 0.6'}
- dev: false
+ fraction.js@4.3.7: {}
- /from@0.1.7:
- resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
- dev: false
+ fresh@0.5.2: {}
- /fs-constants@1.0.0:
- resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
- dev: true
+ fresh@2.0.0: {}
- /fs-extra@10.1.0:
- resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
- engines: {node: '>=12'}
+ from@0.1.7: {}
+
+ fs-constants@1.0.0: {}
+
+ fs-extra@10.1.0:
dependencies:
graceful-fs: 4.2.11
jsonfile: 6.1.0
universalify: 2.0.1
- dev: true
- /fs-extra@11.2.0:
- resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
- engines: {node: '>=14.14'}
+ fs-extra@11.3.0:
dependencies:
graceful-fs: 4.2.11
jsonfile: 6.1.0
universalify: 2.0.1
- /fs-extra@8.1.0:
- resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
- engines: {node: '>=6 <7 || >=8'}
+ fs-extra@8.1.0:
dependencies:
graceful-fs: 4.2.11
jsonfile: 4.0.0
universalify: 0.1.2
- dev: true
- /fs-extra@9.1.0:
- resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
- engines: {node: '>=10'}
+ fs-extra@9.1.0:
dependencies:
at-least-node: 1.0.0
graceful-fs: 4.2.11
jsonfile: 6.1.0
universalify: 2.0.1
- /fs-minipass@1.2.7:
- resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==}
+ fs-minipass@1.2.7:
dependencies:
minipass: 2.9.0
- dev: true
- /fs-minipass@2.1.0:
- resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
- engines: {node: '>= 8'}
+ fs-minipass@2.1.0:
dependencies:
minipass: 3.3.6
- /fs-minipass@3.0.3:
- resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ fs-minipass@3.0.3:
dependencies:
- minipass: 7.0.4
+ minipass: 7.1.2
- /fs-monkey@1.0.5:
- resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==}
- dev: false
+ fs-monkey@1.0.6: {}
- /fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ fs.realpath@1.0.0: {}
- /fsevents@2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
+ fsevents@2.3.2:
optional: true
- /fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
+ fsevents@2.3.3:
optional: true
- /function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ function-bind@1.1.2: {}
- /function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
- engines: {node: '>= 0.4'}
+ function.prototype.name@1.1.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.4
define-properties: 1.2.1
- es-abstract: 1.22.3
functions-have-names: 1.2.3
- dev: true
+ hasown: 2.0.2
+ is-callable: 1.2.7
- /functions-have-names@1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
- dev: true
+ functions-have-names@1.2.3: {}
- /gauge@4.0.4:
- resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ gauge@4.0.4:
dependencies:
aproba: 2.0.0
color-support: 1.1.3
@@ -16957,79 +27491,69 @@ packages:
string-width: 4.2.3
strip-ansi: 6.0.1
wide-align: 1.1.5
- dev: true
- /gaxios@6.7.0:
- resolution: {integrity: sha512-DSrkyMTfAnAm4ks9Go20QGOcXEyW/NmZhvTYBU2rb4afBB393WIMQPWPEDMl/k8xqiNN9HYq2zao3oWXsdl2Tg==}
- engines: {node: '>=14'}
+ gaxios@6.7.1(encoding@0.1.13):
dependencies:
extend: 3.0.2
- https-proxy-agent: 7.0.4
+ https-proxy-agent: 7.0.6
is-stream: 2.0.1
- node-fetch: 2.7.0
- uuid: 10.0.0
+ node-fetch: 2.7.0(encoding@0.1.13)
+ uuid: 9.0.1
transitivePeerDependencies:
- encoding
- supports-color
- dev: false
- /gcp-metadata@6.1.0:
- resolution: {integrity: sha512-Jh/AIwwgaxan+7ZUUmRLCjtchyDiqh4KjBJ5tW3plBZb5iL/BPcso8A5DlzeD9qlw0duCamnNdpFjxwaT0KyKg==}
- engines: {node: '>=14'}
+ gcp-metadata@6.1.1(encoding@0.1.13):
dependencies:
- gaxios: 6.7.0
+ gaxios: 6.7.1(encoding@0.1.13)
+ google-logging-utils: 0.0.2
json-bigint: 1.0.0
transitivePeerDependencies:
- encoding
- supports-color
- dev: false
- /generic-pool@3.9.0:
- resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==}
- engines: {node: '>= 4'}
- dev: false
+ generic-pool@3.9.0: {}
- /gensync@1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
+ gensync@1.0.0-beta.2: {}
- /get-assigned-identifiers@1.2.0:
- resolution: {integrity: sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==}
- dev: true
+ geo-three@0.1.14(three@0.176.0):
+ dependencies:
+ three: 0.176.0
- /get-caller-file@2.0.5:
- resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
- engines: {node: 6.* || 8.* || >= 10.*}
+ geojson-equality-ts@1.0.2:
+ dependencies:
+ '@types/geojson': 7946.0.16
- /get-east-asian-width@1.3.0:
- resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==}
- engines: {node: '>=18'}
- dev: true
+ geojson-polygon-self-intersections@1.2.1:
+ dependencies:
+ rbush: 2.0.2
- /get-func-name@2.0.2:
- resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
- dev: true
+ get-assigned-identifiers@1.2.0: {}
- /get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
- engines: {node: '>= 0.4'}
+ get-caller-file@2.0.5: {}
+
+ get-east-asian-width@1.3.0: {}
+
+ get-func-name@2.0.2: {}
+
+ get-intrinsic@1.3.0:
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
- has-proto: 1.0.3
- has-symbols: 1.0.3
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-symbols: 1.1.0
hasown: 2.0.2
+ math-intrinsics: 1.1.0
- /get-own-enumerable-property-symbols@3.0.2:
- resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
+ get-own-enumerable-property-symbols@3.0.2: {}
- /get-package-type@0.1.0:
- resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
- engines: {node: '>=8.0.0'}
- dev: true
+ get-package-type@0.1.0: {}
- /get-pixels@3.3.3:
- resolution: {integrity: sha512-5kyGBn90i9tSMUVHTqkgCHsoWoR+/lGbl4yC83Gefyr0HLIhgSWEx/2F/3YgsZ7UpYNuM6pDhDK7zebrUJ5nXg==}
+ get-pixels@3.3.3:
dependencies:
data-uri-to-buffer: 0.0.3
jpeg-js: 0.4.4
@@ -17042,180 +27566,117 @@ packages:
pngjs: 3.4.0
request: 2.88.2
through: 2.3.8
- dev: false
- /get-pkg-repo@4.2.1:
- resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==}
- engines: {node: '>=6.9.0'}
- hasBin: true
+ get-pkg-repo@4.2.1:
dependencies:
'@hutson/parse-repository-url': 3.0.2
hosted-git-info: 4.1.0
through2: 2.0.5
yargs: 16.2.0
- dev: true
- /get-port@5.1.1:
- resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==}
- engines: {node: '>=8'}
- dev: true
+ get-port@5.1.1: {}
+
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
- /get-stream@3.0.0:
- resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==}
- engines: {node: '>=4'}
- dev: true
+ get-stream@3.0.0: {}
- /get-stream@4.1.0:
- resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
- engines: {node: '>=6'}
+ get-stream@4.1.0:
dependencies:
- pump: 3.0.0
- dev: false
+ pump: 3.0.2
- /get-stream@5.2.0:
- resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
- engines: {node: '>=8'}
+ get-stream@5.2.0:
dependencies:
- pump: 3.0.0
+ pump: 3.0.2
- /get-stream@6.0.0:
- resolution: {integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==}
- engines: {node: '>=10'}
- dev: true
+ get-stream@6.0.0: {}
- /get-stream@6.0.1:
- resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
- engines: {node: '>=10'}
+ get-stream@6.0.1: {}
- /get-stream@8.0.1:
- resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
- engines: {node: '>=16'}
- dev: true
+ get-stream@8.0.1: {}
- /get-symbol-description@1.0.0:
- resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
- engines: {node: '>= 0.4'}
+ get-symbol-description@1.1.0:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- dev: true
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
- /getpass@0.1.7:
- resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
+ getpass@0.1.7:
dependencies:
assert-plus: 1.0.0
- dev: false
- /git-raw-commits@3.0.0:
- resolution: {integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==}
- engines: {node: '>=14'}
- hasBin: true
+ giget@2.0.0:
+ dependencies:
+ citty: 0.1.6
+ consola: 3.4.2
+ defu: 6.1.4
+ node-fetch-native: 1.6.7
+ nypm: 0.6.1
+ pathe: 2.0.3
+
+ git-raw-commits@3.0.0:
dependencies:
dargs: 7.0.0
meow: 8.1.2
split2: 3.2.2
- dev: true
- /git-remote-origin-url@2.0.0:
- resolution: {integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==}
- engines: {node: '>=4'}
+ git-remote-origin-url@2.0.0:
dependencies:
gitconfiglocal: 1.0.0
pify: 2.3.0
- dev: true
- /git-semver-tags@5.0.1:
- resolution: {integrity: sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==}
- engines: {node: '>=14'}
- hasBin: true
+ git-semver-tags@5.0.1:
dependencies:
meow: 8.1.2
- semver: 7.6.3
- dev: true
+ semver: 7.7.1
- /git-up@7.0.0:
- resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==}
+ git-up@7.0.0:
dependencies:
- is-ssh: 1.4.0
+ is-ssh: 1.4.1
parse-url: 8.1.0
- dev: true
- /git-url-parse@13.1.0:
- resolution: {integrity: sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==}
+ git-url-parse@13.1.0:
dependencies:
git-up: 7.0.0
- dev: true
- /gitconfiglocal@1.0.0:
- resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==}
+ gitconfiglocal@1.0.0:
dependencies:
ini: 1.3.8
- dev: true
- /github-buttons@2.27.0:
- resolution: {integrity: sha512-PmfRMI2Rttg/2jDfKBeSl621sEznrsKF019SuoLdoNlO7qRUZaOyEI5Li4uW+79pVqnDtKfIEVuHTIJ5lgy64w==}
- dev: false
+ github-buttons@2.29.1: {}
- /github-slugger@1.5.0:
- resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==}
- dev: false
+ github-slugger@1.5.0: {}
- /github-slugger@2.0.0:
- resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
- dev: true
+ github-slugger@2.0.0: {}
- /gl-mat2@1.0.1:
- resolution: {integrity: sha512-oHgZ3DalAo9qAhMZM9QigXosqotcUCsgxarwrinipaqfSHvacI79Dzs72gY+oT4Td1kDQKEsG0RyX6mb02VVHA==}
- dev: false
+ gl-mat2@1.0.1: {}
- /gl-vec2@1.3.0:
- resolution: {integrity: sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A==}
- dev: false
+ gl-vec2@1.3.0: {}
- /gl-vec3@1.1.3:
- resolution: {integrity: sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==}
- dev: false
+ gl-vec3@1.1.3: {}
- /glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
+ glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
- /glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
+ glob-parent@6.0.2:
dependencies:
is-glob: 4.0.3
- /glob-to-regexp@0.4.1:
- resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
- dev: false
+ glob-to-regexp@0.4.1: {}
- /glob@10.3.10:
- resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
+ glob@10.4.5:
dependencies:
- foreground-child: 3.1.1
- jackspeak: 2.3.6
+ foreground-child: 3.3.1
+ jackspeak: 3.4.3
minimatch: 9.0.5
- minipass: 7.0.4
- path-scurry: 1.10.1
-
- /glob@7.1.4:
- resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==}
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
- dev: true
+ minipass: 7.1.2
+ package-json-from-dist: 1.0.1
+ path-scurry: 1.11.1
- /glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ glob@7.2.3:
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
@@ -17224,123 +27685,85 @@ packages:
once: 1.4.0
path-is-absolute: 1.0.1
- /glob@8.1.0:
- resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
- engines: {node: '>=12'}
+ glob@8.1.0:
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
inherits: 2.0.4
minimatch: 5.1.6
once: 1.4.0
- dev: true
- /glob@9.3.5:
- resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==}
- engines: {node: '>=16 || 14 >=14.17'}
+ glob@9.3.5:
dependencies:
fs.realpath: 1.0.0
minimatch: 8.0.4
minipass: 4.2.8
- path-scurry: 1.10.1
- dev: true
+ path-scurry: 1.11.1
- /global-dirs@3.0.1:
- resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==}
- engines: {node: '>=10'}
+ global-dirs@3.0.1:
dependencies:
ini: 2.0.0
- dev: false
- /global-modules@2.0.0:
- resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==}
- engines: {node: '>=6'}
+ global-modules@2.0.0:
dependencies:
global-prefix: 3.0.0
- dev: false
- /global-prefix@3.0.0:
- resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==}
- engines: {node: '>=6'}
+ global-prefix@3.0.0:
dependencies:
ini: 1.3.8
kind-of: 6.0.3
which: 1.3.1
- dev: false
- /globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
+ globals@11.12.0: {}
- /globals@14.0.0:
- resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
- engines: {node: '>=18'}
+ globals@14.0.0: {}
- /globals@16.0.0:
- resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==}
- engines: {node: '>=18'}
- dev: true
+ globals@16.1.0: {}
- /globalthis@1.0.3:
- resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
- engines: {node: '>= 0.4'}
+ globalthis@1.0.4:
dependencies:
define-properties: 1.2.1
- dev: true
+ gopd: 1.2.0
- /globby@10.0.1:
- resolution: {integrity: sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==}
- engines: {node: '>=8'}
+ globby@10.0.1:
dependencies:
'@types/glob': 7.2.0
array-union: 2.1.0
dir-glob: 3.0.1
- fast-glob: 3.3.2
+ fast-glob: 3.3.3
glob: 7.2.3
- ignore: 5.3.0
+ ignore: 5.3.2
merge2: 1.4.1
slash: 3.0.0
- dev: true
- /globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
+ globby@11.1.0:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
- fast-glob: 3.3.2
- ignore: 5.3.0
+ fast-glob: 3.3.3
+ ignore: 5.3.2
merge2: 1.4.1
slash: 3.0.0
- /globby@13.2.2:
- resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ globby@13.2.2:
dependencies:
dir-glob: 3.0.1
- fast-glob: 3.3.2
- ignore: 5.3.0
+ fast-glob: 3.3.3
+ ignore: 5.3.2
merge2: 1.4.1
slash: 4.0.0
- /good-listener@1.2.2:
- resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==}
+ good-listener@1.2.2:
dependencies:
delegate: 3.2.0
- dev: false
- /google-protobuf@3.21.4:
- resolution: {integrity: sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==}
- dev: false
+ google-logging-utils@0.0.2: {}
- /gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
- dependencies:
- get-intrinsic: 1.2.4
+ google-protobuf@3.21.4: {}
- /got@11.8.6:
- resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
- engines: {node: '>=10.19.0'}
+ gopd@1.2.0: {}
+
+ got@11.8.6:
dependencies:
'@sindresorhus/is': 4.6.0
'@szmarczak/http-timer': 4.0.6
@@ -17353,11 +27776,8 @@ packages:
lowercase-keys: 2.0.0
p-cancelable: 2.1.1
responselike: 2.0.1
- dev: false
- /got@12.6.1:
- resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==}
- engines: {node: '>=14.16'}
+ got@12.6.1:
dependencies:
'@sindresorhus/is': 5.6.0
'@szmarczak/http-timer': 5.0.1
@@ -17370,44 +27790,27 @@ packages:
lowercase-keys: 3.0.0
p-cancelable: 3.0.0
responselike: 3.0.0
- dev: false
- /graceful-fs@4.2.10:
- resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
- dev: false
+ graceful-fs@4.2.10: {}
- /graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ graceful-fs@4.2.11: {}
- /graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
- dev: true
+ graphemer@1.4.0: {}
- /gray-matter@4.0.3:
- resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
- engines: {node: '>=6.0'}
+ gray-matter@4.0.3:
dependencies:
js-yaml: 3.14.1
kind-of: 6.0.3
section-matter: 1.0.0
strip-bom-string: 1.0.0
- dev: false
- /gzip-size@6.0.0:
- resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
- engines: {node: '>=10'}
+ gzip-size@6.0.0:
dependencies:
duplexer: 0.1.2
- dev: false
- /handle-thing@2.0.1:
- resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
- dev: false
+ handle-thing@2.0.1: {}
- /handlebars@4.7.8:
- resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
- engines: {node: '>=0.4.7'}
- hasBin: true
+ handlebars@4.7.8:
dependencies:
minimist: 1.2.8
neo-async: 2.6.2
@@ -17415,150 +27818,96 @@ packages:
wordwrap: 1.0.0
optionalDependencies:
uglify-js: 3.19.3
- dev: true
- /har-schema@2.0.0:
- resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==}
- engines: {node: '>=4'}
- dev: false
+ har-schema@2.0.0: {}
- /har-validator@5.1.5:
- resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==}
- engines: {node: '>=6'}
- deprecated: this library is no longer supported
+ har-validator@5.1.5:
dependencies:
ajv: 6.12.6
har-schema: 2.0.0
- dev: false
- /hard-rejection@2.1.0:
- resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
- engines: {node: '>=6'}
- dev: true
+ hard-rejection@2.1.0: {}
- /has-ansi@2.0.0:
- resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
- engines: {node: '>=0.10.0'}
+ has-ansi@2.0.0:
dependencies:
ansi-regex: 2.1.1
- dev: true
- /has-bigints@1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
- dev: true
+ has-bigints@1.1.0: {}
- /has-flag@1.0.0:
- resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ has-flag@1.0.0: {}
- /has-flag@3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
+ has-flag@3.0.0: {}
- /has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
+ has-flag@4.0.0: {}
- /has-property-descriptors@1.0.2:
- resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+ has-property-descriptors@1.0.2:
dependencies:
- es-define-property: 1.0.0
+ es-define-property: 1.0.1
- /has-proto@1.0.3:
- resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
- engines: {node: '>= 0.4'}
+ has-proto@1.2.0:
+ dependencies:
+ dunder-proto: 1.0.1
- /has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
- engines: {node: '>= 0.4'}
+ has-symbols@1.1.0: {}
- /has-tostringtag@1.0.0:
- resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
- engines: {node: '>= 0.4'}
+ has-tostringtag@1.0.2:
dependencies:
- has-symbols: 1.0.3
-
- /has-unicode@2.0.1:
- resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
- dev: true
+ has-symbols: 1.1.0
- /has-yarn@3.0.0:
- resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: false
+ has-unicode@2.0.1: {}
- /has@1.0.4:
- resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==}
- engines: {node: '>= 0.4.0'}
- dev: true
+ has-yarn@3.0.0: {}
- /hash-base@3.1.0:
- resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==}
- engines: {node: '>=4'}
+ hash-base@3.0.5:
dependencies:
inherits: 2.0.4
- readable-stream: 3.6.2
safe-buffer: 5.2.1
- dev: true
- /hash.js@1.1.7:
- resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==}
+ hash.js@1.1.7:
dependencies:
inherits: 2.0.4
minimalistic-assert: 1.0.1
- /hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
+ hasown@2.0.2:
dependencies:
function-bind: 1.1.2
- /hast-util-from-parse5@7.1.2:
- resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==}
+ hast-util-from-parse5@7.1.2:
dependencies:
- '@types/hast': 2.3.8
- '@types/unist': 2.0.10
+ '@types/hast': 2.3.10
+ '@types/unist': 2.0.11
hastscript: 7.2.0
- property-information: 6.4.0
+ property-information: 6.5.0
vfile: 5.3.7
vfile-location: 4.1.0
web-namespaces: 2.0.1
- dev: false
- /hast-util-from-parse5@8.0.1:
- resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==}
+ hast-util-from-parse5@8.0.3:
dependencies:
- '@types/hast': 3.0.3
- '@types/unist': 3.0.2
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
devlop: 1.1.0
- hastscript: 8.0.0
- property-information: 6.4.0
- vfile: 6.0.1
- vfile-location: 5.0.2
+ hastscript: 9.0.1
+ property-information: 7.0.0
+ vfile: 6.0.3
+ vfile-location: 5.0.3
web-namespaces: 2.0.1
- /hast-util-heading-rank@3.0.0:
- resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==}
+ hast-util-heading-rank@3.0.0:
dependencies:
- '@types/hast': 3.0.3
- dev: true
+ '@types/hast': 3.0.4
- /hast-util-parse-selector@3.1.1:
- resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==}
+ hast-util-parse-selector@3.1.1:
dependencies:
- '@types/hast': 2.3.8
- dev: false
+ '@types/hast': 2.3.10
- /hast-util-parse-selector@4.0.0:
- resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
+ hast-util-parse-selector@4.0.0:
dependencies:
- '@types/hast': 3.0.3
+ '@types/hast': 3.0.4
- /hast-util-raw@7.2.3:
- resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==}
+ hast-util-raw@7.2.3:
dependencies:
- '@types/hast': 2.3.8
+ '@types/hast': 2.3.10
'@types/parse5': 6.0.3
hast-util-from-parse5: 7.1.2
hast-util-to-parse5: 7.1.0
@@ -17569,256 +27918,195 @@ packages:
vfile: 5.3.7
web-namespaces: 2.0.1
zwitch: 2.0.4
- dev: false
- /hast-util-raw@9.0.1:
- resolution: {integrity: sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==}
+ hast-util-raw@9.1.0:
dependencies:
- '@types/hast': 3.0.3
- '@types/unist': 3.0.2
- '@ungap/structured-clone': 1.2.0
- hast-util-from-parse5: 8.0.1
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ '@ungap/structured-clone': 1.3.0
+ hast-util-from-parse5: 8.0.3
hast-util-to-parse5: 8.0.0
html-void-elements: 3.0.0
- mdast-util-to-hast: 13.0.2
- parse5: 7.1.2
+ mdast-util-to-hast: 13.2.0
+ parse5: 7.3.0
unist-util-position: 5.0.0
unist-util-visit: 5.0.0
- vfile: 6.0.1
+ vfile: 6.0.3
web-namespaces: 2.0.1
zwitch: 2.0.4
- /hast-util-to-estree@3.1.0:
- resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==}
+ hast-util-to-estree@3.1.3:
dependencies:
'@types/estree': 1.0.0
- '@types/estree-jsx': 1.0.3
- '@types/hast': 3.0.3
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
comma-separated-tokens: 2.0.3
devlop: 1.1.0
estree-util-attach-comments: 3.0.0
estree-util-is-identifier-name: 3.0.0
hast-util-whitespace: 3.0.0
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
mdast-util-mdxjs-esm: 2.0.1
- property-information: 6.4.0
+ property-information: 7.0.0
space-separated-tokens: 2.0.2
- style-to-object: 0.4.4
+ style-to-js: 1.1.16
unist-util-position: 5.0.0
zwitch: 2.0.4
transitivePeerDependencies:
- supports-color
- dev: false
- /hast-util-to-html@9.0.0:
- resolution: {integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==}
+ hast-util-to-html@9.0.5:
dependencies:
- '@types/hast': 3.0.3
- '@types/unist': 3.0.2
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
ccount: 2.0.1
comma-separated-tokens: 2.0.3
- hast-util-raw: 9.0.1
hast-util-whitespace: 3.0.0
html-void-elements: 3.0.0
- mdast-util-to-hast: 13.0.2
- property-information: 6.4.0
+ mdast-util-to-hast: 13.2.0
+ property-information: 7.0.0
space-separated-tokens: 2.0.2
- stringify-entities: 4.0.3
+ stringify-entities: 4.0.4
zwitch: 2.0.4
- dev: true
- /hast-util-to-jsx-runtime@2.3.0:
- resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==}
+ hast-util-to-jsx-runtime@2.3.6:
dependencies:
'@types/estree': 1.0.0
- '@types/hast': 3.0.3
- '@types/unist': 3.0.2
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
comma-separated-tokens: 2.0.3
devlop: 1.1.0
estree-util-is-identifier-name: 3.0.0
hast-util-whitespace: 3.0.0
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
mdast-util-mdxjs-esm: 2.0.1
- property-information: 6.4.0
+ property-information: 7.0.0
space-separated-tokens: 2.0.2
- style-to-object: 1.0.5
+ style-to-js: 1.1.16
unist-util-position: 5.0.0
vfile-message: 4.0.2
transitivePeerDependencies:
- supports-color
- dev: false
- /hast-util-to-parse5@7.1.0:
- resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==}
+ hast-util-to-parse5@7.1.0:
dependencies:
- '@types/hast': 2.3.8
+ '@types/hast': 2.3.10
comma-separated-tokens: 2.0.3
- property-information: 6.4.0
+ property-information: 6.5.0
space-separated-tokens: 2.0.2
web-namespaces: 2.0.1
zwitch: 2.0.4
- dev: false
- /hast-util-to-parse5@8.0.0:
- resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==}
+ hast-util-to-parse5@8.0.0:
dependencies:
- '@types/hast': 3.0.3
+ '@types/hast': 3.0.4
comma-separated-tokens: 2.0.3
devlop: 1.1.0
- property-information: 6.4.0
+ property-information: 6.5.0
space-separated-tokens: 2.0.2
web-namespaces: 2.0.1
zwitch: 2.0.4
- /hast-util-to-string@3.0.0:
- resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==}
+ hast-util-to-string@3.0.1:
dependencies:
- '@types/hast': 3.0.3
- dev: true
+ '@types/hast': 3.0.4
- /hast-util-whitespace@3.0.0:
- resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+ hast-util-whitespace@3.0.0:
dependencies:
- '@types/hast': 3.0.3
+ '@types/hast': 3.0.4
- /hastscript@7.2.0:
- resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==}
+ hastscript@7.2.0:
dependencies:
- '@types/hast': 2.3.8
+ '@types/hast': 2.3.10
comma-separated-tokens: 2.0.3
hast-util-parse-selector: 3.1.1
- property-information: 6.4.0
+ property-information: 6.5.0
space-separated-tokens: 2.0.2
- dev: false
- /hastscript@8.0.0:
- resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==}
+ hastscript@9.0.1:
dependencies:
- '@types/hast': 3.0.3
+ '@types/hast': 3.0.4
comma-separated-tokens: 2.0.3
hast-util-parse-selector: 4.0.0
- property-information: 6.4.0
+ property-information: 7.0.0
space-separated-tokens: 2.0.2
- /he@1.2.0:
- resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
- hasBin: true
+ he@1.2.0: {}
- /helmet-csp@2.9.3:
- resolution: {integrity: sha512-K3ZgZnItK8cDNEg6sqCrN6KlZXfY2Liq43kVLZcbBQvZIhzwppmXoZyTh+6guSMJA3WTiwh0lTvolIHQxwB5Og==}
- engines: {node: '>=4.0.0'}
+ helmet-csp@2.9.3:
dependencies:
bowser: 2.11.0
camelize: 1.0.0
content-security-policy-builder: 2.1.0
dasherize: 2.0.0
- dev: false
- /history@4.10.1:
- resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==}
+ history@4.10.1:
dependencies:
- '@babel/runtime': 7.23.5
+ '@babel/runtime': 7.27.1
loose-envify: 1.4.0
resolve-pathname: 3.0.0
- tiny-invariant: 1.3.1
+ tiny-invariant: 1.3.3
tiny-warning: 1.0.3
value-equal: 1.0.1
- dev: false
- /hmac-drbg@1.0.1:
- resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==}
+ hmac-drbg@1.0.1:
dependencies:
hash.js: 1.1.7
minimalistic-assert: 1.0.1
minimalistic-crypto-utils: 1.0.1
- dev: true
- /hoist-non-react-statics@3.3.2:
- resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+ hoist-non-react-statics@3.3.2:
dependencies:
react-is: 16.13.1
- dev: false
- /hosted-git-info@2.8.9:
- resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
- dev: true
+ hosted-git-info@2.8.9: {}
- /hosted-git-info@3.0.8:
- resolution: {integrity: sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==}
- engines: {node: '>=10'}
+ hosted-git-info@3.0.8:
dependencies:
lru-cache: 6.0.0
- dev: true
- /hosted-git-info@4.1.0:
- resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
- engines: {node: '>=10'}
+ hosted-git-info@4.1.0:
dependencies:
lru-cache: 6.0.0
- dev: true
- /hosted-git-info@6.1.1:
- resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hosted-git-info@6.1.3:
dependencies:
lru-cache: 7.18.3
- dev: true
- /hosted-git-info@7.0.2:
- resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ hosted-git-info@7.0.2:
dependencies:
lru-cache: 10.4.3
- dev: false
- /howler@2.1.3:
- resolution: {integrity: sha512-PSGbOi1EYgw80C5UQbxtJM7TmzD+giJunIMBYyH3RVzHZx2fZLYBoes0SpVVHi/SFa1GoNtgXj/j6I7NOKYBxQ==}
- dev: false
+ hotkeys-js@3.9.4: {}
- /hpack.js@2.1.6:
- resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
+ howler@2.1.3: {}
+
+ hpack.js@2.1.6:
dependencies:
inherits: 2.0.4
obuf: 1.1.2
readable-stream: 2.3.8
wbuf: 1.7.3
- dev: false
- /hsl-to-rgb-for-reals@1.1.1:
- resolution: {integrity: sha512-LgOWAkrN0rFaQpfdWBQlv/VhkOxb5AsBjk6NQVx4yEzWS923T07X0M1Y0VNko2H52HeSpZrZNNMJ0aFqsdVzQg==}
- dev: true
+ hsl-to-rgb-for-reals@1.1.1: {}
- /htm@3.1.0:
- resolution: {integrity: sha512-L0s3Sid5r6YwrEvkig14SK3Emmc+kIjlfLhEGn2Vy3bk21JyDEes4MoDsbJk6luaPp8bugErnxPz86ZuAw6e5Q==}
- dev: false
+ htm@3.1.0: {}
- /html-encoding-sniffer@3.0.0:
- resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
- engines: {node: '>=12'}
+ html-encoding-sniffer@3.0.0:
dependencies:
whatwg-encoding: 2.0.0
- dev: true
- /html-encoding-sniffer@4.0.0:
- resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
- engines: {node: '>=18'}
+ html-encoding-sniffer@4.0.0:
dependencies:
whatwg-encoding: 3.1.1
- dev: true
- /html-entities@2.4.0:
- resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==}
- dev: false
+ html-entities@2.6.0: {}
- /html-escaper@2.0.2:
- resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+ html-escaper@2.0.2: {}
- /html-minifier-terser@5.1.1:
- resolution: {integrity: sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==}
- engines: {node: '>=6'}
- hasBin: true
+ html-minifier-terser@5.1.1:
dependencies:
camel-case: 4.1.2
clean-css: 4.2.4
@@ -17827,12 +28115,8 @@ packages:
param-case: 3.0.4
relateurl: 0.2.7
terser: 4.8.1
- dev: true
- /html-minifier-terser@6.1.0:
- resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
- engines: {node: '>=12'}
- hasBin: true
+ html-minifier-terser@6.1.0:
dependencies:
camel-case: 4.1.2
clean-css: 5.3.3
@@ -17840,13 +28124,9 @@ packages:
he: 1.2.0
param-case: 3.0.4
relateurl: 0.2.7
- terser: 5.26.0
- dev: false
+ terser: 5.39.0
- /html-minifier-terser@7.2.0:
- resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==}
- engines: {node: ^14.13.1 || >=16.0.0}
- hasBin: true
+ html-minifier-terser@7.2.0:
dependencies:
camel-case: 4.1.2
clean-css: 5.3.3
@@ -17854,46 +28134,29 @@ packages:
entities: 4.5.0
param-case: 3.0.4
relateurl: 0.2.7
- terser: 5.26.0
- dev: false
+ terser: 5.39.0
- /html-tags@3.3.1:
- resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
- engines: {node: '>=8'}
- dev: false
+ html-tags@3.3.1: {}
- /html-url-attributes@3.0.0:
- resolution: {integrity: sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==}
- dev: false
+ html-url-attributes@3.0.1: {}
- /html-void-elements@2.0.1:
- resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==}
- dev: false
+ html-void-elements@2.0.1: {}
- /html-void-elements@3.0.0:
- resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+ html-void-elements@3.0.0: {}
- /html-webpack-plugin@5.5.4(webpack@5.89.0):
- resolution: {integrity: sha512-3wNSaVVxdxcu0jd4FpQFoICdqgxs4zIQQvj+2yQKFfBOnLETQ6X5CDWdeasuGlSsooFlMkEioWDTqBv1wvw5Iw==}
- engines: {node: '>=10.13.0'}
- peerDependencies:
- webpack: ^5.20.0
+ html-webpack-plugin@5.6.3(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
'@types/html-minifier-terser': 6.1.0
html-minifier-terser: 6.1.0
lodash: 4.17.21
pretty-error: 4.0.0
tapable: 2.2.1
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ optionalDependencies:
+ webpack: 5.99.8(esbuild@0.19.12)
- /htmlescape@1.1.1:
- resolution: {integrity: sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==}
- engines: {node: '>=0.10'}
- dev: true
+ htmlescape@1.1.1: {}
- /htmlparser2@3.10.1:
- resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==}
+ htmlparser2@3.10.1:
dependencies:
domelementtype: 1.3.1
domhandler: 2.4.2
@@ -17901,111 +28164,78 @@ packages:
entities: 1.1.2
inherits: 2.0.4
readable-stream: 3.6.2
- dev: true
- /htmlparser2@6.1.0:
- resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
+ htmlparser2@6.1.0:
dependencies:
domelementtype: 2.3.0
domhandler: 4.3.1
domutils: 2.8.0
entities: 2.2.0
- dev: false
- /htmlparser2@8.0.2:
- resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
+ htmlparser2@8.0.2:
dependencies:
domelementtype: 2.3.0
domhandler: 5.0.3
- domutils: 3.1.0
+ domutils: 3.2.2
entities: 4.5.0
- dev: false
- /http-cache-semantics@4.1.1:
- resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
+ http-cache-semantics@4.1.1: {}
- /http-deceiver@1.2.7:
- resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
- dev: false
+ http-deceiver@1.2.7: {}
- /http-errors@1.6.3:
- resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
- engines: {node: '>= 0.6'}
+ http-errors@1.6.3:
dependencies:
depd: 1.1.2
inherits: 2.0.3
setprototypeof: 1.1.0
statuses: 1.5.0
- dev: false
- /http-errors@2.0.0:
- resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
- engines: {node: '>= 0.8'}
+ http-errors@2.0.0:
dependencies:
depd: 2.0.0
inherits: 2.0.4
setprototypeof: 1.2.0
statuses: 2.0.1
toidentifier: 1.0.1
- dev: false
- /http-parser-js@0.5.8:
- resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==}
- dev: false
+ http-parser-js@0.5.10: {}
- /http-proxy-agent@5.0.0:
- resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
- engines: {node: '>= 6'}
+ http-proxy-agent@5.0.0:
dependencies:
'@tootallnate/once': 2.0.0
agent-base: 6.0.2
debug: 4.4.0
transitivePeerDependencies:
- supports-color
- dev: true
- /http-proxy-agent@7.0.2:
- resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
- engines: {node: '>= 14'}
+ http-proxy-agent@7.0.2:
dependencies:
- agent-base: 7.1.1
+ agent-base: 7.1.3
debug: 4.4.0
transitivePeerDependencies:
- supports-color
- /http-proxy-middleware@2.0.6(@types/express@4.17.21):
- resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- '@types/express': ^4.17.13
- peerDependenciesMeta:
- '@types/express':
- optional: true
+ http-proxy-middleware@2.0.9(@types/express@4.17.21):
dependencies:
- '@types/express': 4.17.21
- '@types/http-proxy': 1.17.14
+ '@types/http-proxy': 1.17.16
http-proxy: 1.18.1
is-glob: 4.0.3
is-plain-obj: 3.0.0
micromatch: 4.0.5
+ optionalDependencies:
+ '@types/express': 4.17.21
transitivePeerDependencies:
- debug
- dev: false
- /http-proxy@1.18.1:
- resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
- engines: {node: '>=8.0.0'}
+ http-proxy@1.18.1:
dependencies:
eventemitter3: 4.0.7
- follow-redirects: 1.15.3
+ follow-redirects: 1.15.9
requires-port: 1.0.0
transitivePeerDependencies:
- debug
- /http-server@14.1.1:
- resolution: {integrity: sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==}
- engines: {node: '>=12'}
- hasBin: true
+ http-server@14.1.1:
dependencies:
basic-auth: 2.0.1
chalk: 4.1.2
@@ -18016,302 +28246,180 @@ packages:
mime: 1.6.0
minimist: 1.2.8
opener: 1.5.2
- portfinder: 1.0.32
+ portfinder: 1.0.37
secure-compare: 3.0.1
union: 0.5.0
url-join: 4.0.1
transitivePeerDependencies:
- debug
- supports-color
- dev: true
- /http-signature@1.2.0:
- resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==}
- engines: {node: '>=0.8', npm: '>=1.3.7'}
+ http-signature@1.2.0:
dependencies:
assert-plus: 1.0.0
jsprim: 1.4.2
sshpk: 1.16.1
- dev: false
- /http2-wrapper@1.0.3:
- resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==}
- engines: {node: '>=10.19.0'}
+ http2-wrapper@1.0.3:
dependencies:
quick-lru: 5.1.1
resolve-alpn: 1.2.1
- dev: false
- /http2-wrapper@2.2.1:
- resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==}
- engines: {node: '>=10.19.0'}
+ http2-wrapper@2.2.1:
dependencies:
quick-lru: 5.1.1
resolve-alpn: 1.2.1
- dev: false
- /http_ece@1.2.0:
- resolution: {integrity: sha512-JrF8SSLVmcvc5NducxgyOrKXe3EsyHMgBFgSaIUGmArKe+rwr0uphRkRXvwiom3I+fpIfoItveHrfudL8/rxuA==}
- engines: {node: '>=16'}
- dev: false
+ http_ece@1.2.0: {}
- /https-browserify@1.0.0:
- resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==}
- dev: true
+ https-browserify@1.0.0: {}
- /https-proxy-agent@5.0.1:
- resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
- engines: {node: '>= 6'}
+ https-proxy-agent@5.0.1:
dependencies:
agent-base: 6.0.2
debug: 4.4.0
transitivePeerDependencies:
- supports-color
- dev: true
- /https-proxy-agent@7.0.4:
- resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==}
- engines: {node: '>= 14'}
+ https-proxy-agent@7.0.6:
dependencies:
- agent-base: 7.1.1
+ agent-base: 7.1.3
debug: 4.4.0
transitivePeerDependencies:
- supports-color
- /human-signals@1.1.1:
- resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==}
- engines: {node: '>=8.12.0'}
- dev: true
+ human-signals@1.1.1: {}
- /human-signals@2.1.0:
- resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
- engines: {node: '>=10.17.0'}
+ human-signals@2.1.0: {}
- /human-signals@5.0.0:
- resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
- engines: {node: '>=16.17.0'}
- dev: true
+ human-signals@5.0.0: {}
- /humanize-ms@1.2.1:
- resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
+ humanize-ms@1.2.1:
dependencies:
ms: 2.1.3
- /husky@7.0.4:
- resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==}
- engines: {node: '>=12'}
- hasBin: true
- dev: true
+ husky@9.1.7: {}
- /hyperscript-attribute-to-property@1.0.2:
- resolution: {integrity: sha512-oerMul16jZCmrbNsUw8QgrtDzF8lKgFri1bKQjReLw1IhiiNkI59CWuzZjJDGT79UQ1YiWqXhJMv/tRMVqgtkA==}
- dev: true
+ hyperscript-attribute-to-property@1.0.2: {}
- /hyperx@2.5.4:
- resolution: {integrity: sha512-iOkSh7Yse7lsN/B9y7OsevLWjeXPqGuHQ5SbwaiJM5xAhWFqhoN6erpK1dQsS12OFU36lyai1pnx1mmzWLQqcA==}
+ hyperx@2.5.4:
dependencies:
hyperscript-attribute-to-property: 1.0.2
- dev: true
- /iconv-lite@0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
- engines: {node: '>=0.10.0'}
+ iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
- /iconv-lite@0.6.3:
- resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
- engines: {node: '>=0.10.0'}
+ iconv-lite@0.6.3:
dependencies:
safer-buffer: 2.1.2
- /icss-utils@5.1.0(postcss@8.4.47):
- resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
+ icss-utils@5.1.0(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
- dev: false
+ postcss: 8.5.3
- /idb@7.1.1:
- resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
- dev: true
+ idb@7.1.1: {}
- /ieee754@1.1.13:
- resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==}
- dev: false
+ ieee754@1.1.13: {}
- /ieee754@1.2.1:
- resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+ ieee754@1.2.1: {}
- /ignore-by-default@1.0.1:
- resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}
- dev: true
+ ignore-by-default@1.0.1: {}
- /ignore-walk@5.0.1:
- resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ ignore-walk@5.0.1:
dependencies:
minimatch: 5.1.6
- dev: true
- /ignore-walk@6.0.4:
- resolution: {integrity: sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ ignore-walk@6.0.5:
dependencies:
minimatch: 9.0.5
- /ignore@3.3.10:
- resolution: {integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==}
- dev: true
-
- /ignore@5.3.0:
- resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
- engines: {node: '>= 4'}
+ ignore@3.3.10: {}
- /ignore@5.3.2:
- resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
- engines: {node: '>= 4'}
- dev: true
+ ignore@5.3.2: {}
- /image-size@0.5.5:
- resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
- engines: {node: '>=0.10.0'}
- hasBin: true
- dev: true
+ image-size@0.5.5: {}
- /image-size@1.0.2:
- resolution: {integrity: sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==}
- engines: {node: '>=14.0.0'}
- hasBin: true
+ image-size@1.2.1:
dependencies:
queue: 6.0.2
- dev: false
- /immediate@3.0.6:
- resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
- dev: true
-
- /immer@9.0.21:
- resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
- dev: false
+ immediate@3.0.6: {}
- /immutable@4.0.0:
- resolution: {integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==}
- dev: true
+ immer@9.0.21: {}
- /immutable@4.3.4:
- resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==}
- dev: true
+ immutable@4.0.0: {}
- /import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
+ import-fresh@3.3.1:
dependencies:
parent-module: 1.0.1
resolve-from: 4.0.0
- /import-in-the-middle@1.8.1:
- resolution: {integrity: sha512-yhRwoHtiLGvmSozNOALgjRPFI6uYsds60EoMqqnXyyv+JOIW/BrrLejuTGBt+bq0T5tLzOHrN0T7xYTm4Qt/ng==}
+ import-in-the-middle@1.13.1:
dependencies:
- acorn: 8.11.3
- acorn-import-attributes: 1.9.5(acorn@8.11.3)
- cjs-module-lexer: 1.2.3
- module-details-from-path: 1.0.3
- dev: false
+ acorn: 8.14.1
+ acorn-import-attributes: 1.9.5(acorn@8.14.1)
+ cjs-module-lexer: 1.4.3
+ module-details-from-path: 1.0.4
- /import-lazy@4.0.0:
- resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
- engines: {node: '>=8'}
- dev: false
+ import-lazy@4.0.0: {}
- /import-local@3.1.0:
- resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
- engines: {node: '>=8'}
- hasBin: true
+ import-local@3.1.0:
dependencies:
pkg-dir: 4.2.0
resolve-cwd: 3.0.0
- dev: true
- /imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
+ import-local@3.2.0:
+ dependencies:
+ pkg-dir: 4.2.0
+ resolve-cwd: 3.0.0
- /indent-string@4.0.0:
- resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
- engines: {node: '>=8'}
+ importmap-vite-plugin@0.1.0(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)):
+ dependencies:
+ vite: 5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)
- /indent-string@5.0.0:
- resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
- engines: {node: '>=12'}
- dev: true
+ imurmurhash@0.1.4: {}
- /infer-owner@1.0.4:
- resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==}
- dev: true
+ indent-string@4.0.0: {}
- /infima@0.2.0-alpha.44:
- resolution: {integrity: sha512-tuRkUSO/lB3rEhLJk25atwAjgLuzq070+pOW8XcvpHky/YbENnRRdPd85IBkyeTgttmOy5ah+yHYsK1HhUd4lQ==}
- engines: {node: '>=12'}
- dev: false
+ indent-string@5.0.0: {}
- /inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ infer-owner@1.0.4: {}
+
+ infima@0.2.0-alpha.44: {}
+
+ inflight@1.0.6:
dependencies:
once: 1.4.0
wrappy: 1.0.2
- /inherits@2.0.3:
- resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
+ inherits@2.0.3: {}
- /inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ inherits@2.0.4: {}
- /ini@1.3.8:
- resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+ ini@1.3.8: {}
- /ini@2.0.0:
- resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
- engines: {node: '>=10'}
- dev: false
+ ini@2.0.0: {}
- /ini@4.1.3:
- resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: false
+ ini@4.1.3: {}
- /init-package-json@5.0.0:
- resolution: {integrity: sha512-kBhlSheBfYmq3e0L1ii+VKe3zBTLL5lDCDWR+f9dLmEGSB3MqLlMlsolubSsyI88Bg6EA+BIMlomAnQ1SwgQBw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ init-package-json@5.0.0:
dependencies:
npm-package-arg: 10.1.0
- promzard: 1.0.0
+ promzard: 1.0.2
read: 2.1.0
read-package-json: 6.0.4
- semver: 7.6.3
+ semver: 7.7.1
validate-npm-package-license: 3.0.4
validate-npm-package-name: 5.0.0
- dev: true
- /inline-source-map@0.6.2:
- resolution: {integrity: sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==}
+ inline-source-map@0.6.3:
dependencies:
source-map: 0.5.7
- dev: true
-
- /inline-style-parser@0.1.1:
- resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
- dev: false
- /inline-style-parser@0.2.2:
- resolution: {integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==}
- dev: false
+ inline-style-parser@0.2.4: {}
- /inquirer@8.2.6:
- resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==}
- engines: {node: '>=12.0.0'}
+ inquirer@8.2.6:
dependencies:
ansi-escapes: 4.3.2
chalk: 4.1.2
@@ -18323,16 +28431,13 @@ packages:
mute-stream: 0.0.8
ora: 5.4.1
run-async: 2.4.1
- rxjs: 7.8.1
+ rxjs: 7.8.2
string-width: 4.2.3
strip-ansi: 6.0.1
through: 2.3.8
wrap-ansi: 6.2.0
- dev: true
- /insert-module-globals@7.2.1:
- resolution: {integrity: sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==}
- hasBin: true
+ insert-module-globals@7.2.1:
dependencies:
JSONStream: 1.3.5
acorn-node: 1.8.2
@@ -18344,844 +28449,576 @@ packages:
through2: 2.0.5
undeclared-identifiers: 1.1.3
xtend: 4.0.2
- dev: true
- /internal-slot@1.0.6:
- resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==}
- engines: {node: '>= 0.4'}
+ internal-slot@1.1.0:
dependencies:
- get-intrinsic: 1.2.4
+ es-errors: 1.3.0
hasown: 2.0.2
- side-channel: 1.0.6
- dev: true
+ side-channel: 1.1.0
- /internmap@1.0.1:
- resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
- dev: true
+ internmap@1.0.1: {}
- /interpret@1.4.0:
- resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
- engines: {node: '>= 0.10'}
- dev: false
+ interpret@1.4.0: {}
- /invariant@2.2.4:
- resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+ invariant@2.2.4:
dependencies:
loose-envify: 1.4.0
- dev: false
- /ioredis-mock@5.9.1(ioredis@4.28.5)(redis-commands@1.7.0):
- resolution: {integrity: sha512-ZirdGJFOqH5nP8FYXuHUJmexvtZ6r2Ybc5alaGMzt38QA0kse5/rYnBQcb4ofxkyqzhXHuaCsXiwLlfG6NyhhQ==}
- engines: {node: '>=10'}
- peerDependencies:
- ioredis: 4.x
- redis-commands: 1.x
+ ioredis-mock@5.9.1(ioredis@4.30.0)(redis-commands@1.7.0):
dependencies:
fengari: 0.1.4
fengari-interop: 0.1.3(fengari@0.1.4)
- ioredis: 4.28.5
+ ioredis: 4.30.0
lodash: 4.17.21
redis-commands: 1.7.0
standard-as-callback: 2.1.0
- dev: true
- /ioredis@4.28.5:
- resolution: {integrity: sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==}
- engines: {node: '>=6'}
+ ioredis@4.30.0:
dependencies:
+ '@ioredis/commands': 1.2.0
cluster-key-slot: 1.1.2
- debug: 4.3.4
+ debug: 4.4.0
denque: 1.5.1
lodash.defaults: 4.2.0
lodash.flatten: 4.4.0
lodash.isarguments: 3.1.0
p-map: 2.1.0
- redis-commands: 1.7.0
redis-errors: 1.2.0
redis-parser: 3.0.0
standard-as-callback: 2.1.0
transitivePeerDependencies:
- supports-color
- dev: true
- /iota-array@1.0.0:
- resolution: {integrity: sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==}
- dev: false
+ ioredis@5.7.0:
+ dependencies:
+ '@ioredis/commands': 1.3.0
+ cluster-key-slot: 1.1.2
+ debug: 4.4.0
+ denque: 2.1.0
+ lodash.defaults: 4.2.0
+ lodash.isarguments: 3.1.0
+ redis-errors: 1.2.0
+ redis-parser: 3.0.0
+ standard-as-callback: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
- /ip-address@9.0.5:
- resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
- engines: {node: '>= 12'}
+ iota-array@1.0.0: {}
+
+ ip-address@9.0.5:
dependencies:
jsbn: 1.1.0
sprintf-js: 1.1.3
- dev: false
- /ip@2.0.0:
- resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==}
- dev: true
-
- /ipaddr.js@1.9.1:
- resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
- engines: {node: '>= 0.10'}
- dev: false
+ ipaddr.js@1.9.1: {}
- /ipaddr.js@2.1.0:
- resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==}
- engines: {node: '>= 10'}
- dev: false
+ ipaddr.js@2.2.0: {}
- /is-alphabetical@2.0.1:
- resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
- dev: false
+ is-alphabetical@2.0.1: {}
- /is-alphanumerical@2.0.1:
- resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
+ is-alphanumerical@2.0.1:
dependencies:
is-alphabetical: 2.0.1
is-decimal: 2.0.1
- dev: false
- /is-arguments@1.1.1:
- resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
- engines: {node: '>= 0.4'}
+ is-arguments@1.2.0:
dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.0
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
- /is-array-buffer@3.0.2:
- resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
+ is-array-buffer@3.0.5:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- is-typed-array: 1.1.12
- dev: true
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
- /is-arrayish@0.2.1:
- resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ is-arrayish@0.2.1: {}
- /is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ is-async-function@2.1.1:
dependencies:
- has-bigints: 1.0.2
- dev: true
+ async-function: 1.0.0
+ call-bound: 1.0.4
+ get-proto: 1.0.1
+ has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
- /is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
+ is-bigint@1.1.0:
dependencies:
- binary-extensions: 2.2.0
+ has-bigints: 1.1.0
- /is-boolean-attribute@0.0.1:
- resolution: {integrity: sha512-0kXT52Scokg2Miscvsn5UVqg6y1691vcLJcagie1YHJB4zOEuAhMERLX992jtvaStGy2xQTqOtJhvmG/MK1T5w==}
- dev: true
+ is-binary-path@2.1.0:
+ dependencies:
+ binary-extensions: 2.3.0
- /is-boolean-object@1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
- engines: {node: '>= 0.4'}
+ is-boolean-attribute@0.0.1: {}
+
+ is-boolean-object@1.2.2:
dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.0
- dev: true
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
- /is-buffer@1.1.6:
- resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
+ is-buffer@1.1.6: {}
- /is-buffer@2.0.5:
- resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
- engines: {node: '>=4'}
+ is-buffer@2.0.5: {}
- /is-callable@1.2.7:
- resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
- engines: {node: '>= 0.4'}
+ is-callable@1.2.7: {}
- /is-ci@3.0.1:
- resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
- hasBin: true
+ is-ci@3.0.1:
dependencies:
ci-info: 3.9.0
- /is-core-module@2.13.1:
- resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ is-core-module@2.16.1:
dependencies:
hasown: 2.0.2
- /is-date-object@1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
- engines: {node: '>= 0.4'}
+ is-data-view@1.0.2:
dependencies:
- has-tostringtag: 1.0.0
- dev: true
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
+ is-typed-array: 1.1.15
- /is-decimal@2.0.1:
- resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
- dev: false
+ is-date-object@1.1.0:
+ dependencies:
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
- /is-docker@2.2.1:
- resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
- engines: {node: '>=8'}
- hasBin: true
+ is-decimal@2.0.1: {}
- /is-docker@3.0.0:
- resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- hasBin: true
- dev: false
+ is-docker@2.2.1: {}
- /is-extendable@0.1.1:
- resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
- engines: {node: '>=0.10.0'}
- dev: false
+ is-docker@3.0.0: {}
- /is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
+ is-extendable@0.1.1: {}
- /is-fullwidth-code-point@1.0.0:
- resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==}
- engines: {node: '>=0.10.0'}
+ is-extglob@2.1.1: {}
+
+ is-finalizationregistry@1.1.1:
+ dependencies:
+ call-bound: 1.0.4
+
+ is-fullwidth-code-point@1.0.0:
dependencies:
number-is-nan: 1.0.1
- dev: true
- /is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
+ is-fullwidth-code-point@3.0.0: {}
- /is-fullwidth-code-point@4.0.0:
- resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
- engines: {node: '>=12'}
- dev: true
+ is-fullwidth-code-point@4.0.0: {}
- /is-fullwidth-code-point@5.0.0:
- resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
- engines: {node: '>=18'}
+ is-fullwidth-code-point@5.0.0:
dependencies:
get-east-asian-width: 1.3.0
- dev: true
- /is-generator-fn@2.1.0:
- resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
- engines: {node: '>=6'}
- dev: true
+ is-generator-fn@2.1.0: {}
- /is-generator-function@1.0.10:
- resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
- engines: {node: '>= 0.4'}
+ is-generator-function@1.1.0:
dependencies:
- has-tostringtag: 1.0.0
+ call-bound: 1.0.4
+ get-proto: 1.0.1
+ has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
- /is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
+ is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
- /is-hexadecimal@2.0.1:
- resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
- dev: false
+ is-hexadecimal@2.0.1: {}
- /is-inside-container@1.0.0:
- resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
- engines: {node: '>=14.16'}
- hasBin: true
+ is-inside-container@1.0.0:
dependencies:
is-docker: 3.0.0
- dev: false
- /is-installed-globally@0.4.0:
- resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
- engines: {node: '>=10'}
+ is-installed-globally@0.4.0:
dependencies:
global-dirs: 3.0.1
is-path-inside: 3.0.3
- dev: false
- /is-interactive@1.0.0:
- resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
- engines: {node: '>=8'}
- dev: true
+ is-interactive@1.0.0: {}
- /is-lambda@1.0.1:
- resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==}
+ is-lambda@1.0.1: {}
- /is-module@1.0.0:
- resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
- dev: true
+ is-map@2.0.3: {}
- /is-negative-zero@2.0.2:
- resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
- engines: {node: '>= 0.4'}
- dev: true
+ is-module@1.0.0: {}
- /is-npm@6.0.0:
- resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: false
+ is-npm@6.0.0: {}
- /is-number-object@1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
- engines: {node: '>= 0.4'}
+ is-number-object@1.1.1:
dependencies:
- has-tostringtag: 1.0.0
- dev: true
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
- /is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
+ is-number@7.0.0: {}
- /is-obj@1.0.1:
- resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
- engines: {node: '>=0.10.0'}
+ is-obj@1.0.1: {}
- /is-obj@2.0.0:
- resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
- engines: {node: '>=8'}
+ is-obj@2.0.0: {}
- /is-path-cwd@2.2.0:
- resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==}
- engines: {node: '>=6'}
- dev: false
+ is-path-cwd@2.2.0: {}
- /is-path-cwd@3.0.0:
- resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
+ is-path-cwd@3.0.0: {}
- /is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
- dev: false
+ is-path-inside@3.0.3: {}
- /is-path-inside@4.0.0:
- resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==}
- engines: {node: '>=12'}
- dev: true
+ is-path-inside@4.0.0: {}
- /is-plain-obj@1.1.0:
- resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
- engines: {node: '>=0.10.0'}
- dev: true
+ is-plain-obj@1.1.0: {}
- /is-plain-obj@3.0.0:
- resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
- engines: {node: '>=10'}
- dev: false
+ is-plain-obj@3.0.0: {}
- /is-plain-obj@4.1.0:
- resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
- engines: {node: '>=12'}
+ is-plain-obj@4.1.0: {}
- /is-plain-object@2.0.4:
- resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
- engines: {node: '>=0.10.0'}
+ is-plain-object@2.0.4:
dependencies:
isobject: 3.0.1
- /is-plain-object@3.0.1:
- resolution: {integrity: sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==}
- engines: {node: '>=0.10.0'}
- dev: true
+ is-plain-object@3.0.1: {}
- /is-plain-object@5.0.0:
- resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
- engines: {node: '>=0.10.0'}
+ is-plain-object@5.0.0: {}
- /is-potential-custom-element-name@1.0.1:
- resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
- dev: true
+ is-potential-custom-element-name@1.0.1: {}
+
+ is-promise@4.0.0: {}
- /is-reference@3.0.2:
- resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
+ is-reference@3.0.3:
dependencies:
- '@types/estree': 1.0.0
- dev: false
+ '@types/estree': 1.0.7
- /is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
- engines: {node: '>= 0.4'}
+ is-regex@1.2.1:
dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.0
- dev: true
+ call-bound: 1.0.4
+ gopd: 1.2.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
- /is-regexp@1.0.0:
- resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==}
- engines: {node: '>=0.10.0'}
+ is-regexp@1.0.0: {}
- /is-root@2.1.0:
- resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==}
- engines: {node: '>=6'}
- dev: false
+ is-root@2.1.0: {}
+
+ is-set@2.0.3: {}
- /is-shared-array-buffer@1.0.2:
- resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
+ is-shared-array-buffer@1.0.4:
dependencies:
- call-bind: 1.0.7
- dev: true
+ call-bound: 1.0.4
- /is-ssh@1.4.0:
- resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==}
+ is-ssh@1.4.1:
dependencies:
- protocols: 2.0.1
- dev: true
+ protocols: 2.0.2
- /is-stream@1.1.0:
- resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
- engines: {node: '>=0.10.0'}
+ is-stream@1.1.0: {}
- /is-stream@2.0.0:
- resolution: {integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==}
- engines: {node: '>=8'}
- dev: true
+ is-stream@2.0.0: {}
- /is-stream@2.0.1:
- resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
- engines: {node: '>=8'}
+ is-stream@2.0.1: {}
- /is-stream@3.0.0:
- resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
+ is-stream@3.0.0: {}
- /is-string@1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
- engines: {node: '>= 0.4'}
+ is-string@1.1.1:
dependencies:
- has-tostringtag: 1.0.0
- dev: true
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
- /is-symbol@1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
- engines: {node: '>= 0.4'}
+ is-symbol@1.1.1:
dependencies:
- has-symbols: 1.0.3
- dev: true
+ call-bound: 1.0.4
+ has-symbols: 1.1.0
+ safe-regex-test: 1.1.0
- /is-text-path@1.0.1:
- resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==}
- engines: {node: '>=0.10.0'}
+ is-text-path@1.0.1:
dependencies:
text-extensions: 1.9.0
- dev: true
- /is-typed-array@1.1.12:
- resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
- engines: {node: '>= 0.4'}
+ is-typed-array@1.1.15:
dependencies:
- which-typed-array: 1.1.13
+ which-typed-array: 1.1.19
- /is-typedarray@1.0.0:
- resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
- dev: false
+ is-typedarray@1.0.0: {}
- /is-unicode-supported@0.1.0:
- resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
- engines: {node: '>=10'}
- dev: true
+ is-unicode-supported@0.1.0: {}
- /is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ is-weakmap@2.0.2: {}
+
+ is-weakref@1.1.1:
dependencies:
- call-bind: 1.0.7
- dev: true
+ call-bound: 1.0.4
- /is-wsl@1.1.0:
- resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==}
- engines: {node: '>=4'}
- dev: true
+ is-weakset@2.0.4:
+ dependencies:
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
- /is-wsl@2.2.0:
- resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
- engines: {node: '>=8'}
+ is-wsl@1.1.0: {}
+
+ is-wsl@2.2.0:
dependencies:
is-docker: 2.2.1
- /is-wsl@3.1.0:
- resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
- engines: {node: '>=16'}
+ is-wsl@3.1.0:
dependencies:
is-inside-container: 1.0.0
- dev: false
- /is-yarn-global@0.4.1:
- resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==}
- engines: {node: '>=12'}
- dev: false
+ is-yarn-global@0.4.1: {}
- /isarray@0.0.1:
- resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
- dev: false
+ isarray@0.0.1: {}
- /isarray@1.0.0:
- resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+ isarray@1.0.0: {}
- /isarray@2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
- dev: true
+ isarray@2.0.5: {}
- /isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ isexe@2.0.0: {}
- /isexe@3.1.1:
- resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
- engines: {node: '>=16'}
- dev: false
+ isexe@3.1.1: {}
- /isobject@2.1.0:
- resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==}
- engines: {node: '>=0.10.0'}
+ isobject@2.1.0:
dependencies:
isarray: 1.0.0
- dev: true
-
- /isobject@3.0.1:
- resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
- engines: {node: '>=0.10.0'}
- /isomorphic.js@0.2.5:
- resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==}
- dev: false
+ isobject@3.0.1: {}
- /isstream@0.1.2:
- resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
- dev: false
+ isomorphic.js@0.2.5: {}
- /istanbul-lib-coverage@3.2.2:
- resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
- engines: {node: '>=8'}
- dev: true
+ isstream@0.1.2: {}
- /istanbul-lib-instrument@5.2.1:
- resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
- engines: {node: '>=8'}
- dependencies:
- '@babel/core': 7.23.5
- '@babel/parser': 7.23.5
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-coverage: 3.2.2
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
+ istanbul-lib-coverage@3.2.2: {}
- /istanbul-lib-instrument@6.0.1:
- resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==}
- engines: {node: '>=10'}
+ istanbul-lib-instrument@6.0.3:
dependencies:
- '@babel/core': 7.23.5
- '@babel/parser': 7.23.5
+ '@babel/core': 7.27.1
+ '@babel/parser': 7.27.2
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
- semver: 7.6.3
+ semver: 7.7.1
transitivePeerDependencies:
- supports-color
- dev: true
- /istanbul-lib-report@3.0.1:
- resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
- engines: {node: '>=10'}
+ istanbul-lib-report@3.0.1:
dependencies:
istanbul-lib-coverage: 3.2.2
make-dir: 4.0.0
supports-color: 7.2.0
- dev: true
- /istanbul-lib-source-maps@4.0.1:
- resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
- engines: {node: '>=10'}
+ istanbul-lib-source-maps@5.0.6:
dependencies:
+ '@jridgewell/trace-mapping': 0.3.25
debug: 4.4.0
istanbul-lib-coverage: 3.2.2
- source-map: 0.6.1
transitivePeerDependencies:
- supports-color
- dev: true
- /istanbul-reports@3.1.6:
- resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==}
- engines: {node: '>=8'}
+ istanbul-reports@3.1.7:
dependencies:
html-escaper: 2.0.2
istanbul-lib-report: 3.0.1
- dev: true
- /jackspeak@2.3.6:
- resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
- engines: {node: '>=14'}
+ jackspeak@3.4.3:
dependencies:
'@isaacs/cliui': 8.0.2
optionalDependencies:
'@pkgjs/parseargs': 0.11.0
- /jake@10.8.5:
- resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==}
- engines: {node: '>=10'}
- hasBin: true
+ jake@10.8.5:
dependencies:
- async: 3.2.5
+ async: 3.2.6
chalk: 4.1.2
filelist: 1.0.4
minimatch: 3.1.2
- dev: true
- /jest-changed-files@29.7.0:
- resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-changed-files@30.2.0:
dependencies:
execa: 5.1.1
- jest-util: 29.7.0
+ jest-util: 30.2.0
p-limit: 3.1.0
- dev: true
- /jest-circus@29.7.0:
- resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-circus@30.2.0:
dependencies:
- '@jest/environment': 29.7.0
- '@jest/expect': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 18.19.3
+ '@jest/environment': 30.2.0
+ '@jest/expect': 30.2.0
+ '@jest/test-result': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 18.19.98
chalk: 4.1.2
co: 4.6.0
- dedent: 1.5.1
+ dedent: 1.6.0
is-generator-fn: 2.1.0
- jest-each: 29.7.0
- jest-matcher-utils: 29.7.0
- jest-message-util: 29.7.0
- jest-runtime: 29.7.0
- jest-snapshot: 29.7.0
- jest-util: 29.7.0
+ jest-each: 30.2.0
+ jest-matcher-utils: 30.2.0
+ jest-message-util: 30.2.0
+ jest-runtime: 30.2.0
+ jest-snapshot: 30.2.0
+ jest-util: 30.2.0
p-limit: 3.1.0
- pretty-format: 29.7.0
- pure-rand: 6.0.4
+ pretty-format: 30.2.0
+ pure-rand: 7.0.1
slash: 3.0.0
stack-utils: 2.0.6
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
- dev: true
- /jest-cli@29.7.0(@types/node@18.19.3):
- resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
+ jest-cli@30.2.0(@types/node@18.19.98):
dependencies:
- '@jest/core': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
+ '@jest/core': 30.2.0
+ '@jest/test-result': 30.2.0
+ '@jest/types': 30.2.0
chalk: 4.1.2
- create-jest: 29.7.0(@types/node@18.19.3)
- exit: 0.1.2
- import-local: 3.1.0
- jest-config: 29.7.0(@types/node@18.19.3)
- jest-util: 29.7.0
- jest-validate: 29.7.0
+ exit-x: 0.2.2
+ import-local: 3.2.0
+ jest-config: 30.2.0(@types/node@18.19.98)
+ jest-util: 30.2.0
+ jest-validate: 30.2.0
yargs: 17.7.2
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
+ - esbuild-register
- supports-color
- - ts-node
- dev: true
-
- /jest-config@29.7.0(@types/node@18.19.3):
- resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@types/node': '*'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- '@types/node':
- optional: true
- ts-node:
- optional: true
+ - ts-node
+
+ jest-config@30.2.0(@types/node@18.19.98):
dependencies:
- '@babel/core': 7.23.5
- '@jest/test-sequencer': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 18.19.3
- babel-jest: 29.7.0(@babel/core@7.23.5)
+ '@babel/core': 7.28.4
+ '@jest/get-type': 30.1.0
+ '@jest/pattern': 30.0.1
+ '@jest/test-sequencer': 30.2.0
+ '@jest/types': 30.2.0
+ babel-jest: 30.2.0(@babel/core@7.28.4)
chalk: 4.1.2
- ci-info: 3.9.0
+ ci-info: 4.3.1
deepmerge: 4.3.1
- glob: 7.2.3
+ glob: 10.4.5
graceful-fs: 4.2.11
- jest-circus: 29.7.0
- jest-environment-node: 29.7.0
- jest-get-type: 29.6.3
- jest-regex-util: 29.6.3
- jest-resolve: 29.7.0
- jest-runner: 29.7.0
- jest-util: 29.7.0
- jest-validate: 29.7.0
+ jest-circus: 30.2.0
+ jest-docblock: 30.2.0
+ jest-environment-node: 30.2.0
+ jest-regex-util: 30.0.1
+ jest-resolve: 30.2.0
+ jest-runner: 30.2.0
+ jest-util: 30.2.0
+ jest-validate: 30.2.0
micromatch: 4.0.5
parse-json: 5.2.0
- pretty-format: 29.7.0
+ pretty-format: 30.2.0
slash: 3.0.0
strip-json-comments: 3.1.1
+ optionalDependencies:
+ '@types/node': 18.19.98
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
- dev: true
- /jest-diff@27.5.1:
- resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ jest-diff@27.5.1:
dependencies:
chalk: 4.1.2
diff-sequences: 27.5.1
jest-get-type: 27.5.1
pretty-format: 27.5.1
- dev: false
- /jest-diff@29.7.0:
- resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-diff@29.7.0:
dependencies:
chalk: 4.1.2
diff-sequences: 29.6.3
jest-get-type: 29.6.3
pretty-format: 29.7.0
- dev: true
- /jest-docblock@29.7.0:
- resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-diff@30.2.0:
+ dependencies:
+ '@jest/diff-sequences': 30.0.1
+ '@jest/get-type': 30.1.0
+ chalk: 4.1.2
+ pretty-format: 30.2.0
+
+ jest-docblock@30.2.0:
dependencies:
detect-newline: 3.1.0
- dev: true
- /jest-each@29.7.0:
- resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-each@30.2.0:
dependencies:
- '@jest/types': 29.6.3
+ '@jest/get-type': 30.1.0
+ '@jest/types': 30.2.0
chalk: 4.1.2
- jest-get-type: 29.6.3
- jest-util: 29.7.0
- pretty-format: 29.7.0
- dev: true
+ jest-util: 30.2.0
+ pretty-format: 30.2.0
- /jest-environment-jsdom@29.7.0:
- resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- canvas: ^2.5.0
- peerDependenciesMeta:
- canvas:
- optional: true
+ jest-environment-jsdom@30.2.0:
dependencies:
- '@jest/environment': 29.7.0
- '@jest/fake-timers': 29.7.0
- '@jest/types': 29.6.3
- '@types/jsdom': 20.0.1
- '@types/node': 18.19.3
- jest-mock: 29.7.0
- jest-util: 29.7.0
- jsdom: 20.0.3
+ '@jest/environment': 30.2.0
+ '@jest/environment-jsdom-abstract': 30.2.0(jsdom@26.1.0)
+ '@types/jsdom': 21.1.7
+ '@types/node': 18.19.98
+ jsdom: 26.1.0
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- dev: true
- /jest-environment-node@29.7.0:
- resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-environment-node@30.2.0:
dependencies:
- '@jest/environment': 29.7.0
- '@jest/fake-timers': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 18.19.3
- jest-mock: 29.7.0
- jest-util: 29.7.0
- dev: true
+ '@jest/environment': 30.2.0
+ '@jest/fake-timers': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 18.19.98
+ jest-mock: 30.2.0
+ jest-util: 30.2.0
+ jest-validate: 30.2.0
- /jest-get-type@27.5.1:
- resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
- dev: false
+ jest-get-type@27.5.1: {}
- /jest-get-type@29.6.3:
- resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: true
+ jest-get-type@29.6.3: {}
- /jest-haste-map@29.7.0:
- resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-haste-map@30.2.0:
dependencies:
- '@jest/types': 29.6.3
- '@types/graceful-fs': 4.1.9
- '@types/node': 18.19.3
+ '@jest/types': 30.2.0
+ '@types/node': 18.19.98
anymatch: 3.1.3
fb-watchman: 2.0.2
graceful-fs: 4.2.11
- jest-regex-util: 29.6.3
- jest-util: 29.7.0
- jest-worker: 29.7.0
+ jest-regex-util: 30.0.1
+ jest-util: 30.2.0
+ jest-worker: 30.2.0
micromatch: 4.0.5
walker: 1.0.8
optionalDependencies:
fsevents: 2.3.3
- dev: true
- /jest-html-reporter@3.10.2(jest@29.7.0)(typescript@5.3.3):
- resolution: {integrity: sha512-XRBa5ylHPUQoo8aJXEEdKsTruieTdlPbRktMx9WG9evMTxzJEKGFMaw5x+sQxJuClWdNR72GGwbOaz+6HIlksA==}
- engines: {node: '>=4.8.3'}
- peerDependencies:
- jest: 19.x - 29.x
- typescript: ^3.7.x || ^4.3.x || ^5.x
+ jest-html-reporter@3.10.2(jest@30.2.0(@types/node@18.19.98))(typescript@5.8.3):
dependencies:
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
dateformat: 3.0.2
- jest: 29.7.0(@types/node@18.19.3)
+ jest: 30.2.0(@types/node@18.19.98)
mkdirp: 1.0.4
strip-ansi: 6.0.1
- typescript: 5.3.3
+ typescript: 5.8.3
xmlbuilder: 15.0.0
- dev: true
- /jest-leak-detector@29.7.0:
- resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-leak-detector@30.2.0:
dependencies:
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
- dev: true
+ '@jest/get-type': 30.1.0
+ pretty-format: 30.2.0
- /jest-matcher-utils@27.5.1:
- resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ jest-matcher-utils@27.5.1:
dependencies:
chalk: 4.1.2
jest-diff: 27.5.1
jest-get-type: 27.5.1
pretty-format: 27.5.1
- dev: false
- /jest-matcher-utils@29.7.0:
- resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-matcher-utils@29.7.0:
dependencies:
chalk: 4.1.2
jest-diff: 29.7.0
jest-get-type: 29.6.3
pretty-format: 29.7.0
- dev: true
- /jest-message-util@27.5.1:
- resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ jest-matcher-utils@30.2.0:
+ dependencies:
+ '@jest/get-type': 30.1.0
+ chalk: 4.1.2
+ jest-diff: 30.2.0
+ pretty-format: 30.2.0
+
+ jest-message-util@27.5.1:
dependencies:
- '@babel/code-frame': 7.23.5
+ '@babel/code-frame': 7.27.1
'@jest/types': 27.5.1
'@types/stack-utils': 2.0.3
chalk: 4.1.2
@@ -19190,13 +29027,10 @@ packages:
pretty-format: 27.5.1
slash: 3.0.0
stack-utils: 2.0.6
- dev: false
- /jest-message-util@29.7.0:
- resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-message-util@29.7.0:
dependencies:
- '@babel/code-frame': 7.23.5
+ '@babel/code-frame': 7.27.1
'@jest/types': 29.6.3
'@types/stack-utils': 2.0.3
chalk: 4.1.2
@@ -19205,488 +29039,362 @@ packages:
pretty-format: 29.7.0
slash: 3.0.0
stack-utils: 2.0.6
- dev: true
- /jest-mock@29.7.0:
- resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-message-util@30.2.0:
dependencies:
- '@jest/types': 29.6.3
- '@types/node': 18.19.3
- jest-util: 29.7.0
- dev: true
+ '@babel/code-frame': 7.27.1
+ '@jest/types': 30.2.0
+ '@types/stack-utils': 2.0.3
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.5
+ pretty-format: 30.2.0
+ slash: 3.0.0
+ stack-utils: 2.0.6
- /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
- resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
- engines: {node: '>=6'}
- peerDependencies:
- jest-resolve: '*'
- peerDependenciesMeta:
- jest-resolve:
- optional: true
+ jest-mock@30.2.0:
dependencies:
- jest-resolve: 29.7.0
- dev: true
+ '@jest/types': 30.2.0
+ '@types/node': 18.19.98
+ jest-util: 30.2.0
- /jest-raw-loader@1.0.1:
- resolution: {integrity: sha512-g9oaAjeC4/rIJk1Wd3RxVbOfMizowM7LSjEJqa4R9qDX0OjQNABXOhH+GaznUp+DjTGVPi2vPPbQXyX87DOnYg==}
- dev: true
+ jest-pnp-resolver@1.2.3(jest-resolve@30.2.0):
+ optionalDependencies:
+ jest-resolve: 30.2.0
- /jest-regex-util@27.5.1:
- resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
- dev: false
+ jest-raw-loader@1.0.1: {}
- /jest-regex-util@29.6.3:
- resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: true
+ jest-regex-util@27.5.1: {}
- /jest-resolve-dependencies@29.7.0:
- resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-regex-util@30.0.1: {}
+
+ jest-resolve-dependencies@30.2.0:
dependencies:
- jest-regex-util: 29.6.3
- jest-snapshot: 29.7.0
+ jest-regex-util: 30.0.1
+ jest-snapshot: 30.2.0
transitivePeerDependencies:
- supports-color
- dev: true
- /jest-resolve@29.7.0:
- resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-resolve@30.2.0:
dependencies:
chalk: 4.1.2
graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0)
- jest-util: 29.7.0
- jest-validate: 29.7.0
- resolve: 1.22.8
- resolve.exports: 2.0.2
+ jest-haste-map: 30.2.0
+ jest-pnp-resolver: 1.2.3(jest-resolve@30.2.0)
+ jest-util: 30.2.0
+ jest-validate: 30.2.0
slash: 3.0.0
- dev: true
+ unrs-resolver: 1.11.1
- /jest-runner@29.7.0:
- resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-runner@30.2.0:
dependencies:
- '@jest/console': 29.7.0
- '@jest/environment': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 18.19.3
+ '@jest/console': 30.2.0
+ '@jest/environment': 30.2.0
+ '@jest/test-result': 30.2.0
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 18.19.98
chalk: 4.1.2
emittery: 0.13.1
+ exit-x: 0.2.2
graceful-fs: 4.2.11
- jest-docblock: 29.7.0
- jest-environment-node: 29.7.0
- jest-haste-map: 29.7.0
- jest-leak-detector: 29.7.0
- jest-message-util: 29.7.0
- jest-resolve: 29.7.0
- jest-runtime: 29.7.0
- jest-util: 29.7.0
- jest-watcher: 29.7.0
- jest-worker: 29.7.0
+ jest-docblock: 30.2.0
+ jest-environment-node: 30.2.0
+ jest-haste-map: 30.2.0
+ jest-leak-detector: 30.2.0
+ jest-message-util: 30.2.0
+ jest-resolve: 30.2.0
+ jest-runtime: 30.2.0
+ jest-util: 30.2.0
+ jest-watcher: 30.2.0
+ jest-worker: 30.2.0
p-limit: 3.1.0
source-map-support: 0.5.13
transitivePeerDependencies:
- supports-color
- dev: true
- /jest-runtime@29.7.0:
- resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-runtime@30.2.0:
dependencies:
- '@jest/environment': 29.7.0
- '@jest/fake-timers': 29.7.0
- '@jest/globals': 29.7.0
- '@jest/source-map': 29.6.3
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 18.19.3
+ '@jest/environment': 30.2.0
+ '@jest/fake-timers': 30.2.0
+ '@jest/globals': 30.2.0
+ '@jest/source-map': 30.0.1
+ '@jest/test-result': 30.2.0
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 18.19.98
chalk: 4.1.2
- cjs-module-lexer: 1.2.3
+ cjs-module-lexer: 2.1.0
collect-v8-coverage: 1.0.2
- glob: 7.2.3
+ glob: 10.4.5
graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- jest-message-util: 29.7.0
- jest-mock: 29.7.0
- jest-regex-util: 29.6.3
- jest-resolve: 29.7.0
- jest-snapshot: 29.7.0
- jest-util: 29.7.0
+ jest-haste-map: 30.2.0
+ jest-message-util: 30.2.0
+ jest-mock: 30.2.0
+ jest-regex-util: 30.0.1
+ jest-resolve: 30.2.0
+ jest-snapshot: 30.2.0
+ jest-util: 30.2.0
slash: 3.0.0
strip-bom: 4.0.0
transitivePeerDependencies:
- supports-color
- dev: true
- /jest-snapshot@29.7.0:
- resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@babel/core': 7.23.5
- '@babel/generator': 7.23.5
- '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.5)
- '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.5)
- '@babel/types': 7.23.5
- '@jest/expect-utils': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.5)
+ jest-snapshot@30.2.0:
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/generator': 7.28.3
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4)
+ '@babel/types': 7.28.4
+ '@jest/expect-utils': 30.2.0
+ '@jest/get-type': 30.1.0
+ '@jest/snapshot-utils': 30.2.0
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.4)
chalk: 4.1.2
- expect: 29.7.0
+ expect: 30.2.0
graceful-fs: 4.2.11
- jest-diff: 29.7.0
- jest-get-type: 29.6.3
- jest-matcher-utils: 29.7.0
- jest-message-util: 29.7.0
- jest-util: 29.7.0
- natural-compare: 1.4.0
- pretty-format: 29.7.0
- semver: 7.6.3
+ jest-diff: 30.2.0
+ jest-matcher-utils: 30.2.0
+ jest-message-util: 30.2.0
+ jest-util: 30.2.0
+ pretty-format: 30.2.0
+ semver: 7.7.3
+ synckit: 0.11.11
transitivePeerDependencies:
- supports-color
- dev: true
- /jest-util@29.7.0:
- resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-util@29.7.0:
dependencies:
'@jest/types': 29.6.3
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
picomatch: 2.3.1
- /jest-validate@29.7.0:
- resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-util@30.2.0:
dependencies:
- '@jest/types': 29.6.3
+ '@jest/types': 30.2.0
+ '@types/node': 18.19.98
+ chalk: 4.1.2
+ ci-info: 4.3.1
+ graceful-fs: 4.2.11
+ picomatch: 4.0.2
+
+ jest-validate@30.2.0:
+ dependencies:
+ '@jest/get-type': 30.1.0
+ '@jest/types': 30.2.0
camelcase: 6.3.0
chalk: 4.1.2
- jest-get-type: 29.6.3
leven: 3.1.0
- pretty-format: 29.7.0
- dev: true
+ pretty-format: 30.2.0
- /jest-watcher@29.7.0:
- resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-watcher@30.2.0:
dependencies:
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 18.19.3
+ '@jest/test-result': 30.2.0
+ '@jest/types': 30.2.0
+ '@types/node': 18.19.98
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.13.1
- jest-util: 29.7.0
+ jest-util: 30.2.0
string-length: 4.0.2
- dev: true
- /jest-worker@26.6.2:
- resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
- engines: {node: '>= 10.13.0'}
+ jest-worker@27.5.1:
dependencies:
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
merge-stream: 2.0.0
- supports-color: 7.2.0
- dev: true
+ supports-color: 8.1.1
- /jest-worker@27.5.1:
- resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
- engines: {node: '>= 10.13.0'}
+ jest-worker@29.7.0:
dependencies:
- '@types/node': 18.19.3
+ '@types/node': 18.19.98
+ jest-util: 29.7.0
merge-stream: 2.0.0
supports-color: 8.1.1
- dev: false
- /jest-worker@29.7.0:
- resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ jest-worker@30.2.0:
dependencies:
- '@types/node': 18.19.3
- jest-util: 29.7.0
+ '@types/node': 18.19.98
+ '@ungap/structured-clone': 1.3.0
+ jest-util: 30.2.0
merge-stream: 2.0.0
supports-color: 8.1.1
- /jest@29.7.0(@types/node@18.19.3):
- resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
+ jest@30.2.0(@types/node@18.19.98):
dependencies:
- '@jest/core': 29.7.0
- '@jest/types': 29.6.3
- import-local: 3.1.0
- jest-cli: 29.7.0(@types/node@18.19.3)
+ '@jest/core': 30.2.0
+ '@jest/types': 30.2.0
+ import-local: 3.2.0
+ jest-cli: 30.2.0(@types/node@18.19.98)
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
+ - esbuild-register
- supports-color
- ts-node
- dev: true
- /jiti@1.21.0:
- resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
- hasBin: true
- dev: false
+ jiti@1.21.7: {}
- /jmespath@0.16.0:
- resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==}
- engines: {node: '>= 0.6.0'}
- dev: false
+ jiti@2.5.1: {}
- /joi@17.11.0:
- resolution: {integrity: sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==}
+ jmespath@0.16.0: {}
+
+ joi@17.13.3:
dependencies:
'@hapi/hoek': 9.3.0
'@hapi/topo': 5.1.0
- '@sideway/address': 4.1.4
+ '@sideway/address': 4.1.5
'@sideway/formula': 3.0.1
'@sideway/pinpoint': 2.0.0
- /jose@4.15.4:
- resolution: {integrity: sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==}
- dev: false
+ jose@4.15.9: {}
- /jose@5.4.0:
- resolution: {integrity: sha512-6rpxTHPAQyWMb9A35BroFl1Sp0ST3DpPcm5EVIxZxdH+e0Hv9fwhyB3XLKFUcHNpdSDnETmBfuPPTTlYz5+USw==}
- dev: false
+ jose@5.4.0: {}
- /jpeg-js@0.4.4:
- resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
- dev: false
+ jpeg-js@0.4.4: {}
- /js-base64@2.6.4:
- resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==}
- dev: true
+ js-base64@2.6.4: {}
- /js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ js-base64@3.7.8: {}
- /js-yaml@3.14.1:
- resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
- hasBin: true
+ js-tokens@4.0.0: {}
+
+ js-yaml@3.14.1:
dependencies:
argparse: 1.0.10
esprima: 4.0.1
- /js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
+ js-yaml@4.1.0:
dependencies:
argparse: 2.0.1
- /jsbarcode@3.11.0:
- resolution: {integrity: sha512-/ozCd7wsa+VIHo9sUc03HneVEQrH7cVWfJolUT/WOW1m8mJ2e3iYZje6C9X3LFHdczlesqFHRpxLtbVsNtjyow==}
- hasBin: true
- dev: false
+ jsbarcode@3.11.0: {}
- /jsbn@0.1.1:
- resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
- dev: false
+ jsbn@0.1.1: {}
- /jsbn@1.1.0:
- resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
- dev: false
+ jsbn@1.1.0: {}
- /jsdom@20.0.3:
- resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==}
- engines: {node: '>=14'}
- peerDependencies:
- canvas: ^2.5.0
- peerDependenciesMeta:
- canvas:
- optional: true
+ jsdom@24.1.0:
dependencies:
- abab: 2.0.6
- acorn: 8.11.3
- acorn-globals: 7.0.1
- cssom: 0.5.0
- cssstyle: 2.3.0
- data-urls: 3.0.2
- decimal.js: 10.4.3
- domexception: 4.0.0
- escodegen: 2.1.0
- form-data: 4.0.1
- html-encoding-sniffer: 3.0.0
- http-proxy-agent: 5.0.0
- https-proxy-agent: 5.0.1
+ cssstyle: 4.3.1
+ data-urls: 5.0.0
+ decimal.js: 10.5.0
+ form-data: 4.0.2
+ html-encoding-sniffer: 4.0.0
+ http-proxy-agent: 7.0.2
+ https-proxy-agent: 7.0.6
is-potential-custom-element-name: 1.0.1
- nwsapi: 2.2.7
- parse5: 7.1.2
+ nwsapi: 2.2.20
+ parse5: 7.3.0
+ rrweb-cssom: 0.7.1
saxes: 6.0.0
symbol-tree: 3.2.4
- tough-cookie: 4.1.3
- w3c-xmlserializer: 4.0.0
+ tough-cookie: 4.1.4
+ w3c-xmlserializer: 5.0.0
webidl-conversions: 7.0.0
- whatwg-encoding: 2.0.0
- whatwg-mimetype: 3.0.0
- whatwg-url: 11.0.0
+ whatwg-encoding: 3.1.1
+ whatwg-mimetype: 4.0.0
+ whatwg-url: 14.2.0
ws: 8.18.0
- xml-name-validator: 4.0.0
+ xml-name-validator: 5.0.0
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- dev: true
- /jsdom@24.1.0:
- resolution: {integrity: sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==}
- engines: {node: '>=18'}
- peerDependencies:
- canvas: ^2.11.2
- peerDependenciesMeta:
- canvas:
- optional: true
+ jsdom@26.1.0:
dependencies:
- cssstyle: 4.0.1
+ cssstyle: 4.3.1
data-urls: 5.0.0
- decimal.js: 10.4.3
- form-data: 4.0.0
+ decimal.js: 10.5.0
html-encoding-sniffer: 4.0.0
http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.4
+ https-proxy-agent: 7.0.6
is-potential-custom-element-name: 1.0.1
- nwsapi: 2.2.10
- parse5: 7.1.2
- rrweb-cssom: 0.7.0
+ nwsapi: 2.2.20
+ parse5: 7.3.0
+ rrweb-cssom: 0.8.0
saxes: 6.0.0
symbol-tree: 3.2.4
- tough-cookie: 4.1.4
+ tough-cookie: 5.1.2
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
+ whatwg-url: 14.2.0
ws: 8.18.0
xml-name-validator: 5.0.0
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- dev: true
- /jsesc@0.5.0:
- resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
- hasBin: true
+ jsesc@3.0.2: {}
- /jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
- hasBin: true
+ jsesc@3.1.0: {}
- /json-bigint@1.0.0:
- resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==}
+ json-bigint@1.0.0:
dependencies:
- bignumber.js: 9.1.2
- dev: false
-
- /json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ bignumber.js: 9.3.0
- /json-parse-better-errors@1.0.2:
- resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
- dev: true
+ json-buffer@3.0.1: {}
- /json-parse-even-better-errors@2.3.1:
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ json-parse-better-errors@1.0.2: {}
- /json-parse-even-better-errors@3.0.1:
- resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ json-parse-even-better-errors@2.3.1: {}
- /json-parse-even-better-errors@3.0.2:
- resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: false
+ json-parse-even-better-errors@3.0.2: {}
- /json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ json-schema-traverse@0.4.1: {}
- /json-schema-traverse@1.0.0:
- resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+ json-schema-traverse@1.0.0: {}
- /json-schema-typed@8.0.1:
- resolution: {integrity: sha512-XQmWYj2Sm4kn4WeTYvmpKEbyPsL7nBsb647c7pMe6l02/yx2+Jfc4dT6UZkEXnIUb5LhD55r2HPsJ1milQ4rDg==}
- dev: false
+ json-schema-typed@8.0.1: {}
- /json-schema@0.4.0:
- resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
+ json-schema@0.4.0: {}
- /json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ json-stable-stringify-without-jsonify@1.0.1: {}
- /json-stringify-nice@1.1.4:
- resolution: {integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==}
- dev: false
+ json-stringify-nice@1.1.4: {}
- /json-stringify-safe@5.0.1:
- resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
+ json-stringify-safe@5.0.1: {}
- /json5@1.0.2:
- resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
- hasBin: true
+ json5@1.0.2:
dependencies:
minimist: 1.2.8
- dev: true
- /json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
+ json5@2.2.3: {}
- /jsonc-parser@3.2.0:
- resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
+ jsonc-parser@3.2.0: {}
- /jsonfile@4.0.0:
- resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+ jsonc-parser@3.3.1: {}
+
+ jsonfile@4.0.0:
optionalDependencies:
graceful-fs: 4.2.11
- dev: true
- /jsonfile@6.1.0:
- resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ jsonfile@6.1.0:
dependencies:
universalify: 2.0.1
optionalDependencies:
graceful-fs: 4.2.11
- /jsonparse@1.3.1:
- resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
- engines: {'0': node >= 0.2.0}
+ jsonparse@1.3.1: {}
- /jsonpointer@5.0.1:
- resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
- engines: {node: '>=0.10.0'}
- dev: true
+ jsonpointer@5.0.1: {}
- /jsonstream2@3.0.0:
- resolution: {integrity: sha512-8ngq2XB8NjYrpe3+Xtl9lFJl6RoV2dNT4I7iyaHwxUpTBwsj0AlAR7epGfeYVP0z4Z7KxMoSxRgJWrd2jmBT/Q==}
- engines: {node: '>=5.10.0'}
- hasBin: true
+ jsonstream2@3.0.0:
dependencies:
jsonparse: 1.3.1
through2: 3.0.2
type-component: 0.0.1
- dev: true
- /jsonwebtoken@9.0.2:
- resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==}
- engines: {node: '>=12', npm: '>=6'}
+ jsonwebtoken@9.0.2:
dependencies:
jws: 3.2.2
lodash.includes: 4.3.0
@@ -19697,114 +29405,81 @@ packages:
lodash.isstring: 4.0.1
lodash.once: 4.1.1
ms: 2.1.3
- semver: 7.5.4
- dev: false
+ semver: 7.7.1
- /jsprim@1.4.2:
- resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
- engines: {node: '>=0.6.0'}
+ jsprim@1.4.2:
dependencies:
assert-plus: 1.0.0
extsprintf: 1.3.0
json-schema: 0.4.0
verror: 1.10.0
- dev: false
- /jsqr@1.2.0:
- resolution: {integrity: sha512-wKcQS9QC2VHGk7aphWCp1RrFyC0CM6fMgC5prZZ2KV/Lk6OKNoCod9IR6bao+yx3KPY0gZFC5dc+h+KFzCI0Wg==}
- dev: false
+ jsqr@1.2.0: {}
- /jszip@3.10.1:
- resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
+ jsts@2.7.1: {}
+
+ jszip@3.10.1:
dependencies:
lie: 3.3.0
pako: 1.0.11
readable-stream: 2.3.8
setimmediate: 1.0.5
- dev: true
- /just-diff-apply@5.5.0:
- resolution: {integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==}
- dev: false
+ just-diff-apply@5.5.0: {}
- /just-diff@6.0.2:
- resolution: {integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==}
- dev: false
+ just-diff@6.0.2: {}
- /jwa@1.4.1:
- resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==}
+ jwa@1.4.2:
dependencies:
buffer-equal-constant-time: 1.0.1
ecdsa-sig-formatter: 1.0.11
safe-buffer: 5.2.1
- dev: false
- /jwa@2.0.0:
- resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==}
+ jwa@2.0.1:
dependencies:
buffer-equal-constant-time: 1.0.1
ecdsa-sig-formatter: 1.0.11
safe-buffer: 5.2.1
- dev: false
- /jws@3.2.2:
- resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==}
+ jws@3.2.2:
dependencies:
- jwa: 1.4.1
+ jwa: 1.4.2
safe-buffer: 5.2.1
- dev: false
- /jws@4.0.0:
- resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==}
+ jws@4.0.0:
dependencies:
- jwa: 2.0.0
+ jwa: 2.0.1
safe-buffer: 5.2.1
- dev: false
- /keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
- /kind-of@6.0.3:
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
- engines: {node: '>=0.10.0'}
+ kind-of@6.0.3: {}
- /kleur@3.0.3:
- resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
- engines: {node: '>=6'}
+ kleur@3.0.3: {}
- /labeled-stream-splicer@2.0.2:
- resolution: {integrity: sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==}
+ labeled-stream-splicer@2.0.2:
dependencies:
inherits: 2.0.4
stream-splicer: 2.0.1
- dev: true
- /latest-version@7.0.0:
- resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==}
- engines: {node: '>=14.16'}
+ latest-version@7.0.0:
dependencies:
package-json: 8.1.1
- dev: false
- /launch-editor@2.6.1:
- resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==}
+ launch-editor@2.10.0:
dependencies:
picocolors: 1.1.1
- shell-quote: 1.8.1
- dev: false
+ shell-quote: 1.8.2
- /lerna@8.0.0:
- resolution: {integrity: sha512-Ddshct9hJrujtR7t2cAIiiiKnQCKiTvR/Ki3KhzpBNVepYtWq+dg+HxArZrezF+sYxI+OCxL00BxDHY4/H4uGg==}
- engines: {node: '>=18.0.0'}
- hasBin: true
+ lerna@8.0.0(encoding@0.1.13):
dependencies:
- '@lerna/create': 8.0.0(typescript@5.3.3)
+ '@lerna/create': 8.0.0(encoding@0.1.13)(typescript@5.8.3)
'@npmcli/run-script': 6.0.2
- '@nx/devkit': 17.1.3(nx@17.1.3)
+ '@nx/devkit': 17.3.2(nx@17.3.2)
'@octokit/plugin-enterprise-rest': 6.0.1
- '@octokit/rest': 19.0.11
+ '@octokit/rest': 19.0.11(encoding@0.1.13)
byte-size: 8.1.1
chalk: 4.1.0
clone-deep: 4.0.1
@@ -19813,11 +29488,11 @@ packages:
conventional-changelog-angular: 7.0.0
conventional-changelog-core: 5.0.1
conventional-recommended-bump: 7.0.1
- cosmiconfig: 8.3.6(typescript@5.3.3)
+ cosmiconfig: 8.3.6(typescript@5.8.3)
dedent: 0.7.0
envinfo: 7.8.1
execa: 5.0.0
- fs-extra: 11.2.0
+ fs-extra: 11.3.0
get-port: 5.1.1
get-stream: 6.0.0
git-url-parse: 13.1.0
@@ -19840,12 +29515,12 @@ packages:
make-dir: 4.0.0
minimatch: 3.0.5
multimatch: 5.0.0
- node-fetch: 2.6.7
+ node-fetch: 2.6.7(encoding@0.1.13)
npm-package-arg: 8.1.1
npm-packlist: 5.1.1
npm-registry-fetch: 14.0.5
npmlog: 6.0.2
- nx: 17.1.3
+ nx: 17.3.2
p-map: 4.0.0
p-map-series: 2.1.0
p-pipe: 3.1.0
@@ -19858,14 +29533,14 @@ packages:
read-package-json: 6.0.4
resolve-from: 5.0.0
rimraf: 4.4.1
- semver: 7.5.4
+ semver: 7.7.1
signal-exit: 3.0.7
slash: 3.0.0
ssri: 9.0.1
strong-log-transformer: 2.1.0
tar: 6.1.11
temp-dir: 1.0.0
- typescript: 5.3.3
+ typescript: 5.8.3
upath: 2.0.1
uuid: 9.0.1
validate-npm-package-license: 3.0.4
@@ -19881,106 +29556,83 @@ packages:
- debug
- encoding
- supports-color
- dev: true
- /leven@3.1.0:
- resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
- engines: {node: '>=6'}
+ leven@3.1.0: {}
- /levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
+ levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
- /lib0@0.2.49:
- resolution: {integrity: sha512-ziwYLe/pmI9bjHsAehm4ApuVfZ+q+sbC+vO6Z5+KM+0Fe0MrTLwZSDkJ+cElnhFNQ0P6z/wVkRmc5+vTmImJ9A==}
- engines: {node: '>=12'}
+ lib0@0.2.107:
dependencies:
isomorphic.js: 0.2.5
- dev: false
- /lib0@0.2.88:
- resolution: {integrity: sha512-KyroiEvCeZcZEMx5Ys+b4u4eEBbA1ch7XUaBhYpwa/nPMrzTjUhI4RfcytmQfYoTBPcdyx+FX6WFNIoNuJzJfQ==}
- engines: {node: '>=16'}
- hasBin: true
+ lib0@0.2.49:
dependencies:
isomorphic.js: 0.2.5
- dev: false
- /libnpmaccess@7.0.2:
- resolution: {integrity: sha512-vHBVMw1JFMTgEk15zRsJuSAg7QtGGHpUSEfnbcRL1/gTBag9iEfJbyjpDmdJmwMhvpoLoNBtdAUCdGnaP32hhw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ libnpmaccess@7.0.2:
dependencies:
npm-package-arg: 10.1.0
npm-registry-fetch: 14.0.5
transitivePeerDependencies:
- supports-color
- dev: true
- /libnpmpublish@7.3.0:
- resolution: {integrity: sha512-fHUxw5VJhZCNSls0KLNEG0mCD2PN1i14gH5elGOgiVnU3VgTcRahagYP2LKI1m0tFCJ+XrAm0zVYyF5RCbXzcg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ libnpmpublish@7.3.0:
dependencies:
ci-info: 3.9.0
normalize-package-data: 5.0.0
npm-package-arg: 10.1.0
npm-registry-fetch: 14.0.5
proc-log: 3.0.0
- semver: 7.6.3
+ semver: 7.7.1
sigstore: 1.9.0
- ssri: 10.0.5
+ ssri: 10.0.6
transitivePeerDependencies:
- supports-color
- dev: true
- /lie@3.3.0:
- resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
+ libsql@0.5.20:
+ dependencies:
+ '@neon-rs/load': 0.0.4
+ detect-libc: 2.0.2
+ optionalDependencies:
+ '@libsql/darwin-arm64': 0.5.20
+ '@libsql/darwin-x64': 0.5.20
+ '@libsql/linux-arm-gnueabihf': 0.5.20
+ '@libsql/linux-arm-musleabihf': 0.5.20
+ '@libsql/linux-arm64-gnu': 0.5.20
+ '@libsql/linux-arm64-musl': 0.5.20
+ '@libsql/linux-x64-gnu': 0.5.20
+ '@libsql/linux-x64-musl': 0.5.20
+ '@libsql/win32-x64-msvc': 0.5.20
+
+ lie@3.3.0:
dependencies:
immediate: 3.0.6
- dev: true
-
- /lilconfig@3.1.2:
- resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
- engines: {node: '>=14'}
- dev: false
- /lilconfig@3.1.3:
- resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
- engines: {node: '>=14'}
- dev: true
+ lilconfig@3.1.3: {}
- /lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ lines-and-columns@1.2.4: {}
- /lines-and-columns@2.0.4:
- resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
+ lines-and-columns@2.0.4: {}
- /lint-staged@15.5.0:
- resolution: {integrity: sha512-WyCzSbfYGhK7cU+UuDDkzUiytbfbi0ZdPy2orwtM75P3WTtQBzmG40cCxIa8Ii2+XjfxzLH6Be46tUfWS85Xfg==}
- engines: {node: '>=18.12.0'}
- hasBin: true
+ lint-staged@15.5.0:
dependencies:
chalk: 5.4.1
commander: 13.1.0
debug: 4.4.0
execa: 8.0.1
lilconfig: 3.1.3
- listr2: 8.2.5
+ listr2: 8.3.3
micromatch: 4.0.5
pidtree: 0.6.0
string-argv: 0.3.2
- yaml: 2.7.0
+ yaml: 2.7.1
transitivePeerDependencies:
- supports-color
- dev: true
- /listr2@8.2.5:
- resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==}
- engines: {node: '>=18.0.0'}
+ listr2@8.3.3:
dependencies:
cli-truncate: 4.0.0
colorette: 2.0.20
@@ -19988,366 +29640,218 @@ packages:
log-update: 6.1.0
rfdc: 1.4.1
wrap-ansi: 9.0.0
- dev: true
- /livekit-client@2.1.3:
- resolution: {integrity: sha512-nKWX+2GTGEWbTTu+lV6s2xwUv+6bRVnQXL+DYcQmC2KxEOzanGEODPklR/q1bo2iMhpzWYuoTYw4uY3K2Ws/lA==}
+ livekit-client@2.1.3:
dependencies:
'@livekit/protocol': 1.15.0
events: 3.3.0
- loglevel: 1.8.1
- sdp-transform: 2.14.1
+ loglevel: 1.9.2
+ sdp-transform: 2.15.0
ts-debounce: 4.0.0
tslib: 2.6.2
typed-emitter: 2.1.0
- webrtc-adapter: 8.2.3
- dev: false
+ webrtc-adapter: 8.2.4
- /livekit-server-sdk@2.7.2:
- resolution: {integrity: sha512-qDNRXeo+WMnY5nKSug7KHJ9er9JIuKi+r7H9ZaSBbmbaOt62i0b4BrHBMFSMr8pAuWzuSxihCFa29q5QvFc5fw==}
- engines: {node: '>=19'}
+ livekit-server-sdk@2.7.2:
dependencies:
- '@livekit/protocol': 1.27.0
+ '@livekit/protocol': 1.37.1
camelcase-keys: 9.1.3
jose: 5.4.0
- dev: false
- /load-json-file@4.0.0:
- resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==}
- engines: {node: '>=4'}
+ load-json-file@4.0.0:
dependencies:
graceful-fs: 4.2.11
parse-json: 4.0.0
pify: 3.0.0
strip-bom: 3.0.0
- dev: true
- /load-json-file@6.2.0:
- resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==}
- engines: {node: '>=8'}
+ load-json-file@6.2.0:
dependencies:
graceful-fs: 4.2.11
parse-json: 5.2.0
strip-bom: 4.0.0
type-fest: 0.6.0
- dev: true
- /loader-runner@4.3.0:
- resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
- engines: {node: '>=6.11.5'}
- dev: false
+ loader-runner@4.3.0: {}
- /loader-utils@1.4.2:
- resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==}
- engines: {node: '>=4.0.0'}
+ loader-utils@1.4.2:
dependencies:
big.js: 5.2.2
emojis-list: 3.0.0
json5: 1.0.2
- dev: true
- /loader-utils@2.0.4:
- resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
- engines: {node: '>=8.9.0'}
+ loader-utils@2.0.4:
dependencies:
big.js: 5.2.2
emojis-list: 3.0.0
json5: 2.2.3
- dev: false
- /loader-utils@3.2.1:
- resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==}
- engines: {node: '>= 12.13.0'}
- dev: false
+ loader-utils@3.3.1: {}
- /locate-path@2.0.0:
- resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==}
- engines: {node: '>=4'}
+ locate-path@2.0.0:
dependencies:
p-locate: 2.0.0
path-exists: 3.0.0
- dev: true
- /locate-path@3.0.0:
- resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
- engines: {node: '>=6'}
+ locate-path@3.0.0:
dependencies:
p-locate: 3.0.0
path-exists: 3.0.0
- dev: false
- /locate-path@5.0.0:
- resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
- engines: {node: '>=8'}
+ locate-path@5.0.0:
dependencies:
p-locate: 4.1.0
- /locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
+ locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
- /locate-path@7.2.0:
- resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ locate-path@7.2.0:
dependencies:
p-locate: 6.0.0
- dev: false
- /lodash.camelcase@4.3.0:
- resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
- dev: false
+ lodash.camelcase@4.3.0: {}
- /lodash.debounce@4.0.8:
- resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ lodash.debounce@4.0.8: {}
- /lodash.defaults@4.2.0:
- resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==}
- dev: true
+ lodash.defaults@4.2.0: {}
- /lodash.flatten@4.4.0:
- resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==}
- dev: true
+ lodash.flatten@4.4.0: {}
- /lodash.get@4.4.2:
- resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==}
- dev: false
+ lodash.get@4.4.2: {}
- /lodash.includes@4.3.0:
- resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==}
- dev: false
+ lodash.includes@4.3.0: {}
- /lodash.isarguments@3.1.0:
- resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==}
- dev: true
+ lodash.isarguments@3.1.0: {}
- /lodash.isboolean@3.0.3:
- resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==}
- dev: false
+ lodash.isboolean@3.0.3: {}
- /lodash.isinteger@4.0.4:
- resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==}
- dev: false
+ lodash.isinteger@4.0.4: {}
- /lodash.ismatch@4.4.0:
- resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==}
- dev: true
+ lodash.ismatch@4.4.0: {}
- /lodash.isnumber@3.0.3:
- resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==}
- dev: false
+ lodash.isnumber@3.0.3: {}
- /lodash.isplainobject@4.0.6:
- resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
- dev: false
+ lodash.isplainobject@4.0.6: {}
- /lodash.isstring@4.0.1:
- resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==}
- dev: false
+ lodash.isstring@4.0.1: {}
- /lodash.memoize@3.0.4:
- resolution: {integrity: sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==}
- dev: true
+ lodash.memoize@3.0.4: {}
- /lodash.memoize@4.1.2:
- resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+ lodash.memoize@4.1.2: {}
- /lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ lodash.merge@4.6.2: {}
- /lodash.once@4.1.1:
- resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==}
- dev: false
+ lodash.once@4.1.1: {}
- /lodash.set@4.3.2:
- resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==}
- dev: false
+ lodash.set@4.3.2: {}
- /lodash.sortby@4.7.0:
- resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
- dev: true
+ lodash.sortby@4.7.0: {}
- /lodash.throttle@4.1.1:
- resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
- dev: false
+ lodash.throttle@4.1.1: {}
- /lodash.uniq@4.5.0:
- resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
- dev: false
+ lodash.uniq@4.5.0: {}
- /lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ lodash@4.17.21: {}
- /log-symbols@2.2.0:
- resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==}
- engines: {node: '>=4'}
+ log-symbols@2.2.0:
dependencies:
chalk: 2.4.2
- dev: true
- /log-symbols@4.1.0:
- resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
- engines: {node: '>=10'}
+ log-symbols@4.1.0:
dependencies:
chalk: 4.1.2
is-unicode-supported: 0.1.0
- dev: true
- /log-update@6.1.0:
- resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
- engines: {node: '>=18'}
+ log-update@6.1.0:
dependencies:
ansi-escapes: 7.0.0
cli-cursor: 5.0.0
slice-ansi: 7.1.0
strip-ansi: 7.1.0
wrap-ansi: 9.0.0
- dev: true
- /loglevel@1.8.1:
- resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==}
- engines: {node: '>= 0.6.0'}
- dev: false
+ loglevel@1.9.2: {}
- /long@2.4.0:
- resolution: {integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==}
- engines: {node: '>=0.6'}
- dev: false
+ long@2.4.0: {}
- /long@4.0.0:
- resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==}
- dev: false
+ long@4.0.0: {}
- /long@5.2.3:
- resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==}
- dev: false
+ long@5.3.2: {}
- /longest-streak@3.1.0:
- resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+ longest-streak@3.1.0: {}
- /loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
- hasBin: true
+ loose-envify@1.4.0:
dependencies:
js-tokens: 4.0.0
- dev: false
- /loupe@2.3.7:
- resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
+ loupe@2.3.7:
dependencies:
get-func-name: 2.0.2
- dev: true
- /lower-case@1.1.4:
- resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==}
- dev: true
+ lower-case@1.1.4: {}
- /lower-case@2.0.2:
- resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+ lower-case@2.0.2:
dependencies:
- tslib: 2.8.0
+ tslib: 2.8.1
- /lowercase-keys@2.0.0:
- resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
- engines: {node: '>=8'}
- dev: false
+ lowercase-keys@2.0.0: {}
- /lowercase-keys@3.0.0:
- resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: false
+ lowercase-keys@3.0.0: {}
- /lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+ lru-cache@10.4.3: {}
- /lru-cache@4.1.5:
- resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
+ lru-cache@4.1.5:
dependencies:
pseudomap: 1.0.2
yallist: 2.1.2
- dev: true
- /lru-cache@5.1.1:
- resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
- /lru-cache@6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
+ lru-cache@6.0.0:
dependencies:
yallist: 4.0.0
- /lru-cache@7.18.3:
- resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
- engines: {node: '>=12'}
- dev: true
+ lru-cache@7.18.3: {}
- /lunr@2.3.9:
- resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==}
- dev: false
+ lunr@2.3.9: {}
- /luxon@3.4.4:
- resolution: {integrity: sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==}
- engines: {node: '>=12'}
- dev: false
+ luxon@3.4.4: {}
- /macos-release@2.5.1:
- resolution: {integrity: sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==}
- engines: {node: '>=6'}
- dev: false
+ macos-release@2.5.1: {}
- /magic-string@0.23.2:
- resolution: {integrity: sha512-oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==}
+ magic-string@0.23.2:
dependencies:
sourcemap-codec: 1.4.8
- dev: true
- /magic-string@0.25.9:
- resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+ magic-string@0.25.9:
dependencies:
sourcemap-codec: 1.4.8
- dev: true
- /magic-string@0.30.5:
- resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
- engines: {node: '>=12'}
+ magic-string@0.30.17:
dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
- dev: false
+ '@jridgewell/sourcemap-codec': 1.5.0
- /make-dir@2.1.0:
- resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
- engines: {node: '>=6'}
+ make-dir@2.1.0:
dependencies:
pify: 4.0.1
semver: 5.7.2
- dev: true
- /make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
+ make-dir@3.1.0:
dependencies:
semver: 6.3.1
- dev: true
- /make-dir@4.0.0:
- resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
- engines: {node: '>=10'}
+ make-dir@4.0.0:
dependencies:
- semver: 7.6.3
- dev: true
+ semver: 7.7.1
- /make-error@1.3.6:
- resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
- dev: true
+ make-error@1.3.6: {}
- /make-fetch-happen@10.2.1:
- resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ make-fetch-happen@10.2.1:
dependencies:
- agentkeepalive: 4.5.0
+ agentkeepalive: 4.6.0
cacache: 16.1.3
http-cache-semantics: 4.1.1
http-proxy-agent: 5.0.0
@@ -20359,20 +29863,17 @@ packages:
minipass-fetch: 2.1.2
minipass-flush: 1.0.5
minipass-pipeline: 1.2.4
- negotiator: 0.6.3
+ negotiator: 0.6.4
promise-retry: 2.0.1
socks-proxy-agent: 7.0.0
ssri: 9.0.1
transitivePeerDependencies:
- bluebird
- supports-color
- dev: true
- /make-fetch-happen@11.1.1:
- resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ make-fetch-happen@11.1.1:
dependencies:
- agentkeepalive: 4.5.0
+ agentkeepalive: 4.6.0
cacache: 17.1.4
http-cache-semantics: 4.1.1
http-proxy-agent: 5.0.0
@@ -20380,358 +29881,283 @@ packages:
is-lambda: 1.0.1
lru-cache: 7.18.3
minipass: 5.0.0
- minipass-fetch: 3.0.4
+ minipass-fetch: 3.0.5
minipass-flush: 1.0.5
minipass-pipeline: 1.2.4
- negotiator: 0.6.3
+ negotiator: 0.6.4
promise-retry: 2.0.1
socks-proxy-agent: 7.0.0
- ssri: 10.0.5
+ ssri: 10.0.6
transitivePeerDependencies:
- supports-color
- dev: true
- /make-fetch-happen@13.0.1:
- resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ make-fetch-happen@13.0.1:
dependencies:
'@npmcli/agent': 2.2.2
cacache: 18.0.4
http-cache-semantics: 4.1.1
is-lambda: 1.0.1
- minipass: 7.0.4
- minipass-fetch: 3.0.4
+ minipass: 7.1.2
+ minipass-fetch: 3.0.5
minipass-flush: 1.0.5
minipass-pipeline: 1.2.4
- negotiator: 0.6.3
+ negotiator: 0.6.4
proc-log: 4.2.0
promise-retry: 2.0.1
ssri: 10.0.6
transitivePeerDependencies:
- supports-color
- dev: false
- /makeerror@1.0.12:
- resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
+ makeerror@1.0.12:
dependencies:
tmpl: 1.0.5
- dev: true
- /map-obj@1.0.1:
- resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
- engines: {node: '>=0.10.0'}
- dev: true
+ map-obj@1.0.1: {}
- /map-obj@4.3.0:
- resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
- engines: {node: '>=8'}
- dev: true
+ map-obj@4.3.0: {}
- /map-obj@5.0.0:
- resolution: {integrity: sha512-2L3MIgJynYrZ3TYMriLDLWocz15okFakV6J12HXvMXDHui2x/zgChzg1u9mFFGbbGWE+GsLpQByt4POb9Or+uA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: false
+ map-obj@5.0.0: {}
- /map-stream@0.0.7:
- resolution: {integrity: sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==}
- dev: false
+ map-stream@0.0.7: {}
- /markdown-extensions@2.0.0:
- resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
- engines: {node: '>=16'}
- dev: false
+ marchingsquares@1.3.3: {}
- /markdown-table@3.0.3:
- resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
- dev: false
+ markdown-extensions@2.0.0: {}
- /marked@4.3.0:
- resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==}
- engines: {node: '>= 12'}
- hasBin: true
- dev: false
+ markdown-table@3.0.4: {}
- /matcher@4.0.0:
- resolution: {integrity: sha512-S6x5wmcDmsDRRU/c2dkccDwQPXoFczc5+HpQ2lON8pnvHlnvHAHj5WlLVvw6n6vNyHuVugYrFohYxbS+pvFpKQ==}
- engines: {node: '>=10'}
+ marked@4.3.0: {}
+
+ matcher@4.0.0:
dependencies:
escape-string-regexp: 4.0.0
- dev: false
- /material-colors@1.2.6:
- resolution: {integrity: sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==}
- dev: false
+ material-colors@1.2.6: {}
- /md5.js@1.3.5:
- resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==}
+ math-intrinsics@1.1.0: {}
+
+ md5.js@1.3.5:
dependencies:
- hash-base: 3.1.0
+ hash-base: 3.0.5
inherits: 2.0.4
safe-buffer: 5.2.1
- dev: true
- /mdast-util-directive@3.0.0:
- resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==}
+ mdast-util-directive@3.1.0:
dependencies:
- '@types/mdast': 4.0.3
- '@types/unist': 3.0.2
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
devlop: 1.1.0
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
- parse-entities: 4.0.1
- stringify-entities: 4.0.3
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
unist-util-visit-parents: 6.0.1
transitivePeerDependencies:
- supports-color
- dev: false
- /mdast-util-find-and-replace@3.0.1:
- resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
+ mdast-util-find-and-replace@3.0.2:
dependencies:
- '@types/mdast': 4.0.3
+ '@types/mdast': 4.0.4
escape-string-regexp: 5.0.0
unist-util-is: 6.0.0
unist-util-visit-parents: 6.0.1
- dev: false
- /mdast-util-from-markdown@2.0.0:
- resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==}
+ mdast-util-from-markdown@2.0.2:
dependencies:
- '@types/mdast': 4.0.3
- '@types/unist': 3.0.2
- decode-named-character-reference: 1.0.2
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.1.0
devlop: 1.1.0
mdast-util-to-string: 4.0.0
- micromark: 4.0.0
- micromark-util-decode-numeric-character-reference: 2.0.1
- micromark-util-decode-string: 2.0.0
- micromark-util-normalize-identifier: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark: 4.0.2
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
unist-util-stringify-position: 4.0.0
transitivePeerDependencies:
- supports-color
- /mdast-util-frontmatter@2.0.1:
- resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
+ mdast-util-frontmatter@2.0.1:
dependencies:
- '@types/mdast': 4.0.3
+ '@types/mdast': 4.0.4
devlop: 1.1.0
escape-string-regexp: 5.0.0
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
micromark-extension-frontmatter: 2.0.0
transitivePeerDependencies:
- supports-color
- dev: false
- /mdast-util-gfm-autolink-literal@2.0.0:
- resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==}
+ mdast-util-gfm-autolink-literal@2.0.1:
dependencies:
- '@types/mdast': 4.0.3
+ '@types/mdast': 4.0.4
ccount: 2.0.1
devlop: 1.1.0
- mdast-util-find-and-replace: 3.0.1
- micromark-util-character: 2.0.1
- dev: false
+ mdast-util-find-and-replace: 3.0.2
+ micromark-util-character: 2.1.1
- /mdast-util-gfm-footnote@2.0.0:
- resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==}
+ mdast-util-gfm-footnote@2.1.0:
dependencies:
- '@types/mdast': 4.0.3
+ '@types/mdast': 4.0.4
devlop: 1.1.0
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
- micromark-util-normalize-identifier: 2.0.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ micromark-util-normalize-identifier: 2.0.1
transitivePeerDependencies:
- supports-color
- dev: false
- /mdast-util-gfm-strikethrough@2.0.0:
- resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
+ mdast-util-gfm-strikethrough@2.0.0:
dependencies:
- '@types/mdast': 4.0.3
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
transitivePeerDependencies:
- supports-color
- dev: false
- /mdast-util-gfm-table@2.0.0:
- resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
+ mdast-util-gfm-table@2.0.0:
dependencies:
- '@types/mdast': 4.0.3
+ '@types/mdast': 4.0.4
devlop: 1.1.0
- markdown-table: 3.0.3
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
+ markdown-table: 3.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
transitivePeerDependencies:
- supports-color
- dev: false
- /mdast-util-gfm-task-list-item@2.0.0:
- resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
+ mdast-util-gfm-task-list-item@2.0.0:
dependencies:
- '@types/mdast': 4.0.3
+ '@types/mdast': 4.0.4
devlop: 1.1.0
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
transitivePeerDependencies:
- supports-color
- dev: false
- /mdast-util-gfm@3.0.0:
- resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
+ mdast-util-gfm@3.1.0:
dependencies:
- mdast-util-from-markdown: 2.0.0
- mdast-util-gfm-autolink-literal: 2.0.0
- mdast-util-gfm-footnote: 2.0.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-gfm-autolink-literal: 2.0.1
+ mdast-util-gfm-footnote: 2.1.0
mdast-util-gfm-strikethrough: 2.0.0
mdast-util-gfm-table: 2.0.0
mdast-util-gfm-task-list-item: 2.0.0
- mdast-util-to-markdown: 2.1.0
+ mdast-util-to-markdown: 2.1.2
transitivePeerDependencies:
- supports-color
- dev: false
- /mdast-util-mdx-expression@2.0.0:
- resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==}
+ mdast-util-mdx-expression@2.0.1:
dependencies:
- '@types/estree-jsx': 1.0.3
- '@types/hast': 3.0.3
- '@types/mdast': 4.0.3
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
devlop: 1.1.0
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
transitivePeerDependencies:
- supports-color
- dev: false
- /mdast-util-mdx-jsx@3.0.0:
- resolution: {integrity: sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==}
+ mdast-util-mdx-jsx@3.2.0:
dependencies:
- '@types/estree-jsx': 1.0.3
- '@types/hast': 3.0.3
- '@types/mdast': 4.0.3
- '@types/unist': 3.0.2
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
ccount: 2.0.1
devlop: 1.1.0
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
- parse-entities: 4.0.1
- stringify-entities: 4.0.3
- unist-util-remove-position: 5.0.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
transitivePeerDependencies:
- supports-color
- dev: false
- /mdast-util-mdx@3.0.0:
- resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+ mdast-util-mdx@3.0.0:
dependencies:
- mdast-util-from-markdown: 2.0.0
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.0.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
mdast-util-mdxjs-esm: 2.0.1
- mdast-util-to-markdown: 2.1.0
+ mdast-util-to-markdown: 2.1.2
transitivePeerDependencies:
- supports-color
- dev: false
- /mdast-util-mdxjs-esm@2.0.1:
- resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+ mdast-util-mdxjs-esm@2.0.1:
dependencies:
- '@types/estree-jsx': 1.0.3
- '@types/hast': 3.0.3
- '@types/mdast': 4.0.3
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
devlop: 1.1.0
- mdast-util-from-markdown: 2.0.0
- mdast-util-to-markdown: 2.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
transitivePeerDependencies:
- supports-color
- dev: false
- /mdast-util-phrasing@4.0.0:
- resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==}
+ mdast-util-phrasing@4.1.0:
dependencies:
- '@types/mdast': 4.0.3
+ '@types/mdast': 4.0.4
unist-util-is: 6.0.0
- /mdast-util-to-hast@13.0.2:
- resolution: {integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==}
+ mdast-util-to-hast@13.2.0:
dependencies:
- '@types/hast': 3.0.3
- '@types/mdast': 4.0.3
- '@ungap/structured-clone': 1.2.0
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.3.0
devlop: 1.1.0
- micromark-util-sanitize-uri: 2.0.0
+ micromark-util-sanitize-uri: 2.0.1
trim-lines: 3.0.1
unist-util-position: 5.0.0
unist-util-visit: 5.0.0
+ vfile: 6.0.3
- /mdast-util-to-markdown@2.1.0:
- resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
+ mdast-util-to-markdown@2.1.2:
dependencies:
- '@types/mdast': 4.0.3
- '@types/unist': 3.0.2
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
longest-streak: 3.1.0
- mdast-util-phrasing: 4.0.0
+ mdast-util-phrasing: 4.1.0
mdast-util-to-string: 4.0.0
- micromark-util-decode-string: 2.0.0
+ micromark-util-classify-character: 2.0.1
+ micromark-util-decode-string: 2.0.1
unist-util-visit: 5.0.0
zwitch: 2.0.4
- /mdast-util-to-string@4.0.0:
- resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+ mdast-util-to-string@4.0.0:
dependencies:
- '@types/mdast': 4.0.3
+ '@types/mdast': 4.0.4
- /mdast-util-toc@7.0.0:
- resolution: {integrity: sha512-C28UcSqjmnWuvgT8d97qpaItHKvySqVPAECUzqQ51xuMyNFFJwcFoKW77KoMjtXrclTidLQFDzLUmTmrshRweA==}
+ mdast-util-toc@7.1.0:
dependencies:
- '@types/mdast': 4.0.3
- '@types/ungap__structured-clone': 0.3.3
- '@ungap/structured-clone': 1.2.0
+ '@types/mdast': 4.0.4
+ '@types/ungap__structured-clone': 1.2.0
+ '@ungap/structured-clone': 1.3.0
github-slugger: 2.0.0
mdast-util-to-string: 4.0.0
unist-util-is: 6.0.0
unist-util-visit: 5.0.0
- dev: true
- /mdn-data@2.0.14:
- resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
- dev: true
+ mdn-data@2.0.14: {}
- /mdn-data@2.0.28:
- resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
- dev: false
+ mdn-data@2.0.28: {}
- /mdn-data@2.0.30:
- resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
- dev: false
+ mdn-data@2.0.30: {}
- /media-typer@0.3.0:
- resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
- engines: {node: '>= 0.6'}
- dev: false
+ media-typer@0.3.0: {}
- /memfs@3.5.3:
- resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
- engines: {node: '>= 4.0.0'}
+ media-typer@1.1.0: {}
+
+ memfs@3.5.3:
dependencies:
- fs-monkey: 1.0.5
- dev: false
+ fs-monkey: 1.0.6
- /memory-pager@1.5.0:
- resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==}
- requiresBuild: true
- dev: false
+ memory-pager@1.5.0:
optional: true
- /meow@8.1.2:
- resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
- engines: {node: '>=10'}
+ meow@8.1.2:
dependencies:
'@types/minimist': 1.2.5
camelcase-keys: 6.2.2
@@ -20744,714 +30170,515 @@ packages:
trim-newlines: 3.0.1
type-fest: 0.18.1
yargs-parser: 20.2.9
- dev: true
- /merge-descriptors@1.0.3:
- resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
- dev: false
+ merge-descriptors@1.0.3: {}
- /merge-options@1.0.1:
- resolution: {integrity: sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==}
- engines: {node: '>=4'}
+ merge-descriptors@2.0.0: {}
+
+ merge-options@1.0.1:
dependencies:
is-plain-obj: 1.1.0
- dev: true
- /merge-source-map@1.0.4:
- resolution: {integrity: sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==}
+ merge-source-map@1.0.4:
dependencies:
source-map: 0.5.7
- dev: true
- /merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+ merge-stream@2.0.0: {}
- /merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
+ merge2@1.4.1: {}
- /methods@1.1.2:
- resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
- engines: {node: '>= 0.6'}
- dev: false
+ methods@1.1.2: {}
- /micromark-core-commonmark@2.0.0:
- resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==}
+ micromark-core-commonmark@2.0.3:
dependencies:
- decode-named-character-reference: 1.0.2
+ decode-named-character-reference: 1.1.0
devlop: 1.1.0
- micromark-factory-destination: 2.0.0
- micromark-factory-label: 2.0.0
- micromark-factory-space: 2.0.0
- micromark-factory-title: 2.0.0
- micromark-factory-whitespace: 2.0.0
- micromark-util-character: 2.0.1
- micromark-util-chunked: 2.0.0
- micromark-util-classify-character: 2.0.0
- micromark-util-html-tag-name: 2.0.0
- micromark-util-normalize-identifier: 2.0.0
- micromark-util-resolve-all: 2.0.0
- micromark-util-subtokenize: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- /micromark-extension-directive@3.0.0:
- resolution: {integrity: sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==}
+ micromark-factory-destination: 2.0.1
+ micromark-factory-label: 2.0.1
+ micromark-factory-space: 2.0.1
+ micromark-factory-title: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-html-tag-name: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-directive@3.0.2:
dependencies:
devlop: 1.1.0
- micromark-factory-space: 2.0.0
- micromark-factory-whitespace: 2.0.0
- micromark-util-character: 2.0.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- parse-entities: 4.0.1
- dev: false
-
- /micromark-extension-frontmatter@2.0.0:
- resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
+ micromark-factory-space: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ parse-entities: 4.0.2
+
+ micromark-extension-frontmatter@2.0.0:
dependencies:
fault: 2.0.1
- micromark-util-character: 2.0.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: false
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-extension-gfm-autolink-literal@2.0.0:
- resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==}
+ micromark-extension-gfm-autolink-literal@2.1.0:
dependencies:
- micromark-util-character: 2.0.1
- micromark-util-sanitize-uri: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: false
+ micromark-util-character: 2.1.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-extension-gfm-footnote@2.0.0:
- resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==}
+ micromark-extension-gfm-footnote@2.1.0:
dependencies:
devlop: 1.1.0
- micromark-core-commonmark: 2.0.0
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.0.1
- micromark-util-normalize-identifier: 2.0.0
- micromark-util-sanitize-uri: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: false
-
- /micromark-extension-gfm-strikethrough@2.0.0:
- resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==}
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-strikethrough@2.1.0:
dependencies:
devlop: 1.1.0
- micromark-util-chunked: 2.0.0
- micromark-util-classify-character: 2.0.0
- micromark-util-resolve-all: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: false
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-extension-gfm-table@2.0.0:
- resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==}
+ micromark-extension-gfm-table@2.1.1:
dependencies:
devlop: 1.1.0
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.0.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: false
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-extension-gfm-tagfilter@2.0.0:
- resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
+ micromark-extension-gfm-tagfilter@2.0.0:
dependencies:
- micromark-util-types: 2.0.0
- dev: false
+ micromark-util-types: 2.0.2
- /micromark-extension-gfm-task-list-item@2.0.1:
- resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==}
+ micromark-extension-gfm-task-list-item@2.1.0:
dependencies:
devlop: 1.1.0
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.0.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: false
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-extension-gfm@3.0.0:
- resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+ micromark-extension-gfm@3.0.0:
dependencies:
- micromark-extension-gfm-autolink-literal: 2.0.0
- micromark-extension-gfm-footnote: 2.0.0
- micromark-extension-gfm-strikethrough: 2.0.0
- micromark-extension-gfm-table: 2.0.0
+ micromark-extension-gfm-autolink-literal: 2.1.0
+ micromark-extension-gfm-footnote: 2.1.0
+ micromark-extension-gfm-strikethrough: 2.1.0
+ micromark-extension-gfm-table: 2.1.1
micromark-extension-gfm-tagfilter: 2.0.0
- micromark-extension-gfm-task-list-item: 2.0.1
- micromark-util-combine-extensions: 2.0.0
- micromark-util-types: 2.0.0
- dev: false
+ micromark-extension-gfm-task-list-item: 2.1.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-extension-mdx-expression@3.0.0:
- resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==}
+ micromark-extension-mdx-expression@3.0.1:
dependencies:
'@types/estree': 1.0.0
devlop: 1.1.0
- micromark-factory-mdx-expression: 2.0.1
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.0.1
- micromark-util-events-to-acorn: 2.0.2
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- dev: false
-
- /micromark-extension-mdx-jsx@3.0.0:
- resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==}
- dependencies:
- '@types/acorn': 4.0.6
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-jsx@3.0.2:
+ dependencies:
'@types/estree': 1.0.0
devlop: 1.1.0
estree-util-is-identifier-name: 3.0.0
- micromark-factory-mdx-expression: 2.0.1
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.0.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
vfile-message: 4.0.2
- dev: false
- /micromark-extension-mdx-md@2.0.0:
- resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+ micromark-extension-mdx-md@2.0.0:
dependencies:
- micromark-util-types: 2.0.0
- dev: false
+ micromark-util-types: 2.0.2
- /micromark-extension-mdxjs-esm@3.0.0:
- resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
+ micromark-extension-mdxjs-esm@3.0.0:
dependencies:
'@types/estree': 1.0.0
devlop: 1.1.0
- micromark-core-commonmark: 2.0.0
- micromark-util-character: 2.0.1
- micromark-util-events-to-acorn: 2.0.2
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-core-commonmark: 2.0.3
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
unist-util-position-from-estree: 2.0.0
vfile-message: 4.0.2
- dev: false
- /micromark-extension-mdxjs@3.0.0:
- resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+ micromark-extension-mdxjs@3.0.0:
dependencies:
acorn: 8.11.3
acorn-jsx: 5.3.2(acorn@8.11.3)
- micromark-extension-mdx-expression: 3.0.0
- micromark-extension-mdx-jsx: 3.0.0
+ micromark-extension-mdx-expression: 3.0.1
+ micromark-extension-mdx-jsx: 3.0.2
micromark-extension-mdx-md: 2.0.0
micromark-extension-mdxjs-esm: 3.0.0
- micromark-util-combine-extensions: 2.0.0
- micromark-util-types: 2.0.0
- dev: false
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-factory-destination@2.0.0:
- resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
+ micromark-factory-destination@2.0.1:
dependencies:
- micromark-util-character: 2.0.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-factory-label@2.0.0:
- resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
+ micromark-factory-label@2.0.1:
dependencies:
devlop: 1.1.0
- micromark-util-character: 2.0.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-factory-mdx-expression@2.0.1:
- resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==}
+ micromark-factory-mdx-expression@2.0.3:
dependencies:
'@types/estree': 1.0.0
devlop: 1.1.0
- micromark-util-character: 2.0.1
- micromark-util-events-to-acorn: 2.0.2
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
unist-util-position-from-estree: 2.0.0
vfile-message: 4.0.2
- dev: false
- /micromark-factory-space@1.1.0:
- resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==}
+ micromark-factory-space@1.1.0:
dependencies:
micromark-util-character: 1.2.0
micromark-util-types: 1.1.0
- dev: false
- /micromark-factory-space@2.0.0:
- resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
+ micromark-factory-space@2.0.1:
dependencies:
- micromark-util-character: 2.0.1
- micromark-util-types: 2.0.0
+ micromark-util-character: 2.1.1
+ micromark-util-types: 2.0.2
- /micromark-factory-title@2.0.0:
- resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
+ micromark-factory-title@2.0.1:
dependencies:
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.0.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-factory-whitespace@2.0.0:
- resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
+ micromark-factory-whitespace@2.0.1:
dependencies:
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.0.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-util-character@1.2.0:
- resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==}
+ micromark-util-character@1.2.0:
dependencies:
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
- dev: false
- /micromark-util-character@2.0.1:
- resolution: {integrity: sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==}
+ micromark-util-character@2.1.1:
dependencies:
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-util-chunked@2.0.0:
- resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
+ micromark-util-chunked@2.0.1:
dependencies:
- micromark-util-symbol: 2.0.0
+ micromark-util-symbol: 2.0.1
- /micromark-util-classify-character@2.0.0:
- resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
+ micromark-util-classify-character@2.0.1:
dependencies:
- micromark-util-character: 2.0.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-util-combine-extensions@2.0.0:
- resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
+ micromark-util-combine-extensions@2.0.1:
dependencies:
- micromark-util-chunked: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-util-decode-numeric-character-reference@2.0.1:
- resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
+ micromark-util-decode-numeric-character-reference@2.0.2:
dependencies:
- micromark-util-symbol: 2.0.0
+ micromark-util-symbol: 2.0.1
- /micromark-util-decode-string@2.0.0:
- resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
+ micromark-util-decode-string@2.0.1:
dependencies:
- decode-named-character-reference: 1.0.2
- micromark-util-character: 2.0.1
- micromark-util-decode-numeric-character-reference: 2.0.1
- micromark-util-symbol: 2.0.0
+ decode-named-character-reference: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-symbol: 2.0.1
- /micromark-util-encode@2.0.0:
- resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
+ micromark-util-encode@2.0.1: {}
- /micromark-util-events-to-acorn@2.0.2:
- resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==}
+ micromark-util-events-to-acorn@2.0.3:
dependencies:
- '@types/acorn': 4.0.6
'@types/estree': 1.0.0
- '@types/unist': 3.0.2
+ '@types/unist': 3.0.3
devlop: 1.1.0
estree-util-visit: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
vfile-message: 4.0.2
- dev: false
- /micromark-util-html-tag-name@2.0.0:
- resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
+ micromark-util-html-tag-name@2.0.1: {}
- /micromark-util-normalize-identifier@2.0.0:
- resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
+ micromark-util-normalize-identifier@2.0.1:
dependencies:
- micromark-util-symbol: 2.0.0
+ micromark-util-symbol: 2.0.1
- /micromark-util-resolve-all@2.0.0:
- resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
+ micromark-util-resolve-all@2.0.1:
dependencies:
- micromark-util-types: 2.0.0
+ micromark-util-types: 2.0.2
- /micromark-util-sanitize-uri@2.0.0:
- resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
+ micromark-util-sanitize-uri@2.0.1:
dependencies:
- micromark-util-character: 2.0.1
- micromark-util-encode: 2.0.0
- micromark-util-symbol: 2.0.0
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
- /micromark-util-subtokenize@2.0.0:
- resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==}
+ micromark-util-subtokenize@2.1.0:
dependencies:
devlop: 1.1.0
- micromark-util-chunked: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- /micromark-util-symbol@1.1.0:
- resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==}
- dev: false
+ micromark-util-symbol@1.1.0: {}
- /micromark-util-symbol@2.0.0:
- resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
+ micromark-util-symbol@2.0.1: {}
- /micromark-util-types@1.1.0:
- resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==}
- dev: false
+ micromark-util-types@1.1.0: {}
- /micromark-util-types@2.0.0:
- resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
+ micromark-util-types@2.0.2: {}
- /micromark@4.0.0:
- resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
+ micromark@4.0.2:
dependencies:
'@types/debug': 4.1.12
debug: 4.4.0
- decode-named-character-reference: 1.0.2
+ decode-named-character-reference: 1.1.0
devlop: 1.1.0
- micromark-core-commonmark: 2.0.0
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.0.1
- micromark-util-chunked: 2.0.0
- micromark-util-combine-extensions: 2.0.0
- micromark-util-decode-numeric-character-reference: 2.0.1
- micromark-util-encode: 2.0.0
- micromark-util-normalize-identifier: 2.0.0
- micromark-util-resolve-all: 2.0.0
- micromark-util-sanitize-uri: 2.0.0
- micromark-util-subtokenize: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-encode: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
transitivePeerDependencies:
- supports-color
- /micromatch@4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
- engines: {node: '>=8.6'}
+ micromatch@4.0.5:
dependencies:
- braces: 3.0.2
+ braces: 3.0.3
picomatch: 2.3.1
- /miller-rabin@4.0.1:
- resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==}
- hasBin: true
+ miller-rabin@4.0.1:
dependencies:
- bn.js: 4.12.0
+ bn.js: 4.12.2
brorand: 1.1.0
- dev: true
- /mime-db@1.33.0:
- resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==}
- engines: {node: '>= 0.6'}
- dev: false
+ mime-db@1.33.0: {}
- /mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
+ mime-db@1.52.0: {}
- /mime-types@2.1.18:
- resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==}
- engines: {node: '>= 0.6'}
+ mime-db@1.54.0: {}
+
+ mime-types@2.1.18:
dependencies:
mime-db: 1.33.0
- dev: false
- /mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
+ mime-types@2.1.35:
dependencies:
mime-db: 1.52.0
- /mime@1.6.0:
- resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
- engines: {node: '>=4'}
- hasBin: true
+ mime-types@3.0.1:
+ dependencies:
+ mime-db: 1.54.0
- /mime@2.4.6:
- resolution: {integrity: sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==}
- engines: {node: '>=4.0.0'}
- hasBin: true
- dev: false
+ mime@1.6.0: {}
- /mimic-fn@1.2.0:
- resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
- engines: {node: '>=4'}
- dev: true
+ mime@2.4.6: {}
- /mimic-fn@2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
- engines: {node: '>=6'}
+ mimic-fn@1.2.0: {}
- /mimic-fn@4.0.0:
- resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
- engines: {node: '>=12'}
+ mimic-fn@2.1.0: {}
- /mimic-function@5.0.1:
- resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
- engines: {node: '>=18'}
- dev: true
+ mimic-fn@4.0.0: {}
- /mimic-response@1.0.1:
- resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
- engines: {node: '>=4'}
- dev: false
+ mimic-function@5.0.1: {}
- /mimic-response@3.1.0:
- resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
- engines: {node: '>=10'}
- dev: false
+ mimic-response@1.0.1: {}
- /mimic-response@4.0.0:
- resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: false
+ mimic-response@3.1.0: {}
- /min-indent@1.0.1:
- resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
- engines: {node: '>=4'}
- dev: true
+ mimic-response@4.0.0: {}
- /mini-css-extract-plugin@2.7.6(webpack@5.89.0):
- resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==}
- engines: {node: '>= 12.13.0'}
- peerDependencies:
- webpack: ^5.0.0
+ min-indent@1.0.1: {}
+
+ mini-css-extract-plugin@2.9.2(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
- schema-utils: 4.2.0
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ schema-utils: 4.3.2
+ tapable: 2.2.1
+ webpack: 5.99.8(esbuild@0.19.12)
- /minimalistic-assert@1.0.1:
- resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+ minimalistic-assert@1.0.1: {}
- /minimalistic-crypto-utils@1.0.1:
- resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==}
- dev: true
+ minimalistic-crypto-utils@1.0.1: {}
- /minimatch@3.0.5:
- resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==}
+ minimatch@3.0.5:
dependencies:
brace-expansion: 1.1.11
- dev: true
- /minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
- /minimatch@5.1.6:
- resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
- engines: {node: '>=10'}
+ minimatch@5.1.6:
dependencies:
brace-expansion: 2.0.1
- dev: true
- /minimatch@7.4.6:
- resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
- engines: {node: '>=10'}
+ minimatch@7.4.6:
dependencies:
brace-expansion: 2.0.1
- dev: false
- /minimatch@8.0.4:
- resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==}
- engines: {node: '>=16 || 14 >=14.17'}
+ minimatch@8.0.4:
dependencies:
brace-expansion: 2.0.1
- dev: true
- /minimatch@9.0.3:
- resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
- engines: {node: '>=16 || 14 >=14.17'}
+ minimatch@9.0.3:
dependencies:
brace-expansion: 2.0.1
- dev: false
- /minimatch@9.0.5:
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
- engines: {node: '>=16 || 14 >=14.17'}
+ minimatch@9.0.5:
dependencies:
brace-expansion: 2.0.1
- /minimist-options@4.1.0:
- resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
- engines: {node: '>= 6'}
+ minimist-options@4.1.0:
dependencies:
arrify: 1.0.1
is-plain-obj: 1.1.0
kind-of: 6.0.3
- dev: true
- /minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ minimist@1.2.8: {}
- /minio@8.0.1:
- resolution: {integrity: sha512-FzDO6yGnqLtm8sp3mXafWtiRUOslJSSg/aI0v9YbN5vjw5KLoODKAROCyi766NIvTSxcfHBrbhCSGk1A+MOzDg==}
- engines: {node: ^16 || ^18 || >=20}
+ minio@8.0.1:
dependencies:
- async: 3.2.5
+ async: 3.2.6
block-stream2: 2.1.0
browser-or-node: 2.1.1
buffer-crc32: 1.0.0
eventemitter3: 5.0.1
- fast-xml-parser: 4.2.5
- ipaddr.js: 2.1.0
+ fast-xml-parser: 4.5.3
+ ipaddr.js: 2.2.0
lodash: 4.17.21
mime-types: 2.1.35
query-string: 7.1.3
- stream-json: 1.8.0
+ stream-json: 1.9.1
through2: 4.0.2
web-encoding: 1.1.5
xml2js: 0.5.0
- dev: false
- /minipass-collect@1.0.2:
- resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==}
- engines: {node: '>= 8'}
+ minipass-collect@1.0.2:
dependencies:
minipass: 3.3.6
- dev: true
- /minipass-collect@2.0.1:
- resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==}
- engines: {node: '>=16 || 14 >=14.17'}
+ minipass-collect@2.0.1:
dependencies:
- minipass: 7.0.4
- dev: false
+ minipass: 7.1.2
- /minipass-fetch@2.1.2:
- resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ minipass-fetch@2.1.2:
dependencies:
minipass: 3.3.6
minipass-sized: 1.0.3
minizlib: 2.1.2
optionalDependencies:
encoding: 0.1.13
- dev: true
- /minipass-fetch@3.0.4:
- resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ minipass-fetch@3.0.5:
dependencies:
- minipass: 7.0.4
+ minipass: 7.1.2
minipass-sized: 1.0.3
minizlib: 2.1.2
optionalDependencies:
encoding: 0.1.13
- /minipass-flush@1.0.5:
- resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==}
- engines: {node: '>= 8'}
+ minipass-flush@1.0.5:
dependencies:
minipass: 3.3.6
- /minipass-json-stream@1.0.1:
- resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==}
+ minipass-json-stream@1.0.2:
dependencies:
jsonparse: 1.3.1
minipass: 3.3.6
- dev: true
- /minipass-pipeline@1.2.4:
- resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==}
- engines: {node: '>=8'}
+ minipass-pipeline@1.2.4:
dependencies:
minipass: 3.3.6
- /minipass-sized@1.0.3:
- resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==}
- engines: {node: '>=8'}
+ minipass-sized@1.0.3:
dependencies:
minipass: 3.3.6
- /minipass@2.9.0:
- resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==}
+ minipass@2.9.0:
dependencies:
safe-buffer: 5.2.1
yallist: 3.1.1
- dev: true
- /minipass@3.3.6:
- resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
- engines: {node: '>=8'}
+ minipass@3.3.6:
dependencies:
yallist: 4.0.0
- /minipass@4.2.8:
- resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==}
- engines: {node: '>=8'}
- dev: true
+ minipass@4.2.8: {}
- /minipass@5.0.0:
- resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
- engines: {node: '>=8'}
+ minipass@5.0.0: {}
- /minipass@7.0.4:
- resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
- engines: {node: '>=16 || 14 >=14.17'}
+ minipass@7.1.2: {}
- /minizlib@1.3.3:
- resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==}
+ minizlib@1.3.3:
dependencies:
minipass: 2.9.0
- dev: true
- /minizlib@2.1.2:
- resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
- engines: {node: '>= 8'}
+ minizlib@2.1.2:
dependencies:
minipass: 3.3.6
yallist: 4.0.0
- /mkdirp-classic@0.5.3:
- resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
- dev: true
+ mkdirp-classic@0.5.3: {}
- /mkdirp@0.5.6:
- resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
- hasBin: true
+ mkdirp@0.5.6:
dependencies:
minimist: 1.2.8
- dev: true
- /mkdirp@1.0.4:
- resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
- engines: {node: '>=10'}
- hasBin: true
+ mkdirp@1.0.4: {}
- /mkdirp@2.1.6:
- resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==}
- engines: {node: '>=10'}
- hasBin: true
- dev: false
+ mkdirp@2.1.6: {}
- /mnemonist@0.38.3:
- resolution: {integrity: sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==}
+ mnemonist@0.38.3:
dependencies:
obliterator: 1.6.1
- dev: false
- /mock-fs@5.2.0:
- resolution: {integrity: sha512-2dF2R6YMSZbpip1V1WHKGLNjr/k48uQClqMVb5H3MOvwc9qhYis3/IWbj02qIg/Y8MDXKFF4c5v0rxx2o6xTZw==}
- engines: {node: '>=12.0.0'}
- dev: true
+ mock-fs@5.2.0: {}
- /modify-values@1.0.1:
- resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==}
- engines: {node: '>=0.10.0'}
- dev: true
+ modify-values@1.0.1: {}
- /module-deps@6.2.3:
- resolution: {integrity: sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==}
- engines: {node: '>= 0.8.0'}
- hasBin: true
+ module-deps@6.2.3:
dependencies:
JSONStream: 1.3.5
browser-resolve: 2.0.0
@@ -21463,20 +30690,15 @@ packages:
inherits: 2.0.4
parents: 1.0.1
readable-stream: 2.3.8
- resolve: 1.22.8
+ resolve: 1.22.10
stream-combiner2: 1.1.1
subarg: 1.0.0
through2: 2.0.5
xtend: 4.0.2
- dev: true
- /module-details-from-path@1.0.3:
- resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==}
- dev: false
+ module-details-from-path@1.0.4: {}
- /mongodb@3.6.2:
- resolution: {integrity: sha512-sSZOb04w3HcnrrXC82NEh/YGCmBuRgR+C1hZgmmv4L6dBz4BkRse6Y8/q/neXer9i95fKUBbFi4KgeceXmbsOA==}
- engines: {node: '>=4'}
+ mongodb@3.6.2:
dependencies:
bl: 2.2.1
bson: 1.1.6
@@ -21485,98 +30707,66 @@ packages:
safe-buffer: 5.2.1
optionalDependencies:
saslprep: 1.0.3
- dev: false
- /morphdom@2.7.1:
- resolution: {integrity: sha512-LwrrjplMolniWtOGluKF1EHZ0y78Fa4sq7f/MXCydyNkDof+POf+ruCn+k08l7H7b/JISfRo8Zd0HazuqySY9w==}
- dev: true
+ morphdom@2.7.5: {}
- /mri@1.2.0:
- resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
- engines: {node: '>=4'}
- dev: true
+ mri@1.2.0: {}
- /mrmime@1.0.1:
- resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
- engines: {node: '>=10'}
- dev: false
+ mrmime@2.0.1: {}
- /ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
- dev: false
+ ms@2.0.0: {}
- /ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ ms@2.1.3: {}
- /ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ msgpackr-extract@3.0.3:
+ dependencies:
+ node-gyp-build-optional-packages: 5.2.2
+ optionalDependencies:
+ '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.3
+ '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.3
+ '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.3
+ '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.3
+ '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.3
+ '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.3
+ optional: true
- /multicast-dns@7.2.5:
- resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
- hasBin: true
+ msgpackr@1.11.5:
+ optionalDependencies:
+ msgpackr-extract: 3.0.3
+
+ multicast-dns@7.2.5:
dependencies:
dns-packet: 5.6.1
thunky: 1.1.0
- dev: false
-
- /multimatch@4.0.0:
- resolution: {integrity: sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==}
- engines: {node: '>=8'}
- dependencies:
- '@types/minimatch': 3.0.5
- array-differ: 3.0.0
- array-union: 2.1.0
- arrify: 2.0.1
- minimatch: 3.1.2
- dev: true
- /multimatch@5.0.0:
- resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==}
- engines: {node: '>=10'}
+ multimatch@5.0.0:
dependencies:
'@types/minimatch': 3.0.5
array-differ: 3.0.0
array-union: 2.1.0
arrify: 2.0.1
minimatch: 3.1.2
- dev: true
- /mustache@4.2.0:
- resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
- hasBin: true
- dev: false
+ mustache@4.2.0: {}
- /mute-stream@0.0.8:
- resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
- dev: true
+ mute-stream@0.0.8: {}
- /mute-stream@1.0.0:
- resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: true
+ mute-stream@1.0.0: {}
- /mutexify@1.4.0:
- resolution: {integrity: sha512-pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==}
+ mutexify@1.4.0:
dependencies:
queue-tick: 1.0.1
- dev: true
- /nanoassert@1.1.0:
- resolution: {integrity: sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ==}
- dev: true
+ nanoassert@1.1.0: {}
- /nanobench@2.1.1:
- resolution: {integrity: sha512-z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==}
- hasBin: true
+ nanobench@2.1.1:
dependencies:
browser-process-hrtime: 0.1.3
chalk: 1.1.3
mutexify: 1.4.0
pretty-hrtime: 1.0.3
- dev: true
- /nanohtml@1.10.0:
- resolution: {integrity: sha512-r/3AQl+jxAxUIJRiKExUjBtFcE1cm4yTOsTIdVqqlxPNtBxJh522ANrcQYzdNHhPzbPgb7j6qujq6eGehBX0kg==}
+ nanohtml@1.10.0:
dependencies:
acorn-node: 1.8.2
camel-case: 3.0.0
@@ -21589,176 +30779,129 @@ packages:
normalize-html-whitespace: 0.2.0
through2: 2.0.5
transform-ast: 2.4.4
- dev: true
- /nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
+ nanoid@3.3.11: {}
- /natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ napi-postinstall@0.3.4: {}
- /ndarray-linear-interpolate@1.0.0:
- resolution: {integrity: sha512-UN0f4+6XWsQzJ2pP5gVp+kKn5tJed6mA3K/L50uO619+7LKrjcSNdcerhpqxYaSkbxNJuEN76N05yBBJySnZDw==}
- dev: false
+ natural-compare@1.4.0: {}
- /ndarray-pack@1.2.1:
- resolution: {integrity: sha512-51cECUJMT0rUZNQa09EoKsnFeDL4x2dHRT0VR5U2H5ZgEcm95ZDWcMA5JShroXjHOejmAD/fg8+H+OvUnVXz2g==}
+ ndarray-linear-interpolate@1.0.0: {}
+
+ ndarray-pack@1.2.1:
dependencies:
cwise-compiler: 1.1.3
ndarray: 1.0.19
- dev: false
- /ndarray@1.0.19:
- resolution: {integrity: sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==}
+ ndarray@1.0.19:
dependencies:
iota-array: 1.0.0
is-buffer: 1.1.6
- dev: false
- /negotiator@0.6.3:
- resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
- engines: {node: '>= 0.6'}
+ negotiator@0.6.3: {}
- /neo-async@2.6.2:
- resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+ negotiator@0.6.4: {}
- /nice-try@1.0.5:
- resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
- dev: false
+ negotiator@1.0.0: {}
- /no-case@2.3.2:
- resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==}
+ neo-async@2.6.2: {}
+
+ nice-try@1.0.5: {}
+
+ no-case@2.3.2:
dependencies:
lower-case: 1.1.4
- dev: true
- /no-case@3.0.4:
- resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+ no-case@3.0.4:
dependencies:
lower-case: 2.0.2
- tslib: 2.8.0
+ tslib: 2.8.1
- /node-bitmap@0.0.1:
- resolution: {integrity: sha512-Jx5lPaaLdIaOsj2mVLWMWulXF6GQVdyLvNSxmiYCvZ8Ma2hfKX0POoR2kgKOqz+oFsRreq0yYZjQ2wjE9VNzCA==}
- engines: {node: '>=v0.6.5'}
- dev: false
+ node-abort-controller@3.1.1: {}
- /node-domexception@1.0.0:
- resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
- engines: {node: '>=10.5.0'}
- dev: false
+ node-bitmap@0.0.1: {}
- /node-emoji@2.1.3:
- resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==}
- engines: {node: '>=18'}
+ node-domexception@1.0.0: {}
+
+ node-emoji@2.2.0:
dependencies:
'@sindresorhus/is': 4.6.0
char-regex: 1.0.2
emojilib: 2.4.0
skin-tone: 2.0.0
- dev: false
- /node-fetch@2.6.13:
- resolution: {integrity: sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
+ node-fetch-native@1.6.7: {}
+
+ node-fetch@2.6.13(encoding@0.1.13):
dependencies:
whatwg-url: 5.0.0
- dev: false
+ optionalDependencies:
+ encoding: 0.1.13
- /node-fetch@2.6.7:
- resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
+ node-fetch@2.6.7(encoding@0.1.13):
dependencies:
whatwg-url: 5.0.0
- dev: true
+ optionalDependencies:
+ encoding: 0.1.13
- /node-fetch@2.7.0:
- resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
+ node-fetch@2.7.0(encoding@0.1.13):
dependencies:
whatwg-url: 5.0.0
+ optionalDependencies:
+ encoding: 0.1.13
- /node-forge@1.3.1:
- resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
- engines: {node: '>= 6.13.0'}
- dev: false
+ node-fetch@3.3.2:
+ dependencies:
+ data-uri-to-buffer: 4.0.1
+ fetch-blob: 3.2.0
+ formdata-polyfill: 4.0.10
- /node-gyp@10.2.0:
- resolution: {integrity: sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==}
- engines: {node: ^16.14.0 || >=18.0.0}
- hasBin: true
+ node-forge@1.3.1: {}
+
+ node-gyp-build-optional-packages@5.2.2:
+ dependencies:
+ detect-libc: 2.0.4
+ optional: true
+
+ node-gyp@10.3.1:
dependencies:
env-paths: 2.2.1
- exponential-backoff: 3.1.1
- glob: 10.3.10
+ exponential-backoff: 3.1.2
+ glob: 10.4.5
graceful-fs: 4.2.11
make-fetch-happen: 13.0.1
nopt: 7.2.1
proc-log: 4.2.0
- semver: 7.6.3
+ semver: 7.7.1
tar: 6.2.1
which: 4.0.0
transitivePeerDependencies:
- supports-color
- dev: false
- /node-gyp@9.4.1:
- resolution: {integrity: sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==}
- engines: {node: ^12.13 || ^14.13 || >=16}
- hasBin: true
+ node-gyp@9.4.1:
dependencies:
env-paths: 2.2.1
- exponential-backoff: 3.1.1
+ exponential-backoff: 3.1.2
glob: 7.2.3
graceful-fs: 4.2.11
make-fetch-happen: 10.2.1
nopt: 6.0.0
npmlog: 6.0.2
rimraf: 3.0.2
- semver: 7.6.3
- tar: 6.2.0
+ semver: 7.7.1
+ tar: 6.1.11
which: 2.0.2
transitivePeerDependencies:
- bluebird
- supports-color
- dev: true
-
- /node-int64@0.4.0:
- resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
- dev: true
- /node-machine-id@1.1.12:
- resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==}
- dev: true
+ node-int64@0.4.0: {}
- /node-releases@2.0.14:
- resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+ node-machine-id@1.1.12: {}
- /node-releases@2.0.18:
- resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
- dev: false
+ node-releases@2.0.19: {}
- /nodemon@2.0.22:
- resolution: {integrity: sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==}
- engines: {node: '>=8.10.0'}
- hasBin: true
+ nodemon@2.0.22:
dependencies:
chokidar: 3.5.2
debug: 3.2.7(supports-color@5.5.0)
@@ -21768,291 +30911,176 @@ packages:
semver: 5.7.2
simple-update-notifier: 1.1.0
supports-color: 5.5.0
- touch: 3.1.0
+ touch: 3.1.1
undefsafe: 2.0.5
- dev: true
-
- /nopt@1.0.10:
- resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==}
- hasBin: true
- dependencies:
- abbrev: 1.1.1
- dev: true
- /nopt@6.0.0:
- resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
- hasBin: true
+ nopt@6.0.0:
dependencies:
abbrev: 1.1.1
- dev: true
- /nopt@7.2.1:
- resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- hasBin: true
+ nopt@7.2.1:
dependencies:
abbrev: 2.0.0
- dev: false
- /normalize-html-whitespace@0.2.0:
- resolution: {integrity: sha512-5CZAEQ4bQi8Msqw0GAT6rrkrjNN4ZKqAG3+jJMwms4O6XoMvh6ekwOueG4mRS1LbPUR1r9EdnhxxfpzMTOdzKw==}
- engines: {node: '>= 0.10'}
- dev: true
+ normalize-html-whitespace@0.2.0: {}
- /normalize-package-data@2.5.0:
- resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+ normalize-package-data@2.5.0:
dependencies:
hosted-git-info: 2.8.9
- resolve: 1.22.8
+ resolve: 1.22.10
semver: 5.7.2
validate-npm-package-license: 3.0.4
- dev: true
- /normalize-package-data@3.0.3:
- resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
- engines: {node: '>=10'}
+ normalize-package-data@3.0.3:
dependencies:
hosted-git-info: 4.1.0
- is-core-module: 2.13.1
- semver: 7.6.3
+ is-core-module: 2.16.1
+ semver: 7.7.1
validate-npm-package-license: 3.0.4
- dev: true
- /normalize-package-data@5.0.0:
- resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ normalize-package-data@5.0.0:
dependencies:
- hosted-git-info: 6.1.1
- is-core-module: 2.13.1
- semver: 7.6.3
+ hosted-git-info: 6.1.3
+ is-core-module: 2.16.1
+ semver: 7.7.1
validate-npm-package-license: 3.0.4
- dev: true
- /normalize-package-data@6.0.2:
- resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ normalize-package-data@6.0.2:
dependencies:
hosted-git-info: 7.0.2
- semver: 7.6.3
+ semver: 7.7.1
validate-npm-package-license: 3.0.4
- dev: false
- /normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
+ normalize-path@3.0.0: {}
- /normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
- dev: false
+ normalize-range@0.1.2: {}
- /normalize-url@6.1.0:
- resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
- engines: {node: '>=10'}
- dev: false
+ normalize-url@6.1.0: {}
- /normalize-url@8.0.0:
- resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==}
- engines: {node: '>=14.16'}
- dev: false
+ normalize-url@8.0.1: {}
- /npm-bundled@1.1.2:
- resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==}
+ npm-bundled@1.1.2:
dependencies:
npm-normalize-package-bin: 1.0.1
- dev: true
- /npm-bundled@3.0.0:
- resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ npm-bundled@3.0.1:
dependencies:
npm-normalize-package-bin: 3.0.1
- /npm-install-checks@6.3.0:
- resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ npm-install-checks@6.3.0:
dependencies:
- semver: 7.6.3
+ semver: 7.7.1
- /npm-normalize-package-bin@1.0.1:
- resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==}
- dev: true
+ npm-normalize-package-bin@1.0.1: {}
- /npm-normalize-package-bin@3.0.1:
- resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ npm-normalize-package-bin@3.0.1: {}
- /npm-package-arg@10.1.0:
- resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ npm-package-arg@10.1.0:
dependencies:
- hosted-git-info: 6.1.1
+ hosted-git-info: 6.1.3
proc-log: 3.0.0
- semver: 7.6.3
+ semver: 7.7.1
validate-npm-package-name: 5.0.0
- dev: true
- /npm-package-arg@11.0.3:
- resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ npm-package-arg@11.0.3:
dependencies:
hosted-git-info: 7.0.2
proc-log: 4.2.0
- semver: 7.6.3
- validate-npm-package-name: 5.0.0
- dev: false
+ semver: 7.7.1
+ validate-npm-package-name: 5.0.1
- /npm-package-arg@8.1.1:
- resolution: {integrity: sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==}
- engines: {node: '>=10'}
+ npm-package-arg@8.1.1:
dependencies:
hosted-git-info: 3.0.8
- semver: 7.6.3
+ semver: 7.7.1
validate-npm-package-name: 3.0.0
- dev: true
- /npm-packlist@5.1.1:
- resolution: {integrity: sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
- hasBin: true
+ npm-packlist@5.1.1:
dependencies:
glob: 8.1.0
ignore-walk: 5.0.1
npm-bundled: 1.1.2
npm-normalize-package-bin: 1.0.1
- dev: true
- /npm-packlist@7.0.4:
- resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ npm-packlist@7.0.4:
dependencies:
- ignore-walk: 6.0.4
- dev: true
+ ignore-walk: 6.0.5
- /npm-packlist@8.0.2:
- resolution: {integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ npm-packlist@8.0.2:
dependencies:
- ignore-walk: 6.0.4
- dev: false
+ ignore-walk: 6.0.5
- /npm-pick-manifest@8.0.2:
- resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ npm-pick-manifest@8.0.2:
dependencies:
npm-install-checks: 6.3.0
npm-normalize-package-bin: 3.0.1
npm-package-arg: 10.1.0
- semver: 7.6.3
- dev: true
+ semver: 7.7.1
- /npm-pick-manifest@9.1.0:
- resolution: {integrity: sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ npm-pick-manifest@9.1.0:
dependencies:
npm-install-checks: 6.3.0
npm-normalize-package-bin: 3.0.1
npm-package-arg: 11.0.3
- semver: 7.6.3
- dev: false
+ semver: 7.7.1
- /npm-registry-fetch@14.0.5:
- resolution: {integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ npm-registry-fetch@14.0.5:
dependencies:
make-fetch-happen: 11.1.1
minipass: 5.0.0
- minipass-fetch: 3.0.4
- minipass-json-stream: 1.0.1
+ minipass-fetch: 3.0.5
+ minipass-json-stream: 1.0.2
minizlib: 2.1.2
npm-package-arg: 10.1.0
proc-log: 3.0.0
transitivePeerDependencies:
- supports-color
- dev: true
- /npm-registry-fetch@17.1.0:
- resolution: {integrity: sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ npm-registry-fetch@17.1.0:
dependencies:
'@npmcli/redact': 2.0.1
jsonparse: 1.3.1
make-fetch-happen: 13.0.1
- minipass: 7.0.4
- minipass-fetch: 3.0.4
+ minipass: 7.1.2
+ minipass-fetch: 3.0.5
minizlib: 2.1.2
npm-package-arg: 11.0.3
proc-log: 4.2.0
transitivePeerDependencies:
- supports-color
- dev: false
- /npm-run-path@2.0.2:
- resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
- engines: {node: '>=4'}
+ npm-run-path@2.0.2:
dependencies:
path-key: 2.0.1
- /npm-run-path@4.0.1:
- resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
- engines: {node: '>=8'}
+ npm-run-path@4.0.1:
dependencies:
path-key: 3.1.1
- /npm-run-path@5.3.0:
- resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ npm-run-path@5.3.0:
dependencies:
path-key: 4.0.0
- dev: true
- /npmlog@6.0.2:
- resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ npmlog@6.0.2:
dependencies:
are-we-there-yet: 3.0.1
console-control-strings: 1.1.0
gauge: 4.0.4
set-blocking: 2.0.0
- dev: true
- /nprogress@0.2.0:
- resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==}
- dev: false
+ nprogress@0.2.0: {}
- /nth-check@2.1.1:
- resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+ nth-check@2.1.1:
dependencies:
boolbase: 1.0.0
- /number-is-nan@1.0.1:
- resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==}
- engines: {node: '>=0.10.0'}
- dev: true
+ number-is-nan@1.0.1: {}
- /nwsapi@2.2.10:
- resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==}
- dev: true
+ nwsapi@2.2.20: {}
- /nwsapi@2.2.7:
- resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==}
- dev: true
-
- /nx@17.1.3:
- resolution: {integrity: sha512-6LYoTt01nS1d/dvvYtRs+pEAMQmUVsd2fr/a8+X1cDjWrb8wsf1O3DwlBTqKOXOazpS3eOr0Ukc9N1svbu7uXA==}
- hasBin: true
- requiresBuild: true
- peerDependencies:
- '@swc-node/register': ^1.6.7
- '@swc/core': ^1.3.85
- peerDependenciesMeta:
- '@swc-node/register':
- optional: true
- '@swc/core':
- optional: true
+ nx@17.3.2:
dependencies:
- '@nrwl/tao': 17.1.3
+ '@nrwl/tao': 17.3.2
'@yarnpkg/lockfile': 1.1.0
'@yarnpkg/parsers': 3.0.0-rc.46
'@zkochan/js-yaml': 0.0.6
@@ -22061,233 +31089,169 @@ packages:
cli-cursor: 3.1.0
cli-spinners: 2.6.1
cliui: 8.0.1
- dotenv: 16.3.1
+ dotenv: 16.3.2
dotenv-expand: 10.0.0
enquirer: 2.3.6
figures: 3.2.0
flat: 5.0.2
- fs-extra: 11.2.0
- glob: 7.1.4
- ignore: 5.3.0
+ fs-extra: 11.3.0
+ ignore: 5.3.2
jest-diff: 29.7.0
js-yaml: 4.1.0
jsonc-parser: 3.2.0
lines-and-columns: 2.0.4
- minimatch: 3.0.5
+ minimatch: 9.0.3
node-machine-id: 1.1.12
npm-run-path: 4.0.1
open: 8.4.2
- semver: 7.5.3
+ ora: 5.3.0
+ semver: 7.7.1
string-width: 4.2.3
strong-log-transformer: 2.1.0
tar-stream: 2.2.0
- tmp: 0.2.1
+ tmp: 0.2.3
tsconfig-paths: 4.2.0
- tslib: 2.8.0
- v8-compile-cache: 2.3.0
+ tslib: 2.8.1
yargs: 17.7.2
yargs-parser: 21.1.1
optionalDependencies:
- '@nx/nx-darwin-arm64': 17.1.3
- '@nx/nx-darwin-x64': 17.1.3
- '@nx/nx-freebsd-x64': 17.1.3
- '@nx/nx-linux-arm-gnueabihf': 17.1.3
- '@nx/nx-linux-arm64-gnu': 17.1.3
- '@nx/nx-linux-arm64-musl': 17.1.3
- '@nx/nx-linux-x64-gnu': 17.1.3
- '@nx/nx-linux-x64-musl': 17.1.3
- '@nx/nx-win32-arm64-msvc': 17.1.3
- '@nx/nx-win32-x64-msvc': 17.1.3
+ '@nx/nx-darwin-arm64': 17.3.2
+ '@nx/nx-darwin-x64': 17.3.2
+ '@nx/nx-freebsd-x64': 17.3.2
+ '@nx/nx-linux-arm-gnueabihf': 17.3.2
+ '@nx/nx-linux-arm64-gnu': 17.3.2
+ '@nx/nx-linux-arm64-musl': 17.3.2
+ '@nx/nx-linux-x64-gnu': 17.3.2
+ '@nx/nx-linux-x64-musl': 17.3.2
+ '@nx/nx-win32-arm64-msvc': 17.3.2
+ '@nx/nx-win32-x64-msvc': 17.3.2
transitivePeerDependencies:
- debug
- dev: true
- /oauth-sign@0.9.0:
- resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==}
- dev: false
+ nypm@0.6.1:
+ dependencies:
+ citty: 0.1.6
+ consola: 3.4.2
+ pathe: 2.0.3
+ pkg-types: 2.2.0
+ tinyexec: 1.0.1
- /object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
+ oauth-sign@0.9.0: {}
- /object-hash@2.2.0:
- resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==}
- engines: {node: '>= 6'}
- dev: false
+ object-assign@4.1.1: {}
- /object-inspect@1.13.2:
- resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
- engines: {node: '>= 0.4'}
+ object-hash@2.2.0: {}
- /object-keys@1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
- engines: {node: '>= 0.4'}
+ object-inspect@1.13.4: {}
- /object.assign@4.1.5:
- resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
- engines: {node: '>= 0.4'}
+ object-keys@1.1.1: {}
+
+ object.assign@4.1.7:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.4
define-properties: 1.2.1
- has-symbols: 1.0.3
+ es-object-atoms: 1.1.1
+ has-symbols: 1.1.0
object-keys: 1.1.1
- /obliterator@1.6.1:
- resolution: {integrity: sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==}
- dev: false
+ obliterator@1.6.1: {}
- /obuf@1.1.2:
- resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
- dev: false
+ obuf@1.1.2: {}
- /octokit-pagination-methods@1.1.0:
- resolution: {integrity: sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==}
- dev: false
+ octokit-pagination-methods@1.1.0: {}
- /octokit@4.0.2:
- resolution: {integrity: sha512-wbqF4uc1YbcldtiBFfkSnquHtECEIpYD78YUXI6ri1Im5OO2NLo6ZVpRdbJpdnpZ05zMrVPssNiEo6JQtea+Qg==}
- engines: {node: '>= 18'}
+ octokit@4.1.3:
dependencies:
- '@octokit/app': 15.1.0
- '@octokit/core': 6.1.2
- '@octokit/oauth-app': 7.1.3
- '@octokit/plugin-paginate-graphql': 5.2.2(@octokit/core@6.1.2)
- '@octokit/plugin-paginate-rest': 11.3.3(@octokit/core@6.1.2)
- '@octokit/plugin-rest-endpoint-methods': 13.2.4(@octokit/core@6.1.2)
- '@octokit/plugin-retry': 7.1.1(@octokit/core@6.1.2)
- '@octokit/plugin-throttling': 9.3.1(@octokit/core@6.1.2)
- '@octokit/request-error': 6.1.4
- '@octokit/types': 13.5.0
- dev: false
-
- /oidc-token-hash@5.0.3:
- resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==}
- engines: {node: ^10.13.0 || >=12.0.0}
- dev: false
+ '@octokit/app': 15.1.6
+ '@octokit/core': 6.1.5
+ '@octokit/oauth-app': 7.1.6
+ '@octokit/plugin-paginate-graphql': 5.2.4(@octokit/core@6.1.5)
+ '@octokit/plugin-paginate-rest': 12.0.0(@octokit/core@6.1.5)
+ '@octokit/plugin-rest-endpoint-methods': 14.0.0(@octokit/core@6.1.5)
+ '@octokit/plugin-retry': 7.2.1(@octokit/core@6.1.5)
+ '@octokit/plugin-throttling': 10.0.0(@octokit/core@6.1.5)
+ '@octokit/request-error': 6.1.8
+ '@octokit/types': 14.0.0
- /omggif@1.0.10:
- resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
- dev: false
+ ohash@2.0.11: {}
- /on-finished@2.4.1:
- resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
- engines: {node: '>= 0.8'}
+ oidc-token-hash@5.1.0: {}
+
+ omggif@1.0.10: {}
+
+ on-finished@2.4.1:
dependencies:
ee-first: 1.1.1
- dev: false
- /on-headers@1.0.2:
- resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
- engines: {node: '>= 0.8'}
- dev: false
+ on-headers@1.0.2: {}
- /on-net-listen@1.1.2:
- resolution: {integrity: sha512-y1HRYy8s/RlcBvDUwKXSmkODMdx4KSuIvloCnQYJ2LdBBC1asY4HtfhXwe3UWknLakATZDnbzht2Ijw3M1EqFg==}
- engines: {node: '>=9.4.0 || ^8.9.4'}
- dev: true
+ on-net-listen@1.1.2: {}
- /once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ once@1.4.0:
dependencies:
wrappy: 1.0.2
- /onetime@2.0.1:
- resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==}
- engines: {node: '>=4'}
+ onetime@2.0.1:
dependencies:
mimic-fn: 1.2.0
- dev: true
- /onetime@5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
- engines: {node: '>=6'}
+ onetime@5.1.2:
dependencies:
mimic-fn: 2.1.0
- /onetime@6.0.0:
- resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
- engines: {node: '>=12'}
+ onetime@6.0.0:
dependencies:
mimic-fn: 4.0.0
- dev: true
- /onetime@7.0.0:
- resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
- engines: {node: '>=18'}
+ onetime@7.0.0:
dependencies:
mimic-function: 5.0.1
- dev: true
- /open@10.1.0:
- resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==}
- engines: {node: '>=18'}
+ open@10.1.0:
dependencies:
default-browser: 5.2.1
- define-lazy-prop: 3.0.0
- is-inside-container: 1.0.0
- is-wsl: 3.1.0
- dev: false
-
- /open@8.4.2:
- resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
- engines: {node: '>=12'}
- dependencies:
- define-lazy-prop: 2.0.0
- is-docker: 2.2.1
- is-wsl: 2.2.0
-
- /openai@4.89.0(zod@3.22.4):
- resolution: {integrity: sha512-XNI0q2l8/Os6jmojxaID5EhyQjxZgzR2gWcpEjYWK5hGKwE7AcifxEY7UNwFDDHJQXqeiosQ0CJwQN+rvnwdjA==}
- hasBin: true
- peerDependencies:
- ws: ^8.18.0
- zod: ^3.23.8
- peerDependenciesMeta:
- ws:
- optional: true
- zod:
- optional: true
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+ is-wsl: 3.1.0
+
+ open@8.4.2:
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
+ openai@4.89.0(encoding@0.1.13)(ws@8.18.0)(zod@3.22.4):
dependencies:
- '@types/node': 18.19.3
- '@types/node-fetch': 2.6.9
+ '@types/node': 18.19.98
+ '@types/node-fetch': 2.6.12
abort-controller: 3.0.0
- agentkeepalive: 4.5.0
+ agentkeepalive: 4.6.0
form-data-encoder: 1.7.2
formdata-node: 4.4.1
- node-fetch: 2.7.0
+ node-fetch: 2.7.0(encoding@0.1.13)
+ optionalDependencies:
+ ws: 8.18.0
zod: 3.22.4
transitivePeerDependencies:
- encoding
- dev: false
- /opencollective-postinstall@2.0.3:
- resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==}
- hasBin: true
- dev: false
+ opencollective-postinstall@2.0.3: {}
- /opener@1.5.2:
- resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
- hasBin: true
+ opener@1.5.2: {}
- /openid-client@5.6.1:
- resolution: {integrity: sha512-PtrWsY+dXg6y8mtMPyL/namZSYVz8pjXz3yJiBNZsEdCnu9miHLB4ELVC85WvneMKo2Rg62Ay7NkuCpM0bgiLQ==}
+ openid-client@5.6.1:
dependencies:
- jose: 4.15.4
+ jose: 4.15.9
lru-cache: 6.0.0
object-hash: 2.2.0
- oidc-token-hash: 5.0.3
- dev: false
+ oidc-token-hash: 5.1.0
- /opn@5.5.0:
- resolution: {integrity: sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==}
- engines: {node: '>=4'}
+ opn@5.5.0:
dependencies:
is-wsl: 1.1.0
- dev: true
- /optionator@0.9.4:
- resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
- engines: {node: '>= 0.8.0'}
+ optionator@0.9.4:
dependencies:
deep-is: 0.1.4
fast-levenshtein: 2.0.6
@@ -22296,210 +31260,144 @@ packages:
type-check: 0.4.0
word-wrap: 1.2.5
- /ora@1.4.0:
- resolution: {integrity: sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==}
- engines: {node: '>=4'}
+ ora@1.4.0:
dependencies:
chalk: 2.4.2
cli-cursor: 2.1.0
cli-spinners: 1.3.1
log-symbols: 2.2.0
- dev: true
- /ora@5.4.1:
- resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
- engines: {node: '>=10'}
+ ora@5.3.0:
dependencies:
bl: 4.1.0
chalk: 4.1.2
cli-cursor: 3.1.0
cli-spinners: 2.6.1
is-interactive: 1.0.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+
+ ora@5.4.1:
+ dependencies:
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.9.2
+ is-interactive: 1.0.0
is-unicode-supported: 0.1.0
log-symbols: 4.1.0
strip-ansi: 6.0.1
wcwidth: 1.0.1
- dev: true
- /os-browserify@0.3.0:
- resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==}
- dev: true
+ os-browserify@0.3.0: {}
- /os-name@3.1.0:
- resolution: {integrity: sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==}
- engines: {node: '>=6'}
+ os-name@3.1.0:
dependencies:
macos-release: 2.5.1
windows-release: 3.3.3
- dev: false
- /os-tmpdir@1.0.2:
- resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
- engines: {node: '>=0.10.0'}
- dev: true
+ os-tmpdir@1.0.2: {}
- /p-cancelable@2.1.1:
- resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==}
- engines: {node: '>=8'}
- dev: false
+ own-keys@1.0.1:
+ dependencies:
+ get-intrinsic: 1.3.0
+ object-keys: 1.1.1
+ safe-push-apply: 1.0.0
- /p-cancelable@3.0.0:
- resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
- engines: {node: '>=12.20'}
- dev: false
+ p-cancelable@2.1.1: {}
- /p-finally@1.0.0:
- resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
- engines: {node: '>=4'}
+ p-cancelable@3.0.0: {}
- /p-limit@1.3.0:
- resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==}
- engines: {node: '>=4'}
+ p-finally@1.0.0: {}
+
+ p-limit@1.3.0:
dependencies:
p-try: 1.0.0
- dev: true
- /p-limit@2.3.0:
- resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
- engines: {node: '>=6'}
+ p-limit@2.3.0:
dependencies:
p-try: 2.2.0
- /p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
+ p-limit@3.1.0:
dependencies:
yocto-queue: 0.1.0
- /p-limit@4.0.0:
- resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ p-limit@4.0.0:
dependencies:
- yocto-queue: 1.0.0
- dev: false
+ yocto-queue: 1.2.1
- /p-locate@2.0.0:
- resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==}
- engines: {node: '>=4'}
+ p-locate@2.0.0:
dependencies:
p-limit: 1.3.0
- dev: true
- /p-locate@3.0.0:
- resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
- engines: {node: '>=6'}
+ p-locate@3.0.0:
dependencies:
p-limit: 2.3.0
- dev: false
- /p-locate@4.1.0:
- resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
- engines: {node: '>=8'}
+ p-locate@4.1.0:
dependencies:
p-limit: 2.3.0
- /p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
+ p-locate@5.0.0:
dependencies:
p-limit: 3.1.0
- /p-locate@6.0.0:
- resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ p-locate@6.0.0:
dependencies:
p-limit: 4.0.0
- dev: false
- /p-map-series@2.1.0:
- resolution: {integrity: sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==}
- engines: {node: '>=8'}
- dev: true
+ p-map-series@2.1.0: {}
- /p-map@2.1.0:
- resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
- engines: {node: '>=6'}
- dev: true
+ p-map@2.1.0: {}
- /p-map@4.0.0:
- resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
- engines: {node: '>=10'}
+ p-map@4.0.0:
dependencies:
aggregate-error: 3.1.0
- /p-map@5.5.0:
- resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==}
- engines: {node: '>=12'}
+ p-map@5.5.0:
dependencies:
aggregate-error: 4.0.1
- dev: true
- /p-pipe@3.1.0:
- resolution: {integrity: sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==}
- engines: {node: '>=8'}
- dev: true
+ p-pipe@3.1.0: {}
- /p-queue@6.6.2:
- resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==}
- engines: {node: '>=8'}
+ p-queue@6.6.2:
dependencies:
eventemitter3: 4.0.7
p-timeout: 3.2.0
- dev: true
- /p-reduce@2.1.0:
- resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==}
- engines: {node: '>=8'}
- dev: true
+ p-reduce@2.1.0: {}
- /p-retry@4.6.2:
- resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==}
- engines: {node: '>=8'}
+ p-retry@4.6.2:
dependencies:
'@types/retry': 0.12.0
retry: 0.13.1
- dev: false
- /p-timeout@3.2.0:
- resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==}
- engines: {node: '>=8'}
+ p-timeout@3.2.0:
dependencies:
p-finally: 1.0.0
- dev: true
- /p-try@1.0.0:
- resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==}
- engines: {node: '>=4'}
- dev: true
+ p-try@1.0.0: {}
- /p-try@2.2.0:
- resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
- engines: {node: '>=6'}
+ p-try@2.2.0: {}
- /p-waterfall@2.1.1:
- resolution: {integrity: sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==}
- engines: {node: '>=8'}
+ p-waterfall@2.1.1:
dependencies:
p-reduce: 2.1.0
- dev: true
- /package-json@8.1.1:
- resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==}
- engines: {node: '>=14.16'}
+ package-json-from-dist@1.0.1: {}
+
+ package-json@8.1.1:
dependencies:
got: 12.6.1
- registry-auth-token: 5.0.2
+ registry-auth-token: 5.1.0
registry-url: 6.0.1
- semver: 7.6.3
- dev: false
+ semver: 7.7.1
- /pacote@15.2.0:
- resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- hasBin: true
+ pacote@15.2.0:
dependencies:
'@npmcli/git': 4.1.0
- '@npmcli/installed-package-contents': 2.0.2
+ '@npmcli/installed-package-contents': 2.1.0
'@npmcli/promise-spawn': 6.0.2
'@npmcli/run-script': 6.0.2
cacache: 17.1.4
@@ -22514,26 +31412,22 @@ packages:
read-package-json: 6.0.4
read-package-json-fast: 3.0.2
sigstore: 1.9.0
- ssri: 10.0.5
- tar: 6.2.0
+ ssri: 10.0.6
+ tar: 6.1.11
transitivePeerDependencies:
- bluebird
- supports-color
- dev: true
- /pacote@18.0.6:
- resolution: {integrity: sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==}
- engines: {node: ^16.14.0 || >=18.0.0}
- hasBin: true
+ pacote@18.0.6:
dependencies:
'@npmcli/git': 5.0.8
'@npmcli/installed-package-contents': 2.1.0
- '@npmcli/package-json': 5.2.0
+ '@npmcli/package-json': 5.2.1
'@npmcli/promise-spawn': 7.0.2
'@npmcli/run-script': 8.1.0
cacache: 18.0.4
fs-minipass: 3.0.3
- minipass: 7.0.4
+ minipass: 7.1.2
npm-package-arg: 11.0.3
npm-packlist: 8.0.2
npm-pick-manifest: 9.1.0
@@ -22542,886 +31436,531 @@ packages:
promise-retry: 2.0.1
sigstore: 2.3.1
ssri: 10.0.6
- tar: 6.2.0
+ tar: 6.2.1
transitivePeerDependencies:
- bluebird
- supports-color
- dev: false
- /pako@1.0.11:
- resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
- dev: true
+ pako@1.0.11: {}
- /param-case@3.0.4:
- resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
+ param-case@3.0.4:
dependencies:
dot-case: 3.0.4
- tslib: 2.8.0
+ tslib: 2.8.1
- /parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
+ parent-module@1.0.1:
dependencies:
callsites: 3.1.0
- /parents@1.0.1:
- resolution: {integrity: sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==}
+ parents@1.0.1:
dependencies:
path-platform: 0.11.15
- dev: true
- /parse-asn1@5.1.6:
- resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==}
+ parse-asn1@5.1.7:
dependencies:
- asn1.js: 5.4.1
+ asn1.js: 4.10.1
browserify-aes: 1.2.0
evp_bytestokey: 1.0.3
+ hash-base: 3.0.5
pbkdf2: 3.1.2
safe-buffer: 5.2.1
- dev: true
- /parse-conflict-json@3.0.1:
- resolution: {integrity: sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ parse-conflict-json@3.0.1:
dependencies:
json-parse-even-better-errors: 3.0.2
just-diff: 6.0.2
just-diff-apply: 5.5.0
- dev: false
- /parse-data-uri@0.2.0:
- resolution: {integrity: sha512-uOtts8NqDcaCt1rIsO3VFDRsAfgE4c6osG4d9z3l4dCBlxYFzni6Di/oNU270SDrjkfZuUvLZx1rxMyqh46Y9w==}
+ parse-data-uri@0.2.0:
dependencies:
data-uri-to-buffer: 0.0.3
- dev: false
- /parse-entities@4.0.1:
- resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==}
+ parse-entities@4.0.2:
dependencies:
- '@types/unist': 2.0.10
- character-entities: 2.0.2
+ '@types/unist': 2.0.11
character-entities-legacy: 3.0.0
character-reference-invalid: 2.0.1
- decode-named-character-reference: 1.0.2
+ decode-named-character-reference: 1.1.0
is-alphanumerical: 2.0.1
is-decimal: 2.0.1
is-hexadecimal: 2.0.1
- dev: false
- /parse-json@4.0.0:
- resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==}
- engines: {node: '>=4'}
+ parse-json@4.0.0:
dependencies:
error-ex: 1.3.2
json-parse-better-errors: 1.0.2
- dev: true
- /parse-json@5.2.0:
- resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
- engines: {node: '>=8'}
+ parse-json@5.2.0:
dependencies:
- '@babel/code-frame': 7.23.5
+ '@babel/code-frame': 7.27.1
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
- /parse-numeric-range@1.3.0:
- resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==}
- dev: false
+ parse-numeric-range@1.3.0: {}
- /parse-path@7.0.0:
- resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==}
+ parse-path@7.1.0:
dependencies:
- protocols: 2.0.1
- dev: true
+ protocols: 2.0.2
- /parse-url@8.1.0:
- resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==}
+ parse-url@8.1.0:
dependencies:
- parse-path: 7.0.0
- dev: true
+ parse-path: 7.1.0
- /parse5-htmlparser2-tree-adapter@7.0.0:
- resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==}
+ parse5-htmlparser2-tree-adapter@7.1.0:
dependencies:
domhandler: 5.0.3
- parse5: 7.1.2
- dev: false
+ parse5: 7.3.0
- /parse5@6.0.1:
- resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
- dev: false
+ parse5@6.0.1: {}
- /parse5@7.1.2:
- resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
+ parse5@7.3.0:
dependencies:
- entities: 4.5.0
+ entities: 6.0.0
- /parseurl@1.3.3:
- resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
- engines: {node: '>= 0.8'}
- dev: false
+ parseurl@1.3.3: {}
- /pascal-case@3.1.2:
- resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
+ pascal-case@3.1.2:
dependencies:
no-case: 3.0.4
- tslib: 2.8.0
+ tslib: 2.8.1
- /path-browserify@1.0.1:
- resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+ path-browserify@1.0.1: {}
- /path-exists@3.0.0:
- resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
- engines: {node: '>=4'}
+ path-exists@3.0.0: {}
- /path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
+ path-exists@4.0.0: {}
- /path-exists@5.0.0:
- resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: false
+ path-exists@5.0.0: {}
- /path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
+ path-is-absolute@1.0.1: {}
- /path-is-inside@1.0.2:
- resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==}
- dev: false
+ path-is-inside@1.0.2: {}
- /path-key@2.0.1:
- resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
- engines: {node: '>=4'}
+ path-key@2.0.1: {}
- /path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
+ path-key@3.1.1: {}
- /path-key@4.0.0:
- resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
- engines: {node: '>=12'}
- dev: true
+ path-key@4.0.0: {}
- /path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ path-parse@1.0.7: {}
- /path-platform@0.11.15:
- resolution: {integrity: sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==}
- engines: {node: '>= 0.8.0'}
- dev: true
+ path-platform@0.11.15: {}
- /path-scurry@1.10.1:
- resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
- engines: {node: '>=16 || 14 >=14.17'}
+ path-scurry@1.11.1:
dependencies:
lru-cache: 10.4.3
- minipass: 7.0.4
+ minipass: 7.1.2
- /path-to-regexp@0.1.10:
- resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==}
- dev: false
+ path-to-regexp@0.1.12: {}
- /path-to-regexp@1.9.0:
- resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==}
+ path-to-regexp@1.9.0:
dependencies:
isarray: 0.0.1
- dev: false
- /path-to-regexp@2.2.1:
- resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==}
- dev: false
+ path-to-regexp@3.3.0: {}
- /path-type@3.0.0:
- resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==}
- engines: {node: '>=4'}
+ path-to-regexp@8.2.0: {}
+
+ path-type@3.0.0:
dependencies:
pify: 3.0.0
- dev: true
- /path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
+ path-type@4.0.0: {}
- /pathe@0.2.0:
- resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==}
- dev: true
+ pathe@0.2.0: {}
- /pathval@1.1.1:
- resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
- dev: true
+ pathe@2.0.3: {}
- /pause-stream@0.0.11:
- resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
+ pathval@1.1.1: {}
+
+ pause-stream@0.0.11:
dependencies:
through: 2.3.8
- dev: false
- /pbkdf2@3.1.2:
- resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==}
- engines: {node: '>=0.12'}
+ pbkdf2@3.1.2:
dependencies:
create-hash: 1.2.0
create-hmac: 1.1.7
ripemd160: 2.0.2
safe-buffer: 5.2.1
sha.js: 2.4.11
- dev: true
- /performance-now@2.1.0:
- resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
- dev: false
+ perfect-debounce@1.0.0: {}
- /periscopic@3.1.0:
- resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
+ performance-now@2.1.0: {}
+
+ periscopic@3.1.0:
dependencies:
'@types/estree': 1.0.0
estree-walker: 3.0.3
- is-reference: 3.0.2
- dev: false
+ is-reference: 3.0.3
- /pg-int8@1.0.1:
- resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
- engines: {node: '>=4.0.0'}
- dev: false
+ pg-int8@1.0.1: {}
- /pg-protocol@1.6.1:
- resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==}
- dev: false
+ pg-protocol@1.9.5: {}
- /pg-types@2.2.0:
- resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
- engines: {node: '>=4'}
+ pg-types@2.2.0:
dependencies:
pg-int8: 1.0.1
postgres-array: 2.0.0
postgres-bytea: 1.0.0
postgres-date: 1.0.7
postgres-interval: 1.2.0
- dev: false
- /picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ picocolors@1.1.1: {}
- /picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+ picomatch@2.3.1: {}
- /picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
+ picomatch@3.0.1: {}
- /picomatch@3.0.1:
- resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==}
- engines: {node: '>=10'}
- dev: false
+ picomatch@4.0.2: {}
- /pidtree@0.6.0:
- resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
- engines: {node: '>=0.10'}
- hasBin: true
- dev: true
+ pidtree@0.6.0: {}
- /pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
- dev: true
+ pify@2.3.0: {}
- /pify@3.0.0:
- resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
- engines: {node: '>=4'}
- dev: true
+ pify@3.0.0: {}
- /pify@4.0.1:
- resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
- engines: {node: '>=6'}
- dev: true
+ pify@4.0.1: {}
- /pify@5.0.0:
- resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==}
- engines: {node: '>=10'}
+ pify@5.0.0: {}
- /pin-github-action@1.9.1:
- resolution: {integrity: sha512-ZwICGpJjnQKctwK+Wvq+hYT49PT2M9Psd9P+D4x9dBHuOAPP3AeNk68mvhkLtXhyahH4kjQkUMDohQ86NEvVnA==}
- hasBin: true
+ pin-github-action@1.9.1(encoding@0.1.13):
dependencies:
- '@octokit/rest': 18.12.0
+ '@octokit/rest': 18.12.0(encoding@0.1.13)
commander: 9.5.0
debug: 4.4.0
matcher: 4.0.0
- yaml: 2.3.4
+ yaml: 2.7.1
transitivePeerDependencies:
- encoding
- supports-color
- dev: false
- /pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
- dev: true
+ pirates@4.0.7: {}
- /pkg-dir@4.2.0:
- resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
- engines: {node: '>=8'}
+ pkce-challenge@5.0.0: {}
+
+ pkg-dir@4.2.0:
dependencies:
find-up: 4.1.0
- dev: true
- /pkg-dir@7.0.0:
- resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==}
- engines: {node: '>=14.16'}
+ pkg-dir@7.0.0:
dependencies:
find-up: 6.3.0
- dev: false
- /pkg-up@3.1.0:
- resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
- engines: {node: '>=8'}
+ pkg-types@2.2.0:
+ dependencies:
+ confbox: 0.2.2
+ exsolve: 1.0.7
+ pathe: 2.0.3
+
+ pkg-up@3.1.0:
dependencies:
find-up: 3.0.0
- dev: false
- /platform@1.3.5:
- resolution: {integrity: sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==}
+ platform@1.3.5: {}
- /playwright-core@1.40.1:
- resolution: {integrity: sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==}
- engines: {node: '>=16'}
- hasBin: true
- dev: true
+ playwright-core@1.52.0: {}
- /playwright@1.40.1:
- resolution: {integrity: sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==}
- engines: {node: '>=16'}
- hasBin: true
+ playwright@1.52.0:
dependencies:
- playwright-core: 1.40.1
+ playwright-core: 1.52.0
optionalDependencies:
fsevents: 2.3.2
- dev: true
- /pngjs@3.4.0:
- resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
- engines: {node: '>=4.0.0'}
- dev: false
+ pngjs@3.4.0: {}
- /pngjs@5.0.0:
- resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
- engines: {node: '>=10.13.0'}
- dev: false
+ pngjs@5.0.0: {}
- /portfinder@1.0.32:
- resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==}
- engines: {node: '>= 0.12.0'}
+ point-in-polygon-hao@1.2.4:
dependencies:
- async: 2.6.4
- debug: 3.2.7(supports-color@5.5.0)
- mkdirp: 0.5.6
+ robust-predicates: 3.0.2
+
+ point-in-polygon@1.1.0: {}
+
+ polyclip-ts@0.16.8:
+ dependencies:
+ bignumber.js: 9.3.0
+ splaytree-ts: 1.0.2
+
+ portfinder@1.0.37:
+ dependencies:
+ async: 3.2.6
+ debug: 4.4.0
transitivePeerDependencies:
- supports-color
- dev: true
- /postcss-calc@9.0.1(postcss@8.4.47):
- resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.2.2
+ possible-typed-array-names@1.1.0: {}
+
+ postcss-calc@9.0.1(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-selector-parser: 6.1.2
postcss-value-parser: 4.2.0
- dev: false
- /postcss-colormin@6.1.0(postcss@8.4.47):
- resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-colormin@6.1.0(postcss@8.5.3):
dependencies:
- browserslist: 4.24.2
+ browserslist: 4.24.5
caniuse-api: 3.0.0
colord: 2.9.3
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-convert-values@6.1.0(postcss@8.4.47):
- resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-convert-values@6.1.0(postcss@8.5.3):
dependencies:
- browserslist: 4.24.2
- postcss: 8.4.47
+ browserslist: 4.24.5
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-discard-comments@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-discard-comments@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
- dev: false
+ postcss: 8.5.3
- /postcss-discard-duplicates@6.0.3(postcss@8.4.47):
- resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-discard-duplicates@6.0.3(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
- dev: false
+ postcss: 8.5.3
- /postcss-discard-empty@6.0.3(postcss@8.4.47):
- resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-discard-empty@6.0.3(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
- dev: false
+ postcss: 8.5.3
- /postcss-discard-overridden@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-discard-overridden@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
- dev: false
+ postcss: 8.5.3
- /postcss-discard-unused@6.0.5(postcss@8.4.47):
- resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-discard-unused@6.0.5(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-selector-parser: 6.1.2
- dev: false
- /postcss-loader@7.3.3(postcss@8.4.47)(typescript@5.3.3)(webpack@5.89.0):
- resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==}
- engines: {node: '>= 14.15.0'}
- peerDependencies:
- postcss: ^7.0.0 || ^8.0.1
- webpack: ^5.0.0
+ postcss-loader@7.3.4(postcss@8.5.3)(typescript@5.8.3)(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
- cosmiconfig: 8.3.6(typescript@5.3.3)
- jiti: 1.21.0
- postcss: 8.4.47
- semver: 7.6.3
- webpack: 5.89.0(esbuild@0.19.8)
+ cosmiconfig: 8.3.6(typescript@5.8.3)
+ jiti: 1.21.7
+ postcss: 8.5.3
+ semver: 7.7.1
+ webpack: 5.99.8(esbuild@0.19.12)
transitivePeerDependencies:
- typescript
- dev: false
- /postcss-merge-idents@6.0.3(postcss@8.4.47):
- resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-merge-idents@6.0.3(postcss@8.5.3):
dependencies:
- cssnano-utils: 4.0.2(postcss@8.4.47)
- postcss: 8.4.47
+ cssnano-utils: 4.0.2(postcss@8.5.3)
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-merge-longhand@6.0.5(postcss@8.4.47):
- resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-merge-longhand@6.0.5(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- stylehacks: 6.1.1(postcss@8.4.47)
- dev: false
+ stylehacks: 6.1.1(postcss@8.5.3)
- /postcss-merge-rules@6.1.1(postcss@8.4.47):
- resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-merge-rules@6.1.1(postcss@8.5.3):
dependencies:
- browserslist: 4.24.2
+ browserslist: 4.24.5
caniuse-api: 3.0.0
- cssnano-utils: 4.0.2(postcss@8.4.47)
- postcss: 8.4.47
+ cssnano-utils: 4.0.2(postcss@8.5.3)
+ postcss: 8.5.3
postcss-selector-parser: 6.1.2
- dev: false
- /postcss-minify-font-values@6.1.0(postcss@8.4.47):
- resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-minify-font-values@6.1.0(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-minify-gradients@6.0.3(postcss@8.4.47):
- resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-minify-gradients@6.0.3(postcss@8.5.3):
dependencies:
colord: 2.9.3
- cssnano-utils: 4.0.2(postcss@8.4.47)
- postcss: 8.4.47
+ cssnano-utils: 4.0.2(postcss@8.5.3)
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-minify-params@6.1.0(postcss@8.4.47):
- resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-minify-params@6.1.0(postcss@8.5.3):
dependencies:
- browserslist: 4.24.2
- cssnano-utils: 4.0.2(postcss@8.4.47)
- postcss: 8.4.47
+ browserslist: 4.24.5
+ cssnano-utils: 4.0.2(postcss@8.5.3)
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-minify-selectors@6.0.4(postcss@8.4.47):
- resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-minify-selectors@6.0.4(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-selector-parser: 6.1.2
- dev: false
- /postcss-modules-extract-imports@3.0.0(postcss@8.4.47):
- resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
+ postcss-modules-extract-imports@3.1.0(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
- dev: false
+ postcss: 8.5.3
- /postcss-modules-local-by-default@4.0.3(postcss@8.4.47):
- resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
+ postcss-modules-local-by-default@4.2.0(postcss@8.5.3):
dependencies:
- icss-utils: 5.1.0(postcss@8.4.47)
- postcss: 8.4.47
- postcss-selector-parser: 6.1.2
+ icss-utils: 5.1.0(postcss@8.5.3)
+ postcss: 8.5.3
+ postcss-selector-parser: 7.1.0
postcss-value-parser: 4.2.0
- dev: false
- /postcss-modules-scope@3.0.0(postcss@8.4.47):
- resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
+ postcss-modules-scope@3.2.1(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
- postcss-selector-parser: 6.1.2
- dev: false
+ postcss: 8.5.3
+ postcss-selector-parser: 7.1.0
- /postcss-modules-values@4.0.0(postcss@8.4.47):
- resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
+ postcss-modules-values@4.0.0(postcss@8.5.3):
dependencies:
- icss-utils: 5.1.0(postcss@8.4.47)
- postcss: 8.4.47
- dev: false
+ icss-utils: 5.1.0(postcss@8.5.3)
+ postcss: 8.5.3
- /postcss-normalize-charset@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-normalize-charset@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
- dev: false
+ postcss: 8.5.3
- /postcss-normalize-display-values@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-normalize-display-values@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-normalize-positions@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-normalize-positions@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-normalize-repeat-style@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-normalize-repeat-style@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-normalize-string@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-normalize-string@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-normalize-timing-functions@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-normalize-timing-functions@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-normalize-unicode@6.1.0(postcss@8.4.47):
- resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-normalize-unicode@6.1.0(postcss@8.5.3):
dependencies:
- browserslist: 4.24.2
- postcss: 8.4.47
+ browserslist: 4.24.5
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-normalize-url@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-normalize-url@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-normalize-whitespace@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-normalize-whitespace@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-ordered-values@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-ordered-values@6.0.2(postcss@8.5.3):
dependencies:
- cssnano-utils: 4.0.2(postcss@8.4.47)
- postcss: 8.4.47
+ cssnano-utils: 4.0.2(postcss@8.5.3)
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-prefix-selector@1.16.0(postcss@5.2.18):
- resolution: {integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==}
- peerDependencies:
- postcss: '>4 <9'
+ postcss-prefix-selector@1.16.1(postcss@5.2.18):
dependencies:
postcss: 5.2.18
- dev: true
- /postcss-reduce-idents@6.0.3(postcss@8.4.47):
- resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-reduce-idents@6.0.3(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-reduce-initial@6.1.0(postcss@8.4.47):
- resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-reduce-initial@6.1.0(postcss@8.5.3):
dependencies:
- browserslist: 4.24.2
+ browserslist: 4.24.5
caniuse-api: 3.0.0
- postcss: 8.4.47
- dev: false
+ postcss: 8.5.3
- /postcss-reduce-transforms@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-reduce-transforms@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
- dev: false
- /postcss-selector-parser@6.1.2:
- resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
- engines: {node: '>=4'}
+ postcss-selector-parser@6.1.2:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
- /postcss-sort-media-queries@5.2.0(postcss@8.4.47):
- resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.4.23
+ postcss-selector-parser@7.1.0:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-sort-media-queries@5.2.0(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
sort-css-media-queries: 2.2.0
- dev: false
- /postcss-svgo@6.0.3(postcss@8.4.47):
- resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==}
- engines: {node: ^14 || ^16 || >= 18}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-svgo@6.0.3(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-value-parser: 4.2.0
svgo: 3.3.2
- dev: false
- /postcss-unique-selectors@6.0.4(postcss@8.4.47):
- resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-unique-selectors@6.0.4(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.3
postcss-selector-parser: 6.1.2
- dev: false
- /postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- dev: false
+ postcss-value-parser@4.2.0: {}
- /postcss-zindex@6.0.2(postcss@8.4.47):
- resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ postcss-zindex@6.0.2(postcss@8.5.3):
dependencies:
- postcss: 8.4.47
- dev: false
+ postcss: 8.5.3
- /postcss@5.2.18:
- resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==}
- engines: {node: '>=0.12'}
+ postcss@5.2.18:
dependencies:
chalk: 1.1.3
js-base64: 2.6.4
source-map: 0.5.7
supports-color: 3.2.3
- dev: true
-
- /postcss@8.4.32:
- resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.0
- source-map-js: 1.0.2
- /postcss@8.4.47:
- resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
- engines: {node: ^10 || ^12 || >=14}
+ postcss@8.5.3:
dependencies:
- nanoid: 3.3.7
+ nanoid: 3.3.11
picocolors: 1.1.1
source-map-js: 1.2.1
- /postgres-array@2.0.0:
- resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
- engines: {node: '>=4'}
- dev: false
+ postgres-array@2.0.0: {}
- /postgres-bytea@1.0.0:
- resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==}
- engines: {node: '>=0.10.0'}
- dev: false
+ postgres-bytea@1.0.0: {}
- /postgres-date@1.0.7:
- resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==}
- engines: {node: '>=0.10.0'}
- dev: false
+ postgres-date@1.0.7: {}
- /postgres-interval@1.2.0:
- resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
- engines: {node: '>=0.10.0'}
+ postgres-interval@1.2.0:
dependencies:
xtend: 4.0.2
- dev: false
- /posthtml-parser@0.2.1:
- resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==}
+ posthtml-parser@0.2.1:
dependencies:
htmlparser2: 3.10.1
isobject: 2.1.0
- dev: true
- /posthtml-rename-id@1.0.12:
- resolution: {integrity: sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==}
+ posthtml-rename-id@1.0.12:
dependencies:
escape-string-regexp: 1.0.5
- dev: true
- /posthtml-render@1.4.0:
- resolution: {integrity: sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==}
- engines: {node: '>=10'}
- dev: true
+ posthtml-render@1.4.0: {}
- /posthtml-svg-mode@1.0.3:
- resolution: {integrity: sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==}
+ posthtml-svg-mode@1.0.3:
dependencies:
merge-options: 1.0.1
posthtml: 0.9.2
posthtml-parser: 0.2.1
posthtml-render: 1.4.0
- dev: true
- /posthtml@0.9.2:
- resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==}
- engines: {node: '>=0.10.0'}
+ posthtml@0.9.2:
dependencies:
posthtml-parser: 0.2.1
posthtml-render: 1.4.0
- dev: true
- /preact@10.19.6:
- resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==}
- dev: false
+ preact@10.19.6: {}
- /precise-commits@1.0.2(prettier@2.8.8):
- resolution: {integrity: sha512-PYkoNTFXVvZRzJTDxdgzmPanhSNGj5Wtj2NgSo7IhwNXGcKktX+L4DJhyIrhFSLsWWAvd+cYyyU2eXlaX5QxzA==}
- hasBin: true
- peerDependencies:
- prettier: '>=1.8.0'
+ precise-commits@1.0.2(prettier@2.8.8):
dependencies:
diff-match-patch: 1.0.5
execa: 0.9.0
@@ -23431,182 +31970,115 @@ packages:
mri: 1.2.0
ora: 1.4.0
prettier: 2.8.8
- dev: true
- /prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
+ prelude-ls@1.2.1: {}
- /prettier@2.8.8:
- resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
- engines: {node: '>=10.13.0'}
- hasBin: true
- dev: true
+ prettier@2.8.8: {}
- /pretty-bytes@5.6.0:
- resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
- engines: {node: '>=6'}
- dev: true
+ pretty-bytes@5.6.0: {}
- /pretty-bytes@6.1.1:
- resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
- engines: {node: ^14.13.1 || >=16.0.0}
- dev: true
+ pretty-bytes@6.1.1: {}
- /pretty-error@4.0.0:
- resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
+ pretty-error@4.0.0:
dependencies:
lodash: 4.17.21
renderkid: 3.0.0
- dev: false
- /pretty-format@27.5.1:
- resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ pretty-format@27.5.1:
dependencies:
ansi-regex: 5.0.1
ansi-styles: 5.2.0
react-is: 17.0.2
- dev: false
- /pretty-format@29.7.0:
- resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ pretty-format@29.7.0:
dependencies:
'@jest/schemas': 29.6.3
ansi-styles: 5.2.0
- react-is: 18.2.0
- dev: true
+ react-is: 18.3.1
- /pretty-hrtime@1.0.3:
- resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==}
- engines: {node: '>= 0.8'}
- dev: true
+ pretty-format@30.2.0:
+ dependencies:
+ '@jest/schemas': 30.0.5
+ ansi-styles: 5.2.0
+ react-is: 18.3.1
- /pretty-quick@3.1.3(prettier@2.8.8):
- resolution: {integrity: sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==}
- engines: {node: '>=10.13'}
- hasBin: true
- peerDependencies:
- prettier: '>=2.0.0'
+ pretty-hrtime@1.0.3: {}
+
+ pretty-quick@3.3.1(prettier@2.8.8):
dependencies:
- chalk: 3.0.0
execa: 4.1.0
find-up: 4.1.0
- ignore: 5.3.0
+ ignore: 5.3.2
mri: 1.2.0
- multimatch: 4.0.0
+ picocolors: 1.1.1
+ picomatch: 3.0.1
prettier: 2.8.8
- dev: true
+ tslib: 2.8.1
- /pretty-time@1.1.0:
- resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==}
- engines: {node: '>=4'}
- dev: false
+ pretty-time@1.1.0: {}
- /prism-react-renderer@2.3.0(react@18.2.0):
- resolution: {integrity: sha512-UYRg2TkVIaI6tRVHC5OJ4/BxqPUxJkJvq/odLT/ykpt1zGYXooNperUxQcCvi87LyRnR4nCh81ceOA+e7nrydg==}
- peerDependencies:
- react: '>=16.0.0'
+ prism-react-renderer@2.4.1(react@18.3.1):
dependencies:
- '@types/prismjs': 1.26.3
- clsx: 2.0.0
- react: 18.2.0
- dev: false
+ '@types/prismjs': 1.26.5
+ clsx: 2.1.1
+ react: 18.3.1
- /prisma@5.7.0:
- resolution: {integrity: sha512-0rcfXO2ErmGAtxnuTNHQT9ztL0zZheQjOI/VNJzdq87C3TlGPQtMqtM+KCwU6XtmkoEr7vbCQqA7HF9IY0ST+Q==}
- engines: {node: '>=16.13'}
- hasBin: true
- requiresBuild: true
+ prisma@6.14.0(typescript@5.8.3):
dependencies:
- '@prisma/engines': 5.7.0
- dev: false
+ '@prisma/config': 6.14.0
+ '@prisma/engines': 6.14.0
+ optionalDependencies:
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - magicast
- /prismjs@1.29.0:
- resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
- engines: {node: '>=6'}
- dev: false
+ prismjs@1.30.0: {}
- /proc-log@3.0.0:
- resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: true
+ proc-log@3.0.0: {}
- /proc-log@4.2.0:
- resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: false
+ proc-log@4.2.0: {}
- /process-nextick-args@2.0.1:
- resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ process-nextick-args@2.0.1: {}
- /process@0.11.10:
- resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
- engines: {node: '>= 0.6.0'}
- dev: true
+ process@0.11.10: {}
- /proggy@2.0.0:
- resolution: {integrity: sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: false
+ proggy@2.0.0: {}
- /promise-all-reject-late@1.0.1:
- resolution: {integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==}
- dev: false
+ promise-all-reject-late@1.0.1: {}
- /promise-call-limit@3.0.1:
- resolution: {integrity: sha512-utl+0x8gIDasV5X+PI5qWEPqH6fJS0pFtQ/4gZ95xfEFb/89dmh+/b895TbFDBLiafBvxD/PGTKfvxl4kH/pQg==}
- dev: false
+ promise-call-limit@3.0.2: {}
- /promise-inflight@1.0.1:
- resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==}
- peerDependencies:
- bluebird: '*'
- peerDependenciesMeta:
- bluebird:
- optional: true
+ promise-inflight@1.0.1: {}
- /promise-retry@2.0.1:
- resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==}
- engines: {node: '>=10'}
+ promise-limit@2.7.0: {}
+
+ promise-retry@2.0.1:
dependencies:
err-code: 2.0.3
retry: 0.12.0
- /prompts@2.4.2:
- resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
- engines: {node: '>= 6'}
+ prompts@2.4.2:
dependencies:
kleur: 3.0.3
sisteransi: 1.0.5
- /promzard@1.0.0:
- resolution: {integrity: sha512-KQVDEubSUHGSt5xLakaToDFrSoZhStB8dXLzk2xvwR67gJktrHFvpR63oZgHyK19WKbHFLXJqCPXdVR3aBP8Ig==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ promzard@1.0.2:
dependencies:
- read: 2.1.0
- dev: true
+ read: 3.0.1
- /prop-types@15.8.1:
- resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ prop-types@15.8.1:
dependencies:
loose-envify: 1.4.0
object-assign: 4.1.1
react-is: 16.13.1
- dev: false
- /property-information@6.4.0:
- resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==}
+ property-information@6.5.0: {}
- /proto-list@1.2.4:
- resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
- dev: false
+ property-information@7.0.0: {}
- /protobufjs@7.3.2:
- resolution: {integrity: sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==}
- engines: {node: '>=12.0.0'}
- requiresBuild: true
+ proto-list@1.2.4: {}
+
+ protobufjs@7.4.0:
dependencies:
'@protobufjs/aspromise': 1.1.2
'@protobufjs/base64': 1.1.2
@@ -23618,601 +32090,406 @@ packages:
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
- '@types/node': 18.19.3
- long: 5.2.3
- dev: false
+ '@types/node': 18.19.98
+ long: 5.3.2
- /protocols@2.0.1:
- resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
- dev: true
+ protocols@2.0.2: {}
- /proxy-addr@2.0.7:
- resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
- engines: {node: '>= 0.10'}
+ proxy-addr@2.0.7:
dependencies:
forwarded: 0.2.0
ipaddr.js: 1.9.1
- dev: false
- /proxy-from-env@1.1.0:
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+ proxy-from-env@1.1.0: {}
- /pseudomap@1.0.2:
- resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
- dev: true
+ pseudomap@1.0.2: {}
- /psl@1.9.0:
- resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
+ psl@1.15.0:
+ dependencies:
+ punycode: 2.3.1
- /pstree.remy@1.1.8:
- resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==}
- dev: true
+ pstree.remy@1.1.8: {}
- /public-encrypt@4.0.3:
- resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==}
+ public-encrypt@4.0.3:
dependencies:
- bn.js: 4.12.0
- browserify-rsa: 4.1.0
+ bn.js: 4.12.2
+ browserify-rsa: 4.1.1
create-hash: 1.2.0
- parse-asn1: 5.1.6
+ parse-asn1: 5.1.7
randombytes: 2.1.0
safe-buffer: 5.2.1
- dev: true
- /pump@3.0.0:
- resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
+ pump@3.0.2:
dependencies:
end-of-stream: 1.4.4
once: 1.4.0
- /pumpify@2.0.1:
- resolution: {integrity: sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==}
+ pumpify@2.0.1:
dependencies:
- duplexify: 4.1.2
+ duplexify: 4.1.3
inherits: 2.0.4
- pump: 3.0.0
- dev: true
+ pump: 3.0.2
- /punycode@1.3.2:
- resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==}
- dev: false
+ punycode@1.3.2: {}
- /punycode@1.4.1:
- resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==}
+ punycode@1.4.1: {}
- /punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
+ punycode@2.3.1: {}
- /pupa@3.1.0:
- resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==}
- engines: {node: '>=12.20'}
+ pupa@3.1.0:
dependencies:
escape-goat: 4.0.0
- dev: false
- /pure-rand@5.0.5:
- resolution: {integrity: sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw==}
- dev: true
+ pure-rand@5.0.5: {}
+
+ pure-rand@6.1.0: {}
- /pure-rand@6.0.4:
- resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==}
- dev: true
+ pure-rand@7.0.1: {}
- /pvtsutils@1.3.5:
- resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==}
+ pvtsutils@1.3.6:
dependencies:
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /pvutils@1.1.3:
- resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==}
- engines: {node: '>=6.0.0'}
- dev: false
+ pvutils@1.1.3: {}
- /qrcode@1.5.3:
- resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==}
- engines: {node: '>=10.13.0'}
- hasBin: true
+ qrcode@1.5.4:
dependencies:
dijkstrajs: 1.0.3
- encode-utf8: 1.0.3
pngjs: 5.0.0
yargs: 15.4.1
- dev: false
- /qs@6.11.2:
- resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==}
- engines: {node: '>=0.6'}
+ qs@6.13.0:
dependencies:
- side-channel: 1.0.6
- dev: false
+ side-channel: 1.1.0
- /qs@6.13.0:
- resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
- engines: {node: '>=0.6'}
+ qs@6.14.0:
dependencies:
- side-channel: 1.0.6
+ side-channel: 1.1.0
- /qs@6.5.3:
- resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==}
- engines: {node: '>=0.6'}
- dev: false
+ qs@6.5.3: {}
- /query-string@4.3.4:
- resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==}
- engines: {node: '>=0.10.0'}
+ query-string@4.3.4:
dependencies:
object-assign: 4.1.1
strict-uri-encode: 1.1.0
- dev: true
- /query-string@7.1.3:
- resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
- engines: {node: '>=6'}
+ query-string@7.1.3:
dependencies:
decode-uri-component: 0.2.2
filter-obj: 1.1.0
split-on-first: 1.1.0
strict-uri-encode: 2.0.0
- dev: false
- /querystring-es3@0.2.1:
- resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==}
- engines: {node: '>=0.4.x'}
- dev: true
+ querystring-es3@0.2.1: {}
- /querystring@0.2.0:
- resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==}
- engines: {node: '>=0.4.x'}
- deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
- dev: false
+ querystring@0.2.0: {}
- /querystringify@2.2.0:
- resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
- dev: true
+ querystringify@2.2.0: {}
- /queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ queue-microtask@1.2.3: {}
- /queue-tick@1.0.1:
- resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
- dev: true
+ queue-tick@1.0.1: {}
- /queue@6.0.2:
- resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
+ queue@6.0.2:
dependencies:
inherits: 2.0.4
- dev: false
- /quick-lru@4.0.1:
- resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
- engines: {node: '>=8'}
- dev: true
+ quick-lru@4.0.1: {}
- /quick-lru@5.1.1:
- resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
- engines: {node: '>=10'}
- dev: false
+ quick-lru@5.1.1: {}
- /quick-lru@6.1.2:
- resolution: {integrity: sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==}
- engines: {node: '>=12'}
- dev: false
+ quick-lru@6.1.2: {}
- /randombytes@2.1.0:
- resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+ quickselect@1.1.1: {}
+
+ quickselect@2.0.0: {}
+
+ randombytes@2.1.0:
dependencies:
safe-buffer: 5.2.1
- /randomfill@1.0.4:
- resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==}
+ randomfill@1.0.4:
dependencies:
randombytes: 2.1.0
safe-buffer: 5.2.1
- dev: true
- /range-parser@1.2.0:
- resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==}
- engines: {node: '>= 0.6'}
- dev: false
+ range-parser@1.2.0: {}
- /range-parser@1.2.1:
- resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
- engines: {node: '>= 0.6'}
- dev: false
+ range-parser@1.2.1: {}
- /raw-body@2.5.2:
- resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
- engines: {node: '>= 0.8'}
+ raw-body@2.5.2:
dependencies:
bytes: 3.1.2
http-errors: 2.0.0
iconv-lite: 0.4.24
unpipe: 1.0.0
- dev: false
- /rc-align@4.0.15(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==}
- peerDependencies:
- react: '>=16.9.0'
- react-dom: '>=16.9.0'
+ raw-body@3.0.0:
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.6.3
+ unpipe: 1.0.0
+
+ rbush@2.0.2:
+ dependencies:
+ quickselect: 1.1.1
+
+ rbush@3.0.1:
+ dependencies:
+ quickselect: 2.0.0
+
+ rc-align@4.0.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@babel/runtime': 7.23.5
- classnames: 2.3.2
+ '@babel/runtime': 7.27.1
+ classnames: 2.5.1
dom-align: 1.12.4
- rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
resize-observer-polyfill: 1.5.1
- dev: false
- /rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==}
- peerDependencies:
- react: '>=16.9.0'
- react-dom: '>=16.9.0'
+ rc-motion@2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@babel/runtime': 7.23.5
- classnames: 2.3.2
- rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
+ '@babel/runtime': 7.27.1
+ classnames: 2.5.1
+ rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
- /rc-tooltip@5.2.2(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==}
- peerDependencies:
- react: '>=16.9.0'
- react-dom: '>=16.9.0'
+ rc-tooltip@5.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@babel/runtime': 7.23.5
- classnames: 2.3.2
- rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
+ '@babel/runtime': 7.27.1
+ classnames: 2.5.1
+ rc-trigger: 5.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
- /rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==}
- engines: {node: '>=8.x'}
- peerDependencies:
- react: '>=16.9.0'
- react-dom: '>=16.9.0'
+ rc-trigger@5.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@babel/runtime': 7.23.5
- classnames: 2.3.2
- rc-align: 4.0.15(react-dom@18.2.0)(react@18.2.0)
- rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0)
- rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
+ '@babel/runtime': 7.27.1
+ classnames: 2.5.1
+ rc-align: 4.0.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-motion: 2.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
- /rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng==}
- peerDependencies:
- react: '>=16.9.0'
- react-dom: '>=16.9.0'
+ rc-util@5.44.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.27.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-is: 18.3.1
+
+ rc9@2.1.2:
dependencies:
- '@babel/runtime': 7.23.5
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-is: 18.2.0
- dev: false
+ defu: 6.1.4
+ destr: 2.0.5
- /rc@1.2.8:
- resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
- hasBin: true
+ rc@1.2.8:
dependencies:
deep-extend: 0.6.0
ini: 1.3.8
minimist: 1.2.8
strip-json-comments: 2.0.1
- dev: false
- /react-dev-utils@12.0.1(eslint@9.22.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)(webpack@5.89.0):
- resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==}
- engines: {node: '>=14'}
- peerDependencies:
- typescript: '>=2.7'
- webpack: '>=4'
- peerDependenciesMeta:
- typescript:
- optional: true
+ react-dev-utils@12.0.1(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)(vue-template-compiler@2.7.16)(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
- '@babel/code-frame': 7.23.5
+ '@babel/code-frame': 7.27.1
address: 1.2.2
- browserslist: 4.22.2
+ browserslist: 4.24.5
chalk: 4.1.2
cross-spawn: 7.0.6
detect-port-alt: 1.1.6
escape-string-regexp: 4.0.0
filesize: 8.0.7
find-up: 5.0.0
- fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.22.0)(typescript@5.3.3)(vue-template-compiler@2.7.15)(webpack@5.89.0)
+ fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)(vue-template-compiler@2.7.16)(webpack@5.99.8(esbuild@0.19.12))
global-modules: 2.0.0
globby: 11.1.0
gzip-size: 6.0.0
immer: 9.0.21
is-root: 2.1.0
- loader-utils: 3.2.1
+ loader-utils: 3.3.1
open: 8.4.2
pkg-up: 3.1.0
prompts: 2.4.2
- react-error-overlay: 6.0.11
+ react-error-overlay: 6.1.0
recursive-readdir: 2.2.3
- shell-quote: 1.8.1
+ shell-quote: 1.8.2
strip-ansi: 6.0.1
text-table: 0.2.0
- typescript: 5.3.3
- webpack: 5.89.0(esbuild@0.19.8)
+ webpack: 5.99.8(esbuild@0.19.12)
+ optionalDependencies:
+ typescript: 5.8.3
transitivePeerDependencies:
- eslint
- supports-color
- vue-template-compiler
- dev: false
-
- /react-dom@18.2.0(react@18.2.0):
- resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
- peerDependencies:
- react: ^18.2.0
- dependencies:
- loose-envify: 1.4.0
- react: 18.2.0
- scheduler: 0.23.0
- dev: false
- /react-dom@18.3.1(react@18.3.1):
- resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
- peerDependencies:
- react: ^18.3.1
+ react-dom@18.3.1(react@18.3.1):
dependencies:
loose-envify: 1.4.0
react: 18.3.1
scheduler: 0.23.2
- dev: false
- /react-error-overlay@6.0.11:
- resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==}
- dev: false
+ react-error-overlay@6.1.0: {}
- /react-fast-compare@3.2.2:
- resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
- dev: false
+ react-fast-compare@3.2.2: {}
- /react-helmet-async@1.3.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==}
- peerDependencies:
- react: ^16.6.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0
+ react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@babel/runtime': 7.23.5
+ '@babel/runtime': 7.27.1
invariant: 2.2.4
prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
react-fast-compare: 3.2.2
shallowequal: 1.1.0
- dev: false
- /react-helmet-async@2.0.3(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-7/X3ehSCbjCaIljWa39Bb7F1Y2JWM23FN80kLozx2TdgzUmxKDSLN6qu06NG0Srzm8ljGOjgk7r7CXeEOx4MPw==}
- peerDependencies:
- react: ^16.6.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0
+ react-helmet-async@2.0.5(react@18.3.1):
dependencies:
invariant: 2.2.4
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ react: 18.3.1
react-fast-compare: 3.2.2
shallowequal: 1.1.0
- dev: false
- /react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
- dev: false
+ react-hotkeys-hook@3.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ hotkeys-js: 3.9.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
- /react-is@17.0.2:
- resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
- dev: false
+ react-is@16.13.1: {}
- /react-is@18.2.0:
- resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
+ react-is@17.0.2: {}
- /react-json-view-lite@1.2.1(react@18.2.0):
- resolution: {integrity: sha512-Itc0g86fytOmKZoIoJyGgvNqohWSbh3NXIKNgH6W6FT9PC1ck4xas1tT3Rr/b3UlFXyA9Jjaw9QSXdZy2JwGMQ==}
- engines: {node: '>=14'}
- peerDependencies:
- react: ^16.13.1 || ^17.0.0 || ^18.0.0
+ react-is@18.3.1: {}
+
+ react-json-view-lite@1.5.0(react@18.3.1):
dependencies:
- react: 18.2.0
- dev: false
+ react: 18.3.1
- /react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0)(webpack@5.89.0):
- resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==}
- engines: {node: '>=10.13.0'}
- peerDependencies:
- react-loadable: '*'
- webpack: '>=4.41.1 || 5.x'
+ react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
- '@babel/runtime': 7.23.5
- react-loadable: /@docusaurus/react-loadable@6.0.0(react@18.2.0)
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ '@babel/runtime': 7.27.1
+ react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)'
+ webpack: 5.99.8(esbuild@0.19.12)
- /react-loadable@5.5.0(react@18.2.0):
- resolution: {integrity: sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg==}
- peerDependencies:
- react: '*'
+ react-loadable@5.5.0(react@18.3.1):
dependencies:
prop-types: 15.8.1
- react: 18.2.0
- dev: false
+ react: 18.3.1
- /react-markdown@9.0.1(@types/react@18.2.43)(react@18.2.0):
- resolution: {integrity: sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==}
- peerDependencies:
- '@types/react': '>=18'
- react: '>=18'
+ react-markdown@9.0.1(@types/react@18.3.21)(react@18.3.1):
dependencies:
- '@types/hast': 3.0.3
- '@types/react': 18.2.43
+ '@types/hast': 3.0.4
+ '@types/react': 18.3.21
devlop: 1.1.0
- hast-util-to-jsx-runtime: 2.3.0
- html-url-attributes: 3.0.0
- mdast-util-to-hast: 13.0.2
- react: 18.2.0
+ hast-util-to-jsx-runtime: 2.3.6
+ html-url-attributes: 3.0.1
+ mdast-util-to-hast: 13.2.0
+ react: 18.3.1
remark-parse: 11.0.0
remark-rehype: 11.0.0
unified: 11.0.4
unist-util-visit: 5.0.0
- vfile: 6.0.1
+ vfile: 6.0.3
transitivePeerDependencies:
- supports-color
- dev: false
- /react-router-config@5.1.1(react-router@5.3.4)(react@18.2.0):
- resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==}
- peerDependencies:
- react: '>=15'
- react-router: '>=5'
+ react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1):
dependencies:
- '@babel/runtime': 7.23.5
- react: 18.2.0
- react-router: 5.3.4(react@18.2.0)
- dev: false
+ '@babel/runtime': 7.27.1
+ react: 18.3.1
+ react-router: 5.3.4(react@18.3.1)
- /react-router-dom@5.3.4(react@18.2.0):
- resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==}
- peerDependencies:
- react: '>=15'
+ react-router-dom@5.3.4(react@18.3.1):
dependencies:
- '@babel/runtime': 7.23.5
+ '@babel/runtime': 7.27.1
history: 4.10.1
loose-envify: 1.4.0
prop-types: 15.8.1
- react: 18.2.0
- react-router: 5.3.4(react@18.2.0)
- tiny-invariant: 1.3.1
+ react: 18.3.1
+ react-router: 5.3.4(react@18.3.1)
+ tiny-invariant: 1.3.3
tiny-warning: 1.0.3
- dev: false
- /react-router@5.3.4(react@18.2.0):
- resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==}
- peerDependencies:
- react: '>=15'
+ react-router@5.3.4(react@18.3.1):
dependencies:
- '@babel/runtime': 7.23.5
+ '@babel/runtime': 7.27.1
history: 4.10.1
hoist-non-react-statics: 3.3.2
loose-envify: 1.4.0
path-to-regexp: 1.9.0
prop-types: 15.8.1
- react: 18.2.0
+ react: 18.3.1
react-is: 16.13.1
- tiny-invariant: 1.3.1
+ tiny-invariant: 1.3.3
tiny-warning: 1.0.3
- dev: false
- /react-type-animation@3.2.0(prop-types@15.8.1)(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-WXTe0i3rRNKjmggPvT5ntye1QBt0ATGbijeW6V3cQe2W0jaMABXXlPPEdtofnS9tM7wSRHchEvI9SUw+0kUohw==}
- peerDependencies:
- prop-types: ^15.5.4
- react: '>= 15.0.0'
- react-dom: '>= 15.0.0'
+ react-type-animation@3.2.0(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
prop-types: 15.8.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- dev: false
-
- /react@18.2.0:
- resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
- engines: {node: '>=0.10.0'}
- dependencies:
- loose-envify: 1.4.0
- dev: false
- /react@18.3.1:
- resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
- engines: {node: '>=0.10.0'}
+ react@18.3.1:
dependencies:
loose-envify: 1.4.0
- dev: false
- /read-cmd-shim@4.0.0:
- resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ read-cmd-shim@4.0.0: {}
- /read-only-stream@2.0.0:
- resolution: {integrity: sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==}
+ read-only-stream@2.0.0:
dependencies:
readable-stream: 2.3.8
- dev: true
- /read-package-json-fast@3.0.2:
- resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ read-package-json-fast@3.0.2:
dependencies:
- json-parse-even-better-errors: 3.0.1
+ json-parse-even-better-errors: 3.0.2
npm-normalize-package-bin: 3.0.1
- /read-package-json@6.0.4:
- resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ read-package-json@6.0.4:
dependencies:
- glob: 10.3.10
- json-parse-even-better-errors: 3.0.1
+ glob: 10.4.5
+ json-parse-even-better-errors: 3.0.2
normalize-package-data: 5.0.0
npm-normalize-package-bin: 3.0.1
- dev: true
- /read-pkg-up@3.0.0:
- resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==}
- engines: {node: '>=4'}
+ read-pkg-up@3.0.0:
dependencies:
find-up: 2.1.0
read-pkg: 3.0.0
- dev: true
- /read-pkg-up@7.0.1:
- resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
- engines: {node: '>=8'}
+ read-pkg-up@7.0.1:
dependencies:
find-up: 4.1.0
read-pkg: 5.2.0
type-fest: 0.8.1
- dev: true
- /read-pkg@3.0.0:
- resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==}
- engines: {node: '>=4'}
+ read-pkg@3.0.0:
dependencies:
load-json-file: 4.0.0
normalize-package-data: 2.5.0
path-type: 3.0.0
- dev: true
- /read-pkg@5.2.0:
- resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
- engines: {node: '>=8'}
+ read-pkg@5.2.0:
dependencies:
'@types/normalize-package-data': 2.4.4
normalize-package-data: 2.5.0
parse-json: 5.2.0
type-fest: 0.6.0
- dev: true
- /read@2.1.0:
- resolution: {integrity: sha512-bvxi1QLJHcaywCAEsAk4DG3nVoqiY2Csps3qzWalhj5hFqRn1d/OixkFXtLO1PrgHUcAP0FNaSY/5GYNfENFFQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ read@2.1.0:
dependencies:
mute-stream: 1.0.0
- dev: true
- /readable-stream@2.3.8:
- resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+ read@3.0.1:
+ dependencies:
+ mute-stream: 1.0.0
+
+ readable-stream@2.3.8:
dependencies:
core-util-is: 1.0.3
inherits: 2.0.4
@@ -24222,69 +32499,44 @@ packages:
string_decoder: 1.1.1
util-deprecate: 1.0.2
- /readable-stream@3.6.2:
- resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
- engines: {node: '>= 6'}
+ readable-stream@3.6.2:
dependencies:
inherits: 2.0.4
string_decoder: 1.3.0
util-deprecate: 1.0.2
- /readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
+ readdirp@3.6.0:
dependencies:
picomatch: 2.3.1
- /reading-time@1.5.0:
- resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==}
- dev: false
+ readdirp@4.1.2: {}
- /readline-sync@1.4.10:
- resolution: {integrity: sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==}
- engines: {node: '>= 0.8.0'}
- dev: true
+ reading-time@1.5.0: {}
- /rechoir@0.6.2:
- resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
- engines: {node: '>= 0.10'}
+ readline-sync@1.4.10: {}
+
+ rechoir@0.6.2:
dependencies:
- resolve: 1.22.8
- dev: false
+ resolve: 1.22.10
- /recursive-readdir@2.2.3:
- resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==}
- engines: {node: '>=6.0.0'}
+ recursive-readdir@2.2.3:
dependencies:
minimatch: 3.1.2
- dev: false
- /redent@3.0.0:
- resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
- engines: {node: '>=8'}
+ redent@3.0.0:
dependencies:
indent-string: 4.0.0
strip-indent: 3.0.0
- dev: true
- /redis-commands@1.7.0:
- resolution: {integrity: sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==}
- dev: true
+ redis-commands@1.7.0: {}
- /redis-errors@1.2.0:
- resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==}
- engines: {node: '>=4'}
- dev: true
+ redis-errors@1.2.0: {}
- /redis-parser@3.0.0:
- resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==}
- engines: {node: '>=4'}
+ redis-parser@3.0.0:
dependencies:
redis-errors: 1.2.0
- dev: true
- /redis@4.6.10:
- resolution: {integrity: sha512-mmbyhuKgDiJ5TWUhiKhBssz+mjsuSI/lSZNPI9QvZOYzWvYGejtb+W3RlDDf8LD6Bdl5/mZeG8O1feUGhXTxEg==}
+ redis@4.6.10:
dependencies:
'@redis/bloom': 1.2.0(@redis/client@1.5.11)
'@redis/client': 1.5.11
@@ -24292,223 +32544,179 @@ packages:
'@redis/json': 1.0.6(@redis/client@1.5.11)
'@redis/search': 1.1.5(@redis/client@1.5.11)
'@redis/time-series': 1.0.5(@redis/client@1.5.11)
- dev: false
- /regenerate-unicode-properties@10.1.1:
- resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
- engines: {node: '>=4'}
+ reflect.getprototypeof@1.0.10:
dependencies:
- regenerate: 1.4.2
-
- /regenerate@1.4.2:
- resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.23.9
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
+ which-builtin-type: 1.2.1
- /regenerator-runtime@0.13.11:
- resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
- dev: false
+ regenerate-unicode-properties@10.2.0:
+ dependencies:
+ regenerate: 1.4.2
- /regenerator-runtime@0.14.0:
- resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
+ regenerate@1.4.2: {}
- /regenerator-transform@0.15.2:
- resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
- dependencies:
- '@babel/runtime': 7.23.5
+ regenerator-runtime@0.13.11: {}
- /regexp.prototype.flags@1.5.1:
- resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==}
- engines: {node: '>= 0.4'}
+ regexp.prototype.flags@1.5.4:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- set-function-name: 2.0.1
- dev: true
+ es-errors: 1.3.0
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ set-function-name: 2.0.2
- /regexpu-core@5.3.2:
- resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
- engines: {node: '>=4'}
+ regexpu-core@6.2.0:
dependencies:
- '@babel/regjsgen': 0.8.0
regenerate: 1.4.2
- regenerate-unicode-properties: 10.1.1
- regjsparser: 0.9.1
+ regenerate-unicode-properties: 10.2.0
+ regjsgen: 0.8.0
+ regjsparser: 0.12.0
unicode-match-property-ecmascript: 2.0.0
- unicode-match-property-value-ecmascript: 2.1.0
+ unicode-match-property-value-ecmascript: 2.2.0
- /registry-auth-token@5.0.2:
- resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==}
- engines: {node: '>=14'}
+ registry-auth-token@5.1.0:
dependencies:
- '@pnpm/npm-conf': 2.2.2
- dev: false
+ '@pnpm/npm-conf': 2.3.1
- /registry-url@6.0.1:
- resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==}
- engines: {node: '>=12'}
+ registry-url@6.0.1:
dependencies:
rc: 1.2.8
- dev: false
- /regjsparser@0.9.1:
- resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
- hasBin: true
+ regjsgen@0.8.0: {}
+
+ regjsparser@0.12.0:
dependencies:
- jsesc: 0.5.0
+ jsesc: 3.0.2
- /rehype-raw@6.1.1:
- resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==}
+ rehype-raw@6.1.1:
dependencies:
- '@types/hast': 2.3.8
+ '@types/hast': 2.3.10
hast-util-raw: 7.2.3
unified: 10.1.2
- dev: false
- /rehype-raw@7.0.0:
- resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
+ rehype-raw@7.0.0:
dependencies:
- '@types/hast': 3.0.3
- hast-util-raw: 9.0.1
- vfile: 6.0.1
- dev: false
+ '@types/hast': 3.0.4
+ hast-util-raw: 9.1.0
+ vfile: 6.0.3
- /rehype-slug@6.0.0:
- resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==}
+ rehype-slug@6.0.0:
dependencies:
- '@types/hast': 3.0.3
+ '@types/hast': 3.0.4
github-slugger: 2.0.0
hast-util-heading-rank: 3.0.0
- hast-util-to-string: 3.0.0
+ hast-util-to-string: 3.0.1
unist-util-visit: 5.0.0
- dev: true
- /rehype-stringify@10.0.0:
- resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==}
+ rehype-stringify@10.0.0:
dependencies:
- '@types/hast': 3.0.3
- hast-util-to-html: 9.0.0
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
unified: 11.0.4
- dev: true
- /relateurl@0.2.7:
- resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
- engines: {node: '>= 0.10'}
+ relateurl@0.2.7: {}
- /remark-directive@3.0.0:
- resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==}
+ remark-directive@3.0.1:
dependencies:
- '@types/mdast': 4.0.3
- mdast-util-directive: 3.0.0
- micromark-extension-directive: 3.0.0
+ '@types/mdast': 4.0.4
+ mdast-util-directive: 3.1.0
+ micromark-extension-directive: 3.0.2
unified: 11.0.4
transitivePeerDependencies:
- supports-color
- dev: false
- /remark-emoji@4.0.1:
- resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ remark-emoji@4.0.1:
dependencies:
- '@types/mdast': 4.0.3
- emoticon: 4.0.1
- mdast-util-find-and-replace: 3.0.1
- node-emoji: 2.1.3
+ '@types/mdast': 4.0.4
+ emoticon: 4.1.0
+ mdast-util-find-and-replace: 3.0.2
+ node-emoji: 2.2.0
unified: 11.0.4
- dev: false
- /remark-frontmatter@5.0.0:
- resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
+ remark-frontmatter@5.0.0:
dependencies:
- '@types/mdast': 4.0.3
+ '@types/mdast': 4.0.4
mdast-util-frontmatter: 2.0.1
micromark-extension-frontmatter: 2.0.0
unified: 11.0.4
transitivePeerDependencies:
- supports-color
- dev: false
- /remark-gfm@4.0.0:
- resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
+ remark-gfm@4.0.1:
dependencies:
- '@types/mdast': 4.0.3
- mdast-util-gfm: 3.0.0
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.1.0
micromark-extension-gfm: 3.0.0
remark-parse: 11.0.0
remark-stringify: 11.0.0
unified: 11.0.4
transitivePeerDependencies:
- supports-color
- dev: false
- /remark-mdx@3.0.0:
- resolution: {integrity: sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==}
+ remark-mdx@3.1.0:
dependencies:
mdast-util-mdx: 3.0.0
micromark-extension-mdxjs: 3.0.0
transitivePeerDependencies:
- supports-color
- dev: false
- /remark-parse@11.0.0:
- resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+ remark-parse@11.0.0:
dependencies:
- '@types/mdast': 4.0.3
- mdast-util-from-markdown: 2.0.0
- micromark-util-types: 2.0.0
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ micromark-util-types: 2.0.2
unified: 11.0.4
transitivePeerDependencies:
- supports-color
- /remark-rehype@11.0.0:
- resolution: {integrity: sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==}
+ remark-rehype@11.0.0:
dependencies:
- '@types/hast': 3.0.3
- '@types/mdast': 4.0.3
- mdast-util-to-hast: 13.0.2
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.0
unified: 11.0.4
- vfile: 6.0.1
+ vfile: 6.0.3
- /remark-stringify@11.0.0:
- resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+ remark-stringify@11.0.0:
dependencies:
- '@types/mdast': 4.0.3
- mdast-util-to-markdown: 2.1.0
+ '@types/mdast': 4.0.4
+ mdast-util-to-markdown: 2.1.2
unified: 11.0.4
- /remark-toc@9.0.0:
- resolution: {integrity: sha512-KJ9txbo33GjDAV1baHFze7ij4G8c7SGYoY8Kzsm2gzFpbhL/bSoVpMMzGa3vrNDSWASNd/3ppAqL7cP2zD6JIA==}
+ remark-toc@9.0.0:
dependencies:
- '@types/mdast': 4.0.3
- mdast-util-toc: 7.0.0
- dev: true
+ '@types/mdast': 4.0.4
+ mdast-util-toc: 7.1.0
- /remark@15.0.1:
- resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
+ remark@15.0.1:
dependencies:
- '@types/mdast': 4.0.3
+ '@types/mdast': 4.0.4
remark-parse: 11.0.0
remark-stringify: 11.0.0
unified: 11.0.4
transitivePeerDependencies:
- supports-color
- dev: true
- /renderkid@3.0.0:
- resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
+ renderkid@3.0.0:
dependencies:
css-select: 4.3.0
dom-converter: 0.2.0
htmlparser2: 6.1.0
lodash: 4.17.21
strip-ansi: 6.0.1
- dev: false
- /request@2.88.2:
- resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==}
- engines: {node: '>= 6'}
- deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
+ request@2.88.2:
dependencies:
aws-sign2: 0.7.0
- aws4: 1.12.0
+ aws4: 1.13.2
caseless: 0.12.0
combined-stream: 1.0.8
extend: 3.0.2
@@ -24527,218 +32735,122 @@ packages:
tough-cookie: 2.5.0
tunnel-agent: 0.6.0
uuid: 3.4.0
- dev: false
- /require-directory@2.1.1:
- resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
- engines: {node: '>=0.10.0'}
+ require-directory@2.1.1: {}
- /require-from-string@2.0.2:
- resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
- engines: {node: '>=0.10.0'}
+ require-from-string@2.0.2: {}
- /require-in-the-middle@7.3.0:
- resolution: {integrity: sha512-nQFEv9gRw6SJAwWD2LrL0NmQvAcO7FBwJbwmr2ttPAacfy0xuiOjE5zt+zM4xDyuyvUaxBi/9gb2SoCyNEVJcw==}
- engines: {node: '>=8.6.0'}
+ require-in-the-middle@7.5.2:
dependencies:
debug: 4.4.0
- module-details-from-path: 1.0.3
- resolve: 1.22.8
+ module-details-from-path: 1.0.4
+ resolve: 1.22.10
transitivePeerDependencies:
- supports-color
- dev: false
- /require-like@0.1.2:
- resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==}
- dev: false
+ require-like@0.1.2: {}
- /require-main-filename@2.0.0:
- resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
- dev: false
+ require-main-filename@2.0.0: {}
- /require_optional@1.0.1:
- resolution: {integrity: sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==}
+ require_optional@1.0.1:
dependencies:
resolve-from: 2.0.0
semver: 5.7.2
- dev: false
- /requires-port@1.0.0:
- resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ requires-port@1.0.0: {}
- /resize-observer-polyfill@1.5.1:
- resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
- dev: false
+ resize-observer-polyfill@1.5.1: {}
- /resolve-alpn@1.2.1:
- resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
- dev: false
+ resolve-alpn@1.2.1: {}
- /resolve-cwd@3.0.0:
- resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
- engines: {node: '>=8'}
+ resolve-cwd@3.0.0:
dependencies:
resolve-from: 5.0.0
- dev: true
- /resolve-from@2.0.0:
- resolution: {integrity: sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ==}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
+ resolve-from@2.0.0: {}
- /resolve-from@5.0.0:
- resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
- engines: {node: '>=8'}
- dev: true
+ resolve-from@4.0.0: {}
- /resolve-pathname@3.0.0:
- resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==}
- dev: false
+ resolve-from@5.0.0: {}
- /resolve.exports@2.0.2:
- resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
- engines: {node: '>=10'}
- dev: true
+ resolve-pathname@3.0.0: {}
- /resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
+ resolve@1.22.10:
dependencies:
- is-core-module: 2.13.1
+ is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- /responselike@2.0.1:
- resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==}
+ responselike@2.0.1:
dependencies:
lowercase-keys: 2.0.0
- dev: false
- /responselike@3.0.0:
- resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==}
- engines: {node: '>=14.16'}
+ responselike@3.0.0:
dependencies:
lowercase-keys: 3.0.0
- dev: false
- /restore-cursor@2.0.0:
- resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
- engines: {node: '>=4'}
+ restore-cursor@2.0.0:
dependencies:
onetime: 2.0.1
signal-exit: 3.0.7
- dev: true
- /restore-cursor@3.1.0:
- resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
- engines: {node: '>=8'}
+ restore-cursor@3.1.0:
dependencies:
onetime: 5.1.2
signal-exit: 3.0.7
- dev: true
- /restore-cursor@5.1.0:
- resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
- engines: {node: '>=18'}
+ restore-cursor@5.1.0:
dependencies:
onetime: 7.0.0
signal-exit: 4.1.0
- dev: true
- /retry@0.12.0:
- resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
- engines: {node: '>= 4'}
+ retry@0.12.0: {}
- /retry@0.13.1:
- resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
- engines: {node: '>= 4'}
- dev: false
+ retry@0.13.1: {}
- /reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ reusify@1.1.0: {}
- /rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
- dev: true
+ rfdc@1.4.1: {}
- /rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- hasBin: true
+ rimraf@3.0.2:
dependencies:
glob: 7.2.3
- /rimraf@4.4.1:
- resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==}
- engines: {node: '>=14'}
- hasBin: true
+ rimraf@4.4.1:
dependencies:
glob: 9.3.5
- dev: true
- /ripemd160@2.0.2:
- resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==}
+ ripemd160@2.0.2:
dependencies:
- hash-base: 3.1.0
+ hash-base: 3.0.5
inherits: 2.0.4
- dev: true
- /rollup-plugin-copy@3.5.0:
- resolution: {integrity: sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==}
- engines: {node: '>=8.3'}
- dependencies:
- '@types/fs-extra': 8.1.5
- colorette: 1.4.0
- fs-extra: 8.1.0
- globby: 10.0.1
- is-plain-object: 3.0.1
- dev: true
+ robust-predicates@2.0.4: {}
- /rollup-plugin-terser@7.0.2(rollup@2.79.2):
- resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
- deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
- peerDependencies:
- rollup: ^2.0.0
- dependencies:
- '@babel/code-frame': 7.23.5
- jest-worker: 26.6.2
- rollup: 2.79.2
- serialize-javascript: 4.0.0
- terser: 5.26.0
- dev: true
+ robust-predicates@3.0.2: {}
- /rollup-plugin-visualizer@5.12.0:
- resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
- engines: {node: '>=14'}
- hasBin: true
- peerDependencies:
- rollup: 2.x || 3.x || 4.x
- peerDependenciesMeta:
- rollup:
- optional: true
+ rollup-plugin-copy@3.5.0:
+ dependencies:
+ '@types/fs-extra': 8.1.5
+ colorette: 1.4.0
+ fs-extra: 8.1.0
+ globby: 10.0.1
+ is-plain-object: 3.0.1
+
+ rollup-plugin-visualizer@5.12.0(rollup@4.24.0):
dependencies:
open: 8.4.2
picomatch: 2.3.1
source-map: 0.7.4
yargs: 17.7.2
- dev: true
+ optionalDependencies:
+ rollup: 4.24.0
- /rollup@2.79.2:
- resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==}
- engines: {node: '>=10.0.0'}
- hasBin: true
+ rollup@2.79.2:
optionalDependencies:
fsevents: 2.3.3
- dev: true
- /rollup@4.24.0:
- resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
+ rollup@4.24.0:
dependencies:
'@types/estree': 1.0.6
optionalDependencies:
@@ -24759,251 +32871,154 @@ packages:
'@rollup/rollup-win32-ia32-msvc': 4.24.0
'@rollup/rollup-win32-x64-msvc': 4.24.0
fsevents: 2.3.3
- dev: true
- /rrweb-cssom@0.6.0:
- resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==}
- dev: true
+ router@2.2.0:
+ dependencies:
+ debug: 4.4.0
+ depd: 2.0.0
+ is-promise: 4.0.0
+ parseurl: 1.3.3
+ path-to-regexp: 8.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ rrweb-cssom@0.7.1: {}
- /rrweb-cssom@0.7.0:
- resolution: {integrity: sha512-KlSv0pm9kgQSRxXEMgtivPJ4h826YHsuob8pSHcfSZsSXGtvpEAie8S0AnXuObEJ7nhikOb4ahwxDm0H2yW17g==}
- dev: true
+ rrweb-cssom@0.8.0: {}
- /rtl-detect@1.1.2:
- resolution: {integrity: sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==}
- dev: false
+ rtl-detect@1.1.2: {}
- /rtlcss@4.1.1:
- resolution: {integrity: sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==}
- engines: {node: '>=12.0.0'}
- hasBin: true
+ rtlcss@4.3.0:
dependencies:
- escalade: 3.1.1
+ escalade: 3.2.0
picocolors: 1.1.1
- postcss: 8.4.47
+ postcss: 8.5.3
strip-json-comments: 3.1.1
- dev: false
- /run-applescript@7.0.0:
- resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
- engines: {node: '>=18'}
- dev: false
+ run-applescript@7.0.0: {}
- /run-async@2.4.1:
- resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
- engines: {node: '>=0.12.0'}
- dev: true
+ run-async@2.4.1: {}
- /run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
- /rxjs@7.8.1:
- resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
+ rxjs@7.8.2:
dependencies:
- tslib: 2.8.0
+ tslib: 2.8.1
- /rxjs@8.0.0-alpha.14:
- resolution: {integrity: sha512-oRCzFwbAMbo0+dVUeGUCCEf339mW7CESFvVDG3RTncD6yMtV2XoubFMpKEhBd2a9d04EpHl8QSz84/V/agG6bw==}
- dev: false
+ rxjs@8.0.0-alpha.14: {}
- /safe-array-concat@1.0.1:
- resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==}
- engines: {node: '>=0.4'}
+ safe-array-concat@1.1.3:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
+ has-symbols: 1.1.0
isarray: 2.0.5
- dev: true
- /safe-buffer@5.1.2:
- resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+ safe-buffer@5.1.2: {}
- /safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ safe-buffer@5.2.1: {}
- /safe-regex-test@1.0.0:
- resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
+ safe-push-apply@1.0.0:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- is-regex: 1.1.4
- dev: true
+ es-errors: 1.3.0
+ isarray: 2.0.5
- /safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ safe-regex-test@1.1.0:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-regex: 1.2.1
- /saslprep@1.0.3:
- resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==}
- engines: {node: '>=6'}
- requiresBuild: true
+ safer-buffer@2.1.2: {}
+
+ saslprep@1.0.3:
dependencies:
sparse-bitfield: 3.0.3
- dev: false
optional: true
- /sass@1.56.1:
- resolution: {integrity: sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ==}
- engines: {node: '>=12.0.0'}
- hasBin: true
+ sass@1.56.1:
dependencies:
- chokidar: 3.5.2
- immutable: 4.3.4
- source-map-js: 1.0.2
- dev: true
+ chokidar: 3.6.0
+ immutable: 4.0.0
+ source-map-js: 1.2.1
- /sax@1.2.1:
- resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==}
- dev: false
+ sax@1.2.1: {}
- /sax@1.3.0:
- resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
- dev: false
+ sax@1.4.1: {}
- /saxes@6.0.0:
- resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
- engines: {node: '>=v12.22.7'}
+ saxes@6.0.0:
dependencies:
xmlchars: 2.2.0
- dev: true
-
- /scheduler@0.23.0:
- resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
- dependencies:
- loose-envify: 1.4.0
- dev: false
- /scheduler@0.23.2:
- resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+ scheduler@0.23.2:
dependencies:
loose-envify: 1.4.0
- dev: false
- /schema-utils@2.7.0:
- resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==}
- engines: {node: '>= 8.9.0'}
+ schema-utils@2.7.0:
dependencies:
'@types/json-schema': 7.0.15
ajv: 6.12.6
ajv-keywords: 3.5.2(ajv@6.12.6)
- dev: false
- /schema-utils@3.3.0:
- resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
- engines: {node: '>= 10.13.0'}
+ schema-utils@3.3.0:
dependencies:
'@types/json-schema': 7.0.15
ajv: 6.12.6
ajv-keywords: 3.5.2(ajv@6.12.6)
- /schema-utils@4.2.0:
- resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==}
- engines: {node: '>= 12.13.0'}
+ schema-utils@4.3.2:
dependencies:
'@types/json-schema': 7.0.15
- ajv: 8.12.0
- ajv-formats: 2.1.1(ajv@8.12.0)
- ajv-keywords: 5.1.0(ajv@8.12.0)
- dev: false
+ ajv: 8.17.1
+ ajv-formats: 2.1.1(ajv@8.17.1)
+ ajv-keywords: 5.1.0(ajv@8.17.1)
- /scrypt-js@3.0.1:
- resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==}
- dev: false
+ scrypt-js@3.0.1: {}
- /sdp-transform@2.14.1:
- resolution: {integrity: sha512-RjZyX3nVwJyCuTo5tGPx+PZWkDMCg7oOLpSlhjDdZfwUoNqG1mM8nyj31IGHyaPWXhjbP7cdK3qZ2bmkJ1GzRw==}
- hasBin: true
- dev: false
+ sdp-transform@2.15.0: {}
- /sdp@3.2.0:
- resolution: {integrity: sha512-d7wDPgDV3DDiqulJjKiV2865wKsJ34YI+NDREbm+FySq6WuKOikwyNQcm+doLAZ1O6ltdO0SeKle2xMpN3Brgw==}
- dev: false
+ sdp@3.2.0: {}
- /search-insights@2.13.0:
- resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==}
- dev: false
+ search-insights@2.17.3: {}
- /section-matter@1.0.0:
- resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
- engines: {node: '>=4'}
+ section-matter@1.0.0:
dependencies:
extend-shallow: 2.0.1
kind-of: 6.0.3
- dev: false
- /secure-compare@3.0.1:
- resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==}
- dev: true
+ secure-compare@3.0.1: {}
- /seedrandom@2.4.4:
- resolution: {integrity: sha512-9A+PDmgm+2du77B5i0Ip2cxOqqHjgNxnBgglxLcX78A2D6c2rTo61z4jnVABpF4cKeDMDG+cmXXvdnqse2VqMA==}
- dev: false
+ seedrandom@2.4.4: {}
- /seedrandom@3.0.5:
- resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==}
- dev: false
+ seedrandom@3.0.5: {}
- /select-hose@2.0.0:
- resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
- dev: false
+ select-hose@2.0.0: {}
- /select@1.1.2:
- resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==}
- dev: false
+ select@1.1.2: {}
- /selfsigned@2.4.1:
- resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
- engines: {node: '>=10'}
+ selfsigned@2.4.1:
dependencies:
- '@types/node-forge': 1.3.10
+ '@types/node-forge': 1.3.11
node-forge: 1.3.1
- dev: false
- /semver-diff@4.0.0:
- resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==}
- engines: {node: '>=12'}
+ semver-diff@4.0.0:
dependencies:
- semver: 7.6.3
- dev: false
+ semver: 7.7.1
- /semver@5.7.2:
- resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
- hasBin: true
-
- /semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
- hasBin: true
+ semver@5.7.2: {}
- /semver@7.0.0:
- resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==}
- hasBin: true
- dev: true
+ semver@6.3.1: {}
- /semver@7.5.3:
- resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- lru-cache: 6.0.0
- dev: true
+ semver@7.0.0: {}
- /semver@7.5.4:
- resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- lru-cache: 6.0.0
+ semver@7.7.1: {}
- /semver@7.6.3:
- resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
- engines: {node: '>=10'}
- hasBin: true
+ semver@7.7.3: {}
- /send@0.19.0:
- resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
- engines: {node: '>= 0.8.0'}
+ send@0.19.0:
dependencies:
debug: 2.6.9
depd: 2.0.0
@@ -25020,36 +33035,38 @@ packages:
statuses: 2.0.1
transitivePeerDependencies:
- supports-color
- dev: false
- /serialize-javascript@4.0.0:
- resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==}
+ send@1.2.0:
dependencies:
- randombytes: 2.1.0
- dev: true
+ debug: 4.4.0
+ 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
+ transitivePeerDependencies:
+ - supports-color
- /serialize-javascript@6.0.1:
- resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==}
+ serialize-javascript@6.0.2:
dependencies:
randombytes: 2.1.0
- dev: false
- /serve-handler@6.1.5:
- resolution: {integrity: sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==}
+ serve-handler@6.1.6:
dependencies:
bytes: 3.0.0
content-disposition: 0.5.2
- fast-url-parser: 1.1.3
mime-types: 2.1.18
minimatch: 3.1.2
path-is-inside: 1.0.2
- path-to-regexp: 2.2.1
+ path-to-regexp: 3.3.0
range-parser: 1.2.0
- dev: false
- /serve-index@1.9.1:
- resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
- engines: {node: '>= 0.8.0'}
+ serve-index@1.9.1:
dependencies:
accepts: 1.3.8
batch: 0.6.1
@@ -25060,11 +33077,8 @@ packages:
parseurl: 1.3.3
transitivePeerDependencies:
- supports-color
- dev: false
- /serve-static@1.16.2:
- resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
- engines: {node: '>= 0.8.0'}
+ serve-static@1.16.2:
dependencies:
encodeurl: 2.0.0
escape-html: 1.0.3
@@ -25072,133 +33086,123 @@ packages:
send: 0.19.0
transitivePeerDependencies:
- supports-color
- dev: false
- /set-blocking@2.0.0:
- resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+ serve-static@2.2.0:
+ dependencies:
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 1.2.0
+ transitivePeerDependencies:
+ - supports-color
- /set-function-length@1.2.2:
- resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
- engines: {node: '>= 0.4'}
+ set-blocking@2.0.0: {}
+
+ set-function-length@1.2.2:
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
+ get-intrinsic: 1.3.0
+ gopd: 1.2.0
has-property-descriptors: 1.0.2
- /set-function-name@2.0.1:
- resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
- engines: {node: '>= 0.4'}
+ set-function-name@2.0.2:
dependencies:
define-data-property: 1.1.4
+ es-errors: 1.3.0
functions-have-names: 1.2.3
has-property-descriptors: 1.0.2
- dev: true
- /setimmediate@1.0.5:
- resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
- dev: true
+ set-proto@1.0.0:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
- /setprototypeof@1.1.0:
- resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
- dev: false
+ setimmediate@1.0.5: {}
- /setprototypeof@1.2.0:
- resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
- dev: false
+ setprototypeof@1.1.0: {}
- /sha.js@2.4.11:
- resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==}
- hasBin: true
+ setprototypeof@1.2.0: {}
+
+ sha.js@2.4.11:
dependencies:
inherits: 2.0.4
safe-buffer: 5.2.1
- dev: true
- /shallow-clone@3.0.1:
- resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
- engines: {node: '>=8'}
+ shallow-clone@3.0.1:
dependencies:
kind-of: 6.0.3
- /shallowequal@1.1.0:
- resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
- dev: false
+ shallowequal@1.1.0: {}
- /shasum-object@1.0.0:
- resolution: {integrity: sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==}
+ shasum-object@1.0.0:
dependencies:
fast-safe-stringify: 2.1.1
- dev: true
- /shebang-command@1.2.0:
- resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
- engines: {node: '>=0.10.0'}
+ shebang-command@1.2.0:
dependencies:
shebang-regex: 1.0.0
- /shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
+ shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
- /shebang-regex@1.0.0:
- resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
- engines: {node: '>=0.10.0'}
+ shebang-regex@1.0.0: {}
- /shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
+ shebang-regex@3.0.0: {}
- /shell-quote@1.8.1:
- resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+ shell-quote@1.8.2: {}
- /shelljs@0.8.5:
- resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
- engines: {node: '>=4'}
- hasBin: true
+ shelljs@0.8.5:
dependencies:
glob: 7.2.3
interpret: 1.4.0
rechoir: 0.6.2
- dev: false
- /shiki@0.14.6:
- resolution: {integrity: sha512-R4koBBlQP33cC8cpzX0hAoOURBHJILp4Aaduh2eYi+Vj8ZBqtK/5SWNEHBS3qwUMu8dqOtI/ftno3ESfNeVW9g==}
+ shiki@0.14.7:
dependencies:
- ansi-sequence-parser: 1.1.1
- jsonc-parser: 3.2.0
+ ansi-sequence-parser: 1.1.3
+ jsonc-parser: 3.3.1
vscode-oniguruma: 1.7.0
vscode-textmate: 8.0.0
- dev: false
- /shimmer@1.2.1:
- resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==}
- dev: false
+ shimmer@1.2.1: {}
- /side-channel@1.0.6:
- resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
- engines: {node: '>= 0.4'}
+ side-channel-list@1.0.0:
dependencies:
- call-bind: 1.0.7
es-errors: 1.3.0
- get-intrinsic: 1.2.4
- object-inspect: 1.13.2
+ object-inspect: 1.13.4
- /signal-exit@3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ side-channel-map@1.0.1:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
- /signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
+ side-channel-weakmap@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-map: 1.0.1
- /sigstore@1.9.0:
- resolution: {integrity: sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- hasBin: true
+ side-channel@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-list: 1.0.0
+ side-channel-map: 1.0.1
+ side-channel-weakmap: 1.0.2
+
+ signal-exit@3.0.7: {}
+
+ signal-exit@4.1.0: {}
+
+ sigstore@1.9.0:
dependencies:
'@sigstore/bundle': 1.1.0
'@sigstore/protobuf-specs': 0.2.1
@@ -25207,258 +33211,163 @@ packages:
make-fetch-happen: 11.1.1
transitivePeerDependencies:
- supports-color
- dev: true
- /sigstore@2.3.1:
- resolution: {integrity: sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ sigstore@2.3.1:
dependencies:
'@sigstore/bundle': 2.3.2
'@sigstore/core': 1.1.0
- '@sigstore/protobuf-specs': 0.3.2
+ '@sigstore/protobuf-specs': 0.3.3
'@sigstore/sign': 2.3.2
'@sigstore/tuf': 2.3.4
'@sigstore/verify': 1.2.1
transitivePeerDependencies:
- supports-color
- dev: false
- /simple-concat@1.0.1:
- resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
- dev: true
+ simple-concat@1.0.1: {}
- /simple-git@3.25.0:
- resolution: {integrity: sha512-KIY5sBnzc4yEcJXW7Tdv4viEz8KyG+nU0hay+DWZasvdFOYKeUZ6Xc25LUHHjw0tinPT7O1eY6pzX7pRT1K8rw==}
+ simple-git@3.27.0:
dependencies:
'@kwsites/file-exists': 1.1.1
'@kwsites/promise-deferred': 1.1.1
- debug: 4.3.6
+ debug: 4.4.0
transitivePeerDependencies:
- supports-color
- dev: false
- /simple-update-notifier@1.1.0:
- resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==}
- engines: {node: '>=8.10.0'}
+ simple-update-notifier@1.1.0:
dependencies:
semver: 7.0.0
- dev: true
- /single-line-log@1.1.2:
- resolution: {integrity: sha512-awzaaIPtYFdexLr6TBpcZSGPB6D1RInNO/qNetgaJloPDF/D0GkVtLvGEp8InfmLV7CyLyQ5fIRP+tVN/JmWQA==}
+ single-line-log@1.1.2:
dependencies:
string-width: 1.0.2
- dev: true
- /sirv@2.0.3:
- resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==}
- engines: {node: '>= 10'}
+ sirv@2.0.4:
dependencies:
- '@polka/url': 1.0.0-next.24
- mrmime: 1.0.1
+ '@polka/url': 1.0.0-next.29
+ mrmime: 2.0.1
totalist: 3.0.1
- dev: false
- /sisteransi@1.0.5:
- resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+ sisteransi@1.0.5: {}
- /sitemap@7.1.1:
- resolution: {integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==}
- engines: {node: '>=12.0.0', npm: '>=5.6.0'}
- hasBin: true
+ sitemap@7.1.2:
dependencies:
'@types/node': 17.0.45
'@types/sax': 1.2.7
arg: 5.0.2
- sax: 1.3.0
- dev: false
+ sax: 1.4.1
- /skin-tone@2.0.0:
- resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==}
- engines: {node: '>=8'}
+ skin-tone@2.0.0:
dependencies:
unicode-emoji-modifier-base: 1.0.0
- dev: false
- /slash@3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
+ skmeans@0.9.7: {}
- /slash@4.0.0:
- resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
- engines: {node: '>=12'}
+ slash@3.0.0: {}
- /slice-ansi@5.0.0:
- resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
- engines: {node: '>=12'}
+ slash@4.0.0: {}
+
+ slice-ansi@5.0.0:
dependencies:
ansi-styles: 6.2.1
is-fullwidth-code-point: 4.0.0
- dev: true
- /slice-ansi@7.1.0:
- resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
- engines: {node: '>=18'}
+ slice-ansi@7.1.0:
dependencies:
ansi-styles: 6.2.1
is-fullwidth-code-point: 5.0.0
- dev: true
- /smart-buffer@4.2.0:
- resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
- engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
+ smart-buffer@4.2.0: {}
- /snake-case@3.0.4:
- resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
+ smob@1.5.0: {}
+
+ snake-case@3.0.4:
dependencies:
dot-case: 3.0.4
- tslib: 2.8.0
- dev: false
+ tslib: 2.8.1
- /sockjs@0.3.24:
- resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
+ sockjs@0.3.24:
dependencies:
faye-websocket: 0.11.4
uuid: 8.3.2
websocket-driver: 0.7.4
- dev: false
- /socks-proxy-agent@7.0.0:
- resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==}
- engines: {node: '>= 10'}
+ socks-proxy-agent@7.0.0:
dependencies:
agent-base: 6.0.2
debug: 4.4.0
- socks: 2.7.1
+ socks: 2.8.4
transitivePeerDependencies:
- supports-color
- dev: true
- /socks-proxy-agent@8.0.4:
- resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==}
- engines: {node: '>= 14'}
+ socks-proxy-agent@8.0.5:
dependencies:
- agent-base: 7.1.1
+ agent-base: 7.1.3
debug: 4.4.0
- socks: 2.8.3
+ socks: 2.8.4
transitivePeerDependencies:
- supports-color
- dev: false
-
- /socks@2.7.1:
- resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==}
- engines: {node: '>= 10.13.0', npm: '>= 3.0.0'}
- dependencies:
- ip: 2.0.0
- smart-buffer: 4.2.0
- dev: true
- /socks@2.8.3:
- resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==}
- engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
+ socks@2.8.4:
dependencies:
ip-address: 9.0.5
smart-buffer: 4.2.0
- dev: false
- /sort-css-media-queries@2.2.0:
- resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==}
- engines: {node: '>= 6.3.0'}
- dev: false
+ sort-css-media-queries@2.2.0: {}
- /sort-keys@2.0.0:
- resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==}
- engines: {node: '>=4'}
+ sort-keys@2.0.0:
dependencies:
is-plain-obj: 1.1.0
- dev: true
-
- /source-map-js@1.0.2:
- resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
- engines: {node: '>=0.10.0'}
- /source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
- engines: {node: '>=0.10.0'}
+ source-map-js@1.2.1: {}
- /source-map-support@0.5.13:
- resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
+ source-map-support@0.5.13:
dependencies:
buffer-from: 1.1.2
source-map: 0.6.1
- dev: true
- /source-map-support@0.5.21:
- resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+ source-map-support@0.5.21:
dependencies:
buffer-from: 1.1.2
source-map: 0.6.1
- /source-map@0.5.7:
- resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
- engines: {node: '>=0.10.0'}
- dev: true
+ source-map@0.5.7: {}
- /source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
+ source-map@0.6.1: {}
- /source-map@0.7.3:
- resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==}
- engines: {node: '>= 8'}
+ source-map@0.7.3: {}
- /source-map@0.7.4:
- resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
- engines: {node: '>= 8'}
- dev: true
+ source-map@0.7.4: {}
- /source-map@0.8.0-beta.0:
- resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
- engines: {node: '>= 8'}
+ source-map@0.8.0-beta.0:
dependencies:
whatwg-url: 7.1.0
- dev: true
- /sourcemap-codec@1.4.8:
- resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
- deprecated: Please use @jridgewell/sourcemap-codec instead
- dev: true
+ sourcemap-codec@1.4.8: {}
- /space-separated-tokens@2.0.2:
- resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+ space-separated-tokens@2.0.2: {}
- /sparse-bitfield@3.0.3:
- resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==}
- requiresBuild: true
+ sparse-bitfield@3.0.3:
dependencies:
memory-pager: 1.5.0
- dev: false
optional: true
- /spawn-command@0.0.2:
- resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==}
- dev: true
+ spawn-command@0.0.2: {}
- /spdx-correct@3.2.0:
- resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+ spdx-correct@3.2.0:
dependencies:
spdx-expression-parse: 3.0.1
- spdx-license-ids: 3.0.16
+ spdx-license-ids: 3.0.21
- /spdx-exceptions@2.3.0:
- resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
+ spdx-exceptions@2.5.0: {}
- /spdx-expression-parse@3.0.1:
- resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+ spdx-expression-parse@3.0.1:
dependencies:
- spdx-exceptions: 2.3.0
- spdx-license-ids: 3.0.16
+ spdx-exceptions: 2.5.0
+ spdx-license-ids: 3.0.21
- /spdx-license-ids@3.0.16:
- resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==}
+ spdx-license-ids@3.0.21: {}
- /spdy-transport@3.0.0:
- resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
+ spdy-transport@3.0.0:
dependencies:
debug: 4.4.0
detect-node: 2.1.0
@@ -25468,11 +33377,8 @@ packages:
wbuf: 1.7.3
transitivePeerDependencies:
- supports-color
- dev: false
- /spdy@4.0.2:
- resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
- engines: {node: '>=6.0.0'}
+ spdy@4.0.2:
dependencies:
debug: 4.4.0
handle-thing: 2.0.1
@@ -25481,44 +33387,28 @@ packages:
spdy-transport: 3.0.0
transitivePeerDependencies:
- supports-color
- dev: false
- /split-on-first@1.1.0:
- resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
- engines: {node: '>=6'}
- dev: false
+ splaytree-ts@1.0.2: {}
- /split2@3.2.2:
- resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
+ split-on-first@1.1.0: {}
+
+ split2@3.2.2:
dependencies:
readable-stream: 3.6.2
- dev: true
- /split2@4.2.0:
- resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
- engines: {node: '>= 10.x'}
- dev: true
+ split2@4.2.0: {}
- /split@1.0.1:
- resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==}
+ split@1.0.1:
dependencies:
through: 2.3.8
- /sprintf-js@1.0.3:
- resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+ sprintf-js@1.0.3: {}
- /sprintf-js@1.1.3:
- resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
+ sprintf-js@1.1.3: {}
- /srcset@4.0.0:
- resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==}
- engines: {node: '>=12'}
- dev: false
+ srcset@4.0.0: {}
- /sshpk@1.16.1:
- resolution: {integrity: sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==}
- engines: {node: '>=0.10.0'}
- hasBin: true
+ sshpk@1.16.1:
dependencies:
asn1: 0.2.6
assert-plus: 1.0.0
@@ -25529,392 +33419,249 @@ packages:
jsbn: 0.1.1
safer-buffer: 2.1.2
tweetnacl: 0.14.5
- dev: false
-
- /ssri@10.0.5:
- resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dependencies:
- minipass: 7.0.4
- dev: true
- /ssri@10.0.6:
- resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ ssri@10.0.6:
dependencies:
- minipass: 7.0.4
- dev: false
+ minipass: 7.1.2
- /ssri@9.0.1:
- resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ ssri@9.0.1:
dependencies:
minipass: 3.3.6
- dev: true
- /stable@0.1.8:
- resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
- deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
- dev: true
+ stable@0.1.8: {}
- /stack-utils@2.0.6:
- resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
- engines: {node: '>=10'}
+ stack-utils@2.0.6:
dependencies:
escape-string-regexp: 2.0.0
- /stackframe@1.3.4:
- resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
- dev: false
+ stackframe@1.3.4: {}
- /standard-as-callback@2.1.0:
- resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==}
- dev: true
+ standard-as-callback@2.1.0: {}
- /statuses@1.5.0:
- resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
- engines: {node: '>= 0.6'}
- dev: false
+ statuses@1.5.0: {}
- /statuses@2.0.1:
- resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
- engines: {node: '>= 0.8'}
- dev: false
+ statuses@2.0.1: {}
- /std-env@3.6.0:
- resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==}
- dev: false
+ std-env@3.9.0: {}
- /stream-browserify@3.0.0:
- resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==}
+ stream-browserify@3.0.0:
dependencies:
inherits: 2.0.4
readable-stream: 3.6.2
- dev: true
- /stream-chain@2.2.5:
- resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==}
- dev: false
+ stream-chain@2.2.5: {}
- /stream-combiner2@1.1.1:
- resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==}
+ stream-combiner2@1.1.1:
dependencies:
duplexer2: 0.1.4
readable-stream: 2.3.8
- dev: true
- /stream-combiner@0.2.2:
- resolution: {integrity: sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==}
+ stream-combiner@0.2.2:
dependencies:
duplexer: 0.1.2
through: 2.3.8
- dev: false
- /stream-http@3.2.0:
- resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==}
+ stream-http@3.2.0:
dependencies:
builtin-status-codes: 3.0.0
inherits: 2.0.4
readable-stream: 3.6.2
xtend: 4.0.2
- dev: true
- /stream-json@1.8.0:
- resolution: {integrity: sha512-HZfXngYHUAr1exT4fxlbc1IOce1RYxp2ldeaf97LYCOPSoOqY/1Psp7iGvpb+6JIOgkra9zDYnPX01hGAHzEPw==}
+ stream-json@1.9.1:
dependencies:
stream-chain: 2.2.5
- dev: false
- /stream-shift@1.0.1:
- resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==}
- dev: true
+ stream-shift@1.0.3: {}
- /stream-splicer@2.0.1:
- resolution: {integrity: sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==}
+ stream-splicer@2.0.1:
dependencies:
inherits: 2.0.4
readable-stream: 2.3.8
- dev: true
- /strict-uri-encode@1.1.0:
- resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==}
- engines: {node: '>=0.10.0'}
- dev: true
+ strict-uri-encode@1.1.0: {}
- /strict-uri-encode@2.0.0:
- resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
- engines: {node: '>=4'}
- dev: false
+ strict-uri-encode@2.0.0: {}
- /string-argv@0.3.2:
- resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
- engines: {node: '>=0.6.19'}
- dev: true
+ string-argv@0.3.2: {}
- /string-length@4.0.2:
- resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
- engines: {node: '>=10'}
+ string-length@4.0.2:
dependencies:
char-regex: 1.0.2
strip-ansi: 6.0.1
- dev: true
- /string-width@1.0.2:
- resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==}
- engines: {node: '>=0.10.0'}
+ string-width@1.0.2:
dependencies:
code-point-at: 1.1.0
is-fullwidth-code-point: 1.0.0
strip-ansi: 3.0.1
- dev: true
- /string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
+ string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
- /string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
+ string-width@5.1.2:
dependencies:
eastasianwidth: 0.2.0
emoji-regex: 9.2.2
strip-ansi: 7.1.0
- /string-width@7.2.0:
- resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
- engines: {node: '>=18'}
+ string-width@7.2.0:
dependencies:
emoji-regex: 10.4.0
get-east-asian-width: 1.3.0
strip-ansi: 7.1.0
- dev: true
- /string.prototype.matchall@4.0.10:
- resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==}
+ string.prototype.matchall@4.0.12:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.4
define-properties: 1.2.1
- es-abstract: 1.22.3
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- internal-slot: 1.0.6
- regexp.prototype.flags: 1.5.1
- set-function-name: 2.0.1
- side-channel: 1.0.6
- dev: true
-
- /string.prototype.trim@1.2.8:
- resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
+ es-abstract: 1.23.9
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.3.0
+ gopd: 1.2.0
+ has-symbols: 1.1.0
+ internal-slot: 1.1.0
+ regexp.prototype.flags: 1.5.4
+ set-function-name: 2.0.2
+ side-channel: 1.1.0
+
+ string.prototype.trim@1.2.10:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-data-property: 1.1.4
define-properties: 1.2.1
- es-abstract: 1.22.3
- dev: true
+ es-abstract: 1.23.9
+ es-object-atoms: 1.1.1
+ has-property-descriptors: 1.0.2
- /string.prototype.trimend@1.0.7:
- resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
+ string.prototype.trimend@1.0.9:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.4
define-properties: 1.2.1
- es-abstract: 1.22.3
- dev: true
+ es-object-atoms: 1.1.1
- /string.prototype.trimstart@1.0.7:
- resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
+ string.prototype.trimstart@1.0.8:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
define-properties: 1.2.1
- es-abstract: 1.22.3
- dev: true
+ es-object-atoms: 1.1.1
- /string_decoder@1.1.1:
- resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+ string_decoder@1.1.1:
dependencies:
safe-buffer: 5.1.2
- /string_decoder@1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ string_decoder@1.3.0:
dependencies:
safe-buffer: 5.2.1
- /stringify-entities@4.0.3:
- resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==}
+ stringify-entities@4.0.4:
dependencies:
character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0
- /stringify-object@3.3.0:
- resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
- engines: {node: '>=4'}
+ stringify-object@3.3.0:
dependencies:
get-own-enumerable-property-symbols: 3.0.2
is-obj: 1.0.1
is-regexp: 1.0.0
- /strip-ansi@3.0.1:
- resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
- engines: {node: '>=0.10.0'}
+ strip-ansi@3.0.1:
dependencies:
ansi-regex: 2.1.1
- dev: true
- /strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
+ strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
- /strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
+ strip-ansi@7.1.0:
dependencies:
- ansi-regex: 6.0.1
+ ansi-regex: 6.1.0
- /strip-bom-string@1.0.0:
- resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==}
- engines: {node: '>=0.10.0'}
- dev: false
+ strip-bom-string@1.0.0: {}
- /strip-bom@3.0.0:
- resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
- engines: {node: '>=4'}
- dev: true
+ strip-bom@3.0.0: {}
- /strip-bom@4.0.0:
- resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
- engines: {node: '>=8'}
- dev: true
+ strip-bom@4.0.0: {}
- /strip-comments@2.0.1:
- resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==}
- engines: {node: '>=10'}
- dev: true
+ strip-comments@2.0.1: {}
- /strip-eof@1.0.0:
- resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
- engines: {node: '>=0.10.0'}
+ strip-eof@1.0.0: {}
- /strip-final-newline@2.0.0:
- resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
- engines: {node: '>=6'}
+ strip-final-newline@2.0.0: {}
- /strip-final-newline@3.0.0:
- resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
- engines: {node: '>=12'}
- dev: true
+ strip-final-newline@3.0.0: {}
- /strip-indent@3.0.0:
- resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
- engines: {node: '>=8'}
+ strip-indent@3.0.0:
dependencies:
min-indent: 1.0.1
- dev: true
- /strip-json-comments@2.0.1:
- resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
- engines: {node: '>=0.10.0'}
- dev: false
+ strip-json-comments@2.0.1: {}
- /strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
+ strip-json-comments@3.1.1: {}
- /stripe@11.13.0:
- resolution: {integrity: sha512-Jx0nDbdvRsTtDSX5OFQ+4rLmYIftoiOE9HAXWIgyhAz1QjRFI3UIiJ/kCyhkdJBoHu019O5Ya6EmQ5Zf635XDw==}
- engines: {node: '>=12.*'}
+ stripe@15.4.0:
dependencies:
- '@types/node': 20.10.4
- qs: 6.11.2
- dev: false
+ '@types/node': 18.19.98
+ qs: 6.14.0
- /strnum@1.0.5:
- resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
- dev: false
+ strnum@1.1.2: {}
- /strong-log-transformer@2.1.0:
- resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==}
- engines: {node: '>=4'}
- hasBin: true
+ strnum@2.1.1: {}
+
+ strong-log-transformer@2.1.0:
dependencies:
duplexer: 0.1.2
minimist: 1.2.8
through: 2.3.8
- dev: true
- /stubborn-fs@1.2.5:
- resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==}
- dev: false
+ stubborn-fs@1.2.5: {}
- /style-to-object@0.4.4:
- resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
+ style-to-js@1.1.16:
dependencies:
- inline-style-parser: 0.1.1
- dev: false
+ style-to-object: 1.0.8
- /style-to-object@1.0.5:
- resolution: {integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==}
+ style-to-object@1.0.8:
dependencies:
- inline-style-parser: 0.2.2
- dev: false
+ inline-style-parser: 0.2.4
- /stylehacks@6.1.1(postcss@8.4.47):
- resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
+ stylehacks@6.1.1(postcss@8.5.3):
dependencies:
- browserslist: 4.24.2
- postcss: 8.4.47
+ browserslist: 4.24.5
+ postcss: 8.5.3
postcss-selector-parser: 6.1.2
- dev: false
- /subarg@1.0.0:
- resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==}
+ subarg@1.0.0:
dependencies:
minimist: 1.2.8
- dev: true
- /supports-color@2.0.0:
- resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
- engines: {node: '>=0.8.0'}
- dev: true
+ supports-color@2.0.0: {}
- /supports-color@3.2.3:
- resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==}
- engines: {node: '>=0.8.0'}
+ supports-color@3.2.3:
dependencies:
has-flag: 1.0.0
- dev: true
- /supports-color@5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
- engines: {node: '>=4'}
+ supports-color@5.5.0:
dependencies:
has-flag: 3.0.0
- /supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
+ supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
- /supports-color@8.1.1:
- resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
- engines: {node: '>=10'}
+ supports-color@8.1.1:
dependencies:
has-flag: 4.0.0
- /supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
+ supports-preserve-symlinks-flag@1.0.0: {}
- /svg-baker@1.7.0:
- resolution: {integrity: sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==}
+ svg-baker@1.7.0:
dependencies:
bluebird: 3.7.2
clone: 2.1.2
@@ -25924,35 +33671,25 @@ packages:
merge-options: 1.0.1
micromatch: 4.0.5
postcss: 5.2.18
- postcss-prefix-selector: 1.16.0(postcss@5.2.18)
+ postcss-prefix-selector: 1.16.1(postcss@5.2.18)
posthtml-rename-id: 1.0.12
posthtml-svg-mode: 1.0.3
query-string: 4.3.4
- traverse: 0.6.7
- dev: true
+ traverse: 0.6.11
- /svg-parser@2.0.4:
- resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==}
- dev: false
+ svg-parser@2.0.4: {}
- /svgo@2.8.0:
- resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
- engines: {node: '>=10.13.0'}
- hasBin: true
+ svgo@2.8.0:
dependencies:
'@trysound/sax': 0.2.0
commander: 7.2.0
css-select: 4.3.0
css-tree: 1.1.3
csso: 4.2.0
- picocolors: 1.0.0
+ picocolors: 1.1.1
stable: 0.1.8
- dev: true
- /svgo@3.3.2:
- resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==}
- engines: {node: '>=14.0.0'}
- hasBin: true
+ svgo@3.3.2:
dependencies:
'@trysound/sax': 0.2.0
commander: 7.2.0
@@ -25961,46 +33698,36 @@ packages:
css-what: 6.1.0
csso: 5.0.5
picocolors: 1.1.1
- dev: false
- /symbol-tree@3.2.4:
- resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
- dev: true
+ sweepline-intersections@1.5.0:
+ dependencies:
+ tinyqueue: 2.0.3
- /syntax-error@1.4.0:
- resolution: {integrity: sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==}
+ symbol-tree@3.2.4: {}
+
+ synckit@0.11.11:
+ dependencies:
+ '@pkgr/core': 0.2.9
+
+ syntax-error@1.4.0:
dependencies:
acorn-node: 1.8.2
- dev: true
- /tachyons@4.12.0:
- resolution: {integrity: sha512-2nA2IrYFy3raCM9fxJ2KODRGHVSZNTW3BR0YnlGsLUf1DA3pk3YfWZ/DdfbnZK6zLZS+jUenlUGJsKcA5fUiZg==}
- dev: true
+ tachyons@4.12.0: {}
- /tapable@1.1.3:
- resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==}
- engines: {node: '>=6'}
- dev: false
+ tapable@1.1.3: {}
- /tapable@2.2.1:
- resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
- engines: {node: '>=6'}
- dev: false
+ tapable@2.2.1: {}
- /tar-stream@2.2.0:
- resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
- engines: {node: '>=6'}
+ tar-stream@2.2.0:
dependencies:
bl: 4.1.0
end-of-stream: 1.4.4
fs-constants: 1.0.0
inherits: 2.0.4
readable-stream: 3.6.2
- dev: true
- /tar@4.4.18:
- resolution: {integrity: sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==}
- engines: {node: '>=4.5'}
+ tar@4.4.18:
dependencies:
chownr: 1.1.4
fs-minipass: 1.2.7
@@ -26009,11 +33736,8 @@ packages:
mkdirp: 0.5.6
safe-buffer: 5.2.1
yallist: 3.1.1
- dev: true
- /tar@6.1.11:
- resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==}
- engines: {node: '>= 10'}
+ tar@6.1.11:
dependencies:
chownr: 2.0.0
fs-minipass: 2.1.0
@@ -26021,22 +33745,8 @@ packages:
minizlib: 2.1.2
mkdirp: 1.0.4
yallist: 4.0.0
- dev: true
-
- /tar@6.2.0:
- resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==}
- engines: {node: '>=10'}
- dependencies:
- chownr: 2.0.0
- fs-minipass: 2.1.0
- minipass: 5.0.0
- minizlib: 2.1.2
- mkdirp: 1.0.4
- yallist: 4.0.0
- /tar@6.2.1:
- resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
- engines: {node: '>=10'}
+ tar@6.2.1:
dependencies:
chownr: 2.0.0
fs-minipass: 2.1.0
@@ -26044,255 +33754,158 @@ packages:
minizlib: 2.1.2
mkdirp: 1.0.4
yallist: 4.0.0
- dev: false
- /temp-dir@1.0.0:
- resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==}
- engines: {node: '>=4'}
- dev: true
+ temp-dir@1.0.0: {}
- /temp-dir@2.0.0:
- resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
- engines: {node: '>=8'}
- dev: true
+ temp-dir@2.0.0: {}
- /tempy@0.6.0:
- resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==}
- engines: {node: '>=10'}
+ tempy@0.6.0:
dependencies:
is-stream: 2.0.1
temp-dir: 2.0.0
type-fest: 0.16.0
unique-string: 2.0.0
- dev: true
- /terser-webpack-plugin@5.3.9(esbuild@0.19.8)(webpack@5.89.0):
- resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- '@swc/core': '*'
- esbuild: '*'
- uglify-js: '*'
- webpack: ^5.1.0
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- esbuild:
- optional: true
- uglify-js:
- optional: true
+ terser-webpack-plugin@5.3.14(esbuild@0.19.12)(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
- '@jridgewell/trace-mapping': 0.3.20
- esbuild: 0.19.8
+ '@jridgewell/trace-mapping': 0.3.25
jest-worker: 27.5.1
- schema-utils: 3.3.0
- serialize-javascript: 6.0.1
- terser: 5.26.0
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ schema-utils: 4.3.2
+ serialize-javascript: 6.0.2
+ terser: 5.39.0
+ webpack: 5.99.8(esbuild@0.19.12)
+ optionalDependencies:
+ esbuild: 0.19.12
- /terser@4.8.1:
- resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==}
- engines: {node: '>=6.0.0'}
- hasBin: true
+ terser@4.8.1:
dependencies:
acorn: 8.11.3
commander: 2.20.3
source-map: 0.6.1
source-map-support: 0.5.21
- dev: true
- /terser@5.26.0:
- resolution: {integrity: sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==}
- engines: {node: '>=10'}
- hasBin: true
+ terser@5.39.0:
dependencies:
- '@jridgewell/source-map': 0.3.5
+ '@jridgewell/source-map': 0.3.6
acorn: 8.11.3
commander: 2.20.3
source-map-support: 0.5.21
- /test-exclude@6.0.0:
- resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
- engines: {node: '>=8'}
+ test-exclude@6.0.0:
dependencies:
'@istanbuljs/schema': 0.1.3
glob: 7.2.3
minimatch: 3.1.2
- dev: true
- /text-extensions@1.9.0:
- resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==}
- engines: {node: '>=0.10'}
- dev: true
+ text-extensions@1.9.0: {}
- /text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
- dev: false
+ text-table@0.2.0: {}
- /three-mesh-ui@6.4.4(three@0.169.0):
- resolution: {integrity: sha512-Inzndir7UUQTl7U7isPMQa2H0jCv2G7RgcX3HVMoF5PSrbStAzayLtI6P9tK9rEkcQdehQfGHwpZVxghhuS77Q==}
- engines: {node: x.x.x}
- peerDependencies:
- three: '>=0.132.1'
+ three-mesh-ui@6.4.4(three@0.176.0):
dependencies:
- three: 0.169.0
- dev: false
+ three: 0.176.0
- /three.meshline@1.3.0:
- resolution: {integrity: sha512-ZEb6cZiMh7RFPAQ0320aVBQx1CK4/wFffG9NNAArfX4KBPSJzjS19tYSuhNX7eZ1trU4blEHixz1EXkXN33++w==}
- dev: false
+ three.meshline@1.3.0: {}
- /three@0.169.0:
- resolution: {integrity: sha512-Ed906MA3dR4TS5riErd4QBsRGPcx+HBDX2O5yYE5GqJeFQTPU+M56Va/f/Oph9X7uZo3W3o4l2ZhBZ6f6qUv0w==}
- dev: false
+ three@0.176.0: {}
- /through2@2.0.5:
- resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
+ through2@2.0.5:
dependencies:
readable-stream: 2.3.8
xtend: 4.0.2
- dev: true
- /through2@3.0.2:
- resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==}
+ through2@3.0.2:
dependencies:
inherits: 2.0.4
readable-stream: 3.6.2
- dev: true
- /through2@4.0.2:
- resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
+ through2@4.0.2:
dependencies:
readable-stream: 3.6.2
- /through@2.3.8:
- resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+ through@2.3.8: {}
- /thunky@1.1.0:
- resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
- dev: false
+ thunky@1.1.0: {}
- /timers-browserify@1.4.2:
- resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==}
- engines: {node: '>=0.6.0'}
+ tigerbeetle-node@0.16.44: {}
+
+ timers-browserify@1.4.2:
dependencies:
process: 0.11.10
- dev: true
- /tiny-emitter@2.1.0:
- resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==}
- dev: false
+ tiny-emitter@2.1.0: {}
- /tiny-invariant@1.3.1:
- resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==}
- dev: false
+ tiny-invariant@1.3.3: {}
- /tiny-warning@1.0.3:
- resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
- dev: false
+ tiny-warning@1.0.3: {}
- /tinycolor2@1.6.0:
- resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
- dev: false
+ tinycolor2@1.6.0: {}
- /tmp@0.0.33:
- resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
- engines: {node: '>=0.6.0'}
+ tinyexec@1.0.1: {}
+
+ tinyqueue@2.0.3: {}
+
+ tldts-core@6.1.86: {}
+
+ tldts@6.1.86:
dependencies:
- os-tmpdir: 1.0.2
- dev: true
+ tldts-core: 6.1.86
- /tmp@0.2.1:
- resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==}
- engines: {node: '>=8.17.0'}
+ tmp@0.0.33:
dependencies:
- rimraf: 3.0.2
+ os-tmpdir: 1.0.2
- /tmpl@1.0.5:
- resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
- dev: true
+ tmp@0.2.3: {}
- /to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
+ tmpl@1.0.5: {}
- /to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
+ to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
- /toidentifier@1.0.1:
- resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
- engines: {node: '>=0.6'}
- dev: false
+ toad-cache@3.7.0: {}
- /totalist@3.0.1:
- resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
- engines: {node: '>=6'}
- dev: false
+ toidentifier@1.0.1: {}
- /touch@3.1.0:
- resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==}
- hasBin: true
+ topojson-client@3.1.0:
dependencies:
- nopt: 1.0.10
- dev: true
+ commander: 2.20.3
- /tough-cookie@2.5.0:
- resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==}
- engines: {node: '>=0.8'}
+ topojson-server@3.0.1:
dependencies:
- psl: 1.9.0
- punycode: 2.3.1
- dev: false
+ commander: 2.20.3
- /tough-cookie@4.1.3:
- resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==}
- engines: {node: '>=6'}
+ totalist@3.0.1: {}
+
+ touch@3.1.1: {}
+
+ tough-cookie@2.5.0:
dependencies:
- psl: 1.9.0
+ psl: 1.15.0
punycode: 2.3.1
- universalify: 0.2.0
- url-parse: 1.5.10
- dev: true
- /tough-cookie@4.1.4:
- resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
- engines: {node: '>=6'}
+ tough-cookie@4.1.4:
dependencies:
- psl: 1.9.0
+ psl: 1.15.0
punycode: 2.3.1
universalify: 0.2.0
url-parse: 1.5.10
- dev: true
- /tr46@0.0.3:
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
-
- /tr46@1.0.1:
- resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
+ tough-cookie@5.1.2:
dependencies:
- punycode: 2.3.1
- dev: true
+ tldts: 6.1.86
- /tr46@3.0.0:
- resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==}
- engines: {node: '>=12'}
+ tr46@0.0.3: {}
+
+ tr46@1.0.1:
dependencies:
punycode: 2.3.1
- dev: true
- /tr46@5.0.0:
- resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==}
- engines: {node: '>=18'}
+ tr46@5.1.1:
dependencies:
punycode: 2.3.1
- dev: true
- /transform-ast@2.4.4:
- resolution: {integrity: sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==}
+ transform-ast@2.4.4:
dependencies:
acorn-node: 1.8.2
convert-source-map: 1.9.0
@@ -26301,628 +33914,441 @@ packages:
magic-string: 0.23.2
merge-source-map: 1.0.4
nanobench: 2.1.1
- dev: true
- /traverse@0.6.7:
- resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==}
- dev: true
+ traverse@0.6.11:
+ dependencies:
+ gopd: 1.2.0
+ typedarray.prototype.slice: 1.0.5
+ which-typed-array: 1.1.19
- /tree-kill@1.2.2:
- resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
- hasBin: true
- dev: true
+ tree-kill@1.2.2: {}
- /treeverse@3.0.0:
- resolution: {integrity: sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- dev: false
+ treeverse@3.0.0: {}
- /trim-lines@3.0.1:
- resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+ trim-lines@3.0.1: {}
- /trim-newlines@3.0.1:
- resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
- engines: {node: '>=8'}
- dev: true
+ trim-newlines@3.0.1: {}
- /troika-three-text@0.46.4(three@0.169.0):
- resolution: {integrity: sha512-Qsv0HhUKTZgSmAJs5wvO7YlBoJSP9TGPLmrg+K9pbQq4lseQdcevbno/WI38bwJBZ/qS56hvfqEzY0zUEFzDIw==}
- peerDependencies:
- three: '>=0.103.0'
+ troika-three-text@0.46.4(three@0.176.0):
dependencies:
bidi-js: 1.0.3
- three: 0.169.0
- troika-three-utils: 0.46.0(three@0.169.0)
+ three: 0.176.0
+ troika-three-utils: 0.46.0(three@0.176.0)
troika-worker-utils: 0.46.0
webgl-sdf-generator: 1.1.1
- dev: false
- /troika-three-utils@0.46.0(three@0.169.0):
- resolution: {integrity: sha512-llHyrXAcwzr0bpg80GxsIp73N7FuImm4WCrKDJkAqcAsWmE5pfP9+Qzw+oMWK1P/AdHQ79eOrOl9NjyW4aOw0w==}
- peerDependencies:
- three: '>=0.103.0'
+ troika-three-utils@0.46.0(three@0.176.0):
dependencies:
- three: 0.169.0
- dev: false
+ three: 0.176.0
- /troika-worker-utils@0.46.0:
- resolution: {integrity: sha512-bzOx5f2ZBxkFhXtIvDJlLn2AI3bzCkGVbCndl/2dL5QZrwHEKl45OEIilCxYQQWJG1rEbOD9O80tMjoYjw19OA==}
- dev: false
+ troika-worker-utils@0.46.0: {}
- /trough@2.1.0:
- resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
+ trough@2.2.0: {}
- /ts-api-utils@2.0.1(typescript@5.3.3):
- resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==}
- engines: {node: '>=18.12'}
- peerDependencies:
- typescript: '>=4.8.4'
+ ts-api-utils@2.1.0(typescript@5.8.3):
dependencies:
- typescript: 5.3.3
- dev: true
+ typescript: 5.8.3
- /ts-debounce@4.0.0:
- resolution: {integrity: sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==}
- dev: false
+ ts-debounce@4.0.0: {}
- /ts-jest@29.0.5(@babel/core@7.23.5)(esbuild@0.19.8)(jest@29.7.0)(typescript@5.3.3):
- resolution: {integrity: sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- '@babel/core': '>=7.0.0-beta.0 <8'
- '@jest/types': ^29.0.0
- babel-jest: ^29.0.0
- esbuild: '*'
- jest: ^29.0.0
- typescript: '>=4.3'
- peerDependenciesMeta:
- '@babel/core':
- optional: true
- '@jest/types':
- optional: true
- babel-jest:
- optional: true
- esbuild:
- optional: true
+ ts-jest-mock-import-meta@1.3.0(ts-jest@29.4.5(@babel/core@7.27.1)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.27.1))(esbuild@0.19.12)(jest-util@30.2.0)(jest@30.2.0(@types/node@18.19.98))(typescript@5.8.3)):
+ dependencies:
+ ts-jest: 29.4.5(@babel/core@7.27.1)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.27.1))(esbuild@0.19.12)(jest-util@30.2.0)(jest@30.2.0(@types/node@18.19.98))(typescript@5.8.3)
+
+ ts-jest@29.4.5(@babel/core@7.27.1)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.27.1))(esbuild@0.19.12)(jest-util@30.2.0)(jest@30.2.0(@types/node@18.19.98))(typescript@5.8.3):
dependencies:
- '@babel/core': 7.23.5
bs-logger: 0.2.6
- esbuild: 0.19.8
fast-json-stable-stringify: 2.1.0
- jest: 29.7.0(@types/node@18.19.3)
- jest-util: 29.7.0
+ handlebars: 4.7.8
+ jest: 30.2.0(@types/node@18.19.98)
json5: 2.2.3
lodash.memoize: 4.1.2
make-error: 1.3.6
- semver: 7.5.4
- typescript: 5.3.3
+ semver: 7.7.3
+ type-fest: 4.41.0
+ typescript: 5.8.3
yargs-parser: 21.1.1
- dev: true
+ optionalDependencies:
+ '@babel/core': 7.27.1
+ '@jest/transform': 30.2.0
+ '@jest/types': 30.2.0
+ babel-jest: 30.2.0(@babel/core@7.27.1)
+ esbuild: 0.19.12
+ jest-util: 30.2.0
- /ts-morph@20.0.0:
- resolution: {integrity: sha512-JVmEJy2Wow5n/84I3igthL9sudQ8qzjh/6i4tmYCm6IqYyKFlNbJZi7oBdjyqcWSWYRu3CtL0xbT6fS03ESZIg==}
+ ts-morph@20.0.0:
dependencies:
'@ts-morph/common': 0.21.0
code-block-writer: 12.0.0
- dev: false
- /tsconfig-paths@4.2.0:
- resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
- engines: {node: '>=6'}
+ tsconfig-paths@4.2.0:
dependencies:
json5: 2.2.3
minimist: 1.2.8
strip-bom: 3.0.0
- dev: true
- /tslib@1.14.1:
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
- dev: false
+ tslib@1.14.1: {}
- /tslib@2.6.2:
- resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
- dev: false
+ tslib@2.6.2: {}
- /tslib@2.8.0:
- resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==}
+ tslib@2.8.1: {}
- /tty-browserify@0.0.1:
- resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==}
- dev: true
+ tty-browserify@0.0.1: {}
- /tuf-js@1.1.7:
- resolution: {integrity: sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ tuf-js@1.1.7:
dependencies:
'@tufjs/models': 1.0.4
debug: 4.4.0
make-fetch-happen: 11.1.1
transitivePeerDependencies:
- supports-color
- dev: true
- /tuf-js@2.2.1:
- resolution: {integrity: sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==}
- engines: {node: ^16.14.0 || >=18.0.0}
+ tuf-js@2.2.1:
dependencies:
'@tufjs/models': 2.0.1
debug: 4.4.0
make-fetch-happen: 13.0.1
transitivePeerDependencies:
- supports-color
- dev: false
- /tunnel-agent@0.6.0:
- resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
+ tunnel-agent@0.6.0:
dependencies:
safe-buffer: 5.2.1
- dev: false
- /tweetnacl@0.14.5:
- resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
- dev: false
+ tweetnacl@0.14.5: {}
- /tweetnacl@1.0.3:
- resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==}
- dev: false
+ tweetnacl@1.0.3: {}
- /type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
+ type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
- /type-component@0.0.1:
- resolution: {integrity: sha512-mDZRBQS2yZkwRQKfjJvQ8UIYJeBNNWCq+HBNstl9N5s9jZ4dkVYXEGkVPsSCEh5Ld4JM1kmrZTzjnrqSAIQ7dw==}
- dev: true
+ type-component@0.0.1: {}
- /type-detect@4.0.8:
- resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
- engines: {node: '>=4'}
- dev: true
+ type-detect@4.0.8: {}
- /type-fest@0.16.0:
- resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
- engines: {node: '>=10'}
- dev: true
+ type-detect@4.1.0: {}
- /type-fest@0.18.1:
- resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==}
- engines: {node: '>=10'}
- dev: true
+ type-fest@0.16.0: {}
- /type-fest@0.21.3:
- resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
- engines: {node: '>=10'}
- dev: true
+ type-fest@0.18.1: {}
- /type-fest@0.4.1:
- resolution: {integrity: sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==}
- engines: {node: '>=6'}
- dev: true
+ type-fest@0.21.3: {}
- /type-fest@0.6.0:
- resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
- engines: {node: '>=8'}
- dev: true
+ type-fest@0.4.1: {}
- /type-fest@0.8.1:
- resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
- engines: {node: '>=8'}
- dev: true
+ type-fest@0.6.0: {}
- /type-fest@1.4.0:
- resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
- engines: {node: '>=10'}
- dev: false
+ type-fest@0.8.1: {}
- /type-fest@2.19.0:
- resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
- engines: {node: '>=12.20'}
- dev: false
+ type-fest@1.4.0: {}
- /type-fest@3.13.1:
- resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
- engines: {node: '>=14.16'}
- dev: false
+ type-fest@2.19.0: {}
- /type-fest@4.26.1:
- resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==}
- engines: {node: '>=16'}
- dev: false
+ type-fest@3.13.1: {}
- /type-is@1.6.18:
- resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
- engines: {node: '>= 0.6'}
+ type-fest@4.41.0: {}
+
+ type-is@1.6.18:
dependencies:
media-typer: 0.3.0
mime-types: 2.1.35
- dev: false
- /typed-array-buffer@1.0.0:
- resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
- engines: {node: '>= 0.4'}
+ type-is@2.0.1:
+ dependencies:
+ content-type: 1.0.5
+ media-typer: 1.1.0
+ mime-types: 3.0.1
+
+ typed-array-buffer@1.0.3:
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- is-typed-array: 1.1.12
- dev: true
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-typed-array: 1.1.15
- /typed-array-byte-length@1.0.0:
- resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
- engines: {node: '>= 0.4'}
+ typed-array-byte-length@1.0.3:
dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- has-proto: 1.0.3
- is-typed-array: 1.1.12
- dev: true
+ call-bind: 1.0.8
+ for-each: 0.3.5
+ gopd: 1.2.0
+ has-proto: 1.2.0
+ is-typed-array: 1.1.15
- /typed-array-byte-offset@1.0.0:
- resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
- engines: {node: '>= 0.4'}
+ typed-array-byte-offset@1.0.4:
dependencies:
- available-typed-arrays: 1.0.5
- call-bind: 1.0.7
- for-each: 0.3.3
- has-proto: 1.0.3
- is-typed-array: 1.1.12
- dev: true
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.8
+ for-each: 0.3.5
+ gopd: 1.2.0
+ has-proto: 1.2.0
+ is-typed-array: 1.1.15
+ reflect.getprototypeof: 1.0.10
- /typed-array-length@1.0.4:
- resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
+ typed-array-length@1.0.7:
dependencies:
- call-bind: 1.0.7
- for-each: 0.3.3
- is-typed-array: 1.1.12
- dev: true
+ call-bind: 1.0.8
+ for-each: 0.3.5
+ gopd: 1.2.0
+ is-typed-array: 1.1.15
+ possible-typed-array-names: 1.1.0
+ reflect.getprototypeof: 1.0.10
- /typed-emitter@2.1.0:
- resolution: {integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==}
+ typed-emitter@2.1.0:
optionalDependencies:
- rxjs: 7.8.1
- dev: false
+ rxjs: 7.8.2
- /typedarray-to-buffer@3.1.5:
- resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+ typedarray-to-buffer@3.1.5:
dependencies:
is-typedarray: 1.0.0
- dev: false
- /typedarray@0.0.6:
- resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
- dev: true
+ typedarray.prototype.slice@1.0.5:
+ dependencies:
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.23.9
+ es-errors: 1.3.0
+ get-proto: 1.0.1
+ math-intrinsics: 1.1.0
+ typed-array-buffer: 1.0.3
+ typed-array-byte-offset: 1.0.4
- /typedoc@0.25.4(typescript@5.3.3):
- resolution: {integrity: sha512-Du9ImmpBCw54bX275yJrxPVnjdIyJO/84co0/L9mwe0R3G4FSR6rQ09AlXVRvZEGMUg09+z/usc8mgygQ1aidA==}
- engines: {node: '>= 16'}
- hasBin: true
- peerDependencies:
- typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x
+ typedarray@0.0.6: {}
+
+ typedoc@0.25.4(typescript@5.8.3):
dependencies:
lunr: 2.3.9
marked: 4.3.0
- minimatch: 9.0.3
- shiki: 0.14.6
- typescript: 5.3.3
- dev: false
+ minimatch: 9.0.5
+ shiki: 0.14.7
+ typescript: 5.8.3
- /typescript-eslint@8.26.1(eslint@9.22.0)(typescript@5.3.3):
- resolution: {integrity: sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.9.0'
+ typescript-eslint@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.26.1(@typescript-eslint/parser@8.26.1)(eslint@9.22.0)(typescript@5.3.3)
- '@typescript-eslint/parser': 8.26.1(eslint@9.22.0)(typescript@5.3.3)
- '@typescript-eslint/utils': 8.26.1(eslint@9.22.0)(typescript@5.3.3)
- eslint: 9.22.0
- typescript: 5.3.3
+ '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)
+ '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.5.1))(typescript@5.8.3)
+ eslint: 9.26.0(jiti@2.5.1)
+ typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- dev: true
- /typescript@5.3.3:
- resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
- engines: {node: '>=14.17'}
- hasBin: true
+ typescript@5.8.3: {}
- /uglify-js@3.19.3:
- resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==}
- engines: {node: '>=0.8.0'}
- hasBin: true
- requiresBuild: true
- dev: true
+ typesense@2.0.3(@babel/runtime@7.27.1):
+ dependencies:
+ '@babel/runtime': 7.27.1
+ axios: 1.7.7
+ loglevel: 1.9.2
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - debug
+
+ typesense@2.1.0-13(@babel/runtime@7.27.1):
+ dependencies:
+ '@babel/runtime': 7.27.1
+ axios: 1.11.0
+ loglevel: 1.9.2
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - debug
+
+ uglify-js@3.19.3:
optional: true
- /uint8array-extras@0.3.0:
- resolution: {integrity: sha512-erJsJwQ0tKdwuqI0359U8ijkFmfiTcq25JvvzRVc1VP+2son1NJRXhxcAKJmAW3ajM8JSGAfsAXye8g4s+znxA==}
- engines: {node: '>=18'}
- dev: false
+ uint8array-extras@0.3.0: {}
- /umd@3.0.3:
- resolution: {integrity: sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==}
- hasBin: true
- dev: true
+ umd@3.0.3: {}
- /unbox-primitive@1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ unbox-primitive@1.1.0:
dependencies:
- call-bind: 1.0.7
- has-bigints: 1.0.2
- has-symbols: 1.0.3
- which-boxed-primitive: 1.0.2
- dev: true
+ call-bound: 1.0.4
+ has-bigints: 1.1.0
+ has-symbols: 1.1.0
+ which-boxed-primitive: 1.1.1
- /undeclared-identifiers@1.1.3:
- resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==}
- hasBin: true
+ undeclared-identifiers@1.1.3:
dependencies:
acorn-node: 1.8.2
dash-ast: 1.0.0
get-assigned-identifiers: 1.2.0
simple-concat: 1.0.1
xtend: 4.0.2
- dev: true
- /undefsafe@2.0.5:
- resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
- dev: true
+ undefsafe@2.0.5: {}
- /undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ undici-types@5.26.5: {}
- /unicode-canonical-property-names-ecmascript@2.0.0:
- resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
- engines: {node: '>=4'}
+ unicode-canonical-property-names-ecmascript@2.0.1: {}
- /unicode-emoji-modifier-base@1.0.0:
- resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==}
- engines: {node: '>=4'}
- dev: false
+ unicode-emoji-modifier-base@1.0.0: {}
- /unicode-match-property-ecmascript@2.0.0:
- resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
- engines: {node: '>=4'}
+ unicode-match-property-ecmascript@2.0.0:
dependencies:
- unicode-canonical-property-names-ecmascript: 2.0.0
+ unicode-canonical-property-names-ecmascript: 2.0.1
unicode-property-aliases-ecmascript: 2.1.0
- /unicode-match-property-value-ecmascript@2.1.0:
- resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
- engines: {node: '>=4'}
+ unicode-match-property-value-ecmascript@2.2.0: {}
- /unicode-property-aliases-ecmascript@2.1.0:
- resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
- engines: {node: '>=4'}
+ unicode-property-aliases-ecmascript@2.1.0: {}
- /unified@10.1.2:
- resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
+ unified@10.1.2:
dependencies:
- '@types/unist': 2.0.10
+ '@types/unist': 2.0.11
bail: 2.0.2
extend: 3.0.2
is-buffer: 2.0.5
is-plain-obj: 4.1.0
- trough: 2.1.0
+ trough: 2.2.0
vfile: 5.3.7
- dev: false
- /unified@11.0.4:
- resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==}
+ unified@11.0.4:
dependencies:
- '@types/unist': 3.0.2
+ '@types/unist': 3.0.3
bail: 2.0.2
devlop: 1.1.0
extend: 3.0.2
is-plain-obj: 4.1.0
- trough: 2.1.0
- vfile: 6.0.1
+ trough: 2.2.0
+ vfile: 6.0.3
- /union@0.5.0:
- resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==}
- engines: {node: '>= 0.8.0'}
+ union@0.5.0:
dependencies:
- qs: 6.13.0
- dev: true
+ qs: 6.14.0
- /uniq@1.0.1:
- resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==}
- dev: false
+ uniq@1.0.1: {}
- /unique-filename@2.0.1:
- resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ unique-filename@2.0.1:
dependencies:
unique-slug: 3.0.0
- dev: true
- /unique-filename@3.0.0:
- resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ unique-filename@3.0.0:
dependencies:
unique-slug: 4.0.0
- /unique-names-generator@4.2.0:
- resolution: {integrity: sha512-MaNgUy/U7jeIMr5n8tdYXFi5IJ9DVo3nc90Z0QDnbYmO0F/H3Swjb8H/bkHRQYBCNveBNU6rq90metcmxVdO6Q==}
- engines: {node: '>=6'}
- dev: false
+ unique-names-generator@4.2.0: {}
- /unique-slug@3.0.0:
- resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ unique-slug@3.0.0:
dependencies:
imurmurhash: 0.1.4
- dev: true
- /unique-slug@4.0.0:
- resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ unique-slug@4.0.0:
dependencies:
imurmurhash: 0.1.4
- /unique-string@2.0.0:
- resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
- engines: {node: '>=8'}
+ unique-string@2.0.0:
dependencies:
crypto-random-string: 2.0.0
- dev: true
- /unique-string@3.0.0:
- resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==}
- engines: {node: '>=12'}
+ unique-string@3.0.0:
dependencies:
crypto-random-string: 4.0.0
- dev: false
-
- /unist-util-is@5.2.1:
- resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
- dependencies:
- '@types/unist': 2.0.10
- dev: false
- /unist-util-is@6.0.0:
- resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
+ unist-util-is@5.2.1:
dependencies:
- '@types/unist': 3.0.2
+ '@types/unist': 2.0.11
- /unist-util-position-from-estree@2.0.0:
- resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
+ unist-util-is@6.0.0:
dependencies:
- '@types/unist': 3.0.2
- dev: false
+ '@types/unist': 3.0.3
- /unist-util-position@4.0.4:
- resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
+ unist-util-position-from-estree@2.0.0:
dependencies:
- '@types/unist': 2.0.10
- dev: false
+ '@types/unist': 3.0.3
- /unist-util-position@5.0.0:
- resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+ unist-util-position@4.0.4:
dependencies:
- '@types/unist': 3.0.2
+ '@types/unist': 2.0.11
- /unist-util-remove-position@5.0.0:
- resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+ unist-util-position@5.0.0:
dependencies:
- '@types/unist': 3.0.2
- unist-util-visit: 5.0.0
- dev: false
+ '@types/unist': 3.0.3
- /unist-util-stringify-position@3.0.3:
- resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
+ unist-util-stringify-position@3.0.3:
dependencies:
- '@types/unist': 2.0.10
- dev: false
+ '@types/unist': 2.0.11
- /unist-util-stringify-position@4.0.0:
- resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+ unist-util-stringify-position@4.0.0:
dependencies:
- '@types/unist': 3.0.2
+ '@types/unist': 3.0.3
- /unist-util-visit-parents@5.1.3:
- resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==}
+ unist-util-visit-parents@5.1.3:
dependencies:
- '@types/unist': 2.0.10
+ '@types/unist': 2.0.11
unist-util-is: 5.2.1
- dev: false
- /unist-util-visit-parents@6.0.1:
- resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
+ unist-util-visit-parents@6.0.1:
dependencies:
- '@types/unist': 3.0.2
+ '@types/unist': 3.0.3
unist-util-is: 6.0.0
- /unist-util-visit@4.1.2:
- resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
+ unist-util-visit@4.1.2:
dependencies:
- '@types/unist': 2.0.10
+ '@types/unist': 2.0.11
unist-util-is: 5.2.1
unist-util-visit-parents: 5.1.3
- dev: false
- /unist-util-visit@5.0.0:
- resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
+ unist-util-visit@5.0.0:
dependencies:
- '@types/unist': 3.0.2
+ '@types/unist': 3.0.3
unist-util-is: 6.0.0
unist-util-visit-parents: 6.0.1
- /universal-github-app-jwt@2.2.0:
- resolution: {integrity: sha512-G5o6f95b5BggDGuUfKDApKaCgNYy2x7OdHY0zSMF081O0EJobw+1130VONhrA7ezGSV2FNOGyM+KQpQZAr9bIQ==}
- dev: false
+ universal-github-app-jwt@2.2.2: {}
- /universal-user-agent@4.0.1:
- resolution: {integrity: sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==}
+ universal-user-agent@4.0.1:
dependencies:
os-name: 3.1.0
- dev: false
- /universal-user-agent@6.0.1:
- resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==}
-
- /universal-user-agent@7.0.2:
- resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==}
- dev: false
-
- /universalify@0.1.2:
- resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
- engines: {node: '>= 4.0.0'}
- dev: true
-
- /universalify@0.2.0:
- resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
- engines: {node: '>= 4.0.0'}
- dev: true
+ universal-user-agent@6.0.1: {}
- /universalify@2.0.1:
- resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
- engines: {node: '>= 10.0.0'}
+ universal-user-agent@7.0.2: {}
- /unpipe@1.0.0:
- resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
- engines: {node: '>= 0.8'}
- dev: false
+ universalify@0.1.2: {}
- /upath@1.2.0:
- resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==}
- engines: {node: '>=4'}
+ universalify@0.2.0: {}
- /upath@2.0.1:
- resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==}
- engines: {node: '>=4'}
- dev: true
+ universalify@2.0.1: {}
- /update-browserslist-db@1.0.13(browserslist@4.22.2):
- resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
- dependencies:
- browserslist: 4.22.2
- escalade: 3.1.1
- picocolors: 1.0.0
+ unpipe@1.0.0: {}
- /update-browserslist-db@1.1.1(browserslist@4.24.2):
- resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
+ unrs-resolver@1.11.1:
dependencies:
- browserslist: 4.24.2
+ napi-postinstall: 0.3.4
+ optionalDependencies:
+ '@unrs/resolver-binding-android-arm-eabi': 1.11.1
+ '@unrs/resolver-binding-android-arm64': 1.11.1
+ '@unrs/resolver-binding-darwin-arm64': 1.11.1
+ '@unrs/resolver-binding-darwin-x64': 1.11.1
+ '@unrs/resolver-binding-freebsd-x64': 1.11.1
+ '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1
+ '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1
+ '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-arm64-musl': 1.11.1
+ '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1
+ '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-x64-gnu': 1.11.1
+ '@unrs/resolver-binding-linux-x64-musl': 1.11.1
+ '@unrs/resolver-binding-wasm32-wasi': 1.11.1
+ '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1
+ '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1
+ '@unrs/resolver-binding-win32-x64-msvc': 1.11.1
+
+ upath@1.2.0: {}
+
+ upath@2.0.1: {}
+
+ update-browserslist-db@1.1.3(browserslist@4.24.5):
+ dependencies:
+ browserslist: 4.24.5
escalade: 3.2.0
picocolors: 1.1.1
- dev: false
- /update-notifier@6.0.2:
- resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==}
- engines: {node: '>=14.16'}
+ update-notifier@6.0.2:
dependencies:
boxen: 7.1.1
- chalk: 5.3.0
+ chalk: 5.4.1
configstore: 6.0.0
has-yarn: 3.0.0
import-lazy: 4.0.0
@@ -26932,700 +34358,450 @@ packages:
is-yarn-global: 0.4.1
latest-version: 7.0.0
pupa: 3.1.0
- semver: 7.6.3
+ semver: 7.7.1
semver-diff: 4.0.0
xdg-basedir: 5.1.0
- dev: false
- /upper-case@1.1.3:
- resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==}
- dev: true
+ upper-case@1.1.3: {}
- /uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ uri-js@4.4.1:
dependencies:
punycode: 2.3.1
- /url-join@4.0.1:
- resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==}
- dev: true
+ url-join@4.0.1: {}
- /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.89.0):
- resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- file-loader: '*'
- webpack: ^4.0.0 || ^5.0.0
- peerDependenciesMeta:
- file-loader:
- optional: true
+ url-loader@4.1.1(file-loader@6.2.0(webpack@5.99.8(esbuild@0.19.12)))(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
- file-loader: 6.2.0(webpack@5.89.0)
loader-utils: 2.0.4
mime-types: 2.1.35
schema-utils: 3.3.0
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ webpack: 5.99.8(esbuild@0.19.12)
+ optionalDependencies:
+ file-loader: 6.2.0(webpack@5.99.8(esbuild@0.19.12))
- /url-parse@1.5.10:
- resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+ url-parse@1.5.10:
dependencies:
querystringify: 2.2.0
requires-port: 1.0.0
- dev: true
- /url@0.10.3:
- resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==}
+ url@0.10.3:
dependencies:
punycode: 1.3.2
querystring: 0.2.0
- dev: false
- /url@0.11.3:
- resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==}
+ url@0.11.4:
dependencies:
punycode: 1.4.1
- qs: 6.13.0
- dev: true
+ qs: 6.14.0
- /util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ util-deprecate@1.0.2: {}
- /util-extend@1.0.3:
- resolution: {integrity: sha512-mLs5zAK+ctllYBj+iAQvlDCwoxU/WDOUaJkcFudeiAX6OajC6BKXJUa9a+tbtkC11dz2Ufb7h0lyvIOVn4LADA==}
- dev: true
+ util-extend@1.0.3: {}
- /util@0.10.4:
- resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==}
+ util@0.10.4:
dependencies:
inherits: 2.0.3
- dev: true
- /util@0.12.5:
- resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
+ util@0.12.5:
dependencies:
inherits: 2.0.4
- is-arguments: 1.1.1
- is-generator-function: 1.0.10
- is-typed-array: 1.1.12
- which-typed-array: 1.1.13
-
- /utila@0.4.0:
- resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
- dev: false
+ is-arguments: 1.2.0
+ is-generator-function: 1.1.0
+ is-typed-array: 1.1.15
+ which-typed-array: 1.1.19
- /utility-types@3.10.0:
- resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==}
- engines: {node: '>= 4'}
- dev: false
+ utila@0.4.0: {}
- /utils-merge@1.0.1:
- resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
- engines: {node: '>= 0.4.0'}
- dev: false
+ utility-types@3.11.0: {}
- /uuid@10.0.0:
- resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==}
- hasBin: true
- dev: false
+ utils-merge@1.0.1: {}
- /uuid@3.4.0:
- resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
- deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
- hasBin: true
- dev: false
+ uuid@10.0.0: {}
- /uuid@8.0.0:
- resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==}
- hasBin: true
- dev: false
+ uuid@3.4.0: {}
- /uuid@8.3.2:
- resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
- hasBin: true
- dev: false
+ uuid@8.0.0: {}
- /uuid@9.0.1:
- resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
- hasBin: true
+ uuid@8.3.2: {}
- /v8-compile-cache@2.3.0:
- resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
- dev: true
+ uuid@9.0.1: {}
- /v8-to-istanbul@9.2.0:
- resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
- engines: {node: '>=10.12.0'}
+ v8-to-istanbul@9.3.0:
dependencies:
- '@jridgewell/trace-mapping': 0.3.20
+ '@jridgewell/trace-mapping': 0.3.25
'@types/istanbul-lib-coverage': 2.0.6
convert-source-map: 2.0.0
- dev: true
- /validate-npm-package-license@3.0.4:
- resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+ validate-npm-package-license@3.0.4:
dependencies:
spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1
- /validate-npm-package-name@3.0.0:
- resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==}
+ validate-npm-package-name@3.0.0:
dependencies:
builtins: 1.0.3
- dev: true
- /validate-npm-package-name@5.0.0:
- resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ validate-npm-package-name@5.0.0:
dependencies:
- builtins: 5.0.1
+ builtins: 5.1.0
- /value-equal@1.0.1:
- resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==}
- dev: false
+ validate-npm-package-name@5.0.1: {}
- /vary@1.1.2:
- resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
- engines: {node: '>= 0.8'}
+ value-equal@1.0.1: {}
- /verror@1.10.0:
- resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
- engines: {'0': node >=0.6.0}
+ vary@1.1.2: {}
+
+ verror@1.10.0:
dependencies:
assert-plus: 1.0.0
core-util-is: 1.0.2
extsprintf: 1.3.0
- dev: false
- /vfile-location@4.1.0:
- resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==}
+ vfile-location@4.1.0:
dependencies:
- '@types/unist': 2.0.10
+ '@types/unist': 2.0.11
vfile: 5.3.7
- dev: false
- /vfile-location@5.0.2:
- resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==}
+ vfile-location@5.0.3:
dependencies:
- '@types/unist': 3.0.2
- vfile: 6.0.1
+ '@types/unist': 3.0.3
+ vfile: 6.0.3
- /vfile-message@3.1.4:
- resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==}
+ vfile-message@3.1.4:
dependencies:
- '@types/unist': 2.0.10
+ '@types/unist': 2.0.11
unist-util-stringify-position: 3.0.3
- dev: false
- /vfile-message@4.0.2:
- resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
+ vfile-message@4.0.2:
dependencies:
- '@types/unist': 3.0.2
+ '@types/unist': 3.0.3
unist-util-stringify-position: 4.0.0
- /vfile@5.3.7:
- resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==}
+ vfile@5.3.7:
dependencies:
- '@types/unist': 2.0.10
+ '@types/unist': 2.0.11
is-buffer: 2.0.5
unist-util-stringify-position: 3.0.3
vfile-message: 3.1.4
- dev: false
- /vfile@6.0.1:
- resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
+ vfile@6.0.3:
dependencies:
- '@types/unist': 3.0.2
- unist-util-stringify-position: 4.0.0
+ '@types/unist': 3.0.3
vfile-message: 4.0.2
- /vhost@3.0.2:
- resolution: {integrity: sha512-S3pJdWrpFWrKMboRU4dLYgMrTgoPALsmYwOvyebK2M6X95b9kQrjZy5rwl3uzzpfpENe/XrNYu/2U+e7/bmT5g==}
- engines: {node: '>= 0.8.0'}
- dev: false
+ vhost@3.0.2: {}
- /vite-plugin-html@2.1.1(vite@5.4.10):
- resolution: {integrity: sha512-TCLLYzibNDEMwbtRYAYYmI7CqMuU0qFFfoTVhEQ8w4P9Tjfe5Xrh/0+XXydifgd/H7xzuWkFUjSYT6Egy7Y27Q==}
- peerDependencies:
- vite: '>=2.0.0'
+ vite-plugin-commonjs@0.10.4:
+ dependencies:
+ acorn: 8.14.1
+ magic-string: 0.30.17
+ vite-plugin-dynamic-import: 1.6.0
+
+ vite-plugin-dynamic-import@1.6.0:
+ dependencies:
+ acorn: 8.14.1
+ es-module-lexer: 1.7.0
+ fast-glob: 3.3.3
+ magic-string: 0.30.17
+
+ vite-plugin-html@2.1.1(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)):
dependencies:
'@rollup/pluginutils': 4.2.1
dotenv: 10.0.0
dotenv-expand: 5.1.0
- ejs: 3.1.9
+ ejs: 3.1.10
fs-extra: 10.1.0
html-minifier-terser: 5.1.1
- vite: 5.4.10(@types/node@18.19.3)(sass@1.56.1)
- dev: true
+ vite: 5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)
- /vite-plugin-pwa@0.17.4(vite@5.4.10)(workbox-build@7.0.0)(workbox-window@7.0.0):
- resolution: {integrity: sha512-j9iiyinFOYyof4Zk3Q+DtmYyDVBDAi6PuMGNGq6uGI0pw7E+LNm9e+nQ2ep9obMP/kjdWwzilqUrlfVRj9OobA==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- vite: ^3.1.0 || ^4.0.0 || ^5.0.0
- workbox-build: ^7.0.0
- workbox-window: ^7.0.0
+ vite-plugin-pwa@0.17.4(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0):
dependencies:
- debug: 4.3.4
- fast-glob: 3.3.2
+ debug: 4.4.0
+ fast-glob: 3.3.3
pretty-bytes: 6.1.1
- vite: 5.4.10(@types/node@18.19.3)(sass@1.56.1)
- workbox-build: 7.0.0
- workbox-window: 7.0.0
+ vite: 5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)
+ workbox-build: 7.3.0(@types/babel__core@7.20.5)
+ workbox-window: 7.3.0
transitivePeerDependencies:
- supports-color
- dev: true
- /vite-plugin-singlefile@2.0.1(rollup@4.24.0)(vite@5.4.10):
- resolution: {integrity: sha512-J74tfN6TE4fz0Hp7E1+dmVTmCpyazv4yuIpR6jd22Kq76d2CQDSQx3wDiHX8LT02f922V+YrLhRq2VIk/UYrig==}
- engines: {node: '>18.0.0'}
- peerDependencies:
- rollup: ^4.12.0
- vite: ^5.1.4
+ vite-plugin-singlefile@2.0.1(rollup@4.24.0)(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)):
dependencies:
micromatch: 4.0.5
rollup: 4.24.0
- vite: 5.4.10(@types/node@18.19.3)(sass@1.56.1)
- dev: true
+ vite: 5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)
- /vite-plugin-svg-icons@2.0.1(vite@5.4.10):
- resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==}
- peerDependencies:
- vite: '>=2.0.0'
+ vite-plugin-svg-icons@2.0.1(vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)):
dependencies:
- '@types/svgo': 2.6.4
- cors: 2.8.5
- debug: 4.3.4
- etag: 1.8.1
- fs-extra: 10.1.0
- pathe: 0.2.0
- svg-baker: 1.7.0
- svgo: 2.8.0
- vite: 5.4.10(@types/node@18.19.3)(sass@1.56.1)
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /vite@5.4.10(@types/node@18.19.3)(sass@1.56.1):
- resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- sass-embedded: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- sass-embedded:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
+ '@types/svgo': 2.6.4
+ cors: 2.8.5
+ debug: 4.4.0
+ etag: 1.8.1
+ fs-extra: 10.1.0
+ pathe: 0.2.0
+ svg-baker: 1.7.0
+ svgo: 2.8.0
+ vite: 5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ vite@5.4.10(@types/node@18.19.98)(sass@1.56.1)(terser@5.39.0):
dependencies:
- '@types/node': 18.19.3
esbuild: 0.21.5
- postcss: 8.4.47
+ postcss: 8.5.3
rollup: 4.24.0
- sass: 1.56.1
optionalDependencies:
+ '@types/node': 18.19.98
fsevents: 2.3.3
- dev: true
+ sass: 1.56.1
+ terser: 5.39.0
- /vm-browserify@1.1.2:
- resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
- dev: true
+ vm-browserify@1.1.2: {}
- /vscode-oniguruma@1.7.0:
- resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==}
- dev: false
+ vscode-oniguruma@1.7.0: {}
- /vscode-textmate@8.0.0:
- resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
- dev: false
+ vscode-textmate@8.0.0: {}
- /vue-class-component@7.2.6(vue@2.7.15):
- resolution: {integrity: sha512-+eaQXVrAm/LldalI272PpDe3+i4mPis0ORiMYxF6Ae4hyuCh15W8Idet7wPUEs4N4YptgFHGys4UrgNQOMyO6w==}
- peerDependencies:
- vue: ^2.0.0
+ vue-class-component@7.2.6(vue@2.7.16):
dependencies:
- vue: 2.7.15
- dev: false
+ vue: 2.7.16
- /vue-clipboard2@0.3.1:
- resolution: {integrity: sha512-H5S/agEDj0kXjUb5GP2c0hCzIXWRBygaWLN3NEFsaI9I3uWin778SFEMt8QRXiPG+7anyjqWiw2lqcxWUSfkYg==}
+ vue-clipboard2@0.3.1:
dependencies:
clipboard: 2.0.11
- dev: false
- /vue-color@2.8.1:
- resolution: {integrity: sha512-BoLCEHisXi2QgwlhZBg9UepvzZZmi4176vbr+31Shen5WWZwSLVgdScEPcB+yrAtuHAz42309C0A4+WiL9lNBw==}
+ vue-color@2.8.2:
dependencies:
clamp: 1.0.1
lodash.throttle: 4.1.1
material-colors: 1.2.6
tinycolor2: 1.6.0
- dev: false
- /vue-eslint-parser@10.1.1(eslint@9.22.0):
- resolution: {integrity: sha512-bh2Z/Au5slro9QJ3neFYLanZtb1jH+W2bKqGHXAoYD4vZgNG3KeotL7JpPv5xzY4UXUXJl7TrIsnzECH63kd3Q==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
+ vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.5.1)):
dependencies:
debug: 4.4.0
- eslint: 9.22.0
+ eslint: 9.26.0(jiti@2.5.1)
eslint-scope: 8.3.0
eslint-visitor-keys: 4.2.0
espree: 10.3.0
esquery: 1.6.0
lodash: 4.17.21
- semver: 7.6.3
+ semver: 7.7.1
transitivePeerDependencies:
- supports-color
- dev: true
- /vue-filepond@4.0.3(filepond@3.9.0)(vue@2.7.15):
- resolution: {integrity: sha512-Y6hYSYWbqRQfz2HOpnRN9dn1mGxqkhP6Cv7pqBPw3EEeKEGwEfxT36h9A0o4va1KGVrfV/OjjfjMqTnQShUx6g==}
- peerDependencies:
- filepond: ^3.0.0
- vue: ^2.5.13
+ vue-filepond@4.0.3(filepond@3.9.0)(vue@2.7.16):
dependencies:
filepond: 3.9.0
- vue: 2.7.15
- dev: false
+ vue: 2.7.16
- /vue-github-button@1.3.0:
- resolution: {integrity: sha512-Cc92t+GBLwBPhwtHSvKXjbx07U3+6xdi+eR+s9c734tHbndipCLenJjLVkgErNhKZ0EvDjRyuu8Hu69gg9/TxQ==}
+ vue-github-button@1.3.0:
dependencies:
- github-buttons: 2.27.0
- dev: false
+ github-buttons: 2.29.1
- /vue-github-buttons@3.1.0(vue@2.7.15):
- resolution: {integrity: sha512-x0b9bdhP5xZOD5kQ9+nnCzvKqVyHb4moqN2l06mjYB/k2WRdW5jiAWlneUgoPFwPvcqM40vrTDXVvBrS0MMlEQ==}
- peerDependencies:
- vue: '2'
+ vue-github-buttons@3.1.0(encoding@0.1.13)(vue@2.7.16):
dependencies:
format-thousands: 1.1.1
- node-fetch: 2.7.0
+ node-fetch: 2.7.0(encoding@0.1.13)
tslib: 1.14.1
- vue: 2.7.15
+ vue: 2.7.16
transitivePeerDependencies:
- encoding
- dev: false
- /vue-material@1.0.0-beta-15(vue@2.7.15):
- resolution: {integrity: sha512-nNC1mF1BQNKsyEjRXPYxweYlIOcVE9rK4LeeyppOU6h4vgQnZuNmlGIRnl6fUe8dj+x7c5x5/qydLhJRabPMng==}
- engines: {node: '>= 7.0'}
- requiresBuild: true
- peerDependencies:
- vue: ^2.5.0
+ vue-material@1.0.0-beta-15(encoding@0.1.13)(vue@2.7.16):
dependencies:
opencollective-postinstall: 2.0.3
- vue: 2.7.15
+ vue: 2.7.16
vue-github-button: 1.3.0
- vue-github-buttons: 3.1.0(vue@2.7.15)
+ vue-github-buttons: 3.1.0(encoding@0.1.13)(vue@2.7.16)
vue-toc: 0.0.1
transitivePeerDependencies:
- encoding
- dev: false
- /vue-property-decorator@9.1.2(vue-class-component@7.2.6)(vue@2.7.15):
- resolution: {integrity: sha512-xYA8MkZynPBGd/w5QFJ2d/NM0z/YeegMqYTphy7NJQXbZcuU6FC6AOdUAcy4SXP+YnkerC6AfH+ldg7PDk9ESQ==}
- peerDependencies:
- vue: '*'
- vue-class-component: '*'
+ vue-property-decorator@9.1.2(vue-class-component@7.2.6(vue@2.7.16))(vue@2.7.16):
dependencies:
- vue: 2.7.15
- vue-class-component: 7.2.6(vue@2.7.15)
- dev: false
+ vue: 2.7.16
+ vue-class-component: 7.2.6(vue@2.7.16)
- /vue-router@3.5.4(vue@2.7.15):
- resolution: {integrity: sha512-x+/DLAJZv2mcQ7glH2oV9ze8uPwcI+H+GgTgTmb5I55bCgY3+vXWIsqbYUzbBSZnwFHEJku4eoaH/x98veyymQ==}
- peerDependencies:
- vue: ^2
+ vue-router@3.5.4(vue@2.7.16):
dependencies:
- vue: 2.7.15
- dev: false
+ vue: 2.7.16
- /vue-template-compiler@2.7.15:
- resolution: {integrity: sha512-yQxjxMptBL7UAog00O8sANud99C6wJF+7kgbcwqkvA38vCGF7HWE66w0ZFnS/kX5gSoJr/PQ4/oS3Ne2pW37Og==}
+ vue-template-compiler@2.7.16:
dependencies:
de-indent: 1.0.2
he: 1.2.0
- /vue-toc@0.0.1:
- resolution: {integrity: sha512-RZfVgLzk/kpEmk05ptvU/+x3TVo4Ai4BBARvV4iCurR9bJsAqnnrqwjEBKnEG+s6NT0yQ6EY0JMGViyOUGysDw==}
+ vue-toc@0.0.1:
dependencies:
- vue: 2.7.15
- dev: false
+ vue: 2.7.16
- /vue@2.7.15:
- resolution: {integrity: sha512-a29fsXd2G0KMRqIFTpRgpSbWaNBK3lpCTOLuGLEDnlHWdjB8fwl6zyYZ8xCrqkJdatwZb4mGHiEfJjnw0Q6AwQ==}
+ vue@2.7.16:
dependencies:
- '@vue/compiler-sfc': 2.7.15
+ '@vue/compiler-sfc': 2.7.16
csstype: 3.1.3
- /vue@3.3.4:
- resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==}
+ vue@3.3.4:
dependencies:
'@vue/compiler-dom': 3.3.4
'@vue/compiler-sfc': 3.3.4
'@vue/runtime-dom': 3.3.4
'@vue/server-renderer': 3.3.4(vue@3.3.4)
'@vue/shared': 3.3.4
- dev: false
-
- /w3c-xmlserializer@4.0.0:
- resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==}
- engines: {node: '>=14'}
- dependencies:
- xml-name-validator: 4.0.0
- dev: true
- /w3c-xmlserializer@5.0.0:
- resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
- engines: {node: '>=18'}
+ w3c-xmlserializer@5.0.0:
dependencies:
xml-name-validator: 5.0.0
- dev: true
- /wait-on@7.2.0:
- resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==}
- engines: {node: '>=12.0.0'}
- hasBin: true
+ wait-on@7.2.0:
dependencies:
- axios: 1.6.2
- joi: 17.11.0
+ axios: 1.7.7
+ joi: 17.13.3
lodash: 4.17.21
minimist: 1.2.8
- rxjs: 7.8.1
+ rxjs: 7.8.2
transitivePeerDependencies:
- debug
- dev: true
- /walk-up-path@3.0.1:
- resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==}
- dev: false
+ walk-up-path@3.0.1: {}
- /walker@1.0.8:
- resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+ walker@1.0.8:
dependencies:
makeerror: 1.0.12
- dev: true
- /watchpack@2.4.0:
- resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
- engines: {node: '>=10.13.0'}
+ watchpack@2.4.2:
dependencies:
glob-to-regexp: 0.4.1
graceful-fs: 4.2.11
- dev: false
- /wbuf@1.7.3:
- resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
+ wbuf@1.7.3:
dependencies:
minimalistic-assert: 1.0.1
- dev: false
- /wcwidth@1.0.1:
- resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ wcwidth@1.0.1:
dependencies:
defaults: 1.0.4
- dev: true
- /web-encoding@1.1.5:
- resolution: {integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==}
+ web-encoding@1.1.5:
dependencies:
util: 0.12.5
optionalDependencies:
'@zxing/text-encoding': 0.9.0
- dev: false
- /web-namespaces@2.0.1:
- resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+ web-namespaces@2.0.1: {}
- /web-push@3.6.7:
- resolution: {integrity: sha512-OpiIUe8cuGjrj3mMBFWY+e4MMIkW3SVT+7vEIjvD9kejGUypv8GPDf84JdPWskK8zMRIJ6xYGm+Kxr8YkPyA0A==}
- engines: {node: '>= 16'}
- hasBin: true
+ web-push@3.6.7:
dependencies:
asn1.js: 5.4.1
http_ece: 1.2.0
- https-proxy-agent: 7.0.4
+ https-proxy-agent: 7.0.6
jws: 4.0.0
minimist: 1.2.8
transitivePeerDependencies:
- supports-color
- dev: false
- /web-streams-polyfill@3.3.3:
- resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
- engines: {node: '>= 8'}
- dev: false
+ web-streams-polyfill@3.3.3: {}
- /web-streams-polyfill@4.0.0-beta.3:
- resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
- engines: {node: '>= 14'}
- dev: false
+ web-streams-polyfill@4.0.0-beta.3: {}
- /webgl-sdf-generator@1.1.1:
- resolution: {integrity: sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==}
- dev: false
+ webgl-sdf-generator@1.1.1: {}
- /webidl-conversions@3.0.1:
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+ webidl-conversions@3.0.1: {}
- /webidl-conversions@4.0.2:
- resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
- dev: true
+ webidl-conversions@4.0.2: {}
- /webidl-conversions@7.0.0:
- resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
- engines: {node: '>=12'}
- dev: true
+ webidl-conversions@7.0.0: {}
- /webpack-bundle-analyzer@4.10.1:
- resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==}
- engines: {node: '>= 10.13.0'}
- hasBin: true
+ webpack-bundle-analyzer@4.10.2:
dependencies:
'@discoveryjs/json-ext': 0.5.7
acorn: 8.11.3
- acorn-walk: 8.3.1
+ acorn-walk: 8.3.4
commander: 7.2.0
debounce: 1.2.1
escape-string-regexp: 4.0.0
gzip-size: 6.0.0
html-escaper: 2.0.2
- is-plain-object: 5.0.0
opener: 1.5.2
picocolors: 1.1.1
- sirv: 2.0.3
+ sirv: 2.0.4
ws: 7.5.10
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- dev: false
- /webpack-dev-middleware@5.3.3(webpack@5.89.0):
- resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==}
- engines: {node: '>= 12.13.0'}
- peerDependencies:
- webpack: ^4.0.0 || ^5.0.0
+ webpack-dev-middleware@5.3.4(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
colorette: 2.0.20
memfs: 3.5.3
mime-types: 2.1.35
range-parser: 1.2.1
- schema-utils: 4.2.0
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ schema-utils: 4.3.2
+ webpack: 5.99.8(esbuild@0.19.12)
- /webpack-dev-server@4.15.1(webpack@5.89.0):
- resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==}
- engines: {node: '>= 12.13.0'}
- hasBin: true
- peerDependencies:
- webpack: ^4.37.0 || ^5.0.0
- webpack-cli: '*'
- peerDependenciesMeta:
- webpack:
- optional: true
- webpack-cli:
- optional: true
+ webpack-dev-server@4.15.2(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
'@types/bonjour': 3.5.13
'@types/connect-history-api-fallback': 1.5.4
'@types/express': 4.17.21
'@types/serve-index': 1.9.4
- '@types/serve-static': 1.15.5
+ '@types/serve-static': 1.15.7
'@types/sockjs': 0.3.36
- '@types/ws': 8.5.12
+ '@types/ws': 8.18.1
ansi-html-community: 0.0.8
- bonjour-service: 1.1.1
- chokidar: 3.5.3
+ bonjour-service: 1.3.0
+ chokidar: 3.6.0
colorette: 2.0.20
compression: 1.7.4
connect-history-api-fallback: 2.0.0
default-gateway: 6.0.3
- express: 4.21.1
+ express: 4.21.2
graceful-fs: 4.2.11
- html-entities: 2.4.0
- http-proxy-middleware: 2.0.6(@types/express@4.17.21)
- ipaddr.js: 2.1.0
- launch-editor: 2.6.1
+ html-entities: 2.6.0
+ http-proxy-middleware: 2.0.9(@types/express@4.17.21)
+ ipaddr.js: 2.2.0
+ launch-editor: 2.10.0
open: 8.4.2
p-retry: 4.6.2
rimraf: 3.0.2
- schema-utils: 4.2.0
+ schema-utils: 4.3.2
selfsigned: 2.4.1
serve-index: 1.9.1
sockjs: 0.3.24
spdy: 4.0.2
- webpack: 5.89.0(esbuild@0.19.8)
- webpack-dev-middleware: 5.3.3(webpack@5.89.0)
+ webpack-dev-middleware: 5.3.4(webpack@5.99.8(esbuild@0.19.12))
ws: 8.18.0
+ optionalDependencies:
+ webpack: 5.99.8(esbuild@0.19.12)
transitivePeerDependencies:
- bufferutil
- debug
- supports-color
- utf-8-validate
- dev: false
- /webpack-merge@5.10.0:
- resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==}
- engines: {node: '>=10.0.0'}
+ webpack-merge@5.10.0:
dependencies:
clone-deep: 4.0.1
flat: 5.0.2
wildcard: 2.0.1
- dev: false
- /webpack-sources@3.2.3:
- resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
- engines: {node: '>=10.13.0'}
- dev: false
+ webpack-sources@3.2.3: {}
- /webpack-virtual-modules@0.5.0:
- resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
- dev: false
+ webpack-virtual-modules@0.5.0: {}
- /webpack@5.89.0(esbuild@0.19.8):
- resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==}
- engines: {node: '>=10.13.0'}
- hasBin: true
- peerDependencies:
- webpack-cli: '*'
- peerDependenciesMeta:
- webpack-cli:
- optional: true
+ webpack@5.99.8(esbuild@0.19.12):
dependencies:
'@types/eslint-scope': 3.7.7
- '@types/estree': 1.0.0
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/wasm-edit': 1.11.6
- '@webassemblyjs/wasm-parser': 1.11.6
- acorn: 8.11.3
- acorn-import-assertions: 1.9.0(acorn@8.11.3)
- browserslist: 4.22.2
- chrome-trace-event: 1.0.3
- enhanced-resolve: 5.15.0
- es-module-lexer: 1.4.1
+ '@types/estree': 1.0.7
+ '@types/json-schema': 7.0.15
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/wasm-edit': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ acorn: 8.14.1
+ browserslist: 4.24.5
+ chrome-trace-event: 1.0.4
+ enhanced-resolve: 5.18.1
+ es-module-lexer: 1.7.0
eslint-scope: 5.1.1
events: 3.3.0
glob-to-regexp: 0.4.1
@@ -27634,220 +34810,162 @@ packages:
loader-runner: 4.3.0
mime-types: 2.1.35
neo-async: 2.6.2
- schema-utils: 3.3.0
+ schema-utils: 4.3.2
tapable: 2.2.1
- terser-webpack-plugin: 5.3.9(esbuild@0.19.8)(webpack@5.89.0)
- watchpack: 2.4.0
+ terser-webpack-plugin: 5.3.14(esbuild@0.19.12)(webpack@5.99.8(esbuild@0.19.12))
+ watchpack: 2.4.2
webpack-sources: 3.2.3
transitivePeerDependencies:
- '@swc/core'
- esbuild
- uglify-js
- dev: false
- /webpackbar@5.0.2(webpack@5.89.0):
- resolution: {integrity: sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==}
- engines: {node: '>=12'}
- peerDependencies:
- webpack: 3 || 4 || 5
+ webpackbar@5.0.2(webpack@5.99.8(esbuild@0.19.12)):
dependencies:
chalk: 4.1.2
consola: 2.15.3
pretty-time: 1.1.0
- std-env: 3.6.0
- webpack: 5.89.0(esbuild@0.19.8)
- dev: false
+ std-env: 3.9.0
+ webpack: 5.99.8(esbuild@0.19.12)
- /webrtc-adapter@8.2.3:
- resolution: {integrity: sha512-gnmRz++suzmvxtp3ehQts6s2JtAGPuDPjA1F3a9ckNpG1kYdYuHWYpazoAnL9FS5/B21tKlhkorbdCXat0+4xQ==}
- engines: {node: '>=6.0.0', npm: '>=3.10.0'}
+ webrtc-adapter@8.2.4:
dependencies:
sdp: 3.2.0
- dev: false
- /websocket-driver@0.7.4:
- resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
- engines: {node: '>=0.8.0'}
+ websocket-driver@0.7.4:
dependencies:
- http-parser-js: 0.5.8
+ http-parser-js: 0.5.10
safe-buffer: 5.2.1
websocket-extensions: 0.1.4
- dev: false
- /websocket-extensions@0.1.4:
- resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
- engines: {node: '>=0.8.0'}
- dev: false
+ websocket-extensions@0.1.4: {}
- /whatwg-encoding@2.0.0:
- resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
- engines: {node: '>=12'}
+ whatwg-encoding@2.0.0:
dependencies:
iconv-lite: 0.6.3
- dev: true
- /whatwg-encoding@3.1.1:
- resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
- engines: {node: '>=18'}
+ whatwg-encoding@3.1.1:
dependencies:
iconv-lite: 0.6.3
- dev: true
- /whatwg-mimetype@3.0.0:
- resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
- engines: {node: '>=12'}
- dev: true
-
- /whatwg-mimetype@4.0.0:
- resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
- engines: {node: '>=18'}
- dev: true
-
- /whatwg-url@11.0.0:
- resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==}
- engines: {node: '>=12'}
- dependencies:
- tr46: 3.0.0
- webidl-conversions: 7.0.0
- dev: true
+ whatwg-mimetype@4.0.0: {}
- /whatwg-url@14.0.0:
- resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==}
- engines: {node: '>=18'}
+ whatwg-url@14.2.0:
dependencies:
- tr46: 5.0.0
+ tr46: 5.1.1
webidl-conversions: 7.0.0
- dev: true
- /whatwg-url@5.0.0:
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+ whatwg-url@5.0.0:
dependencies:
tr46: 0.0.3
webidl-conversions: 3.0.1
- /whatwg-url@7.1.0:
- resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
+ whatwg-url@7.1.0:
dependencies:
lodash.sortby: 4.7.0
tr46: 1.0.1
webidl-conversions: 4.0.2
- dev: true
- /when-exit@2.1.2:
- resolution: {integrity: sha512-u9J+toaf3CCxCAzM/484qNAxQE75rFdVgiFEEV8Xps2gzYhf0tx73s1WXDQhkwV17E3MxRMz40m7Ekd2/121Lg==}
- dev: false
+ when-exit@2.1.4: {}
- /which-boxed-primitive@1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ which-boxed-primitive@1.1.1:
dependencies:
- is-bigint: 1.0.4
- is-boolean-object: 1.1.2
- is-number-object: 1.0.7
- is-string: 1.0.7
- is-symbol: 1.0.4
- dev: true
+ is-bigint: 1.1.0
+ is-boolean-object: 1.2.2
+ is-number-object: 1.1.1
+ is-string: 1.1.1
+ is-symbol: 1.1.1
- /which-module@2.0.1:
- resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
- dev: false
+ which-builtin-type@1.2.1:
+ dependencies:
+ call-bound: 1.0.4
+ function.prototype.name: 1.1.8
+ has-tostringtag: 1.0.2
+ is-async-function: 2.1.1
+ is-date-object: 1.1.0
+ is-finalizationregistry: 1.1.1
+ is-generator-function: 1.1.0
+ is-regex: 1.2.1
+ is-weakref: 1.1.1
+ isarray: 2.0.5
+ which-boxed-primitive: 1.1.1
+ which-collection: 1.0.2
+ which-typed-array: 1.1.19
- /which-typed-array@1.1.13:
- resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==}
- engines: {node: '>= 0.4'}
+ which-collection@1.0.2:
dependencies:
- available-typed-arrays: 1.0.5
- call-bind: 1.0.7
- for-each: 0.3.3
- gopd: 1.0.1
- has-tostringtag: 1.0.0
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-weakmap: 2.0.2
+ is-weakset: 2.0.4
- /which@1.3.1:
- resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
- hasBin: true
+ which-module@2.0.1: {}
+
+ which-typed-array@1.1.19:
+ 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
+
+ which@1.3.1:
dependencies:
isexe: 2.0.0
- /which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
+ which@2.0.2:
dependencies:
isexe: 2.0.0
- /which@3.0.1:
- resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- hasBin: true
+ which@3.0.1:
dependencies:
isexe: 2.0.0
- dev: true
- /which@4.0.0:
- resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
- engines: {node: ^16.13.0 || >=18.0.0}
- hasBin: true
+ which@4.0.0:
dependencies:
isexe: 3.1.1
- dev: false
- /wide-align@1.1.5:
- resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
+ wide-align@1.1.5:
dependencies:
string-width: 4.2.3
- dev: true
- /widest-line@4.0.1:
- resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==}
- engines: {node: '>=12'}
+ widest-line@4.0.1:
dependencies:
string-width: 5.1.2
- dev: false
- /wildcard@2.0.1:
- resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
- dev: false
+ wildcard@2.0.1: {}
- /windows-release@3.3.3:
- resolution: {integrity: sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==}
- engines: {node: '>=6'}
+ windows-release@3.3.3:
dependencies:
execa: 1.0.0
- dev: false
- /word-wrap@1.2.5:
- resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
- engines: {node: '>=0.10.0'}
+ word-wrap@1.2.5: {}
- /wordwrap@1.0.0:
- resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
- dev: true
+ wordwrap@1.0.0: {}
- /workbox-background-sync@7.0.0:
- resolution: {integrity: sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==}
+ workbox-background-sync@7.3.0:
dependencies:
idb: 7.1.1
- workbox-core: 7.0.0
- dev: true
+ workbox-core: 7.3.0
- /workbox-broadcast-update@7.0.0:
- resolution: {integrity: sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==}
+ workbox-broadcast-update@7.3.0:
dependencies:
- workbox-core: 7.0.0
- dev: true
+ workbox-core: 7.3.0
- /workbox-build@7.0.0:
- resolution: {integrity: sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==}
- engines: {node: '>=16.0.0'}
+ workbox-build@7.3.0(@types/babel__core@7.20.5):
dependencies:
- '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0)
- '@babel/core': 7.23.5
- '@babel/preset-env': 7.23.5(@babel/core@7.23.5)
- '@babel/runtime': 7.23.5
- '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.5)(rollup@2.79.2)
- '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.2)
+ '@apideck/better-ajv-errors': 0.3.6(ajv@8.17.1)
+ '@babel/core': 7.27.1
+ '@babel/preset-env': 7.27.2(@babel/core@7.27.1)
+ '@babel/runtime': 7.27.1
+ '@rollup/plugin-babel': 5.3.1(@babel/core@7.27.1)(@types/babel__core@7.20.5)(rollup@2.79.2)
+ '@rollup/plugin-node-resolve': 15.3.1(rollup@2.79.2)
'@rollup/plugin-replace': 2.4.2(rollup@2.79.2)
+ '@rollup/plugin-terser': 0.4.4(rollup@2.79.2)
'@surma/rollup-plugin-off-main-thread': 2.2.3
- ajv: 8.12.0
+ ajv: 8.17.1
common-tags: 1.8.2
fast-json-stable-stringify: 2.1.0
fs-extra: 9.1.0
@@ -27855,190 +34973,136 @@ packages:
lodash: 4.17.21
pretty-bytes: 5.6.0
rollup: 2.79.2
- rollup-plugin-terser: 7.0.2(rollup@2.79.2)
source-map: 0.8.0-beta.0
stringify-object: 3.3.0
strip-comments: 2.0.1
tempy: 0.6.0
upath: 1.2.0
- workbox-background-sync: 7.0.0
- workbox-broadcast-update: 7.0.0
- workbox-cacheable-response: 7.0.0
- workbox-core: 7.0.0
- workbox-expiration: 7.0.0
- workbox-google-analytics: 7.0.0
- workbox-navigation-preload: 7.0.0
- workbox-precaching: 7.0.0
- workbox-range-requests: 7.0.0
- workbox-recipes: 7.0.0
- workbox-routing: 7.0.0
- workbox-strategies: 7.0.0
- workbox-streams: 7.0.0
- workbox-sw: 7.0.0
- workbox-window: 7.0.0
+ workbox-background-sync: 7.3.0
+ workbox-broadcast-update: 7.3.0
+ workbox-cacheable-response: 7.3.0
+ workbox-core: 7.3.0
+ workbox-expiration: 7.3.0
+ workbox-google-analytics: 7.3.0
+ workbox-navigation-preload: 7.3.0
+ workbox-precaching: 7.3.0
+ workbox-range-requests: 7.3.0
+ workbox-recipes: 7.3.0
+ workbox-routing: 7.3.0
+ workbox-strategies: 7.3.0
+ workbox-streams: 7.3.0
+ workbox-sw: 7.3.0
+ workbox-window: 7.3.0
transitivePeerDependencies:
- '@types/babel__core'
- supports-color
- dev: true
- /workbox-cacheable-response@7.0.0:
- resolution: {integrity: sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==}
+ workbox-cacheable-response@7.3.0:
dependencies:
- workbox-core: 7.0.0
- dev: true
+ workbox-core: 7.3.0
- /workbox-core@7.0.0:
- resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==}
- dev: true
+ workbox-core@7.3.0: {}
- /workbox-expiration@7.0.0:
- resolution: {integrity: sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==}
+ workbox-expiration@7.3.0:
dependencies:
idb: 7.1.1
- workbox-core: 7.0.0
- dev: true
+ workbox-core: 7.3.0
- /workbox-google-analytics@7.0.0:
- resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==}
+ workbox-google-analytics@7.3.0:
dependencies:
- workbox-background-sync: 7.0.0
- workbox-core: 7.0.0
- workbox-routing: 7.0.0
- workbox-strategies: 7.0.0
- dev: true
+ workbox-background-sync: 7.3.0
+ workbox-core: 7.3.0
+ workbox-routing: 7.3.0
+ workbox-strategies: 7.3.0
- /workbox-navigation-preload@7.0.0:
- resolution: {integrity: sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==}
+ workbox-navigation-preload@7.3.0:
dependencies:
- workbox-core: 7.0.0
- dev: true
+ workbox-core: 7.3.0
- /workbox-precaching@7.0.0:
- resolution: {integrity: sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==}
+ workbox-precaching@7.3.0:
dependencies:
- workbox-core: 7.0.0
- workbox-routing: 7.0.0
- workbox-strategies: 7.0.0
- dev: true
+ workbox-core: 7.3.0
+ workbox-routing: 7.3.0
+ workbox-strategies: 7.3.0
- /workbox-range-requests@7.0.0:
- resolution: {integrity: sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==}
+ workbox-range-requests@7.3.0:
dependencies:
- workbox-core: 7.0.0
- dev: true
+ workbox-core: 7.3.0
- /workbox-recipes@7.0.0:
- resolution: {integrity: sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==}
+ workbox-recipes@7.3.0:
dependencies:
- workbox-cacheable-response: 7.0.0
- workbox-core: 7.0.0
- workbox-expiration: 7.0.0
- workbox-precaching: 7.0.0
- workbox-routing: 7.0.0
- workbox-strategies: 7.0.0
- dev: true
+ workbox-cacheable-response: 7.3.0
+ workbox-core: 7.3.0
+ workbox-expiration: 7.3.0
+ workbox-precaching: 7.3.0
+ workbox-routing: 7.3.0
+ workbox-strategies: 7.3.0
- /workbox-routing@7.0.0:
- resolution: {integrity: sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==}
+ workbox-routing@7.3.0:
dependencies:
- workbox-core: 7.0.0
- dev: true
+ workbox-core: 7.3.0
- /workbox-strategies@7.0.0:
- resolution: {integrity: sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==}
+ workbox-strategies@7.3.0:
dependencies:
- workbox-core: 7.0.0
- dev: true
+ workbox-core: 7.3.0
- /workbox-streams@7.0.0:
- resolution: {integrity: sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==}
+ workbox-streams@7.3.0:
dependencies:
- workbox-core: 7.0.0
- workbox-routing: 7.0.0
- dev: true
+ workbox-core: 7.3.0
+ workbox-routing: 7.3.0
- /workbox-sw@7.0.0:
- resolution: {integrity: sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==}
- dev: true
+ workbox-sw@7.3.0: {}
- /workbox-window@7.0.0:
- resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==}
+ workbox-window@7.3.0:
dependencies:
'@types/trusted-types': 2.0.7
- workbox-core: 7.0.0
- dev: true
+ workbox-core: 7.3.0
- /wrap-ansi@6.2.0:
- resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
- engines: {node: '>=8'}
+ wrap-ansi@6.2.0:
dependencies:
ansi-styles: 4.3.0
string-width: 4.2.3
strip-ansi: 6.0.1
- /wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
+ wrap-ansi@7.0.0:
dependencies:
ansi-styles: 4.3.0
string-width: 4.2.3
strip-ansi: 6.0.1
- /wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
+ wrap-ansi@8.1.0:
dependencies:
ansi-styles: 6.2.1
string-width: 5.1.2
strip-ansi: 7.1.0
- /wrap-ansi@9.0.0:
- resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
- engines: {node: '>=18'}
+ wrap-ansi@9.0.0:
dependencies:
ansi-styles: 6.2.1
string-width: 7.2.0
strip-ansi: 7.1.0
- dev: true
- /wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ wrappy@1.0.2: {}
- /write-file-atomic@2.4.3:
- resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==}
+ write-file-atomic@2.4.3:
dependencies:
graceful-fs: 4.2.11
imurmurhash: 0.1.4
signal-exit: 3.0.7
- dev: true
- /write-file-atomic@3.0.3:
- resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
+ write-file-atomic@3.0.3:
dependencies:
imurmurhash: 0.1.4
is-typedarray: 1.0.0
signal-exit: 3.0.7
typedarray-to-buffer: 3.1.5
- dev: false
-
- /write-file-atomic@4.0.2:
- resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
- dependencies:
- imurmurhash: 0.1.4
- signal-exit: 3.0.7
- dev: true
- /write-file-atomic@5.0.1:
- resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ write-file-atomic@5.0.1:
dependencies:
imurmurhash: 0.1.4
signal-exit: 4.1.0
- /write-json-file@3.2.0:
- resolution: {integrity: sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==}
- engines: {node: '>=6'}
+ write-json-file@3.2.0:
dependencies:
detect-indent: 5.0.0
graceful-fs: 4.2.11
@@ -28046,143 +35110,69 @@ packages:
pify: 4.0.1
sort-keys: 2.0.0
write-file-atomic: 2.4.3
- dev: true
- /write-pkg@4.0.0:
- resolution: {integrity: sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==}
- engines: {node: '>=8'}
+ write-pkg@4.0.0:
dependencies:
sort-keys: 2.0.0
type-fest: 0.4.1
write-json-file: 3.2.0
- dev: true
- /ws@7.5.10:
- resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
- engines: {node: '>=8.3.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: ^5.0.2
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
- dev: false
+ ws@7.5.10: {}
- /ws@8.18.0:
- resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
- 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
+ ws@8.18.0: {}
- /xdg-basedir@5.1.0:
- resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
- engines: {node: '>=12'}
- dev: false
+ xdg-basedir@5.1.0: {}
- /xml-js@1.6.11:
- resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==}
- hasBin: true
+ xml-js@1.6.11:
dependencies:
- sax: 1.3.0
- dev: false
+ sax: 1.4.1
- /xml-name-validator@4.0.0:
- resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
- engines: {node: '>=12'}
- dev: true
+ xml-name-validator@4.0.0: {}
- /xml-name-validator@5.0.0:
- resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
- engines: {node: '>=18'}
- dev: true
+ xml-name-validator@5.0.0: {}
- /xml2js@0.5.0:
- resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==}
- engines: {node: '>=4.0.0'}
+ xml2js@0.5.0:
dependencies:
- sax: 1.3.0
+ sax: 1.4.1
xmlbuilder: 11.0.1
- dev: false
- /xmlbuilder@11.0.1:
- resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
- engines: {node: '>=4.0'}
- dev: false
+ xml2js@0.6.2:
+ dependencies:
+ sax: 1.2.1
+ xmlbuilder: 11.0.1
- /xmlbuilder@15.0.0:
- resolution: {integrity: sha512-KLu/G0DoWhkncQ9eHSI6s0/w+T4TM7rQaLhtCaL6tORv8jFlJPlnGumsgTcGfYeS1qZ/IHqrvDG7zJZ4d7e+nw==}
- engines: {node: '>=8.0'}
- dev: true
+ xmlbuilder@11.0.1: {}
- /xmlchars@2.2.0:
- resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
- dev: true
+ xmlbuilder@15.0.0: {}
- /xtend@4.0.2:
- resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
- engines: {node: '>=0.4'}
+ xmlchars@2.2.0: {}
- /y18n@4.0.3:
- resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
- dev: false
+ xtend@4.0.2: {}
- /y18n@5.0.8:
- resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
- engines: {node: '>=10'}
+ y18n@4.0.3: {}
- /yallist@2.1.2:
- resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
- dev: true
+ y18n@5.0.8: {}
- /yallist@3.1.1:
- resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ yallist@2.1.2: {}
- /yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ yallist@3.1.1: {}
- /yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
- dev: false
+ yallist@4.0.0: {}
- /yaml@2.3.4:
- resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
- engines: {node: '>= 14'}
- dev: false
+ yaml@1.10.2: {}
- /yaml@2.7.0:
- resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
- engines: {node: '>= 14'}
- hasBin: true
- dev: true
+ yaml@2.7.1: {}
- /yargs-parser@18.1.3:
- resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
- engines: {node: '>=6'}
+ yargs-parser@18.1.3:
dependencies:
camelcase: 5.3.1
decamelize: 1.2.0
- dev: false
- /yargs-parser@20.2.9:
- resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
- engines: {node: '>=10'}
+ yargs-parser@20.2.9: {}
- /yargs-parser@21.1.1:
- resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
- engines: {node: '>=12'}
+ yargs-parser@21.1.1: {}
- /yargs@15.4.1:
- resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
- engines: {node: '>=8'}
+ yargs@15.4.1:
dependencies:
cliui: 6.0.0
decamelize: 1.2.0
@@ -28195,51 +35185,41 @@ packages:
which-module: 2.0.1
y18n: 4.0.3
yargs-parser: 18.1.3
- dev: false
- /yargs@16.2.0:
- resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
- engines: {node: '>=10'}
+ yargs@16.2.0:
dependencies:
cliui: 7.0.4
- escalade: 3.1.1
+ escalade: 3.2.0
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
y18n: 5.0.8
yargs-parser: 20.2.9
- /yargs@17.7.2:
- resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
- engines: {node: '>=12'}
+ yargs@17.7.2:
dependencies:
cliui: 8.0.1
- escalade: 3.1.1
+ escalade: 3.2.0
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
y18n: 5.0.8
yargs-parser: 21.1.1
- /yjs@13.6.8:
- resolution: {integrity: sha512-ZPq0hpJQb6f59B++Ngg4cKexDJTvfOgeiv0sBc4sUm8CaBWH7OQC4kcCgrqbjJ/B2+6vO49exvTmYfdlPtcjbg==}
- engines: {node: '>=16.0.0', npm: '>=8.0.0'}
+ yjs@13.6.8:
dependencies:
- lib0: 0.2.88
- dev: false
+ lib0: 0.2.107
- /yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
+ yocto-queue@0.1.0: {}
- /yocto-queue@1.0.0:
- resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
- engines: {node: '>=12.20'}
- dev: false
+ yocto-queue@1.2.1: {}
- /zod@3.22.4:
- resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
- dev: false
+ zod-to-json-schema@3.24.5(zod@3.24.4):
+ dependencies:
+ zod: 3.24.4
- /zwitch@2.0.4:
- resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+ zod@3.22.4: {}
+
+ zod@3.24.4: {}
+
+ zwitch@2.0.4: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index fa9264a388..7936f2970b 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -3,3 +3,5 @@ packages:
- 'src/*'
- '*'
- 'xpexchange/*'
+linkWorkspacePackages: true
+preferWorkspacePackages: true
diff --git a/rules/no-non-type-imports.mjs b/rules/no-non-type-imports.mjs
new file mode 100644
index 0000000000..040428ba84
--- /dev/null
+++ b/rules/no-non-type-imports.mjs
@@ -0,0 +1,115 @@
+import { ESLintUtils } from '@typescript-eslint/utils';
+
+const createRule = ESLintUtils.RuleCreator(
+ (name) => `https://example.com/rule/${name}`
+);
+
+// Type: RuleModule<"uppercase", ...>
+export const rule = createRule({
+ create(context) {
+ const [{ patterns }] = context.options;
+
+ return {
+ ImportDeclaration(node) {
+ if (node.importKind !== 'type') {
+ for (let pattern in patterns) {
+ if (node.source.value.startsWith(pattern)) {
+ const { deny, allow } = patterns[pattern];
+ for (let specifier of node.specifiers) {
+ if (
+ !Array.isArray(deny) ||
+ deny.length <= 0 ||
+ deny.some((d) =>
+ specifier.local.name.startsWith(d)
+ )
+ ) {
+ if (
+ Array.isArray(allow) &&
+ allow.length > 0 &&
+ allow.some((a) =>
+ specifier.local.name.startsWith(a)
+ )
+ ) {
+ continue;
+ }
+
+ if (specifier.importKind !== 'type') {
+ context.report({
+ messageId: 'denied',
+ node: specifier.local,
+ data: {
+ name: specifier.local.name,
+ },
+ });
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ };
+ },
+ name: 'no-non-type-imports',
+ meta: {
+ docs: {
+ description: 'Enforce that all imports are type imports.',
+ },
+ messages: {
+ denied: 'This import ({{name}}) is not allowed.',
+ },
+ type: 'problem',
+ schema: [
+ {
+ type: 'object',
+ properties: {
+ patterns: {
+ type: 'object',
+ allOf: [
+ {
+ type: 'object',
+ properties: {
+ deny: {
+ type: 'array',
+ items: {
+ type: 'string',
+ },
+ required: false,
+ },
+ allow: {
+ type: 'array',
+ items: {
+ type: 'string',
+ },
+ required: false,
+ },
+ },
+ // additionalProperties: false,
+ },
+ ],
+ },
+ },
+ // properties: {
+
+ // deny: {
+ // type: 'array',
+ // items: {
+ // type: 'string',
+ // },
+ // },
+ // }
+ },
+ ],
+ },
+ defaultOptions: [
+ {
+ patterns: {},
+ },
+ ],
+});
+
+export default {
+ rules: {
+ 'no-non-type-imports': rule,
+ },
+};
diff --git a/script/build-helpers.mjs b/script/build-helpers.mjs
index 1a3ca5c22c..8176299f6d 100644
--- a/script/build-helpers.mjs
+++ b/script/build-helpers.mjs
@@ -1,10 +1,27 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
import esbuild from 'esbuild';
import path, { dirname } from 'path';
import fs, { existsSync } from 'fs';
import { writeFile, readFile } from 'fs/promises';
import chalk from 'chalk';
import chokidar from 'chokidar';
-import _ from 'lodash';
+import { debounce } from 'es-toolkit';
import root from './root-path.cjs';
import JSZip from 'jszip';
import hash from 'hash.js';
@@ -41,6 +58,7 @@ export {
loaders,
replaceEsbuildPlugin,
replaceThreePlugin,
+ replaceLodashPlugin,
replaceModulePlugin,
emptyModulePlugin,
paths,
@@ -74,7 +92,7 @@ async function build(builds) {
);
writeMetafiles(builders);
- logBuilders(builders);
+ logBuilders(builders, true);
}
async function setupWatch(builds) {
@@ -112,7 +130,7 @@ async function setupWatch(builds) {
);
logBuilders(builders);
- const build = _.debounce(async () => {
+ const build = debounce(async () => {
console.log('[dev-server] Rebuilding...');
builders = await Promise.all(
builders.map(([success, name, result, context]) => {
@@ -178,14 +196,19 @@ function writeMetafiles(builders) {
}
}
-function logBuilders(builders) {
+function logBuilders(builders, throwOnFail = false) {
+ let fail = false;
for (let [success, name, result] of builders) {
if (success) {
logBuildFinish(name, result);
} else {
+ fail = true;
logBuildFailure(name, result);
}
}
+ if (throwOnFail && fail) {
+ throw new Error(`[dev-server] One or more builds failed.`);
+ }
}
function logBuildFinish(name, result) {
@@ -270,13 +293,26 @@ function replaceThreePlugin() {
return replaceModulePlugin(/^three$/, '@casual-simulation/three');
}
+function replaceLodashPlugin() {
+ return replaceModulePlugin(/^lodash$/, 'es-toolkit/compat');
+}
+
function replaceModulePlugin(original, replacement) {
return {
name: 'replace-module',
setup(build) {
- build.onResolve({ filter: original }, (args) => ({
- path: replacement,
- }));
+ build.onResolve({ filter: original }, (args) => {
+ const url = new URL(import.meta.resolve(replacement));
+
+ let path = url.pathname;
+ if (path.startsWith('/') && process.platform === 'win32') {
+ path = path.slice(1);
+ }
+
+ return {
+ path,
+ };
+ });
},
};
}
diff --git a/script/header.js b/script/header.js
index 6fc8cf0bcb..45556fc51a 100644
--- a/script/header.js
+++ b/script/header.js
@@ -14,4 +14,4 @@
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
- */
\ No newline at end of file
+ */
diff --git a/script/make-tar-docker.mjs b/script/make-tar-docker.mjs
index b6da55ee08..6f7181bb64 100644
--- a/script/make-tar-docker.mjs
+++ b/script/make-tar-docker.mjs
@@ -6,7 +6,6 @@ const outputFolder = './temp';
const output = path.join(outputFolder, 'output.tar.gz');
const inputs = [
'./src/aux-server/package.json',
- './src/aux-server/package-lock.json',
'./src/aux-server/package.json',
'./src/aux-server/server/dist',
'./src/aux-server/aux-web/dist',
diff --git a/script/prerender-web-config.mjs b/script/prerender-web-config.mjs
index 79ac30b8d4..6a51db65fc 100644
--- a/script/prerender-web-config.mjs
+++ b/script/prerender-web-config.mjs
@@ -52,6 +52,10 @@ const webConfig = {
defaultBiosOption: process.env.DEFAULT_BIOS_OPTION || null,
automaticBiosOption: process.env.AUTOMATIC_BIOS_OPTION || null,
enableDom: process.env.ENABLE_DOM === 'true',
+
+ logoUrl: process.env.LOGO_URL || null,
+ logoTitle: process.env.LOGO_TITLE || null,
+ logoBackgroundColor: process.env.LOGO_BACKGROUND_COLOR || null,
};
// Creates /tmp/a/apple, regardless of whether `/tmp` and /tmp/a exist.
diff --git a/src/aux-benchmarks/package.json b/src/aux-benchmarks/package.json
index 84ced5795c..05af322c56 100644
--- a/src/aux-benchmarks/package.json
+++ b/src/aux-benchmarks/package.json
@@ -1,6 +1,6 @@
{
"name": "@casual-simulation/aux-benchmarks",
- "version": "3.4.0",
+ "version": "3.8.0",
"description": "The package for AUX-related benchmarks.",
"main": "dist/index.js",
"private": true,
@@ -29,9 +29,9 @@
"/LICENSE.txt"
],
"dependencies": {
- "@casual-simulation/aux-common": "^3.4.0",
+ "@casual-simulation/aux-common": "^3.8.0",
"benchmark": "2.1.4",
- "lodash": "4.17.21",
+ "es-toolkit": "1.39.10",
"platform": "1.3.5",
"vue": "^2.7.15",
"vue-material": "1.0.0-beta-15",
diff --git a/src/aux-benchmarks/script/bench-configs.mjs b/src/aux-benchmarks/script/bench-configs.mjs
index 5182cd9f35..10af9dc337 100644
--- a/src/aux-benchmarks/script/bench-configs.mjs
+++ b/src/aux-benchmarks/script/bench-configs.mjs
@@ -2,13 +2,8 @@ import path from 'path';
import {
paths,
cleanDirectory,
- watch,
- setup,
getExternals,
- replaceEsbuildPlugin,
- replaceThreePlugin,
} from '../../../script/build-helpers.mjs';
-import fs from 'fs';
import { GIT_HASH, GIT_TAG } from '../../../script/git-stats.mjs';
const src = path.resolve(paths.root, 'src');
diff --git a/src/aux-benchmarks/script/dev-bench.mjs b/src/aux-benchmarks/script/dev-bench.mjs
index 16d95b8852..082588bf33 100644
--- a/src/aux-benchmarks/script/dev-bench.mjs
+++ b/src/aux-benchmarks/script/dev-bench.mjs
@@ -1,4 +1,4 @@
-import { cleanDirectory, setupWatch } from '../../../script/build-helpers.mjs';
+import { setupWatch } from '../../../script/build-helpers.mjs';
import { createConfigs, cleanDirectories } from './bench-configs';
cleanDirectories();
diff --git a/src/aux-records/AAGUID.ts b/src/aux-common/AAGUID.ts
similarity index 100%
rename from src/aux-records/AAGUID.ts
rename to src/aux-common/AAGUID.ts
diff --git a/src/aux-common/DebugHelpers.ts b/src/aux-common/DebugHelpers.ts
index f347d97b40..b1eabf7efc 100644
--- a/src/aux-common/DebugHelpers.ts
+++ b/src/aux-common/DebugHelpers.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { merge } from 'lodash';
+import { merge } from 'es-toolkit/compat';
/**
* Adds the given function with the given name to the global aux namespace.
diff --git a/src/aux-common/bots/Bot.ts b/src/aux-common/bots/Bot.ts
index 54bf5e58de..df86a6211b 100644
--- a/src/aux-common/bots/Bot.ts
+++ b/src/aux-common/bots/Bot.ts
@@ -15,7 +15,6 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { type } from 'os';
import type { TagEditOp } from './AuxStateHelpers';
import type { BotModule, BotModuleResult } from './BotModule';
import type { Point2D } from './BotEvents';
@@ -66,6 +65,21 @@ export const GET_TAG_MASKS_SYMBOL = Symbol('get_tag_masks');
*/
export const REPLACE_BOT_SYMBOL = Symbol('replace_bot');
+/**
+ * Defines a symbol that is used to add a bot listener.
+ */
+export const ADD_BOT_LISTENER_SYMBOL = Symbol('add_bot_listener');
+
+/**
+ * Defines a symbol that is used to remove a bot listener.
+ */
+export const REMOVE_BOT_LISTENER_SYMBOL = Symbol('remove_bot_listener');
+
+/**
+ * Defines a symbol that is used to get dynamic listeners for a bot.
+ */
+export const GET_DYNAMIC_LISTENERS_SYMBOL = Symbol('get_dynamic_listeners');
+
/**
* Defines an interface for a bot in a script/formula.
*
@@ -202,6 +216,36 @@ export interface RuntimeBot {
*/
[REPLACE_BOT_SYMBOL]: (bot: RuntimeBot) => void;
+ /**
+ * Registers the given function as a listener for events that would trigger the given tag.
+ * @param tagName The name of the tag that the listener should be registered for.
+ * @param listener The listener function that should be called when the tag is triggered.
+ */
+ [ADD_BOT_LISTENER_SYMBOL]: (
+ tagName: string,
+ listener: DynamicListener
+ ) => void;
+
+ /**
+ * Unregisters the given function as a listener for events that would trigger the given tag.
+ *
+ * @param tagName The name of the tag that the listener should be unregistered for.
+ * @param listener The listener function that should be removed.
+ */
+ [REMOVE_BOT_LISTENER_SYMBOL]: (
+ tagName: string,
+ listener: DynamicListener
+ ) => void;
+
+ /**
+ * Gets the list of dynamic listeners that are registered for the given tag.
+ * @param tagName The name of the tag that the listeners are registered for.
+ * @returns The list of dynamic listeners for the tag, or null if none are registered.
+ */
+ [GET_DYNAMIC_LISTENERS_SYMBOL]: (
+ tagName: string
+ ) => DynamicListener[] | null;
+
/**
* Gets the listener or bot property with the given name.
*
@@ -315,8 +359,30 @@ export interface RuntimeBotVars {
export interface CompiledBotListeners {
/**
* Gets the listener in the given tag.
+ *
+ * Can be one of the following:
+ * - A function that takes an optional argument and returns a value.
+ * - A function that takes the bot and tag name as arguments and returns a value.
*/
- [tag: string]: (arg?: any) => any;
+ [tag: string]: DynamicListener | null;
+}
+
+/**
+ * An interface that maps tag names to dynamic listeners which have been registered.
+ *
+ * ```typescript
+ * interface DynamicListeners {
+ * [tag: string]: Listener[];
+ * }
+ * ```
+ *
+ * @dochash types/core
+ * @docgroup 01-core
+ * @docname DynamicListeners
+ * @docid DynamicBotListeners
+ */
+export interface DynamicBotListeners {
+ [tag: string]: DynamicListener[];
}
/**
@@ -345,9 +411,20 @@ export interface CompiledBotExports {
}
/**
- * The function signature of a bot listener.
+ * The function signature of a dynamic bot listener.
+ *
+ * That is, a listener that is registered at runtime by a user script instead of parsed from a tag.
+ *
+ * @dochash types/core
+ * @docgroup 01-core
+ * @docname Listener
+ * @docid DynamicListener
*/
-export type CompiledBotListener = (arg?: any) => any;
+export type DynamicListener = (
+ that: any,
+ bot: RuntimeBot,
+ tagName: string
+) => any;
/**
* Defines an interface for a bot that is precalculated.
@@ -929,6 +1006,7 @@ export type BotShape =
| 'skybox'
| 'sphere'
| 'sprite'
+ | 'map'
| 'mesh'
| 'iframe'
| 'frustum'
@@ -1341,7 +1419,19 @@ export const DEFAULT_MAP_PORTAL_GRID_SCALE = 10;
* The default basemap that should be used for the map portal.
* See https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap
*/
-export const DEFAULT_MAP_PORTAL_BASEMAP = 'dark-gray';
+export const DEFAULT_MAP_PORTAL_BASEMAP = 'dark-gray-vector';
+
+/**
+ * The possible kinds of map portals.
+ * - "globe" means that the map portal is rendered as a globe.
+ * - "plane" means that the map portal is rendered as a flat plane.
+ */
+export type MapPortalKind = 'globe' | 'plane';
+
+/**
+ * The default kind of map portal.
+ */
+export const DEFAULT_MAP_PORTAL_KIND: MapPortalKind = 'globe';
/**
* The default longitude that the map portal should show.
@@ -2030,6 +2120,11 @@ export const ON_DOCUMENT_AVAILABLE_ACTION_NAME: string = 'onDocumentAvailable';
*/
export const ON_KEY_CLICK_ACTION_NAME = 'onKeyClick';
+/**
+ * The name of the event that is triggered when a package is installed.
+ */
+export const ON_PACKAGE_INSTALLED_ACTION_NAME: string = 'onPackageInstalled';
+
/**
* The tag used to set the space that the tag portal operates in.
*/
@@ -2240,6 +2335,11 @@ export const EDITOR_CODE_BUTTON_DIMENSION = 'true';
*/
export const EDITOR_CODE_TOOL_PORTAL = 'codeToolsPortal';
+/**
+ * The name of the grid portal.
+ */
+export const GRID_PORTAL: string = 'gridPortal';
+
/**
* The name of the miniGridPortal.
*/
@@ -2440,7 +2540,7 @@ export const KNOWN_TAG_PREFIXES: string[] = [
* The list of all portal tags.
*/
export const KNOWN_PORTALS: string[] = [
- 'gridPortal',
+ GRID_PORTAL,
SHEET_PORTAL,
IDE_PORTAL,
IMU_PORTAL,
@@ -2456,11 +2556,27 @@ export const KNOWN_PORTALS: string[] = [
BOT_PORTAL,
];
+/**
+ * The list of portal tags that trigger closing the loading screen.
+ */
+export const LOAD_PORTALS: string[] = [
+ GRID_PORTAL,
+ SHEET_PORTAL,
+ IDE_PORTAL,
+ SYSTEM_PORTAL,
+ MINI_PORTAL,
+ MAP_PORTAL,
+ MINI_MAP_PORTAL,
+ MEET_PORTAL,
+ TAG_PORTAL,
+ BOT_PORTAL,
+];
+
/**
* The list of portal tags that should always be represented in the query string.
*/
export const QUERY_PORTALS: string[] = [
- 'gridPortal',
+ GRID_PORTAL,
SHEET_PORTAL,
IDE_PORTAL,
MEET_PORTAL,
@@ -2481,7 +2597,7 @@ export const QUERY_PORTALS: string[] = [
* when it is updated.
*/
export const QUERY_FULL_HISTORY_TAGS: Set = new Set([
- 'gridPortal',
+ GRID_PORTAL,
SHEET_PORTAL,
IDE_PORTAL,
MEET_PORTAL,
@@ -2506,7 +2622,7 @@ export const QUERY_PARTIAL_HISTORY_TAGS: Set = new Set([
*/
export const KNOWN_TAGS: string[] = [
'playerActive',
- 'gridPortal',
+ GRID_PORTAL,
SHEET_PORTAL,
IDE_PORTAL,
SYSTEM_PORTAL,
@@ -2681,6 +2797,8 @@ export const KNOWN_TAGS: string[] = [
'meetPortalJWT',
'meetPortalLanguage',
'mapPortalBasemap',
+ 'mapPortalKind',
+ 'mapPortalGridKind',
'tagPortalAnchorPoint',
'tagPortalStyle',
@@ -2752,6 +2870,13 @@ export const KNOWN_TAGS: string[] = [
'formLightGroundColor',
'formBuildStep',
'formLDrawPartsAddress',
+ 'formMapLOD',
+ 'formMapProvider',
+ 'formMapProviderAPIKey',
+ 'formMapHeightProvider',
+ 'formMapHeightProviderAPIKey',
+ 'formMapHeightOffset',
+ 'formInputMultiline',
'meshPositioningMode',
'orientationMode',
'anchorPoint',
@@ -2850,6 +2975,7 @@ export const KNOWN_TAGS: string[] = [
'onKeyRepeat',
'onKeyUp',
ON_KEY_CLICK_ACTION_NAME,
+ ON_PACKAGE_INSTALLED_ACTION_NAME,
ON_GRID_CLICK_ACTION_NAME,
ON_GRID_UP_ACTION_NAME,
ON_GRID_DOWN_ACTION_NAME,
diff --git a/src/aux-common/bots/BotActions.ts b/src/aux-common/bots/BotActions.ts
index e8a597f040..0cb40a125d 100644
--- a/src/aux-common/bots/BotActions.ts
+++ b/src/aux-common/bots/BotActions.ts
@@ -26,7 +26,7 @@ import type {
UpdateBotAction,
} from './BotEvents';
import { botRemoved, botAdded, botUpdated } from './BotEvents';
-import { uniq } from 'lodash';
+import { uniq } from 'es-toolkit/compat';
/**
* Calculates the list of events needed to destroy the given bot and all of its decendents.
diff --git a/src/aux-common/bots/BotCalculationContext.ts b/src/aux-common/bots/BotCalculationContext.ts
index e6fe063ac5..589ad0e631 100644
--- a/src/aux-common/bots/BotCalculationContext.ts
+++ b/src/aux-common/bots/BotCalculationContext.ts
@@ -15,7 +15,6 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { Bot, PrecalculatedBot } from './Bot';
import type { BotLookupTableHelper } from './BotLookupTableHelper';
import type { BotObjectsContext } from './BotObjectsContext';
diff --git a/src/aux-common/bots/BotCalculations.spec.ts b/src/aux-common/bots/BotCalculations.spec.ts
index 90ca1277a3..da2216b840 100644
--- a/src/aux-common/bots/BotCalculations.spec.ts
+++ b/src/aux-common/bots/BotCalculations.spec.ts
@@ -78,6 +78,7 @@ import {
calculateDimensions,
isModule,
parseModule,
+ calculateFormattedBotValue,
} from './BotCalculations';
import type { Bot, BotsState } from './Bot';
import { DNA_TAG_PREFIX, KNOWN_TAG_PREFIXES } from './Bot';
@@ -86,7 +87,7 @@ import { botCalculationContextTests } from './test/BotCalculationContextTests';
import { BotLookupTableHelper } from './BotLookupTableHelper';
import type { BotCalculationContext } from './BotCalculationContext';
import { createPrecalculatedContext } from './BotCalculationContextFactory';
-import { DateTime, FixedOffsetZone, Zone } from 'luxon';
+import { DateTime, FixedOffsetZone } from 'luxon';
import { Vector2, Vector3, Rotation, Quaternion } from '../math';
const uuidMock: jest.Mock = uuid;
@@ -625,6 +626,7 @@ describe('BotCalculations', () => {
[true, 'Infinity'] as const,
[true, 'InFIniTy'] as const,
[true, '-InFIniTy'] as const,
+ [false, 'e3455'] as const,
[false, '$123'] as const,
[false, 'abc'] as const,
[false, '.'] as const,
@@ -943,6 +945,56 @@ describe('BotCalculations', () => {
});
});
+ describe('calculateFormattedBotValue()', () => {
+ const cases = [
+ ['abc', 'abc'] as const,
+ [123, '123'] as const,
+ [false, 'false'] as const,
+ [true, 'true'] as const,
+ [
+ 'š1,0,0,0',
+ 'Rotation(axis: Vector3(1, 0, 0), angle: Math.PI * 1)',
+ ] as const,
+ [null as any, null as any] as const,
+ [undefined as any, undefined as any] as const,
+ [createBot('test123456'), 'test1'] as const,
+ [[123, 'abc'], '[123,abc]'] as const,
+ ];
+
+ it.each(cases)(
+ 'should return the value %s as %s',
+ (value: any, expected: string) => {
+ const bot = createPrecalculatedBot('test', {
+ tag: value,
+ });
+ const calc = createPrecalculatedContext([bot]);
+ const result = calculateFormattedBotValue(calc, bot, 'tag');
+
+ expect(result).toBe(expected);
+ }
+ );
+
+ it('should return the string value if it parses to a string', () => {
+ const bot = createBot('test', {
+ tag: '123e4567890',
+ });
+ const calc = createPrecalculatedContext([bot]);
+ const result = calculateFormattedBotValue(calc, bot, 'tag');
+
+ expect(result).toBe('123e4567890');
+ });
+
+ it('should return the string value if it is a tagged number', () => {
+ const bot = createBot('test', {
+ tag: 'š¢123e4567890',
+ });
+ const calc = createPrecalculatedContext([bot]);
+ const result = calculateFormattedBotValue(calc, bot, 'tag');
+
+ expect(result).toBe('š¢123e4567890');
+ });
+ });
+
describe('calculateBotIds()', () => {
it('should return null if the tag is a number', () => {
const bot = createPrecalculatedBot('test', {
diff --git a/src/aux-common/bots/BotCalculations.ts b/src/aux-common/bots/BotCalculations.ts
index fc7305646f..e6fc335649 100644
--- a/src/aux-common/bots/BotCalculations.ts
+++ b/src/aux-common/bots/BotCalculations.ts
@@ -48,6 +48,7 @@ import type {
SystemPortalPane,
MenuBotSubtype,
BotMeshPositioningMode,
+ MapPortalKind,
} from './Bot';
import {
DEFAULT_WORKSPACE_SCALE,
@@ -58,16 +59,12 @@ import {
DEFAULT_BOT_SHAPE,
DEFAULT_WORKSPACE_SIZE,
DEFAULT_LABEL_ANCHOR,
- BotDragMode,
- DEFAULT_USER_INACTIVE_TIME,
- DEFAULT_USER_DELETION_TIME,
BOT_SPACE_TAG,
DEFAULT_ORIENTATION_MODE,
DEFAULT_ANCHOR_POINT,
DEFAULT_LABEL_ALIGNMENT,
DEFAULT_SCALE_MODE,
DEFAULT_MEET_PORTAL_ANCHOR_POINT,
- BotSignatures,
DEFAULT_TAG_PORTAL_ANCHOR_POINT,
TAG_MASK_SPACE_PRIORITIES,
DNA_TAG_PREFIX,
@@ -75,7 +72,6 @@ import {
DEFAULT_LABEL_WORD_WRAP_MODE,
DEFAULT_MENU_BOT_FORM,
DEFAULT_PORTAL_CAMERA_CONTROLS_MODE,
- DEFAULT_MENU_BOT_HOVER_STYLE,
DEFAULT_BOT_CURSOR,
BOT_LINK_TAG_PREFIX,
DATE_TAG_PREFIX,
@@ -90,6 +86,7 @@ import {
SYSTEM_PORTAL_DIFF,
SHEET_PORTAL,
DEFAULT_MESH_POSITIONING_MODE,
+ DEFAULT_MAP_PORTAL_KIND,
} from './Bot';
import type { Easing as TweenEasing } from '@tweenjs/tween.js';
import TWEEN from '@tweenjs/tween.js';
@@ -99,18 +96,14 @@ import { cacheFunction } from './BotCalculationContext';
import { v4 as uuid } from 'uuid';
import {
- flatMap,
union,
- keys,
- find,
- values,
isEqual,
sortBy,
cloneDeep,
differenceBy,
intersectionBy,
unionBy,
-} from 'lodash';
+} from 'es-toolkit/compat';
///
import type { EaseMode, EaseType, Easing, PartialBot } from '../bots';
@@ -159,7 +152,9 @@ export interface BotsStateDiff {
* it represents nothing.
* @param value The value.
*/
-export function hasValue(value: unknown) {
+export function hasValue(
+ value: unknown
+): value is string | number | boolean | object {
return !(value === null || typeof value === 'undefined' || value === '');
}
@@ -299,16 +294,16 @@ export function botTags(
extraTags: string[],
allowedTags: string[] = null
): { tag: string; space: string }[] {
- const botTags = flatMap(bots, (f) => keys(f.tags)).map(
- (t) => ({ tag: t, space: null as string } as const)
- );
- const botMasks = flatMap(bots, (b) => {
+ const botTags = bots
+ .flatMap((f) => Object.keys(f.tags))
+ .map((t) => ({ tag: t, space: null as string } as const));
+ const botMasks = bots.flatMap((b) => {
if (!b.masks) {
return [];
}
let tags = [] as { tag: string; space: string }[];
for (let space in b.masks) {
- let spaceTags = keys(b.masks[space]).map(
+ let spaceTags = Object.keys(b.masks[space]).map(
(k) =>
({
tag: k,
@@ -346,7 +341,7 @@ export function botTags(
}
export function getAllBotTags(bots: Bot[], includeHidden: boolean) {
- const botTags = flatMap(bots, (f) => keys(f.tags));
+ const botTags = bots.flatMap((f) => Object.keys(f.tags));
const nonHiddenTags = botTags.filter(
(t) => includeHidden || !isHiddenTag(t)
@@ -379,7 +374,7 @@ export function botsFromShortIds(bots: Bot[], shortIds: string[]): Bot[] {
* @returns bot or undefined if no match found.
*/
export function botFromShortId(bots: Bot[], shortId: string): Bot {
- return find(bots, (f: Bot) => {
+ return bots.find((f: Bot) => {
return getShortId(f) === shortId;
});
}
@@ -482,6 +477,26 @@ export function calculateBotValue(
return value;
}
+export function calculateRawBotValue(
+ context: BotObjectsContext | null,
+ object: Bot | PrecalculatedBot,
+ tag: keyof BotTags
+) {
+ const value = object.tags[tag];
+ if (
+ typeof value === 'undefined' &&
+ typeof tag === 'string' &&
+ tag.startsWith('aux') &&
+ tag.length >= 4
+ ) {
+ const firstChar = tag.substring(3, 4);
+ const rest = tag.substring(4);
+ const newTag = firstChar.toLowerCase() + rest;
+ return object.tags[newTag];
+ }
+ return value;
+}
+
/**
* Calculates the list of bot IDs that are stored in the given tag in the given bot.
* @param bot The bot.
@@ -536,6 +551,12 @@ export function calculateFormattedBotValue(
tag: string
): string {
const value = calculateBotValue(context, bot, tag);
+ if (typeof value === 'number') {
+ const rawValue = calculateRawBotValue(context, bot, tag);
+ if (typeof rawValue === 'string') {
+ return rawValue;
+ }
+ }
return formatValue(value);
}
@@ -773,7 +794,7 @@ export function isNumber(value: string): boolean {
return (
typeof value === 'string' &&
value.length > 0 &&
- ((/^-?\d*(?:\.?\d+)?(?:[eE]-?\d+)?$/.test(value) && value !== '-') ||
+ ((/^-?\d*(?:\.?\d+)?(?:\d[eE]-?\d+)?$/.test(value) && value !== '-') ||
(typeof value === 'string' && INFINITIES.has(value.toLowerCase())))
);
}
@@ -1008,7 +1029,7 @@ export function isBot(object: any): object is Bot {
* @param state The state to get the active objects of.
*/
export function getActiveObjects(state: BotsState) {
- return values(state);
+ return Object.values(state);
}
/**
@@ -1052,7 +1073,7 @@ export function doBotsAppearEqual(
return true;
}
- const tags = union(keys(first.tags), keys(second.tags));
+ const tags = union(Object.keys(first.tags), Object.keys(second.tags));
const usableTags = tags.filter((t) => !isTagWellKnown(t));
let allEqual = true;
@@ -1307,10 +1328,10 @@ export function removeBotFromMenu(
* @param bot
*/
export function tagsOnBot(bot: PartialBot): string[] {
- let tags = new Set(keys(bot.tags));
+ let tags = new Set(Object.keys(bot.tags));
if (bot.masks) {
for (let space in bot.masks) {
- let k = keys(bot.masks[space]);
+ let k = Object.keys(bot.masks[space]);
for (let key of k) {
tags.add(key);
}
@@ -1458,7 +1479,7 @@ export function calculateStateDiff(
updatedBots: [],
};
- const ids = union(keys(prev), keys(current));
+ const ids = union(Object.keys(prev), Object.keys(current));
ids.forEach((id) => {
const prevVal = prev[id];
@@ -1763,6 +1784,7 @@ export function getBotShape(calc: BotCalculationContext, bot: Bot): BotShape {
shape === 'skybox' ||
shape === 'sphere' ||
shape === 'sprite' ||
+ shape === 'map' ||
shape === 'mesh' ||
shape === 'iframe' ||
shape === 'nothing' ||
@@ -2139,6 +2161,18 @@ export function calculateAnchorPoint(value: BotAnchorPoint) {
return DEFAULT_ANCHOR_POINT;
}
+export function getMapPortalKind(bot: Bot): MapPortalKind {
+ const kind = calculateStringTagValue(null, bot, 'auxMapPortalKind', null);
+ return calculateMapPortalKind(kind) ?? DEFAULT_MAP_PORTAL_KIND;
+}
+
+export function calculateMapPortalKind(value: string): MapPortalKind | null {
+ if (value === 'globe' || value === 'plane') {
+ return value;
+ }
+ return null;
+}
+
/**
* Calculates the 3D offset of the anchor point.
* @param point The anchor point.
diff --git a/src/aux-common/bots/BotEvents.ts b/src/aux-common/bots/BotEvents.ts
index c1be71eec9..7c1a81c5b9 100644
--- a/src/aux-common/bots/BotEvents.ts
+++ b/src/aux-common/bots/BotEvents.ts
@@ -25,7 +25,7 @@ import type {
} from './Bot';
import { clamp } from '../utils';
import { hasValue } from './BotCalculations';
-import type { InstUpdate } from './StoredAux';
+import type { InstUpdate, StoredAux } from './StoredAux';
import type {
DeviceAction,
RemoteAction,
@@ -35,12 +35,7 @@ import type {
DeviceActionError,
Action,
} from '../common';
-import {
- DeviceSelector,
- remoteError,
- remoteResult,
- RemoteActions,
-} from '../common';
+import { remoteError, remoteResult } from '../common';
/**
* Defines a symbol that can be used to signal to the runtime that the action should not be mapped for bots.
@@ -94,6 +89,7 @@ export type ExtraActions =
| GoToDimensionAction
| GoToURLAction
| OpenURLAction
+ | TrackConfigBotTagsAction
| ShowInputForTagAction
| SetForcedOfflineAction
| ShellAction
@@ -121,7 +117,9 @@ export type ExtraActions =
| SetAppOutputAction
| UnregisterHtmlAppAction
| AddDropGridTargetsAction
- | CustomAppContainerAvailableAction;
+ | CustomAppContainerAvailableAction
+ | LoadServerConfigAction
+ | UnloadServerConfigAction;
/**
* Defines a set of possible async action types.
@@ -163,6 +161,8 @@ export type AsyncActions =
| BeginRecordingAction
| EndRecordingAction
| SpeakTextAction
+ | AddBotMapLayerAction
+ | RemoveBotMapLayerAction
| GetVoicesAction
| GetGeolocationAction
| RegisterCustomAppAction
@@ -207,7 +207,11 @@ export type AsyncActions =
| WatchLoomAction
| GetLoomMetadataAction
| GetScriptIssuesAction
- | LoadSharedDocumentAction;
+ | LoadSharedDocumentAction
+ | CalculateScreenCoordinatesFromPositionAction
+ | AddMapLayerAction
+ | RemoveMapLayerAction
+ | HideLoadingScreenAction;
export type RemoteBotActions =
| GetRemoteCountAction
@@ -215,7 +219,8 @@ export type RemoteBotActions =
| GetInstStateFromUpdatesAction
| CreateInitializationUpdateAction
| ApplyUpdatesToInstAction
- | GetCurrentInstUpdateAction;
+ | GetCurrentInstUpdateAction
+ | InstallAuxAction;
/**
* Defines an interface for actions that represent asynchronous tasks.
@@ -1087,6 +1092,63 @@ export interface LoadServerAction extends Action {
id: string;
}
+/**
+ * The configuration for loading an inst.
+ *
+ * @dochash types/os/spaces
+ * @docname InstConfig
+ */
+export interface InstConfig {
+ /**
+ * The owner of the inst.
+ *
+ * Possible values are:
+ * - "public" - The inst is public and temporary.
+ * - "player" - The inst is owned by the current player.
+ * - Any record name - the inst will be loaded from the given record.
+ * - Any user ID - the inst will be loaded from the given user's default record.
+ * - Any studio ID - the inst will be loaded from the given studio's default record.
+ *
+ * Only valid when an inst is also specified.
+ */
+ owner?: string | null;
+
+ /**
+ * The record that the inst should be loaded from.
+ *
+ * Only valid when an inst is also specified.
+ */
+ record?: string | null;
+
+ /**
+ * The inst that should be loaded.
+ *
+ * When specified, you can also use the owner field to specify where the inst should be loaded from.
+ */
+ inst?: string;
+
+ /**
+ * The static inst that should be loaded.
+ *
+ * Only valid when specified on its own.
+ */
+ staticInst?: string;
+}
+
+/**
+ * An event that is used to load an inst.
+ * @dochash types/os/spaces
+ * @docname LoadInstConfigAction
+ */
+export interface LoadServerConfigAction extends Action {
+ type: 'load_server_config';
+
+ /**
+ * The config that should be used to load the inst.
+ */
+ config: InstConfig;
+}
+
/**
* An event that is used to unload a simulation.
* @dochash types/os/spaces
@@ -1101,6 +1163,21 @@ export interface UnloadServerAction extends Action {
id: string;
}
+/**
+ * An event that is used to unload a simulation.
+ *
+ * @dochash types/os/spaces
+ * @docname UnloadInstConfigAction
+ */
+export interface UnloadServerConfigAction extends Action {
+ type: 'unload_server_config';
+
+ /**
+ * The config that should be used to unload the inst.
+ */
+ config: InstConfig;
+}
+
/**
* An event that is used to load an AUX from a remote location.
* @docname ImportAUXAction
@@ -1460,6 +1537,42 @@ export interface OpenURLAction extends Action {
url: string;
}
+/**
+ * Defines an event that notifies the system that a config bot tag should be tracked in the URL.
+ *
+ * @dochash types/os/portals
+ * @docname TrackConfigBotTagsAction
+ */
+export interface TrackConfigBotTagsAction extends Action {
+ type: 'track_config_bot_tags';
+
+ /**
+ * The tag names that should be tracked.
+ */
+ tags: string[];
+
+ /**
+ * Whether the a history entry should be created for every change to these tags.
+ * If false, then the URL will be updated but no additional history entries will be created.
+ * If true, then each change to the parameters will create a new history entry.
+ */
+ fullHistory: boolean;
+}
+
+/**
+ * Creates a TrackConfigBotTagsAction that notifies the system that a config bot tag should be tracked in the URL.
+ */
+export function trackConfigBotTags(
+ tags: string[],
+ fullHistory: boolean
+): TrackConfigBotTagsAction {
+ return {
+ type: 'track_config_bot_tags',
+ tags,
+ fullHistory,
+ };
+}
+
/**
* Defines an event that is used to play a sound from the given url.
* @dochash types/os/audio
@@ -1848,6 +1961,13 @@ export interface LoadSharedDocumentAction extends AsyncAction {
* If null, then the document will not be stored in indexeddb.
*/
branch: string | null;
+
+ /**
+ * The markers that should be set on the inst if it is new.
+ * If the inst already exists, this field is ignored.
+ * If not provided, the default markers will be used.
+ */
+ markers?: string[];
}
/**
@@ -2897,6 +3017,47 @@ export interface SpeakTextAction extends AsyncAction, SpeakTextOptions {
text: string;
}
+/** Extensible overlay type ā bot map form */
+type OverlayType = 'geojson_canvas';
+
+export interface AddBotMapLayerAction extends AsyncAction {
+ type: 'add_bot_map_layer';
+ /**
+ * The ID of the bot that should be drawn on.
+ */
+ botId: string;
+ /**
+ * Layer configuration
+ */
+ overlay: {
+ /**
+ * The type of overlay to add to the bot map form
+ */
+ overlayType: 'geojson';
+ type?: 'geojson';
+ /**
+ * Data specific to the overlay type for layer creation
+ */
+ data: any;
+ /**
+ * An optional user defined ID of the overlay that should be added.
+ * Will be generated and returned if ommited.
+ */
+ overlayId?: string;
+ };
+}
+export interface RemoveBotMapLayerAction extends AsyncAction {
+ type: 'remove_bot_map_layer';
+ /**
+ * The ID of the bot that the overlay is on.
+ */
+ botId: string;
+ /**
+ * The ID of the overlay that should be removed.
+ */
+ overlayId: string;
+}
+
/**
* An event that is used to retrieve the synthetic voices that are supported by the current system.
*
@@ -3417,6 +3578,27 @@ export interface CalculateScreenCoordinatesFromViewportCoordinatesAction
coordinates: Point2D;
}
+/**
+ * Defines an event that calculates the 2D screen coordinates from the given 3D positions.
+ *
+ * @dochash types/os/portals
+ * @docname CalculateScreenCoordinatesFromPositionAction
+ */
+export interface CalculateScreenCoordinatesFromPositionAction
+ extends AsyncAction {
+ type: 'calculate_screen_coordinates_from_position';
+
+ /**
+ * The portal that the ray should be calculated for.
+ */
+ portal: CameraPortal;
+
+ /**
+ * The 3D positions that the screen coordinates should be calculated for.
+ */
+ coordinates: Point3D[];
+}
+
/**
* Defines an event that calculates the 2D viewport coordinates from the given 2D screen coordinates.
*
@@ -3839,6 +4021,88 @@ export interface LDrawCountBuildStepsAction extends AsyncAction {
text?: string;
}
+/**
+ * An event that adds a map layer to the map or miniMap portal.
+ * This is used to add custom layers to the map, such as heatmaps or other visualizations.
+ *
+ * @dochash types/os/maps
+ * @doctitle Map Types
+ * @docsidebar Maps
+ * @docdescription Types that are used in actions that relate to maps.
+ * @docid AddMapLayerAction
+ */
+export interface AddMapLayerAction extends AsyncAction {
+ type: 'add_map_layer';
+
+ /**
+ * The portal that the layer should be added to.
+ */
+ portal: 'map' | 'miniMap';
+
+ /**
+ * The layer that should be added to the portal.
+ */
+ layer: MapLayer;
+}
+
+/**
+ * An event that is used to remove a map layer from the map or miniMapPortal.
+ *
+ * @dochash types/os/maps
+ * @docid RemoveMapLayerAction
+ */
+export interface RemoveMapLayerAction extends AsyncAction {
+ type: 'remove_map_layer';
+
+ /**
+ * The ID of the layer that should be removed.
+ */
+ layerId: string;
+}
+
+/**
+ * The kinds of map layers that can be added to the map or miniMapPortal.
+ *
+ * @dochash types/os/maps
+ * @docid MapLayer
+ */
+export type MapLayer = GeoJSONMapLayer;
+
+/**
+ * Defines a base interface for map layers.
+ *
+ * @dochash types/os/maps
+ * @docid MapLayerBase
+ */
+export interface MapLayerBase {
+ /**
+ * Copyright information for the layer.
+ */
+ copyright?: string;
+}
+
+/**
+ * A map layer that contains GeoJSON data.
+ *
+ * @dochash types/os/maps
+ * @docid GeoJSONMapLayer
+ */
+export interface GeoJSONMapLayer extends MapLayerBase {
+ type: 'geojson';
+
+ /**
+ * The URL that contains the GeoJSON data.
+ *
+ * Can be a blob url, a data url, or a regular URL.
+ */
+ url?: string;
+
+ /**
+ * The GeoJSON data for the layer.
+ */
+ data?: object;
+}
+
/**
* The portals that contain a camera that can be raycasted from.
*
@@ -3928,6 +4192,13 @@ export interface AnalyticsRecordEventAction extends AsyncAction {
metadata: any;
}
+/**
+ * An action that hides the loading screen.
+ */
+export interface HideLoadingScreenAction extends AsyncAction {
+ type: 'hide_loading_screen';
+}
+
/**
* An action that is used to retrieve the default records endpoint.
*/
@@ -4340,7 +4611,23 @@ export function hideChat(): ShowChatBarAction {
* Creates a new LoadSimulationAction.
* @param id The ID of the simulation to load.
*/
-export function loadSimulation(id: string): LoadServerAction {
+export function loadSimulation(id: string): LoadServerAction;
+/**
+ * Creates a new LoadSimulationAction.
+ * @param config The config of the simulation to load.
+ */
+export function loadSimulation(
+ config: LoadServerConfigAction['config']
+): LoadServerConfigAction;
+export function loadSimulation(
+ id: string | LoadServerConfigAction['config']
+): LoadServerAction | LoadServerConfigAction {
+ if (typeof id === 'object') {
+ return {
+ type: 'load_server_config',
+ config: id,
+ };
+ }
return {
type: 'load_server',
id: id,
@@ -4351,7 +4638,21 @@ export function loadSimulation(id: string): LoadServerAction {
* Creates a new UnloadSimulationAction.
* @param id The ID of the simulation to unload.
*/
-export function unloadSimulation(id: string): UnloadServerAction {
+export function unloadSimulation(id: string): UnloadServerAction;
+/**
+ * Creates a new UnloadServerConfigAction.
+ * @param config The config of the simulation to unload.
+ */
+export function unloadSimulation(config: InstConfig): UnloadServerConfigAction;
+export function unloadSimulation(
+ id: string | InstConfig
+): UnloadServerAction | UnloadServerConfigAction {
+ if (typeof id === 'object') {
+ return {
+ type: 'unload_server_config',
+ config: id,
+ };
+ }
return {
type: 'unload_server',
id: id,
@@ -4787,12 +5088,14 @@ export function loadSpace(
* @param inst The instance to load the document into.
* @param branch The branch to load the document from.
* @param taskId The ID of the async task.
+ * @param markers The markers that should be set on the inst if it is new.
*/
export function loadSharedDocument(
recordName: string | null,
inst: string | null,
branch: string,
- taskId?: number | string
+ taskId?: number | string,
+ markers?: string[]
): LoadSharedDocumentAction {
return {
type: 'load_shared_document',
@@ -4800,6 +5103,7 @@ export function loadSharedDocument(
inst,
branch,
taskId,
+ markers,
};
}
@@ -5426,6 +5730,39 @@ export function getVoices(taskId?: string | number): GetVoicesAction {
};
}
+/**
+ * Creates an action that adds a map overlay to the given bot.
+ * @param bot
+ * @param overlayId
+ * @param options
+ * @param taskId
+ */
+export function addBotMapLayer(
+ bot: Bot,
+ overlayConfig: AddBotMapLayerAction['overlay'],
+ taskId?: string | number
+): AddBotMapLayerAction {
+ return {
+ type: 'add_bot_map_layer',
+ botId: bot?.id,
+ overlay: overlayConfig,
+ taskId,
+ };
+}
+
+export function removeBotMapLayer(
+ bot: Bot,
+ overlayId: string,
+ taskId?: string | number
+): RemoveBotMapLayerAction {
+ return {
+ type: 'remove_bot_map_layer',
+ botId: bot?.id,
+ overlayId,
+ taskId,
+ };
+}
+
/**
* Creates a GetGeolocationAction.
* @param taskId The ID of the task.
@@ -5817,6 +6154,19 @@ export function calculateViewportCoordinatesFromScreenCoordinates(
};
}
+export function calculateScreenCoordinatesFromPosition(
+ portal: CameraPortal,
+ coordinates: Point3D[],
+ taskId?: number | string
+): CalculateScreenCoordinatesFromPositionAction {
+ return {
+ type: 'calculate_screen_coordinates_from_position',
+ portal,
+ coordinates,
+ taskId,
+ };
+}
+
/**
* Creates a new BufferFormAddressGLTFAction.
* @param address The address that should be cached.
@@ -6045,3 +6395,72 @@ export function getLoomMetadata(
taskId,
};
}
+
+export type InstallAuxFileMode = 'default' | 'copy';
+
+export interface InstallAuxAction extends Action {
+ type: 'install_aux_file';
+
+ /**
+ * The aux file that should be installed.
+ */
+ aux: StoredAux;
+
+ /**
+ * The mode that should be used to install the aux file.
+ *
+ * - "default" indicates that the aux file will be installed as-is.
+ * If the file was already installed, then it will either overwrite bots or do nothing depending on the version of the aux.
+ * Version 1 auxes will overwrite existing bots, while version 2 auxes will do nothing.
+ * - "copy" indicates that all the bots in the aux file should be given new IDs. This is useful if you want to be able to install an AUX multiple times in the same inst.
+ */
+ mode: InstallAuxFileMode;
+}
+
+export function installAuxFile(
+ aux: StoredAux,
+ mode: InstallAuxFileMode
+): InstallAuxAction {
+ return {
+ type: 'install_aux_file',
+ aux,
+ mode,
+ };
+}
+
+/**
+ * Creates a new AddMapLayerAction.
+ * @param portal The portal that the layer should be added to.
+ * @param layer The layer that should be added.
+ * @param index The index that the layer should be added at.
+ * @param taskId The ID of the async task.
+ */
+export function addMapLayer(
+ portal: 'map' | 'miniMap',
+ layer: MapLayer,
+ taskId?: number | string
+): AddMapLayerAction {
+ return {
+ type: 'add_map_layer',
+ portal,
+ layer,
+ taskId,
+ };
+}
+
+/**
+ * Creates a RemoveMapLayerAction.
+ * @param layerId The ID of the layer that should be removed.
+ * @param taskId The ID of the async task.
+ * @returns The RemoveMapLayerAction.
+ */
+export function removeMapLayer(
+ layerId: string,
+ taskId?: number | string
+): RemoveMapLayerAction {
+ return {
+ type: 'remove_map_layer',
+ layerId,
+ taskId,
+ };
+}
diff --git a/src/aux-common/bots/BotIndex.ts b/src/aux-common/bots/BotIndex.ts
index 4f22f7fae2..6a5c4718b8 100644
--- a/src/aux-common/bots/BotIndex.ts
+++ b/src/aux-common/bots/BotIndex.ts
@@ -20,7 +20,6 @@ import { tagsOnBot, hasValue, calculateBotValue } from './BotCalculations';
import type { Observable } from 'rxjs';
import { Subject } from 'rxjs';
import { filter, startWith, map } from 'rxjs/operators';
-import { flatMap } from 'lodash';
/**
* Defines a union type for bot index events.
@@ -90,7 +89,7 @@ export class BotIndex {
initialEvents() {
let bots = [...this._botMap.values()];
- let events = flatMap(bots, (b) =>
+ let events = bots.flatMap((b) =>
tagsOnBot(b).map(
(t) =>
({
diff --git a/src/aux-common/bots/BotLookupTable.ts b/src/aux-common/bots/BotLookupTable.ts
index e08ca76a9a..8dbbc690b0 100644
--- a/src/aux-common/bots/BotLookupTable.ts
+++ b/src/aux-common/bots/BotLookupTable.ts
@@ -18,7 +18,7 @@
import type { Bot } from './Bot';
import type { BotObjectsContext } from './BotObjectsContext';
import { calculateBotValue } from './BotCalculations';
-import { zip, sortBy } from 'lodash';
+import { zip, sortBy } from 'es-toolkit/compat';
/**
* Creates a lookup table for the given tags.
diff --git a/src/aux-common/bots/BotLookupTableHelper.ts b/src/aux-common/bots/BotLookupTableHelper.ts
index a1d070cb0b..7f1e73456b 100644
--- a/src/aux-common/bots/BotLookupTableHelper.ts
+++ b/src/aux-common/bots/BotLookupTableHelper.ts
@@ -19,7 +19,7 @@ import type { BotLookupTable } from './BotLookupTable';
import { valuesToKey, buildLookupTable } from './BotLookupTable';
import type { Bot } from './Bot';
import type { BotObjectsContext } from './BotObjectsContext';
-import { zip, sortBy } from 'lodash';
+import { zip, sortBy } from 'es-toolkit/compat';
/**
* Defines a helper class for BotLookupTable which is able to dynamically create and reuse
diff --git a/src/aux-common/bots/StateUpdatedEvent.ts b/src/aux-common/bots/StateUpdatedEvent.ts
index 1aec4395e4..8bdcdb3373 100644
--- a/src/aux-common/bots/StateUpdatedEvent.ts
+++ b/src/aux-common/bots/StateUpdatedEvent.ts
@@ -22,10 +22,8 @@ import type {
PartialBot,
UpdatedBot,
} from './Bot';
-import { merge } from '../utils';
import { apply } from '../bots/AuxStateHelpers';
import { hasValue } from './BotCalculations';
-import { cloneDeep } from 'lodash';
import type { CurrentVersion } from '../common';
/**
diff --git a/src/aux-common/bots/StoredAux.ts b/src/aux-common/bots/StoredAux.ts
index 499dc1dc82..bb73453835 100644
--- a/src/aux-common/bots/StoredAux.ts
+++ b/src/aux-common/bots/StoredAux.ts
@@ -87,7 +87,7 @@ export function isStoredVersion1(stored: unknown): stored is StoredAuxVersion1 {
* Gets the bot state from the given stored causal tree.
* @param stored The stored tree to load.
*/
-export function getBotsStateFromStoredAux(stored: StoredAuxVersion1) {
+export function getBotsStateFromStoredAux(stored: StoredAux): BotsState {
return getUploadState(stored);
}
diff --git a/src/aux-common/bots/test/BotCalculationContextTests.ts b/src/aux-common/bots/test/BotCalculationContextTests.ts
index 06742c374a..337c78963f 100644
--- a/src/aux-common/bots/test/BotCalculationContextTests.ts
+++ b/src/aux-common/bots/test/BotCalculationContextTests.ts
@@ -84,10 +84,8 @@ import {
getBotLabelPadding,
getCursorCSS,
calculateGridScale,
- calculateBotIds,
calculateBotVectorTagValue,
calculateBotRotationTagValue,
- formatBotRotation,
getTagPosition,
getTagRotation,
formatBotVector,
@@ -123,7 +121,7 @@ import {
resolveRejectedActions,
} from '../BotActions';
import type { BotCalculationContext } from '../BotCalculationContext';
-import { Quaternion, Rotation, Vector3 } from '../../math';
+import { Quaternion, Rotation } from '../../math';
export function botCalculationContextTests(
uuidMock: jest.Mock,
diff --git a/src/aux-common/common/ConnectionToken.spec.ts b/src/aux-common/common/ConnectionToken.spec.ts
index bfef74fecd..fc4d2f29a6 100644
--- a/src/aux-common/common/ConnectionToken.spec.ts
+++ b/src/aux-common/common/ConnectionToken.spec.ts
@@ -19,7 +19,7 @@ import {
formatV1ConnectionToken,
parseConnectionToken,
} from './ConnectionToken';
-import { toBase64String, fromBase64String } from '../utils';
+import { toBase64String } from '../utils';
describe('formatV1ConnectionToken()', () => {
it('should combine the given user id, session id, and password', () => {
diff --git a/src/aux-common/common/DenialReason.ts b/src/aux-common/common/DenialReason.ts
index 9907863c9b..efb789958b 100644
--- a/src/aux-common/common/DenialReason.ts
+++ b/src/aux-common/common/DenialReason.ts
@@ -20,7 +20,6 @@ import type {
ResourceKinds,
SubjectType,
} from './PolicyPermissions';
-import { AvailablePermissions } from './PolicyPermissions';
import type { PrivacyFeatures } from './PrivacyFeatures';
export type DenialReason =
diff --git a/src/aux-common/common/PolicyPermissions.ts b/src/aux-common/common/PolicyPermissions.ts
index 28fbef0677..eca8371121 100644
--- a/src/aux-common/common/PolicyPermissions.ts
+++ b/src/aux-common/common/PolicyPermissions.ts
@@ -44,6 +44,13 @@ export const HUME_RESOURCE_KIND = 'ai.hume';
export const OPENAI_REALTIME_RESOURCE_KIND = 'ai.openai.realtime';
export const WEBHOOK_RESOURCE_KIND = 'webhook';
export const NOTIFICATION_RESOURCE_KIND = 'notification';
+export const PACKAGE_RESOURCE_KIND = 'package';
+export const PACKAGE_VERSION_RESOURCE_KIND = 'package.version';
+export const SEARCH_RESOURCE_KIND = 'search';
+export const DATABASE_RESOURCE_KIND = 'database';
+export const PURCHASABLE_ITEM_RESOURCE_KIND = 'purchasableItem';
+export const CONTRACT_RESOURCE_KIND = 'contract';
+export const INVOICE_RESOURCE_KIND = 'invoice';
/**
* The possible types of resources that can be affected by permissions.
@@ -60,10 +67,17 @@ export type ResourceKinds =
| 'inst'
| 'webhook'
| 'notification'
+ | 'package'
+ | 'package.version'
+ | 'search'
| 'loom'
| 'ai.sloyd'
| 'ai.hume'
- | 'ai.openai.realtime';
+ | 'ai.openai.realtime'
+ | 'database'
+ | 'purchasableItem'
+ | 'contract'
+ | 'invoice';
export const READ_ACTION = 'read';
export const CREATE_ACTION = 'create';
@@ -85,6 +99,9 @@ export const SEND_ACTION = 'send';
export const SUBSCRIBE_ACTION = 'subscribe';
export const UNSUBSCRIBE_ACTION = 'unsubscribe';
export const LIST_SUBSCRIPTIONS_ACTION = 'listSubscriptions';
+export const PURCHASE_ACTION = 'purchase';
+export const APPROVE_ACTION = 'approve';
+export const CANCEL_ACTION = 'cancel';
/**
* The possible types of actions that can be performed on resources.
@@ -112,7 +129,10 @@ export type ActionKinds =
| 'send'
| 'subscribe'
| 'unsubscribe'
- | 'listSubscriptions';
+ | 'listSubscriptions'
+ | 'purchase'
+ | 'approve'
+ | 'cancel';
/**
* The possible types of actions that can be performed on data resources.
@@ -237,6 +257,104 @@ export type NotificationActionKinds =
| 'unsubscribe'
| 'listSubscriptions';
+/**
+ * The possible types of actions that can be performed on package resources.
+ *
+ * @dochash types/permissions
+ * @docname PackageActionKinds
+ */
+export type PackageActionKinds =
+ | 'create'
+ | 'read'
+ | 'update'
+ | 'delete'
+ | 'list'
+ | 'run';
+
+/**
+ * The possible types of actions that can be performed on package.version resources.
+ *
+ * @dochash types/permissions
+ * @docname PackageVersionActionKinds
+ */
+export type PackageVersionActionKinds =
+ | 'create'
+ | 'read'
+ | 'update'
+ | 'delete'
+ | 'list'
+ | 'run';
+
+/**
+ * The possible types of actions that can be performed on search resources.
+ *
+ * @dochash types/permissions
+ * @docname SearchActionKinds
+ */
+export type SearchActionKinds =
+ | 'create'
+ | 'read'
+ | 'update'
+ | 'delete'
+ | 'list';
+
+/**
+ * The possible types of actions that can be performed on database resources.
+ *
+ * @dochash types/permissions
+ * @docname DatabaseActionKinds
+ */
+export type DatabaseActionKinds =
+ | 'create'
+ | 'read'
+ | 'update'
+ | 'delete'
+ | 'list';
+
+/**
+ * The possible types of actions that can be performed on purchasableItem resources.
+ *
+ * @dochash types/permissions
+ * @docname PurchasableItemActionKinds
+ */
+export type PurchasableItemActionKinds =
+ | 'read'
+ | 'create'
+ | 'update'
+ | 'delete'
+ | 'list'
+ | 'purchase';
+
+/**
+ * The possible types of actions that can be performed on contract resources.
+ *
+ * @dochash types/permissions
+ * @docname ContractActionKinds
+ */
+export type ContractActionKinds =
+ | 'read'
+ | 'create'
+ | 'update'
+ | 'delete'
+ | 'list'
+ | 'purchase'
+ | 'cancel';
+
+/**
+ * The possible types of actions that can be performed on invoice resources.
+ *
+ * @dochash types/permissions
+ * @docname InvoiceActionKinds
+ */
+export type InvoiceActionKinds =
+ | 'read'
+ | 'create'
+ | 'update'
+ | 'delete'
+ | 'list'
+ | 'approve'
+ | 'cancel';
+
/**
* The possible types of permissions that can be added to policies.
*
@@ -253,12 +371,19 @@ export type AvailablePermissions =
| MarkerPermission
| RolePermission
| InstPermission
+ | PurchasableItemPermission
| LoomPermission
| SloydPermission
| HumePermission
| OpenAIRealtimePermission
| WebhookPermission
- | NotificationPermission;
+ | NotificationPermission
+ | PackagePermission
+ | PackageVersionPermission
+ | SearchPermission
+ | DatabasePermission
+ | ContractPermission
+ | InvoicePermission;
export const SUBJECT_TYPE_VALIDATION = z.enum(['user', 'inst', 'role']);
@@ -340,6 +465,69 @@ export const NOTIFICATION_ACTION_KINDS_VALIDATION = z.enum([
LIST_SUBSCRIPTIONS_ACTION,
]);
+export const PACKAGE_ACTION_KINDS_VALIDATION = z.enum([
+ CREATE_ACTION,
+ READ_ACTION,
+ UPDATE_ACTION,
+ DELETE_ACTION,
+ LIST_ACTION,
+ RUN_ACTION,
+]);
+
+export const PACKAGE_VERSION_ACTION_KINDS_VALIDATION = z.enum([
+ CREATE_ACTION,
+ READ_ACTION,
+ UPDATE_ACTION,
+ DELETE_ACTION,
+ LIST_ACTION,
+ RUN_ACTION,
+]);
+
+export const SEARCH_ACTION_KINDS_VALIDATION = z.enum([
+ CREATE_ACTION,
+ READ_ACTION,
+ UPDATE_ACTION,
+ DELETE_ACTION,
+ LIST_ACTION,
+]);
+
+export const DATABASE_ACTION_KINDS_VALIDATION = z.enum([
+ CREATE_ACTION,
+ READ_ACTION,
+ UPDATE_ACTION,
+ DELETE_ACTION,
+ LIST_ACTION,
+]);
+
+export const PURCHASABLE_ITEM_ACTION_KINDS_VALIDATION = z.enum([
+ CREATE_ACTION,
+ READ_ACTION,
+ UPDATE_ACTION,
+ DELETE_ACTION,
+ LIST_ACTION,
+ PURCHASE_ACTION,
+]);
+
+export const CONTRACT_ACTION_KINDS_VALIDATION = z.enum([
+ CREATE_ACTION,
+ READ_ACTION,
+ UPDATE_ACTION,
+ DELETE_ACTION,
+ LIST_ACTION,
+ PURCHASE_ACTION,
+ CANCEL_ACTION,
+]);
+
+export const INVOICE_ACTION_KINDS_VALIDATION = z.enum([
+ CREATE_ACTION,
+ READ_ACTION,
+ UPDATE_ACTION,
+ DELETE_ACTION,
+ LIST_ACTION,
+ APPROVE_ACTION,
+ CANCEL_ACTION,
+]);
+
export const RESOURCE_KIND_VALIDATION = z.enum([
DATA_RESOURCE_KIND,
FILE_RESOURCE_KIND,
@@ -353,6 +541,13 @@ export const RESOURCE_KIND_VALIDATION = z.enum([
OPENAI_REALTIME_RESOURCE_KIND,
WEBHOOK_RESOURCE_KIND,
NOTIFICATION_RESOURCE_KIND,
+ PACKAGE_RESOURCE_KIND,
+ PACKAGE_VERSION_RESOURCE_KIND,
+ SEARCH_RESOURCE_KIND,
+ DATABASE_RESOURCE_KIND,
+ PURCHASABLE_ITEM_RESOURCE_KIND,
+ CONTRACT_RESOURCE_KIND,
+ INVOICE_RESOURCE_KIND,
]);
export const ACTION_KINDS_VALIDATION = z.enum([
@@ -382,8 +577,114 @@ export const ACTION_KINDS_VALIDATION = z.enum([
SUBSCRIBE_ACTION,
UNSUBSCRIBE_ACTION,
LIST_SUBSCRIPTIONS_ACTION,
+
+ PURCHASE_ACTION,
+
+ APPROVE_ACTION,
+ CANCEL_ACTION,
]);
+/**
+ * The scopes that can be used for requested entitlements.
+ * This can be used to limit the entitlement to requesting a category of resources.
+ * For example, the "personal" scope would limit the entitlement to requesting access to the user's personal resources.
+ *
+ * - "personal" - The entitlement is for personal (user-specific) records. This would allow the package to request access to resources in the user's player record. Once granted, the package would have access to the user's personal record.
+ * - "owned" - The entitlement is for user (user-owned) records. This would allow the package to request access to resources in a record that the user owns. Once granted, the package would have access to the user's owned records.
+ * - "studio" - The entitlement is for studio records. This would allow the package to request access to resources in studios in which the user is an admin or member of.
+ * - "shared" - The entitlement is for shared records. This would allow the package to request access to records that are either owned or granted to the user.
+ * - "designated" - The entitlement is for specific records. This would allow the package to only request access to specific records.
+ */
+export type EntitlementScope =
+ | 'personal'
+ | 'owned'
+ | 'studio'
+ | 'shared'
+ | 'designated';
+
+/**
+ * The scopes that can be granted for entitlements.
+ * Compared to the requested entitlement scopes, the granted entitlement scopes are more restrictive.
+ *
+ * This ultimately means that while a package can have the ability to request access to a bunch of different records,
+ * they can only be granted access to a single record at once (for now).
+ *
+ * - "designated" - The entitlement is for specific records. This would allow the package to access specific records.
+ */
+export type GrantedEntitlementScope = 'designated';
+
+/**
+ * The feature categories that entitlements support.
+ * Generally, features align with resource kinds, but don't have to.
+ */
+export type EntitlementFeature =
+ | 'data'
+ | 'file'
+ | 'event'
+ | 'inst'
+ | 'notification'
+ | 'package'
+ | 'permissions'
+ | 'webhook'
+ | 'ai'
+ | 'search'
+ | 'database';
+
+/**
+ * Defines an interface that represents an entitlement.
+ * That is, a feature that can be granted to a package but still requires user approval.
+ *
+ * In essence, this allows a package to ask the user for permission for a category of permissions.
+ */
+export interface Entitlement {
+ /**
+ * The feature category that the entitlement is for.
+ * Generally, features align with resource kinds, but don't have to.
+ */
+ feature: EntitlementFeature;
+
+ /**
+ * The scope of the entitlement.
+ * This can be used to limit the entitlement to a category of resources.
+ * For example, the "personal" scope would limit the entitlement to requesting access to the user's personal resources.
+ *
+ *
+ * - "personal" - The entitlement is for personal (user-specific) records. This would allow the package to request access to resources in the user's player record.
+ * - "owned" - The entitlement is for user (user-owned) records. This would allow the package to request access to resources in a record that the user owns.
+ * - "studio" - The entitlement is for studio records. This would allow the package to request access to resources in studios in which the user is an admin or member of.
+ * - "shared" - The entitlement is for shared records. This would allow the package to request access to records that are either owned or granted to the user.
+ * - "designated" - The entitlement is for specific records. This would allow the package to only request access to specific records.
+ */
+ scope: EntitlementScope;
+
+ /**
+ * The list of records that the entitlement is for.
+ */
+ designatedRecords?: string[];
+}
+
+export const ENTITLEMENT_FEATURE_VALIDATION = z.enum([
+ 'data',
+ 'file',
+ 'event',
+ 'inst',
+ 'notification',
+ 'package',
+ 'permissions',
+ 'webhook',
+ 'ai',
+ 'search',
+ 'database',
+]);
+
+export const ENTITLEMENT_VALIDATION = z.object({
+ feature: ENTITLEMENT_FEATURE_VALIDATION,
+ scope: z.enum(['personal', 'owned', 'studio', 'shared', 'designated']),
+ designatedRecords: z.array(z.string()).optional(),
+});
+type ZodEntitlement = z.infer;
+type ZodEntitlementAssertion = HasType;
+
/**
* Defines an interface that describes common options for all permissions.
*/
@@ -847,6 +1148,214 @@ type ZodNotificationPermissionAssertion = HasType<
NotificationPermission
>;
+/**
+ * Defines an interface that describes common options for all permissions that affect package resources.
+ *
+ * @dochash types/permissions
+ * @docname PackagePermission
+ */
+export interface PackagePermission extends Permission {
+ /**
+ * The kind of the permission.
+ */
+ resourceKind: 'package';
+
+ /**
+ * The action that is allowed.
+ * If null, then all actions are allowed.
+ */
+ action: PackageActionKinds | null;
+}
+export const PACKAGE_PERMISSION_VALIDATION = PERMISSION_VALIDATION.extend({
+ resourceKind: z.literal(PACKAGE_RESOURCE_KIND),
+ action: PACKAGE_ACTION_KINDS_VALIDATION.nullable(),
+});
+type ZodPackagePermission = z.infer;
+type ZodPackagePermissionAssertion = HasType<
+ ZodPackagePermission,
+ PackagePermission
+>;
+
+/**
+ * Defines an interface that describes common options for all permissions that affect package.version resources.
+ *
+ * @dochash types/permissions
+ * @docname PackageVersionPermission
+ */
+export interface PackageVersionPermission extends Permission {
+ /**
+ * The kind of the permission.
+ */
+ resourceKind: 'package.version';
+
+ /**
+ * The action that is allowed.
+ * If null, then all actions are allowed.
+ */
+ action: PackageVersionActionKinds | null;
+}
+export const PACKAGE_VERSION_PERMISSION_VALIDATION =
+ PERMISSION_VALIDATION.extend({
+ resourceKind: z.literal(PACKAGE_VERSION_RESOURCE_KIND),
+ action: PACKAGE_VERSION_ACTION_KINDS_VALIDATION.nullable(),
+ });
+type ZodPackageVersionPermission = z.infer<
+ typeof PACKAGE_VERSION_PERMISSION_VALIDATION
+>;
+type ZodPackageVersionPermissionAssertion = HasType<
+ ZodPackageVersionPermission,
+ PackageVersionPermission
+>;
+
+/**
+ * Defines an interface that describes common options for all permissions that affect search resources.
+ *
+ * @dochash types/permissions
+ * @docname SearchPermission
+ */
+export interface SearchPermission extends Permission {
+ /**
+ * The kind of the permission.
+ */
+ resourceKind: 'search';
+
+ /**
+ * The action that is allowed.
+ * If null, then all actions are allowed.
+ */
+ action: SearchActionKinds | null;
+}
+export const SEARCH_PERMISSION_VALIDATION = PERMISSION_VALIDATION.extend({
+ resourceKind: z.literal(SEARCH_RESOURCE_KIND),
+ action: SEARCH_ACTION_KINDS_VALIDATION.nullable(),
+});
+type ZodSearchPermission = z.infer;
+type ZodSearchPermissionAssertion = HasType<
+ ZodSearchPermission,
+ SearchPermission
+>;
+
+/**
+ * Defines an interface that describes common options for all permissions that affect search resources.
+ *
+ * @dochash types/permissions
+ * @docname DatabasePermission
+ */
+export interface DatabasePermission extends Permission {
+ /**
+ * The kind of the permission.
+ */
+ resourceKind: 'database';
+
+ /**
+ * The action that is allowed.
+ * If null, then all actions are allowed.
+ */
+ action: DatabaseActionKinds | null;
+}
+export const DATABASE_PERMISSION_VALIDATION = PERMISSION_VALIDATION.extend({
+ resourceKind: z.literal(DATABASE_RESOURCE_KIND),
+ action: DATABASE_ACTION_KINDS_VALIDATION.nullable(),
+});
+type ZodDatabasePermission = z.infer;
+type ZodDatabasePermissionAssertion = HasType<
+ ZodDatabasePermission,
+ DatabasePermission
+>;
+
+/**
+ * Defines an interface that describes common options for all purchasableItem permissions.
+ *
+ * @dochash types/permissions
+ * @docname PurchasableItemPermission
+ */
+export interface PurchasableItemPermission extends Permission {
+ /**
+ * The kind of the permission.
+ */
+ resourceKind: 'purchasableItem';
+
+ /**
+ * The ID of the resource that is allowed.
+ * If null, then all resources are allowed.
+ */
+ resourceId: string | null;
+
+ action: PurchasableItemActionKinds | null;
+}
+export const PURCHASABLE_ITEM_PERMISSION_VALIDATION =
+ PERMISSION_VALIDATION.extend({
+ resourceKind: z.literal(PURCHASABLE_ITEM_RESOURCE_KIND),
+ action: PURCHASABLE_ITEM_ACTION_KINDS_VALIDATION.nullable(),
+ });
+type ZodPurchasableItemPermission = z.infer<
+ typeof PURCHASABLE_ITEM_PERMISSION_VALIDATION
+>;
+type ZodPurchasableItemPermissionAssertion = HasType<
+ ZodPurchasableItemPermission,
+ PurchasableItemPermission
+>;
+
+/**
+ * Defines an interface that describes common options for all contract permissions.
+ *
+ * @dochash types/permissions
+ * @docname ContractPermission
+ */
+export interface ContractPermission extends Permission {
+ /**
+ * The kind of the permission.
+ */
+ resourceKind: 'contract';
+
+ /**
+ * The ID of the resource that is allowed.
+ * If null, then all resources are allowed.
+ */
+ resourceId: string | null;
+
+ action: ContractActionKinds | null;
+}
+export const CONTRACT_PERMISSION_VALIDATION = PERMISSION_VALIDATION.extend({
+ resourceKind: z.literal(CONTRACT_RESOURCE_KIND),
+ action: CONTRACT_ACTION_KINDS_VALIDATION.nullable(),
+});
+type ZodContractPermission = z.infer;
+type ZodContractPermissionAssertion = HasType<
+ ZodContractPermission,
+ ContractPermission
+>;
+
+/**
+ * Defines an interface that describes common options for all invoice permissions.
+ *
+ * @dochash types/permissions
+ * @docname InvoicePermission
+ */
+export interface InvoicePermission extends Permission {
+ /**
+ * The kind of the permission.
+ */
+ resourceKind: 'invoice';
+
+ /**
+ * The ID of the resource that is allowed.
+ * If null, then all resources are allowed.
+ */
+ resourceId: string | null;
+
+ action: InvoiceActionKinds | null;
+}
+export const INVOICE_PERMISSION_VALIDATION = PERMISSION_VALIDATION.extend({
+ resourceKind: z.literal(INVOICE_RESOURCE_KIND),
+ action: INVOICE_ACTION_KINDS_VALIDATION.nullable(),
+});
+type ZodInvoicePermission = z.infer;
+type ZodInvoicePermissionAssertion = HasType<
+ ZodInvoicePermission,
+ InvoicePermission
+>;
+
export const AVAILABLE_PERMISSIONS_VALIDATION = z.discriminatedUnion(
'resourceKind',
[
@@ -862,6 +1371,13 @@ export const AVAILABLE_PERMISSIONS_VALIDATION = z.discriminatedUnion(
OPENAI_REALTIME_PERMISSION_VALIDATION,
WEBHOOK_PERMISSION_VALIDATION,
NOTIFICATION_PERMISSION_VALIDATION,
+ PACKAGE_PERMISSION_VALIDATION,
+ PACKAGE_VERSION_PERMISSION_VALIDATION,
+ SEARCH_PERMISSION_VALIDATION,
+ DATABASE_PERMISSION_VALIDATION,
+ PURCHASABLE_ITEM_PERMISSION_VALIDATION,
+ CONTRACT_PERMISSION_VALIDATION,
+ INVOICE_PERMISSION_VALIDATION,
]
);
diff --git a/src/aux-common/common/StatusUpdateUtils.ts b/src/aux-common/common/StatusUpdateUtils.ts
index a48aa2abcd..46bb21cc22 100644
--- a/src/aux-common/common/StatusUpdateUtils.ts
+++ b/src/aux-common/common/StatusUpdateUtils.ts
@@ -17,12 +17,12 @@
*/
import type { StatusUpdate } from './StatusUpdate';
-export function remapProgressPercent(
+export function remapProgressPercent(
start: number,
end: number
-): (message: StatusUpdate) => StatusUpdate {
+): (message: T) => T {
let ratio = end - start;
- return (msg: StatusUpdate) => {
+ return (msg: T) => {
if (msg.type !== 'progress') {
return msg;
}
diff --git a/src/aux-common/common/Version.spec.ts b/src/aux-common/common/Version.spec.ts
new file mode 100644
index 0000000000..874278e859
--- /dev/null
+++ b/src/aux-common/common/Version.spec.ts
@@ -0,0 +1,171 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+import { parseVersionNumber, formatVersionNumber } from './Version';
+
+describe('parseVersionNumber()', () => {
+ const cases = [
+ [
+ 'v1.0.0',
+ {
+ version: 'v1.0.0',
+ major: 1,
+ minor: 0,
+ patch: 0,
+ alpha: false,
+ tag: null as string,
+ },
+ ] as const,
+ [
+ 'v0.1.54',
+ {
+ version: 'v0.1.54',
+ major: 0,
+ minor: 1,
+ patch: 54,
+ alpha: false,
+ tag: null as string,
+ },
+ ] as const,
+ [
+ 'v0.22.4',
+ {
+ version: 'v0.22.4',
+ major: 0,
+ minor: 22,
+ patch: 4,
+ alpha: false,
+ tag: null as string,
+ },
+ ] as const,
+ [
+ 'v0.22.4-alpha.0',
+ {
+ version: 'v0.22.4-alpha.0',
+ major: 0,
+ minor: 22,
+ patch: 4,
+ alpha: 0,
+ tag: 'alpha.0',
+ },
+ ] as const,
+ [
+ 'v0.22.4-alpha.997',
+ {
+ version: 'v0.22.4-alpha.997',
+ major: 0,
+ minor: 22,
+ patch: 4,
+ alpha: 997,
+ tag: 'alpha.997',
+ },
+ ] as const,
+ [
+ 'v0.22.4-alpha',
+ {
+ version: 'v0.22.4-alpha',
+ major: 0,
+ minor: 22,
+ patch: 4,
+ alpha: true,
+ tag: 'alpha',
+ },
+ ] as const,
+ [
+ 'v0.22.4-dev:alpha',
+ {
+ version: 'v0.22.4-dev:alpha',
+ major: 0,
+ minor: 22,
+ patch: 4,
+ alpha: true,
+ tag: 'alpha',
+ },
+ ] as const,
+ [
+ 'v0.22.4-alpha.0',
+ {
+ version: 'v0.22.4-alpha.0',
+ major: 0,
+ minor: 22,
+ patch: 4,
+ alpha: 0,
+ tag: 'alpha.0',
+ },
+ ] as const,
+ [
+ 'v0.22.4-alpha.997',
+ {
+ version: 'v0.22.4-alpha.997',
+ major: 0,
+ minor: 22,
+ patch: 4,
+ alpha: 997,
+ tag: 'alpha.997',
+ },
+ ] as const,
+ ];
+
+ it.each(cases)('should parse %s', (version, expected) => {
+ expect(parseVersionNumber(version)).toEqual(expected);
+ });
+
+ const nullCases = [
+ ['null', null],
+ ['a empty string', ''],
+ ];
+
+ it.each(nullCases)('should handle %s', (desc, val) => {
+ expect(parseVersionNumber(val)).toEqual({
+ version: null,
+ major: null,
+ minor: null,
+ patch: null,
+ alpha: null,
+ tag: null,
+ });
+ });
+});
+
+describe('formatVersionNumber()', () => {
+ const cases: [number, number, number, string, string][] = [
+ [1, 0, 0, '', 'v1.0.0'],
+ [0, 0, 1, '', 'v0.0.1'],
+ [0, 0, 1, 'alpha', 'v0.0.1-alpha'],
+ [1, 2, 3, '', 'v1.2.3'],
+ [1, 2, 3, 'alpha', 'v1.2.3-alpha'],
+ [1, 2, 3, 'alpha.0', 'v1.2.3-alpha.0'],
+ [1, 2, 3, 'alpha.997', 'v1.2.3-alpha.997'],
+ ];
+
+ it.each(cases)(
+ 'should format %s.%s.%s-%s',
+ (major, minor, patch, tag, expected) => {
+ const formatted = formatVersionNumber(major, minor, patch, tag);
+ expect(formatted).toEqual(expected);
+
+ expect(parseVersionNumber(formatted)).toEqual({
+ major: major,
+ minor: minor,
+ patch: patch,
+ tag: tag || null,
+ alpha: expect.anything(),
+ version: formatted,
+ });
+ }
+ );
+});
diff --git a/src/aux-common/common/Version.ts b/src/aux-common/common/Version.ts
new file mode 100644
index 0000000000..cf77739cfc
--- /dev/null
+++ b/src/aux-common/common/Version.ts
@@ -0,0 +1,94 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+import { hasValue } from '../bots';
+
+export interface VersionNumber {
+ version: string | null;
+ major: number | null;
+ minor: number | null;
+ patch: number | null;
+ alpha: boolean | number | null;
+ tag: string | null;
+}
+
+/**
+ * Parses the given version number.
+ * @param version The version number.
+ */
+export function parseVersionNumber(
+ version: string | null | undefined
+): VersionNumber {
+ if (!version) {
+ return {
+ version: null,
+ major: null,
+ minor: null,
+ patch: null,
+ alpha: null,
+ tag: null,
+ };
+ }
+ const versionRegex = /^v?(\d+)\.(\d+)\.(\d+)((:|-)\w+\.?\d*)*$/i;
+ const result = versionRegex.exec(version);
+ if (!result) {
+ return {
+ version: null,
+ major: null,
+ minor: null,
+ patch: null,
+ alpha: null,
+ tag: null,
+ };
+ }
+ const [str, major, minor, patch, prerelease] = result;
+
+ let alpha: boolean | number = false;
+ if (hasValue(prerelease)) {
+ alpha = true;
+ const [first, number] = prerelease.split('.');
+ if (hasValue(number)) {
+ alpha = parseInt(number);
+ }
+ }
+
+ return {
+ version: str,
+ major: parseInt(major),
+ minor: parseInt(minor),
+ patch: parseInt(patch),
+ alpha,
+ tag: prerelease?.substring(1) ?? null,
+ };
+}
+
+/**
+ * Formats the given version number.
+ * @param major The major version number.
+ * @param minor The minor version number.
+ * @param patch The patch.
+ * @param tag The tag of the version number.
+ */
+export function formatVersionNumber(
+ major: number,
+ minor: number,
+ patch: number,
+ tag: string
+): string {
+ return `v${major}.${minor}.${patch}${tag ? `-${tag}` : ''}`;
+}
diff --git a/src/aux-common/common/WebConfig.ts b/src/aux-common/common/WebConfig.ts
index ccaf9e367b..31726f68af 100644
--- a/src/aux-common/common/WebConfig.ts
+++ b/src/aux-common/common/WebConfig.ts
@@ -198,6 +198,22 @@ export interface WebConfig {
* Whether to enable debug mode for the VM.
*/
debug?: boolean;
+
+ /**
+ * The URL of the logo to display in the loading screen.
+ */
+ logoUrl?: string | null;
+
+ /**
+ * The title of the logo to display in the loading screen.
+ */
+ logoTitle?: string | null;
+
+ /**
+ * The background color of the logo to display in the loading screen.
+ * This is used to set the background color of the splash screen.
+ */
+ logoBackgroundColor?: string | null;
}
export const WEB_CONFIG_SCHEMA = z.object({
@@ -220,4 +236,8 @@ export const WEB_CONFIG_SCHEMA = z.object({
allowedBiosOptions: z.array(BIOS_OPTION_SCHEMA).nullable(),
defaultBiosOption: BIOS_OPTION_SCHEMA.nullable(),
automaticBiosOption: BIOS_OPTION_SCHEMA.nullable(),
+
+ logoUrl: z.string().min(1).max(512).nullable().optional(),
+ logoBackgroundColor: z.string().min(1).max(32).nullable().optional(),
+ logoTitle: z.string().min(1).max(128).nullable().optional(),
});
diff --git a/src/aux-common/common/index.ts b/src/aux-common/common/index.ts
index 864c8ba2e3..b64be0b93b 100644
--- a/src/aux-common/common/index.ts
+++ b/src/aux-common/common/index.ts
@@ -30,3 +30,4 @@ export * from './DenialReason';
export * from './PrivacyFeatures';
export * from './WebConfig';
export * from './PublicUserInfo';
+export * from './Version';
diff --git a/src/aux-common/documents/RemoteYjsSharedDocument.spec.ts b/src/aux-common/documents/RemoteYjsSharedDocument.spec.ts
index 680beea0ea..3907fc77bb 100644
--- a/src/aux-common/documents/RemoteYjsSharedDocument.spec.ts
+++ b/src/aux-common/documents/RemoteYjsSharedDocument.spec.ts
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
import { Subject, Subscription } from 'rxjs';
-import { Map as YMap } from 'yjs';
+import { Map as YMap, Text as YText } from 'yjs';
import { waitAsync } from '../test/TestHelpers';
import { createDocFromUpdates, getUpdates } from '../test/YjsTestHelpers';
import type {
@@ -32,6 +32,7 @@ import { PartitionAuthSource } from '../partitions/PartitionAuthSource';
import { RemoteYjsSharedDocument } from './RemoteYjsSharedDocument';
import type { SharedDocumentConfig } from './SharedDocumentConfig';
import { testDocumentImplementation } from './test/DocumentTests';
+import { fromByteArray } from 'base64-js';
console.log = jest.fn();
@@ -161,6 +162,65 @@ describe('RemoteYjsSharedDocument', () => {
]);
});
+ it('should send the sync event after the updates have been processed', async () => {
+ setupPartition({
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ });
+
+ let events: (StatusUpdate | string)[] = [];
+ document.onStatusUpdated.subscribe((s) => {
+ if (s.type === 'sync') {
+ events.push(s);
+ }
+ });
+ document.doc.on('update', (u: Uint8Array) => {
+ events.push(fromByteArray(u));
+ });
+
+ const updates = [
+ ...getUpdates((doc, bots) => {
+ bots.set('bot1', new YMap([['tag1', 'abc']]));
+ }),
+ ...getUpdates((doc, bots) => {
+ bots.set('bot2', new YMap([['tag2', 'def']]));
+ }),
+ ...getUpdates((doc, bots, masks) => {
+ masks.set('bot3:tag3', new YText('ghi'));
+ }),
+ ...getUpdates((doc, bots, masks) => {
+ masks.set('bot4:tag4', new YText('jfk'));
+ }),
+ ...getUpdates((doc, bots, masks) => {
+ masks.set('bot5:tag5', new YText('lmn'));
+ }),
+ ];
+
+ document.connect();
+
+ await waitAsync();
+
+ addAtoms.next({
+ type: 'repo/add_updates',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ updates,
+ initial: true,
+ });
+
+ await waitAsync();
+
+ expect(events).toEqual([
+ ...updates,
+ {
+ type: 'sync',
+ synced: true,
+ },
+ ]);
+ });
+
// describe('remote events', () => {
// it('should send the remote event to the server', async () => {
// await partition.sendRemoteEvents([
diff --git a/src/aux-common/documents/RemoteYjsSharedDocument.ts b/src/aux-common/documents/RemoteYjsSharedDocument.ts
index c42a2cf219..015f6ad2c5 100644
--- a/src/aux-common/documents/RemoteYjsSharedDocument.ts
+++ b/src/aux-common/documents/RemoteYjsSharedDocument.ts
@@ -15,44 +15,11 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import {
- BehaviorSubject,
- filter,
- firstValueFrom,
- Observable,
- startWith,
- Subject,
- Subscription,
-} from 'rxjs';
+import { filter, firstValueFrom, Subscription } from 'rxjs';
import type { SharedDocument } from './SharedDocument';
-import {
- RelativePosition,
- SharedArray,
- SharedArrayChanges,
- SharedArrayDelta,
- SharedMap,
- SharedMapChanges,
- SharedText,
- SharedTextChanges,
- SharedTextDelta,
- SharedType,
- SharedTypeChanges,
-} from './SharedDocument';
+
import type { Doc, Transaction } from 'yjs';
-import {
- createRelativePositionFromTypeIndex,
- createAbsolutePositionFromRelativePosition,
- AbstractType as YType,
- Map as YMap,
- Array as YArray,
- Text as YText,
- YMapEvent,
- YEvent,
- YArrayEvent,
- YTextEvent,
- encodeStateAsUpdate,
- applyUpdate,
-} from 'yjs';
+import { encodeStateAsUpdate } from 'yjs';
import type {
ClientError,
ClientEvent,
@@ -64,13 +31,8 @@ import type {
import type { SharedDocumentConfig } from './SharedDocumentConfig';
import type { PartitionAuthSource } from '../partitions/PartitionAuthSource';
import { YjsIndexedDBPersistence } from '../yjs/YjsIndexedDBPersistence';
-import { fromByteArray, toByteArray } from 'base64-js';
-import {
- Action,
- CurrentVersion,
- getConnectionId,
- StatusUpdate,
-} from '../common';
+import { fromByteArray } from 'base64-js';
+import { getConnectionId } from '../common';
import {
YjsSharedDocument,
APPLY_UPDATES_TO_INST_TRANSACTION_ORIGIN,
@@ -105,6 +67,7 @@ export class RemoteYjsSharedDocument
protected _temporary: boolean;
protected _readOnly: boolean;
protected _authSource: PartitionAuthSource;
+ protected _markers: string[];
unsubscribe(): void {
this._sub.unsubscribe();
@@ -124,6 +87,7 @@ export class RemoteYjsSharedDocument
this._static = config.static;
this._skipInitialLoad = config.skipInitialLoad;
this._temporary = config.temporary;
+ this._markers = config.markers;
this._persistence = config.localPersistence;
this._synced = false;
this._authorized = false;
@@ -248,6 +212,7 @@ export class RemoteYjsSharedDocument
inst: this._inst,
branch: this._branch,
temporary: this._temporary,
+ markers: this._markers,
})
.subscribe({
next: (event) => {
@@ -411,9 +376,11 @@ export class RemoteYjsSharedDocument
});
}
this._synced = synced;
- this._onStatusUpdated.next({
- type: 'sync',
- synced: synced,
+ queueMicrotask(() => {
+ this._onStatusUpdated.next({
+ type: 'sync',
+ synced: synced,
+ });
});
}
}
diff --git a/src/aux-common/documents/SharedDocument.ts b/src/aux-common/documents/SharedDocument.ts
index dd002ec1a0..4209287632 100644
--- a/src/aux-common/documents/SharedDocument.ts
+++ b/src/aux-common/documents/SharedDocument.ts
@@ -22,6 +22,12 @@ import type { InstUpdate } from '../bots';
/**
* Defines an interface for objects that are able to synchronize data between multiple clients.
+ *
+ * @dochash types/documents
+ * @doctitle Shared Documents
+ * @docdescription Shared documents are used to synchronize data between multiple clients in real-time. They can be used to store maps, arrays, and text that can be shared and updated by multiple users.
+ * @docsidebar Documents
+ * @docname SharedDocument
*/
export interface SharedDocument extends SubscriptionLike {
/**
@@ -62,6 +68,11 @@ export interface SharedDocument extends SubscriptionLike {
*/
onEvents: Observable;
+ /**
+ * Gets the observable list of updates from the partition.
+ */
+ onUpdates: Observable;
+
/**
* Gets the observable list of status updates from the partition.
*/
@@ -119,14 +130,35 @@ export interface SharedDocument extends SubscriptionLike {
getStateUpdate(): InstUpdate;
/**
- * Applies the given updates to the document.
+ * Applies the given inst updates to the document.
* @param updates The updates to apply.
*/
applyStateUpdates(updates: InstUpdate[]): void;
+
+ /**
+ * Applies the given raw updates to the document.
+ * @param updates The updates to apply.
+ */
+ applyUpdates(updates: string[]): void;
}
+/**
+ * Defienes a type that can be shared between multiple clients.
+ * This can be a map, array, or text.
+ *
+ * @dochash types/documents
+ * @docid SharedType
+ */
export type SharedType = SharedMap | SharedArray | SharedText;
+/**
+ * Defines the type of changes that can occur in a shared document.
+ *
+ * This can be a change to a map, array, or text.
+ *
+ * @dochash types/documents
+ * @docid SharedTypeChanges
+ */
export type SharedTypeChanges =
| SharedMapChanges
| SharedArrayChanges
@@ -145,7 +177,10 @@ export interface SharedTypeBase {
}
/**
- * Defines a map that can be shared between multiple clients.
+ * Defines a [map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) that can be shared between multiple clients.
+ *
+ * @dochash types/documents
+ * @docid SharedMap
*/
export interface SharedMap extends SharedTypeBase {
/**
@@ -231,7 +266,10 @@ export interface SharedMap extends SharedTypeBase {
}
/**
- * Defines an array that can be shared between multiple clients.
+ * Defines an [array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) that can be shared between multiple clients.
+ *
+ * @dochash types/documents
+ * @docid SharedArray
*/
export interface SharedArray extends SharedTypeBase {
/**
@@ -262,7 +300,7 @@ export interface SharedArray extends SharedTypeBase {
* Applies the given delta to the array.
* @param delta The delta to apply.
*/
- applyDelta(delta: SharedArrayDelta): void;
+ applyDelta(delta: SharedArrayOp[]): void;
/**
* Append items to the end of the array.
@@ -364,6 +402,9 @@ export interface SharedArray extends SharedTypeBase {
/**
* Defines an object that represents rich text that can be shared between multiple clients.
+ *
+ * @dochash types/documents
+ * @docid SharedText
*/
export interface SharedText extends SharedTypeBase {
/**
@@ -445,6 +486,12 @@ export interface SharedText extends SharedTypeBase {
readonly deepChanges: Observable;
}
+/**
+ * An object that represents changes that occurred in a shared map.
+ *
+ * @dochash types/documents
+ * @docid SharedMapChanges
+ */
export interface SharedMapChanges {
type: 'map';
@@ -459,6 +506,12 @@ export interface SharedMapChanges {
changes: Map>;
}
+/**
+ * Defines an individual change that occurred in a shared map.
+ *
+ * @dochash types/documents
+ * @docid SharedMapChange
+ */
export interface SharedMapChange {
/**
* The action that caused this change.
@@ -471,6 +524,12 @@ export interface SharedMapChange {
oldValue: T | undefined;
}
+/**
+ * An object that represents changes that occurred in a shared array.
+ *
+ * @dochash types/documents
+ * @docid SharedArrayChanges
+ */
export interface SharedArrayChanges {
type: 'array';
@@ -480,18 +539,28 @@ export interface SharedArrayChanges {
target: SharedArray;
/**
- * The changes that were made to the array.
+ * The array of changes that were made to the array.
*/
- delta: SharedArrayDelta;
+ delta: SharedArrayOp[];
}
-export type SharedArrayDelta = SharedArrayOp[];
-
+/**
+ * The possible individual changes that were made to a shared array.
+ *
+ * @dochash types/documents
+ * @docid SharedArrayOp
+ */
export type SharedArrayOp =
| SharedArrayPreserveOp
| SharedArrayInsertOp
| SharedArrayDeleteOp;
+/**
+ * An object that represents no changes to one or more individual items in a shared array.
+ *
+ * @dochash types/documents
+ * @docid SharedArrayPreserveOp
+ */
export interface SharedArrayPreserveOp {
type: 'preserve';
@@ -501,6 +570,12 @@ export interface SharedArrayPreserveOp {
count: number;
}
+/**
+ * An object that represents one or more items that were inserted into a shared array.
+ *
+ * @dochash types/documents
+ * @docid SharedArrayInsertOp
+ */
export interface SharedArrayInsertOp {
type: 'insert';
@@ -510,6 +585,12 @@ export interface SharedArrayInsertOp {
values: T[];
}
+/**
+ * An object that represents one or more items that were deleted from a shared array.
+ *
+ * @dochash types/documents
+ * @docid SharedArrayDeleteOp
+ */
export interface SharedArrayDeleteOp {
type: 'delete';
@@ -519,6 +600,12 @@ export interface SharedArrayDeleteOp {
count: number;
}
+/**
+ * An object that represents changes that occurred in a shared text object.
+ *
+ * @dochash types/documents
+ * @docid SharedTextChanges
+ */
export interface SharedTextChanges {
type: 'text';
@@ -533,13 +620,31 @@ export interface SharedTextChanges {
delta: SharedTextDelta;
}
+/**
+ * The array of changes that were made to the text.
+ *
+ * @dochash types/documents
+ * @docid SharedTextDelta
+ */
export type SharedTextDelta = SharedTextOp[];
+/**
+ * The possible individual changes that were made to the text.
+ *
+ * @dochash types/documents
+ * @docid SharedTextOp
+ */
export type SharedTextOp =
| SharedTextPreserveOp
| SharedTextInsertOp
| SharedTextDeleteOp;
+/**
+ * An object that represents no changes to one or more individual characters in a shared text object.
+ *
+ * @dochash types/documents
+ * @docid SharedTextPreserveOp
+ */
export interface SharedTextPreserveOp {
type: 'preserve';
@@ -549,6 +654,12 @@ export interface SharedTextPreserveOp {
count: number;
}
+/**
+ * An object that represents one or more characters that were inserted into a shared text object.
+ *
+ * @dochash types/documents
+ * @docid SharedTextInsertOp
+ */
export interface SharedTextInsertOp {
type: 'insert';
@@ -563,6 +674,12 @@ export interface SharedTextInsertOp {
attributes: Record;
}
+/**
+ * An object that represents one or more characters that were deleted from a shared text object.
+ *
+ * @dochash types/documents
+ * @docid SharedTextDeleteOp
+ */
export interface SharedTextDeleteOp {
type: 'delete';
@@ -572,4 +689,12 @@ export interface SharedTextDeleteOp {
count: number;
}
+/**
+ * An object that represents a position in a shared text object that is relative to a specific character in the text.
+ *
+ * No properties are defined on this interface since the implementation is internal.
+ *
+ * @dochash types/documents
+ * @docid RelativePosition
+ */
export interface RelativePosition {}
diff --git a/src/aux-common/documents/SharedDocumentConfig.ts b/src/aux-common/documents/SharedDocumentConfig.ts
index f4b01b3ec5..014d9deaa0 100644
--- a/src/aux-common/documents/SharedDocumentConfig.ts
+++ b/src/aux-common/documents/SharedDocumentConfig.ts
@@ -60,6 +60,13 @@ export interface SharedDocumentConfig {
*/
temporary?: boolean;
+ /**
+ * The markers that should be set on the inst if it is new.
+ * If the inst already exists, this field is ignored.
+ * If not provided, the default markers will be used (publicRead for public insts, private for record-based insts).
+ */
+ markers?: string[];
+
/**
* The options for local persistence of the document.
* If not provided, then the document will not be persisted locally.
diff --git a/src/aux-common/documents/YjsSharedDocument.ts b/src/aux-common/documents/YjsSharedDocument.ts
index ddb51de48d..38e8c55136 100644
--- a/src/aux-common/documents/YjsSharedDocument.ts
+++ b/src/aux-common/documents/YjsSharedDocument.ts
@@ -17,8 +17,6 @@
*/
import {
BehaviorSubject,
- filter,
- firstValueFrom,
Observable,
startWith,
Subject,
@@ -36,7 +34,6 @@ import {
createRelativePositionFromTypeIndex,
createAbsolutePositionFromRelativePosition,
Doc,
- Transaction,
applyUpdate,
encodeStateAsUpdate,
} from 'yjs';
@@ -45,13 +42,13 @@ import type {
SharedMap,
SharedArray,
SharedText,
- SharedArrayDelta,
SharedTextDelta,
SharedDocument,
SharedType,
SharedMapChanges,
SharedArrayChanges,
SharedTextChanges,
+ SharedArrayOp,
} from './SharedDocument';
import { fromByteArray, toByteArray } from 'base64-js';
import type { InstUpdate } from '../bots';
@@ -291,6 +288,10 @@ export class YjsSharedDocument implements SharedDocument {
);
}
+ applyUpdates(updates: string[]): void {
+ this._applyUpdates(updates, APPLY_UPDATES_TO_INST_TRANSACTION_ORIGIN);
+ }
+
/**
* Applies the given updates to the YJS document.
* @param updates The updates to apply.
@@ -334,8 +335,8 @@ function convertEvent(event: YEvent): SharedTypeChanges {
function convertArrayDelta(
delta: YArrayEvent['delta']
-): SharedArrayDelta {
- let ops: SharedArrayDelta = [];
+): SharedArrayOp[] {
+ let ops: SharedArrayOp[] = [];
for (let op of delta) {
if (op.insert) {
ops.push({
@@ -558,7 +559,7 @@ export class YjsSharedArray
delete(index: number, count: number): void {
this.type.delete(index, count);
}
- applyDelta(delta: SharedArrayDelta): void {
+ applyDelta(delta: SharedArrayOp[]): void {
let index = 0;
for (let op of delta) {
if (op.type === 'preserve') {
diff --git a/src/aux-common/documents/test/DocumentTests.ts b/src/aux-common/documents/test/DocumentTests.ts
index c5d7e4e1ef..4e1d68c312 100644
--- a/src/aux-common/documents/test/DocumentTests.ts
+++ b/src/aux-common/documents/test/DocumentTests.ts
@@ -15,14 +15,12 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { map } from 'lodash';
import type { CurrentVersion, StatusUpdate } from '../../common';
import type {
SharedArrayChanges,
SharedDocument,
SharedMapChanges,
} from '../SharedDocument';
-import { SharedMapChange } from '../SharedDocument';
import { Subscription } from 'rxjs';
import { waitAsync } from '../../test/TestHelpers';
diff --git a/src/aux-records/forms/FormError.spec.ts b/src/aux-common/forms/FormError.spec.ts
similarity index 98%
rename from src/aux-records/forms/FormError.spec.ts
rename to src/aux-common/forms/FormError.spec.ts
index c3eea0c65a..dd0df0f542 100644
--- a/src/aux-records/forms/FormError.spec.ts
+++ b/src/aux-common/forms/FormError.spec.ts
@@ -15,13 +15,12 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import type { KnownErrorCodes } from '@casual-simulation/aux-common';
+import type { KnownErrorCodes } from '../rpc/ErrorCodes';
import {
ADDRESS_FIELD,
CODE_FIELD,
DISPLAY_NAME_FIELD,
EMAIL_FIELD,
- FormError,
PARENT_EMAIL_FIELD,
getFormErrors,
} from './FormError';
diff --git a/src/aux-records/forms/FormError.ts b/src/aux-common/forms/FormError.ts
similarity index 97%
rename from src/aux-records/forms/FormError.ts
rename to src/aux-common/forms/FormError.ts
index a6536adcfb..9e5b20d12b 100644
--- a/src/aux-records/forms/FormError.ts
+++ b/src/aux-common/forms/FormError.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import type { KnownErrorCodes } from '@casual-simulation/aux-common';
+import type { KnownErrorCodes } from '../rpc/ErrorCodes';
import type { ZodIssue } from 'zod';
export const EMAIL_FIELD = 'email';
diff --git a/src/aux-records/forms/index.ts b/src/aux-common/forms/index.ts
similarity index 100%
rename from src/aux-records/forms/index.ts
rename to src/aux-common/forms/index.ts
diff --git a/src/aux-common/http/GenericHttpInterface.ts b/src/aux-common/http/GenericHttpInterface.ts
index 89a17535da..d7e1def2f5 100644
--- a/src/aux-common/http/GenericHttpInterface.ts
+++ b/src/aux-common/http/GenericHttpInterface.ts
@@ -57,8 +57,9 @@ export interface GenericHttpRequest {
/**
* The IP address that the request is from.
+ * Null if the IP address is not available.
*/
- ipAddress: string;
+ ipAddress: string | null;
}
/**
diff --git a/src/aux-common/index.ts b/src/aux-common/index.ts
index 97b389d641..e6ac59a861 100644
--- a/src/aux-common/index.ts
+++ b/src/aux-common/index.ts
@@ -29,3 +29,5 @@ export * from './common';
export * from './websockets';
export * from './http';
export * from './rpc';
+export * from './records';
+export * from './forms';
diff --git a/src/aux-common/math/Quaternion.spec.ts b/src/aux-common/math/Quaternion.spec.ts
index fa1cd6f5c3..63bd7f09a8 100644
--- a/src/aux-common/math/Quaternion.spec.ts
+++ b/src/aux-common/math/Quaternion.spec.ts
@@ -15,10 +15,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { MathUtils } from 'three';
import { Quaternion } from './Quaternion';
-import { Vector2 } from './Vector2';
-import { Vector3 } from './Vector3';
describe('Quaternion', () => {
it('should default to (0, 0, 0, 1)', () => {
diff --git a/src/aux-common/package.json b/src/aux-common/package.json
index 6eebbedf1c..34b1a2335a 100644
--- a/src/aux-common/package.json
+++ b/src/aux-common/package.json
@@ -1,6 +1,6 @@
{
"name": "@casual-simulation/aux-common",
- "version": "3.4.0",
+ "version": "3.8.0",
"description": "Common library for AUX projects",
"main": "index.js",
"types": "index.d.ts",
@@ -32,15 +32,15 @@
"access": "public"
},
"dependencies": {
- "@casual-simulation/crypto": "^3.4.0",
+ "@casual-simulation/crypto": "^3.5.0",
"@casual-simulation/engine262": "0.0.1-4de2170374e22761996e46eb1362f4496ee57f8f",
"@casual-simulation/error-stack-parser": "^2.0.7",
- "@casual-simulation/expect": "^3.1.28",
- "@casual-simulation/fast-json-stable-stringify": "^3.4.0",
- "@casual-simulation/js-interpreter": "^3.4.0",
+ "@casual-simulation/expect": "^3.5.0",
+ "@casual-simulation/fast-json-stable-stringify": "^3.5.0",
+ "@casual-simulation/js-interpreter": "^3.5.0",
"@casual-simulation/stacktrace": "^3.1.11",
"@casual-simulation/three": "^0.140.3",
- "@casual-simulation/timesync": "^3.4.0",
+ "@casual-simulation/timesync": "^3.7.0",
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/resources": "^1.25.1",
"@opentelemetry/semantic-conventions": "^1.25.1",
@@ -49,6 +49,7 @@
"@types/uuid": "10.0.0",
"astring": "1.7.5",
"base64-js": "^1.5.1",
+ "es-toolkit": "1.39.10",
"estraverse": "^5.2.0",
"expect": "27.3.1",
"hash.js": "1.1.7",
diff --git a/src/aux-common/partitions/AuxPartition.spec.ts b/src/aux-common/partitions/AuxPartition.spec.ts
index 61ab526f20..a009965e43 100644
--- a/src/aux-common/partitions/AuxPartition.spec.ts
+++ b/src/aux-common/partitions/AuxPartition.spec.ts
@@ -15,8 +15,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { AuxPartitions, iteratePartitions } from './AuxPartition';
-import { MemoryPartitionImpl } from './MemoryPartition';
+import { iteratePartitions } from './AuxPartition';
describe('iteratePartitions()', () => {
const shared = { shared: true };
diff --git a/src/aux-common/partitions/AuxPartition.ts b/src/aux-common/partitions/AuxPartition.ts
index 9cfabb3d91..251363b9f1 100644
--- a/src/aux-common/partitions/AuxPartition.ts
+++ b/src/aux-common/partitions/AuxPartition.ts
@@ -29,7 +29,6 @@ import type {
StateUpdatedEvent,
} from '../bots';
import {
- PartialBotsState,
TEMPORARY_BOT_PARTITION_ID,
COOKIE_BOT_PARTITION_ID,
BOOTSTRAP_PARTITION_ID,
@@ -37,7 +36,7 @@ import {
REMOTE_TEMPORARY_SHARED_PARTITION_ID,
} from '../bots';
import type { Observable, SubscriptionLike } from 'rxjs';
-import { sortBy } from 'lodash';
+import { sortBy } from 'es-toolkit/compat';
/**
* Defines an interface that maps Bot IDs to their corresponding partitions.
@@ -317,6 +316,10 @@ export function* iteratePartitions(
continue;
}
- yield [key, partitions[key]] as const;
+ const val = partitions[key];
+ if (!val) {
+ continue;
+ }
+ yield [key, val] as const;
}
}
diff --git a/src/aux-common/partitions/AuxPartitionConfig.ts b/src/aux-common/partitions/AuxPartitionConfig.ts
index bd26ca8766..908b634040 100644
--- a/src/aux-common/partitions/AuxPartitionConfig.ts
+++ b/src/aux-common/partitions/AuxPartitionConfig.ts
@@ -17,13 +17,11 @@
*/
import type { InstRecordsClient } from '../websockets';
import type { BotsState } from '../bots';
-import { RemoteBotActions } from '../bots';
import type {
AuxPartition,
MemoryPartition,
AuxPartitionRealtimeStrategy,
} from './AuxPartition';
-import { ProxyBridgePartition, YjsPartition } from './AuxPartition';
/**
* Defines a set of options for configuring partitioning of bots.
diff --git a/src/aux-common/partitions/AuxPartitionFactories.ts b/src/aux-common/partitions/AuxPartitionFactories.ts
index b1a7570cc5..9831c862f5 100644
--- a/src/aux-common/partitions/AuxPartitionFactories.ts
+++ b/src/aux-common/partitions/AuxPartitionFactories.ts
@@ -17,9 +17,6 @@
*/
import type { PartitionConfig } from './AuxPartitionConfig';
import type { AuxPartition } from './AuxPartition';
-import { MemoryPartition } from './AuxPartition';
-import { BotsState, BotAction, Bot, UpdatedBot } from '../bots';
-import { Observable, Subject } from 'rxjs';
import type { PartitionAuthSource } from './PartitionAuthSource';
export interface AuxPartitionServices {
diff --git a/src/aux-common/partitions/MemoryPartition.ts b/src/aux-common/partitions/MemoryPartition.ts
index bc400975a0..ab0be21d2d 100644
--- a/src/aux-common/partitions/MemoryPartition.ts
+++ b/src/aux-common/partitions/MemoryPartition.ts
@@ -36,7 +36,6 @@ import type {
BotSpace,
} from '../bots';
import {
- tagsOnBot,
hasValue,
getActiveObjects,
breakIntoIndividualEvents,
@@ -45,7 +44,7 @@ import {
import type { Observable } from 'rxjs';
import { BehaviorSubject, Subject } from 'rxjs';
import { startWith } from 'rxjs/operators';
-import { flatMap, union } from 'lodash';
+import { union } from 'es-toolkit/compat';
import { merge } from '../utils';
import type { TagEdit, TagEditOp } from '../bots';
import { applyTagEdit, edits, isTagEdit } from '../bots';
@@ -149,7 +148,7 @@ export class MemoryPartitionImpl implements MemoryPartition {
}
async applyEvents(events: BotAction[]): Promise {
- let finalEvents = flatMap(events, (e) => {
+ let finalEvents = events.flatMap((e) => {
if (e.type === 'apply_state') {
return breakIntoIndividualEvents(this.state, e);
} else if (
@@ -220,6 +219,10 @@ export class MemoryPartitionImpl implements MemoryPartition {
...ensureBotIsSerializable(event.bot),
space: this.space as BotSpace,
};
+ const existingBot = this.state[event.bot.id];
+ if (existingBot && existingBot.masks) {
+ bot.masks = existingBot.masks;
+ }
if (createdNewState) {
this.state[event.bot.id] = bot;
} else {
@@ -317,7 +320,7 @@ export class MemoryPartitionImpl implements MemoryPartition {
bot: newBot,
tags: changedTags,
});
- } else {
+ } else if (!added.has(event.id)) {
delete updatedState[event.id];
}
}
diff --git a/src/aux-common/partitions/OtherPlayersPartition.spec.ts b/src/aux-common/partitions/OtherPlayersPartition.spec.ts
index 1219f97f11..037a120e30 100644
--- a/src/aux-common/partitions/OtherPlayersPartition.spec.ts
+++ b/src/aux-common/partitions/OtherPlayersPartition.spec.ts
@@ -15,9 +15,8 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { testPartitionImplementation } from './test/PartitionTests';
import { OtherPlayersPartitionImpl } from './OtherPlayersPartition';
-import { BehaviorSubject, Subject, Subscription, firstValueFrom } from 'rxjs';
+import { Subject, Subscription, firstValueFrom } from 'rxjs';
import type { Bot, UpdatedBot, StateUpdatedEvent } from '../bots';
import {
createBot,
@@ -33,13 +32,12 @@ import {
botUpdated,
} from '../bots';
import type { OtherPlayersRepoPartitionConfig } from './AuxPartitionConfig';
-import { waitAsync, wait } from '../test/TestHelpers';
+import { waitAsync } from '../test/TestHelpers';
import { takeWhile, bufferCount, skip } from 'rxjs/operators';
-import { createDocFromUpdates, getUpdates } from '../test/YjsTestHelpers';
import { YjsPartitionImpl } from './YjsPartition';
import { encodeStateAsUpdate } from 'yjs';
import { fromByteArray } from 'base64-js';
-import { cloneDeep } from 'lodash';
+import { cloneDeep } from 'es-toolkit/compat';
import type { Action } from '../common';
import { connectionInfo, remote } from '../common';
import type {
@@ -423,6 +421,203 @@ describe('OtherPlayersPartition', () => {
});
});
+ describe('rapid refresh handling - BUG FIX VERIFICATION', () => {
+ it('should not register self as a remote device when connection state updates', async () => {
+ partition.connect();
+ await waitAsync();
+
+ const events = [] as Action[];
+ partition.onEvents.subscribe((e) => events.push(...e));
+ const selfConnection = connectionInfo(
+ 'testUser',
+ 'testDevice',
+ 'test'
+ );
+
+ deviceConnected.next({
+ type: 'repo/connected_to_branch',
+ broadcast: false,
+ branch: {
+ type: 'repo/watch_branch',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ },
+ connection: selfConnection,
+ });
+
+ await waitAsync();
+ const joinEvents = events.filter(
+ (e) =>
+ e.type === ON_REMOTE_JOINED_ACTION_NAME ||
+ e.type ===
+ ON_REMOTE_PLAYER_SUBSCRIBED_ACTION_NAME
+ );
+
+ expect(joinEvents).toEqual([]);
+ await partition.sendRemoteEvents([
+ remote(
+ getRemotes(),
+ undefined,
+ undefined,
+ 'self-test'
+ ),
+ ]);
+
+ const result = events.find(
+ (e) =>
+ e.type === 'async_result' &&
+ (e as any).taskId === 'self-test'
+ ) as any;
+
+ expect(result.result).toEqual(['test']);
+ });
+
+ it('should handle rapid browser refresh without creating ghost connections', async () => {
+ partition.connect();
+ await waitAsync();
+
+ const events = [] as Action[];
+ partition.onEvents.subscribe((e) => events.push(...e));
+
+ const originalTab = connectionInfo(
+ 'user1',
+ 'browser-tab',
+ 'session-v1'
+ );
+ deviceConnected.next({
+ type: 'repo/connected_to_branch',
+ broadcast: false,
+ branch: {
+ type: 'repo/watch_branch',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ },
+ connection: originalTab,
+ });
+
+ await waitAsync();
+
+ const refreshedTab = connectionInfo(
+ 'user1',
+ 'browser-tab',
+ 'session-v2'
+ );
+ deviceConnected.next({
+ type: 'repo/connected_to_branch',
+ broadcast: false,
+ branch: {
+ type: 'repo/watch_branch',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ },
+ connection: refreshedTab,
+ });
+
+ await waitAsync();
+
+ deviceDisconnected.next({
+ type: 'repo/disconnected_from_branch',
+ broadcast: false,
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ connection: originalTab,
+ });
+
+ await waitAsync();
+ await partition.sendRemoteEvents([
+ remote(
+ getRemotes(),
+ undefined,
+ undefined,
+ 'refresh-check'
+ ),
+ ]);
+
+ const result = events.find(
+ (e) =>
+ e.type === 'async_result' &&
+ (e as any).taskId === 'refresh-check'
+ ) as any;
+
+ expect(result).toBeDefined();
+ expect(result.result.sort()).toEqual(
+ ['session-v2', 'test'].sort()
+ );
+ expect(result.result).not.toContain('session-v1');
+ });
+
+ it('should handle multiple rapid refreshes in succession', async () => {
+ partition.connect();
+ await waitAsync();
+
+ const events = [] as Action[];
+ partition.onEvents.subscribe((e) => events.push(...e));
+
+ const sessions = [];
+ for (let i = 1; i <= 5; i++) {
+ const session = connectionInfo(
+ 'user1',
+ 'tab',
+ `session-${i}`
+ );
+ sessions.push(session);
+
+ deviceConnected.next({
+ type: 'repo/connected_to_branch',
+ broadcast: false,
+ branch: {
+ type: 'repo/watch_branch',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ },
+ connection: session,
+ });
+
+ await waitAsync();
+
+ if (i > 1) {
+ deviceDisconnected.next({
+ type: 'repo/disconnected_from_branch',
+ broadcast: false,
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ connection: sessions[i - 2],
+ });
+ }
+ }
+
+ await waitAsync();
+ await partition.sendRemoteEvents([
+ remote(
+ getRemotes(),
+ undefined,
+ undefined,
+ 'multi-refresh'
+ ),
+ ]);
+
+ const result = events.find(
+ (e) =>
+ e.type === 'async_result' &&
+ (e as any).taskId === 'multi-refresh'
+ ) as any;
+
+ expect(result.result.sort()).toEqual(
+ ['session-5', 'test'].sort()
+ );
+
+ for (let i = 1; i < 5; i++) {
+ expect(result.result).not.toContain(`session-${i}`);
+ }
+ });
+ });
+
describe('other_players', () => {
it('should watch for other devices', async () => {
partition.connect();
diff --git a/src/aux-common/partitions/OtherPlayersPartition.ts b/src/aux-common/partitions/OtherPlayersPartition.ts
index f426f65de1..b9e8b09a16 100644
--- a/src/aux-common/partitions/OtherPlayersPartition.ts
+++ b/src/aux-common/partitions/OtherPlayersPartition.ts
@@ -37,24 +37,19 @@ import type {
} from '../bots';
import {
getActiveObjects,
- breakIntoIndividualEvents,
- AddBotAction,
- RemoveBotAction,
- UpdateBotAction,
asyncResult,
action,
ON_REMOTE_PLAYER_SUBSCRIBED_ACTION_NAME,
ON_REMOTE_PLAYER_UNSUBSCRIBED_ACTION_NAME,
stateUpdatedEvent,
applyUpdates,
- isBot,
ON_REMOTE_JOINED_ACTION_NAME,
ON_REMOTE_LEAVE_ACTION_NAME,
} from '../bots';
import type { Observable } from 'rxjs';
import { BehaviorSubject, Subject, Subscription, firstValueFrom } from 'rxjs';
-import { filter, first, skip, startWith } from 'rxjs/operators';
-import { sortBy } from 'lodash';
+import { filter, skip, startWith } from 'rxjs/operators';
+import { sortBy } from 'es-toolkit/compat';
import { createRemoteClientYjsPartition } from './RemoteYjsPartition';
import type { InstRecordsClient } from '../websockets';
import type {
@@ -139,6 +134,7 @@ export class OtherPlayersPartitionImpl implements OtherPlayersPartition {
private: boolean;
private _childParitionType: OtherPlayersClientPartitionConfig['childPartitionType'];
+ private _currentConnectionId: string | null = null;
get space(): string {
return this._space;
@@ -192,6 +188,8 @@ export class OtherPlayersPartitionImpl implements OtherPlayersPartition {
}
unsubscribe() {
+ this._cleanupAllDevices();
+
this._sub.unsubscribe();
for (let sub of this._partitionSubs.values()) {
sub.unsubscribe();
@@ -304,6 +302,14 @@ export class OtherPlayersPartitionImpl implements OtherPlayersPartition {
});
}
+ private _cleanupAllDevices() {
+ for (let [connectionId, device] of this._devices.entries()) {
+ this._unregisterDevice(device.deviceInfo);
+ this._tryUnloadBranchForDevice(device.deviceInfo);
+ }
+ this._devices.clear();
+ }
+
private _watchDevices() {
this._sub.add(
this._client.connection.connectionState.subscribe((state) => {
@@ -312,7 +318,11 @@ export class OtherPlayersPartitionImpl implements OtherPlayersPartition {
type: 'connection',
connected: !!connected,
});
+
if (connected) {
+ this._currentConnectionId =
+ state.info?.connectionId ?? null;
+
this._onStatusUpdated.next({
type: 'authentication',
authenticated: true,
@@ -323,6 +333,8 @@ export class OtherPlayersPartitionImpl implements OtherPlayersPartition {
authorized: true,
});
} else {
+ this._cleanupAllDevices();
+ this._currentConnectionId = null;
this._updateSynced(false);
}
})
@@ -337,7 +349,7 @@ export class OtherPlayersPartitionImpl implements OtherPlayersPartition {
if (
event.connection.connectionId ===
- this._client.connection.info.connectionId
+ this._client.connection.info?.connectionId
) {
return;
}
@@ -362,6 +374,9 @@ export class OtherPlayersPartitionImpl implements OtherPlayersPartition {
}
private _registerDevice(device: ConnectionInfo) {
+ if (device.connectionId === this._currentConnectionId) {
+ return;
+ }
if (this._devices.has(device.connectionId)) {
let connected = this._devices.get(device.connectionId);
connected.connectionCount += 1;
diff --git a/src/aux-common/partitions/PartitionAuthSource.ts b/src/aux-common/partitions/PartitionAuthSource.ts
index cbee424cab..5ff94182fd 100644
--- a/src/aux-common/partitions/PartitionAuthSource.ts
+++ b/src/aux-common/partitions/PartitionAuthSource.ts
@@ -266,6 +266,11 @@ export interface PartitionAuthRequest {
*/
errorMessage?: string;
+ /**
+ * The indicator that was used to connect.
+ */
+ indicator?: ConnectionIndicator;
+
/**
* The denial reason. Only present if the kind is "not_authorized".
*/
diff --git a/src/aux-common/partitions/PartitionUtils.spec.ts b/src/aux-common/partitions/PartitionUtils.spec.ts
index 3793b13b41..1c896c0706 100644
--- a/src/aux-common/partitions/PartitionUtils.spec.ts
+++ b/src/aux-common/partitions/PartitionUtils.spec.ts
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
import { fromByteArray, toByteArray } from 'base64-js';
-import { applyUpdate, encodeStateAsUpdate } from 'yjs';
+import { applyUpdate } from 'yjs';
import type { InstUpdate } from '../bots';
import {
ORIGINAL_OBJECT,
@@ -78,6 +78,51 @@ describe('constructInitializationUpdate()', () => {
}),
});
});
+
+ it('should support two different initialization updates', async () => {
+ const action1 = createInitializationUpdate([
+ createBot('test1', {
+ abc: 'def',
+ }),
+ createBot('test2', {
+ num: 123,
+ }),
+ ]);
+
+ const update1 = constructInitializationUpdate(action1);
+
+ const action2 = createInitializationUpdate([
+ createBot('test3', {
+ val: true,
+ }),
+ createBot('test4', {
+ str: 'hello',
+ }),
+ ]);
+
+ const update2 = constructInitializationUpdate(action2);
+
+ const validationPartition = new YjsPartitionImpl({
+ type: 'yjs',
+ });
+ applyUpdate(validationPartition.doc, toByteArray(update1.update));
+ applyUpdate(validationPartition.doc, toByteArray(update2.update));
+
+ expect(validationPartition.state).toEqual({
+ test1: createBot('test1', {
+ abc: 'def',
+ }),
+ test2: createBot('test2', {
+ num: 123,
+ }),
+ test3: createBot('test3', {
+ val: true,
+ }),
+ test4: createBot('test4', {
+ str: 'hello',
+ }),
+ });
+ });
});
describe('getStateFromUpdates()', () => {
diff --git a/src/aux-common/partitions/PartitionUtils.ts b/src/aux-common/partitions/PartitionUtils.ts
index fc2ba804cb..6f11576a8c 100644
--- a/src/aux-common/partitions/PartitionUtils.ts
+++ b/src/aux-common/partitions/PartitionUtils.ts
@@ -38,11 +38,10 @@ import {
import { YjsPartitionImpl } from './YjsPartition';
import { DateTime } from 'luxon';
import { Rotation, Vector2, Vector3 } from '../math';
-import { forOwn } from 'lodash';
+import { forOwn } from 'es-toolkit/compat';
import '../BlobPolyfill';
import type { PartitionRemoteEvents } from './AuxPartitionConfig';
import type { RemoteActions } from '../common';
-import { RemoteAction } from '../common';
/**
* Creates a new initialization update using the given action.
@@ -252,7 +251,7 @@ function deepTraverse(
}
} else {
for (let key in value) {
- const val = value[key];
+ const val = (value as Record)[key];
if (action(val) === false) {
return;
}
diff --git a/src/aux-common/partitions/RemoteYjsPartition.spec.ts b/src/aux-common/partitions/RemoteYjsPartition.spec.ts
index 3c940c010a..9cb9b6f845 100644
--- a/src/aux-common/partitions/RemoteYjsPartition.spec.ts
+++ b/src/aux-common/partitions/RemoteYjsPartition.spec.ts
@@ -21,6 +21,7 @@ import {
Subscription,
bufferCount,
firstValueFrom,
+ skip,
takeWhile,
} from 'rxjs';
import {
@@ -36,14 +37,15 @@ import { RemoteYjsPartitionImpl } from './RemoteYjsPartition';
import type {
AsyncAction,
Bot,
+ BotSpace,
InstUpdate,
StateUpdatedEvent,
+ StoredAux,
UpdatedBot,
} from '../bots';
import {
action,
applyUpdatesToInst,
- asyncError,
asyncResult,
botAdded,
botUpdated,
@@ -58,12 +60,12 @@ import {
stateUpdatedEvent,
getCurrentInstUpdate,
getRemoteCount,
+ installAuxFile,
} from '../bots';
import type { RemoteYjsPartitionConfig } from './AuxPartitionConfig';
-import { wait, waitAsync } from '../test/TestHelpers';
+import { waitAsync } from '../test/TestHelpers';
import { del, edit, insert, preserve } from '../bots';
import { createDocFromUpdates, getUpdates } from '../test/YjsTestHelpers';
-import { flatMap } from 'lodash';
import { YjsPartitionImpl } from './YjsPartition';
import type {
AddUpdatesMessage,
@@ -73,14 +75,13 @@ import type {
UpdatesReceivedMessage,
WatchBranchResultMessage,
} from '../websockets';
-import {
- DEFAULT_BRANCH_NAME,
- InstRecordsClient,
- MemoryConnectionClient,
-} from '../websockets';
+import { InstRecordsClient, MemoryConnectionClient } from '../websockets';
import type { Action, CurrentVersion, StatusUpdate } from '../common';
import { connectionInfo, device, remote } from '../common';
-import { getStateFromUpdates } from './PartitionUtils';
+import {
+ constructInitializationUpdate,
+ getStateFromUpdates,
+} from './PartitionUtils';
import type { PartitionAuthRequest } from './PartitionAuthSource';
import { PartitionAuthSource } from './PartitionAuthSource';
import { case1 } from './test/UpdateCases';
@@ -289,6 +290,111 @@ describe('RemoteYjsPartition', () => {
]);
});
+ it('should send the sync event after the updates are processed', async () => {
+ partition.space = 'test';
+
+ let events: (StatusUpdate | StateUpdatedEvent)[] = [];
+ partition.onStatusUpdated.subscribe((s) => {
+ if (s.type === 'sync') {
+ events.push(s);
+ }
+ });
+ partition.onStateUpdated
+ .pipe(skip(1))
+ .subscribe((s) => events.push(s));
+
+ partition.connect();
+
+ const updates = [
+ ...getUpdates((doc, bots) => {
+ bots.set('bot1', new YMap([['tag1', 'abc']]));
+ }),
+ ...getUpdates((doc, bots) => {
+ bots.set('bot2', new YMap([['tag2', 'def']]));
+ }),
+ ...getUpdates((doc, bots, masks) => {
+ masks.set('bot3:tag3', new YText('ghi'));
+ }),
+ ...getUpdates((doc, bots, masks) => {
+ masks.set('bot4:tag4', new YText('jfk'));
+ }),
+ ...getUpdates((doc, bots, masks) => {
+ masks.set('bot5:tag5', new YText('lmn'));
+ }),
+ ];
+
+ addAtoms.next({
+ type: 'repo/add_updates',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ updates,
+ initial: true,
+ });
+
+ await waitAsync();
+
+ expect(events).toEqual([
+ stateUpdatedEvent(
+ {
+ bot1: createBot(
+ 'bot1',
+ { tag1: 'abc' },
+ 'test' as BotSpace
+ ),
+ },
+ expect.any(Object)
+ ),
+ stateUpdatedEvent(
+ {
+ bot2: createBot(
+ 'bot2',
+ { tag2: 'def' },
+ 'test' as BotSpace
+ ),
+ },
+ expect.any(Object)
+ ),
+ stateUpdatedEvent(
+ {
+ bot3: {
+ masks: {
+ test: {
+ tag3: 'ghi',
+ },
+ },
+ },
+ },
+ expect.any(Object)
+ ),
+ stateUpdatedEvent(
+ {
+ bot4: {
+ masks: {
+ test: {
+ tag4: 'jfk',
+ },
+ },
+ },
+ },
+ expect.any(Object)
+ ),
+ stateUpdatedEvent(
+ {
+ bot5: {
+ masks: {
+ test: {
+ tag5: 'lmn',
+ },
+ },
+ },
+ },
+ expect.any(Object)
+ ),
+ { type: 'sync', synced: true },
+ ]);
+ });
+
describe('remote events', () => {
it('should send the remote event to the server', async () => {
await partition.sendRemoteEvents([
@@ -735,16 +841,14 @@ describe('RemoteYjsPartition', () => {
);
expect(updates).toHaveLength(2);
- const instUpdates = flatMap(
- updates,
- (u) => (u as AddUpdatesMessage).updates
- ).map((u, i) => ({
- id: i,
- update: u,
- }));
+ const instUpdates = updates
+ .flatMap((u) => (u as AddUpdatesMessage).updates)
+ .map((u, i) => ({
+ id: i,
+ update: u,
+ }));
- const instTimestamps = flatMap(
- updates,
+ const instTimestamps = updates.flatMap(
(u) => (u as AddUpdatesMessage).timestamps ?? []
);
@@ -1060,6 +1164,467 @@ describe('RemoteYjsPartition', () => {
});
});
+ describe('install_aux_file', () => {
+ it('should add the version 2 state to the inst', async () => {
+ setupPartition({
+ type: 'remote_yjs',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ host: 'testHost',
+ });
+
+ partition.connect();
+
+ const events = [] as Action[];
+ partition.onEvents.subscribe((e) => events.push(...e));
+
+ const update = constructInitializationUpdate(
+ createInitializationUpdate([
+ createBot('installed1', {
+ abc: 'def',
+ }),
+ createBot('installed2', {
+ abc: 'ghi',
+ }),
+ ])
+ );
+
+ const state: StoredAux = {
+ version: 2,
+ updates: [update],
+ };
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'default'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([
+ asyncResult('task1', null, false),
+ ]);
+
+ expect(partition.state).toEqual({
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ });
+
+ const addedAtoms = connection.sentMessages.filter(
+ (m) => m.type === 'repo/add_updates'
+ );
+ expect(addedAtoms).toEqual([
+ {
+ type: 'repo/add_updates',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ updates: state.updates.map((u) => u.update),
+ updateId: 1,
+ },
+ ]);
+ });
+
+ it('should add the version 1 state to the inst', async () => {
+ setupPartition({
+ type: 'remote_yjs',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ host: 'testHost',
+ });
+
+ partition.connect();
+
+ const events = [] as Action[];
+ partition.onEvents.subscribe((e) => events.push(...e));
+
+ const state: StoredAux = {
+ version: 1,
+ state: {
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ },
+ };
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'default'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([
+ asyncResult('task1', null, false),
+ ]);
+
+ expect(partition.state).toEqual({
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ });
+
+ const addedAtoms = connection.sentMessages.filter(
+ (m) => m.type === 'repo/add_updates'
+ );
+ expect(addedAtoms).toEqual([
+ {
+ type: 'repo/add_updates',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ updates: [expect.any(String)],
+ updateId: 1,
+ },
+ ]);
+ });
+
+ it('should overwrite existing bots when installing a version 1 aux with the default mode', async () => {
+ setupPartition({
+ type: 'remote_yjs',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ host: 'testHost',
+ });
+
+ partition.connect();
+
+ const events = [] as Action[];
+ partition.onEvents.subscribe((e) => events.push(...e));
+
+ const state: StoredAux = {
+ version: 1,
+ state: {
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ },
+ };
+
+ partition.applyEvents([
+ botAdded(
+ createBot('installed1', {
+ abc: 'xyz',
+ })
+ ),
+ botAdded(
+ createBot('installed2', {
+ abc: 'xyz',
+ })
+ ),
+ ]);
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'default'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([
+ asyncResult('task1', null, false),
+ ]);
+
+ expect(partition.state).toEqual({
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ });
+
+ const addedAtoms = connection.sentMessages.filter(
+ (m) => m.type === 'repo/add_updates'
+ );
+ expect(addedAtoms).toEqual([
+ {
+ type: 'repo/add_updates',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ updates: [expect.any(String)],
+ updateId: 1,
+ },
+ {
+ type: 'repo/add_updates',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ updates: [expect.any(String)],
+ updateId: 2,
+ },
+ ]);
+ });
+
+ it('should do nothing when installing a version 2 state again with the default mode', async () => {
+ setupPartition({
+ type: 'remote_yjs',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ host: 'testHost',
+ });
+
+ partition.connect();
+
+ const events = [] as Action[];
+ partition.onEvents.subscribe((e) => events.push(...e));
+
+ const update = constructInitializationUpdate(
+ createInitializationUpdate([
+ createBot('installed1', {
+ abc: 'def',
+ }),
+ createBot('installed2', {
+ abc: 'ghi',
+ }),
+ ])
+ );
+
+ const state: StoredAux = {
+ version: 2,
+ updates: [update],
+ };
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'default'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([
+ asyncResult('task1', null, false),
+ ]);
+
+ expect(partition.state).toEqual({
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ });
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'default'),
+ undefined,
+ undefined,
+ 'task2'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events.slice(1)).toEqual([
+ asyncResult('task2', null, false),
+ ]);
+
+ expect(partition.state).toEqual({
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ });
+
+ const addedAtoms = connection.sentMessages.filter(
+ (m) => m.type === 'repo/add_updates'
+ );
+ expect(addedAtoms).toEqual([
+ {
+ type: 'repo/add_updates',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ updates: state.updates.map((u) => u.update),
+ updateId: 1,
+ },
+ ]);
+ });
+
+ it('should create new bots from the version 2 aux if the mode is copy', async () => {
+ setupPartition({
+ type: 'remote_yjs',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ host: 'testHost',
+ });
+
+ partition.connect();
+
+ const events = [] as Action[];
+ partition.onEvents.subscribe((e) => events.push(...e));
+
+ const update = constructInitializationUpdate(
+ createInitializationUpdate([
+ createBot('installed1', {
+ abc: 'def',
+ }),
+ createBot('installed2', {
+ abc: 'ghi',
+ }),
+ ])
+ );
+
+ const state: StoredAux = {
+ version: 2,
+ updates: [update],
+ };
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'copy'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([
+ asyncResult('task1', null, false),
+ ]);
+
+ expect(Object.values(partition.state)).toEqual([
+ createBot(expect.any(String), {
+ abc: 'def',
+ }),
+ createBot(expect.any(String), {
+ abc: 'ghi',
+ }),
+ ]);
+
+ const addedAtoms = connection.sentMessages.filter(
+ (m) => m.type === 'repo/add_updates'
+ );
+ expect(addedAtoms).toEqual([
+ {
+ type: 'repo/add_updates',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ updates: [expect.any(String)],
+ updateId: 1,
+ },
+ ]);
+ });
+
+ it('should create new bots from the version 1 aux if the mode is copy', async () => {
+ setupPartition({
+ type: 'remote_yjs',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ host: 'testHost',
+ });
+
+ partition.connect();
+
+ const events = [] as Action[];
+ partition.onEvents.subscribe((e) => events.push(...e));
+
+ const state: StoredAux = {
+ version: 1,
+ state: {
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ },
+ };
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'copy'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([
+ asyncResult('task1', null, false),
+ ]);
+
+ expect(Object.values(partition.state)).toEqual([
+ createBot(expect.any(String), {
+ abc: 'def',
+ }),
+ createBot(expect.any(String), {
+ abc: 'ghi',
+ }),
+ ]);
+
+ const addedAtoms = connection.sentMessages.filter(
+ (m) => m.type === 'repo/add_updates'
+ );
+ expect(addedAtoms).toEqual([
+ {
+ type: 'repo/add_updates',
+ recordName: recordName,
+ inst: 'inst',
+ branch: 'testBranch',
+ updates: [expect.any(String)],
+ updateId: 1,
+ },
+ ]);
+ });
+ });
+
describe('rate_limit_exceeded', () => {
it('should emit a shout when the event is recieved', async () => {
setupPartition({
diff --git a/src/aux-common/partitions/RemoteYjsPartition.ts b/src/aux-common/partitions/RemoteYjsPartition.ts
index 5d9af7a463..7fd4a40500 100644
--- a/src/aux-common/partitions/RemoteYjsPartition.ts
+++ b/src/aux-common/partitions/RemoteYjsPartition.ts
@@ -21,6 +21,7 @@ import type {
GetRemoteCountAction,
AsyncAction,
ShoutAction,
+ InstallAuxAction,
} from '../bots';
import {
isTagEdit,
@@ -30,14 +31,14 @@ import {
edit,
ON_REMOTE_WHISPER_ACTION_NAME,
ON_REMOTE_DATA_ACTION_NAME,
+ getInstStateFromUpdates,
} from '../bots';
import type { Observable } from 'rxjs';
-import { Subscription, Subject, BehaviorSubject, firstValueFrom } from 'rxjs';
+import { BehaviorSubject } from 'rxjs';
import type {
AuxPartitionRealtimeStrategy,
YjsPartition,
} from './AuxPartition';
-import { CausalRepoPartition, MemoryPartition } from './AuxPartition';
import type {
BotAction,
Bot,
@@ -56,10 +57,7 @@ import type {
GetCurrentInstUpdateAction,
} from '../bots';
import {
- getActiveObjects,
breakIntoIndividualEvents,
- stateUpdatedEvent,
- PartialBotsState,
botAdded,
createBot,
botRemoved,
@@ -86,7 +84,6 @@ import {
YMapEvent,
createAbsolutePositionFromRelativePosition,
YTextEvent,
- encodeStateAsUpdate,
} from 'yjs';
import { MemoryPartitionImpl } from './MemoryPartition';
import {
@@ -96,7 +93,11 @@ import {
} from '../yjs/YjsHelpers';
import { fromByteArray, toByteArray } from 'base64-js';
import { YjsPartitionImpl } from './YjsPartition';
-import { ensureTagIsSerializable, supportsRemoteEvent } from './PartitionUtils';
+import {
+ ensureTagIsSerializable,
+ getStateFromUpdates,
+ supportsRemoteEvent,
+} from './PartitionUtils';
import type { RemoteActions, CurrentVersion, VersionVector } from '../common';
import { device } from '../common';
import type {
@@ -107,6 +108,7 @@ import type {
} from '../websockets';
import type { PartitionAuthSource } from './PartitionAuthSource';
import { RemoteYjsSharedDocument } from '../documents/RemoteYjsSharedDocument';
+import { v4 as uuid } from 'uuid';
/**
* Attempts to create a YjsPartition from the given config.
@@ -395,6 +397,48 @@ export class RemoteYjsPartitionImpl
} catch (err) {
this._onEvents.next([asyncError(event.taskId, err)]);
}
+ } else if (event.event.type === 'install_aux_file') {
+ const action = event.event;
+ try {
+ if (action.mode === 'copy') {
+ let bots: Bot[];
+ if (action.aux.version === 2) {
+ const state = getStateFromUpdates(
+ getInstStateFromUpdates(action.aux.updates)
+ );
+ bots = Object.values(state);
+ } else {
+ bots = Object.values(action.aux.state);
+ }
+
+ if (bots && bots.length > 0) {
+ this._applyEvents(
+ bots.map(
+ (b) =>
+ botAdded(
+ createBot(uuid(), b.tags)
+ ) as AddBotAction
+ )
+ );
+ }
+ } else {
+ if (action.aux.version === 2) {
+ this.applyStateUpdates(action.aux.updates);
+ } else if (action.aux.version === 1) {
+ this._applyEvents(
+ Object.values(action.aux.state).map((b) =>
+ botAdded(createBot(b.id, b.tags))
+ )
+ );
+ }
+ }
+
+ this._onEvents.next([
+ asyncResult(event.taskId, null, false),
+ ]);
+ } catch (err) {
+ this._onEvents.next([asyncError(event.taskId, err)]);
+ }
} else {
this._client.sendAction(
this._recordName,
diff --git a/src/aux-common/partitions/YjsPartition.spec.ts b/src/aux-common/partitions/YjsPartition.spec.ts
index f5cc85641b..ea4bb8ed88 100644
--- a/src/aux-common/partitions/YjsPartition.spec.ts
+++ b/src/aux-common/partitions/YjsPartition.spec.ts
@@ -17,7 +17,7 @@
*/
import type { Subscription } from 'rxjs';
import { firstValueFrom } from 'rxjs';
-import type { InstUpdate } from '../bots';
+import type { InstUpdate, StoredAux } from '../bots';
import {
applyUpdatesToInst,
asyncResult,
@@ -29,10 +29,10 @@ import {
getInstStateFromUpdates,
getRemoteCount,
getRemotes,
+ installAuxFile,
listInstUpdates,
} from '../bots';
import type { Map as YMap } from 'yjs';
-import { Text as YText } from 'yjs';
import type { Action } from '../common';
import { remote } from '../common';
import { testPartitionImplementation } from './test/PartitionTests';
@@ -42,6 +42,7 @@ import { waitAsync } from '../test/TestHelpers';
import { applyUpdate, encodeStateAsUpdate } from 'yjs';
import { fromByteArray, toByteArray } from 'base64-js';
import { case1 } from './test/UpdateCases';
+import { constructInitializationUpdate } from './PartitionUtils';
describe('YjsPartition', () => {
testPartitionImplementation(
@@ -159,6 +160,7 @@ describe('YjsPartition', () => {
create_initialization_update: true,
apply_updates_to_inst: true,
get_current_inst_update: true,
+ install_aux_file: true,
},
connectionId: 'connectionId',
});
@@ -544,5 +546,296 @@ describe('YjsPartition', () => {
]);
});
});
+
+ describe('install_aux_file', () => {
+ it('should add the version 2 state to the inst', async () => {
+ partition.connect();
+
+ const update = constructInitializationUpdate(
+ createInitializationUpdate([
+ createBot('installed1', {
+ abc: 'def',
+ }),
+ createBot('installed2', {
+ abc: 'ghi',
+ }),
+ ])
+ );
+
+ const state: StoredAux = {
+ version: 2,
+ updates: [update],
+ };
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'default'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([asyncResult('task1', null, false)]);
+
+ expect(partition.state).toEqual({
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ });
+ });
+
+ it('should add the version 1 state to the inst', async () => {
+ partition.connect();
+
+ const state: StoredAux = {
+ version: 1,
+ state: {
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ },
+ };
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'default'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([asyncResult('task1', null, false)]);
+
+ expect(partition.state).toEqual({
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ });
+ });
+
+ it('should overwrite existing bots when installing a version 1 aux with the default mode', async () => {
+ partition.connect();
+
+ const state: StoredAux = {
+ version: 1,
+ state: {
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ },
+ };
+
+ partition.applyEvents([
+ botAdded(
+ createBot('installed1', {
+ abc: 'xyz',
+ })
+ ),
+ botAdded(
+ createBot('installed2', {
+ abc: 'xyz',
+ })
+ ),
+ ]);
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'default'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([asyncResult('task1', null, false)]);
+
+ expect(partition.state).toEqual({
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ });
+ });
+
+ it('should do nothing when installing a version 2 state again with the default mode', async () => {
+ partition.connect();
+
+ const update = constructInitializationUpdate(
+ createInitializationUpdate([
+ createBot('installed1', {
+ abc: 'def',
+ }),
+ createBot('installed2', {
+ abc: 'ghi',
+ }),
+ ])
+ );
+
+ const state: StoredAux = {
+ version: 2,
+ updates: [update],
+ };
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'default'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([asyncResult('task1', null, false)]);
+
+ expect(partition.state).toEqual({
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ });
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'default'),
+ undefined,
+ undefined,
+ 'task2'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events.slice(1)).toEqual([
+ asyncResult('task2', null, false),
+ ]);
+
+ expect(partition.state).toEqual({
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ });
+ });
+
+ it('should create new bots from the version 2 aux if the mode is copy', async () => {
+ partition.connect();
+
+ const update = constructInitializationUpdate(
+ createInitializationUpdate([
+ createBot('installed1', {
+ abc: 'def',
+ }),
+ createBot('installed2', {
+ abc: 'ghi',
+ }),
+ ])
+ );
+
+ const state: StoredAux = {
+ version: 2,
+ updates: [update],
+ };
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'copy'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([asyncResult('task1', null, false)]);
+
+ expect(Object.values(partition.state)).toEqual([
+ createBot(expect.any(String), {
+ abc: 'def',
+ }),
+ createBot(expect.any(String), {
+ abc: 'ghi',
+ }),
+ ]);
+ });
+
+ it('should create new bots from the version 1 aux if the mode is copy', async () => {
+ partition.connect();
+
+ const state: StoredAux = {
+ version: 1,
+ state: {
+ installed1: createBot('installed1', {
+ abc: 'def',
+ }),
+ installed2: createBot('installed2', {
+ abc: 'ghi',
+ }),
+ },
+ };
+
+ await waitAsync();
+
+ await partition.sendRemoteEvents([
+ remote(
+ installAuxFile(state, 'copy'),
+ undefined,
+ undefined,
+ 'task1'
+ ),
+ ]);
+
+ await waitAsync();
+
+ expect(events).toEqual([asyncResult('task1', null, false)]);
+
+ expect(Object.values(partition.state)).toEqual([
+ createBot(expect.any(String), {
+ abc: 'def',
+ }),
+ createBot(expect.any(String), {
+ abc: 'ghi',
+ }),
+ ]);
+ });
+ });
});
});
diff --git a/src/aux-common/partitions/YjsPartition.ts b/src/aux-common/partitions/YjsPartition.ts
index 74938ccea9..2c12abbd69 100644
--- a/src/aux-common/partitions/YjsPartition.ts
+++ b/src/aux-common/partitions/YjsPartition.ts
@@ -23,6 +23,7 @@ import type {
InstUpdate,
ApplyUpdatesToInstAction,
GetCurrentInstUpdateAction,
+ InstallAuxAction,
} from '../bots';
import {
isTagEdit,
@@ -30,17 +31,15 @@ import {
del,
insert,
edit,
- GetRemoteCountAction,
asyncResult,
asyncError,
+ getInstStateFromUpdates,
} from '../bots';
import type { Observable } from 'rxjs';
-import { Subscription, Subject, BehaviorSubject } from 'rxjs';
import type {
AuxPartitionRealtimeStrategy,
YjsPartition,
} from './AuxPartition';
-import { CausalRepoPartition, MemoryPartition } from './AuxPartition';
import type {
BotAction,
Bot,
@@ -53,10 +52,7 @@ import type {
BotTags,
} from '../bots';
import {
- getActiveObjects,
breakIntoIndividualEvents,
- stateUpdatedEvent,
- PartialBotsState,
botAdded,
createBot,
botRemoved,
@@ -69,7 +65,6 @@ import type {
PartitionRemoteEvents,
YjsPartitionConfig,
} from './AuxPartitionConfig';
-import { flatMap, random } from 'lodash';
import type { Doc, Transaction, AbstractType, YEvent } from 'yjs';
import {
Text,
@@ -86,11 +81,15 @@ import {
getClock,
getStateVector,
} from '../yjs/YjsHelpers';
-import { ensureTagIsSerializable, supportsRemoteEvent } from './PartitionUtils';
+import {
+ ensureTagIsSerializable,
+ getStateFromUpdates,
+ supportsRemoteEvent,
+} from './PartitionUtils';
import type { RemoteActions, VersionVector } from '../common';
-import { Action, CurrentVersion, StatusUpdate } from '../common';
import { fromByteArray, toByteArray } from 'base64-js';
import { YjsSharedDocument } from '../documents/YjsSharedDocument';
+import { v4 as uuid } from 'uuid';
const APPLY_UPDATES_TO_INST_TRANSACTION_ORIGIN = '__apply_updates_to_inst';
@@ -328,13 +327,55 @@ export class YjsPartitionImpl
} catch (err) {
this._onEvents.next([asyncError(event.taskId, err)]);
}
+ } else if (event.event.type === 'install_aux_file') {
+ const action = event.event;
+ try {
+ if (action.mode === 'copy') {
+ let bots: Bot[];
+ if (action.aux.version === 2) {
+ const state = getStateFromUpdates(
+ getInstStateFromUpdates(action.aux.updates)
+ );
+ bots = Object.values(state);
+ } else {
+ bots = Object.values(action.aux.state);
+ }
+
+ if (bots && bots.length > 0) {
+ this._applyEvents(
+ bots.map(
+ (b) =>
+ botAdded(
+ createBot(uuid(), b.tags)
+ ) as AddBotAction
+ )
+ );
+ }
+ } else {
+ if (action.aux.version === 2) {
+ this.applyStateUpdates(action.aux.updates);
+ } else if (action.aux.version === 1) {
+ this._applyEvents(
+ Object.values(action.aux.state).map((b) =>
+ botAdded(createBot(b.id, b.tags))
+ )
+ );
+ }
+ }
+
+ this._onEvents.next([
+ asyncResult(event.taskId, null, false),
+ ]);
+ } catch (err) {
+ this._onEvents.next([asyncError(event.taskId, err)]);
+ }
}
}
}
}
async applyEvents(events: BotAction[]): Promise {
- const finalEvents = flatMap(events, (e) => {
+ const finalEvents = events.flatMap((e) => {
if (e.type === 'apply_state') {
return breakIntoIndividualEvents(this.state, e);
} else if (
diff --git a/src/aux-common/partitions/test/PartitionTests.ts b/src/aux-common/partitions/test/PartitionTests.ts
index 5c6d65f0d3..3b88721028 100644
--- a/src/aux-common/partitions/test/PartitionTests.ts
+++ b/src/aux-common/partitions/test/PartitionTests.ts
@@ -25,18 +25,10 @@ import {
botUpdated,
stateUpdatedEvent,
hasValue,
- BotSpace,
} from '../../bots';
import { Subscription, firstValueFrom } from 'rxjs';
import { waitAsync, allDataTypeCases } from '../../test/TestHelpers';
-import {
- first,
- buffer,
- takeUntil,
- takeWhile,
- bufferCount,
- skip,
-} from 'rxjs/operators';
+import { takeWhile, bufferCount, skip } from 'rxjs/operators';
import type { TagEdit } from '../../bots';
import {
applyEdit,
@@ -45,7 +37,6 @@ import {
edits,
insert,
preserve,
- TAG_EDIT_NAME,
isTagEdit,
} from '../../bots';
import faker from 'faker';
@@ -285,6 +276,59 @@ export function testPartitionImplementation(
});
});
+ it('should preserve masks if the masks are added before the bot is', async () => {
+ const bot1 = createBot('test', {
+ abc: 'def',
+ });
+ const bot2 = createBot('test2', {
+ abc: 'xyz',
+ });
+
+ let added: Bot[] = [];
+ partition.onBotsAdded.subscribe((a) => added.push(...a));
+
+ partition.space = 'test';
+ await partition.applyEvents([
+ botUpdated('test', {
+ masks: {
+ test: {
+ test: 'mask',
+ },
+ },
+ }),
+ botAdded(bot1),
+ ]);
+
+ expect(added).toEqual([
+ {
+ id: 'test',
+ space: 'test',
+ tags: {
+ abc: 'def',
+ },
+ masks: {
+ test: {
+ test: 'mask',
+ },
+ },
+ },
+ ]);
+ expect(partition.state).toEqual({
+ test: {
+ id: 'test',
+ space: 'test',
+ tags: {
+ abc: 'def',
+ },
+ masks: {
+ test: {
+ test: 'mask',
+ },
+ },
+ },
+ });
+ });
+
describe('data types', () => {
it.each(allDataTypeCases)(
'should support %s tags',
@@ -598,6 +642,39 @@ export function testPartitionImplementation(
expect(updated).toEqual([]);
});
+ it('should not remove the new bot from the state update if processed in the same update as an update that changes no tags', async () => {
+ const bot = createBot('test', {
+ abc: 'def',
+ example: 123,
+ });
+
+ // Run the bot added and updated
+ // in the same batch to ensure that the state update will
+ // contain the new bot even if the update changes no tags
+ await partition.applyEvents([
+ botAdded(bot),
+ botUpdated('test', {
+ tags: {
+ example: 123,
+ },
+ }),
+ ]);
+
+ await waitAsync();
+
+ expect(updates).toEqual([
+ stateUpdatedEvent(
+ {
+ test: createBot('test', {
+ abc: 'def',
+ example: 123,
+ }),
+ },
+ expect.any(Object)
+ ),
+ ]);
+ });
+
it('should ignore updates that set tag values to the same value that it is currently at', async () => {
const bot = createBot('test', {
abc: 'def',
diff --git a/src/aux-common/records/AccountBalance.ts b/src/aux-common/records/AccountBalance.ts
new file mode 100644
index 0000000000..45260961da
--- /dev/null
+++ b/src/aux-common/records/AccountBalance.ts
@@ -0,0 +1,140 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+/**
+ * Represents the balance of a financial account.
+ */
+export class AccountBalance {
+ /**
+ * The ID of the account.
+ */
+ accountId: string;
+
+ /**
+ * The number of credits to the account.
+ */
+ credits: bigint;
+
+ /**
+ * The number of pending credits to the account.
+ */
+ pendingCredits: bigint;
+
+ /**
+ * The number of debits to the account.
+ */
+ debits: bigint;
+
+ /**
+ * The number of pending debits to the account.
+ */
+ pendingDebits: bigint;
+
+ /**
+ * The factor that should be used to convert between credits and USD.
+ */
+ displayFactor: bigint;
+
+ /**
+ * The currency that the account is in.
+ */
+ currency: string;
+
+ constructor(data: {
+ accountId: string;
+ credits: bigint | string;
+ pendingCredits: bigint | string;
+ debits: bigint | string;
+ pendingDebits: bigint | string;
+ displayFactor: bigint | string;
+ currency: string;
+ }) {
+ this.accountId = data.accountId;
+ this.credits =
+ typeof data.credits === 'string'
+ ? BigInt(data.credits)
+ : data.credits;
+ this.pendingCredits =
+ typeof data.pendingCredits === 'string'
+ ? BigInt(data.pendingCredits)
+ : data.pendingCredits;
+ this.debits =
+ typeof data.debits === 'string' ? BigInt(data.debits) : data.debits;
+ this.pendingDebits =
+ typeof data.pendingDebits === 'string'
+ ? BigInt(data.pendingDebits)
+ : data.pendingDebits;
+ this.displayFactor =
+ typeof data.displayFactor === 'string'
+ ? BigInt(data.displayFactor)
+ : data.displayFactor;
+ this.currency = data.currency;
+ }
+
+ toJSON(): JSONAccountBalance {
+ return {
+ accountId: this.accountId,
+ credits: this.credits.toString(),
+ pendingCredits: this.pendingCredits.toString(),
+ debits: this.debits.toString(),
+ pendingDebits: this.pendingDebits.toString(),
+ displayFactor: this.displayFactor.toString(),
+ currency: this.currency,
+ };
+ }
+}
+
+/**
+ * Represents the balance of a financial account in a JSON-compatible format.
+ */
+export interface JSONAccountBalance {
+ /**
+ * The ID of the account.
+ */
+ accountId: string;
+
+ /**
+ * The number of credits to the account.
+ */
+ credits: string;
+
+ /**
+ * The number of pending credits to the account.
+ */
+ pendingCredits: string;
+
+ /**
+ * The number of debits to the account.
+ */
+ debits: string;
+
+ /**
+ * The number of pending debits to the account.
+ */
+ pendingDebits: string;
+
+ /**
+ * The factor that should be used to convert between credits and USD.
+ */
+ displayFactor: string;
+
+ /**
+ * The currency that the account is in.
+ */
+ currency: CurrencyCodesType;
+}
diff --git a/src/aux-records/AuthUtils.spec.ts b/src/aux-common/records/AuthUtils.spec.ts
similarity index 92%
rename from src/aux-records/AuthUtils.spec.ts
rename to src/aux-common/records/AuthUtils.spec.ts
index 4b4dc75915..5b49dcbfff 100644
--- a/src/aux-records/AuthUtils.spec.ts
+++ b/src/aux-common/records/AuthUtils.spec.ts
@@ -15,6 +15,9 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
+
+// import type { UserRole } from '../../aux-records/AuthStore';
+import type { UserRole } from './AuthUtils';
import {
formatV1OpenAiKey,
formatV1SessionKey,
@@ -27,18 +30,16 @@ import {
verifyConnectionToken,
isSuperUserRole,
isExpired,
- REFRESH_LIFETIME_MS,
willExpire,
getSessionKeyExpiration,
canExpire,
timeUntilExpiration,
timeUntilRefresh,
+ isPackageReviewerRole,
} from './AuthUtils';
-import {
- toBase64String,
- formatV1ConnectionToken,
- parseConnectionToken,
-} from '@casual-simulation/aux-common';
+import { toBase64String } from '../utils';
+import { formatV1ConnectionToken, parseConnectionToken } from '../common';
+import { formatV2RecordKey } from './RecordKeys';
const SECOND = 1000;
const MINUTE = 60 * SECOND;
@@ -517,6 +518,45 @@ describe('generateV1ConnectionToken()', () => {
expect(inst).toBe(toBase64String('inst'));
expect(password).toMatchSnapshot();
});
+
+ it('should parse record keys before using the record name', () => {
+ const recordKey = formatV2RecordKey(
+ 'recordName',
+ 'password',
+ 'subjectfull'
+ );
+
+ const key = formatV1ConnectionKey(
+ 'userId',
+ 'sessionId',
+ 'password',
+ 123
+ );
+
+ const result = generateV1ConnectionToken(
+ key,
+ 'connectionId',
+ recordKey,
+ 'inst'
+ );
+
+ const [
+ version,
+ userId,
+ sessionId,
+ connectionId,
+ recordName,
+ inst,
+ password,
+ ] = result.split('.');
+
+ expect(userId).toBe(toBase64String('userId'));
+ expect(sessionId).toBe(toBase64String('sessionId'));
+ expect(connectionId).toBe(toBase64String('connectionId'));
+ expect(recordName).toBe(toBase64String('recordName'));
+ expect(inst).toBe(toBase64String('inst'));
+ expect(password).toMatchSnapshot();
+ });
});
describe('verifyConnectionToken()', () => {
@@ -761,8 +801,9 @@ describe('parseConnectionToken()', () => {
});
describe('isSuperUserRole()', () => {
- it('should return true if the given user has the super user role', () => {
+ it('should return true if the given user has the super user or system role', () => {
expect(isSuperUserRole('superUser')).toBe(true);
+ expect(isSuperUserRole('system')).toBe(true);
});
it('should return false if the given user does not have the super user role', () => {
@@ -771,3 +812,18 @@ describe('isSuperUserRole()', () => {
expect(isSuperUserRole(undefined)).toBe(false);
});
});
+
+describe('isPackageReviewerRole()', () => {
+ const cases: [UserRole | null | undefined, boolean][] = [
+ ['superUser', true],
+ ['moderator', true],
+ ['system', true],
+ ['none', false],
+ [null, false],
+ [undefined, false],
+ ];
+
+ it.each(cases)('should return %s for %s', (role, expected) => {
+ expect(isPackageReviewerRole(role)).toBe(expected);
+ });
+});
diff --git a/src/aux-records/AuthUtils.ts b/src/aux-common/records/AuthUtils.ts
similarity index 91%
rename from src/aux-records/AuthUtils.ts
rename to src/aux-common/records/AuthUtils.ts
index 166581ba59..774bbb47fa 100644
--- a/src/aux-records/AuthUtils.ts
+++ b/src/aux-common/records/AuthUtils.ts
@@ -15,15 +15,24 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
+import { fromBase64String, toBase64String } from '../utils';
+import { sha256, hmac } from 'hash.js';
+import { toByteArray } from 'base64-js';
import {
- fromBase64String,
- toBase64String,
- parseV1ConnectionToken,
formatV1ConnectionToken,
-} from '@casual-simulation/aux-common';
-import { sha256, hmac } from 'hash.js';
-import { fromByteArray, toByteArray } from 'base64-js';
-import type { UserRole } from './AuthStore';
+ parseV1ConnectionToken,
+} from '../common/ConnectionToken';
+import { isRecordKey, parseRecordKey } from './RecordKeys';
+
+/**
+ * Defines an interface that represents the role that a user can have.
+ *
+ * - "none" means that the user has no special permissions.
+ * - "superUser" means that the user has additional permissions that only special users should have.
+ * - "system" means that the user is the system and is performing a system operation.
+ * - "moderator" means that the user is a moderator and has additional permissions to moderate content.
+ */
+export type UserRole = 'none' | 'superUser' | 'system' | 'moderator';
/**
* The default lifetime at which a session key should be refreshed.
@@ -314,6 +323,13 @@ export function generateV1ConnectionToken(
return null;
}
+ if (isRecordKey(recordName)) {
+ const parsed = parseRecordKey(recordName);
+ if (parsed) {
+ recordName = parsed[0]; // Use the record name from the record key
+ }
+ }
+
recordName = recordName ?? '';
const [userId, sessionId, connectionSecret, expireTimeMs] = parsed;
@@ -390,8 +406,18 @@ export function verifyConnectionToken(
* Determines whether the given role is a super user role.
* @param role The role to check.
*/
-export function isSuperUserRole(role: UserRole): boolean {
- return role === 'superUser';
+export function isSuperUserRole(role: UserRole | null | undefined): boolean {
+ return role === 'superUser' || role === 'system';
+}
+
+/**
+ * Determines wether the given role is suitable for a package reviewer.
+ * @param role The role.
+ */
+export function isPackageReviewerRole(
+ role: UserRole | null | undefined
+): boolean {
+ return role === 'superUser' || role === 'moderator' || role === 'system';
}
/**
diff --git a/src/aux-common/records/RecordKeys.spec.ts b/src/aux-common/records/RecordKeys.spec.ts
new file mode 100644
index 0000000000..fcf8fff0ef
--- /dev/null
+++ b/src/aux-common/records/RecordKeys.spec.ts
@@ -0,0 +1,166 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+import { toBase64String } from '../utils';
+import {
+ DEFAULT_RECORD_KEY_POLICY,
+ formatV1RecordKey,
+ formatV2RecordKey,
+ parseRecordKey,
+} from './RecordKeys';
+
+describe('formatV1RecordKey()', () => {
+ it('should combine the given record name and password', () => {
+ const result = formatV1RecordKey('name', 'password');
+
+ const [version, name, password] = result.split('.');
+
+ expect(version).toBe('vRK1');
+ expect(name).toBe(toBase64String('name'));
+ expect(password).toBe(toBase64String('password'));
+ });
+});
+
+describe('formatV2RecordKey()', () => {
+ it('should combine the given record name and password and policy', () => {
+ const result = formatV2RecordKey('name', 'password', 'subjectless');
+
+ const split = result.split('.');
+
+ expect(split).toEqual([
+ 'vRK2',
+ toBase64String('name'),
+ toBase64String('password'),
+ 'subjectless',
+ ]);
+ });
+
+ it('should default to subjectfull policies', () => {
+ const result = formatV2RecordKey('name', 'password', null);
+
+ const split = result.split('.');
+
+ expect(split).toEqual([
+ 'vRK2',
+ toBase64String('name'),
+ toBase64String('password'),
+ 'subjectfull',
+ ]);
+ });
+});
+
+describe('parseRecordKey()', () => {
+ describe('v1', () => {
+ it('should parse the given key into the name and password', () => {
+ const key = formatV1RecordKey('name', 'password');
+ const [name, password, policy] = parseRecordKey(key);
+
+ expect(name).toBe('name');
+ expect(password).toBe('password');
+ expect(policy).toBe(DEFAULT_RECORD_KEY_POLICY); // Should always be the default policy
+ });
+
+ it('should return null if given an empty string', () => {
+ const result = parseRecordKey('');
+
+ expect(result).toBe(null);
+ });
+
+ it('should return null if given a string with the wrong version', () => {
+ const result = parseRecordKey('vK1');
+
+ expect(result).toBe(null);
+ });
+
+ it('should return null if given a string with no data', () => {
+ const result = parseRecordKey('vRK1.');
+
+ expect(result).toBe(null);
+ });
+
+ it('should return null if given a string with no password', () => {
+ const result = parseRecordKey(`vRK1.${toBase64String('name')}`);
+
+ expect(result).toBe(null);
+ });
+
+ it('should return null if given a null key', () => {
+ const result = parseRecordKey(null);
+
+ expect(result).toBe(null);
+ });
+ });
+
+ describe('v2', () => {
+ it('should parse the given key into the name and password', () => {
+ const key = formatV2RecordKey('name', 'password', 'subjectless');
+ const [name, password, policy] = parseRecordKey(key);
+
+ expect(name).toBe('name');
+ expect(password).toBe('password');
+ expect(policy).toBe('subjectless');
+ });
+
+ it('should return null if given an empty string', () => {
+ const result = parseRecordKey('');
+
+ expect(result).toBe(null);
+ });
+
+ it('should return null if given a string with the wrong version', () => {
+ const result = parseRecordKey('vK2');
+
+ expect(result).toBe(null);
+ });
+
+ it('should return null if given a string with no data', () => {
+ const result = parseRecordKey('vRK2.');
+
+ expect(result).toBe(null);
+ });
+
+ it('should return null if given a string with no password', () => {
+ const result = parseRecordKey(`vRK2.${toBase64String('name')}`);
+
+ expect(result).toBe(null);
+ });
+
+ it('should return null if given a string with no policy', () => {
+ const result = parseRecordKey(
+ `vRK2.${toBase64String('name')}.${toBase64String('password')}`
+ );
+
+ expect(result).toBe(null);
+ });
+
+ it('should return null if given a string with an unknown policy', () => {
+ const result = parseRecordKey(
+ `vRK2.${toBase64String('name')}.${toBase64String(
+ 'password'
+ )}.wrong`
+ );
+
+ expect(result).toBe(null);
+ });
+
+ it('should return null if given a null key', () => {
+ const result = parseRecordKey(null);
+
+ expect(result).toBe(null);
+ });
+ });
+});
diff --git a/src/aux-common/records/RecordKeys.ts b/src/aux-common/records/RecordKeys.ts
new file mode 100644
index 0000000000..2bc9771f1a
--- /dev/null
+++ b/src/aux-common/records/RecordKeys.ts
@@ -0,0 +1,176 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+import { toBase64String, fromBase64String } from '../utils';
+
+/**
+ * Defines a type that represents the different kinds of policies that a record key can have.
+ *
+ * - null and "subjectfull" indicate that actions performed with this key must require a subject to provide their access token in order for operations to succeed.
+ * - "subjectless" indicates that actions may be performed with key despite not having an access key from a subject.
+ *
+ * @dochash types/records/key
+ * @docname PublicRecordKeyPolicy
+ */
+export type PublicRecordKeyPolicy = null | 'subjectfull' | 'subjectless';
+
+/**
+ * The default policy for keys that do not have a specified record key.
+ */
+export const DEFAULT_RECORD_KEY_POLICY: PublicRecordKeyPolicy = 'subjectfull';
+
+/**
+ * Formats the given record name and record secret into a record key.
+ * @param recordName The name of the record.
+ * @param recordSecret The secret that is used to access the record.
+ */
+export function formatV1RecordKey(
+ recordName: string,
+ recordSecret: string
+): string {
+ return `vRK1.${toBase64String(recordName)}.${toBase64String(recordSecret)}`;
+}
+
+/**
+ * Formats the given record name and record secret into a record key.
+ * @param recordName The name of the record.
+ * @param recordSecret The secret that is used to access the record.
+ * @param keyPolicy The policy that the key uses.
+ */
+export function formatV2RecordKey(
+ recordName: string,
+ recordSecret: string,
+ keyPolicy: PublicRecordKeyPolicy
+): string {
+ return `vRK2.${toBase64String(recordName)}.${toBase64String(
+ recordSecret
+ )}.${keyPolicy ?? DEFAULT_RECORD_KEY_POLICY}`;
+}
+
+/**
+ * Parses the given record key into a name and password pair.
+ * Returns null if the key cannot be parsed.
+ * @param key The key to parse.
+ */
+export function parseRecordKey(
+ key: string
+): [name: string, password: string, policy: PublicRecordKeyPolicy] {
+ return parseV2RecordKey(key) ?? parseV1RecordKey(key);
+}
+
+/**
+ * Parses a version 2 record key into a name, password, and policy trio.
+ * Returns null if the key cannot be parsed or if it is not a V2 key.
+ * @param key The key to parse.
+ */
+export function parseV2RecordKey(
+ key: string
+): [name: string, password: string, policy: PublicRecordKeyPolicy] {
+ if (!key) {
+ return null;
+ }
+
+ if (!key.startsWith('vRK2.')) {
+ return null;
+ }
+
+ const withoutVersion = key.slice('vRK2.'.length);
+ let periodAfterName = withoutVersion.indexOf('.');
+ if (periodAfterName < 0) {
+ return null;
+ }
+
+ const nameBase64 = withoutVersion.slice(0, periodAfterName);
+ const passwordPlusPolicy = withoutVersion.slice(periodAfterName + 1);
+
+ if (nameBase64.length <= 0 || passwordPlusPolicy.length <= 0) {
+ return null;
+ }
+
+ const periodAfterPassword = passwordPlusPolicy.indexOf('.');
+ if (periodAfterPassword < 0) {
+ return null;
+ }
+
+ const passwordBase64 = passwordPlusPolicy.slice(0, periodAfterPassword);
+ const policy = passwordPlusPolicy.slice(periodAfterPassword + 1);
+
+ if (passwordBase64.length <= 0 || policy.length <= 0) {
+ return null;
+ }
+
+ if (policy !== 'subjectfull' && policy !== 'subjectless') {
+ return null;
+ }
+
+ try {
+ const name = fromBase64String(nameBase64);
+ const password = fromBase64String(passwordBase64);
+
+ return [name, password, policy];
+ } catch (err) {
+ return null;
+ }
+}
+
+/**
+ * Parses a version 1 record key into a name and password pair.
+ * Returns null if the key cannot be parsed or if it is not a V1 key.
+ * @param key The key to parse.
+ */
+export function parseV1RecordKey(
+ key: string
+): [name: string, password: string, policy: PublicRecordKeyPolicy] {
+ if (!key) {
+ return null;
+ }
+
+ if (!key.startsWith('vRK1.')) {
+ return null;
+ }
+
+ const withoutVersion = key.slice('vRK1.'.length);
+ let nextPeriod = withoutVersion.indexOf('.');
+ if (nextPeriod < 0) {
+ return null;
+ }
+
+ const nameBase64 = withoutVersion.slice(0, nextPeriod);
+ const passwordBase64 = withoutVersion.slice(nextPeriod + 1);
+
+ if (nameBase64.length <= 0 || passwordBase64.length <= 0) {
+ return null;
+ }
+
+ try {
+ const name = fromBase64String(nameBase64);
+ const password = fromBase64String(passwordBase64);
+
+ return [name, password, DEFAULT_RECORD_KEY_POLICY];
+ } catch (err) {
+ return null;
+ }
+}
+
+/**
+ * Determines if the given value is a record key.
+ * @param key The value to check.
+ * @returns
+ */
+export function isRecordKey(key: unknown): key is string {
+ return typeof key === 'string' && parseRecordKey(key) !== null;
+}
diff --git a/src/aux-common/records/WebPush.ts b/src/aux-common/records/WebPush.ts
new file mode 100644
index 0000000000..e321d846b1
--- /dev/null
+++ b/src/aux-common/records/WebPush.ts
@@ -0,0 +1,18 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+export const SUBSCRIPTION_ID_NAMESPACE = 'f12953a9-21e2-47d4-b7b7-f699bd9a5550';
diff --git a/src/aux-records/__snapshots__/AuthUtils.spec.ts.snap b/src/aux-common/records/__snapshots__/AuthUtils.spec.ts.snap
similarity index 69%
rename from src/aux-records/__snapshots__/AuthUtils.spec.ts.snap
rename to src/aux-common/records/__snapshots__/AuthUtils.spec.ts.snap
index 229492b9d6..88a5cdecc8 100644
--- a/src/aux-records/__snapshots__/AuthUtils.spec.ts.snap
+++ b/src/aux-common/records/__snapshots__/AuthUtils.spec.ts.snap
@@ -3,3 +3,5 @@
exports[`generateV1ConnectionToken() should generate a connection token from the given connection key 1`] = `"OTkxMWY3NDllNmE4NzEzMzMyZjIzNDgzYmJmZGFjYjg2YzU3OWM4YjA0YjMyMWYyNGY0YWMyMzlhYzY0Y2NiYw=="`;
exports[`generateV1ConnectionToken() should generate a connection token with a null recordName 1`] = `"MzZhZjkwMDc2MTYxOGNiMzIwOWQ2ODVjNjI3NTEzZGMxMWUyMjAwYjM1ZGIxMTgyYTFiNmYwN2YyZDU5N2Y5NQ=="`;
+
+exports[`generateV1ConnectionToken() should parse record keys before using the record name 1`] = `"OTkxMWY3NDllNmE4NzEzMzMyZjIzNDgzYmJmZGFjYjg2YzU3OWM4YjA0YjMyMWYyNGY0YWMyMzlhYzY0Y2NiYw=="`;
diff --git a/src/aux-common/records/index.ts b/src/aux-common/records/index.ts
new file mode 100644
index 0000000000..8c007f1bb1
--- /dev/null
+++ b/src/aux-common/records/index.ts
@@ -0,0 +1,21 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+export * from './RecordKeys';
+export * from './AuthUtils';
+export * from './WebPush';
+export * from './AccountBalance';
diff --git a/src/aux-common/rpc/ErrorCodes.spec.ts b/src/aux-common/rpc/ErrorCodes.spec.ts
index b24c26c507..8c6e2fac54 100644
--- a/src/aux-common/rpc/ErrorCodes.spec.ts
+++ b/src/aux-common/rpc/ErrorCodes.spec.ts
@@ -98,8 +98,15 @@ describe('getStatusCode()', () => {
['user_already_exists', 400] as const,
['session_is_not_revokable', 400] as const,
['hume_api_error', 500] as const,
- ['invalid_webhook_target', 501] as const,
+ ['invalid_webhook_target', 400] as const,
['took_too_long', 504] as const,
+ ['parent_not_found', 400] as const,
+ ['service_unavailable', 503] as const,
+ ['item_already_purchased', 400] as const,
+ ['item_not_found', 404] as const,
+ ['store_disabled', 400] as const,
+ ['currency_not_supported', 400] as const,
+ ['invalid_user', 400] as const,
];
it.each(cases)('should map error code %s to %s', (code, expectedStatus) => {
diff --git a/src/aux-common/rpc/ErrorCodes.ts b/src/aux-common/rpc/ErrorCodes.ts
index c1812e725e..7157a83853 100644
--- a/src/aux-common/rpc/ErrorCodes.ts
+++ b/src/aux-common/rpc/ErrorCodes.ts
@@ -91,7 +91,15 @@ export type KnownErrorCodes =
| 'session_is_not_revokable'
| 'hume_api_error'
| 'invalid_webhook_target'
- | 'took_too_long';
+ | 'took_too_long'
+ | 'parent_not_found'
+ | 'service_unavailable'
+ | 'insufficient_funds'
+ | 'item_already_purchased'
+ | 'item_not_found'
+ | 'store_disabled'
+ | 'currency_not_supported'
+ | 'invalid_user';
/**
* Gets the status code that should be used for the given response.
@@ -157,8 +165,6 @@ export function getStatusCode(
return 400;
} else if (response.errorCode === 'address_type_not_supported') {
return 501;
- } else if (response.errorCode === 'invalid_webhook_target') {
- return 501;
} else if (response.errorCode === 'server_error') {
return 500;
} else if (response.errorCode === 'unauthorized_to_create_record_key') {
@@ -195,6 +201,8 @@ export function getStatusCode(
return 404;
} else if (response.errorCode === 'not_found') {
return 404;
+ } else if (response.errorCode === 'item_not_found') {
+ return 404;
} else if (response.errorCode === 'invalid_connection_state') {
return 500;
} else if (response.errorCode === 'user_already_exists') {
@@ -203,6 +211,8 @@ export function getStatusCode(
return 500;
} else if (response.errorCode === 'took_too_long') {
return 504;
+ } else if (response.errorCode === 'service_unavailable') {
+ return 503;
} else {
return 400;
}
diff --git a/src/aux-common/rpc/GenericRPCInterface.ts b/src/aux-common/rpc/GenericRPCInterface.ts
index c8675f9665..0b480f1b1e 100644
--- a/src/aux-common/rpc/GenericRPCInterface.ts
+++ b/src/aux-common/rpc/GenericRPCInterface.ts
@@ -19,7 +19,7 @@ import type {
GenericHttpRequest,
GenericHttpResponse,
} from '../http/GenericHttpInterface';
-import z, { input } from 'zod';
+import z from 'zod';
import type { KnownErrorCodes } from './ErrorCodes';
import type { Span } from '@opentelemetry/api';
import type { DenialReason } from '../common/DenialReason';
@@ -480,6 +480,15 @@ export interface RecordSchemaMetadata extends BaseSchemaMetadata {
valueSchema: SchemaMetadata;
}
+export interface TupleSchemaMetadata extends BaseSchemaMetadata {
+ type: 'tuple';
+
+ /**
+ * The schema of the items in the tuple.
+ */
+ items: SchemaMetadata[];
+}
+
export type SchemaMetadata =
| StringSchemaMetadata
| BooleanSchemaMetadata
@@ -493,7 +502,8 @@ export type SchemaMetadata =
| NullSchemaMetadata
| UnionSchemaMetadata
| DiscriminatedUnionSchemaMetadata
- | RecordSchemaMetadata;
+ | RecordSchemaMetadata
+ | TupleSchemaMetadata;
/**
* Gets a serializable version of the schema metdata.
@@ -578,6 +588,11 @@ export function getSchemaMetadata(schema: z.ZodType): SchemaMetadata {
type: 'record',
valueSchema: getSchemaMetadata(schema._def.valueType),
};
+ } else if (schema instanceof z.ZodTuple) {
+ return {
+ type: 'tuple',
+ items: schema._def.items.map((o: any) => getSchemaMetadata(o)),
+ };
} else {
console.error('Unsupported schema type', schema);
throw new Error(`Unsupported schema type: ${schema}`);
diff --git a/src/aux-common/rpc/Result.spec.ts b/src/aux-common/rpc/Result.spec.ts
new file mode 100644
index 0000000000..67f4a006ba
--- /dev/null
+++ b/src/aux-common/rpc/Result.spec.ts
@@ -0,0 +1,188 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+import type { ErrorType, Failure, Result, Success } from './Result';
+import {
+ failure,
+ flatMapResult,
+ genericResult,
+ mapResult,
+ matchResult,
+ success,
+} from './Result';
+
+describe('Result', () => {
+ it('should be able to represent a successful result', () => {
+ const result = success('Success!');
+ expect(result.success).toBe(true);
+ expect(result.value).toBe('Success!');
+ });
+
+ it('should be able to represent a failure', () => {
+ const result = failure({
+ errorCode: 'not_supported',
+ errorMessage: 'This operation is not supported.',
+ abc: 'def',
+ });
+ expect(result.success).toBe(false);
+ expect(result.error).toEqual({
+ errorCode: 'not_supported',
+ errorMessage: 'This operation is not supported.',
+ abc: 'def',
+ });
+ });
+
+ it('should be able to map successful results', () => {
+ const result = success('Success!');
+ const mappedResult = mapResult(result, (data) => data.toUpperCase());
+ expect(mappedResult.success).toBe(true);
+ expect((mappedResult as Success).value).toBe('SUCCESS!');
+ });
+
+ it('should be able to map failure results', () => {
+ const result: Result = failure({
+ errorCode: 'not_supported',
+ errorMessage: 'This operation is not supported.',
+ abc: 'def',
+ });
+ const mappedResult = mapResult(
+ result,
+ (data) => data.toUpperCase()
+ );
+ expect(mappedResult.success).toBe(false);
+ expect((mappedResult as Failure).error).toEqual({
+ errorCode: 'not_supported',
+ errorMessage: 'This operation is not supported.',
+ abc: 'def',
+ });
+ });
+
+ it('should be able to flatMap successful results', () => {
+ const result = success('Success!');
+ const flatMappedResult = flatMapResult(result, (data) =>
+ success(data.toUpperCase())
+ );
+ expect(flatMappedResult.success).toBe(true);
+ expect((flatMappedResult as Success).value).toBe('SUCCESS!');
+ });
+
+ it('should be able to flatMap failure results', () => {
+ const result: Result = failure({
+ errorCode: 'not_supported',
+ errorMessage: 'This operation is not supported.',
+ abc: 'def',
+ });
+ const flatMappedResult = flatMapResult(result, (data: string) =>
+ success(data.toUpperCase())
+ );
+ expect(flatMappedResult.success).toBe(false);
+ expect((flatMappedResult as Failure).error).toEqual({
+ errorCode: 'not_supported',
+ errorMessage: 'This operation is not supported.',
+ abc: 'def',
+ });
+ });
+
+ it('should be able to pattern match successful results', () => {
+ const result = success('Success!');
+ const matchedResult = matchResult(result, {
+ success: (data) => `Result: ${data}`,
+ });
+ expect(matchedResult).toBe('Result: Success!');
+ });
+
+ it('should be able to pattern match failure results', () => {
+ type FailureData =
+ | { errorCode: 'Test1'; errorMessage: string }
+ | { errorCode: 'Test2'; errorMessage: string };
+
+ const result = failure({
+ errorCode: 'Test2',
+ errorMessage: 'This operation is not supported.',
+ });
+ const matchedResult = matchResult(result, {
+ success: (data) => `Result: ${data}`,
+ Test1: (data) => `Test1: ${data.errorMessage}`,
+ Test2: (data) => `Test2: ${data.errorMessage}`,
+ });
+ expect(matchedResult).toBe('Test2: This operation is not supported.');
+ });
+
+ it('should be able to get a generic result from a successful string', () => {
+ const result = success('Success!');
+ const gResult = genericResult(result);
+ expect(gResult).toEqual({
+ success: true,
+ value: 'Success!',
+ });
+ });
+
+ it('should be able to get a generic result from a successful object', () => {
+ const result = success({
+ abc: 'def',
+ });
+ const gResult = genericResult(result);
+ expect(gResult).toEqual({
+ success: true,
+ abc: 'def',
+ });
+ });
+
+ it('should be able to get a generic result from an array', () => {
+ const result = success(['abc', 'def']);
+ const gResult = genericResult(result);
+ expect(gResult).toEqual({
+ success: true,
+ items: ['abc', 'def'],
+ });
+ });
+
+ it('should be able to get a failure from a generic result', () => {
+ const generic = {
+ success: false as const,
+ errorCode: 'error_code',
+ errorMessage: 'error_message',
+ };
+ const result = failure(generic);
+
+ expect(result).toEqual(
+ failure({
+ errorCode: 'error_code',
+ errorMessage: 'error_message',
+ })
+ );
+ });
+
+ it('should be able to get a generic result from a failure', () => {
+ const result = failure({
+ errorCode: 'error_code',
+ errorMessage: 'error_message',
+ });
+ const gResult = genericResult(result);
+ expect(gResult).toEqual({
+ success: false,
+ errorCode: 'error_code',
+ errorMessage: 'error_message',
+ });
+ });
+
+ it('should be able to render a success to a string', () => {
+ const result = success('Success!');
+ const str = result.toString();
+ expect(str).toBe('Result(true, "Success!")');
+ });
+});
diff --git a/src/aux-common/rpc/Result.ts b/src/aux-common/rpc/Result.ts
new file mode 100644
index 0000000000..2d4ab818bf
--- /dev/null
+++ b/src/aux-common/rpc/Result.ts
@@ -0,0 +1,301 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+import type { DenialReason } from '../common';
+import type { KnownErrorCodes } from './ErrorCodes';
+
+export type Result = Success | Failure;
+
+export interface SuccessOrError {
+ success: boolean;
+ value?: T;
+ error?: E;
+}
+
+export interface Success {
+ success: true;
+ value: T;
+}
+
+export interface Failure {
+ success: false;
+ error: E;
+}
+
+export type ErrorType = {
+ errorCode: string;
+ errorMessage: string;
+ [key: string]: any;
+};
+
+export type MatchErrorCodes = {
+ success: (data: T) => U;
+} & {
+ [K in E['errorCode']]: (error: Extract) => U;
+};
+
+export type GenericSuccess = T extends Array
+ ? { success: true; items: T }
+ : T extends object
+ ? {
+ success: true;
+ } & T
+ : {
+ success: true;
+ value: T;
+ };
+
+export type GenericFailure = {
+ success: false;
+} & E;
+
+export type GenericResult =
+ | GenericSuccess
+ | GenericFailure;
+
+export type SimpleError = {
+ errorCode: KnownErrorCodes;
+ errorMessage: string;
+
+ reason?: DenialReason;
+ issues?: Zod.ZodIssue[];
+};
+
+export type WrappedError = {
+ errorCode: 'wrapped_error';
+ errorMessage: string;
+ error: unknown;
+};
+
+export interface MultiError {
+ errorCode: 'multi_error';
+ errorMessage: string;
+ errors: E[];
+}
+
+export function logErrors(multiError: MultiError, prefix?: string) {
+ logError(multiError, prefix);
+ for (let error of multiError.errors) {
+ logError(error, ' ' + prefix);
+ }
+}
+
+export function logError(
+ error: ErrorType,
+ prefix?: string,
+ log: (message: string, ...args: any[]) => void = console.error
+) {
+ log(`${prefix ?? ''} Error: ${error.errorMessage} (${error.errorCode})`);
+ if (error.reason) {
+ log(` ${prefix ?? ''} Reason:`, error.reason);
+ }
+ if (error.issues) {
+ log(` ${prefix ?? ''} Issues:`, error.issues);
+ }
+ if (error.errors && Array.isArray(error.errors)) {
+ for (let i = 0; i < error.errors.length; i++) {
+ const err = error.errors[i];
+ logError(err, ` ${prefix ?? ''} ${i + 1}:`, log);
+ }
+ }
+}
+
+export function genericResult(
+ result: Result
+): GenericResult {
+ if (isSuccess(result)) {
+ if (Array.isArray(result.value)) {
+ return {
+ success: true,
+ items: result.value,
+ } as GenericSuccess;
+ }
+ if (typeof result.value === 'object') {
+ return {
+ success: true,
+ ...(result.value ?? {}),
+ } as GenericSuccess;
+ } else {
+ return { success: true, value: result.value } as GenericSuccess;
+ }
+ } else {
+ return {
+ success: false,
+ ...result.error,
+ };
+ }
+}
+
+export function mapResult(
+ result: Result,
+ fn: (value: T) => U
+): Result {
+ return isSuccess(result)
+ ? success(fn(result.value))
+ : (result as Result);
+}
+
+export function flatMapResult(
+ result: Result,
+ fn: (value: T) => Result
+): Result {
+ return isSuccess(result) ? fn(result.value) : (result as Result);
+}
+
+export function matchResult(
+ result: Success,
+ cases: { success: (data: T) => U }
+): U;
+export function matchResult(
+ result: Failure,
+ cases: {
+ [K in E['errorCode']]: (error: Extract) => U;
+ }
+): U;
+export function matchResult(
+ result: Result,
+ cases: MatchErrorCodes
+): U;
+export function matchResult(
+ result: Result,
+ cases: MatchErrorCodes
+): U {
+ if (isSuccess(result)) {
+ return cases.success(result.value);
+ } else {
+ const error = result.error;
+ const handler = cases[error.errorCode as keyof typeof cases];
+ if (handler) {
+ return handler(error as any);
+ } else {
+ throw new Error(`No handler for error code: ${error.errorCode}`);
+ }
+ }
+}
+
+export function success(): Success;
+export function success(value: T): Success;
+export function success(value?: T): Success {
+ return R.success(value);
+}
+
+export function failure(error: E): Failure {
+ return R.failure(error);
+}
+
+export function isSuccess(
+ result: Result
+): result is Success {
+ return result.success === true;
+}
+
+export function isFailure(
+ result: Result
+): result is Failure {
+ return result.success === false;
+}
+
+export function unwrap(result: Result): T {
+ if (isSuccess(result)) {
+ return result.value;
+ } else {
+ throw new Error(`Result is a failure: ${JSON.stringify(result.error)}`);
+ }
+}
+
+export function logResult(
+ result: Result,
+ message?: string
+): Result {
+ if (isSuccess(result)) {
+ console.log(message ?? 'Result:', result.value);
+ } else {
+ console.error(message ?? 'Error:', result.error);
+ }
+ return result;
+}
+
+export function wrap(fn: () => Promise): Promise>;
+export function wrap(fn: () => T): Result;
+export function wrap(
+ fn: () => T | Promise
+): Result | Promise> {
+ try {
+ const result = fn();
+ if (result instanceof Promise) {
+ return result
+ .then((value) => success(value))
+ .catch((error) =>
+ failure({
+ errorCode: 'wrapped_error',
+ errorMessage: error.message,
+ error,
+ })
+ );
+ } else {
+ return success(result);
+ }
+ } catch (error) {
+ return failure({
+ errorCode: 'wrapped_error',
+ errorMessage: error.message,
+ error,
+ });
+ }
+}
+
+export class R implements SuccessOrError {
+ readonly success: boolean;
+ private readonly _data: T | E;
+
+ protected constructor(success: boolean, _data: T | E) {
+ this.success = success;
+ this._data = _data;
+ if (!success && typeof _data === 'object' && 'success' in _data) {
+ const { success: _, ...error } = _data as E;
+ this._data = error as E;
+ }
+ }
+
+ static success(value: T): Success {
+ return new R(true, value) as Success;
+ }
+
+ static failure(error: E): Failure {
+ return new R(false, error) as Failure;
+ }
+
+ get value(): T {
+ return this._data as T;
+ }
+
+ get error(): E {
+ return this._data as E;
+ }
+
+ toString(): string {
+ return `Result(${this.success}, ${JSON.stringify(this._data)})`;
+ }
+
+ toJSON(): GenericResult {
+ return genericResult(this);
+ }
+
+ [Symbol.for('nodejs.util.inspect.custom')]() {
+ return this.toJSON();
+ }
+}
diff --git a/src/aux-common/rpc/index.ts b/src/aux-common/rpc/index.ts
index d59e6f1896..713e7afaa4 100644
--- a/src/aux-common/rpc/index.ts
+++ b/src/aux-common/rpc/index.ts
@@ -16,4 +16,5 @@
* along with this program. If not, see .
*/
export * from './ErrorCodes';
+export * from './Result';
export * from './GenericRPCInterface';
diff --git a/src/aux-common/test/YjsTestHelpers.ts b/src/aux-common/test/YjsTestHelpers.ts
index ba44877083..cee1246b74 100644
--- a/src/aux-common/test/YjsTestHelpers.ts
+++ b/src/aux-common/test/YjsTestHelpers.ts
@@ -20,16 +20,17 @@ import type { Map as YMap } from 'yjs';
import { applyUpdate, Doc } from 'yjs';
export function getUpdates(
- func: (doc: Doc, bots: YMap>) => void,
+ func: (doc: Doc, bots: YMap>, masks: YMap) => void,
doc: Doc = new Doc()
): string[] {
const bots = doc.getMap('bots') as YMap>;
+ const masks = doc.getMap('masks') as YMap>;
let update: Uint8Array;
doc.on('update', (u: Uint8Array) => {
update = u;
});
doc.transact(() => {
- func(doc, bots);
+ func(doc, bots, masks);
});
return [fromByteArray(update)];
diff --git a/src/aux-common/utils.spec.ts b/src/aux-common/utils.spec.ts
index 23d0848c33..e2a7d29561 100644
--- a/src/aux-common/utils.spec.ts
+++ b/src/aux-common/utils.spec.ts
@@ -20,6 +20,7 @@ import {
dotCaseToCamelCase,
toBase64String,
fromBase64String,
+ tryParseJson,
} from './utils';
describe('utils', () => {
@@ -132,4 +133,22 @@ describe('utils', () => {
expect(result).toBe(input);
});
+
+ describe('tryParseJson()', () => {
+ it('should be able to parse the given JSON into a value', () => {
+ expect(tryParseJson('{ "hello": 123 }')).toEqual({
+ success: true,
+ value: {
+ hello: 123,
+ },
+ });
+ });
+
+ it('should return an unsucessful result if the string is not JSON', () => {
+ expect(tryParseJson('{')).toEqual({
+ success: false,
+ error: expect.any(Error),
+ });
+ });
+ });
});
diff --git a/src/aux-common/utils.ts b/src/aux-common/utils.ts
index 3d4bec04a1..95c7dd4337 100644
--- a/src/aux-common/utils.ts
+++ b/src/aux-common/utils.ts
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
import { fromByteArray, toByteArray } from 'base64-js';
-import { union, keys, every, some, isObject, mapValues } from 'lodash';
+import { union, isObject, mapValues } from 'es-toolkit/compat';
import { v4 as uuid } from 'uuid';
/**
@@ -39,7 +39,7 @@ export function merge(
): T1 & T2 & T3 & T4;
export function merge(...objs: any[]): any {
let result: any = {};
- const objKeys = objs.map((o) => keys(o));
+ const objKeys = objs.map((o) => Object.keys(o));
const allKeys = union(...objKeys);
allKeys.forEach((k) => {
@@ -55,11 +55,10 @@ function decide(...vals: any[]) {
return undefed[0];
} else {
if (
- every(
- undefed,
+ undefed.every(
(v) => typeof v === 'object' && !Array.isArray(v) && v !== null
) &&
- some(undefed, (v) => v !== undefed[0])
+ undefed.some((v) => v !== undefed[0])
) {
return (merge)(...undefed);
} else {
@@ -73,10 +72,16 @@ function decide(...vals: any[]) {
* @param value The object to map.
* @param callback The callback that transforms one value into another.
*/
-export function mapValuesDeep(value: any, callback: (v: any) => any): any {
- return isObject(value)
- ? mapValues(value, (v) => mapValuesDeep(v, callback))
- : callback(value);
+export function mapValuesDeep(
+ value: any,
+ callback: (v: any, k: string | number) => any,
+ key: string | number = null
+): any {
+ return Array.isArray(value)
+ ? value.map((v, i) => mapValuesDeep(v, callback, i))
+ : isObject(value)
+ ? mapValues(value, (v, k) => mapValuesDeep(v, callback, k))
+ : callback(value, key);
}
/**
@@ -222,3 +227,33 @@ export function fromBase64String(base64: string): string {
const array = toByteArray(base64);
return decoder.decode(array);
}
+
+/**
+ * Tries to parse the given JSON string into a JavaScript Value.
+ * @param json The JSON to parse.
+ */
+export function tryParseJson(json: string): JsonParseResult {
+ try {
+ return {
+ success: true,
+ value: JSON.parse(json),
+ };
+ } catch (err) {
+ return {
+ success: false,
+ error: err,
+ };
+ }
+}
+
+export type JsonParseResult = JsonParseSuccess | JsonParseFailure;
+
+export interface JsonParseSuccess {
+ success: true;
+ value: any;
+}
+
+export interface JsonParseFailure {
+ success: false;
+ error: unknown;
+}
diff --git a/src/aux-common/websockets/AuthenticatedConnectionClient.spec.ts b/src/aux-common/websockets/AuthenticatedConnectionClient.spec.ts
index f6e0536292..5a8e3c4db2 100644
--- a/src/aux-common/websockets/AuthenticatedConnectionClient.spec.ts
+++ b/src/aux-common/websockets/AuthenticatedConnectionClient.spec.ts
@@ -16,11 +16,7 @@
* along with this program. If not, see .
*/
import type { ConnectionIndicator } from '../common';
-import {
- ConnectionIndicatorId,
- ConnectionIndicatorToken,
- ConnectionInfo,
-} from '../common';
+
import { AuthenticatedConnectionClient } from './AuthenticatedConnectionClient';
import { MemoryConnectionClient } from './MemoryConnectionClient';
import { waitAsync } from '../test/TestHelpers';
@@ -31,7 +27,6 @@ import type {
RequestMissingPermissionMessage,
RequestMissingPermissionResponseMessage,
} from './WebsocketEvents';
-import { WebsocketMessage } from './WebsocketEvents';
import type {
PartitionAuthExternalPermissionResult,
PartitionAuthExternalRequestPermission,
@@ -40,6 +35,7 @@ import type {
import { PartitionAuthSource } from '../partitions';
console.log = jest.fn();
+console.error = jest.fn();
describe('AuthenticatedConnectionClient', () => {
let subject: AuthenticatedConnectionClient;
@@ -217,6 +213,7 @@ describe('AuthenticatedConnectionClient', () => {
let indicator: ConnectionIndicator;
let loginResult: Subject;
let connectionStates: ClientConnectionState[];
+ let requests = [] as PartitionAuthRequest[];
beforeEach(() => {
indicator = { connectionToken: 'test_connection_token' };
inner = new MemoryConnectionClient();
@@ -224,6 +221,7 @@ describe('AuthenticatedConnectionClient', () => {
authSource = new PartitionAuthSource(
new Map([['http://localhost', indicator]])
);
+ authSource.onAuthRequest.subscribe((r) => requests.push(r));
subject = new AuthenticatedConnectionClient(inner, authSource);
loginResult = new Subject();
@@ -306,6 +304,8 @@ describe('AuthenticatedConnectionClient', () => {
},
});
+ await waitAsync();
+
expect(connectionStates.slice(2)).toEqual([
{
connected: true,
@@ -318,6 +318,90 @@ describe('AuthenticatedConnectionClient', () => {
]);
});
+ it('should send a invalid_indicator when the login result is unsucessful', async () => {
+ inner.connect();
+
+ await waitAsync();
+
+ expect(inner.sentMessages).toEqual([
+ {
+ type: 'login',
+ ...indicator,
+ },
+ ]);
+ expect(connectionStates).toEqual([
+ {
+ connected: false,
+ info: null,
+ },
+ ]);
+
+ loginResult.next({
+ type: 'login_result',
+ success: false,
+ errorCode: 'invalid_token',
+ errorMessage: 'Invalid token',
+ });
+
+ await waitAsync();
+
+ expect(connectionStates.slice(1)).toEqual([]);
+ expect(requests).toEqual([
+ {
+ type: 'request',
+ origin: subject.origin,
+ kind: 'invalid_indicator',
+ indicator: indicator,
+ errorCode: 'invalid_token',
+ errorMessage: 'Invalid token',
+ },
+ ]);
+
+ authSource.sendAuthResponse({
+ type: 'response',
+ success: true,
+ origin: subject.origin,
+ indicator: {
+ connectionToken: 'test_connection_token_2',
+ },
+ });
+
+ await waitAsync();
+
+ expect(inner.sentMessages.slice(1)).toEqual([
+ {
+ type: 'login',
+ connectionToken: 'test_connection_token_2',
+ },
+ ]);
+
+ expect(connectionStates.slice(1)).toEqual([]);
+
+ loginResult.next({
+ type: 'login_result',
+ success: true,
+ info: {
+ userId: null,
+ sessionId: null,
+ connectionId: 'test_connection_id_2',
+ },
+ });
+
+ await waitAsync();
+ await waitAsync();
+
+ expect(connectionStates.slice(1)).toEqual([
+ {
+ connected: true,
+ info: {
+ userId: null,
+ sessionId: null,
+ connectionId: 'test_connection_id_2',
+ },
+ },
+ ]);
+ });
+
it('should work when an indicator is not immediately available', async () => {
let requests = [] as PartitionAuthRequest[];
authSource.onAuthRequest.subscribe((r) => requests.push(r));
diff --git a/src/aux-common/websockets/AuthenticatedConnectionClient.ts b/src/aux-common/websockets/AuthenticatedConnectionClient.ts
index b6fc262cb1..3472759af7 100644
--- a/src/aux-common/websockets/AuthenticatedConnectionClient.ts
+++ b/src/aux-common/websockets/AuthenticatedConnectionClient.ts
@@ -17,25 +17,15 @@
*/
import {
BehaviorSubject,
+ NEVER,
Observable,
- concat,
- concatMap,
- defer,
distinctUntilChanged,
- distinctUntilKeyChanged,
filter,
- first,
- from,
+ firstValueFrom,
map,
- mergeWith,
of,
- share,
- shareReplay,
- skip,
startWith,
switchMap,
- takeUntil,
- tap,
} from 'rxjs';
import type {
ClientConnectionState,
@@ -43,25 +33,7 @@ import type {
WebsocketType,
} from './ConnectionClient';
import type { WebsocketMessage } from './WebsocketEvents';
-import {
- LoginMessage,
- WatchBranchMessage,
- UnwatchBranchMessage,
- AddUpdatesMessage,
- SendActionMessage,
- WatchBranchDevicesMessage,
- UnwatchBranchDevicesMessage,
- ConnectionCountMessage,
- TimeSyncRequestMessage,
- GetUpdatesMessage,
- LoginResultMessage,
- TimeSyncResponseMessage,
- UpdatesReceivedMessage,
- ReceiveDeviceActionMessage,
- ConnectedToBranchMessage,
- DisconnectedFromBranchMessage,
- RateLimitExceededMessage,
-} from './WebsocketEvents';
+
import type { ConnectionIndicator } from '../common';
import type {
PartitionAuthResponse,
@@ -214,7 +186,8 @@ export class AuthenticatedConnectionClient implements ConnectionClient {
(r): r is PartitionAuthResponseSuccess => r.success === true
),
map((r) => r.indicator),
- switchMap((indicator) => this._loginWithIndicator(indicator))
+ switchMap((indicator) => this._loginWithIndicator(indicator)),
+ switchMap((v) => v)
);
return loginStates;
@@ -226,26 +199,42 @@ export class AuthenticatedConnectionClient implements ConnectionClient {
}
}
- private _loginWithIndicator(indicator: ConnectionIndicator) {
+ private async _loginWithIndicator(
+ indicator: ConnectionIndicator
+ ): Promise> {
const onLoginResult = this._inner.event('login_result');
this._inner.send({
type: 'login',
...indicator,
});
- return onLoginResult.pipe(
- tap(() => console.log('[AuthencatedConnectionClient] Logged in.')),
- map((result) => ({
+ const result = await firstValueFrom(onLoginResult);
+ if (result.success === true) {
+ console.log('[AuthencatedConnectionClient] Logged in.');
+ return of({
connected: true,
- info: (result as any).info,
- })),
- first(),
- takeUntil(
- this._inner.connectionState.pipe(
- first((state) => !state.connected)
- )
- )
- );
+ info: result.info,
+ });
+ } else {
+ // handle login failure
+ console.error(
+ '[AuthenticatedConnectionClient] Login failed:',
+ result
+ );
+
+ // Resend request for indicator
+ this._authSource.sendAuthRequest({
+ type: 'request',
+ origin: this.origin,
+ kind: 'invalid_indicator',
+ indicator: indicator,
+ errorCode: result.errorCode,
+ errorMessage: result.errorMessage,
+ reason: result.reason,
+ });
+
+ return NEVER;
+ }
}
}
diff --git a/src/aux-common/websockets/ConnectionClient.ts b/src/aux-common/websockets/ConnectionClient.ts
index 65724ca63a..6013224485 100644
--- a/src/aux-common/websockets/ConnectionClient.ts
+++ b/src/aux-common/websockets/ConnectionClient.ts
@@ -18,9 +18,7 @@
import type { Observable } from 'rxjs';
import type { ConnectionInfo } from '../common/ConnectionInfo';
import type { WebsocketErrorInfo, WebsocketMessage } from './WebsocketEvents';
-import { WebsocketErrorCode } from './WebsocketEvents';
import type { ConnectionIndicator } from '../common';
-import { DenialReason } from '../common';
/**
* Defines an interface that contains connection state info.
diff --git a/src/aux-common/websockets/InstRecordsClient.spec.ts b/src/aux-common/websockets/InstRecordsClient.spec.ts
index 90e4ef10b8..18090346bf 100644
--- a/src/aux-common/websockets/InstRecordsClient.spec.ts
+++ b/src/aux-common/websockets/InstRecordsClient.spec.ts
@@ -45,7 +45,7 @@ import type {
DeviceActionError,
} from '../common/RemoteActions';
import { device, remote } from '../common/RemoteActions';
-import { ConnectionInfo, connectionInfo } from '../common/ConnectionInfo';
+import { connectionInfo } from '../common/ConnectionInfo';
import type { TimeSample } from '@casual-simulation/timesync';
describe('InstRecordsClient', () => {
@@ -311,9 +311,24 @@ describe('InstRecordsClient', () => {
it('should remember updates that were sent to the branch and resend them after reconnecting if they were not acknowledged', async () => {
const updatesReceived = new Subject();
connection.events.set('repo/updates_received', updatesReceived);
+
+ const watchBranchResult = new Subject();
+ connection.events.set(
+ 'repo/watch_branch_result',
+ watchBranchResult
+ );
+
connection.connect();
client.watchBranchUpdates('abc').subscribe();
+ watchBranchResult.next({
+ type: 'repo/watch_branch_result',
+ success: true,
+ recordName: null,
+ inst: 'abc',
+ branch: DEFAULT_BRANCH_NAME,
+ });
+
client.addUpdates(null, 'abc', DEFAULT_BRANCH_NAME, ['111', '222']);
connection.disconnect();
@@ -339,13 +354,32 @@ describe('InstRecordsClient', () => {
connection.connect();
await waitAsync();
+ // should not send the updates until it gets a watch branch result
expect(connection.sentMessages.slice(2)).toEqual([
+ {
+ type: 'repo/unwatch_branch',
+ recordName: null,
+ inst: 'abc',
+ branch: DEFAULT_BRANCH_NAME,
+ },
{
type: 'repo/watch_branch',
recordName: null,
inst: 'abc',
branch: DEFAULT_BRANCH_NAME,
},
+ ]);
+
+ watchBranchResult.next({
+ type: 'repo/watch_branch_result',
+ recordName: null,
+ inst: 'abc',
+ branch: DEFAULT_BRANCH_NAME,
+ success: true,
+ });
+
+ await waitAsync();
+ expect(connection.sentMessages.slice(4)).toEqual([
{
type: 'repo/add_updates',
recordName: null,
@@ -475,6 +509,12 @@ describe('InstRecordsClient', () => {
it('should resend all updates after connecting if the branch is temporary', async () => {
const updatesReceived = new Subject();
connection.events.set('repo/updates_received', updatesReceived);
+ const watchBranchResult = new Subject();
+ connection.events.set(
+ 'repo/watch_branch_result',
+ watchBranchResult
+ );
+
connection.connect();
client
.watchBranchUpdates({
@@ -486,7 +526,16 @@ describe('InstRecordsClient', () => {
})
.subscribe();
+ watchBranchResult.next({
+ type: 'repo/watch_branch_result',
+ success: true,
+ recordName: 'myRecord',
+ inst: 'abc',
+ branch: 'different',
+ });
+
client.addUpdates('myRecord', 'abc', 'different', ['111', '222']);
+ client.addUpdates('myRecord', 'abc', 'different', ['333', '444']);
updatesReceived.next({
type: 'repo/updates_received',
@@ -496,6 +545,14 @@ describe('InstRecordsClient', () => {
updateId: 1,
});
+ updatesReceived.next({
+ type: 'repo/updates_received',
+ recordName: 'myRecord',
+ inst: 'abc',
+ branch: 'different',
+ updateId: 2,
+ });
+
connection.disconnect();
await waitAsync();
@@ -515,12 +572,27 @@ describe('InstRecordsClient', () => {
updates: ['111', '222'],
updateId: 1,
},
+ {
+ type: 'repo/add_updates',
+ recordName: 'myRecord',
+ inst: 'abc',
+ branch: 'different',
+ updates: ['333', '444'],
+ updateId: 2,
+ },
]);
connection.connect();
await waitAsync();
- expect(connection.sentMessages.slice(2)).toEqual([
+ // should not send the updates until it gets a watch branch result
+ expect(connection.sentMessages.slice(3)).toEqual([
+ {
+ type: 'repo/unwatch_branch',
+ recordName: 'myRecord',
+ inst: 'abc',
+ branch: 'different',
+ },
{
type: 'repo/watch_branch',
recordName: 'myRecord',
@@ -528,6 +600,19 @@ describe('InstRecordsClient', () => {
branch: 'different',
temporary: true,
},
+ ]);
+
+ watchBranchResult.next({
+ type: 'repo/watch_branch_result',
+ success: true,
+ recordName: 'myRecord',
+ inst: 'abc',
+ branch: 'different',
+ });
+
+ await waitAsync();
+
+ expect(connection.sentMessages.slice(5)).toEqual([
{
type: 'repo/add_updates',
recordName: 'myRecord',
@@ -536,6 +621,14 @@ describe('InstRecordsClient', () => {
updates: ['111', '222'],
updateId: 1,
},
+ {
+ type: 'repo/add_updates',
+ recordName: 'myRecord',
+ inst: 'abc',
+ branch: 'different',
+ updates: ['333', '444'],
+ updateId: 2,
+ },
]);
});
diff --git a/src/aux-common/websockets/InstRecordsClient.ts b/src/aux-common/websockets/InstRecordsClient.ts
index 38cb5b9cd3..af5a23abc4 100644
--- a/src/aux-common/websockets/InstRecordsClient.ts
+++ b/src/aux-common/websockets/InstRecordsClient.ts
@@ -22,7 +22,6 @@ import type {
import {
filter,
map,
- distinctUntilChanged,
switchMap,
tap,
finalize,
@@ -45,11 +44,8 @@ import type {
DeviceActionError,
RemoteActions,
} from '../common/RemoteActions';
-import { RemoteAction } from '../common/RemoteActions';
import type { ConnectionInfo } from '../common/ConnectionInfo';
-import { flatMap, flatMap as lodashFlatMap, sortBy } from 'lodash';
import type { TimeSample } from '@casual-simulation/timesync';
-import { TimeSyncConnection } from '@casual-simulation/timesync';
export const DEFAULT_BRANCH_NAME = 'default';
@@ -229,18 +225,6 @@ export class InstRecordsClient {
}
this._client.send(branchEvent);
-
- let list = this._getSentUpdates(recordName, inst, branch);
-
- for (let [key, value] of list) {
- this._sendAddUpdates(
- recordName,
- inst,
- branch,
- value.updates,
- key
- );
- }
}),
switchMap((connected) =>
merge(
@@ -251,8 +235,26 @@ export class InstRecordsClient {
event.inst === inst &&
event.branch === branch
),
- tap(() => {
+ tap((e) => {
this._connectedBranches.add(watchedBranchKey);
+
+ if (e.success) {
+ let list = this._getSentUpdates(
+ recordName,
+ inst,
+ branch
+ );
+
+ for (let [key, value] of list) {
+ this._sendAddUpdates(
+ recordName,
+ inst,
+ branch,
+ value.updates,
+ key
+ );
+ }
+ }
})
),
this._client.event('repo/add_updates').pipe(
@@ -289,8 +291,7 @@ export class InstRecordsClient {
// current event is initial event,
// merge events.
const allEvents = events;
- const allUpdates = lodashFlatMap(
- allEvents,
+ const allUpdates = allEvents.flatMap(
(e) => e.updates ?? []
);
diff --git a/src/aux-records/websockets/Utils.spec.ts b/src/aux-common/websockets/Utils.spec.ts
similarity index 100%
rename from src/aux-records/websockets/Utils.spec.ts
rename to src/aux-common/websockets/Utils.spec.ts
diff --git a/src/aux-records/websockets/Utils.ts b/src/aux-common/websockets/Utils.ts
similarity index 100%
rename from src/aux-records/websockets/Utils.ts
rename to src/aux-common/websockets/Utils.ts
diff --git a/src/aux-common/websockets/WebsocketEvents.ts b/src/aux-common/websockets/WebsocketEvents.ts
index 913bb13cc5..a41e73ab86 100644
--- a/src/aux-common/websockets/WebsocketEvents.ts
+++ b/src/aux-common/websockets/WebsocketEvents.ts
@@ -44,11 +44,10 @@ import { genericHttpRequestSchema } from '../http/GenericHttpInterface';
import type { PublicUserInfo, ResourceKinds, SubjectType } from '../common';
import {
ACTION_KINDS_VALIDATION,
- INST_ACTION_KINDS_VALIDATION,
- READ_ACTION,
RESOURCE_KIND_VALIDATION,
SUBJECT_TYPE_VALIDATION,
} from '../common';
+import type { KnownErrorCodes } from '../rpc/ErrorCodes';
/**
* Defines a websocket event.
@@ -126,6 +125,7 @@ export const websocketUploadResponseEventSchema = z.tuple([
export type WebsocketErrorCode =
| ServerError
| NotSupportedError
+ | KnownErrorCodes
| 'invalid_record_key'
| 'unacceptable_connection_token'
| 'invalid_token'
@@ -353,6 +353,13 @@ export interface WatchBranchMessage {
* Currently, "updates" is the only supported protocol.
*/
protocol?: 'updates';
+
+ /**
+ * The markers that should be set on the inst if it is new.
+ * If the inst already exists, this field is ignored.
+ * If not provided, the default markers will be used.
+ */
+ markers?: string[];
}
export const watchBranchMessageSchema = z.object({
type: z.literal('repo/watch_branch'),
@@ -360,6 +367,7 @@ export const watchBranchMessageSchema = z.object({
inst: z.string(),
branch: z.string(),
temporary: z.boolean().optional(),
+ markers: z.array(z.string()).optional(),
});
type ZodWatchBranchMessage = z.infer;
type ZodWatchBranchMessageAssertion = HasType<
diff --git a/src/aux-common/websockets/index.ts b/src/aux-common/websockets/index.ts
index 9a13aa6bfd..67920337f9 100644
--- a/src/aux-common/websockets/index.ts
+++ b/src/aux-common/websockets/index.ts
@@ -21,3 +21,4 @@ export * from './InstRecordsClient';
export * from './MemoryConnectionClient';
export * from './InstRecordsClientTimeSyncConnection';
export * from './AuthenticatedConnectionClient';
+export * from './Utils';
diff --git a/src/aux-common/yjs/YjsHelpers.spec.ts b/src/aux-common/yjs/YjsHelpers.spec.ts
index e7efc4401a..0f2d66424e 100644
--- a/src/aux-common/yjs/YjsHelpers.spec.ts
+++ b/src/aux-common/yjs/YjsHelpers.spec.ts
@@ -15,7 +15,6 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { first } from '../common';
import type { Transaction, YEvent } from 'yjs';
import {
applyUpdate,
diff --git a/src/aux-common/yjs/YjsHelpers.ts b/src/aux-common/yjs/YjsHelpers.ts
index 879f332516..086e861841 100644
--- a/src/aux-common/yjs/YjsHelpers.ts
+++ b/src/aux-common/yjs/YjsHelpers.ts
@@ -21,7 +21,6 @@ import {
createAbsolutePositionFromRelativePosition,
createID,
findRootTypeKey,
- Item,
RelativePosition,
} from 'yjs';
diff --git a/src/aux-common/yjs/YjsIndexedDBPersistence.spec.ts b/src/aux-common/yjs/YjsIndexedDBPersistence.spec.ts
index 5a54d99f90..85b2933d57 100644
--- a/src/aux-common/yjs/YjsIndexedDBPersistence.spec.ts
+++ b/src/aux-common/yjs/YjsIndexedDBPersistence.spec.ts
@@ -39,7 +39,6 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
-import { IDBFactory } from 'fake-indexeddb';
import type { Transaction, YEvent } from 'yjs';
import { Doc } from 'yjs';
import {
diff --git a/src/aux-common/yjs/YjsIndexedDBPersistence.ts b/src/aux-common/yjs/YjsIndexedDBPersistence.ts
index a0afa939b8..0fff8c9c65 100644
--- a/src/aux-common/yjs/YjsIndexedDBPersistence.ts
+++ b/src/aux-common/yjs/YjsIndexedDBPersistence.ts
@@ -233,7 +233,7 @@ export class YjsIndexedDBPersistence {
this._whenSynced = firstValueFrom(
this._onSyncChanged.pipe(
filter((sync) => sync),
- map(() => undefined)
+ map(() => undefined as any)
)
);
diff --git a/src/aux-components/components/SpashScreen/SplashScreen.css b/src/aux-components/components/SpashScreen/SplashScreen.css
new file mode 100644
index 0000000000..7d8981c8e2
--- /dev/null
+++ b/src/aux-components/components/SpashScreen/SplashScreen.css
@@ -0,0 +1,22 @@
+.version {
+ position: absolute;
+ bottom: 0;
+ right: 3px;
+ color: #999;
+ font-size: 12px;
+}
+
+.splash-screen {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ /* background-color: #fff; */
+ z-index: 9999;
+
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
diff --git a/src/aux-components/components/SpashScreen/SplashScreen.ts b/src/aux-components/components/SpashScreen/SplashScreen.ts
new file mode 100644
index 0000000000..b9bc9a4a16
--- /dev/null
+++ b/src/aux-components/components/SpashScreen/SplashScreen.ts
@@ -0,0 +1,31 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+import Component from 'vue-class-component';
+import Vue from 'vue';
+import { Prop } from 'vue-property-decorator';
+
+@Component({
+ components: {},
+})
+export default class SplashScreen extends Vue {
+ @Prop({}) version: string;
+ @Prop({ default: null }) backgroundColor: string;
+ @Prop({ default: null }) logoUrl: string;
+ @Prop({ default: null }) logoTitle: string;
+ @Prop({ default: null }) title: string;
+}
diff --git a/src/aux-components/components/SpashScreen/SplashScreen.vue b/src/aux-components/components/SpashScreen/SplashScreen.vue
new file mode 100644
index 0000000000..44313a7f3e
--- /dev/null
+++ b/src/aux-components/components/SpashScreen/SplashScreen.vue
@@ -0,0 +1,17 @@
+
+
+
+
{{ title }}
+
+
+
{{ version }}
+
+
+
+
+
diff --git a/src/aux-components/components/SpashScreen/SplashScreenGlobals.css b/src/aux-components/components/SpashScreen/SplashScreenGlobals.css
new file mode 100644
index 0000000000..7bb5c550c2
--- /dev/null
+++ b/src/aux-components/components/SpashScreen/SplashScreenGlobals.css
@@ -0,0 +1,3 @@
+.splash-screen-spinner.md-progress-spinner .md-progress-spinner-circle {
+ stroke: #999 !important;
+}
diff --git a/src/aux-components/index.ts b/src/aux-components/index.ts
index 9639b05c7b..ee457432e7 100644
--- a/src/aux-components/index.ts
+++ b/src/aux-components/index.ts
@@ -20,5 +20,6 @@ export * from './EventBus';
import Loading from './components/Loading/Loading';
import Tagline from './components/Tagline/Tagline';
import SvgIcon from './components/SvgIcon/SvgIcon';
+import SplashScreen from './components/SpashScreen/SplashScreen';
-export { Loading, Tagline, SvgIcon };
+export { Loading, Tagline, SvgIcon, SplashScreen };
diff --git a/src/aux-components/package.json b/src/aux-components/package.json
index 84a5cc4011..639a70467b 100644
--- a/src/aux-components/package.json
+++ b/src/aux-components/package.json
@@ -1,6 +1,6 @@
{
"name": "@casual-simulation/aux-components",
- "version": "3.4.3",
+ "version": "3.8.0",
"description": "Common library for AUX Vue components and Misc",
"main": "index.js",
"types": "index.d.ts",
@@ -33,21 +33,21 @@
"access": "public"
},
"dependencies": {
- "@casual-simulation/aux-common": "^3.4.0",
- "@casual-simulation/aux-vm": "^3.4.3",
- "@casual-simulation/aux-vm-browser": "^3.4.3",
- "@casual-simulation/aux-vm-client": "^3.4.3",
- "@casual-simulation/aux-vm-deno": "^3.4.3",
- "@casual-simulation/aux-vm-node": "^3.4.3",
- "@casual-simulation/crypto": "^3.4.0",
- "@casual-simulation/crypto-browser": "^3.4.0",
- "@casual-simulation/crypto-node": "^3.4.0",
+ "@casual-simulation/aux-common": "^3.8.0",
+ "@casual-simulation/aux-vm": "^3.8.0",
+ "@casual-simulation/aux-vm-browser": "^3.8.0",
+ "@casual-simulation/aux-vm-client": "^3.8.0",
+ "@casual-simulation/aux-vm-deno": "^3.8.0",
+ "@casual-simulation/aux-vm-node": "^3.8.0",
+ "@casual-simulation/crypto": "^3.5.0",
+ "@casual-simulation/crypto-browser": "^3.5.0",
+ "@casual-simulation/crypto-node": "^3.5.0",
"@casual-simulation/three": "^0.140.3",
- "@casual-simulation/tunnel": "^3.4.0",
+ "@casual-simulation/tunnel": "^3.5.0",
"@casual-simulation/vue-shortkey": "^3.2.7",
"@chenfengyuan/vue-qrcode": "^1.0.0",
"@juggle/resize-observer": "2.3.0",
- "@octokit/rest": "16.35.2",
+ "@octokit/rest": "20.1.0",
"@tweenjs/tween.js": "18.6.0",
"@webxr-input-profiles/assets": "1.0.14",
"@webxr-input-profiles/motion-controllers": "1.0.0",
@@ -58,6 +58,7 @@
"compression": "1.7.4",
"cors": "2.8.5",
"downloadjs": "^1.4.7",
+ "es-toolkit": "1.39.10",
"event-stream": "^4.0.1",
"filepond": "^3.8.2",
"filepond-plugin-file-validate-type": "^1.2.1",
@@ -67,7 +68,6 @@
"inherits": "2.0.4",
"jsbarcode": "3.11.0",
"jsqr": "1.2.0",
- "lodash": "4.17.21",
"mime": "2.4.6",
"mongodb": "3.6.2",
"rxjs": "8.0.0-alpha.14",
diff --git a/src/aux-proxy/package.json b/src/aux-proxy/package.json
index 9322d4b3c0..4b5553e5b3 100644
--- a/src/aux-proxy/package.json
+++ b/src/aux-proxy/package.json
@@ -1,7 +1,7 @@
{
"name": "@casual-simulation/aux-proxy",
"private": true,
- "version": "3.4.0",
+ "version": "3.5.0",
"description": "A simple web service that can initiate a reverse-reverse proxy session.",
"keywords": [
"aux"
@@ -38,7 +38,7 @@
"url": "https://github.com/casual-simulation/casualos/issues"
},
"dependencies": {
- "@casual-simulation/tunnel": "^3.4.0",
+ "@casual-simulation/tunnel": "^3.5.0",
"body-parser": "1.20.3",
"express": "^4.21.1",
"http-proxy": "1.18.1",
diff --git a/src/aux-proxy/script/dev-proxy.mjs b/src/aux-proxy/script/dev-proxy.mjs
index 0c6a1c97e0..c590a394ae 100644
--- a/src/aux-proxy/script/dev-proxy.mjs
+++ b/src/aux-proxy/script/dev-proxy.mjs
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { cleanDirectory, setupWatch } from '../../../script/build-helpers.mjs';
+import { setupWatch } from '../../../script/build-helpers.mjs';
import { createConfigs, cleanDirectories } from './proxy-configs.mjs';
cleanDirectories();
diff --git a/src/aux-proxy/server.ts b/src/aux-proxy/server.ts
index ba8484e1ba..5ef1baf29b 100644
--- a/src/aux-proxy/server.ts
+++ b/src/aux-proxy/server.ts
@@ -19,7 +19,6 @@ import type { Config } from './config';
import type { Handler } from 'express';
import express from 'express';
import * as bodyParser from 'body-parser';
-import { promisify } from 'util';
import { verify } from 'jsonwebtoken';
import { WebSocketServer, requestUrl } from '@casual-simulation/tunnel';
import type { IncomingMessage } from 'http';
diff --git a/src/aux-records-aws/RekognitionModerationJobProvider.ts b/src/aux-records-aws/RekognitionModerationJobProvider.ts
index 92bff2bce3..a4fc07823b 100644
--- a/src/aux-records-aws/RekognitionModerationJobProvider.ts
+++ b/src/aux-records-aws/RekognitionModerationJobProvider.ts
@@ -31,10 +31,7 @@ import type {
CreateJobCommandInput,
S3ControlClient,
} from '@aws-sdk/client-s3-control';
-import {
- CreateJobCommand,
- JobManifestGeneratorFilter,
-} from '@aws-sdk/client-s3-control';
+import { CreateJobCommand } from '@aws-sdk/client-s3-control';
import { v4 as uuid } from 'uuid';
import { traced } from '@casual-simulation/aux-records/tracing/TracingDecorators';
import type { S3 } from '@aws-sdk/client-s3';
diff --git a/src/aux-records-aws/S3FileRecordsStore.spec.ts b/src/aux-records-aws/S3FileRecordsStore.spec.ts
index a5ae10ce58..d86edc4d27 100644
--- a/src/aux-records-aws/S3FileRecordsStore.spec.ts
+++ b/src/aux-records-aws/S3FileRecordsStore.spec.ts
@@ -21,11 +21,7 @@ import {
s3AclForMarkers,
isPublicFile,
} from './S3FileRecordsStore';
-import {
- awsResult,
- awsError,
- ConditionalCheckFailedException,
-} from './AwsTestUtils';
+import { awsResult } from './AwsTestUtils';
import type {
EraseFileStoreResult,
AddFileResult,
@@ -36,9 +32,7 @@ import type {
UpdateFileResult,
} from '@casual-simulation/aux-records';
import {
- FileRecordsStore,
signRequest,
- MarkFileRecordAsUploadedFailure,
MemoryFileRecordsLookup,
} from '@casual-simulation/aux-records';
import '../../jest/jest-matchers';
@@ -836,6 +830,7 @@ describe('s3AclForMarkers()', () => {
describe('isPublicFile()', () => {
const cases = [
['public', [PUBLIC_READ_MARKER], true] as const,
+ ['public', null, true] as const,
['private', ['secret'], false] as const,
];
diff --git a/src/aux-records-aws/S3FileRecordsStore.ts b/src/aux-records-aws/S3FileRecordsStore.ts
index bcac6e65bb..dd5d16abd7 100644
--- a/src/aux-records-aws/S3FileRecordsStore.ts
+++ b/src/aux-records-aws/S3FileRecordsStore.ts
@@ -38,9 +38,7 @@ import type {
} from '@casual-simulation/aux-records';
import { PUBLIC_READ_MARKER } from '@casual-simulation/aux-common';
import type { S3 } from '@aws-sdk/client-s3';
-import { S3ClientConfig } from '@aws-sdk/client-s3';
import type { AwsCredentialIdentityProvider } from '@aws-sdk/types';
-import { AwsCredentialIdentity } from '@aws-sdk/types';
import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
import { traced } from '@casual-simulation/aux-records/tracing/TracingDecorators';
@@ -281,7 +279,7 @@ export class S3FileRecordsStore implements FileRecordsStore {
...requiredHeaders,
},
queryString: {},
- path: fileUrl.pathname,
+ path: decodeURI(fileUrl.pathname),
},
secretAccessKey,
accessKeyId,
@@ -338,7 +336,7 @@ export class S3FileRecordsStore implements FileRecordsStore {
queryString: {
'response-cache-control': 'max-age=31536000',
},
- path: fileUrl.pathname,
+ path: decodeURI(fileUrl.pathname),
},
secretAccessKey,
accessKeyId,
@@ -572,8 +570,8 @@ export function s3AclForMarkers(markers: readonly string[]): string {
* Determines whether the given markers indicate that the file is public.
* @param markers The markers that are applied to the file.
*/
-export function isPublicFile(markers: readonly string[]): boolean {
- return markers.some((m) => m === PUBLIC_READ_MARKER);
+export function isPublicFile(markers: readonly string[] | null): boolean {
+ return !markers || markers.some((m) => m === PUBLIC_READ_MARKER);
}
/**
diff --git a/src/aux-records-aws/SimpleEmailServiceAuthMessenger.spec.ts b/src/aux-records-aws/SimpleEmailServiceAuthMessenger.spec.ts
index c1a4359aeb..cef7ac5ea8 100644
--- a/src/aux-records-aws/SimpleEmailServiceAuthMessenger.spec.ts
+++ b/src/aux-records-aws/SimpleEmailServiceAuthMessenger.spec.ts
@@ -19,7 +19,7 @@ import {
SimpleEmailServiceAuthMessenger,
renderString,
} from './SimpleEmailServiceAuthMessenger';
-import { awsResult, awsError } from './AwsTestUtils';
+import { awsResult } from './AwsTestUtils';
describe('SimpleEmailServiceAuthMessenger', () => {
let messenger: SimpleEmailServiceAuthMessenger;
diff --git a/src/aux-records-aws/package.json b/src/aux-records-aws/package.json
index c7ce6603fe..af4ebc8ab3 100644
--- a/src/aux-records-aws/package.json
+++ b/src/aux-records-aws/package.json
@@ -1,6 +1,6 @@
{
"name": "@casual-simulation/aux-records-aws",
- "version": "3.4.1",
+ "version": "3.8.0",
"description": "AWS Store implementations for the CasualOS Records System.",
"keywords": [],
"author": "Casual Simulation, Inc.",
@@ -44,8 +44,8 @@
"@aws-sdk/client-sesv2": "^3.620.1",
"@aws-sdk/credential-providers": "^3.620.1",
"@aws-sdk/types": "^3.609.0",
- "@casual-simulation/aux-common": "^3.4.0",
- "@casual-simulation/aux-records": "^3.4.1",
+ "@casual-simulation/aux-common": "^3.8.0",
+ "@casual-simulation/aux-records": "^3.8.0",
"axios": "1.7.7",
"uuid": "10.0.0"
}
diff --git a/src/aux-records/AIController.spec.ts b/src/aux-records/AIController.spec.ts
index 3bb05c51d8..c7ceeb65ee 100644
--- a/src/aux-records/AIController.spec.ts
+++ b/src/aux-records/AIController.spec.ts
@@ -20,7 +20,6 @@ import type {
AIChatInterfaceResponse,
AIChatInterfaceStreamResponse,
} from './AIChatInterface';
-import { AIChatInterface } from './AIChatInterface';
import type {
AIGenerateSkyboxInterfaceResponse,
AIGenerateSkyboxInterfaceRequest,
@@ -34,17 +33,10 @@ import { AIController } from './AIController';
import type { MemoryStore } from './MemoryStore';
import {
asyncIterable,
- asyncIterator,
createTestControllers,
unwindAndCaptureAsync,
} from './TestUtils';
-import {
- FeaturesConfiguration,
- SubscriptionConfiguration,
- allowAllFeatures,
-} from './SubscriptionConfiguration';
-import { merge } from 'lodash';
-import { unwind } from '../js-interpreter/InterpreterUtils';
+
import type { AIHumeInterfaceGetAccessTokenResult } from './AIHumeInterface';
import type {
AISloydInterfaceCreateModelRequest,
@@ -53,7 +45,11 @@ import type {
AISloydInterfaceEditModelResponse,
} from './AISloydInterface';
import type { PolicyController } from './PolicyController';
-import { PUBLIC_READ_MARKER } from '@casual-simulation/aux-common';
+import {
+ failure,
+ PUBLIC_READ_MARKER,
+ success,
+} from '@casual-simulation/aux-common';
import { fromByteArray } from 'base64-js';
import { buildSubscriptionConfig } from './SubscriptionConfigBuilder';
import type { AIOpenAIRealtimeInterface } from './AIOpenAIRealtimeInterface';
@@ -645,7 +641,7 @@ describe('AIController', () => {
ownerId: userId,
});
- expect(metrics).toEqual({
+ expect(metrics).toMatchObject({
ownerId: userId,
subscriptionStatus: null,
subscriptionId: null,
@@ -656,7 +652,7 @@ describe('AIController', () => {
});
});
- it('should use configure token ratio', async () => {
+ it('should use the configured token ratio', async () => {
chatInterface.chat.mockReturnValueOnce(
Promise.resolve({
choices: [
@@ -709,7 +705,7 @@ describe('AIController', () => {
ownerId: userId,
});
- expect(metrics).toEqual({
+ expect(metrics).toMatchObject({
ownerId: userId,
subscriptionStatus: null,
subscriptionId: null,
@@ -1752,7 +1748,7 @@ describe('AIController', () => {
ownerId: userId,
});
- expect(metrics).toEqual({
+ expect(metrics).toMatchObject({
ownerId: userId,
subscriptionStatus: null,
subscriptionId: null,
@@ -1826,7 +1822,7 @@ describe('AIController', () => {
ownerId: userId,
});
- expect(metrics).toEqual({
+ expect(metrics).toMatchObject({
ownerId: userId,
subscriptionStatus: null,
subscriptionId: null,
@@ -2391,6 +2387,388 @@ describe('AIController', () => {
});
});
+ describe('listChatModels()', () => {
+ it('should return the list of allowed chat models', async () => {
+ store.subscriptionConfiguration = buildSubscriptionConfig(
+ (config) =>
+ config.addSubscription('sub1', (sub) =>
+ sub
+ .withTier(userSubscriptionTier)
+ .withAllDefaultFeatures()
+ .withAI()
+ .withAIChat({
+ allowed: true,
+ })
+ )
+ );
+ await store.saveUser({
+ id: userId,
+ email: 'test@example.com',
+ phoneNumber: null,
+ allSessionRevokeTimeMs: null,
+ currentLoginRequestId: null,
+ subscriptionId: 'sub1',
+ subscriptionStatus: 'active',
+ });
+
+ const result = await controller.listChatModels({
+ userId,
+ userSubscriptionTier,
+ userRole: 'none',
+ });
+
+ expect(result).toEqual(
+ success([
+ {
+ name: 'test-model1',
+ provider: 'provider1',
+ isDefault: false,
+ },
+ {
+ name: 'test-model2',
+ provider: 'provider1',
+ isDefault: false,
+ },
+ {
+ name: 'test-model3',
+ provider: 'provider2',
+ isDefault: false,
+ },
+ {
+ name: 'test-model-token-ratio',
+ provider: 'provider1',
+ isDefault: false,
+ },
+ ])
+ );
+ });
+
+ it('should mark the default model', async () => {
+ store.subscriptionConfiguration = buildSubscriptionConfig(
+ (config) =>
+ config.addSubscription('sub1', (sub) =>
+ sub
+ .withTier(userSubscriptionTier)
+ .withAllDefaultFeatures()
+ .withAI()
+ .withAIChat({
+ allowed: true,
+ })
+ )
+ );
+ await store.saveUser({
+ id: userId,
+ email: 'test@example.com',
+ phoneNumber: null,
+ allSessionRevokeTimeMs: null,
+ currentLoginRequestId: null,
+ subscriptionId: 'sub1',
+ subscriptionStatus: 'active',
+ });
+
+ controller = new AIController({
+ chat: {
+ interfaces: {
+ provider1: chatInterface,
+ provider2: chatInterface2,
+ },
+ options: {
+ defaultModel: 'test-model1',
+ defaultModelProvider: 'provider1',
+ allowedChatModels: [
+ {
+ provider: 'provider1',
+ model: 'test-model1',
+ },
+ {
+ provider: 'provider1',
+ model: 'test-model2',
+ },
+ ],
+ allowedChatSubscriptionTiers: [userSubscriptionTier],
+ tokenModifierRatio: {},
+ },
+ },
+ generateSkybox: null,
+ images: null,
+ hume: null,
+ sloyd: null,
+ openai: null,
+ metrics: store,
+ config: store,
+ policies: null,
+ policyController: policies,
+ records: store,
+ });
+
+ const result = await controller.listChatModels({
+ userId,
+ userSubscriptionTier,
+ userRole: 'none',
+ });
+
+ expect(result).toEqual(
+ success([
+ {
+ name: 'test-model1',
+ provider: 'provider1',
+ isDefault: true,
+ },
+ {
+ name: 'test-model2',
+ provider: 'provider1',
+ isDefault: false,
+ },
+ ])
+ );
+ });
+
+ it('should filter models based on subscription features', async () => {
+ store.subscriptionConfiguration = buildSubscriptionConfig(
+ (config) =>
+ config.addSubscription('sub1', (sub) =>
+ sub
+ .withTier(userSubscriptionTier)
+ .withAllDefaultFeatures()
+ .withAI()
+ .withAIChat({
+ allowed: true,
+ allowedModels: ['test-model1', 'test-model2'],
+ })
+ )
+ );
+ await store.saveUser({
+ id: userId,
+ email: 'test@example.com',
+ phoneNumber: null,
+ allSessionRevokeTimeMs: null,
+ currentLoginRequestId: null,
+ subscriptionId: 'sub1',
+ subscriptionStatus: 'active',
+ });
+
+ const result = await controller.listChatModels({
+ userId,
+ userSubscriptionTier,
+ userRole: 'none',
+ });
+
+ expect(result).toEqual(
+ success([
+ {
+ name: 'test-model1',
+ provider: 'provider1',
+ isDefault: false,
+ },
+ {
+ name: 'test-model2',
+ provider: 'provider1',
+ isDefault: false,
+ },
+ ])
+ );
+ });
+
+ it('should return all models if the user is a superUser', async () => {
+ store.subscriptionConfiguration = buildSubscriptionConfig(
+ (config) =>
+ config
+ .addSubscription('sub1', (sub) =>
+ sub
+ .withTier(userSubscriptionTier)
+ .withAllDefaultFeatures()
+ .withAI()
+ .withAIChat({
+ allowed: true,
+ allowedModels: [
+ 'test-model1',
+ 'test-model2',
+ ],
+ })
+ )
+ .withUserDefaultFeatures((features) =>
+ features.withAIChat({
+ allowed: false,
+ })
+ )
+ );
+ await store.saveUser({
+ id: userId,
+ email: 'test@example.com',
+ phoneNumber: null,
+ allSessionRevokeTimeMs: null,
+ currentLoginRequestId: null,
+ subscriptionId: null,
+ subscriptionStatus: null,
+ role: 'superUser',
+ });
+
+ const result = await controller.listChatModels({
+ userId,
+ userSubscriptionTier,
+ userRole: 'superUser',
+ });
+
+ expect(result).toEqual(
+ success([
+ {
+ name: 'test-model1',
+ provider: 'provider1',
+ isDefault: false,
+ },
+ {
+ name: 'test-model2',
+ provider: 'provider1',
+ isDefault: false,
+ },
+ {
+ name: 'test-model3',
+ provider: 'provider2',
+ isDefault: false,
+ },
+ {
+ name: 'test-model-token-ratio',
+ provider: 'provider1',
+ isDefault: false,
+ },
+ ])
+ );
+ });
+
+ it('should return not_logged_in if no userId is provided', async () => {
+ const result = await controller.listChatModels({
+ userId: null,
+ userSubscriptionTier,
+ userRole: 'none',
+ });
+
+ expect(result).toEqual(
+ failure({
+ errorCode: 'not_logged_in',
+ errorMessage: 'The user is not logged in.',
+ })
+ );
+ });
+
+ it('should return subscription_limit_reached if the user has no subscription', async () => {
+ store.subscriptionConfiguration = buildSubscriptionConfig(
+ (config) =>
+ config
+ .addSubscription('sub1', (sub) =>
+ sub
+ .withTier(userSubscriptionTier)
+ .withAllDefaultFeatures()
+ .withAI()
+ .withAIChat({
+ allowed: true,
+ allowedModels: [
+ 'test-model1',
+ 'test-model2',
+ ],
+ })
+ )
+ .withUserDefaultFeatures((features) =>
+ features.withAIChat({
+ allowed: false,
+ })
+ )
+ );
+
+ const user = await store.findUser(userId);
+ await store.saveUser({
+ ...user,
+ subscriptionId: null,
+ subscriptionStatus: null,
+ subscriptionInfoId: null,
+ subscriptionPeriodEndMs: null,
+ subscriptionPeriodStartMs: null,
+ });
+
+ const result = await controller.listChatModels({
+ userId,
+ userSubscriptionTier,
+ userRole: 'none',
+ });
+
+ expect(result).toEqual(
+ failure({
+ errorCode: 'subscription_limit_reached',
+ errorMessage:
+ 'The subscription does not permit AI Chat features.',
+ })
+ );
+ });
+
+ it('should return subscription_limit_reached if the user subscription tier is not allowed', async () => {
+ store.subscriptionConfiguration = buildSubscriptionConfig(
+ (config) =>
+ config.addSubscription('sub1', (sub) =>
+ sub
+ .withTier('other-tier')
+ .withAllDefaultFeatures()
+ .withAI()
+ .withAIChat({
+ allowed: true,
+ })
+ )
+ );
+ await store.saveUser({
+ id: userId,
+ email: 'test@example.com',
+ phoneNumber: null,
+ allSessionRevokeTimeMs: null,
+ currentLoginRequestId: null,
+ subscriptionId: 'sub1',
+ subscriptionStatus: 'active',
+ });
+
+ const result = await controller.listChatModels({
+ userId,
+ userSubscriptionTier: 'other-tier',
+ userRole: 'none',
+ });
+
+ expect(result).toEqual(
+ failure({
+ errorCode: 'invalid_subscription_tier',
+ errorMessage:
+ 'This operation is not available to the user at their current subscription tier.',
+ allowedSubscriptionTiers: ['test-tier'],
+ currentSubscriptionTier: 'other-tier',
+ })
+ );
+ });
+
+ it('should return not_supported if no chat configuration is provided', async () => {
+ controller = new AIController({
+ chat: null,
+ generateSkybox: null,
+ images: null,
+ hume: null,
+ sloyd: null,
+ openai: null,
+ metrics: store,
+ config: store,
+ policies: null,
+ policyController: policies,
+ records: store,
+ });
+
+ const result = await controller.listChatModels({
+ userId,
+ userSubscriptionTier,
+ userRole: 'none',
+ });
+
+ expect(result).toEqual(
+ failure({
+ errorCode: 'not_supported',
+ errorMessage: 'This operation is not supported.',
+ })
+ );
+ });
+ });
+
describe('generateSkybox()', () => {
it('should return the result from the generateSkybox interface', async () => {
generateSkyboxInterface.generateSkybox.mockReturnValueOnce(
@@ -2418,7 +2796,7 @@ describe('AIController', () => {
ownerId: userId,
});
- expect(metrics).toEqual({
+ expect(metrics).toMatchObject({
ownerId: userId,
subscriptionStatus: null,
subscriptionId: null,
@@ -3047,7 +3425,7 @@ describe('AIController', () => {
ownerId: userId,
});
- expect(metrics).toEqual({
+ expect(metrics).toMatchObject({
ownerId: userId,
subscriptionStatus: null,
subscriptionId: null,
diff --git a/src/aux-records/AIController.ts b/src/aux-records/AIController.ts
index 2f17858326..ad041c3cd3 100644
--- a/src/aux-records/AIController.ts
+++ b/src/aux-records/AIController.ts
@@ -61,9 +61,15 @@ import type {
ConstructAuthorizationContextFailure,
PolicyController,
} from './PolicyController';
-import type {
- DenialReason,
- KnownErrorCodes,
+import type { UserRole } from '@casual-simulation/aux-common';
+import {
+ failure,
+ isSuperUserRole,
+ success,
+ type DenialReason,
+ type KnownErrorCodes,
+ type Result,
+ type SimpleError,
} from '@casual-simulation/aux-common';
import type { HumeConfig, RecordsStore } from './RecordsStore';
import type {
@@ -1668,6 +1674,128 @@ export class AIController {
}
}
+ @traced(TRACE_NAME)
+ async listChatModels(
+ request: ListChatModelsRequest
+ ): Promise> {
+ try {
+ if (!this._chatProviders) {
+ return failure({
+ errorCode: 'not_supported',
+ errorMessage: 'This operation is not supported.',
+ });
+ }
+
+ if (!request.userId) {
+ return failure({
+ errorCode: 'not_logged_in',
+ errorMessage: 'The user is not logged in.',
+ });
+ }
+
+ let allowedModels;
+ if (!isSuperUserRole(request.userRole)) {
+ if (
+ this._allowedChatSubscriptionTiers !== true &&
+ !this._matchesSubscriptionTiers(
+ request.userSubscriptionTier,
+ this._allowedChatSubscriptionTiers
+ )
+ ) {
+ if (!request.userSubscriptionTier) {
+ return failure({
+ errorCode: 'not_subscribed',
+ errorMessage:
+ 'The user must be subscribed in order to use this operation.',
+ allowedSubscriptionTiers: [
+ ...(this
+ ._allowedChatSubscriptionTiers as Set),
+ ],
+ });
+ } else {
+ return failure({
+ errorCode: 'invalid_subscription_tier',
+ errorMessage:
+ 'This operation is not available to the user at their current subscription tier.',
+ allowedSubscriptionTiers: [
+ ...(this
+ ._allowedChatSubscriptionTiers as Set),
+ ],
+ currentSubscriptionTier:
+ request.userSubscriptionTier,
+ });
+ }
+ }
+
+ const metrics =
+ await this._metrics.getSubscriptionAiChatMetrics({
+ ownerId: request.userId,
+ });
+ const config =
+ await this._config.getSubscriptionConfiguration();
+ const allowedFeatures = getSubscriptionFeatures(
+ config,
+ metrics.subscriptionStatus,
+ metrics.subscriptionId,
+ 'user'
+ );
+
+ if (!allowedFeatures.ai.chat.allowed) {
+ return failure({
+ errorCode: 'subscription_limit_reached',
+ errorMessage:
+ 'The subscription does not permit AI Chat features.',
+ });
+ }
+
+ if (this._policyStore) {
+ const privacyFeatures =
+ await this._policyStore.getUserPrivacyFeatures(
+ request.userId
+ );
+
+ if (!privacyFeatures.allowAI) {
+ return failure({
+ errorCode: 'not_authorized',
+ errorMessage: 'AI Access is not allowed',
+ });
+ }
+ }
+
+ allowedModels = allowedFeatures.ai.chat.allowedModels ?? [
+ ...this._allowedChatModels.keys(),
+ ];
+ } else {
+ allowedModels = [...this._allowedChatModels.keys()];
+ }
+
+ const models: ListedChatModel[] = [];
+ for (const model of allowedModels) {
+ const provider = this._allowedChatModels.get(model);
+ if (provider) {
+ models.push({
+ name: model,
+ provider: provider,
+ isDefault:
+ model === this._chatOptions.defaultModel &&
+ provider === this._chatOptions.defaultModelProvider,
+ });
+ }
+ }
+
+ return success(models);
+ } catch (err) {
+ console.error(
+ '[AIController] Error handling listChatModels request:',
+ err
+ );
+ return failure({
+ errorCode: 'server_error',
+ errorMessage: 'A server error occurred.',
+ });
+ }
+ }
+
private _matchesSubscriptionTiers(
tier: string,
allowedTiers: true | Set
@@ -2219,3 +2347,47 @@ export interface AICreateOpenAIRealtimeSessionTokenFailure {
errorCode: KnownErrorCodes;
errorMessage: string;
}
+
+/**
+ * Defines a request to list available chat models.
+ */
+export interface ListChatModelsRequest {
+ /**
+ * The ID of the currently logged in user.
+ */
+ userId: string;
+
+ /**
+ * The role of the user.
+ */
+ userRole: UserRole;
+
+ /**
+ * The tier of the user's subscription.
+ * Null if the user doesn't have a subscription.
+ */
+ userSubscriptionTier: string | null;
+}
+
+/**
+ * Defines a listed chat model.
+ *
+ * @dochash types/ai
+ * @docname ListedChatModel
+ */
+export interface ListedChatModel {
+ /**
+ * The name of the model.
+ */
+ name: string;
+
+ /**
+ * The provider of the model.
+ */
+ provider: string;
+
+ /**
+ * Whether this is the default model.
+ */
+ isDefault?: boolean;
+}
diff --git a/src/aux-records/AnthropicAIChatInterface.ts b/src/aux-records/AnthropicAIChatInterface.ts
index 2e519ff74f..37194c317a 100644
--- a/src/aux-records/AnthropicAIChatInterface.ts
+++ b/src/aux-records/AnthropicAIChatInterface.ts
@@ -27,7 +27,6 @@ import type { SpanOptions } from '@opentelemetry/api';
import { SpanKind, SpanStatusCode, trace } from '@opentelemetry/api';
import Anthropic from '@anthropic-ai/sdk';
import type { Message } from '@anthropic-ai/sdk/resources';
-import { ImageBlockParam, TextBlockParam } from '@anthropic-ai/sdk/resources';
const TRACE_NAME = 'AnthropicAIChatInterface';
const SPAN_OPTIONS: SpanOptions = {
diff --git a/src/aux-records/AuthController.spec.ts b/src/aux-records/AuthController.spec.ts
index edc41f2864..f8cc2a9b2e 100644
--- a/src/aux-records/AuthController.spec.ts
+++ b/src/aux-records/AuthController.spec.ts
@@ -36,28 +36,20 @@ import {
} from './AuthController';
import {
formatV1ConnectionKey,
- formatV1OpenAiKey,
formatV1SessionKey,
generateV1ConnectionToken,
- parseSessionKey,
-} from './AuthUtils';
+} from '@casual-simulation/aux-common';
import { MemoryAuthMessenger } from './MemoryAuthMessenger';
import { v4 as uuid } from 'uuid';
import { randomBytes } from 'tweetnacl';
-import { fromByteArray, toByteArray } from 'base64-js';
+import { fromByteArray } from 'base64-js';
import {
hashHighEntropyPasswordWithSalt,
hashLowEntropyPasswordWithSalt,
} from '@casual-simulation/crypto';
-import {
- fromBase64String,
- toBase64String,
-} from '@casual-simulation/aux-common';
-import { padStart } from 'lodash';
-import {
- allowAllFeatures,
- SubscriptionConfiguration,
-} from './SubscriptionConfiguration';
+import { toBase64String } from '@casual-simulation/aux-common';
+import { padStart } from 'es-toolkit/compat';
+import { allowAllFeatures } from './SubscriptionConfiguration';
import { MemoryStore } from './MemoryStore';
import { DateTime } from 'luxon';
import type { PrivoClientInterface } from './PrivoClient';
@@ -153,6 +145,8 @@ describe('AuthController', () => {
let messenger: MemoryAuthMessenger;
let controller: AuthController;
let privoClient: PrivoClientInterface;
+ // let financialInterface: MemoryFinancialInterface;
+ // let financialController: FinancialController;
let privoClientMock: jest.MockedObject;
let nowMock: jest.Mock;
let relyingParty: RelyingParty;
@@ -211,14 +205,12 @@ describe('AuthController', () => {
origin: 'https://example.com',
};
- controller = new AuthController(
- store,
- messenger,
- store,
- undefined,
- privoClient,
- [relyingParty]
- );
+ // financialInterface = new MemoryFinancialInterface();
+ // financialController = new FinancialController(financialInterface);
+
+ controller = new AuthController(store, messenger, store, privoClient, [
+ relyingParty,
+ ]);
uuidMock.mockReset();
randomBytesMock.mockReset();
@@ -1807,7 +1799,6 @@ describe('AuthController', () => {
store,
messenger,
store,
- undefined,
privoClient
);
store.privoConfiguration = null;
@@ -7865,13 +7856,9 @@ describe('AuthController', () => {
describe('getUserInfo()', () => {
const userId = 'myid';
- const requestId = 'requestId';
- const sessionId = toBase64String('sessionId');
- const code = 'code';
-
- const sessionKey = formatV1SessionKey(userId, sessionId, code, 200);
beforeEach(async () => {
+ // unwrap(await financialController.init());
await store.saveUser({
id: userId,
email: 'email',
@@ -7882,26 +7869,38 @@ describe('AuthController', () => {
allSessionRevokeTimeMs: undefined,
currentLoginRequestId: undefined,
});
+ });
- await store.saveSession({
- requestId,
- sessionId,
- secretHash: hashLowEntropyPasswordWithSalt(code, sessionId),
- connectionSecret: code,
- expireTimeMs: 1000,
- grantedTimeMs: 999,
- previousSessionId: null,
- nextSessionId: null,
- revokeTimeMs: null,
+ it('should return the info for the current user', async () => {
+ const result = await controller.getUserInfo({
userId,
- ipAddress: '127.0.0.1',
+ });
+
+ expect(result).toEqual({
+ success: true,
+ userId: userId,
+ email: 'email',
+ phoneNumber: 'phonenumber',
+ name: 'Test',
+ avatarUrl: 'avatar url',
+ avatarPortraitUrl: 'avatar portrait url',
+ hasActiveSubscription: false,
+ subscriptionTier: null,
+ displayName: null,
+ privacyFeatures: {
+ publishData: true,
+ allowPublicData: true,
+ allowAI: true,
+ allowPublicInsts: true,
+ },
+ role: 'none',
});
});
- it('should return the info for the given user ID', async () => {
+ it('should return the info for the given user ID if it matches the current user', async () => {
const result = await controller.getUserInfo({
userId,
- sessionKey,
+ requestedUserId: userId,
});
expect(result).toEqual({
@@ -7945,7 +7944,6 @@ describe('AuthController', () => {
const result = await controller.getUserInfo({
userId,
- sessionKey,
});
expect(result).toEqual({
@@ -7969,12 +7967,73 @@ describe('AuthController', () => {
});
});
+ // it('should include the financial info for the account', async () => {
+ // const account = unwrap(
+ // await financialController.createAccount(
+ // AccountCodes.liabilities_user
+ // )
+ // );
+
+ // unwrap(
+ // await financialController.internalTransfer({
+ // transfers: [
+ // {
+ // amount: 1000,
+ // code: TransferCodes.admin_credit,
+ // creditAccountId: account.id,
+ // debitAccountId: ACCOUNT_IDS.stripe_assets,
+ // currency: 'credits',
+ // },
+ // ],
+ // })
+ // );
+
+ // const user = await store.findUser(userId);
+ // await store.saveUser({
+ // ...user,
+ // accountId: account.id,
+ // stripeAccountId: 'stripeAccountId',
+ // requestedRate: 123,
+ // stripeAccountStatus: 'pending',
+ // stripeAccountRequirementsStatus: 'incomplete',
+ // });
+ // const result = await controller.getUserInfo({
+ // userId,
+ // });
+
+ // expect(result).toEqual({
+ // success: true,
+ // userId: userId,
+ // email: 'email',
+ // phoneNumber: 'phonenumber',
+ // name: 'Test',
+ // avatarUrl: 'avatar url',
+ // avatarPortraitUrl: 'avatar portrait url',
+ // hasActiveSubscription: false,
+ // subscriptionTier: null,
+ // displayName: null,
+ // privacyFeatures: {
+ // publishData: true,
+ // allowPublicData: true,
+ // allowAI: true,
+ // allowPublicInsts: true,
+ // },
+ // role: 'none',
+ // accountId: '1',
+ // accountBalance: 1000,
+ // accountCurrency: 'credits',
+ // stripeAccountId: 'stripeAccountId',
+ // requestedRate: 123,
+ // stripeAccountStatus: 'pending',
+ // stripeAccountRequirementsStatus: 'incomplete',
+ // });
+ // });
+
it('should work if there is no subscription config', async () => {
store.subscriptionConfiguration = null;
const result = await controller.getUserInfo({
userId,
- sessionKey,
});
expect(result).toEqual({
@@ -8014,7 +8073,6 @@ describe('AuthController', () => {
const result = await controller.getUserInfo({
userId,
- sessionKey,
});
expect(result).toEqual({
@@ -8054,7 +8112,6 @@ describe('AuthController', () => {
const result = await controller.getUserInfo({
userId,
- sessionKey,
});
expect(result).toEqual({
@@ -8096,7 +8153,6 @@ describe('AuthController', () => {
const result = await controller.getUserInfo({
userId,
- sessionKey,
});
expect(result).toEqual({
@@ -8120,83 +8176,19 @@ describe('AuthController', () => {
});
});
- it('should return a invalid_key response when the user ID doesnt match the given session key', async () => {
+ it('should return a not_authorized response when the current user doesnt match the given user', async () => {
const result = await controller.getUserInfo({
userId: 'myOtherUser',
- sessionKey,
- });
-
- expect(result).toEqual({
- success: false,
- errorCode: 'invalid_key',
- errorMessage: INVALID_KEY_ERROR_MESSAGE,
- });
- });
-
- it('should return a invalid_key response given an invalid session key', async () => {
- const result = await controller.getUserInfo({
- userId,
- sessionKey: formatV1SessionKey(
- userId,
- sessionId,
- 'wrong session secret',
- 1000
- ),
+ requestedUserId: userId,
});
expect(result).toEqual({
success: false,
- errorCode: 'invalid_key',
- errorMessage: INVALID_KEY_ERROR_MESSAGE,
+ errorCode: 'not_authorized',
+ errorMessage: 'You are not authorized to perform this action.',
});
});
- describe('data validation', () => {
- const invalidIdCases = [
- ['null', null as any],
- ['empty', ''],
- ['number', 123],
- ['boolean', false],
- ['object', {}],
- ['array', []],
- ['undefined', undefined],
- ];
-
- it.each(invalidIdCases)(
- 'it should fail if given a %s userId',
- async (desc, id) => {
- const result = await controller.getUserInfo({
- userId: id,
- sessionKey: 'key',
- });
-
- expect(result).toEqual({
- success: false,
- errorCode: 'unacceptable_user_id',
- errorMessage:
- 'The given userId is invalid. It must be a string.',
- });
- }
- );
-
- it.each(invalidIdCases)(
- 'it should fail if given a %s session key',
- async (desc, id) => {
- const result = await controller.getUserInfo({
- userId: 'userId',
- sessionKey: id,
- });
-
- expect(result).toEqual({
- success: false,
- errorCode: 'unacceptable_session_key',
- errorMessage:
- 'The given session key is invalid. It must be a string.',
- });
- }
- );
- });
-
describe('privo', () => {
beforeEach(async () => {
store.privoConfiguration = {
@@ -8275,7 +8267,6 @@ describe('AuthController', () => {
const result = await controller.getUserInfo({
userId,
- sessionKey,
});
expect(result).toEqual({
@@ -8346,7 +8337,6 @@ describe('AuthController', () => {
const result = await controller.getUserInfo({
userId,
- sessionKey,
});
expect(result).toEqual({
@@ -8445,7 +8435,6 @@ describe('AuthController', () => {
const result = await controller.getUserInfo({
userId,
- sessionKey,
});
expect(result).toEqual({
@@ -8544,7 +8533,6 @@ describe('AuthController', () => {
const result = await controller.getUserInfo({
userId,
- sessionKey,
});
expect(result).toEqual({
@@ -8593,13 +8581,6 @@ describe('AuthController', () => {
describe('superUser', () => {
const superUserId = 'superUserId';
- const superUserSessionId = toBase64String('superUserSessionId');
- const superUserSessionKey = formatV1SessionKey(
- superUserId,
- superUserSessionId,
- code,
- 200
- );
beforeEach(async () => {
await store.saveUser({
@@ -8613,29 +8594,11 @@ describe('AuthController', () => {
currentLoginRequestId: undefined,
role: 'superUser',
});
-
- await store.saveSession({
- requestId: null,
- sessionId: superUserSessionId,
- secretHash: hashLowEntropyPasswordWithSalt(
- code,
- superUserSessionId
- ),
- connectionSecret: code,
- expireTimeMs: 1000,
- grantedTimeMs: 999,
- previousSessionId: null,
- nextSessionId: null,
- revokeTimeMs: null,
- userId: superUserId,
- ipAddress: '127.0.0.1',
- });
});
it('should include the role of the user', async () => {
const result = await controller.getUserInfo({
userId: superUserId,
- sessionKey: superUserSessionKey,
});
expect(result).toEqual({
@@ -8661,8 +8624,9 @@ describe('AuthController', () => {
it('should allow super users to get other users info', async () => {
const result = await controller.getUserInfo({
- userId,
- sessionKey: superUserSessionKey,
+ userId: superUserId,
+ userRole: 'superUser',
+ requestedUserId: userId,
});
expect(result).toEqual({
diff --git a/src/aux-records/AuthController.ts b/src/aux-records/AuthController.ts
index f4109cf156..9179958698 100644
--- a/src/aux-records/AuthController.ts
+++ b/src/aux-records/AuthController.ts
@@ -26,7 +26,6 @@ import type {
AuthUserAuthenticator,
SaveNewUserFailure,
UserLoginMetadata,
- UserRole,
} from './AuthStore';
import type {
NotAuthorizedError,
@@ -45,22 +44,25 @@ import { fromByteArray } from 'base64-js';
import type { AuthMessenger } from './AuthMessenger';
import type { RegexRule } from './Utils';
import { cleanupObject, isActiveSubscription, isStringValid } from './Utils';
+import { randomCode } from './CryptoUtils';
import {
+ getSubscription,
+ type SubscriptionConfiguration,
+} from './SubscriptionConfiguration';
+import type { ConfigurationStore } from './ConfigurationStore';
+import type {
+ PrivacyFeatures,
+ PublicUserInfo,
+ UserRole,
+} from '@casual-simulation/aux-common';
+import {
+ parseConnectionToken,
formatV1ConnectionKey,
- formatV1OpenAiKey,
formatV1SessionKey,
isSuperUserRole,
parseSessionKey,
verifyConnectionToken,
-} from './AuthUtils';
-import { randomCode } from './CryptoUtils';
-import type { SubscriptionConfiguration } from './SubscriptionConfiguration';
-import type { ConfigurationStore } from './ConfigurationStore';
-import type {
- PrivacyFeatures,
- PublicUserInfo,
} from '@casual-simulation/aux-common';
-import { parseConnectionToken } from '@casual-simulation/aux-common';
import type {
PrivoClientInterface,
PrivoFeatureStatus,
@@ -77,7 +79,6 @@ import type {
AuthenticationResponseJSON,
} from '@simplewebauthn/types';
import {
- VerifiedAuthenticationResponse,
generateAuthenticationOptions,
generateRegistrationOptions,
verifyAuthenticationResponse,
@@ -90,6 +91,10 @@ import {
import { traced } from './tracing/TracingDecorators';
import { SpanStatusCode, trace } from '@opentelemetry/api';
import { SEMATTRS_ENDUSER_ID } from '@opentelemetry/semantic-conventions';
+import type {
+ StripeAccountStatus,
+ StripeRequirementsStatus,
+} from './StripeInterface';
const TRACE_NAME = 'AuthController';
@@ -197,7 +202,6 @@ export interface RelyingParty {
export class AuthController {
private _store: AuthStore;
private _messenger: AuthMessenger;
- private _forceAllowSubscriptionFeatures: boolean;
private _config: ConfigurationStore;
private _privoClient: PrivoClientInterface = null;
private _webAuthNRelyingParties: RelyingParty[];
@@ -215,14 +219,12 @@ export class AuthController {
authStore: AuthStore,
messenger: AuthMessenger,
configStore: ConfigurationStore,
- forceAllowSubscriptionFeatures: boolean = false,
privoClient: PrivoClientInterface = null,
relyingParties: RelyingParty[] = []
) {
this._store = authStore;
this._messenger = messenger;
this._config = configStore;
- this._forceAllowSubscriptionFeatures = forceAllowSubscriptionFeatures;
this._privoClient = privoClient;
this._webAuthNRelyingParties = relyingParties;
this._privoEnabled = this._privoClient !== null;
@@ -242,6 +244,20 @@ export class AuthController {
this._privoEnabled = value;
}
+ /**
+ * Gets the privo client interface.
+ */
+ get privoClient(): PrivoClientInterface {
+ return this._privoClient;
+ }
+
+ /**
+ * Sets the privo client interface.
+ */
+ set privoClient(value: PrivoClientInterface) {
+ this._privoClient = value;
+ }
+
@traced(TRACE_NAME)
async createAccount(
request: CreateAccountRequest
@@ -2503,115 +2519,30 @@ export class AuthController {
*/
@traced(TRACE_NAME)
async getUserInfo(request: GetUserInfoRequest): Promise {
- if (typeof request.userId !== 'string' || request.userId === '') {
- return {
- success: false,
- errorCode: 'unacceptable_user_id',
- errorMessage:
- 'The given userId is invalid. It must be a string.',
- };
- } else if (
- typeof request.sessionKey !== 'string' ||
- request.sessionKey === ''
- ) {
- return {
- success: false,
- errorCode: 'unacceptable_session_key',
- errorMessage:
- 'The given session key is invalid. It must be a string.',
- };
- }
-
try {
- const keyResult = await this.validateSessionKey(request.sessionKey);
- if (keyResult.success === false) {
- return keyResult;
- } else if (
- !isSuperUserRole(keyResult.role) &&
- keyResult.userId !== request.userId
+ const requestedUserId = request.requestedUserId ?? request.userId;
+ if (
+ !isSuperUserRole(request.userRole) &&
+ request.userId !== requestedUserId
) {
- console.log(
- '[AuthController] [getUserInfo] Request User ID doesnt match session key User ID!'
- );
return {
success: false,
- errorCode: 'invalid_key',
- errorMessage: INVALID_KEY_ERROR_MESSAGE,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
};
}
- const result = await this._store.findUser(request.userId);
+ const result = await this._store.findUser(requestedUserId);
if (!result) {
- throw new Error(
- 'Unable to find user even though a valid session key was presented!'
- );
- }
-
- const { hasActiveSubscription, subscriptionTier: tier } =
- await this._getSubscriptionInfo(result);
-
- let privacyFeatures: PrivacyFeatures;
- let displayName: string = null;
- let email: string = result.email;
- let name: string = result.name;
- const privoConfig = await this._config.getPrivoConfiguration();
- if (privoConfig && result.privoServiceId) {
- const userInfo = await this._privoClient.getUserInfo(
- result.privoServiceId
- );
- privacyFeatures = getPrivacyFeaturesFromPermissions(
- privoConfig.featureIds,
- userInfo.permissions
- );
- displayName = userInfo.displayName;
- email = userInfo.email;
- name = userInfo.givenName;
-
- if (
- result.privacyFeatures?.publishData !==
- privacyFeatures.publishData ||
- result.privacyFeatures?.allowPublicData !==
- privacyFeatures.allowPublicData ||
- result.privacyFeatures?.allowAI !==
- privacyFeatures.allowAI ||
- result.privacyFeatures?.allowPublicInsts !==
- privacyFeatures.allowPublicInsts
- ) {
- await this._store.saveUser({
- ...result,
- privacyFeatures: {
- ...privacyFeatures,
- },
- });
- }
- } else if (result.privacyFeatures) {
- privacyFeatures = {
- ...result.privacyFeatures,
- };
- } else {
- privacyFeatures = {
- publishData: true,
- allowPublicData: true,
- allowAI: true,
- allowPublicInsts: true,
+ return {
+ success: false,
+ errorCode: 'user_not_found',
+ errorMessage: 'The user was not found.',
};
}
-
- return {
- success: true,
- userId: result.id,
- name: name,
- displayName,
- email: email,
- phoneNumber: result.phoneNumber,
- avatarPortraitUrl: result.avatarPortraitUrl,
- avatarUrl: result.avatarUrl,
- hasActiveSubscription: hasActiveSubscription,
- subscriptionTier: tier ?? null,
- privacyFeatures: privacyFeatures,
- role: result.role ?? 'none',
- };
+ return await this.getPrivateInfoForUser(result);
} catch (err) {
const span = trace.getActiveSpan();
span?.recordException(err);
@@ -2629,6 +2560,116 @@ export class AuthController {
}
}
+ /**
+ * Gets the user info for the given auth user.
+ *
+ * Not for public use.
+ * @param user The user to get the info for.
+ * @returns
+ */
+ async getPrivateInfoForUser(user: AuthUser): Promise {
+ const { hasActiveSubscription, subscriptionTier: tier } =
+ await this._getSubscriptionInfo(user);
+ const { privacyFeatures, displayName, email, name } =
+ await this._getUserPrivoInfo(user);
+
+ // let accountBalance: number | null = undefined;
+ // let accountCurrency: string | null = undefined;
+ // if (this._financialController && user.accountId) {
+ // const account = await this._financialController.getAccount(
+ // user.accountId
+ // );
+
+ // if (isSuccess(account)) {
+ // accountBalance = getAccountBalance(account.value);
+ // accountCurrency = getAccountCurrency(account.value);
+ // } else {
+ // console.error(
+ // '[AuthController] Error getting account balance for user',
+ // account.error
+ // );
+ // }
+ // }
+
+ return {
+ success: true,
+ userId: user.id,
+ name: name,
+ displayName,
+ email: email,
+ phoneNumber: user.phoneNumber,
+ avatarPortraitUrl: user.avatarPortraitUrl,
+ avatarUrl: user.avatarUrl,
+ hasActiveSubscription: hasActiveSubscription,
+ subscriptionTier: tier ?? null,
+ privacyFeatures: privacyFeatures,
+ role: user.role ?? 'none',
+ // accountId: user.accountId,
+ // accountBalance,
+ // accountCurrency,
+ requestedRate: user.requestedRate,
+ stripeAccountId: user.stripeAccountId,
+ stripeAccountRequirementsStatus:
+ user.stripeAccountRequirementsStatus,
+ stripeAccountStatus: user.stripeAccountStatus,
+ };
+ }
+
+ private async _getUserPrivoInfo(user: AuthUser) {
+ let privacyFeatures: PrivacyFeatures;
+ let displayName: string = null;
+ let email: string = user.email;
+ let name: string = user.name;
+ const privoConfig = await this._config.getPrivoConfiguration();
+ if (privoConfig && user.privoServiceId) {
+ const userInfo = await this._privoClient.getUserInfo(
+ user.privoServiceId
+ );
+ privacyFeatures = getPrivacyFeaturesFromPermissions(
+ privoConfig.featureIds,
+ userInfo.permissions
+ );
+ displayName = userInfo.displayName;
+ email = userInfo.email;
+ name = userInfo.givenName;
+
+ if (
+ user.privacyFeatures?.publishData !==
+ privacyFeatures.publishData ||
+ user.privacyFeatures?.allowPublicData !==
+ privacyFeatures.allowPublicData ||
+ user.privacyFeatures?.allowAI !== privacyFeatures.allowAI ||
+ user.privacyFeatures?.allowPublicInsts !==
+ privacyFeatures.allowPublicInsts
+ ) {
+ await this._store.saveUser({
+ ...user,
+ privacyFeatures: {
+ ...privacyFeatures,
+ },
+ });
+ }
+ } else if (user.privacyFeatures) {
+ privacyFeatures = {
+ ...user.privacyFeatures,
+ };
+ } else {
+ privacyFeatures = {
+ publishData: true,
+ allowPublicData: true,
+ allowAI: true,
+ allowPublicInsts: true,
+ };
+ }
+
+ return {
+ privacyFeatures,
+ displayName,
+ email,
+ name,
+ };
+ }
+
/**
* Gets the public information for a specific user.
* @param userId The ID of the user whose information is being requested.
@@ -2690,55 +2731,47 @@ export class AuthController {
}
private async _getSubscriptionInfo(user: AuthUser) {
- const hasActiveSubscription =
- this._forceAllowSubscriptionFeatures ||
- isActiveSubscription(user.subscriptionStatus);
-
let tier: string = null;
- let sub: SubscriptionConfiguration['subscriptions'][0] = null;
const subscriptionConfig: SubscriptionConfiguration =
await this._config.getSubscriptionConfiguration();
- if (hasActiveSubscription) {
- if (user.subscriptionId) {
- sub = subscriptionConfig?.subscriptions.find(
- (s) => s.id === user.subscriptionId
- );
- }
- if (!sub) {
- sub = subscriptionConfig?.subscriptions[0];
- if (sub) {
- console.log(
- '[AuthController] [getUserInfo] Using first subscription for user.'
- );
- }
- }
-
- tier = 'beta';
- }
-
- if (!sub) {
- sub = subscriptionConfig?.subscriptions.find(
- (s) => s.defaultSubscription
- );
- if (sub) {
- console.log(
- '[AuthController] [getUserInfo] Using default subscription for user.'
- );
- }
- }
+ const sub = getSubscription(
+ subscriptionConfig,
+ user.subscriptionStatus,
+ user.subscriptionId,
+ 'user',
+ user.subscriptionPeriodStartMs,
+ user.subscriptionPeriodEndMs
+ );
if (sub) {
tier = sub.tier || 'beta';
}
return {
- hasActiveSubscription,
+ hasActiveSubscription:
+ !!sub &&
+ isActiveSubscription(
+ user.subscriptionStatus,
+ user.subscriptionPeriodStartMs,
+ user.subscriptionPeriodEndMs
+ ),
subscriptionId: sub?.id,
subscriptionTier: tier,
};
}
+ /**
+ * Gets the subscription information for a user.
+ *
+ * Not for public use.
+ * @param user The user to get the subscription information for.
+ * @returns
+ */
+ getUserSubscriptionInfo(user: AuthUser) {
+ return this._getSubscriptionInfo(user);
+ }
+
/**
* Attempts to update a user's metadata.
* @param request The request for the operation.
@@ -3189,6 +3222,10 @@ export class AuthController {
},
};
+ console.log(
+ `[AuthController] [issueSession userId: ${userId} newSessionId: ${newSessionId} expiresAt: ${newSession.expireTimeMs}] Issued session.`
+ );
+
return {
newSession,
info,
@@ -3208,6 +3245,7 @@ export async function validateSessionKey(
return {
success: false,
userId: null,
+ role: null,
errorCode: 'no_session_key',
errorMessage:
'A session key was not provided, but it is required for this operation.',
@@ -3333,6 +3371,7 @@ export interface AuthSessionInfo {
export interface NoSessionKeyResult {
success: false;
userId: null;
+ role: null;
errorCode: 'no_session_key';
errorMessage: string;
}
@@ -3992,20 +4031,23 @@ export interface ReplaceSessionFailure {
*/
export interface GetUserInfoRequest {
/**
- * The session key that should be used to authenticate the request.
+ * The ID of the currently logged in user.
*/
- sessionKey: string;
+ userId: string;
/**
- * The ID of the user whose info should be retrieved.
+ * The role of the currently logged in user.
*/
- userId: string;
-}
+ userRole?: UserRole;
-export type GetUserInfoResult = GetUserInfoSuccess | GetUserInfoFailure;
+ /**
+ * The ID of the user that should be retrieved.
+ * If omitted, then the logged in user info will be retrieved.
+ */
+ requestedUserId?: string;
+}
-export interface GetUserInfoSuccess {
- success: true;
+export interface UserInfo {
/**
* The ID of the user that was retrieved.
*/
@@ -4060,14 +4102,54 @@ export interface GetUserInfoSuccess {
* The role that the user has in the system.
*/
role: UserRole;
+
+ // /**
+ // * The ID of the associated financial account.
+ // */
+ // accountId: string | null;
+
+ // /**
+ // * The balance of the user's financial account.
+ // * Denominated in the smallest unit of the account's currency (e.g., cents for credits/usd).
+ // * Null if the user does not have a financial account.
+ // */
+ // accountBalance: number | null;
+
+ // /**
+ // * The currency code that the user's financial account is in.
+ // */
+ // accountCurrency: string | null;
+
+ /**
+ * The rate at which the user is requesting payment (null if not yet specified)
+ */
+ requestedRate: number | null;
+
+ /**
+ * The user's connected stripe account ID.
+ */
+ stripeAccountId: string | null;
+
+ /**
+ * The user's connected stripe account requirements status.
+ */
+ stripeAccountRequirementsStatus: StripeRequirementsStatus | null;
+
+ /**
+ * The user's connected stripe account status.
+ */
+ stripeAccountStatus: StripeAccountStatus | null;
+}
+
+export type GetUserInfoResult = GetUserInfoSuccess | GetUserInfoFailure;
+
+export interface GetUserInfoSuccess extends UserInfo {
+ success: true;
}
export interface GetUserInfoFailure {
success: false;
- errorCode:
- | 'unacceptable_user_id'
- | ValidateSessionKeyFailure['errorCode']
- | ServerError;
+ errorCode: 'user_not_found' | NotAuthorizedError | ServerError;
errorMessage: string;
}
diff --git a/src/aux-records/AuthStore.ts b/src/aux-records/AuthStore.ts
index c3bce8e7e5..3d7d8e2312 100644
--- a/src/aux-records/AuthStore.ts
+++ b/src/aux-records/AuthStore.ts
@@ -15,13 +15,17 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import type { PrivacyFeatures } from '@casual-simulation/aux-common';
+import type { PrivacyFeatures, UserRole } from '@casual-simulation/aux-common';
import type { RegexRule } from './Utils';
import type { ServerError } from '@casual-simulation/aux-common/Errors';
import type {
AuthenticatorTransportFuture,
CredentialDeviceType,
} from '@simplewebauthn/types';
+import type {
+ StripeAccountStatus,
+ StripeRequirementsStatus,
+} from './StripeInterface';
/**
* Defines an interface that represents an auth store.
@@ -61,6 +65,12 @@ export interface AuthStore {
*/
findUserByStripeCustomerId(customerId: string): Promise;
+ /**
+ * Finds the user that is associated with the given Stripe Account ID.
+ * @param accountId The ID of the account.
+ */
+ findUserByStripeAccountId(accountId: string): Promise;
+
/**
* Finds the user that is associated with the given Privo Service ID.
* @param serviceId
@@ -308,6 +318,12 @@ export interface AuthStore {
*/
getInvoiceById(id: string): Promise;
+ /**
+ * Gets the invoice with the given stripe ID.
+ * @param id The ID of the invoice.
+ */
+ getInvoiceByStripeId(id: string): Promise;
+
/**
* Updates the subscription info for a user/studio.
*
@@ -328,6 +344,31 @@ export interface AuthStore {
request: UpdateSubscriptionPeriodRequest
): Promise;
+ /**
+ * Updates the info for a checkout session.
+ * @param request The
+ */
+ updateCheckoutSessionInfo(
+ request: UpdateCheckoutSessionRequest
+ ): Promise;
+
+ /**
+ * Marks the checkout session with the given ID as fulfilled.
+ * @param sessionId The ID of the checkout session.
+ * @param fulfilledAtMs The unix time in miliseconds that the session was fulfilled at.
+ */
+ markCheckoutSessionFulfilled(
+ sessionId: string,
+ fulfilledAtMs: number
+ ): Promise;
+
+ /**
+ * Gets the checkout session with the given ID.
+ * Returns null if the session could not be found.
+ * @param id The ID of the checkout session.
+ */
+ getCheckoutSessionById(id: string): Promise;
+
/**
* Gets the list of authenticators for the given user.
* @param userId The ID of the user.
@@ -375,6 +416,33 @@ export interface AuthStore {
userId: string,
authenticatorId: string
): Promise;
+
+ /**
+ * Creates or updates the given purchased item.
+ * @param item The item.
+ */
+ savePurchasedItem(item: PurchasedItem): Promise;
+
+ /**
+ * Gets the list of purchased items that are associated with the given activation key.
+ * @param keyId The ID of the key.
+ */
+ listPurchasedItemsByActivationKeyId(
+ keyId: string
+ ): Promise;
+
+ /**
+ * Creates the given activation key.
+ * @param key The key.
+ */
+ createActivationKey(key: ActivationKey): Promise;
+
+ /**
+ * Gets the activation key with the given ID.
+ * Returns null if the key could not be found.
+ * @param keyId The ID of the key.
+ */
+ getActivationKeyById(keyId: string): Promise;
}
export type AddressType = 'email' | 'phone';
@@ -490,17 +558,27 @@ export interface AuthUser {
* The role that the user has been assigned in the system.
*/
role?: UserRole;
-}
-/**
- * Defines an interface that represents the role that a user can have.
- *
- * - "none" means that the user has no special permissions.
- * - "superUser" means that the user has additional permissions that only special users should have.
- * - "system" means that the user is the system and is performing a system operation.
- * - "moderator" means that the user is a moderator and has additional permissions to moderate content.
- */
-export type UserRole = 'none' | 'superUser' | 'system' | 'moderator';
+ /**
+ * The rate at which the user is requesting payment (null if not yet specified)
+ */
+ requestedRate?: number | null;
+
+ /**
+ * The user's connected stripe account ID.
+ */
+ stripeAccountId?: string | null;
+
+ /**
+ * The user's connected stripe account requirements status.
+ */
+ stripeAccountRequirementsStatus?: StripeRequirementsStatus | null;
+
+ /**
+ * The user's connected stripe account status.
+ */
+ stripeAccountStatus?: StripeAccountStatus | null;
+}
export interface AuthUserAuthenticator {
/**
@@ -997,13 +1075,21 @@ export interface AuthInvoice {
/**
* The ID of the subscription that this invoice is for.
+ * Null if no subscription is associated with this invoice.
*/
- subscriptionId: string;
+ subscriptionId: string | null;
+
+ /**
+ * The ID of the checkout session that this invoice is for.
+ * Null if no checkout session is associated with this invoice.
+ */
+ checkoutSessionId: string | null;
/**
* The ID of the subscription period that this invoice is for.
+ * Null if no subscription period is associated with this invoice.
*/
- periodId: string;
+ periodId: string | null;
/**
* The description of the invoice.
@@ -1168,7 +1254,10 @@ export interface UpdateSubscriptionPeriodRequest {
/**
* The invoice that should be created.
*/
- invoice: Omit;
+ invoice: Omit<
+ AuthInvoice,
+ 'id' | 'subscriptionId' | 'periodId' | 'checkoutSessionId'
+ >;
}
/**
@@ -1205,3 +1294,293 @@ export interface UserLoginMetadata {
*/
pushSubscriptionIds: string[];
}
+
+/**
+ * Defines an interface that represents a checkout session for a purchasable item.
+ */
+export interface AuthCheckoutSession {
+ /**
+ * The ID of the session.
+ */
+ id: string;
+
+ /**
+ * Whether the checkout session has been paid for or not.
+ */
+ paid: boolean;
+
+ /**
+ * The items that are in the checkout session.
+ */
+ items: AuthCheckoutSessionItem[];
+
+ /**
+ * The unix time in miliseconds that the checkout session has been fulfilled at by
+ * granting the user access to their items.
+ *
+ * For contracts, this means opening the contract.
+ */
+ fulfilledAtMs: number | null;
+
+ /**
+ * The status of the checkout session.
+ */
+ stripeStatus: CheckoutSessionStatus;
+
+ /**
+ * The payment status of the checkout session.
+ */
+ stripePaymentStatus: CheckoutSessionPaymentStatus;
+
+ /**
+ * The ID of the stripe checkout session that is associated with this session.
+ * If null, then the session is not associated with a stripe checkout session.
+ */
+ stripeCheckoutSessionId: string | null;
+
+ /**
+ * The ID of the user that the checkout session is for.
+ */
+ userId: string | null;
+
+ /**
+ * The ID of the invoice that the session has.
+ * Null if no invoice was created for the checkout session.
+ */
+ invoiceId: string | null;
+
+ /**
+ * The transaction ID that should be associated with the checkout session.
+ */
+ transactionId?: string | null;
+
+ /**
+ * The transfers that have been posted for the checkout session.
+ */
+ transferIds?: string[] | null;
+
+ /**
+ * Wether the transfers are currently pending.
+ */
+ transfersPending?: boolean;
+
+ /**
+ * Whether the checkout session should be automatically fulfilled once payment completes.
+ */
+ shouldBeAutomaticallyFulfilled?: boolean;
+}
+
+export type AuthCheckoutSessionItem =
+ | AuthCheckoutSessionRoleItem
+ | AuthCheckoutSessionContractItem;
+
+export interface AuthCheckoutSessionRoleItem {
+ /**
+ * The type of the item.
+ */
+ type: 'role';
+
+ /**
+ * The name of the record that the role is being purchased in.
+ */
+ recordName: string;
+
+ /**
+ * The address of the purchasable item.
+ */
+ purchasableItemAddress: string;
+
+ /**
+ * The role that is being purchased.
+ */
+ role: string;
+
+ /**
+ * The number of miliseconds that the role is being purchased for.
+ */
+ roleGrantTimeMs: number | null;
+}
+
+export interface AuthCheckoutSessionContractItem {
+ type: 'contract';
+
+ /**
+ * The name of the record that the contract is being purchased in.
+ */
+ recordName: string;
+
+ /**
+ * The address of the contract.
+ */
+ contractAddress: string;
+
+ /**
+ * The ID of the contract that is being purchased.
+ */
+ contractId: string;
+
+ /**
+ * The value of the contract being purchased.
+ */
+ value: number;
+}
+
+/**
+ * The status of the stripe checkout session.
+ */
+export type CheckoutSessionStatus = 'open' | 'expired' | 'complete';
+
+/**
+ * The payment status of the checkout session.
+ *
+ * - "no_payment_required" - The checkout session does not require payment via Stripe.
+ * - "paid" - The checkout session has been paid for.
+ * - "unpaid" - The checkout session has not been paid for.
+ */
+export type CheckoutSessionPaymentStatus =
+ | 'no_payment_required'
+ | 'paid'
+ | 'unpaid';
+
+/**
+ * Defines an interface that represents an item that has been purchased.
+ */
+export interface PurchasedItem {
+ /**
+ * The ID of the item.
+ */
+ id: string;
+
+ /**
+ * The name of the record that the item was purchased from.
+ */
+ recordName: string;
+
+ /**
+ * The address of the purchasable item.
+ */
+ purchasableItemAddress: string;
+
+ /**
+ * The ID of the user that purchased the item.
+ * Null if the purchase wasn't associated with a user (purchased by a guest or purchased as an access key).
+ */
+ userId: string | null;
+
+ /**
+ * The ID of the checkout session that the item was purchased through.
+ * Null if the purchase wasn't associated with a checkout session.
+ */
+ checkoutSessionId: string | null;
+
+ /**
+ * The name of the role that is granted by the purchasable item.
+ */
+ roleName: string;
+
+ /**
+ * The number of miliseconds that the role is granted for.
+ * If null, then the role is granted indefinitely.
+ */
+ roleGrantTimeMs: number | null;
+
+ /**
+ * The unix timestamp in miliseconds when the item was activated.
+ * Null if the item has not been activated.
+ */
+ activatedTimeMs: number | null;
+
+ /**
+ * The ID of the activation key that was used to activate the item.
+ * Null if the item is associated with a user.
+ */
+ activationKeyId: string | null;
+}
+
+/**
+ * Defines an interface for a key that can be used to activate a purchased item.
+ */
+export interface ActivationKey {
+ /**
+ * The ID of the activation key.
+ */
+ id: string;
+
+ /**
+ * The hash of the secret for the key.
+ */
+ secretHash: string;
+}
+
+export interface UpdateCheckoutSessionRequest {
+ /**
+ * The ID of the session.
+ */
+ id: string;
+
+ /**
+ * The status of the checkout session.
+ */
+ status: CheckoutSessionStatus;
+
+ /**
+ * The payment status of the checkout session.
+ */
+ paymentStatus: CheckoutSessionPaymentStatus;
+
+ /**
+ * Whether the checkout session has been paid for or not.
+ */
+ paid: boolean;
+
+ /**
+ * The items in the session.
+ */
+ items: AuthCheckoutSessionItem[];
+
+ /**
+ * The ID of the stripe checkout session that is associated with this session.
+ * If null, then the session is not associated with a stripe checkout session.
+ */
+ stripeCheckoutSessionId: string | null;
+
+ /**
+ * The ID of the user that the checkout session is for.
+ */
+ userId: string | null;
+
+ /**
+ * The unix time in miliseconds that the checkout session was fulfilled at.
+ */
+ fulfilledAtMs: number | null;
+
+ /**
+ * The invoice that should be created/updated.
+ * If null, then the invoice will not be created/updated.
+ */
+ invoice: Omit<
+ AuthInvoice,
+ 'id' | 'subscriptionId' | 'periodId' | 'checkoutSessionId'
+ > | null;
+
+ /**
+ * The transaction ID that should be associated with the checkout session.
+ */
+ transactionId?: string | null;
+
+ /**
+ * The transfers that have been posted for the checkout session.
+ */
+ transferIds?: string[] | null;
+
+ /**
+ * Wether the transfers are currently pending.
+ * Defaults to false.
+ */
+ transfersPending?: boolean;
+
+ /**
+ * Whether the checkout session should be automatically fulfilled once payment completes.
+ */
+ shouldBeAutomaticallyFulfilled?: boolean;
+}
diff --git a/src/aux-records/BigIntPatch.ts b/src/aux-records/BigIntPatch.ts
new file mode 100644
index 0000000000..bfea66782f
--- /dev/null
+++ b/src/aux-records/BigIntPatch.ts
@@ -0,0 +1,24 @@
+/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
+ *
+ * Copyright (c) 2019-2025 Casual Simulation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+if (typeof (BigInt.prototype as any).toJSON === 'undefined') {
+ // Fix for BigInt serialization in JSON.stringify
+ (BigInt.prototype as any).toJSON = function () {
+ return this.toString();
+ };
+}
diff --git a/src/aux-records/CachingConfigStore.spec.ts b/src/aux-records/CachingConfigStore.spec.ts
index 48eadc3349..54be48a98a 100644
--- a/src/aux-records/CachingConfigStore.spec.ts
+++ b/src/aux-records/CachingConfigStore.spec.ts
@@ -16,7 +16,6 @@
* along with this program. If not, see .
*/
import { CachingConfigStore } from './CachingConfigStore';
-import { Cache } from './Cache';
import { MemoryStore } from './MemoryStore';
import { MemoryCache } from './MemoryCache';
import {
diff --git a/src/aux-records/CachingPolicyStore.spec.ts b/src/aux-records/CachingPolicyStore.spec.ts
index 38eac6c64e..a0f5359879 100644
--- a/src/aux-records/CachingPolicyStore.spec.ts
+++ b/src/aux-records/CachingPolicyStore.spec.ts
@@ -16,14 +16,8 @@
* along with this program. If not, see .
*/
import { CachingPolicyStore } from './CachingPolicyStore';
-import { Cache } from './Cache';
import { MemoryStore } from './MemoryStore';
import { MemoryCache } from './MemoryCache';
-import {
- ACCOUNT_MARKER,
- PUBLIC_READ_MARKER,
- PUBLIC_WRITE_MARKER,
-} from '@casual-simulation/aux-common';
describe('CachingPolicyStore', () => {
let inner: MemoryStore;
diff --git a/src/aux-records/CachingPolicyStore.ts b/src/aux-records/CachingPolicyStore.ts
index 59f2b99c97..56d1137c8a 100644
--- a/src/aux-records/CachingPolicyStore.ts
+++ b/src/aux-records/CachingPolicyStore.ts
@@ -17,6 +17,9 @@
*/
import type {
ActionKinds,
+ Entitlement,
+ EntitlementFeature,
+ GrantedEntitlementScope,
PermissionOptions,
PrivacyFeatures,
ResourceKinds,
@@ -29,6 +32,7 @@ import type {
DeletePermissionAssignmentResult,
GetMarkerPermissionResult,
GetResourcePermissionResult,
+ GrantedPackageEntitlement,
ListPermissionsInRecordResult,
ListedRoleAssignments,
MarkerPermissionAssignment,
@@ -60,6 +64,65 @@ export class CachingPolicyStore implements PolicyStore {
this._cacheSeconds = cacheSeconds;
}
+ listGrantedEntitlementsByFeatureAndUserId(
+ packageIds: string[],
+ feature: Entitlement['feature'],
+ userId: string,
+ recordName: string,
+ nowMs: number
+ ): Promise {
+ return this._store.listGrantedEntitlementsByFeatureAndUserId(
+ packageIds,
+ feature,
+ userId,
+ recordName,
+ nowMs
+ );
+ }
+
+ saveGrantedPackageEntitlement(
+ grantedEntitlement: GrantedPackageEntitlement
+ ): Promise {
+ return this._store.saveGrantedPackageEntitlement(grantedEntitlement);
+ }
+ findGrantedPackageEntitlementByUserIdPackageIdFeatureAndScope(
+ userId: string,
+ packageId: string,
+ feature: EntitlementFeature,
+ scope: GrantedEntitlementScope,
+ recordName: string
+ ): Promise {
+ return this._store.findGrantedPackageEntitlementByUserIdPackageIdFeatureAndScope(
+ userId,
+ packageId,
+ feature,
+ scope,
+ recordName
+ );
+ }
+ findGrantedPackageEntitlementById(
+ id: string
+ ): Promise {
+ return this._store.findGrantedPackageEntitlementById(id);
+ }
+ listGrantedEntitlementsForUser(
+ userId: string,
+ nowMs: number
+ ): Promise {
+ return this._store.listGrantedEntitlementsForUser(userId, nowMs);
+ }
+ listGrantedEntitlementsForUserAndPackage(
+ userId: string,
+ packageId: string,
+ nowMs: number
+ ): Promise {
+ return this._store.listGrantedEntitlementsForUserAndPackage(
+ userId,
+ packageId,
+ nowMs
+ );
+ }
+
// TODO: Add caching for these methods when needed.
async getUserPrivacyFeatures(userId: string): Promise {
return await this._store.getUserPrivacyFeatures(userId);
diff --git a/src/aux-records/ComIdConfig.ts b/src/aux-records/ComIdConfig.ts
index ccb3779546..aa2e616a9e 100644
--- a/src/aux-records/ComIdConfig.ts
+++ b/src/aux-records/ComIdConfig.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { WEB_CONFIG_SCHEMA, WebConfig } from '@casual-simulation/aux-common';
+import { WEB_CONFIG_SCHEMA } from '@casual-simulation/aux-common';
import { z } from 'zod';
const ALLOWED_STUDIO_CREATORS_SCHEMA = z.union([
@@ -43,6 +43,7 @@ export const COM_ID_PLAYER_CONFIG = WEB_CONFIG_SCHEMA.pick({
defaultBiosOption: true,
jitsiAppName: true,
what3WordsApiKey: true,
+ logoBackgroundColor: true,
})
.describe(
'The configuration that the comId provides which overrides the default player configuration.'
diff --git a/src/aux-records/CryptoUtils.ts b/src/aux-records/CryptoUtils.ts
index 4b220ecc26..2addfd07e4 100644
--- a/src/aux-records/CryptoUtils.ts
+++ b/src/aux-records/CryptoUtils.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { padStart } from 'lodash';
+import { padStart } from 'es-toolkit/compat';
import { randomBytes } from 'tweetnacl';
/**
diff --git a/src/aux-records/DataRecordsController.spec.ts b/src/aux-records/DataRecordsController.spec.ts
index 29a4d605fe..425d783c38 100644
--- a/src/aux-records/DataRecordsController.spec.ts
+++ b/src/aux-records/DataRecordsController.spec.ts
@@ -15,7 +15,6 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { RecordsStore } from './RecordsStore';
import type { RecordsController } from './RecordsController';
import type {
EraseDataFailure,
@@ -25,9 +24,8 @@ import type {
RecordDataFailure,
RecordDataSuccess,
} from './DataRecordsController';
-import { DataRecordsController, GetDataResult } from './DataRecordsController';
+import { DataRecordsController } from './DataRecordsController';
import type { UserPolicy } from './DataRecordsStore';
-import { DataRecordsStore } from './DataRecordsStore';
import type { PolicyController } from './PolicyController';
import {
createTestControllers,
diff --git a/src/aux-records/DataRecordsController.ts b/src/aux-records/DataRecordsController.ts
index 40c6ff6c1d..dc2cc83eed 100644
--- a/src/aux-records/DataRecordsController.ts
+++ b/src/aux-records/DataRecordsController.ts
@@ -29,30 +29,22 @@ import type {
UserPolicy,
ListDataStoreFailure,
} from './DataRecordsStore';
-import {
- ListDataStoreResult,
- doesSubjectMatchPolicy,
- isValidUserPolicy,
-} from './DataRecordsStore';
+import { doesSubjectMatchPolicy, isValidUserPolicy } from './DataRecordsStore';
import type { ValidatePublicRecordKeyFailure } from './RecordsController';
-import { RecordsController } from './RecordsController';
import type {
AuthorizeSubjectFailure,
PolicyController,
} from './PolicyController';
import {
- ResourceInfo,
getMarkerResourcesForCreation,
getMarkerResourcesForUpdate,
} from './PolicyController';
import type { DenialReason } from '@casual-simulation/aux-common';
import {
ACCOUNT_MARKER,
- PRIVATE_MARKER,
PUBLIC_READ_MARKER,
hasValue,
} from '@casual-simulation/aux-common';
-import { without } from 'lodash';
import type { MetricsStore } from './MetricsStore';
import type { ConfigurationStore } from './ConfigurationStore';
import { getSubscriptionFeatures } from './SubscriptionConfiguration';
@@ -62,6 +54,8 @@ import { z } from 'zod';
import stringify from '@casual-simulation/fast-json-stable-stringify';
import { traced } from './tracing/TracingDecorators';
import { SpanStatusCode, trace } from '@opentelemetry/api';
+import type { IQueue } from './queue';
+import type { SearchSyncQueueEvent } from './search';
const TRACE_NAME = 'DataRecordsController';
@@ -70,6 +64,8 @@ export interface DataRecordsConfiguration {
policies: PolicyController;
metrics: MetricsStore;
config: ConfigurationStore;
+
+ searchSyncQueue?: IQueue | null;
}
/**
@@ -81,6 +77,8 @@ export class DataRecordsController {
private _metrics: MetricsStore;
private _config: ConfigurationStore;
+ private _searchSyncQueue: IQueue | null;
+
/**
* Creates a DataRecordsController.
* @param config The configuration that should be used for the data records controller.
@@ -90,6 +88,7 @@ export class DataRecordsController {
this._policies = config.policies;
this._metrics = config.metrics;
this._config = config.config;
+ this._searchSyncQueue = config.searchSyncQueue || null;
}
/**
@@ -309,7 +308,10 @@ export class DataRecordsController {
if (!existingRecord.success) {
// Check metrics
- if (features.data.maxItems > 0) {
+ if (
+ hasValue(features.data.maxItems) &&
+ features.data.maxItems > 0
+ ) {
if (metricsResult.totalItems >= features.data.maxItems) {
return {
success: false,
@@ -339,10 +341,21 @@ export class DataRecordsController {
return {
success: false,
errorCode: result2.errorCode,
- errorMessage: result2.errorMessage,
+ errorMessage: result2.errorMessage!,
};
}
+ if (this._searchSyncQueue) {
+ await this._searchSyncQueue.add('dataChanged', {
+ type: 'sync_item',
+ itemRecordName: recordName,
+ itemResourceKind: 'data',
+ itemAddress: address,
+ itemMarkers: resourceMarkers,
+ action: existingRecord.success ? 'update' : 'create',
+ });
+ }
+
return {
success: true,
recordName: recordName,
@@ -350,7 +363,9 @@ export class DataRecordsController {
};
} catch (err) {
const span = trace.getActiveSpan();
- span?.recordException(err);
+ if (err instanceof Error) {
+ span?.recordException(err);
+ }
span?.setStatus({ code: SpanStatusCode.ERROR });
console.error(
`[DataRecordsController] A server error occurred while recording data:`,
@@ -375,7 +390,7 @@ export class DataRecordsController {
async getData(
recordName: string,
address: string,
- userId?: string,
+ userId?: string | null,
instances?: string[]
): Promise {
try {
@@ -400,7 +415,7 @@ export class DataRecordsController {
return {
success: false,
errorCode: result.errorCode,
- errorMessage: result.errorMessage,
+ errorMessage: result.errorMessage!,
};
}
@@ -425,8 +440,8 @@ export class DataRecordsController {
return {
success: true,
data: result.data,
- publisherId: result.publisherId,
- subjectId: result.subjectId,
+ publisherId: result.publisherId!,
+ subjectId: result.subjectId!,
recordName,
updatePolicy: result.updatePolicy ?? true,
deletePolicy: result.deletePolicy ?? true,
@@ -434,7 +449,9 @@ export class DataRecordsController {
};
} catch (err) {
const span = trace.getActiveSpan();
- span?.recordException(err);
+ if (err instanceof Error) {
+ span?.recordException(err);
+ }
span?.setStatus({ code: SpanStatusCode.ERROR });
console.error(
'[DataRecordsController] An error occurred while getting data:',
@@ -513,7 +530,9 @@ export class DataRecordsController {
};
} catch (err) {
const span = trace.getActiveSpan();
- span?.recordException(err);
+ if (err instanceof Error) {
+ span?.recordException(err);
+ }
span?.setStatus({ code: SpanStatusCode.ERROR });
console.error(
'[DataRecordsController] An error occurred while listing data:',
@@ -588,7 +607,9 @@ export class DataRecordsController {
};
} catch (err) {
const span = trace.getActiveSpan();
- span?.recordException(err);
+ if (err instanceof Error) {
+ span?.recordException(err);
+ }
span?.setStatus({ code: SpanStatusCode.ERROR });
console.error(
'[DataRecordsController] An error occurred while listing data by marker:',
@@ -614,7 +635,7 @@ export class DataRecordsController {
async eraseData(
recordKeyOrName: string,
address: string,
- subjectId: string,
+ subjectId: string | null,
instances?: string[]
): Promise {
try {
@@ -703,10 +724,21 @@ export class DataRecordsController {
return {
success: false,
errorCode: result2.errorCode,
- errorMessage: result2.errorMessage,
+ errorMessage: result2.errorMessage!,
};
}
+ if (this._searchSyncQueue) {
+ await this._searchSyncQueue.add('dataChanged', {
+ type: 'sync_item',
+ itemRecordName: recordName,
+ itemResourceKind: 'data',
+ itemAddress: address,
+ itemMarkers: markers,
+ action: 'delete',
+ });
+ }
+
return {
success: true,
recordName,
@@ -714,7 +746,9 @@ export class DataRecordsController {
};
} catch (err) {
const span = trace.getActiveSpan();
- span?.recordException(err);
+ if (err instanceof Error) {
+ span?.recordException(err);
+ }
span?.setStatus({ code: SpanStatusCode.ERROR });
console.error(
`[DataRecordsController] A server error occurred while erasing data:`,
diff --git a/src/aux-records/DataRecordsStore.ts b/src/aux-records/DataRecordsStore.ts
index 4a32912308..9dd3b9a180 100644
--- a/src/aux-records/DataRecordsStore.ts
+++ b/src/aux-records/DataRecordsStore.ts
@@ -161,6 +161,12 @@ export interface ListDataStoreByMarkerRequest {
* Defaults to "ascending".
*/
sort?: 'ascending' | 'descending';
+
+ /**
+ * The maximum number of items that should be returned.
+ * If not provided, a default value will be used.
+ */
+ count?: number;
}
/**
@@ -194,11 +200,11 @@ export function isValidUserPolicy(value: unknown): boolean {
*/
export function doesSubjectMatchPolicy(
policy: UserPolicy,
- subjectId: string
+ subjectId: string | null
): boolean {
- if (policy === true) {
+ if (policy === true || !policy) {
return true;
} else {
- return policy.some((id) => id === subjectId);
+ return policy!.some((id) => id === subjectId);
}
}
diff --git a/src/aux-records/EventRecordsController.ts b/src/aux-records/EventRecordsController.ts
index ff96f7dcb9..822f3dba2e 100644
--- a/src/aux-records/EventRecordsController.ts
+++ b/src/aux-records/EventRecordsController.ts
@@ -30,19 +30,10 @@ import type {
AddEventCountStoreFailure,
GetEventCountStoreFailure,
} from './EventRecordsStore';
-import {
- AddEventCountStoreResult,
- GetEventCountStoreResult,
-} from './EventRecordsStore';
+
import type { ValidatePublicRecordKeyFailure } from './RecordsController';
-import { RecordsController } from './RecordsController';
import { cleanupObject, getRootMarkersOrDefault } from './Utils';
-import { without } from 'lodash';
-import {
- ACCOUNT_MARKER,
- PRIVATE_MARKER,
- PUBLIC_READ_MARKER,
-} from '@casual-simulation/aux-common';
+import { ACCOUNT_MARKER } from '@casual-simulation/aux-common';
import type { MetricsStore } from './MetricsStore';
import type { ConfigurationStore } from './ConfigurationStore';
import { getSubscriptionFeatures } from './SubscriptionConfiguration';
diff --git a/src/aux-records/FileRecordsController.spec.ts b/src/aux-records/FileRecordsController.spec.ts
index 025affe119..dc57b51560 100644
--- a/src/aux-records/FileRecordsController.spec.ts
+++ b/src/aux-records/FileRecordsController.spec.ts
@@ -15,7 +15,6 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { RecordsStore } from './RecordsStore';
import type { RecordsController } from './RecordsController';
import type {
EraseFileFailure,
@@ -32,7 +31,6 @@ import type {
GetFileRecordSuccess,
UpdateFileFailure,
} from './FileRecordsStore';
-import { FileRecordsStore } from './FileRecordsStore';
import type { PolicyController } from './PolicyController';
import {
createTestControllers,
@@ -42,9 +40,10 @@ import {
import {
ACCOUNT_MARKER,
ADMIN_ROLE_NAME,
+ PRIVATE_MARKER,
PUBLIC_READ_MARKER,
} from '@casual-simulation/aux-common';
-import { sortBy } from 'lodash';
+import { sortBy } from 'es-toolkit/compat';
import type { MemoryStore } from './MemoryStore';
import { buildSubscriptionConfig } from './SubscriptionConfigBuilder';
@@ -167,6 +166,81 @@ describe('FileRecordsController', () => {
});
});
+ it('should set publisher to null if the system is publishing to a studio', async () => {
+ await store.addStudio({
+ id: 'studio1',
+ displayName: 'My Studio',
+ });
+ await store.addStudioAssignment({
+ isPrimaryContact: true,
+ role: 'admin',
+ studioId: 'studio1',
+ userId: ownerId,
+ });
+
+ const recordName = 'studioRecord';
+ await store.addRecord({
+ name: recordName,
+ ownerId: null,
+ studioId: 'studio1',
+ secretHashes: [],
+ secretSalt: 'salt',
+ });
+
+ presignUrlMock.mockResolvedValueOnce({
+ success: true,
+ uploadUrl: 'testUrl',
+ uploadMethod: 'POST',
+ uploadHeaders: {
+ myHeader: 'myValue',
+ },
+ });
+
+ const result = (await manager.recordFile(recordName, null, {
+ fileSha256Hex: 'testSha256',
+ fileByteLength: 100,
+ fileMimeType: 'text/plain',
+ fileDescription: 'testDescription',
+ headers: {},
+ userRole: 'system',
+ })) as RecordFileSuccess;
+
+ expect(result).toEqual({
+ success: true,
+ uploadUrl: 'testUrl',
+ uploadMethod: 'POST',
+ uploadHeaders: {
+ myHeader: 'myValue',
+ },
+ fileName: 'testSha256.txt',
+ markers: [PUBLIC_READ_MARKER],
+ });
+ expect(presignUrlMock).toHaveBeenCalledWith({
+ recordName: recordName,
+ fileName: 'testSha256.txt',
+ fileSha256Hex: 'testSha256',
+ fileByteLength: 100,
+ fileMimeType: 'text/plain',
+ headers: {},
+ markers: [PUBLIC_READ_MARKER],
+ });
+
+ await expect(
+ store.getFileRecord(recordName, 'testSha256.txt')
+ ).resolves.toEqual({
+ success: true,
+ fileName: 'testSha256.txt',
+ description: 'testDescription',
+ recordName: recordName,
+ publisherId: null,
+ subjectId: null,
+ sizeInBytes: 100,
+ markers: [PUBLIC_READ_MARKER],
+ uploaded: false,
+ url: expect.any(String),
+ });
+ });
+
it('should include the given headers in the signature', async () => {
presignUrlMock.mockResolvedValueOnce({
success: true,
@@ -289,6 +363,89 @@ describe('FileRecordsController', () => {
});
});
+ it('should reject the request if the file hasnt been uploaded and the user doesnt have access to the markers that are already on the file', async () => {
+ presignUrlMock.mockResolvedValueOnce({
+ success: true,
+ uploadUrl: 'testUrl',
+ uploadMethod: 'POST',
+ uploadHeaders: {
+ myHeader: 'myValue',
+ },
+ });
+
+ await store.assignPermissionToSubjectAndMarker(
+ recordName,
+ 'user',
+ userId,
+ 'file',
+ PRIVATE_MARKER,
+ 'create',
+ {},
+ null
+ );
+
+ await store.assignPermissionToSubjectAndMarker(
+ recordName,
+ 'user',
+ userId,
+ 'marker',
+ ACCOUNT_MARKER,
+ 'assign',
+ {},
+ null
+ );
+
+ await store.addFileRecord(
+ recordName,
+ 'testSha256.txt',
+ 'testUser',
+ 'subjectId',
+ 100,
+ 'testDescription',
+ ['custom']
+ );
+
+ const result = (await manager.recordFile(recordName, userId, {
+ fileSha256Hex: 'testSha256',
+ fileByteLength: 100,
+ fileMimeType: 'text/plain',
+ fileDescription: 'testDescription',
+ headers: {},
+ markers: [PRIVATE_MARKER],
+ })) as RecordFileSuccess;
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage: 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ resourceKind: 'file',
+ action: 'create',
+ resourceId: 'testSha256.txt',
+ subjectType: 'user',
+ subjectId: userId,
+ },
+ });
+ expect(presignUrlMock).not.toHaveBeenCalled();
+
+ await expect(
+ store.getFileRecord(recordName, 'testSha256.txt')
+ ).resolves.toEqual({
+ success: true,
+ fileName: 'testSha256.txt',
+ description: 'testDescription',
+ recordName: recordName,
+ publisherId: 'testUser',
+ subjectId: 'subjectId',
+ sizeInBytes: 100,
+ markers: ['custom'],
+ uploaded: false,
+ url: expect.any(String),
+ });
+ });
+
it('should return file_already_exists if the file has been uploaded', async () => {
presignUrlMock.mockResolvedValueOnce({
success: true,
@@ -326,6 +483,7 @@ describe('FileRecordsController', () => {
'The file has already been uploaded to ' +
(result as any).existingFileUrl,
existingFileUrl: expect.any(String),
+ existingFileName: 'testSha256.txt',
});
});
@@ -780,6 +938,116 @@ describe('FileRecordsController', () => {
});
});
+ it('should reject the request if the user is not authorized', async () => {
+ presignUrlMock.mockResolvedValueOnce({
+ success: true,
+ uploadUrl: 'testUrl',
+ uploadMethod: 'POST',
+ uploadHeaders: {
+ myHeader: 'myValue',
+ },
+ });
+
+ // store.roles[recordName] = {
+ // [userId]: new Set([ADMIN_ROLE_NAME]),
+ // };
+
+ const result = (await manager.recordFile(recordName, userId, {
+ fileSha256Hex: 'testSha256',
+ fileByteLength: 100,
+ fileMimeType: 'text/plain',
+ fileDescription: 'testDescription',
+ headers: {},
+ markers: ['secret'],
+ instances: ['inst'],
+ })) as RecordFileSuccess;
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage: 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ resourceId: 'testSha256.txt',
+ resourceKind: 'file',
+ action: 'create',
+ subjectType: 'user',
+ subjectId: userId,
+ },
+ });
+ expect(presignUrlMock).not.toHaveBeenCalled();
+
+ await expect(
+ store.getFileRecord(recordName, 'testSha256.txt')
+ ).resolves.toEqual({
+ success: false,
+ errorCode: 'file_not_found',
+ errorMessage: 'The file was not found in the store.',
+ });
+ });
+
+ it('should allow the request if the user is not logged in but the system user role was provided', async () => {
+ presignUrlMock.mockResolvedValueOnce({
+ success: true,
+ uploadUrl: 'testUrl',
+ uploadMethod: 'POST',
+ uploadHeaders: {
+ myHeader: 'myValue',
+ },
+ });
+
+ // store.roles[recordName] = {
+ // [userId]: new Set([ADMIN_ROLE_NAME]),
+ // };
+
+ const result = (await manager.recordFile(recordName, null, {
+ fileSha256Hex: 'testSha256',
+ fileByteLength: 100,
+ fileMimeType: 'text/plain',
+ fileDescription: 'testDescription',
+ headers: {},
+ markers: ['secret'],
+ instances: ['inst'],
+ userRole: 'system',
+ })) as RecordFileSuccess;
+
+ expect(result).toEqual({
+ success: true,
+ uploadUrl: 'testUrl',
+ uploadMethod: 'POST',
+ uploadHeaders: {
+ myHeader: 'myValue',
+ },
+ fileName: 'testSha256.txt',
+ markers: ['secret'],
+ });
+ expect(presignUrlMock).toHaveBeenCalledWith({
+ recordName: recordName,
+ fileName: 'testSha256.txt',
+ fileSha256Hex: 'testSha256',
+ fileByteLength: 100,
+ fileMimeType: 'text/plain',
+ headers: {},
+ markers: ['secret'],
+ });
+
+ await expect(
+ store.getFileRecord(recordName, 'testSha256.txt')
+ ).resolves.toEqual({
+ success: true,
+ fileName: 'testSha256.txt',
+ description: 'testDescription',
+ recordName: recordName,
+ publisherId: ownerId,
+ subjectId: null,
+ sizeInBytes: 100,
+ markers: ['secret'],
+ uploaded: false,
+ url: expect.any(String),
+ });
+ });
+
it('should reject the request if the file is larger than the configured maximum file size', async () => {
presignUrlMock.mockResolvedValueOnce({
success: true,
@@ -1334,6 +1602,49 @@ describe('FileRecordsController', () => {
});
});
+ it('should get a URL by record name if the user role is system', async () => {
+ presignReadMock.mockResolvedValueOnce({
+ success: true,
+ requestUrl: 'testUrl',
+ requestMethod: 'GET',
+ requestHeaders: {
+ myHeader: 'myValue',
+ },
+ });
+
+ await store.addFileRecord(
+ recordName,
+ 'testFile.txt',
+ 'publisherId',
+ 'subjectId',
+ 100,
+ 'description',
+ ['secret']
+ );
+
+ const result = (await manager.readFile(
+ recordName,
+ 'testFile.txt',
+ null,
+ undefined,
+ 'system'
+ )) as ReadFileSuccess;
+
+ expect(result).toEqual({
+ success: true,
+ requestUrl: 'testUrl',
+ requestMethod: 'GET',
+ requestHeaders: {
+ myHeader: 'myValue',
+ },
+ });
+ expect(presignReadMock).toHaveBeenCalledWith({
+ recordName: recordName,
+ fileName: 'testFile.txt',
+ headers: {},
+ });
+ });
+
it('should deny requests if the user doesnt have permissions', async () => {
presignReadMock.mockResolvedValueOnce({
success: true,
diff --git a/src/aux-records/FileRecordsController.ts b/src/aux-records/FileRecordsController.ts
index 16f93db04b..1609a89e1f 100644
--- a/src/aux-records/FileRecordsController.ts
+++ b/src/aux-records/FileRecordsController.ts
@@ -31,8 +31,7 @@ import type {
SubscriptionLimitReached,
} from '@casual-simulation/aux-common/Errors';
import type { ValidatePublicRecordKeyFailure } from './RecordsController';
-import { RecordsController } from './RecordsController';
-import { getExtension, getType } from 'mime';
+import { getExtension } from 'mime';
import type {
AuthorizeSubjectFailure,
PolicyController,
@@ -41,13 +40,9 @@ import {
getMarkerResourcesForCreation,
getMarkerResourcesForUpdate,
} from './PolicyController';
-import {
- ACCOUNT_MARKER,
- PRIVATE_MARKER,
- PUBLIC_READ_MARKER,
-} from '@casual-simulation/aux-common';
+import type { UserRole } from '@casual-simulation/aux-common';
+import { ACCOUNT_MARKER } from '@casual-simulation/aux-common';
import { getMarkersOrDefault, getRootMarkersOrDefault } from './Utils';
-import { without } from 'lodash';
import type { MetricsStore } from './MetricsStore';
import type { ConfigurationStore } from './ConfigurationStore';
import { getSubscriptionFeatures } from './SubscriptionConfiguration';
@@ -89,17 +84,18 @@ export class FileRecordsController {
@traced(TRACE_NAME)
async recordFile(
recordKeyOrRecordName: string,
- userId: string,
+ userId: string | null,
request: RecordFileRequest
): Promise {
try {
- const markers = getMarkersOrDefault(request.markers);
- const rootMarkers = getRootMarkersOrDefault(markers);
+ let markers = getMarkersOrDefault(request.markers);
+ let rootMarkers = getRootMarkersOrDefault(markers);
const contextResult =
await this._policies.constructAuthorizationContext({
recordKeyOrRecordName,
userId,
+ userRole: request.userRole,
});
if (contextResult.success === false) {
@@ -129,16 +125,6 @@ export class FileRecordsController {
}
);
- // const result = await this._policies.authorizeRequest({
- // action: 'file.create',
- // recordKeyOrRecordName: recordKeyOrRecordName,
- // userId,
- // resourceMarkers: markers,
- // fileSizeInBytes: request.fileByteLength,
- // fileMimeType: request.fileMimeType,
- // instances: request.instances,
- // });
-
if (authorization.success === false) {
return authorization;
}
@@ -177,8 +163,9 @@ export class FileRecordsController {
const policy = contextResult.context.subjectPolicy;
userId = contextResult.context.userId;
+ const userRole = contextResult.context.userRole;
- if (!userId && policy !== 'subjectless') {
+ if (!userId && userRole === 'none' && policy !== 'subjectless') {
return {
success: false,
errorCode: 'not_logged_in',
@@ -253,20 +240,6 @@ export class FileRecordsController {
}
}
- const presignResult = await this._store.presignFileUpload({
- recordName,
- fileName: fileName,
- fileSha256Hex: request.fileSha256Hex,
- fileMimeType: request.fileMimeType,
- fileByteLength: request.fileByteLength,
- markers: rootMarkers,
- headers: request.headers,
- });
-
- if (presignResult.success === false) {
- return presignResult;
- }
-
const addFileResult = await this._store.addFileRecord(
recordName,
fileName,
@@ -296,14 +269,44 @@ export class FileRecordsController {
}
if (!fileResult.uploaded) {
- return {
- success: true,
- fileName,
- uploadUrl: presignResult.uploadUrl,
- uploadHeaders: presignResult.uploadHeaders,
- uploadMethod: presignResult.uploadMethod,
- markers,
- };
+ if (
+ !fileResult.markers.some((m) => markers.includes(m))
+ ) {
+ // re-check permissions because none of the markers match up
+ // with the markers that the file actually has
+ markers = fileResult.markers;
+ rootMarkers = getRootMarkersOrDefault(markers);
+
+ const authorization =
+ await this._policies.authorizeUserAndInstancesForResources(
+ contextResult.context,
+ {
+ userId: subjectId,
+ instances: request.instances,
+ resources: [
+ {
+ resourceKind: 'file',
+ resourceId: fileName,
+ action: 'create',
+ markers: markers,
+ },
+ ...getMarkerResourcesForCreation(
+ markers
+ ),
+ ],
+ }
+ );
+
+ if (authorization.success === false) {
+ return authorization;
+ }
+ } else {
+ // allow the request to be successful
+ // because at least one of the markers is the same
+ // we just need to grab the real markers from the file
+ markers = fileResult.markers;
+ rootMarkers = getRootMarkersOrDefault(markers);
+ }
} else {
return {
success: false,
@@ -312,11 +315,26 @@ export class FileRecordsController {
'The file has already been uploaded to ' +
fileResult.url,
existingFileUrl: fileResult.url,
+ existingFileName: fileResult.fileName,
};
}
+ } else {
+ return addFileResult;
}
+ }
+
+ const presignResult = await this._store.presignFileUpload({
+ recordName,
+ fileName: fileName,
+ fileSha256Hex: request.fileSha256Hex,
+ fileMimeType: request.fileMimeType,
+ fileByteLength: request.fileByteLength,
+ markers: rootMarkers,
+ headers: request.headers,
+ });
- return addFileResult;
+ if (presignResult.success === false) {
+ return presignResult;
}
return {
@@ -464,19 +482,22 @@ export class FileRecordsController {
* @param fileName The name of the file.
* @param subjectId The ID of the user that is making this request. Null if the user is not logged in.
* @param instances The instances that are loaded.
+ * @param userRole The role of the user that is making the request.
*/
@traced(TRACE_NAME)
async readFile(
recordKeyOrRecordName: string,
fileName: string,
- subjectId: string,
- instances?: string[]
+ subjectId: string | null,
+ instances?: string[],
+ userRole?: UserRole
): Promise {
try {
const baseRequest = {
recordKeyOrRecordName,
userId: subjectId,
instances,
+ userRole,
};
const context = await this._policies.constructAuthorizationContext(
baseRequest
@@ -527,7 +548,11 @@ export class FileRecordsController {
const policy = context.context.subjectPolicy;
subjectId = result.user.subjectId;
- if (!subjectId && policy !== 'subjectless') {
+ if (
+ !subjectId &&
+ context.context.userRole === 'none' &&
+ policy !== 'subjectless'
+ ) {
return {
success: false,
errorCode: 'not_logged_in',
@@ -861,6 +886,11 @@ export interface RecordFileRequest {
* The instances that are currently loaded.
*/
instances?: string[];
+
+ /**
+ * The role of the user that is making the request.
+ */
+ userRole?: UserRole | null;
}
/**
@@ -930,6 +960,11 @@ export interface RecordFileFailure {
* The URL that the file is available at if it has already been uploaded.
*/
existingFileUrl?: string;
+
+ /**
+ * The name of the file that was attempted to be recorded.
+ */
+ existingFileName?: string;
}
/**
diff --git a/src/aux-records/LoomController.ts b/src/aux-records/LoomController.ts
index 7efee19a8a..ef8638260b 100644
--- a/src/aux-records/LoomController.ts
+++ b/src/aux-records/LoomController.ts
@@ -22,10 +22,7 @@ import type {
} from './PolicyController';
import type { RecordsStore } from './RecordsStore';
import type { ConfigurationStore } from './ConfigurationStore';
-import {
- getLoomFeatures,
- getSubscriptionFeatures,
-} from './SubscriptionConfiguration';
+import { getLoomFeatures } from './SubscriptionConfiguration';
import type { MetricsStore } from './MetricsStore';
import * as jose from 'jose';
import { traced } from './tracing/TracingDecorators';
diff --git a/src/aux-records/MemoryFileRecordsLookup.ts b/src/aux-records/MemoryFileRecordsLookup.ts
index 79d8589320..6654ea21c5 100644
--- a/src/aux-records/MemoryFileRecordsLookup.ts
+++ b/src/aux-records/MemoryFileRecordsLookup.ts
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { sortBy } from 'lodash';
+import { sortBy } from 'es-toolkit/compat';
import type {
AddFileResult,
EraseFileStoreResult,
diff --git a/src/aux-records/MemoryStore.ts b/src/aux-records/MemoryStore.ts
index 03a0eda60f..6e9a5a15c3 100644
--- a/src/aux-records/MemoryStore.ts
+++ b/src/aux-records/MemoryStore.ts
@@ -15,8 +15,8 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { cloneDeep, orderBy, sortBy } from 'lodash';
-import type { RegexRule } from './Utils';
+import { cloneDeep, orderBy, sortBy } from 'es-toolkit/compat';
+import { type RegexRule } from './Utils';
import type {
AddressType,
AuthInvoice,
@@ -30,11 +30,15 @@ import type {
AuthUserAuthenticator,
AuthUserAuthenticatorWithUser,
AuthWebAuthnLoginRequest,
+ AuthCheckoutSession,
ListSessionsDataResult,
SaveNewUserResult,
+ UpdateCheckoutSessionRequest,
UpdateSubscriptionInfoRequest,
UpdateSubscriptionPeriodRequest,
UserLoginMetadata,
+ PurchasedItem,
+ ActivationKey,
} from './AuthStore';
import type {
ListStudioAssignmentFilters,
@@ -77,11 +81,6 @@ import type {
PresignFileUploadResult,
UpdateFileResult,
} from './FileRecordsStore';
-import {
- FileRecord,
- FileRecordsLookup,
- ListFilesLookupResult,
-} from './FileRecordsStore';
import type {
AddEventCountStoreResult,
EventRecordUpdate,
@@ -97,6 +96,7 @@ import type {
DeletePermissionAssignmentResult,
GetMarkerPermissionResult,
GetResourcePermissionResult,
+ GrantedPackageEntitlement,
ListPermissionsInRecordResult,
ListedRoleAssignments,
MarkerPermissionAssignment,
@@ -113,12 +113,8 @@ import type {
ResourceKinds,
SubjectType,
PrivacyFeatures,
-} from '@casual-simulation/aux-common';
-import {
- ADMIN_ROLE_NAME,
- PUBLIC_READ_MARKER,
- PUBLIC_WRITE_MARKER,
- ACCOUNT_MARKER,
+ Entitlement,
+ GrantedEntitlementScope,
} from '@casual-simulation/aux-common';
import type {
AIChatMetrics,
@@ -153,6 +149,7 @@ import type {
InstWithBranches,
InstWithSubscriptionInfo,
ListInstsStoreResult,
+ LoadedPackage,
ReplaceUpdatesResult,
SaveBranchResult,
SaveInstResult,
@@ -170,7 +167,12 @@ import type {
RecordsNotification,
} from './SystemNotificationMessenger';
import type { ModerationConfiguration } from './ModerationConfiguration';
-import { uniq } from 'lodash';
+import type {
+ FinancialAccount,
+ FinancialAccountFilter,
+ FinancialStore,
+ UniqueFinancialAccountFilter,
+} from './financial/FinancialStore';
export interface MemoryConfiguration {
subscriptions: SubscriptionConfiguration;
@@ -190,7 +192,8 @@ export class MemoryStore
ConfigurationStore,
InstRecordsStore,
ModerationStore,
- SystemNotificationMessenger
+ SystemNotificationMessenger,
+ FinancialStore
{
private _users: AuthUser[] = [];
private _userAuthenticators: AuthUserAuthenticator[] = [];
@@ -201,6 +204,7 @@ export class MemoryStore
private _subscriptions: AuthSubscription[] = [];
private _periods: AuthSubscriptionPeriod[] = [];
private _invoices: AuthInvoice[] = [];
+ private _checkoutSessions: AuthCheckoutSession[] = [];
private _records: Record[] = [];
private _recordKeys: RecordKey[] = [];
@@ -233,13 +237,20 @@ export class MemoryStore
private _resourcePermissionAssignments: ResourcePermissionAssignment[] = [];
private _markerPermissionAssignments: MarkerPermissionAssignment[] = [];
+ private _grantedPackageEntitlements: GrantedPackageEntitlement[] = [];
private _studioLoomConfigs: Map = new Map();
private _studioHumeConfigs: Map = new Map();
+ private _loadedPackages: Map = new Map();
+
+ private _financialAccounts: FinancialAccount[] = [];
+
get aiOpenAIRealtimeMetrics(): AIOpenAIRealtimeMetrics[] {
return this._aiRealtimeMetrics;
}
+ private _purchasedItems: PurchasedItem[] = [];
+ private _activationKeys: ActivationKey[] = [];
// TODO: Support global permissions
// private _globalPermissionAssignments: GlobalPermissionAssignment[] = [];
@@ -369,6 +380,26 @@ export class MemoryStore
return this._comIdRequests;
}
+ get grantedPackageEntitlements() {
+ return this._grantedPackageEntitlements;
+ }
+
+ get checkoutSessions() {
+ return this._checkoutSessions;
+ }
+
+ get purchasedItems() {
+ return this._purchasedItems;
+ }
+
+ get activationKeys() {
+ return this._activationKeys;
+ }
+
+ get financialAccounts() {
+ return this._financialAccounts;
+ }
+
constructor(config: MemoryConfiguration) {
this._subscriptionConfiguration = config.subscriptions;
this._privoConfiguration = config.privo ?? null;
@@ -378,6 +409,58 @@ export class MemoryStore
this.roleAssignments = {};
}
+ async getAccountById(id: string): Promise {
+ return this._financialAccounts.find((a) => a.id === id) ?? null;
+ }
+
+ async getAccountByFilter(
+ filter: UniqueFinancialAccountFilter
+ ): Promise {
+ if (filter.userId) {
+ return this._financialAccounts.find(
+ (a) => a.userId === filter.userId && a.ledger === filter.ledger
+ );
+ } else if (filter.studioId) {
+ return this._financialAccounts.find(
+ (a) =>
+ a.studioId === filter.studioId && a.ledger === filter.ledger
+ );
+ } else if (filter.contractId) {
+ return this._financialAccounts.find(
+ (a) =>
+ a.contractId === filter.contractId &&
+ a.ledger === filter.ledger
+ );
+ }
+ return null;
+ }
+
+ async listAccounts(
+ filter: FinancialAccountFilter
+ ): Promise {
+ return this._financialAccounts.filter((a) => {
+ if (filter.userId && a.userId !== filter.userId) {
+ return false;
+ }
+ if (filter.studioId && a.studioId !== filter.studioId) {
+ return false;
+ }
+ if (filter.contractId && a.contractId !== filter.contractId) {
+ return false;
+ }
+ if (filter.ledger && a.ledger !== filter.ledger) {
+ return false;
+ }
+ return true;
+ });
+ }
+
+ async createAccount(account: FinancialAccount): Promise {
+ this._financialAccounts.push({
+ ...account,
+ });
+ }
+
init?(): Promise;
/**
@@ -686,6 +769,10 @@ export class MemoryStore
return this._studios.find((s) => s.stripeCustomerId === customerId);
}
+ async getStudioByStripeAccountId(accountId: string): Promise {
+ return this._studios.find((s) => s.stripeAccountId === accountId);
+ }
+
async listStudiosForUser(userId: string): Promise {
const assignments = await this.listUserAssignments(userId);
const studios = await Promise.all(
@@ -1189,6 +1276,94 @@ export class MemoryStore
};
}
+ async saveGrantedPackageEntitlement(
+ grantedEntitlement: GrantedPackageEntitlement
+ ): Promise {
+ const existingIndex = this._grantedPackageEntitlements.findIndex(
+ (e) => e.id === grantedEntitlement.id
+ );
+
+ if (existingIndex >= 0) {
+ this._grantedPackageEntitlements[existingIndex] = {
+ ...grantedEntitlement,
+ };
+ } else {
+ this._grantedPackageEntitlements.push({
+ ...grantedEntitlement,
+ });
+ }
+ }
+
+ async listGrantedEntitlementsByFeatureAndUserId(
+ packageIds: string[],
+ feature: Entitlement['feature'],
+ userId: string,
+ recordName: string,
+ nowMs: number
+ ): Promise {
+ return this._grantedPackageEntitlements.filter(
+ (e) =>
+ e.userId === userId &&
+ e.feature === feature &&
+ e.recordName === recordName &&
+ e.expireTimeMs > nowMs &&
+ e.revokeTimeMs === null &&
+ packageIds.includes(e.packageId)
+ );
+ }
+
+ async findGrantedPackageEntitlementByUserIdPackageIdFeatureAndScope(
+ userId: string,
+ packageId: string,
+ feature: Entitlement['feature'],
+ scope: GrantedEntitlementScope,
+ recordName: string
+ ): Promise {
+ return (
+ this._grantedPackageEntitlements.find(
+ (e) =>
+ e.userId === userId &&
+ e.packageId === packageId &&
+ e.feature === feature &&
+ e.scope === scope &&
+ e.revokeTimeMs === null &&
+ e.recordName === recordName
+ ) ?? null
+ );
+ }
+
+ async findGrantedPackageEntitlementById(
+ id: string
+ ): Promise {
+ return this._grantedPackageEntitlements.find((e) => e.id === id);
+ }
+
+ async listGrantedEntitlementsForUser(
+ userId: string,
+ nowMs: number
+ ): Promise {
+ return this._grantedPackageEntitlements.filter(
+ (e) =>
+ e.userId === userId &&
+ e.expireTimeMs > nowMs &&
+ e.revokeTimeMs === null
+ );
+ }
+
+ async listGrantedEntitlementsForUserAndPackage(
+ userId: string,
+ packageId: string,
+ nowMs: number
+ ): Promise {
+ return this._grantedPackageEntitlements.filter(
+ (e) =>
+ e.userId === userId &&
+ e.packageId === packageId &&
+ e.expireTimeMs > nowMs &&
+ e.revokeTimeMs === null
+ );
+ }
+
async countRecords(filter: CountRecordsFilter): Promise {
let count = 0;
for (let record of this._records) {
@@ -1269,6 +1444,13 @@ export class MemoryStore
return user;
}
+ async findUserByStripeAccountId(
+ accountId: string
+ ): Promise {
+ const user = this._users.find((u) => u.stripeAccountId === accountId);
+ return user || null;
+ }
+
async findUserByPrivoServiceId(serviceId: string): Promise {
const user = this._users.find((u) => u.privoServiceId === serviceId);
return user;
@@ -1626,6 +1808,10 @@ export class MemoryStore
return this._invoices.find((i) => i.id === id);
}
+ async getInvoiceByStripeId(id: string): Promise {
+ return this._invoices.find((i) => i.stripeInvoiceId === id);
+ }
+
async updateSubscriptionInfo(
request: UpdateSubscriptionInfoRequest
): Promise {
@@ -1763,6 +1949,7 @@ export class MemoryStore
id: invoiceId,
periodId: periodId,
subscriptionId: subscription.id,
+ checkoutSessionId: null,
...request.invoice,
});
@@ -1813,6 +2000,7 @@ export class MemoryStore
id: invoiceId,
periodId: periodId,
subscriptionId: subscription.id,
+ checkoutSessionId: null,
...request.invoice,
});
@@ -1826,6 +2014,105 @@ export class MemoryStore
}
}
+ async updateCheckoutSessionInfo(
+ request: UpdateCheckoutSessionRequest
+ ): Promise {
+ let sessionIndex = this._checkoutSessions.findIndex(
+ (s) => s.id === request.id
+ );
+
+ let invoiceId: string = null;
+ if (request.invoice) {
+ let invoice = this._invoices.find(
+ (i) => i.stripeInvoiceId === request.invoice.stripeInvoiceId
+ );
+
+ if (!invoice) {
+ invoice = {
+ id: uuid(),
+ ...request.invoice,
+ checkoutSessionId: request.id,
+ subscriptionId: null,
+ periodId: null,
+ };
+ await this.saveInvoice(invoice);
+ invoiceId = invoice.id;
+ } else {
+ invoice = {
+ ...invoice,
+ ...request.invoice,
+ checkoutSessionId: request.id,
+ };
+ await this.saveInvoice(invoice);
+ invoiceId = invoice.id;
+ }
+ }
+
+ if (sessionIndex < 0) {
+ const session: AuthCheckoutSession = {
+ id: request.id,
+ paid: request.paid,
+ stripePaymentStatus: request.paymentStatus,
+ stripeStatus: request.status,
+ stripeCheckoutSessionId: request.stripeCheckoutSessionId,
+ fulfilledAtMs: request.fulfilledAtMs,
+ userId: request.userId,
+ invoiceId,
+ items: request.items,
+ transferIds: request.transferIds,
+ transfersPending: request.transfersPending,
+ transactionId: request.transactionId,
+ shouldBeAutomaticallyFulfilled:
+ request.shouldBeAutomaticallyFulfilled,
+ };
+ this._checkoutSessions.push(session);
+ } else {
+ let session = this._checkoutSessions[sessionIndex];
+ session = {
+ ...session,
+ paid: request.paid,
+ stripePaymentStatus: request.paymentStatus,
+ stripeStatus: request.status,
+ stripeCheckoutSessionId: request.stripeCheckoutSessionId,
+ fulfilledAtMs: request.fulfilledAtMs,
+ userId: request.userId,
+ items: request.items,
+ transferIds: request.transferIds,
+ transfersPending: request.transfersPending,
+ transactionId: request.transactionId,
+ shouldBeAutomaticallyFulfilled:
+ request.shouldBeAutomaticallyFulfilled,
+ };
+
+ if (request.invoice) {
+ session.invoiceId = invoiceId;
+ }
+
+ this._checkoutSessions[sessionIndex] = session;
+ }
+ }
+
+ async markCheckoutSessionFulfilled(
+ sessionId: string,
+ fulfilledAtMs: number
+ ): Promise {
+ const index = this._checkoutSessions.findIndex(
+ (s) => s.id === sessionId
+ );
+ if (index >= 0) {
+ const session = this._checkoutSessions[index];
+ this._checkoutSessions[index] = {
+ ...session,
+ fulfilledAtMs,
+ transfersPending: false,
+ };
+ }
+ }
+
+ async getCheckoutSessionById(id: string): Promise {
+ return this._checkoutSessions.find((s) => s.id === id);
+ }
+
private _findUserIndex(id: string): number {
return this._users.findIndex((u) => u.id === id);
}
@@ -2106,8 +2393,8 @@ export class MemoryStore
async addFileRecord(
recordName: string,
fileName: string,
- publisherId: string,
- subjectId: string,
+ publisherId: string | null,
+ subjectId: string | null,
sizeInBytes: number,
description: string,
markers: string[]
@@ -2666,10 +2953,6 @@ export class MemoryStore
return await this._getSubscriptionInfo(recordName);
}
- async listRecordsForSubscriptionByRecordName(recordName: string) {
- return await this._listRecordsForSubscription(recordName);
- }
-
async getSubscriptionAiSloydMetrics(
filter: SubscriptionFilter
): Promise {
@@ -2868,6 +3151,8 @@ export class MemoryStore
currentPeriodStartMs: currentPeriodStart,
currentPeriodEndMs: currentPeriodEnd,
subscriptionType: filter.ownerId ? 'user' : 'studio',
+ stripeAccountId: null,
+ stripeAccountStatus: null,
};
if (filter.ownerId) {
@@ -2878,6 +3163,8 @@ export class MemoryStore
metrics.subscriptionId = user.subscriptionId;
metrics.currentPeriodEndMs = user.subscriptionPeriodEndMs;
metrics.currentPeriodStartMs = user.subscriptionPeriodStartMs;
+ metrics.stripeAccountId = user.stripeAccountId;
+ metrics.stripeAccountStatus = user.stripeAccountStatus;
}
} else if (filter.studioId) {
const studio = await this.getStudioById(filter.studioId);
@@ -2887,12 +3174,18 @@ export class MemoryStore
metrics.subscriptionStatus = studio.subscriptionStatus;
metrics.currentPeriodEndMs = studio.subscriptionPeriodEndMs;
metrics.currentPeriodStartMs = studio.subscriptionPeriodStartMs;
+ metrics.stripeAccountId = studio.stripeAccountId;
+ metrics.stripeAccountStatus = studio.stripeAccountStatus;
}
}
return metrics;
}
+ async listRecordsForSubscriptionByRecordName(recordName: string) {
+ return await this._listRecordsForSubscription(recordName);
+ }
+
private async _listRecordsForSubscription(recordName: string) {
const record = await this.getRecordByName(recordName);
@@ -2973,6 +3266,46 @@ export class MemoryStore
};
}
+ async listInstsByRecordAndMarker(
+ recordName: string,
+ marker: string,
+ startingInst?: string | null
+ ): Promise {
+ if (!recordName) {
+ return {
+ success: true,
+ insts: [],
+ totalCount: 0,
+ };
+ }
+ const record = await this._getInstRecord(recordName);
+
+ if (!record) {
+ return {
+ success: false,
+ errorCode: 'record_not_found',
+ errorMessage: 'The record was not found.',
+ };
+ }
+
+ let insts = [...record.values()].filter((i) =>
+ i.markers.includes(marker)
+ );
+ if (startingInst) {
+ insts = insts.filter((i) => i.inst > startingInst);
+ }
+
+ return {
+ success: true,
+ insts: insts.slice(0, 10).map((i) => ({
+ recordName: i.recordName,
+ inst: i.inst,
+ markers: i.markers,
+ })),
+ totalCount: insts.length,
+ };
+ }
+
async getBranchByName(
recordName: string,
inst: string,
@@ -3019,6 +3352,36 @@ export class MemoryStore
};
}
+ async saveLoadedPackage(loadedPackage: LoadedPackage): Promise {
+ this._loadedPackages.set(loadedPackage.id, { ...loadedPackage });
+ }
+
+ async listLoadedPackages(
+ recordName: string | null,
+ inst: string
+ ): Promise {
+ let loadedPackages: LoadedPackage[] = [];
+ for (let [id, loadedPackage] of this._loadedPackages) {
+ if (
+ loadedPackage.recordName === recordName &&
+ loadedPackage.inst === inst
+ ) {
+ loadedPackages.push(loadedPackage);
+ }
+ }
+
+ return loadedPackages;
+ }
+
+ async isPackageLoaded(
+ recordName: string | null,
+ inst: string,
+ packageId: string
+ ): Promise {
+ const loaded = await this.listLoadedPackages(recordName, inst);
+ return loaded.find((p) => p.packageId === packageId) ?? null;
+ }
+
async saveInst(inst: InstWithBranches): Promise {
const r = await this._getInstRecord(inst.recordName);
@@ -3057,7 +3420,7 @@ export class MemoryStore
updates: [],
timestamps: [],
},
- };
+ } as BranchWithUpdates;
});
} else if (!update.branches) {
update.branches = [];
@@ -3382,6 +3745,35 @@ export class MemoryStore
}
return record;
}
+
+ async savePurchasedItem(item: PurchasedItem): Promise {
+ const index = this._purchasedItems.findIndex((i) => i.id === item.id);
+ if (index >= 0) {
+ this._purchasedItems[index] = {
+ ...item,
+ };
+ } else {
+ this._purchasedItems.push({
+ ...item,
+ });
+ }
+ }
+
+ async createActivationKey(key: ActivationKey): Promise {
+ this._activationKeys.push({
+ ...key,
+ });
+ }
+
+ async getActivationKeyById(id: string): Promise {
+ return this._activationKeys.find((k) => k.id === id);
+ }
+
+ async listPurchasedItemsByActivationKeyId(
+ keyId: string
+ ): Promise {
+ return this._purchasedItems.filter((i) => i.activationKeyId === keyId);
+ }
}
interface RecordData {
@@ -3401,8 +3793,8 @@ interface EventData {
interface StoredFile {
fileName: string;
recordName: string;
- publisherId: string;
- subjectId: string;
+ publisherId: string | null;
+ subjectId: string | null;
sizeInBytes: number;
uploaded: boolean;
description: string;
diff --git a/src/aux-records/MetricsStore.ts b/src/aux-records/MetricsStore.ts
index a4d0ef8bab..9ef411616c 100644
--- a/src/aux-records/MetricsStore.ts
+++ b/src/aux-records/MetricsStore.ts
@@ -16,6 +16,7 @@
* along with this program. If not, see .
*/
+import type { StripeAccountStatus } from './StripeInterface';
import type { CreateRealtimeSessionTokenRequest } from './AIOpenAIRealtimeInterface';
export interface MetricsStore {
@@ -167,6 +168,18 @@ export interface SubscriptionMetrics {
* The unix time in miliseconds of the end of the current subscription period.
*/
currentPeriodEndMs: number | null;
+
+ /**
+ * The ID of the stripe account that the record is associated with.
+ * Null if a stripe account is not associated with the record.
+ */
+ stripeAccountId: string | null;
+
+ /**
+ * The status of the stripe account that the record is associated with.
+ * Null if a stripe account is not associated with the record.
+ */
+ stripeAccountStatus: StripeAccountStatus | null;
}
export interface DataSubscriptionMetrics extends SubscriptionMetrics {
@@ -213,12 +226,12 @@ export interface SubscriptionFilter {
/**
* The ID of the user that owns the subscription.
*/
- ownerId?: string;
+ ownerId?: string | null;
/**
* The ID of the studio that owns the subscription.
*/
- studioId?: string;
+ studioId?: string | null;
}
export interface AIChatSubscriptionMetrics extends SubscriptionMetrics {
diff --git a/src/aux-records/ModerationController.spec.ts b/src/aux-records/ModerationController.spec.ts
index 4227ee06b8..b743e036c8 100644
--- a/src/aux-records/ModerationController.spec.ts
+++ b/src/aux-records/ModerationController.spec.ts
@@ -800,7 +800,8 @@ describe('ModerationController', () => {
expect(store.recordsNotifications).toEqual([
{
- resource: 'file',
+ resource: 'moderation_scan',
+ resourceKind: 'file',
action: 'scanned',
recordName: recordName,
resourceId: 'file1.png',
@@ -924,7 +925,8 @@ describe('ModerationController', () => {
expect(store.recordsNotifications).toEqual([
{
- resource: 'file',
+ resource: 'moderation_scan',
+ resourceKind: 'file',
action: 'scanned',
recordName: recordName,
resourceId: 'file1.png',
diff --git a/src/aux-records/ModerationController.ts b/src/aux-records/ModerationController.ts
index c5287cb9e4..f63e9adc62 100644
--- a/src/aux-records/ModerationController.ts
+++ b/src/aux-records/ModerationController.ts
@@ -30,7 +30,6 @@ import type {
import type { ZodIssue } from 'zod';
import { v4 as uuid } from 'uuid';
import type { SystemNotificationMessenger } from './SystemNotificationMessenger';
-import { RecordsNotification } from './SystemNotificationMessenger';
import type { ConfigurationStore } from './ConfigurationStore';
import { traced } from './tracing/TracingDecorators';
import { SpanStatusCode, trace } from '@opentelemetry/api';
@@ -296,7 +295,8 @@ export class ModerationController {
if (label.actions.includes('notify') && this._messenger) {
await this._messenger.sendRecordNotification({
- resource: 'file',
+ resource: 'moderation_scan',
+ resourceKind: 'file',
action: 'scanned',
recordName: request.recordName,
resourceId: request.fileName,
diff --git a/src/aux-records/OpenAIChatInterface.ts b/src/aux-records/OpenAIChatInterface.ts
index 8781c7494d..187dafd0f3 100644
--- a/src/aux-records/OpenAIChatInterface.ts
+++ b/src/aux-records/OpenAIChatInterface.ts
@@ -56,6 +56,11 @@ export interface OpenAIChatOptions {
* The name of this interface to use for logging;
*/
name?: string;
+
+ /**
+ * The additional properties that should be included in requests.
+ */
+ additionalProperties?: Record;
}
/**
@@ -64,6 +69,7 @@ export interface OpenAIChatOptions {
export class OpenAIChatInterface implements AIChatInterface {
private _options: OpenAIChatOptions;
private _client: OpenAI;
+ private _additionalProperties: Record;
private get _baseUrl() {
return this._options.baseUrl ?? 'https://api.openai.com/v1/';
@@ -79,6 +85,7 @@ export class OpenAIChatInterface implements AIChatInterface {
apiKey: options.apiKey,
baseURL: this._options.baseUrl ?? undefined,
});
+ this._additionalProperties = options.additionalProperties ?? {};
}
@traced(TRACE_NAME, SPAN_OPTIONS)
@@ -99,6 +106,7 @@ export class OpenAIChatInterface implements AIChatInterface {
const result = await axios.post(
`${this._baseUrl}chat/completions`,
{
+ ...this._additionalProperties,
model: request.model,
messages: request.messages.map((m) => ({
role: m.role,
@@ -204,6 +212,7 @@ export class OpenAIChatInterface implements AIChatInterface {
}
const res = await this._client.chat.completions.create({
+ ...this._additionalProperties,
model: request.model,
messages: request.messages.map((m) => ({
role: m.role,
diff --git a/src/aux-records/OpenAIImageInterface.ts b/src/aux-records/OpenAIImageInterface.ts
index 07a75318ed..2c8a4ed318 100644
--- a/src/aux-records/OpenAIImageInterface.ts
+++ b/src/aux-records/OpenAIImageInterface.ts
@@ -15,12 +15,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import {
- AIChatInterface,
- AIChatInterfaceRequest,
- AIChatInterfaceResponse,
- AIChatMessage,
-} from './AIChatInterface';
+
import axios from 'axios';
import type {
AIGenerateImageInterfaceRequest,
diff --git a/src/aux-records/PolicyController.spec.ts b/src/aux-records/PolicyController.spec.ts
index d12a38b40a..e399a39996 100644
--- a/src/aux-records/PolicyController.spec.ts
+++ b/src/aux-records/PolicyController.spec.ts
@@ -17,56 +17,48 @@
*/
import type { Record, RecordKey } from './RecordsStore';
import type { MemoryStore } from './MemoryStore';
+import type {
+ GrantEntitlementSuccess,
+ RevokeEntitlementSuccess,
+} from './PolicyController';
import {
PolicyController,
explainationForPermissionAssignment,
- getMarkerResourcesForCreation,
willMarkersBeRemaining,
} from './PolicyController';
import type {
ActionKinds,
ResourceKinds,
SubjectType,
+ Entitlement,
} from '@casual-simulation/aux-common';
import {
ACCOUNT_MARKER,
ADMIN_ROLE_NAME,
- AvailablePermissions,
- DATA_RESOURCE_KIND,
- EVENT_RESOURCE_KIND,
- FILE_RESOURCE_KIND,
- INST_RESOURCE_KIND,
- MARKER_RESOURCE_KIND,
+ DEFAULT_BRANCH_NAME,
+ formatInstId,
+ formatV1RecordKey,
+ parseRecordKey,
PRIVATE_MARKER,
PUBLIC_READ_MARKER,
PUBLIC_WRITE_MARKER,
- ROLE_RESOURCE_KIND,
} from '@casual-simulation/aux-common';
import type {
CreateRecordSuccess,
CreateStudioSuccess,
} from './RecordsController';
-import {
- CreateStudioResult,
- formatV1RecordKey,
- parseRecordKey,
- RecordsController,
-} from './RecordsController';
+import { RecordsController } from './RecordsController';
import type { TestServices } from './TestUtils';
-import {
- createTestControllers,
- createTestRecordKey,
- createTestUser,
-} from './TestUtils';
+import { createTestControllers, createTestRecordKey } from './TestUtils';
import type {
AssignPermissionToSubjectAndMarkerSuccess,
AssignPermissionToSubjectAndResourceSuccess,
MarkerPermissionAssignment,
ResourcePermissionAssignment,
} from './PolicyStore';
-import { formatInstId } from './websockets';
import { AuthController } from './AuthController';
import type { PrivoClientInterface } from './PrivoClient';
+import { version } from './packages/version';
console.log = jest.fn();
@@ -2539,477 +2531,941 @@ describe('PolicyController', () => {
});
});
- describe('authorizeSubject()', () => {
- const adminOrGrantedActionCases: [ActionKinds, string | null][] = [
- ['create', 'resourceId'],
- ['update', 'resourceId'],
- ['delete', 'resourceId'],
- ['read', 'resourceId'],
- ['list', null],
- ['updateData', 'resourceId'],
- ['increment', 'resourceId'],
- ['count', 'resourceId'],
- ['sendAction', 'resourceId'],
- ['assign', 'resourceId'],
- ['unassign', 'resourceId'],
- ['grantPermission', 'resourceId'],
- ['revokePermission', 'resourceId'],
- ['grant', 'resourceId'],
- ['revoke', 'resourceId'],
- ['run', 'resourceId'],
- ['send', 'resourceId'],
- ['subscribe', 'resourceId'],
- ['listSubscriptions', 'resourceId'],
- ];
+ describe('grantEntitlement()', () => {
+ const packageRecordName = 'packageRecord';
+ const packageAddress = 'packageAddress';
+ const packageKey = version(1);
- const moderatorActionCases: [ActionKinds][] = [
- ['read'],
- ['list'],
- ['count'],
- ['listSubscriptions'],
- ];
+ const originalDateNow = Date.now;
+ let dateNowMock: jest.Mock;
- const adminOrGrantedResourceKindCases: [ResourceKinds][] = [
- ['data'],
- ['file'],
- ['event'],
- ['inst'],
- ['marker'],
- ['role'],
- ['loom'],
- ['ai.sloyd'],
- ['ai.hume'],
- ['webhook'],
- ['notification'],
- ];
+ beforeEach(async () => {
+ dateNowMock = Date.now = jest.fn(() => 500);
- // Admins can perform all actions on all resources
- describe.each(adminOrGrantedResourceKindCases)('%s', (resourceKind) => {
- describe.each(adminOrGrantedActionCases)(
- '%s',
- (action, resourceId) => {
- const marker = 'secret';
+ await services.records.createRecord({
+ recordName: packageRecordName,
+ userId: ownerId,
+ ownerId: ownerId,
+ });
- it('should allow the action if the user is the owner of the record', async () => {
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: userId,
- });
+ await services.packagesStore.createItem(packageRecordName, {
+ id: 'packageId',
+ address: packageAddress,
+ markers: [PRIVATE_MARKER],
+ });
- const result = await controller.authorizeSubject(
- context,
- {
- subjectId: ownerId,
- subjectType: 'user',
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- }
- );
+ await services.packageVersionStore.createItem(packageRecordName, {
+ id: 'packageVersionId',
+ address: packageAddress,
+ key: packageKey,
+ auxFileName: 'auxFileName',
+ auxSha256: 'sha256',
+ createdAtMs: 123,
+ createdFile: true,
+ description: '',
+ sha256: 'sha256',
+ sizeInBytes: 123,
+ requiresReview: false,
+ entitlements: [
+ {
+ feature: 'data',
+ scope: 'personal',
+ },
+ ],
+ markers: [PUBLIC_READ_MARKER],
+ });
+ });
- expect(result).toEqual({
- success: true,
- recordName: recordName,
- permission: {
- id: null,
- recordName,
- userId: null,
+ afterEach(() => {
+ Date.now = originalDateNow;
+ });
- // The role that record owners recieve
- subjectType: 'role',
- subjectId: ADMIN_ROLE_NAME,
+ it('should grant an entitlement to the given package for the given user', async () => {
+ const result = (await controller.grantEntitlement({
+ userId: userId,
+ grantingUserId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ })) as GrantEntitlementSuccess;
- // resourceKind and action are null because this permission
- // applies to all resources and actions.
- resourceKind: null,
- action: null,
+ expect(result).toEqual({
+ success: true,
+ grantId: expect.any(String),
+ feature: 'data',
+ });
- marker: marker,
- options: {},
- expireTimeMs: null,
- },
- explanation: 'User is the owner of the record.',
- });
- });
+ const entitlement = store.grantedPackageEntitlements[0];
+ expect(entitlement).toEqual({
+ id: result.grantId,
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ });
+ });
- it('should allow the action if the user is an admin of the studio', async () => {
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: studioRecord,
- userId: userId,
- });
+ it('should update the entitlement expire time', async () => {
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ });
- const result = await controller.authorizeSubject(
- context,
- {
- subjectId: ownerId,
- subjectType: 'user',
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- }
- );
+ const result = await controller.grantEntitlement({
+ userId: userId,
+ grantingUserId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 1000,
+ });
- expect(result).toEqual({
- success: true,
- recordName: studioRecord,
- permission: {
- id: null,
- recordName: studioRecord,
- userId: null,
+ expect(result).toEqual({
+ success: true,
+ grantId: 'entitlementId',
+ feature: 'data',
+ });
- // The role that admins recieve automatically
- subjectType: 'role',
- subjectId: ADMIN_ROLE_NAME,
+ expect(store.grantedPackageEntitlements).toEqual([
+ {
+ id: 'entitlementId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 1000,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ ]);
+ });
- // Null because admins have all access in a studio
- resourceKind: null,
- action: null,
+ it('should add the grant if the record name is different from others', async () => {
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ });
- marker: marker,
- options: {},
- expireTimeMs: null,
- },
- explanation:
- "User is an admin in the record's studio.",
- });
- });
+ const result = (await controller.grantEntitlement({
+ userId: userId,
+ grantingUserId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName,
+ expireTimeMs: 999,
+ })) as GrantEntitlementSuccess;
- it('should allow the action if the user was granted the admin role in the record', async () => {
- await store.assignSubjectRole(
- recordName,
- userId,
- 'user',
- {
- expireTimeMs: null,
- role: ADMIN_ROLE_NAME,
- }
- );
+ expect(result).toEqual({
+ success: true,
+ grantId: expect.any(String),
+ feature: 'data',
+ });
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: userId,
- });
+ expect(store.grantedPackageEntitlements).toEqual([
+ {
+ id: 'entitlementId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ {
+ id: result.grantId,
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ ]);
+ });
- const result = await controller.authorizeSubject(
- context,
- {
- subjectId: userId,
- subjectType: 'user',
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- }
- );
+ it('should reject the request if the granting user doesnt match the current user', async () => {
+ const result = (await controller.grantEntitlement({
+ userId: userId,
+ grantingUserId: 'different',
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ })) as GrantEntitlementSuccess;
- expect(result).toEqual({
- success: true,
- recordName: recordName,
- permission: {
- id: null,
- recordName,
- userId: null,
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage: 'You are not authorized to perform this action.',
+ });
- subjectType: 'role',
- subjectId: ADMIN_ROLE_NAME,
+ expect(store.grantedPackageEntitlements).toEqual([]);
+ });
- // resourceKind and action are null because this permission
- // applies to all resources and actions.
- resourceKind: null,
- action: null,
+ it('should allow the request if the current user is a super user', async () => {
+ const result = (await controller.grantEntitlement({
+ userId: userId,
+ userRole: 'superUser',
+ grantingUserId: 'different',
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ })) as GrantEntitlementSuccess;
- marker: marker,
- options: {},
- expireTimeMs: null,
- },
- explanation: 'User is assigned the "admin" role.',
- });
- });
+ expect(result).toEqual({
+ success: true,
+ grantId: expect.any(String),
+ feature: 'data',
+ });
- it('should allow the action if the inst was granted the admin role in the record', async () => {
- await store.assignSubjectRole(
- recordName,
- '/myInst',
- 'inst',
- {
- expireTimeMs: null,
- role: ADMIN_ROLE_NAME,
- }
- );
+ expect(store.grantedPackageEntitlements).toEqual([
+ {
+ id: result.grantId,
+ userId: 'different',
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ ]);
+ });
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: userId,
- });
+ it('should allow the request if the current user is the system', async () => {
+ const result = (await controller.grantEntitlement({
+ userId: null,
+ userRole: 'system',
+ grantingUserId: 'different',
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ })) as GrantEntitlementSuccess;
- const result = await controller.authorizeSubject(
- context,
- {
- subjectId: '/myInst',
- subjectType: 'inst',
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- }
- );
+ expect(result).toEqual({
+ success: true,
+ grantId: expect.any(String),
+ feature: 'data',
+ });
- expect(result).toEqual({
- success: true,
- recordName: recordName,
- permission: {
- id: null,
- recordName,
- userId: null,
+ expect(store.grantedPackageEntitlements).toEqual([
+ {
+ id: result.grantId,
+ userId: 'different',
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ ]);
+ });
+ });
- subjectType: 'role',
- subjectId: ADMIN_ROLE_NAME,
+ describe('revokeEntitlement()', () => {
+ const packageRecordName = 'packageRecord';
+ const packageAddress = 'packageAddress';
+ const packageKey = version(1);
- // resourceKind and action are null because this permission
- // applies to all resources and actions.
- resourceKind: null,
- action: null,
+ const originalDateNow = Date.now;
+ let dateNowMock: jest.Mock;
- marker: marker,
- options: {},
- expireTimeMs: null,
- },
- explanation: 'Inst is assigned the "admin" role.',
- });
- });
+ beforeEach(async () => {
+ dateNowMock = Date.now = jest.fn(() => 750);
- it('should allow the action if the role is the admin role', async () => {
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: userId,
- });
+ await services.records.createRecord({
+ recordName: packageRecordName,
+ userId: ownerId,
+ ownerId: ownerId,
+ });
- const result = await controller.authorizeSubject(
- context,
- {
- subjectId: ADMIN_ROLE_NAME,
- subjectType: 'role',
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- }
- );
+ await services.packagesStore.createItem(packageRecordName, {
+ id: 'packageId',
+ address: packageAddress,
+ markers: [PRIVATE_MARKER],
+ });
- expect(result).toEqual({
- success: true,
- recordName: recordName,
- permission: {
- id: null,
- recordName,
- userId: null,
+ await services.packageVersionStore.createItem(packageRecordName, {
+ id: 'packageVersionId',
+ address: packageAddress,
+ key: packageKey,
+ auxFileName: 'auxFileName',
+ auxSha256: 'sha256',
+ createdAtMs: 123,
+ createdFile: true,
+ description: '',
+ sha256: 'sha256',
+ sizeInBytes: 123,
+ requiresReview: false,
+ entitlements: [
+ {
+ feature: 'data',
+ scope: 'personal',
+ },
+ ],
+ markers: [PUBLIC_READ_MARKER],
+ });
- subjectType: 'role',
- subjectId: ADMIN_ROLE_NAME,
+ await store.saveGrantedPackageEntitlement({
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ });
+ });
- // resourceKind and action are null because this permission
- // applies to all resources and actions.
- resourceKind: null,
- action: null,
+ afterEach(() => {
+ Date.now = originalDateNow;
+ });
- marker: marker,
- options: {},
- expireTimeMs: null,
- },
- explanation: 'Role is "admin".',
- });
- });
+ it('should revoke the given entitlement', async () => {
+ const result = (await controller.revokeEntitlement({
+ userId: userId,
+ grantId: 'grantId',
+ })) as RevokeEntitlementSuccess;
- it('should allow the action if the user is a superUser', async () => {
- const user = await store.findUser(userId);
- await store.saveUser({
- ...user,
- role: 'superUser',
- });
+ expect(result).toEqual({
+ success: true,
+ });
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: userId,
- });
+ const entitlement = store.grantedPackageEntitlements[0];
+ expect(entitlement).toEqual({
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: 750,
+ });
+ });
- const result = await controller.authorizeSubject(
- context,
- {
- subjectId: userId,
- subjectType: 'user',
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- }
- );
+ it('should do nothing if the entitlement cant be found', async () => {
+ const result = await controller.revokeEntitlement({
+ userId: userId,
+ grantId: 'missing',
+ });
- expect(result).toEqual({
- success: true,
- recordName: recordName,
- permission: {
- id: null,
- recordName,
- userId: null,
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_found',
+ errorMessage: 'The entitlement grant could not be found.',
+ });
- // The role that record owners recieve
- subjectType: 'role',
- subjectId: ADMIN_ROLE_NAME,
+ expect(store.grantedPackageEntitlements).toEqual([
+ {
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ ]);
+ });
- // resourceKind and action are null because this permission
- // applies to all resources and actions.
- resourceKind: null,
- action: null,
+ it('should reject the request if the user ID is different', async () => {
+ const result = await controller.revokeEntitlement({
+ userId: 'WRONG',
+ grantId: 'grantId',
+ });
- marker: marker,
- options: {},
- expireTimeMs: null,
- },
- explanation: 'User is a superUser.',
- });
- });
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage: 'You are not authorized to perform this action.',
+ });
- if (resourceId) {
- it('should allow the action if the user was granted access to the resource', async () => {
- const permission =
- (await store.assignPermissionToSubjectAndResource(
- recordName,
- 'user',
- userId,
- resourceKind,
- resourceId,
- action,
- {},
- null
- )) as AssignPermissionToSubjectAndResourceSuccess;
+ expect(store.grantedPackageEntitlements).toEqual([
+ {
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ ]);
+ });
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: userId,
- });
+ it('should allow the request if the user is a super user', async () => {
+ const result = await controller.revokeEntitlement({
+ userId: 'WRONG',
+ userRole: 'superUser',
+ grantId: 'grantId',
+ });
- const result = await controller.authorizeSubject(
- context,
- {
- subjectId: userId,
- subjectType: 'user',
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- }
- );
+ expect(result).toEqual({
+ success: true,
+ });
- expect(result).toEqual({
- success: true,
- recordName: recordName,
- permission: permission.permissionAssignment,
- explanation: `User was granted access to resource "resourceId" by "${permission.permissionAssignment.id}"`,
- });
- });
+ expect(store.grantedPackageEntitlements).toEqual([
+ {
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: 750,
+ },
+ ]);
+ });
- it('should allow the action if the user was granted access to the resource via a role', async () => {
- await store.assignSubjectRole(
- recordName,
- userId,
- 'user',
- {
- role: 'myRole',
- expireTimeMs: null,
- }
- );
+ it('should allow the request if the user is the system', async () => {
+ const result = await controller.revokeEntitlement({
+ userId: null,
+ userRole: 'system',
+ grantId: 'grantId',
+ });
- const permission =
- (await store.assignPermissionToSubjectAndResource(
- recordName,
- 'role',
- 'myRole',
- resourceKind,
- resourceId,
- action,
- {},
- null
- )) as AssignPermissionToSubjectAndResourceSuccess;
+ expect(result).toEqual({
+ success: true,
+ });
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: userId,
- });
+ expect(store.grantedPackageEntitlements).toEqual([
+ {
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: 750,
+ },
+ ]);
+ });
- const result = await controller.authorizeSubject(
- context,
- {
- subjectId: userId,
- subjectType: 'user',
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- }
- );
+ it('should do nothing if the grant is already revoked', async () => {
+ await store.saveGrantedPackageEntitlement({
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: 501,
+ });
- expect(result).toEqual({
- success: true,
- recordName: recordName,
- permission: permission.permissionAssignment,
- explanation: `User was granted access to resource "resourceId" by "${permission.permissionAssignment.id}" using role "myRole"`,
- });
- });
- } else {
- // permissions that do not provide a resource ID are not allowed to provide multiple markers
- it('should reject the action if given more than one marker', async () => {
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: userId,
- });
+ const result = await controller.revokeEntitlement({
+ userId: userId,
+ grantId: 'grantId',
+ });
- const result = await controller.authorizeSubject(
- context,
- {
- subjectId: userId,
- subjectType: 'user',
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker, 'marker2'],
- }
- );
+ expect(result).toEqual({
+ success: true,
+ });
- expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage: `The "${action}" action cannot be used with multiple markers.`,
- reason: {
- type: 'too_many_markers',
- },
- });
- });
- }
+ expect(store.grantedPackageEntitlements).toEqual([
+ {
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: 501,
+ },
+ ]);
+ });
+ });
- it('should allow the action if the user was granted access to the marker', async () => {
- const permission =
- (await store.assignPermissionToSubjectAndMarker(
- recordName,
- 'user',
- userId,
- resourceKind,
- marker,
- action,
- {},
- null
- )) as AssignPermissionToSubjectAndMarkerSuccess;
+ describe('listGrantedEntitlements()', () => {
+ const packageRecordName = 'packageRecord';
+ const packageAddress = 'packageAddress';
+ const packageKey = version(1);
+
+ const originalDateNow = Date.now;
+ let dateNowMock: jest.Mock;
+
+ beforeEach(async () => {
+ dateNowMock = Date.now = jest.fn(() => 750);
+
+ await services.records.createRecord({
+ recordName: packageRecordName,
+ userId: ownerId,
+ ownerId: ownerId,
+ });
+
+ await services.packagesStore.createItem(packageRecordName, {
+ id: 'packageId',
+ address: packageAddress,
+ markers: [PRIVATE_MARKER],
+ });
+
+ await services.packageVersionStore.createItem(packageRecordName, {
+ id: 'packageVersionId',
+ address: packageAddress,
+ key: packageKey,
+ auxFileName: 'auxFileName',
+ auxSha256: 'sha256',
+ createdAtMs: 123,
+ createdFile: true,
+ description: '',
+ sha256: 'sha256',
+ sizeInBytes: 123,
+ requiresReview: false,
+ entitlements: [
+ {
+ feature: 'data',
+ scope: 'personal',
+ },
+ ],
+ markers: [PUBLIC_READ_MARKER],
+ });
+
+ await services.packagesStore.createItem(packageRecordName, {
+ id: 'packageId2',
+ address: 'otherPackage',
+ markers: [PRIVATE_MARKER],
+ });
+
+ await store.saveGrantedPackageEntitlement({
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ });
+
+ await store.saveGrantedPackageEntitlement({
+ id: 'grantId2',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'file',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ });
+
+ await store.saveGrantedPackageEntitlement({
+ id: 'grantId3',
+ userId: userId,
+ packageId: 'packageId2',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 1234,
+ createdAtMs: 512,
+ revokeTimeMs: null,
+ });
+
+ await store.saveGrantedPackageEntitlement({
+ id: 'grantId4',
+ userId: userId,
+ packageId: 'packageId2',
+ feature: 'file',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 1234,
+ createdAtMs: 512,
+ revokeTimeMs: null,
+ });
+ });
+
+ afterEach(() => {
+ Date.now = originalDateNow;
+ });
+
+ it('should list the granted entitlements for the given package', async () => {
+ const result = (await controller.listGrantedEntitlements({
+ userId: userId,
+ packageId: 'packageId',
+ })) as RevokeEntitlementSuccess;
+
+ expect(result).toEqual({
+ success: true,
+ grants: [
+ {
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ {
+ id: 'grantId2',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'file',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ ],
+ });
+ });
+
+ it('should omit revoked entitlements', async () => {
+ await store.saveGrantedPackageEntitlement({
+ id: 'grantId5',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'permissions',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 1234,
+ createdAtMs: 512,
+ revokeTimeMs: 999,
+ });
+
+ const result = (await controller.listGrantedEntitlements({
+ userId: userId,
+ packageId: 'packageId',
+ })) as RevokeEntitlementSuccess;
+
+ expect(result).toEqual({
+ success: true,
+ grants: [
+ {
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ {
+ id: 'grantId2',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'file',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ ],
+ });
+ });
+
+ it('should omit expired entitlements', async () => {
+ await store.saveGrantedPackageEntitlement({
+ id: 'grantId6',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'ai',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 300,
+ createdAtMs: 100,
+ revokeTimeMs: null,
+ });
+
+ const result = (await controller.listGrantedEntitlements({
+ userId: userId,
+ packageId: 'packageId',
+ })) as RevokeEntitlementSuccess;
+
+ expect(result).toEqual({
+ success: true,
+ grants: [
+ {
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ {
+ id: 'grantId2',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'file',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ ],
+ });
+ });
+
+ it('should list the granted entitlements for the user', async () => {
+ const result = (await controller.listGrantedEntitlements({
+ userId: userId,
+ })) as RevokeEntitlementSuccess;
+
+ expect(result).toEqual({
+ success: true,
+ grants: [
+ {
+ id: 'grantId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ {
+ id: 'grantId2',
+ userId: userId,
+ packageId: 'packageId',
+ feature: 'file',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ createdAtMs: 500,
+ revokeTimeMs: null,
+ },
+ {
+ id: 'grantId3',
+ userId: userId,
+ packageId: 'packageId2',
+ feature: 'data',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 1234,
+ createdAtMs: 512,
+ revokeTimeMs: null,
+ },
+ {
+ id: 'grantId4',
+ userId: userId,
+ packageId: 'packageId2',
+ feature: 'file',
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 1234,
+ createdAtMs: 512,
+ revokeTimeMs: null,
+ },
+ ],
+ });
+ });
+ // const result = await controller.revokeEntitlement({
+ // userId: userId,
+ // grantId: 'missing',
+ // });
+
+ // expect(result).toEqual({
+ // success: false,
+ // errorCode: 'not_found',
+ // errorMessage: 'The entitlement grant could not be found.',
+ // });
+
+ // expect(store.grantedPackageEntitlements).toEqual([
+ // {
+ // id: 'grantId',
+ // userId: userId,
+ // packageId: 'packageId',
+ // feature: 'data',
+ // scope: 'designated',
+ // recordName: userId,
+ // expireTimeMs: 999,
+ // createdAtMs: 500,
+ // revokeTimeMs: null,
+ // },
+ // ]);
+ // });
+
+ // it('should reject the request if the user ID is different', async () => {
+ // const result = await controller.revokeEntitlement({
+ // userId: 'WRONG',
+ // grantId: 'grantId',
+ // });
+
+ // expect(result).toEqual({
+ // success: false,
+ // errorCode: 'not_authorized',
+ // errorMessage: 'You are not authorized to perform this action.',
+ // });
+
+ // expect(store.grantedPackageEntitlements).toEqual([
+ // {
+ // id: 'grantId',
+ // userId: userId,
+ // packageId: 'packageId',
+ // feature: 'data',
+ // scope: 'designated',
+ // recordName: userId,
+ // expireTimeMs: 999,
+ // createdAtMs: 500,
+ // revokeTimeMs: null,
+ // },
+ // ]);
+ // });
+
+ // it('should do nothing if the grant is already revoked', async () => {
+ // await store.saveGrantedPackageEntitlement({
+ // id: 'grantId',
+ // userId: userId,
+ // packageId: 'packageId',
+ // feature: 'data',
+ // scope: 'designated',
+ // recordName: userId,
+ // expireTimeMs: 999,
+ // createdAtMs: 500,
+ // revokeTimeMs: 501,
+ // });
+
+ // const result = await controller.revokeEntitlement({
+ // userId: userId,
+ // grantId: 'grantId',
+ // });
+
+ // expect(result).toEqual({
+ // success: true,
+ // });
+
+ // expect(store.grantedPackageEntitlements).toEqual([
+ // {
+ // id: 'grantId',
+ // userId: userId,
+ // packageId: 'packageId',
+ // feature: 'data',
+ // scope: 'designated',
+ // recordName: userId,
+ // expireTimeMs: 999,
+ // createdAtMs: 500,
+ // revokeTimeMs: 501,
+ // },
+ // ]);
+ // });
+ });
+
+ describe('authorizeSubject()', () => {
+ const adminOrGrantedActionCases: [ActionKinds, string | null][] = [
+ ['create', 'resourceId'],
+ ['update', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['read', 'resourceId'],
+ ['list', null],
+ ['updateData', 'resourceId'],
+ ['increment', 'resourceId'],
+ ['count', 'resourceId'],
+ ['sendAction', 'resourceId'],
+ ['assign', 'resourceId'],
+ ['unassign', 'resourceId'],
+ ['grantPermission', 'resourceId'],
+ ['revokePermission', 'resourceId'],
+ ['grant', 'resourceId'],
+ ['revoke', 'resourceId'],
+ ['run', 'resourceId'],
+ ['send', 'resourceId'],
+ ['subscribe', 'resourceId'],
+ ['listSubscriptions', 'resourceId'],
+ ['purchase', 'resourceId'],
+ ['cancel', 'resourceId'],
+ ['approve', 'resourceId'],
+ ];
+
+ const moderatorActionCases: [ActionKinds][] = [
+ ['read'],
+ ['list'],
+ ['count'],
+ ['listSubscriptions'],
+ ['purchase'],
+ ];
+
+ const adminOrGrantedResourceKindCases: [ResourceKinds][] = [
+ ['data'],
+ ['file'],
+ ['event'],
+ ['inst'],
+ ['marker'],
+ ['role'],
+ ['loom'],
+ ['ai.sloyd'],
+ ['ai.hume'],
+ ['webhook'],
+ ['notification'],
+ ['package'],
+ ['package.version'],
+ ['search'],
+ ['database'],
+ ['purchasableItem'],
+ ['contract'],
+ ];
+
+ // Admins can perform all actions on all resources
+ describe.each(adminOrGrantedResourceKindCases)('%s', (resourceKind) => {
+ describe.each(adminOrGrantedActionCases)(
+ '%s',
+ (action, resourceId) => {
+ const marker = 'secret';
+ it('should allow the action if the user is the owner of the record', async () => {
const context =
await controller.constructAuthorizationContext({
recordKeyOrRecordName: recordName,
@@ -3019,7 +3475,7 @@ describe('PolicyController', () => {
const result = await controller.authorizeSubject(
context,
{
- subjectId: userId,
+ subjectId: ownerId,
subjectType: 'user',
resourceKind: resourceKind,
action: action,
@@ -3031,73 +3487,83 @@ describe('PolicyController', () => {
expect(result).toEqual({
success: true,
recordName: recordName,
- permission: permission.permissionAssignment,
- explanation: `User was granted access to marker "${marker}" by "${permission.permissionAssignment.id}"`,
+ permission: {
+ id: null,
+ recordName,
+ userId: null,
+
+ // The role that record owners recieve
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: null,
+ action: null,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: 'User is the owner of the record.',
});
});
- it('should support markers with paths', async () => {
- const permission =
- (await store.assignPermissionToSubjectAndMarker(
- recordName,
- 'user',
- userId,
- resourceKind,
- marker,
- action,
- {},
- null
- )) as AssignPermissionToSubjectAndMarkerSuccess;
-
+ it('should allow the action if the user is an admin of the studio', async () => {
const context =
await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
+ recordKeyOrRecordName: studioRecord,
userId: userId,
});
const result = await controller.authorizeSubject(
context,
{
- subjectId: userId,
+ subjectId: ownerId,
subjectType: 'user',
resourceKind: resourceKind,
action: action,
resourceId: resourceId,
- markers: ['secret:tag'],
+ markers: [marker],
}
);
expect(result).toEqual({
success: true,
- recordName: recordName,
- permission: permission.permissionAssignment,
- explanation: `User was granted access to marker "${marker}" by "${permission.permissionAssignment.id}"`,
- });
- });
+ recordName: studioRecord,
+ permission: {
+ id: null,
+ recordName: studioRecord,
+ userId: null,
- it('should allow the action if the user was granted access to the marker via a role', async () => {
- await store.assignSubjectRole(
- recordName,
- userId,
- 'user',
+ // The role that admins recieve automatically
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // Null because admins have all access in a studio
+ resourceKind: null,
+ action: null,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation:
+ "User is an admin in the record's studio.",
+ });
+ });
+
+ it('should allow the action if the user was granted the admin role in the record', async () => {
+ await store.assignSubjectRole(
+ recordName,
+ userId,
+ 'user',
{
- role: 'myRole',
expireTimeMs: null,
+ role: ADMIN_ROLE_NAME,
}
);
- const permission =
- (await store.assignPermissionToSubjectAndMarker(
- recordName,
- 'role',
- 'myRole',
- resourceKind,
- marker,
- action,
- {},
- null
- )) as AssignPermissionToSubjectAndMarkerSuccess;
-
const context =
await controller.constructAuthorizationContext({
recordKeyOrRecordName: recordName,
@@ -3119,12 +3585,38 @@ describe('PolicyController', () => {
expect(result).toEqual({
success: true,
recordName: recordName,
- permission: permission.permissionAssignment,
- explanation: `User was granted access to marker "${marker}" by "${permission.permissionAssignment.id}" using role "myRole"`,
+ permission: {
+ id: null,
+ recordName,
+ userId: null,
+
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: null,
+ action: null,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: 'User is assigned the "admin" role.',
});
});
- it('should return not_logged_in if given a null user ID', async () => {
+ it('should allow the action if the inst was granted the admin role in the record', async () => {
+ await store.assignSubjectRole(
+ recordName,
+ '/myInst',
+ 'inst',
+ {
+ expireTimeMs: null,
+ role: ADMIN_ROLE_NAME,
+ }
+ );
+
const context =
await controller.constructAuthorizationContext({
recordKeyOrRecordName: recordName,
@@ -3134,8 +3626,8 @@ describe('PolicyController', () => {
const result = await controller.authorizeSubject(
context,
{
- subjectId: null,
- subjectType: 'user',
+ subjectId: '/myInst',
+ subjectType: 'inst',
resourceKind: resourceKind,
action: action,
resourceId: resourceId,
@@ -3144,26 +3636,61 @@ describe('PolicyController', () => {
);
expect(result).toEqual({
- success: false,
- errorCode: 'not_logged_in',
- errorMessage:
- 'The user must be logged in. Please provide a sessionKey or a recordKey.',
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName,
+ userId: null,
+
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: null,
+ action: null,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: 'Inst is assigned the "admin" role.',
});
});
- it('should return not_authorized if given a null user ID and configured to do so', async () => {
+ it('should allow the action if the private inst was granted the admin role in the record', async () => {
+ await services.recordsStore.addRecord({
+ name: 'otherRecord',
+ ownerId: userId,
+ secretHashes: [],
+ secretSalt: '',
+ studioId: null,
+ });
+ await store.assignSubjectRole(
+ recordName,
+ formatInstId('otherRecord', 'myInst'),
+ 'inst',
+ {
+ expireTimeMs: null,
+ role: ADMIN_ROLE_NAME,
+ }
+ );
+
const context =
await controller.constructAuthorizationContext({
recordKeyOrRecordName: recordName,
userId: userId,
- sendNotLoggedIn: false,
});
const result = await controller.authorizeSubject(
context,
{
- subjectId: null,
- subjectType: 'user',
+ subjectId: formatInstId(
+ 'otherRecord',
+ 'myInst'
+ ),
+ subjectType: 'inst',
resourceKind: resourceKind,
action: action,
resourceId: resourceId,
@@ -3172,23 +3699,79 @@ describe('PolicyController', () => {
);
expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
- reason: {
- type: 'missing_permission',
- recordName: recordName,
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName,
+ userId: null,
+
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: null,
+ action: null,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: 'Inst is assigned the "admin" role.',
+ });
+ });
+
+ it('should allow the action if the role is the admin role', async () => {
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: ADMIN_ROLE_NAME,
+ subjectType: 'role',
resourceKind: resourceKind,
action: action,
resourceId: resourceId,
- subjectType: 'user',
- subjectId: null,
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName,
+ userId: null,
+
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: null,
+ action: null,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
},
+ explanation: 'Role is "admin".',
});
});
- it('should deny the action if the user is not the owner of the record', async () => {
+ it('should allow the action if the user is a superUser', async () => {
+ const user = await store.findUser(userId);
+ await store.saveUser({
+ ...user,
+ role: 'superUser',
+ });
+
const context =
await controller.constructAuthorizationContext({
recordKeyOrRecordName: recordName,
@@ -3208,42 +3791,192 @@ describe('PolicyController', () => {
);
expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
- reason: {
- type: 'missing_permission',
- recordName: recordName,
- subjectType: 'user',
- subjectId: userId,
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName,
+ userId: null,
+
+ // The role that record owners recieve
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: null,
+ action: null,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
},
+ explanation: 'User is a superUser.',
});
});
- if (moderatorActionCases.some(([a]) => action === a)) {
- it('should allow the action if the user is a moderator', async () => {
- const user = await store.findUser(userId);
- await store.saveUser({
- ...user,
- role: 'moderator',
+ it('should allow the action if the user is a superUser but the subject is not the user', async () => {
+ const user = await store.findUser(userId);
+ await store.saveUser({
+ ...user,
+ role: 'superUser',
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
});
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: userId,
- });
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: 'differentUser',
+ subjectType: 'user',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
- const result = await controller.authorizeSubject(
- context,
- {
- subjectId: userId,
- subjectType: 'user',
- resourceKind: resourceKind,
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName,
+ userId: null,
+
+ // The role that record owners recieve
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: null,
+ action: null,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: 'User is a superUser.',
+ });
+ });
+
+ it('should not allow the action if the user is a superUser but the subject is an inst', async () => {
+ const user = await store.findUser(userId);
+ await store.saveUser({
+ ...user,
+ role: 'superUser',
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: '/inst',
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName,
+ subjectType: 'inst',
+ subjectId: '/inst',
+ action: action,
+ resourceKind: resourceKind,
+ resourceId: resourceId,
+ },
+ });
+ });
+
+ it('should allow the action if the system is requesting it', async () => {
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userRole: 'system',
+ });
+
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName,
+ userId: null,
+
+ // The role that record owners recieve
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: null,
+ action: null,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: 'The system is requesting the action.',
+ });
+ });
+
+ if (resourceId) {
+ it('should allow the action if the user was granted access to the resource', async () => {
+ const permission =
+ (await store.assignPermissionToSubjectAndResource(
+ recordName,
+ 'user',
+ userId,
+ resourceKind,
+ resourceId,
+ action,
+ {},
+ null
+ )) as AssignPermissionToSubjectAndResourceSuccess;
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: resourceKind,
action: action,
resourceId: resourceId,
markers: [marker],
@@ -3253,35 +3986,62 @@ describe('PolicyController', () => {
expect(result).toEqual({
success: true,
recordName: recordName,
- permission: {
- id: null,
+ permission: permission.permissionAssignment,
+ explanation: `User was granted access to resource "resourceId" by "${permission.permissionAssignment.id}"`,
+ });
+ });
+
+ it('should allow the action if the user was granted access to the resource via a role', async () => {
+ await store.assignSubjectRole(
+ recordName,
+ userId,
+ 'user',
+ {
+ role: 'myRole',
+ expireTimeMs: null,
+ }
+ );
+
+ const permission =
+ (await store.assignPermissionToSubjectAndResource(
recordName,
- userId: null,
+ 'role',
+ 'myRole',
+ resourceKind,
+ resourceId,
+ action,
+ {},
+ null
+ )) as AssignPermissionToSubjectAndResourceSuccess;
- // The role that record owners recieve
- subjectType: 'role',
- subjectId: ADMIN_ROLE_NAME,
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
- // resourceKind and action are null because this permission
- // applies to all resources and actions.
- resourceKind: null,
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: resourceKind,
action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
- marker: marker,
- options: {},
- expireTimeMs: null,
- },
- explanation: 'User is a moderator.',
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: permission.permissionAssignment,
+ explanation: `User was granted access to resource "resourceId" by "${permission.permissionAssignment.id}" using role "myRole"`,
});
});
} else {
- it('should deny the action even if the user is a moderator', async () => {
- const user = await store.findUser(userId);
- await store.saveUser({
- ...user,
- role: 'moderator',
- });
-
+ // permissions that do not provide a resource ID are not allowed to provide multiple markers
+ it('should reject the action if given more than one marker', async () => {
const context =
await controller.constructAuthorizationContext({
recordKeyOrRecordName: recordName,
@@ -3296,255 +4056,611 @@ describe('PolicyController', () => {
resourceKind: resourceKind,
action: action,
resourceId: resourceId,
- markers: [marker],
+ markers: [marker, 'marker2'],
}
);
expect(result).toEqual({
success: false,
errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
+ errorMessage: `The "${action}" action cannot be used with multiple markers.`,
reason: {
- type: 'missing_permission',
- recordName: recordName,
- subjectType: 'user',
- subjectId: userId,
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
+ type: 'too_many_markers',
},
});
});
}
- }
- );
- });
- const recordKeyResourceKindCases: [
- ResourceKinds,
- [ActionKinds, string | null][]
- ][] = [
- [
- 'data',
- [
- ['create', 'resourceId'],
- ['update', 'resourceId'],
- ['delete', 'resourceId'],
- ['read', 'resourceId'],
- ['list', null],
- ],
- ],
- [
- 'file',
- [
- ['create', 'resourceId'],
- ['delete', 'resourceId'],
- ['read', 'resourceId'],
- ],
- ],
- [
- 'event',
- [
- ['create', 'resourceId'],
- ['increment', 'resourceId'],
- ['count', 'resourceId'],
- ['update', 'resourceId'],
- ],
- ],
- [
- 'inst',
- [
- ['create', 'resourceId'],
- ['update', 'resourceId'],
- ['delete', 'resourceId'],
- ['read', 'resourceId'],
- ['updateData', 'resourceId'],
- ['sendAction', 'resourceId'],
- ],
- ],
- ];
-
- const recordKeySubjectTypeCases: [SubjectType, string][] = [
- ['user', 'subjectId'],
- ['inst', '/subjectId'],
- ];
-
- describe.each(recordKeyResourceKindCases)(
- '%s',
- (resourceKind, actions) => {
- describe.each(actions)('%s', (action, resourceId) => {
- describe.each(recordKeySubjectTypeCases)(
- 'subject %s',
- (subjectType, subjectId) => {
- const marker = 'marker';
-
- it('should allow the action if using a recordKey', async () => {
- const context =
- await controller.constructAuthorizationContext(
- {
- recordKeyOrRecordName: recordKey,
- userId: userId,
- }
- );
+ it('should allow the action if the user was granted access to the marker', async () => {
+ const permission =
+ (await store.assignPermissionToSubjectAndMarker(
+ recordName,
+ 'user',
+ userId,
+ resourceKind,
+ marker,
+ action,
+ {},
+ null
+ )) as AssignPermissionToSubjectAndMarkerSuccess;
- const result =
- await controller.authorizeSubject(context, {
- subjectId: subjectId,
- subjectType: subjectType,
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- });
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
- expect(result).toEqual({
- success: true,
- recordName: recordName,
- permission: {
- id: null,
- recordName,
- userId: null,
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
- // The role that record keys recieve
- subjectType: 'role',
- subjectId: ADMIN_ROLE_NAME,
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: permission.permissionAssignment,
+ explanation: `User was granted access to marker "${marker}" by "${permission.permissionAssignment.id}"`,
+ });
+ });
- // This permission may only apply to this specific resource kind
- // or action
- resourceKind: resourceKind,
- action: action,
+ it('should support markers with paths', async () => {
+ const permission =
+ (await store.assignPermissionToSubjectAndMarker(
+ recordName,
+ 'user',
+ userId,
+ resourceKind,
+ marker,
+ action,
+ {},
+ null
+ )) as AssignPermissionToSubjectAndMarkerSuccess;
- marker: marker,
- options: {},
- expireTimeMs: null,
- },
- explanation: 'A recordKey was used.',
- });
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
});
- if (subjectType === 'user') {
- it('should deny the action if the user is not logged in but is using a subjectfull record key', async () => {
- const context =
- await controller.constructAuthorizationContext(
- {
- recordKeyOrRecordName:
- recordKey,
- userId: userId,
- }
- );
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: ['secret:tag'],
+ }
+ );
- const result =
- await controller.authorizeSubject(
- context,
- {
- subjectId: null,
- subjectType: subjectType,
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- }
- );
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: permission.permissionAssignment,
+ explanation: `User was granted access to marker "${marker}" by "${permission.permissionAssignment.id}"`,
+ });
+ });
- expect(result).toEqual({
- success: false,
- errorCode: 'not_logged_in',
- errorMessage:
- 'You must be logged in in order to use this record key.',
- });
- });
+ it('should allow the action if the user was granted access to the marker via a role', async () => {
+ await store.assignSubjectRole(
+ recordName,
+ userId,
+ 'user',
+ {
+ role: 'myRole',
+ expireTimeMs: null,
+ }
+ );
- it('should allow the action if the user is not logged in but is using a subjectless record key', async () => {
- const testRecordKey =
- await createTestRecordKey(
- services,
- ownerId,
- recordName,
- 'subjectless'
- );
+ const permission =
+ (await store.assignPermissionToSubjectAndMarker(
+ recordName,
+ 'role',
+ 'myRole',
+ resourceKind,
+ marker,
+ action,
+ {},
+ null
+ )) as AssignPermissionToSubjectAndMarkerSuccess;
- const context =
- await controller.constructAuthorizationContext(
- {
- recordKeyOrRecordName:
- testRecordKey.recordKey,
- userId: userId,
- }
- );
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
- const result =
- await controller.authorizeSubject(
- context,
- {
- subjectId: null,
- subjectType: subjectType,
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- }
- );
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
- expect(result).toEqual({
- success: true,
- recordName: recordName,
- permission: {
- id: null,
- recordName,
- userId: null,
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: permission.permissionAssignment,
+ explanation: `User was granted access to marker "${marker}" by "${permission.permissionAssignment.id}" using role "myRole"`,
+ });
+ });
- // The role that record keys recieve
- subjectType: 'role',
- subjectId: ADMIN_ROLE_NAME,
+ it('should return not_logged_in if given a null user ID', async () => {
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
- // This permission may only apply to this specific resource kind
- // or action
- resourceKind: resourceKind,
- action: action,
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: null,
+ subjectType: 'user',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
- marker: marker,
- options: {},
- expireTimeMs: null,
- },
- explanation: 'A recordKey was used.',
- });
- });
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_logged_in',
+ errorMessage:
+ 'The user must be logged in. Please provide a sessionKey or a recordKey.',
+ });
+ });
+
+ it('should return not_authorized if given a null user ID and configured to do so', async () => {
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ sendNotLoggedIn: false,
+ });
+
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: null,
+ subjectType: 'user',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
}
- }
- );
- });
- }
- );
+ );
- const recordKeyResourceKindDenialCases: [
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ subjectType: 'user',
+ subjectId: null,
+ },
+ });
+ });
+
+ it('should deny the action if the user is not the owner of the record', async () => {
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ subjectType: 'user',
+ subjectId: userId,
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ },
+ });
+ });
+
+ if (moderatorActionCases.some(([a]) => action === a)) {
+ it('should allow the action if the user is a moderator', async () => {
+ const user = await store.findUser(userId);
+ await store.saveUser({
+ ...user,
+ role: 'moderator',
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName,
+ userId: null,
+
+ // The role that record owners recieve
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: null,
+ action: action,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: 'User is a moderator.',
+ });
+ });
+
+ it('should not allow the action if the user is a moderator but the subject is an inst', async () => {
+ const user = await store.findUser(userId);
+ await store.saveUser({
+ ...user,
+ role: 'moderator',
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: '/inst',
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName,
+ subjectType: 'inst',
+ subjectId: '/inst',
+ action: action,
+ resourceKind: resourceKind,
+ resourceId: resourceId,
+ },
+ });
+ });
+ } else {
+ it('should deny the action even if the user is a moderator', async () => {
+ const user = await store.findUser(userId);
+ await store.saveUser({
+ ...user,
+ role: 'moderator',
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(
+ context,
+ {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ subjectType: 'user',
+ subjectId: userId,
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ },
+ });
+ });
+ }
+ }
+ );
+ });
+
+ const recordKeyResourceKindCases: [
ResourceKinds,
[ActionKinds, string | null][]
][] = [
[
- 'file',
+ 'data',
[
+ ['create', 'resourceId'],
+ ['update', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['read', 'resourceId'],
['list', null],
- ['assign', 'resourceId'],
- ['unassign', 'resourceId'],
- ['grant', 'resourceId'],
- ['revoke', 'resourceId'],
- ['grantPermission', 'resourceId'],
- ['revokePermission', 'resourceId'],
- ['updateData', 'resourceId'],
- ['sendAction', 'resourceId'],
- ['count', 'resourceId'],
- ['increment', 'resourceId'],
+ ],
+ ],
+ [
+ 'file',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['read', 'resourceId'],
],
],
[
'event',
[
- ['list', null],
- ['assign', 'resourceId'],
- ['unassign', 'resourceId'],
- ['grant', 'resourceId'],
- ['revoke', 'resourceId'],
+ ['create', 'resourceId'],
+ ['increment', 'resourceId'],
+ ['count', 'resourceId'],
+ ['update', 'resourceId'],
+ ],
+ ],
+ [
+ 'inst',
+ [
+ ['create', 'resourceId'],
+ ['update', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['read', 'resourceId'],
+ ['updateData', 'resourceId'],
+ ['sendAction', 'resourceId'],
+ ],
+ ],
+ ];
+
+ const recordKeySubjectTypeCases: [SubjectType, string][] = [
+ ['user', 'subjectId'],
+ ['inst', '/subjectId'],
+ ];
+
+ describe.each(recordKeyResourceKindCases)(
+ '%s',
+ (resourceKind, actions) => {
+ describe.each(actions)('%s', (action, resourceId) => {
+ describe.each(recordKeySubjectTypeCases)(
+ 'subject %s',
+ (subjectType, subjectId) => {
+ const marker = 'marker';
+
+ it('should allow the action if using a recordKey', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName: recordKey,
+ userId: userId,
+ }
+ );
+
+ const result =
+ await controller.authorizeSubject(context, {
+ subjectId: subjectId,
+ subjectType: subjectType,
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ });
+
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName,
+ userId: null,
+
+ // The role that record keys recieve
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // This permission may only apply to this specific resource kind
+ // or action
+ resourceKind: resourceKind,
+ action: action,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: 'A recordKey was used.',
+ });
+ });
+
+ if (subjectType === 'user') {
+ it('should deny the action if the user is not logged in but is using a subjectfull record key', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordKey,
+ userId: userId,
+ }
+ );
+
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: null,
+ subjectType: subjectType,
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_logged_in',
+ errorMessage:
+ 'You must be logged in in order to use this record key.',
+ });
+ });
+
+ it('should allow the action if the user is not logged in but is using a subjectless record key', async () => {
+ const testRecordKey =
+ await createTestRecordKey(
+ services,
+ ownerId,
+ recordName,
+ 'subjectless'
+ );
+
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ testRecordKey.recordKey,
+ userId: userId,
+ }
+ );
+
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: null,
+ subjectType: subjectType,
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName,
+ userId: null,
+
+ // The role that record keys recieve
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // This permission may only apply to this specific resource kind
+ // or action
+ resourceKind: resourceKind,
+ action: action,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: 'A recordKey was used.',
+ });
+ });
+ }
+ }
+ );
+ });
+ }
+ );
+
+ const recordKeyResourceKindDenialCases: [
+ ResourceKinds,
+ [ActionKinds, string | null][]
+ ][] = [
+ [
+ 'file',
+ [
+ ['list', null],
+ ['assign', 'resourceId'],
+ ['unassign', 'resourceId'],
+ ['grant', 'resourceId'],
+ ['revoke', 'resourceId'],
+ ['grantPermission', 'resourceId'],
+ ['revokePermission', 'resourceId'],
+ ['updateData', 'resourceId'],
+ ['sendAction', 'resourceId'],
+ ['count', 'resourceId'],
+ ['increment', 'resourceId'],
+ ],
+ ],
+ [
+ 'event',
+ [
+ ['list', null],
+ ['assign', 'resourceId'],
+ ['unassign', 'resourceId'],
+ ['grant', 'resourceId'],
+ ['revoke', 'resourceId'],
['grantPermission', 'resourceId'],
['revokePermission', 'resourceId'],
['updateData', 'resourceId'],
@@ -3651,63 +4767,195 @@ describe('PolicyController', () => {
['listSubscriptions', 'resourceId'],
],
],
- ];
-
- const recordKeySubjectTypeDenialCases: [SubjectType, string][] = [
- ['user', 'subjectId'],
- ['inst', '/subjectId'],
- ];
-
- describe.each(recordKeyResourceKindDenialCases)(
- '%s',
- (resourceKind, actions) => {
- describe.each(actions)('%s', (action, resourceId) => {
- describe.each(recordKeySubjectTypeDenialCases)(
- 'subject %s',
- (subjectType, subjectId) => {
- const marker = 'marker';
-
- it('should deny the action if using a recordKey', async () => {
- const context =
- await controller.constructAuthorizationContext(
- {
- recordKeyOrRecordName: recordKey,
- userId: userId,
- }
- );
-
- const result =
- await controller.authorizeSubject(context, {
- subjectId: subjectId,
- subjectType: subjectType,
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
- });
-
- expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
- reason: {
- type: 'missing_permission',
- recordName: recordName,
- subjectType: subjectType,
- subjectId: subjectId,
- action: action,
- resourceKind: resourceKind,
- resourceId: resourceId,
- },
- });
- });
- }
- );
- });
- }
- );
-
+ [
+ 'package',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['list', null],
+ ['assign', 'resourceId'],
+ ['unassign', 'resourceId'],
+ ['grant', 'resourceId'],
+ ['revoke', 'resourceId'],
+ ['grantPermission', 'resourceId'],
+ ['revokePermission', 'resourceId'],
+ ['count', 'resourceId'],
+ ['increment', 'resourceId'],
+ ['run', 'resourceId'],
+ ['send', 'resourceId'],
+ ['subscribe', 'resourceId'],
+ ['listSubscriptions', 'resourceId'],
+ ],
+ ],
+ [
+ 'package.version',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['list', null],
+ ['assign', 'resourceId'],
+ ['unassign', 'resourceId'],
+ ['grant', 'resourceId'],
+ ['revoke', 'resourceId'],
+ ['grantPermission', 'resourceId'],
+ ['revokePermission', 'resourceId'],
+ ['count', 'resourceId'],
+ ['increment', 'resourceId'],
+ ['run', 'resourceId'],
+ ['send', 'resourceId'],
+ ['subscribe', 'resourceId'],
+ ['listSubscriptions', 'resourceId'],
+ ],
+ ],
+ [
+ 'search',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['list', null],
+ ['assign', 'resourceId'],
+ ['unassign', 'resourceId'],
+ ['grant', 'resourceId'],
+ ['revoke', 'resourceId'],
+ ['grantPermission', 'resourceId'],
+ ['revokePermission', 'resourceId'],
+ ['count', 'resourceId'],
+ ['increment', 'resourceId'],
+ ['run', 'resourceId'],
+ ['send', 'resourceId'],
+ ['subscribe', 'resourceId'],
+ ['listSubscriptions', 'resourceId'],
+ ],
+ ],
+ [
+ 'database',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['list', null],
+ ['assign', 'resourceId'],
+ ['unassign', 'resourceId'],
+ ['grant', 'resourceId'],
+ ['revoke', 'resourceId'],
+ ['grantPermission', 'resourceId'],
+ ['revokePermission', 'resourceId'],
+ ['count', 'resourceId'],
+ ['increment', 'resourceId'],
+ ['run', 'resourceId'],
+ ['send', 'resourceId'],
+ ['subscribe', 'resourceId'],
+ ['listSubscriptions', 'resourceId'],
+ ],
+ ],
+ [
+ 'purchasableItem',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['assign', 'resourceId'],
+ ['unassign', 'resourceId'],
+ ['grant', 'resourceId'],
+ ['revoke', 'resourceId'],
+ ['grantPermission', 'resourceId'],
+ ['revokePermission', 'resourceId'],
+ ['list', 'resourceId'],
+ ['updateData', 'resourceId'],
+ ['sendAction', 'resourceId'],
+ ['count', 'resourceId'],
+ ['increment', 'resourceId'],
+ ['purchase', 'resourceId'],
+ ],
+ ],
+ [
+ 'contract',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['assign', 'resourceId'],
+ ['unassign', 'resourceId'],
+ ['grant', 'resourceId'],
+ ['revoke', 'resourceId'],
+ ['grantPermission', 'resourceId'],
+ ['revokePermission', 'resourceId'],
+ ['list', 'resourceId'],
+ ['updateData', 'resourceId'],
+ ['sendAction', 'resourceId'],
+ ['count', 'resourceId'],
+ ['increment', 'resourceId'],
+ ['purchase', 'resourceId'],
+ ['cancel', 'resourceId'],
+ ['approve', 'resourceId'],
+ ],
+ ],
+ ];
+
+ const recordKeySubjectTypeDenialCases: [SubjectType, string][] = [
+ ['user', 'subjectId'],
+ ['inst', '/subjectId'],
+ ];
+
+ describe.each(recordKeyResourceKindDenialCases)(
+ '%s',
+ (resourceKind, actions) => {
+ describe.each(actions)('%s', (action, resourceId) => {
+ describe.each(recordKeySubjectTypeDenialCases)(
+ 'subject %s',
+ (subjectType, subjectId) => {
+ const marker = 'marker';
+
+ it('should deny the action if using a recordKey', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName: recordKey,
+ userId: userId,
+ }
+ );
+
+ const result =
+ await controller.authorizeSubject(context, {
+ subjectId: subjectId,
+ subjectType: subjectType,
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ });
+
+ expect(result).toMatchObject({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ subjectType: subjectType,
+ subjectId: subjectId,
+ action: action,
+ resourceKind: resourceKind,
+ resourceId: resourceId,
+ },
+ });
+ });
+ }
+ );
+ });
+ }
+ );
+
const studioMemberResourceKindCases: [
ResourceKinds,
[ActionKinds, string | null][]
@@ -3770,6 +5018,27 @@ describe('PolicyController', () => {
['run', 'resourceId'],
],
],
+ [
+ 'package',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'package.version',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['run', 'resourceId'],
+ ['list', null],
+ ],
+ ],
];
describe.each(studioMemberResourceKindCases)(
@@ -3944,7 +5213,7 @@ describe('PolicyController', () => {
}
);
- expect(result).toEqual({
+ expect(result).toMatchObject({
success: false,
errorCode: 'not_authorized',
errorMessage:
@@ -4099,6 +5368,7 @@ describe('PolicyController', () => {
['sendAction', 'resourceId'],
['count', 'resourceId'],
['increment', 'resourceId'],
+ ['purchase', 'resourceId'],
],
],
[
@@ -4112,6 +5382,7 @@ describe('PolicyController', () => {
['revokePermission', 'resourceId'],
['updateData', 'resourceId'],
['sendAction', 'resourceId'],
+ ['purchase', 'resourceId'],
],
],
[
@@ -4125,6 +5396,7 @@ describe('PolicyController', () => {
['revokePermission', 'resourceId'],
['count', 'resourceId'],
['increment', 'resourceId'],
+ ['purchase', 'resourceId'],
],
],
[
@@ -4145,6 +5417,7 @@ describe('PolicyController', () => {
['sendAction', 'resourceId'],
['count', 'resourceId'],
['increment', 'resourceId'],
+ ['purchase', 'resourceId'],
],
],
[
@@ -4165,6 +5438,7 @@ describe('PolicyController', () => {
['sendAction', 'resourceId'],
['count', 'resourceId'],
['increment', 'resourceId'],
+ ['purchase', 'resourceId'],
],
],
['ai.sloyd', [['create', 'resourceId']]],
@@ -4192,6 +5466,72 @@ describe('PolicyController', () => {
['listSubscriptions', 'resourceId'],
],
],
+ [
+ 'search',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['run', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'database',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['run', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'purchasableItem',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['assign', 'resourceId'],
+ ['unassign', 'resourceId'],
+ ['grant', 'resourceId'],
+ ['revoke', 'resourceId'],
+ ['grantPermission', 'resourceId'],
+ ['revokePermission', 'resourceId'],
+ ['list', 'resourceId'],
+ ['updateData', 'resourceId'],
+ ['sendAction', 'resourceId'],
+ ['count', 'resourceId'],
+ ['increment', 'resourceId'],
+ ['purchase', 'resourceId'],
+ ],
+ ],
+ [
+ 'contract',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['update', 'resourceId'],
+ ['read', 'resourceId'],
+ ['assign', 'resourceId'],
+ ['unassign', 'resourceId'],
+ ['grant', 'resourceId'],
+ ['revoke', 'resourceId'],
+ ['grantPermission', 'resourceId'],
+ ['revokePermission', 'resourceId'],
+ ['list', 'resourceId'],
+ ['updateData', 'resourceId'],
+ ['sendAction', 'resourceId'],
+ ['count', 'resourceId'],
+ ['increment', 'resourceId'],
+ ['purchase', 'resourceId'],
+ ['cancel', 'resourceId'],
+ ['approve', 'resourceId'],
+ ],
+ ],
];
describe.each(studioMemberResourceKindDenialCases)(
@@ -4267,6 +5607,50 @@ describe('PolicyController', () => {
['list', null],
],
],
+ [
+ 'package',
+ [
+ ['read', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'package.version',
+ [
+ ['read', 'resourceId'],
+ ['run', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'search',
+ [
+ ['read', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'database',
+ [
+ ['read', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'purchasableItem',
+ [
+ ['read', 'resourceId'],
+ ['list', null],
+ ['purchase', 'resourceId'],
+ ],
+ ],
+ [
+ 'contract',
+ [
+ ['read', 'resourceId'],
+ ['list', null],
+ ],
+ ],
];
const publicReadSubjectTypeCases: [
@@ -4280,7 +5664,7 @@ describe('PolicyController', () => {
];
describe.each(publicReadResourceKindCases)(
- '%s',
+ 'publicRead %s',
(resourceKind, actions) => {
describe.each(actions)('%s', (action, resourceId) => {
describe.each(publicReadSubjectTypeCases)(
@@ -4288,750 +5672,2296 @@ describe('PolicyController', () => {
(desc, subjectType, subjectId) => {
const marker = PUBLIC_READ_MARKER;
- it('should allow the action', async () => {
- const context =
- await controller.constructAuthorizationContext(
- {
- recordKeyOrRecordName: studioRecord,
- userId: userId,
- }
- );
+ it('should allow the action', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName: studioRecord,
+ userId: userId,
+ }
+ );
+
+ const result =
+ await controller.authorizeSubject(context, {
+ subjectId: subjectId,
+ subjectType: subjectType,
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ });
+
+ expect(result).toEqual({
+ success: true,
+ recordName: studioRecord,
+ permission: {
+ id: null,
+ recordName: studioRecord,
+
+ userId: null,
+ subjectType: subjectType,
+ subjectId: subjectId,
+
+ // resourceKind and action are specified
+ // because members don't necessarily have all permissions in the studio
+ resourceKind: resourceKind,
+ action: action,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation:
+ 'Resource has the publicRead marker.',
+ });
+ });
+ }
+ );
+ });
+ }
+ );
+
+ const publicWriteResourceKindCases: [
+ ResourceKinds,
+ [ActionKinds, string | null][]
+ ][] = [
+ [
+ 'data',
+ [
+ ['create', 'resourceId'],
+ ['update', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['read', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'file',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['read', 'resourceId'],
+ ],
+ ],
+ [
+ 'event',
+ [
+ ['create', 'resourceId'],
+ ['increment', 'resourceId'],
+ ['count', 'resourceId'],
+ ],
+ ],
+ [
+ 'inst',
+ [
+ ['create', 'resourceId'],
+ ['delete', 'resourceId'],
+ ['read', 'resourceId'],
+ ['updateData', 'resourceId'],
+ ['sendAction', 'resourceId'],
+ ],
+ ],
+ ['webhook', [['run', 'resourceId']]],
+ [
+ 'notification',
+ [
+ ['read', 'resourceId'],
+ ['subscribe', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'package',
+ [
+ ['read', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'package.version',
+ [
+ ['read', 'resourceId'],
+ ['run', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'search',
+ [
+ ['read', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'database',
+ [
+ ['read', 'resourceId'],
+ ['list', null],
+ ],
+ ],
+ [
+ 'purchasableItem',
+ [
+ ['read', 'resourceId'],
+ ['list', null],
+ ['purchase', 'resourceId'],
+ ],
+ ],
+ [
+ 'contract',
+ [
+ ['read', 'resourceId'],
+ ['list', null],
+ ['purchase', 'resourceId'],
+ ],
+ ],
+ ];
+
+ const publicWriteSubjectTypeCases: [
+ string,
+ SubjectType,
+ string | null
+ ][] = [
+ ['user', 'user', 'randomUserId'],
+ ['not logged in', 'user', null],
+ ['inst', 'inst', '/instId'],
+ ];
+
+ describe.each(publicWriteResourceKindCases)(
+ 'publicWrite %s',
+ (resourceKind, actions) => {
+ describe.each(actions)('%s', (action, resourceId) => {
+ describe.each(publicWriteSubjectTypeCases)(
+ '%s',
+ (desc, subjectType, subjectId) => {
+ const marker = PUBLIC_WRITE_MARKER;
+
+ it('should allow the action', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName: studioRecord,
+ userId: userId,
+ }
+ );
+
+ const result =
+ await controller.authorizeSubject(context, {
+ subjectId: subjectId,
+ subjectType: subjectType,
+ resourceKind: resourceKind,
+ action: action,
+ resourceId: resourceId,
+ markers: [marker],
+ });
+
+ expect(result).toEqual({
+ success: true,
+ recordName: studioRecord,
+ permission: {
+ id: null,
+ recordName: studioRecord,
+
+ userId: null,
+ subjectType: subjectType,
+ subjectId: subjectId,
+
+ // resourceKind and action are specified
+ // because members don't necessarily have all permissions in the studio
+ resourceKind: resourceKind,
+ action: action,
+
+ marker: marker,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation:
+ 'Resource has the publicWrite marker.',
+ });
+ });
+ }
+ );
+ });
+ }
+ );
+
+ describe('privacy features', () => {
+ describe('missing', () => {
+ let privoClient: jest.Mocked;
+ let auth: AuthController;
+ let records: RecordsController;
+
+ beforeEach(() => {
+ privoClient = {
+ createAdultAccount: jest.fn(),
+ createChildAccount: jest.fn(),
+ getUserInfo: jest.fn(),
+ generateAuthorizationUrl: jest.fn(),
+ processAuthorizationCallback: jest.fn(),
+ checkEmail: jest.fn(),
+ checkDisplayName: jest.fn(),
+ generateLogoutUrl: jest.fn(),
+ resendConsentRequest: jest.fn(),
+ lookupServiceId: jest.fn(),
+ };
+ auth = new AuthController(
+ store,
+ services.authMessenger,
+ store,
+ privoClient
+ );
+ records = new RecordsController({
+ auth: store,
+ config: store,
+ messenger: store,
+ metrics: store,
+ store,
+ privo: privoClient,
+ });
+
+ controller = new PolicyController(auth, records, store);
+ });
+
+ it('should default to not allowing any privacy features if privo is enabled and if the user is not logged in', async () => {
+ const owner = await store.findUser(ownerId);
+ await store.saveUser({
+ ...owner,
+ privacyFeatures: null,
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: null,
+ });
+
+ expect(context).toEqual({
+ success: true,
+ context: {
+ recordName,
+ recordKeyResult: null,
+ subjectPolicy: 'subjectfull',
+ recordKeyProvided: false,
+ recordKeyCreatorId: undefined,
+ recordOwnerId: ownerId,
+ recordOwnerPrivacyFeatures: {
+ allowAI: true,
+ allowPublicData: true,
+ allowPublicInsts: true,
+ publishData: true,
+ },
+ recordStudioId: null,
+ recordStudioMembers: undefined,
+ userId: null,
+ userPrivacyFeatures: {
+ allowAI: false,
+ allowPublicData: false,
+ allowPublicInsts: false,
+ publishData: false,
+ },
+ sendNotLoggedIn: true,
+ userRole: 'none',
+ },
+ });
+
+ expect(auth.privoEnabled).toBe(true);
+ });
+
+ it('should allow all privacy features if there is no user, but the role is the system', async () => {
+ const owner = await store.findUser(ownerId);
+ await store.saveUser({
+ ...owner,
+ privacyFeatures: null,
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: null,
+ userRole: 'system',
+ });
+
+ expect(context).toEqual({
+ success: true,
+ context: {
+ recordName,
+ recordKeyResult: null,
+ subjectPolicy: 'subjectfull',
+ recordKeyProvided: false,
+ recordKeyCreatorId: undefined,
+ recordOwnerId: ownerId,
+ recordOwnerPrivacyFeatures: {
+ allowAI: true,
+ allowPublicData: true,
+ allowPublicInsts: true,
+ publishData: true,
+ },
+ recordStudioId: null,
+ recordStudioMembers: undefined,
+ userId: null,
+ userPrivacyFeatures: {
+ allowAI: true,
+ allowPublicData: true,
+ allowPublicInsts: true,
+ publishData: true,
+ },
+ sendNotLoggedIn: true,
+ userRole: 'system',
+ },
+ });
+
+ expect(auth.privoEnabled).toBe(true);
+ });
+ });
+
+ describe('publishData', () => {
+ it('should reject the request if the user is not allowed to publish data', async () => {
+ const owner = await store.findUser(ownerId);
+
+ await store.saveUser({
+ ...owner,
+ privacyFeatures: {
+ allowAI: false,
+ allowPublicData: false,
+ allowPublicInsts: false,
+ publishData: false,
+ },
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: ownerId,
+ });
+
+ const result = await controller.authorizeSubject(context, {
+ subjectId: ownerId,
+ subjectType: 'user',
+ resourceKind: 'data',
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [PUBLIC_READ_MARKER],
+ });
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'disabled_privacy_feature',
+ recordName: recordName,
+ subjectType: 'user',
+ subjectId: ownerId,
+ resourceKind: 'data',
+ action: 'read',
+ resourceId: 'resourceId',
+ privacyFeature: 'publishData',
+ },
+ });
+ });
+
+ it('should allow the request if the user is accessing an inst in a record own as long as they can publish data', async () => {
+ const owner = await store.findUser(ownerId);
+
+ await store.saveUser({
+ ...owner,
+ privacyFeatures: {
+ allowAI: false,
+ allowPublicData: false,
+ allowPublicInsts: false,
+ publishData: true,
+ },
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: ownerId,
+ });
+
+ const result = await controller.authorizeSubject(context, {
+ subjectId: ownerId,
+ subjectType: 'user',
+ resourceKind: 'inst',
+ action: 'read',
+ resourceId: 'myInst',
+ markers: ['secret'],
+ });
+
+ expect(result).toEqual({
+ success: true,
+ explanation: 'User is the owner of the record.',
+ permission: {
+ id: null,
+
+ recordName: recordName,
+ action: null,
+ userId: null,
+ resourceKind: null,
+
+ subjectId: 'admin',
+ subjectType: 'role',
+
+ marker: 'secret',
+ options: {},
+ expireTimeMs: null,
+ },
+ recordName: 'testRecord',
+ });
+ });
+ });
+
+ describe('allowPublicData', () => {
+ it('should reject the request if the user is accessing data from a record they dont own and privacy features disallow public data', async () => {
+ await services.records.createRecord({
+ recordName: 'otherRecord',
+ userId: ownerId,
+ ownerId: ownerId,
+ });
+
+ const owner = await store.findUser(ownerId);
+
+ await store.saveUser({
+ ...owner,
+ privacyFeatures: {
+ allowAI: true,
+ allowPublicData: false,
+ allowPublicInsts: true,
+ publishData: true,
+ },
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: 'otherRecord',
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(context, {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: 'data',
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [PUBLIC_READ_MARKER],
+ });
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'disabled_privacy_feature',
+ recordName: 'otherRecord',
+ subjectType: 'user',
+ subjectId: userId,
+ resourceKind: 'data',
+ action: 'read',
+ resourceId: 'resourceId',
+ privacyFeature: 'allowPublicData',
+ },
+ });
+ });
+
+ it('should reject the request if the user is accessing public data and their privacy features disallow public data', async () => {
+ await services.records.createRecord({
+ recordName: 'otherRecord',
+ userId: userId,
+ ownerId: userId,
+ });
+
+ const user = await store.findUser(userId);
+
+ await store.saveUser({
+ ...user,
+ privacyFeatures: {
+ allowAI: true,
+ allowPublicData: false,
+ allowPublicInsts: true,
+ publishData: true,
+ },
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: 'otherRecord',
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(context, {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: 'data',
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [PUBLIC_READ_MARKER],
+ });
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'disabled_privacy_feature',
+ recordName: 'otherRecord',
+ subjectType: 'user',
+ subjectId: userId,
+ resourceKind: 'data',
+ action: 'read',
+ resourceId: 'resourceId',
+ privacyFeature: 'allowPublicData',
+ },
+ });
+ });
+
+ it('should reject the request if the inst is accessing data from a record they dont own and privacy features disallow public data', async () => {
+ await services.records.createRecord({
+ recordName: 'otherRecord',
+ userId: ownerId,
+ ownerId: ownerId,
+ });
+
+ const owner = await store.findUser(ownerId);
+
+ await store.saveUser({
+ ...owner,
+ privacyFeatures: {
+ allowAI: true,
+ allowPublicData: false,
+ allowPublicInsts: true,
+ publishData: true,
+ },
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: 'otherRecord',
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(context, {
+ subjectId: '/myInst',
+ subjectType: 'inst',
+ resourceKind: 'data',
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [PUBLIC_READ_MARKER],
+ });
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'disabled_privacy_feature',
+ recordName: 'otherRecord',
+ subjectType: 'user',
+ subjectId: userId,
+ resourceKind: 'data',
+ action: 'read',
+ resourceId: 'resourceId',
+ privacyFeature: 'allowPublicData',
+ },
+ });
+ });
+
+ it('should reject the request if the user is not logged in but is accessing from a user that disallows public data', async () => {
+ await services.records.createRecord({
+ recordName: 'otherRecord',
+ userId: ownerId,
+ ownerId: ownerId,
+ });
+
+ const owner = await store.findUser(ownerId);
+
+ await store.saveUser({
+ ...owner,
+ privacyFeatures: {
+ allowAI: true,
+ allowPublicData: false,
+ allowPublicInsts: true,
+ publishData: true,
+ },
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: 'otherRecord',
+ userId: null,
+ });
+
+ const result = await controller.authorizeSubject(context, {
+ subjectId: null,
+ subjectType: 'user',
+ resourceKind: 'data',
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [PUBLIC_READ_MARKER],
+ });
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'disabled_privacy_feature',
+ recordName: 'otherRecord',
+ subjectType: 'user',
+ subjectId: null,
+ resourceKind: 'data',
+ action: 'read',
+ resourceId: 'resourceId',
+ privacyFeature: 'allowPublicData',
+ },
+ });
+ });
+ });
+
+ describe('allowPublicInsts', () => {
+ it('should reject the request if the user is accessing an inst in a record they do not own but the user privacy features disallow public insts', async () => {
+ const user = await store.findUser(userId);
+
+ await store.saveUser({
+ ...user,
+ privacyFeatures: {
+ allowAI: true,
+ allowPublicData: true,
+ allowPublicInsts: false,
+ publishData: true,
+ },
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(context, {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: 'inst',
+ action: 'read',
+ resourceId: 'myInst',
+ markers: ['secret'],
+ });
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'disabled_privacy_feature',
+ recordName: recordName,
+ subjectType: 'user',
+ subjectId: userId,
+ resourceKind: 'inst',
+ action: 'read',
+ resourceId: 'myInst',
+ privacyFeature: 'allowPublicInsts',
+ },
+ });
+ });
+
+ it('should reject the request if the user is accessing an inst in a record they do not own but the owner privacy features disallow public insts', async () => {
+ const owner = await store.findUser(ownerId);
+
+ await store.saveUser({
+ ...owner,
+ privacyFeatures: {
+ allowAI: true,
+ allowPublicData: true,
+ allowPublicInsts: false,
+ publishData: true,
+ },
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: recordName,
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(context, {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: 'inst',
+ action: 'read',
+ resourceId: 'myInst',
+ markers: ['secret'],
+ });
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'disabled_privacy_feature',
+ recordName: recordName,
+ subjectType: 'user',
+ subjectId: userId,
+ resourceKind: 'inst',
+ action: 'read',
+ resourceId: 'myInst',
+ privacyFeature: 'allowPublicInsts',
+ },
+ });
+ });
+
+ it('should reject the request if the user is accessing an inst in a record they own but their privacy features disallow public insts', async () => {
+ await services.records.createRecord({
+ recordName: 'otherRecord',
+ userId: ownerId,
+ ownerId: ownerId,
+ });
+
+ const user = await store.findUser(userId);
+
+ await store.saveUser({
+ ...user,
+ privacyFeatures: {
+ allowAI: true,
+ allowPublicData: true,
+ allowPublicInsts: false,
+ publishData: true,
+ },
+ });
+
+ const context =
+ await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: 'otherRecord',
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(context, {
+ subjectId: userId,
+ subjectType: 'user',
+ resourceKind: 'inst',
+ action: 'read',
+ resourceId: 'myInst',
+ markers: [PUBLIC_READ_MARKER],
+ });
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'disabled_privacy_feature',
+ recordName: 'otherRecord',
+ subjectType: 'user',
+ subjectId: userId,
+ resourceKind: 'inst',
+ action: 'read',
+ resourceId: 'myInst',
+ privacyFeature: 'allowPublicInsts',
+ },
+ });
+ });
+ });
+ });
+
+ it('should normalize inst IDs', async () => {
+ const context = await controller.constructAuthorizationContext({
+ recordKeyOrRecordName: studioRecord,
+ userId: userId,
+ });
+
+ const result = await controller.authorizeSubject(context, {
+ subjectId: 'instId',
+ subjectType: 'inst',
+ resourceKind: 'data',
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [PUBLIC_READ_MARKER],
+ });
+
+ expect(result).toEqual({
+ success: true,
+ recordName: studioRecord,
+ permission: {
+ id: null,
+ recordName: studioRecord,
+
+ userId: null,
+ subjectType: 'inst',
+ subjectId: '/instId',
+
+ // resourceKind and action are specified
+ // because members don't necessarily have all permissions in the studio
+ resourceKind: 'data',
+ action: 'read',
+
+ marker: PUBLIC_READ_MARKER,
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: 'Resource has the publicRead marker.',
+ });
+ });
+
+ describe('entitlements', () => {
+ const entitlementResourceKinds: [
+ Entitlement['feature'],
+ ResourceKinds[]
+ ][] = [
+ ['data', ['data']],
+ ['event', ['event']],
+ ['file', ['file']],
+ ['inst', ['inst']],
+ ['notification', ['notification']],
+ ['package', ['package', 'package.version']],
+ ['permissions', ['role', 'marker']],
+ ['webhook', ['webhook']],
+ ['ai', ['ai.sloyd', 'ai.hume']],
+ ['search', ['search']],
+ ['database', ['database']],
+ ];
+
+ const instRecordName = 'instRecord';
+ const inst = 'inst';
+ const instId = formatInstId(instRecordName, inst);
+ const marker = 'marker';
+
+ const packageRecordName = 'packageRecord';
+ const packageAddress = 'packageAddress';
+ const packageKey = version(1);
+
+ const originalDateNow = Date.now;
+ let dateNowMock: jest.Mock;
+
+ beforeEach(async () => {
+ dateNowMock = Date.now = jest.fn(() => 500);
+
+ await services.records.createRecord({
+ recordName: instRecordName,
+ userId: ownerId,
+ ownerId: ownerId,
+ });
+
+ await services.records.createRecord({
+ recordName: packageRecordName,
+ userId: ownerId,
+ ownerId: ownerId,
+ });
+
+ await services.packagesStore.createItem(packageRecordName, {
+ id: 'packageId',
+ address: packageAddress,
+ markers: [PRIVATE_MARKER],
+ });
+
+ await store.saveLoadedPackage({
+ id: 'loadedPackageId',
+ userId: userId,
+ recordName: instRecordName,
+ inst,
+ packageId: 'packageId',
+ packageVersionId: 'packageVersionId',
+ branch: DEFAULT_BRANCH_NAME,
+ });
+ });
+
+ afterEach(() => {
+ Date.now = originalDateNow;
+ });
+
+ describe.each(entitlementResourceKinds)(
+ '%s',
+ (feature, resourceKinds) => {
+ beforeEach(async () => {
+ await services.packageVersionStore.createItem(
+ packageRecordName,
+ {
+ id: 'packageVersionId',
+ address: packageAddress,
+ key: packageKey,
+ auxFileName: 'auxFileName',
+ auxSha256: 'sha256',
+ createdAtMs: 123,
+ createdFile: true,
+ description: '',
+ sha256: 'sha256',
+ sizeInBytes: 123,
+ requiresReview: false,
+ entitlements: [
+ {
+ feature: feature,
+ scope: 'personal',
+ },
+ ],
+ markers: [PUBLIC_READ_MARKER],
+ }
+ );
+ });
+
+ describe.each(resourceKinds)(
+ 'resource %s',
+ (resourceKind) => {
+ describe('personal scope', () => {
+ beforeEach(async () => {
+ await services.packageVersionStore.updateItem(
+ packageRecordName,
+ {
+ id: 'packageVersionId',
+ address: packageAddress,
+ key: packageKey,
+ auxFileName: 'auxFileName',
+ auxSha256: 'sha256',
+ createdAtMs: 123,
+ createdFile: true,
+ description: '',
+ sha256: 'sha256',
+ sizeInBytes: 123,
+ requiresReview: false,
+ entitlements: [
+ {
+ feature: feature,
+ scope: 'personal',
+ },
+ ],
+ }
+ );
+ });
+
+ it('should allow actions for the personal record if the entitlement has been granted for it', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName: userId,
+ userId: userId,
+ }
+ );
+
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
+
+ userId: userId,
+
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+
+ createdAtMs: 123,
+ revokeTimeMs: null,
+ });
+
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: true,
+ recordName: userId,
+ permission: {
+ id: null,
+ recordName: userId,
+ userId: userId,
+
+ // The role that record owners recieve
+ subjectType: 'inst',
+ subjectId: instId,
+
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: resourceKind,
+ resourceId: 'resourceId',
+ action: 'read',
+
+ options: {},
+ expireTimeMs: 999,
+ },
+ entitlementGrant: {
+ id: 'entitlementId',
+ userId: userId,
+ packageId: 'packageId',
+ // packageRecordName,
+ // packageAddress,
+ // instRecordName: instRecordName,
+ // inst,
+ feature: feature,
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 999,
+ revokeTimeMs: null,
+ createdAtMs: 123,
+
+ loadedPackage: {
+ id: 'loadedPackageId',
+ recordName: instRecordName,
+ inst,
+ packageId: 'packageId',
+ packageVersionId:
+ 'packageVersionId',
+ userId: 'userId',
+ branch: DEFAULT_BRANCH_NAME,
+ },
+ },
+ explanation: 'Inst has entitlement.',
+ });
+ });
+
+ it('should deny actions for the personal record if no entitlement has been granted for it', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName: userId,
+ userId: userId,
+ }
+ );
+
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: userId,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ recommendedEntitlement: {
+ feature: feature,
+ scope: 'designated',
+ recordName: userId,
+ packageId: 'packageId',
+ },
+ });
+ });
+
+ it('should deny actions for the personal record if the entitlement grant has expired', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName: userId,
+ userId: userId,
+ }
+ );
+
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
+
+ userId: userId,
+
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName: userId,
+ expireTimeMs: 0,
+
+ createdAtMs: 123,
+ revokeTimeMs: null,
+ });
+
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: userId,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ recommendedEntitlement: {
+ feature: feature,
+ scope: 'designated',
+ recordName: userId,
+ packageId: 'packageId',
+ },
+ });
+ });
+
+ it('should not recommend a entitlement if the record is not the users personal record', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordName,
+ userId: userId,
+ }
+ );
+
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ });
+ });
+ });
+
+ describe('owned scope', () => {
+ beforeEach(async () => {
+ await services.packageVersionStore.updateItem(
+ packageRecordName,
+ {
+ id: 'packageVersionId',
+ address: packageAddress,
+ key: packageKey,
+ auxFileName: 'auxFileName',
+ auxSha256: 'sha256',
+ createdAtMs: 123,
+ createdFile: true,
+ description: '',
+ sha256: 'sha256',
+ sizeInBytes: 123,
+ requiresReview: false,
+ entitlements: [
+ {
+ feature: feature,
+ scope: 'owned',
+ },
+ ],
+ }
+ );
+ });
+
+ it('should allow actions for the owned record if the entitlement has been granted for it', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordName,
+ userId: ownerId,
+ }
+ );
+
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
+
+ userId: ownerId,
+
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName,
+ expireTimeMs: 999,
+
+ createdAtMs: 123,
+ revokeTimeMs: null,
+ });
+
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName: recordName,
+ userId: ownerId,
+
+ // The role that record owners recieve
+ subjectType: 'inst',
+ subjectId: instId,
+
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: resourceKind,
+ resourceId: 'resourceId',
+ action: 'read',
+
+ options: {},
+ expireTimeMs: 999,
+ },
+ entitlementGrant: {
+ id: 'entitlementId',
+ userId: ownerId,
+ packageId: 'packageId',
+ // packageRecordName,
+ // packageAddress,
+ // instRecordName: instRecordName,
+ // inst,
+ feature: feature,
+ scope: 'designated',
+ recordName,
+ expireTimeMs: 999,
+ revokeTimeMs: null,
+ createdAtMs: 123,
+
+ loadedPackage: {
+ id: 'loadedPackageId',
+ recordName: instRecordName,
+ inst,
+ packageId: 'packageId',
+ packageVersionId:
+ 'packageVersionId',
+ userId: 'userId',
+ branch: DEFAULT_BRANCH_NAME,
+ },
+ },
+ explanation: 'Inst has entitlement.',
+ });
+ });
+
+ it('should deny actions for the owned record if no entitlement has been granted for it', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordName,
+ userId: ownerId,
+ }
+ );
+
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
+
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ recommendedEntitlement: {
+ feature: feature,
+ scope: 'designated',
+ recordName,
+ packageId: 'packageId',
+ },
+ });
+ });
+
+ it('should deny actions for the owned record if the entitlement grant has expired', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordName,
+ userId: ownerId,
+ }
+ );
+
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
+
+ userId: ownerId,
+
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName: recordName,
+ expireTimeMs: 0,
+
+ createdAtMs: 123,
+ revokeTimeMs: null,
+ });
+
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- const result =
- await controller.authorizeSubject(context, {
- subjectId: subjectId,
- subjectType: subjectType,
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ recommendedEntitlement: {
+ feature: feature,
+ scope: 'designated',
+ recordName,
+ packageId: 'packageId',
+ },
});
+ });
- expect(result).toEqual({
- success: true,
- recordName: studioRecord,
- permission: {
- id: null,
- recordName: studioRecord,
+ it('should not recommend a entitlement if the user is not the owner of the record', async () => {
+ await store.addRecord({
+ name: 'otherRecord',
+ ownerId: ownerId,
+ secretHashes: [],
+ secretSalt: '',
+ studioId: null,
+ });
- userId: null,
- subjectType: subjectType,
- subjectId: subjectId,
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ 'otherRecord',
+ userId: userId,
+ }
+ );
- // resourceKind and action are specified
- // because members don't necessarily have all permissions in the studio
- resourceKind: resourceKind,
- action: action,
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- marker: marker,
- options: {},
- expireTimeMs: null,
- },
- explanation:
- 'Resource has the publicRead marker.',
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: 'otherRecord',
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ });
});
});
- }
- );
- });
- }
- );
-
- const publicWriteResourceKindCases: [
- ResourceKinds,
- [ActionKinds, string | null][]
- ][] = [
- [
- 'data',
- [
- ['create', 'resourceId'],
- ['update', 'resourceId'],
- ['delete', 'resourceId'],
- ['read', 'resourceId'],
- ['list', null],
- ],
- ],
- [
- 'file',
- [
- ['create', 'resourceId'],
- ['delete', 'resourceId'],
- ['read', 'resourceId'],
- ],
- ],
- [
- 'event',
- [
- ['create', 'resourceId'],
- ['increment', 'resourceId'],
- ['count', 'resourceId'],
- ],
- ],
- [
- 'inst',
- [
- ['create', 'resourceId'],
- ['delete', 'resourceId'],
- ['read', 'resourceId'],
- ['updateData', 'resourceId'],
- ['sendAction', 'resourceId'],
- ],
- ],
- ['webhook', [['run', 'resourceId']]],
- [
- 'notification',
- [
- ['read', 'resourceId'],
- ['subscribe', 'resourceId'],
- ['list', null],
- ],
- ],
- ];
-
- const publicWriteSubjectTypeCases: [
- string,
- SubjectType,
- string | null
- ][] = [
- ['user', 'user', 'randomUserId'],
- ['not logged in', 'user', null],
- ['inst', 'inst', '/instId'],
- ];
- describe.each(publicWriteResourceKindCases)(
- '%s',
- (resourceKind, actions) => {
- describe.each(actions)('%s', (action, resourceId) => {
- describe.each(publicWriteSubjectTypeCases)(
- '%s',
- (desc, subjectType, subjectId) => {
- const marker = PUBLIC_WRITE_MARKER;
+ describe('studio scope', () => {
+ const studioId = 'studioId';
- it('should allow the action', async () => {
- const context =
- await controller.constructAuthorizationContext(
+ beforeEach(async () => {
+ await services.recordsStore.createStudioForUser(
{
- recordKeyOrRecordName: studioRecord,
- userId: userId,
+ id: studioId,
+ displayName: 'Studio',
+ },
+ userId
+ );
+ await services.packageVersionStore.updateItem(
+ packageRecordName,
+ {
+ id: 'packageVersionId',
+ address: packageAddress,
+ key: packageKey,
+ auxFileName: 'auxFileName',
+ auxSha256: 'sha256',
+ createdAtMs: 123,
+ createdFile: true,
+ description: '',
+ sha256: 'sha256',
+ sizeInBytes: 123,
+ requiresReview: false,
+ entitlements: [
+ {
+ feature: feature,
+ scope: 'studio',
+ },
+ ],
}
);
+ });
- const result =
- await controller.authorizeSubject(context, {
- subjectId: subjectId,
- subjectType: subjectType,
- resourceKind: resourceKind,
- action: action,
- resourceId: resourceId,
- markers: [marker],
+ it('should allow actions for the studio record if the entitlement has been granted for it', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName: studioId,
+ userId: userId,
+ }
+ );
+
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
+
+ userId: userId,
+
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName: studioId,
+ expireTimeMs: 999,
+
+ createdAtMs: 123,
+ revokeTimeMs: null,
});
- expect(result).toEqual({
- success: true,
- recordName: studioRecord,
- permission: {
- id: null,
- recordName: studioRecord,
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- userId: null,
- subjectType: subjectType,
- subjectId: subjectId,
+ expect(result).toEqual({
+ success: true,
+ recordName: studioId,
+ permission: {
+ id: null,
+ recordName: studioId,
+ userId: userId,
- // resourceKind and action are specified
- // because members don't necessarily have all permissions in the studio
- resourceKind: resourceKind,
- action: action,
+ // The role that record owners recieve
+ subjectType: 'inst',
+ subjectId: instId,
- marker: marker,
- options: {},
- expireTimeMs: null,
- },
- explanation:
- 'Resource has the publicWrite marker.',
- });
- });
- }
- );
- });
- }
- );
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: resourceKind,
+ resourceId: 'resourceId',
+ action: 'read',
- describe('privacy features', () => {
- describe('missing', () => {
- let privoClient: jest.Mocked;
- let auth: AuthController;
- let records: RecordsController;
+ options: {},
+ expireTimeMs: 999,
+ },
+ entitlementGrant: {
+ id: 'entitlementId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName: studioId,
+ expireTimeMs: 999,
+ revokeTimeMs: null,
+ createdAtMs: 123,
+
+ loadedPackage: {
+ id: 'loadedPackageId',
+ recordName: instRecordName,
+ inst,
+ packageId: 'packageId',
+ packageVersionId:
+ 'packageVersionId',
+ userId: 'userId',
+ branch: DEFAULT_BRANCH_NAME,
+ },
+ },
+ explanation: 'Inst has entitlement.',
+ });
+ });
- beforeEach(() => {
- privoClient = {
- createAdultAccount: jest.fn(),
- createChildAccount: jest.fn(),
- getUserInfo: jest.fn(),
- generateAuthorizationUrl: jest.fn(),
- processAuthorizationCallback: jest.fn(),
- checkEmail: jest.fn(),
- checkDisplayName: jest.fn(),
- generateLogoutUrl: jest.fn(),
- resendConsentRequest: jest.fn(),
- lookupServiceId: jest.fn(),
- };
- auth = new AuthController(
- store,
- services.authMessenger,
- store,
- true,
- privoClient
- );
- records = new RecordsController({
- auth: store,
- config: store,
- messenger: store,
- metrics: store,
- store,
- privo: privoClient,
- });
+ it('should deny actions for the owned record if no entitlement has been granted for it', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName: studioId,
+ userId: userId,
+ }
+ );
- controller = new PolicyController(auth, records, store);
- });
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- it('should default to not allowing any privacy features if privo is enabled and if the user is not logged in', async () => {
- const owner = await store.findUser(ownerId);
- await store.saveUser({
- ...owner,
- privacyFeatures: null,
- });
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: studioId,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ recommendedEntitlement: {
+ feature: feature,
+ scope: 'designated',
+ recordName: studioId,
+ packageId: 'packageId',
+ },
+ });
+ });
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: null,
- });
+ it('should deny actions for the owned record if the entitlement grant has expired', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName: studioId,
+ userId: userId,
+ }
+ );
- expect(context).toEqual({
- success: true,
- context: {
- recordName,
- recordKeyResult: null,
- subjectPolicy: 'subjectfull',
- recordKeyProvided: false,
- recordKeyCreatorId: undefined,
- recordOwnerId: ownerId,
- recordOwnerPrivacyFeatures: {
- allowAI: true,
- allowPublicData: true,
- allowPublicInsts: true,
- publishData: true,
- },
- recordStudioId: null,
- recordStudioMembers: undefined,
- userId: null,
- userPrivacyFeatures: {
- allowAI: false,
- allowPublicData: false,
- allowPublicInsts: false,
- publishData: false,
- },
- sendNotLoggedIn: true,
- userRole: 'none',
- },
- });
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
- expect(auth.privoEnabled).toBe(true);
- });
- });
+ userId: userId,
- describe('publishData', () => {
- it('should reject the request if the user is not allowed to publish data', async () => {
- const owner = await store.findUser(ownerId);
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName: studioId,
+ expireTimeMs: 0,
- await store.saveUser({
- ...owner,
- privacyFeatures: {
- allowAI: false,
- allowPublicData: false,
- allowPublicInsts: false,
- publishData: false,
- },
- });
+ createdAtMs: 123,
+ revokeTimeMs: null,
+ });
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: ownerId,
- });
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- const result = await controller.authorizeSubject(context, {
- subjectId: ownerId,
- subjectType: 'user',
- resourceKind: 'data',
- action: 'read',
- resourceId: 'resourceId',
- markers: [PUBLIC_READ_MARKER],
- });
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: studioId,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ recommendedEntitlement: {
+ feature: feature,
+ scope: 'designated',
+ recordName: studioId,
+ packageId: 'packageId',
+ },
+ });
+ });
- expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
- reason: {
- type: 'disabled_privacy_feature',
- recordName: recordName,
- subjectType: 'user',
- subjectId: ownerId,
- resourceKind: 'data',
- action: 'read',
- resourceId: 'resourceId',
- privacyFeature: 'publishData',
- },
- });
- });
+ it('should not recommend a entitlement if the user is not a member of the studio', async () => {
+ await services.recordsStore.createStudioForUser(
+ {
+ id: 'otherStudioId',
+ displayName: 'Other Studio',
+ },
+ ownerId
+ );
- it('should allow the request if the user is accessing an inst in a record own as long as they can publish data', async () => {
- const owner = await store.findUser(ownerId);
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ 'otherStudioId',
+ userId: userId,
+ }
+ );
- await store.saveUser({
- ...owner,
- privacyFeatures: {
- allowAI: false,
- allowPublicData: false,
- allowPublicInsts: false,
- publishData: true,
- },
- });
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: ownerId,
- });
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: 'otherStudioId',
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ });
+ });
+ });
- const result = await controller.authorizeSubject(context, {
- subjectId: ownerId,
- subjectType: 'user',
- resourceKind: 'inst',
- action: 'read',
- resourceId: 'myInst',
- markers: ['secret'],
- });
+ describe('designated scope', () => {
+ beforeEach(async () => {
+ await services.packageVersionStore.updateItem(
+ packageRecordName,
+ {
+ id: 'packageVersionId',
+ address: packageAddress,
+ key: packageKey,
+ auxFileName: 'auxFileName',
+ auxSha256: 'sha256',
+ createdAtMs: 123,
+ createdFile: true,
+ description: '',
+ sha256: 'sha256',
+ sizeInBytes: 123,
+ requiresReview: false,
+ entitlements: [
+ {
+ feature: feature,
+ scope: 'designated',
+ designatedRecords: [
+ recordName,
+ ],
+ },
+ ],
+ }
+ );
+ });
- expect(result).toEqual({
- success: true,
- explanation: 'User is the owner of the record.',
- permission: {
- id: null,
+ it('should allow the action if the entitlement has been granted for it', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordName,
+ userId: userId,
+ }
+ );
- recordName: recordName,
- action: null,
- userId: null,
- resourceKind: null,
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
- subjectId: 'admin',
- subjectType: 'role',
+ userId: userId,
- marker: 'secret',
- options: {},
- expireTimeMs: null,
- },
- recordName: 'testRecord',
- });
- });
- });
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName: recordName,
+ expireTimeMs: 999,
- describe('allowPublicData', () => {
- it('should reject the request if the user is accessing data from a record they dont own and privacy features disallow public data', async () => {
- await services.records.createRecord({
- recordName: 'otherRecord',
- userId: ownerId,
- ownerId: ownerId,
- });
+ createdAtMs: 123,
+ revokeTimeMs: null,
+ });
- const owner = await store.findUser(ownerId);
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- await store.saveUser({
- ...owner,
- privacyFeatures: {
- allowAI: true,
- allowPublicData: false,
- allowPublicInsts: true,
- publishData: true,
- },
- });
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName: recordName,
+ userId: userId,
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: 'otherRecord',
- userId: userId,
- });
+ // The role that record owners recieve
+ subjectType: 'inst',
+ subjectId: instId,
- const result = await controller.authorizeSubject(context, {
- subjectId: userId,
- subjectType: 'user',
- resourceKind: 'data',
- action: 'read',
- resourceId: 'resourceId',
- markers: [PUBLIC_READ_MARKER],
- });
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: resourceKind,
+ resourceId: 'resourceId',
+ action: 'read',
+
+ options: {},
+ expireTimeMs: 999,
+ },
+ entitlementGrant: {
+ id: 'entitlementId',
+ userId: userId,
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName,
+ expireTimeMs: 999,
+ revokeTimeMs: null,
+ createdAtMs: 123,
+
+ loadedPackage: {
+ id: 'loadedPackageId',
+ recordName: instRecordName,
+ inst,
+ packageId: 'packageId',
+ packageVersionId:
+ 'packageVersionId',
+ userId: 'userId',
+ branch: DEFAULT_BRANCH_NAME,
+ },
+ },
+ explanation: 'Inst has entitlement.',
+ });
+ });
- expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
- reason: {
- type: 'disabled_privacy_feature',
- recordName: 'otherRecord',
- subjectType: 'user',
- subjectId: userId,
- resourceKind: 'data',
- action: 'read',
- resourceId: 'resourceId',
- privacyFeature: 'allowPublicData',
- },
- });
- });
+ it('should deny actions if no entitlement has been granted for it', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordName,
+ userId: userId,
+ }
+ );
- it('should reject the request if the user is accessing public data and their privacy features disallow public data', async () => {
- await services.records.createRecord({
- recordName: 'otherRecord',
- userId: userId,
- ownerId: userId,
- });
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- const user = await store.findUser(userId);
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ recommendedEntitlement: {
+ feature: feature,
+ scope: 'designated',
+ recordName,
+ packageId: 'packageId',
+ },
+ });
+ });
- await store.saveUser({
- ...user,
- privacyFeatures: {
- allowAI: true,
- allowPublicData: false,
- allowPublicInsts: true,
- publishData: true,
- },
- });
+ it('should deny actions if the record is not in the list of designated records', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordName,
+ userId: userId,
+ }
+ );
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: 'otherRecord',
- userId: userId,
- });
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
- const result = await controller.authorizeSubject(context, {
- subjectId: userId,
- subjectType: 'user',
- resourceKind: 'data',
- action: 'read',
- resourceId: 'resourceId',
- markers: [PUBLIC_READ_MARKER],
- });
+ userId: userId,
- expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
- reason: {
- type: 'disabled_privacy_feature',
- recordName: 'otherRecord',
- subjectType: 'user',
- subjectId: userId,
- resourceKind: 'data',
- action: 'read',
- resourceId: 'resourceId',
- privacyFeature: 'allowPublicData',
- },
- });
- });
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName: 'otherRecord',
+ expireTimeMs: 999,
- it('should reject the request if the inst is accessing data from a record they dont own and privacy features disallow public data', async () => {
- await services.records.createRecord({
- recordName: 'otherRecord',
- userId: ownerId,
- ownerId: ownerId,
- });
+ createdAtMs: 123,
+ revokeTimeMs: null,
+ });
- const owner = await store.findUser(ownerId);
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- await store.saveUser({
- ...owner,
- privacyFeatures: {
- allowAI: true,
- allowPublicData: false,
- allowPublicInsts: true,
- publishData: true,
- },
- });
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ recommendedEntitlement: {
+ feature: feature,
+ scope: 'designated',
+ recordName,
+ packageId: 'packageId',
+ },
+ });
+ });
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: 'otherRecord',
- userId: userId,
- });
+ it('should deny actions for the personal record if the entitlement grant has expired', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordName,
+ userId: userId,
+ }
+ );
- const result = await controller.authorizeSubject(context, {
- subjectId: '/myInst',
- subjectType: 'inst',
- resourceKind: 'data',
- action: 'read',
- resourceId: 'resourceId',
- markers: [PUBLIC_READ_MARKER],
- });
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
- expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
- reason: {
- type: 'disabled_privacy_feature',
- recordName: 'otherRecord',
- subjectType: 'user',
- subjectId: userId,
- resourceKind: 'data',
- action: 'read',
- resourceId: 'resourceId',
- privacyFeature: 'allowPublicData',
- },
- });
- });
+ userId: userId,
- it('should reject the request if the user is not logged in but is accessing from a user that disallows public data', async () => {
- await services.records.createRecord({
- recordName: 'otherRecord',
- userId: ownerId,
- ownerId: ownerId,
- });
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName: recordName,
+ expireTimeMs: 0,
- const owner = await store.findUser(ownerId);
+ createdAtMs: 123,
+ revokeTimeMs: null,
+ });
- await store.saveUser({
- ...owner,
- privacyFeatures: {
- allowAI: true,
- allowPublicData: false,
- allowPublicInsts: true,
- publishData: true,
- },
- });
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: 'otherRecord',
- userId: null,
- });
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ recommendedEntitlement: {
+ feature: feature,
+ scope: 'designated',
+ recordName,
+ packageId: 'packageId',
+ },
+ });
+ });
- const result = await controller.authorizeSubject(context, {
- subjectId: null,
- subjectType: 'user',
- resourceKind: 'data',
- action: 'read',
- resourceId: 'resourceId',
- markers: [PUBLIC_READ_MARKER],
- });
+ it('should not recommend a designated entitlement if the record is not in the list of designated records', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName: userId,
+ userId: userId,
+ }
+ );
- expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
- reason: {
- type: 'disabled_privacy_feature',
- recordName: 'otherRecord',
- subjectType: 'user',
- subjectId: null,
- resourceKind: 'data',
- action: 'read',
- resourceId: 'resourceId',
- privacyFeature: 'allowPublicData',
- },
- });
- });
- });
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- describe('allowPublicInsts', () => {
- it('should reject the request if the user is accessing an inst in a record they do not own but the user privacy features disallow public insts', async () => {
- const user = await store.findUser(userId);
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: userId,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ });
+ });
+ });
- await store.saveUser({
- ...user,
- privacyFeatures: {
- allowAI: true,
- allowPublicData: true,
- allowPublicInsts: false,
- publishData: true,
- },
- });
+ describe('shared scope', () => {
+ beforeEach(async () => {
+ await services.packageVersionStore.updateItem(
+ packageRecordName,
+ {
+ id: 'packageVersionId',
+ address: packageAddress,
+ key: packageKey,
+ auxFileName: 'auxFileName',
+ auxSha256: 'sha256',
+ createdAtMs: 123,
+ createdFile: true,
+ description: '',
+ sha256: 'sha256',
+ sizeInBytes: 123,
+ requiresReview: false,
+ entitlements: [
+ {
+ feature: feature,
+ scope: 'shared',
+ },
+ ],
+ }
+ );
+ });
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: userId,
- });
+ it('should allow actions for the record if the entitlement has been granted for it', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordName,
+ userId: userId,
+ }
+ );
- const result = await controller.authorizeSubject(context, {
- subjectId: userId,
- subjectType: 'user',
- resourceKind: 'inst',
- action: 'read',
- resourceId: 'myInst',
- markers: ['secret'],
- });
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
- expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
- reason: {
- type: 'disabled_privacy_feature',
- recordName: recordName,
- subjectType: 'user',
- subjectId: userId,
- resourceKind: 'inst',
- action: 'read',
- resourceId: 'myInst',
- privacyFeature: 'allowPublicInsts',
- },
- });
- });
+ userId: userId,
- it('should reject the request if the user is accessing an inst in a record they do not own but the owner privacy features disallow public insts', async () => {
- const owner = await store.findUser(ownerId);
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName: recordName,
+ expireTimeMs: 999,
- await store.saveUser({
- ...owner,
- privacyFeatures: {
- allowAI: true,
- allowPublicData: true,
- allowPublicInsts: false,
- publishData: true,
- },
- });
+ createdAtMs: 123,
+ revokeTimeMs: null,
+ });
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: recordName,
- userId: userId,
- });
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- const result = await controller.authorizeSubject(context, {
- subjectId: userId,
- subjectType: 'user',
- resourceKind: 'inst',
- action: 'read',
- resourceId: 'myInst',
- markers: ['secret'],
- });
+ expect(result).toEqual({
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName: recordName,
+ userId: userId,
- expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
- reason: {
- type: 'disabled_privacy_feature',
- recordName: recordName,
- subjectType: 'user',
- subjectId: userId,
- resourceKind: 'inst',
- action: 'read',
- resourceId: 'myInst',
- privacyFeature: 'allowPublicInsts',
- },
- });
- });
+ // The role that record owners recieve
+ subjectType: 'inst',
+ subjectId: instId,
- it('should reject the request if the user is accessing an inst in a record they own but their privacy features disallow public insts', async () => {
- await services.records.createRecord({
- recordName: 'otherRecord',
- userId: ownerId,
- ownerId: ownerId,
- });
+ // resourceKind and action are null because this permission
+ // applies to all resources and actions.
+ resourceKind: resourceKind,
+ resourceId: 'resourceId',
+ action: 'read',
- const user = await store.findUser(userId);
+ options: {},
+ expireTimeMs: 999,
+ },
+ entitlementGrant: {
+ id: 'entitlementId',
+ userId: userId,
+ packageId: 'packageId',
+ // packageRecordName,
+ // packageAddress,
+ // instRecordName: instRecordName,
+ // inst,
+ feature: feature,
+ scope: 'designated',
+ recordName,
+ expireTimeMs: 999,
+ revokeTimeMs: null,
+ createdAtMs: 123,
+
+ loadedPackage: {
+ id: 'loadedPackageId',
+ recordName: instRecordName,
+ inst,
+ packageId: 'packageId',
+ packageVersionId:
+ 'packageVersionId',
+ userId: 'userId',
+ branch: DEFAULT_BRANCH_NAME,
+ },
+ },
+ explanation: 'Inst has entitlement.',
+ });
+ });
- await store.saveUser({
- ...user,
- privacyFeatures: {
- allowAI: true,
- allowPublicData: true,
- allowPublicInsts: false,
- publishData: true,
- },
- });
+ it('should deny actions if no entitlement has been granted for it', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordName,
+ userId: userId,
+ }
+ );
- const context =
- await controller.constructAuthorizationContext({
- recordKeyOrRecordName: 'otherRecord',
- userId: userId,
- });
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- const result = await controller.authorizeSubject(context, {
- subjectId: userId,
- subjectType: 'user',
- resourceKind: 'inst',
- action: 'read',
- resourceId: 'myInst',
- markers: [PUBLIC_READ_MARKER],
- });
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ // alaways recommend designated instead of shared
+ // because they are safer.
+ recommendedEntitlement: {
+ feature: feature,
+ scope: 'designated',
+ packageId: 'packageId',
+ recordName,
+ },
+ });
+ });
- expect(result).toEqual({
- success: false,
- errorCode: 'not_authorized',
- errorMessage:
- 'You are not authorized to perform this action.',
- reason: {
- type: 'disabled_privacy_feature',
- recordName: 'otherRecord',
- subjectType: 'user',
- subjectId: userId,
- resourceKind: 'inst',
- action: 'read',
- resourceId: 'myInst',
- privacyFeature: 'allowPublicInsts',
- },
- });
- });
- });
- });
+ it('should deny actions for the personal record if the entitlement grant has expired', async () => {
+ const context =
+ await controller.constructAuthorizationContext(
+ {
+ recordKeyOrRecordName:
+ recordName,
+ userId: userId,
+ }
+ );
- it('should normalize inst IDs', async () => {
- const context = await controller.constructAuthorizationContext({
- recordKeyOrRecordName: studioRecord,
- userId: userId,
- });
+ await store.saveGrantedPackageEntitlement({
+ id: 'entitlementId',
- const result = await controller.authorizeSubject(context, {
- subjectId: 'instId',
- subjectType: 'inst',
- resourceKind: 'data',
- action: 'read',
- resourceId: 'resourceId',
- markers: [PUBLIC_READ_MARKER],
- });
+ userId: userId,
- expect(result).toEqual({
- success: true,
- recordName: studioRecord,
- permission: {
- id: null,
- recordName: studioRecord,
+ packageId: 'packageId',
+ feature: feature,
+ scope: 'designated',
+ recordName,
+ expireTimeMs: 0,
- userId: null,
- subjectType: 'inst',
- subjectId: '/instId',
+ createdAtMs: 123,
+ revokeTimeMs: null,
+ });
- // resourceKind and action are specified
- // because members don't necessarily have all permissions in the studio
- resourceKind: 'data',
- action: 'read',
+ const result =
+ await controller.authorizeSubject(
+ context,
+ {
+ subjectId: instId,
+ subjectType: 'inst',
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ markers: [marker],
+ }
+ );
- marker: PUBLIC_READ_MARKER,
- options: {},
- expireTimeMs: null,
- },
- explanation: 'Resource has the publicRead marker.',
- });
+ expect(result).toEqual({
+ success: false,
+ errorCode: 'not_authorized',
+ errorMessage:
+ 'You are not authorized to perform this action.',
+ reason: {
+ type: 'missing_permission',
+ recordName: recordName,
+ subjectType: 'inst',
+ subjectId: instId,
+ resourceKind: resourceKind,
+ action: 'read',
+ resourceId: 'resourceId',
+ },
+ // alaways recommend designated instead of shared
+ // because they are safer.
+ recommendedEntitlement: {
+ feature: feature,
+ scope: 'designated',
+ recordName,
+ packageId: 'packageId',
+ },
+ });
+ });
+ });
+ }
+ );
+ }
+ );
});
});
diff --git a/src/aux-records/PolicyController.ts b/src/aux-records/PolicyController.ts
index c5bf4a3d3e..797f6bf3aa 100644
--- a/src/aux-records/PolicyController.ts
+++ b/src/aux-records/PolicyController.ts
@@ -21,7 +21,6 @@ import type {
ValidatePublicRecordKeyFailure,
ValidatePublicRecordKeyResult,
} from './RecordsController';
-import { isRecordKey } from './RecordsController';
import type {
NotSupportedError,
ServerError,
@@ -35,21 +34,28 @@ import type {
DenialReason,
PrivacyFeatures,
PermissionOptions,
+ Entitlement,
+ KnownErrorCodes,
+ GrantedEntitlementScope,
+ EntitlementFeature,
+ PublicRecordKeyPolicy,
+ UserRole,
} from '@casual-simulation/aux-common';
import {
ADMIN_ROLE_NAME,
PUBLIC_READ_MARKER,
ACCOUNT_MARKER,
- PUBLIC_WRITE_MARKER,
PRIVATE_MARKER,
+ isRecordKey,
+ isSuperUserRole,
+ normalizeInstId,
+ parseInstId,
} from '@casual-simulation/aux-common';
-import type {
- ListedStudioAssignment,
- PublicRecordKeyPolicy,
-} from './RecordsStore';
+import type { ListedStudioAssignment } from './RecordsStore';
import type {
AssignedRole,
AssignPermissionToSubjectAndMarkerFailure,
+ GrantedPackageEntitlement,
MarkerPermissionAssignment,
PolicyStore,
ResourcePermissionAssignment,
@@ -58,12 +64,16 @@ import type {
UserPrivacyFeatures,
} from './PolicyStore';
import { getExpireTime, getPublicMarkersPermission } from './PolicyStore';
-import { sortBy, without } from 'lodash';
+import { sortBy, without } from 'es-toolkit/compat';
import { getRootMarker, getRootMarkersOrDefault } from './Utils';
-import { normalizeInstId, parseInstId } from './websockets';
+import type {
+ InstRecordsStore,
+ LoadedPackage,
+} from './websockets/InstRecordsStore';
import { traced } from './tracing/TracingDecorators';
import { SpanStatusCode, trace } from '@opentelemetry/api';
-import type { UserRole } from './AuthStore';
+import type { PackageVersionRecordsStore } from './packages/version';
+import { v7 as uuidv7 } from 'uuid';
const TRACE_NAME = 'PolicyController';
@@ -105,6 +115,8 @@ const ALLOWED_STUDIO_MEMBER_RESOURCES: [ResourceKinds, ActionKinds[]][] = [
],
['loom', ['create']],
['webhook', ['read', 'create', 'delete', 'update', 'list', 'run']],
+ ['package', ['read', 'create', 'delete', 'update', 'list']],
+ ['package.version', ['read', 'create', 'delete', 'update', 'list', 'run']],
];
const ALLOWED_MODERATOR_ACTIONS = new Set([
@@ -112,6 +124,7 @@ const ALLOWED_MODERATOR_ACTIONS = new Set([
'list',
'listSubscriptions',
'count',
+ 'purchase',
] as ActionKinds[]);
function constructAllowedResourcesLookup(
@@ -237,15 +250,21 @@ export class PolicyController {
private _auth: AuthController;
private _records: RecordsController;
private _policies: PolicyStore;
+ private _insts: InstRecordsStore;
+ private _packageVersions: PackageVersionRecordsStore;
constructor(
auth: AuthController,
records: RecordsController,
- policies: PolicyStore
+ policies: PolicyStore,
+ insts: InstRecordsStore = null,
+ packageVersions: PackageVersionRecordsStore = null
) {
this._auth = auth;
this._records = records;
this._policies = policies;
+ this._insts = insts;
+ this._packageVersions = packageVersions;
}
/**
@@ -337,8 +356,13 @@ export class PolicyController {
);
}
+ const userRole =
+ (request.userId
+ ? userPrivacyFeatures?.userRole
+ : request.userRole) ?? 'none';
+
if (!userPrivacyFeatures) {
- if (this._auth.privoEnabled) {
+ if (this._auth.privoEnabled && userRole !== 'system') {
userPrivacyFeatures = {
allowAI: false,
allowPublicData: false,
@@ -366,7 +390,7 @@ export class PolicyController {
recordStudioId: studioId,
recordStudioMembers: studioMembers,
userId: request.userId,
- userRole: userPrivacyFeatures?.userRole ?? 'none',
+ userRole: userRole,
userPrivacyFeatures,
sendNotLoggedIn: request.sendNotLoggedIn ?? true,
};
@@ -735,7 +759,7 @@ export class PolicyController {
if (result.success) {
console.log(
- `[PolicyController] [action: ${request.resourceKind}.${request.action} resourceId: ${request.resourceId} recordName: ${context.recordName}, ${request.subjectType}: ${request.subjectId}, userId: ${context.userId}] Request authorized.`
+ `[PolicyController] [action: ${request.resourceKind}.${request.action} resourceId: ${request.resourceId} recordName: ${context.recordName}, ${request.subjectType}: ${request.subjectId}, userId: ${context.userId}] Request authorized: ${result.explanation}`
);
} else {
console.log(
@@ -760,6 +784,9 @@ export class PolicyController {
): Promise {
try {
const markers = getRootMarkersOrDefault(request.markers);
+ let recommendedEntitlement:
+ | RecommendedPackageEntitlement
+ | undefined = undefined;
if (request.action === 'list' && markers.length > 1) {
return {
success: false,
@@ -768,6 +795,7 @@ export class PolicyController {
reason: {
type: 'too_many_markers',
},
+ recommendedEntitlement,
};
}
@@ -787,11 +815,25 @@ export class PolicyController {
resourceId: request.resourceId,
privacyFeature: 'publishData',
},
+ recommendedEntitlement,
};
}
const recordName = context.recordName;
- if (context.userRole === 'superUser') {
+ const subjectType = request.subjectType;
+ let subjectId = request.subjectId;
+
+ if (subjectType === 'inst') {
+ subjectId = normalizeInstId(subjectId);
+ }
+
+ if (
+ context.userRole === 'superUser' &&
+ request.subjectType !== 'inst'
+ ) {
+ // super users are allowed to do anything for any user
+ // insts need to be authorized separately so that a malicious inst can't just do anything
+ // if a super user happens to visit it
return {
success: true,
recordName: recordName,
@@ -814,7 +856,36 @@ export class PolicyController {
},
explanation: `User is a superUser.`,
};
- } else if (context.userRole === 'moderator') {
+ } else if (context.userRole === 'system') {
+ return {
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName: recordName,
+ userId: null,
+
+ // Record owners are treated as if they are admins in the record
+ subjectType: 'role',
+ subjectId: ADMIN_ROLE_NAME,
+
+ // Admins get all access to all resources in a record
+ resourceKind: null,
+ action: null,
+
+ marker: markers[0],
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: `The system is requesting the action.`,
+ };
+ } else if (
+ context.userRole === 'moderator' &&
+ request.subjectType !== 'inst'
+ ) {
+ // moderators are allowed to read anything for any user
+ // insts need to be authorized separately so that a malicious inst can't just read everything
+ // if a moderator happens to visit it
if (
isAllowedModeratorResource(
request.resourceKind,
@@ -846,13 +917,6 @@ export class PolicyController {
}
}
- const subjectType = request.subjectType;
- let subjectId = request.subjectId;
-
- if (subjectType === 'inst') {
- subjectId = normalizeInstId(subjectId);
- }
-
const publicPermission = getPublicMarkersPermission(
markers,
request.resourceKind,
@@ -879,6 +943,7 @@ export class PolicyController {
resourceId: request.resourceId,
privacyFeature: 'allowPublicData',
},
+ recommendedEntitlement,
};
}
@@ -902,6 +967,7 @@ export class PolicyController {
resourceId: request.resourceId,
privacyFeature: 'allowPublicInsts',
},
+ recommendedEntitlement,
};
}
}
@@ -923,6 +989,7 @@ export class PolicyController {
resourceId: request.resourceId,
privacyFeature: 'allowPublicData',
},
+ recommendedEntitlement,
};
}
@@ -1125,91 +1192,228 @@ export class PolicyController {
};
}
- if (instId.recordName) {
- if (instId.recordName === recordName) {
- return {
- success: true,
- recordName: recordName,
- permission: {
- id: null,
- recordName: recordName,
+ const entitlementFeature = getEntitlementFeatureForAction(
+ request.resourceKind,
+ request.action
+ );
+ let hasPackages = false;
+ if (entitlementFeature) {
+ const loadedPackages =
+ (await this._insts?.listLoadedPackages(
+ instId.recordName,
+ instId.inst
+ )) ?? [];
+
+ const grantedEntitlements =
+ await this._policies.listGrantedEntitlementsByFeatureAndUserId(
+ loadedPackages.map((p) => p.packageId),
+ entitlementFeature,
+ context.userId,
+ context.recordName,
+ Date.now()
+ );
- userId: null,
- subjectType: 'inst',
- subjectId: subjectId,
+ if (
+ loadedPackages?.length > 0 ||
+ grantedEntitlements?.length > 0
+ ) {
+ hasPackages = true;
+ }
- // resourceKind and action are specified
- // because insts don't necessarily have all permissions in the record
- resourceKind: request.resourceKind,
- action: request.action,
+ if (grantedEntitlements && grantedEntitlements.length > 0) {
+ // check scope
+ const entitlement = grantedEntitlements.find(
+ (entitlement) => {
+ if (
+ entitlement.revokeTimeMs === null &&
+ entitlement.scope === 'designated' &&
+ entitlement.recordName ===
+ context.recordName
+ ) {
+ // Entitlement is for the current record
+ return true;
+ } else {
+ return false;
+ }
+ }
+ );
- marker: markers[0],
- options: {},
- expireTimeMs: null,
- },
- explanation: `Inst is owned by the record.`,
- };
+ if (entitlement) {
+ const loadedPackage = loadedPackages.find(
+ (lp) => lp.packageId === entitlement.packageId
+ );
+ return {
+ success: true,
+ recordName,
+ permission: {
+ id: null,
+ recordName,
+
+ userId: context.userId,
+
+ subjectType: 'inst',
+ subjectId: subjectId,
+
+ // Not all actions or resources are granted though
+ resourceKind: request.resourceKind,
+ resourceId: request.resourceId,
+
+ action: request.action,
+
+ options: {},
+ expireTimeMs: entitlement.expireTimeMs,
+ },
+ entitlementGrant: {
+ ...entitlement,
+ loadedPackage,
+ },
+ explanation: `Inst has entitlement.`,
+ };
+ }
}
- const instRecord = await this._records.validateRecordName(
- instId.recordName,
- context.userId
- );
+ if (hasPackages) {
+ const firstPackage = loadedPackages[0];
+ const pkg = await this._packageVersions?.getItemById(
+ firstPackage.packageVersionId
+ );
- if (instRecord.success === false) {
- return instRecord;
- } else if (
- instRecord.ownerId &&
- instRecord.ownerId === context.recordOwnerId
- ) {
- return {
- success: true,
- recordName: recordName,
- permission: {
- id: null,
+ if (pkg?.item) {
+ const canRecommendEntitlement =
+ pkg.item.entitlements.some((e) => {
+ if (
+ e.scope === 'personal' &&
+ context.userId === context.recordName
+ ) {
+ return true;
+ } else if (
+ e.scope === 'owned' &&
+ context.recordOwnerId === context.userId
+ ) {
+ return true;
+ } else if (
+ e.scope === 'studio' &&
+ context.recordStudioMembers?.some(
+ (m) => m.userId === context.userId
+ )
+ ) {
+ return true;
+ } else if (
+ e.scope === 'designated' &&
+ e.designatedRecords?.includes(
+ context.recordName
+ )
+ ) {
+ return true;
+ } else if (e.scope === 'shared') {
+ return true;
+ }
+
+ return false;
+ });
+
+ if (canRecommendEntitlement) {
+ recommendedEntitlement = {
+ feature: entitlementFeature,
+ scope: 'designated',
+ recordName: context.recordName,
+ packageId: loadedPackages[0].packageId,
+ };
+ }
+ }
+ }
+ }
+
+ // Automatic permissions don't apply to insts with packages
+ // TODO: Maybe add a flag for insts to choose whether they want automatic permissions or if they have to explicitly grant them or use packages
+ if (!hasPackages) {
+ if (instId.recordName) {
+ if (instId.recordName === recordName) {
+ return {
+ success: true,
+ recordName: recordName,
+ permission: {
+ id: null,
+ recordName: recordName,
+
+ userId: null,
+ subjectType: 'inst',
+ subjectId: subjectId,
+
+ // resourceKind and action are specified
+ // because insts don't necessarily have all permissions in the record
+ resourceKind: request.resourceKind,
+ action: request.action,
+
+ marker: markers[0],
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: `Inst is owned by the record.`,
+ };
+ }
+
+ const instRecord =
+ await this._records.validateRecordName(
+ instId.recordName,
+ context.userId
+ );
+
+ if (instRecord.success === false) {
+ return instRecord;
+ } else if (
+ instRecord.ownerId &&
+ instRecord.ownerId === context.recordOwnerId
+ ) {
+ return {
+ success: true,
recordName: recordName,
+ permission: {
+ id: null,
+ recordName: recordName,
- userId: null,
- subjectType: 'inst',
- subjectId: subjectId,
+ userId: null,
+ subjectType: 'inst',
+ subjectId: subjectId,
- // resourceKind and action are specified
- // because insts don't necessarily have all permissions in the record
- resourceKind: request.resourceKind,
- action: request.action,
+ // resourceKind and action are specified
+ // because insts don't necessarily have all permissions in the record
+ resourceKind: request.resourceKind,
+ action: request.action,
- marker: markers[0],
- options: {},
- expireTimeMs: null,
- },
- explanation: `Inst is owned by the record's (${recordName}) owner (${context.recordOwnerId}).`,
- };
- } else if (
- instRecord.studioId &&
- instRecord.studioId === context.recordStudioId
- ) {
- return {
- success: true,
- recordName: recordName,
- permission: {
- id: null,
+ marker: markers[0],
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: `Inst is owned by the record's (${recordName}) owner (${context.recordOwnerId}).`,
+ };
+ } else if (
+ instRecord.studioId &&
+ instRecord.studioId === context.recordStudioId
+ ) {
+ return {
+ success: true,
recordName: recordName,
+ permission: {
+ id: null,
+ recordName: recordName,
- userId: null,
- subjectType: 'inst',
- subjectId: subjectId,
+ userId: null,
+ subjectType: 'inst',
+ subjectId: subjectId,
- // resourceKind and action are specified
- // because insts don't necessarily have all permissions in the record
- resourceKind: request.resourceKind,
- action: request.action,
+ // resourceKind and action are specified
+ // because insts don't necessarily have all permissions in the record
+ resourceKind: request.resourceKind,
+ action: request.action,
- marker: markers[0],
- options: {},
- expireTimeMs: null,
- },
- explanation: `Inst is owned by the record's (${recordName}) studio (${context.recordStudioId}).`,
- };
+ marker: markers[0],
+ options: {},
+ expireTimeMs: null,
+ },
+ explanation: `Inst is owned by the record's (${recordName}) studio (${context.recordStudioId}).`,
+ };
+ }
}
}
}
@@ -1343,6 +1547,7 @@ export class PolicyController {
resourceId: request.resourceId,
action: request.action,
},
+ recommendedEntitlement,
};
} catch (err) {
console.error(
@@ -2532,6 +2737,173 @@ export class PolicyController {
};
}
}
+
+ /**
+ * Attempts to grant an entitlement to a package.
+ * @param request
+ */
+ @traced(TRACE_NAME)
+ async grantEntitlement(
+ request: GrantEntitlementRequest
+ ): Promise