From d4b8796b9fa6236768b202692fb36b362ef7cde0 Mon Sep 17 00:00:00 2001 From: headpatsyou Date: Thu, 8 Jan 2026 18:18:26 +0000 Subject: [PATCH] First code commit --- .gitignore | 9 + README.md | 180 +- next-env.d.ts | 5 + next.config.mjs | 9 + package-lock.json | 6125 ++++++++++++++++++++++++++++ package.json | 30 + postcss.config.js | 6 + public/branding/logo.png | Bin 0 -> 76018 bytes src/app/admin/page.tsx | 352 ++ src/app/api/admin/config/route.ts | 59 + src/app/api/admin/stats/route.ts | 17 + src/app/api/admin/upload/route.ts | 49 + src/app/api/auth/route.ts | 12 + src/app/api/find-lifter/route.ts | 40 + src/app/api/submit/route.ts | 40 + src/app/globals.css | 7 + src/app/layout.tsx | 22 + src/app/page.tsx | 108 + src/components/Footer.tsx | 25 + src/components/FormField.tsx | 62 + src/components/IdentityForm.tsx | 76 + src/components/LandingPage.tsx | 33 + src/components/RackHeightsForm.tsx | 156 + src/components/Spinner.tsx | 7 + src/components/StatusMessage.tsx | 23 + src/components/SubmitButton.tsx | 22 + src/config/config.json.example | 7 + src/services/adminStats.ts | 37 + src/types/lifter.ts | 5 + src/types/rackHeights.ts | 9 + src/utils/stringNormalization.ts | 8 + src/utils/validation.ts | 19 + tailwind.config.ts | 25 + tsconfig.json | 56 + 34 files changed, 7637 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 next-env.d.ts create mode 100644 next.config.mjs create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 public/branding/logo.png create mode 100644 src/app/admin/page.tsx create mode 100644 src/app/api/admin/config/route.ts create mode 100644 src/app/api/admin/stats/route.ts create mode 100644 src/app/api/admin/upload/route.ts create mode 100644 src/app/api/auth/route.ts create mode 100644 src/app/api/find-lifter/route.ts create mode 100644 src/app/api/submit/route.ts create mode 100644 src/app/globals.css create mode 100644 src/app/layout.tsx create mode 100644 src/app/page.tsx create mode 100644 src/components/Footer.tsx create mode 100644 src/components/FormField.tsx create mode 100644 src/components/IdentityForm.tsx create mode 100644 src/components/LandingPage.tsx create mode 100644 src/components/RackHeightsForm.tsx create mode 100644 src/components/Spinner.tsx create mode 100644 src/components/StatusMessage.tsx create mode 100644 src/components/SubmitButton.tsx create mode 100644 src/config/config.json.example create mode 100644 src/services/adminStats.ts create mode 100644 src/types/lifter.ts create mode 100644 src/types/rackHeights.ts create mode 100644 src/utils/stringNormalization.ts create mode 100644 src/utils/validation.ts create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c1d217 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.next +node_modules +.env* +*.log +out +dist +.DS_Store +config.json +*.csv diff --git a/README.md b/README.md index fb6cb88..68efa8c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,179 @@ -# heights +# Altarra -Submissão automática de alturas da barra diretamente ao LiftingCast. +Submissão automática de alturas da barra diretamente ao LiftingCast. Sem papéis, sem complica, tudo online durante a competição. -Utiliza a API da LiftingCast para submissão automática na plataforma. Não requer que a pessoa entregue papeis. \ No newline at end of file +## O que é isto? + +O Altarra é uma aplicação web rápida e segura que permite aos atletas submeterem as alturas do rack enquanto estão na zona de aquecimento. Em vez de andar com papéis, cada um acede à plataforma pelo telemóvel, identifica-se com o nome e data de nascimento, e submete as alturas. Pronto. + +A plataforma sincroniza automaticamente com o LiftingCast, portanto os árbitros e técnicos têm tudo actualizado em tempo real. + +## Funcionalidades + +### Para os Atletas + +- Identificação por nome e data de nascimento (com busca inteligente) +- Submissão de alturas em dois passos: primeiro identificação, depois as alturas +- Interface mobile-friendly (pensada para telemóvel, funciona bem em desktop também) +- Mensagens de erro claras em português +- Confirmação visual com animação de checkmark quando submete +- Spinner a carregar enquanto a app trabalha (para não parecer que está preso) + +### Para os Organizadores + +- Painel de administração em http://seu-dominio.pt/admin +- Edição de configuração em tempo real (Meet ID, Auth String, etc) +- Upload de CSV e logo sem recompilar a aplicação +- Visualização de estatísticas (quantos atletas estão no ficheiro, etc) +- Suporta múltiplas competições apenas trocando ficheiro CSV e configuração + +### Técnico + +- Autenticação por URL param (?auth=...) - é seguro, não expõe credenciais +- Busca de atletas com matching inteligente (case-insensitive, sem acentos, parcial) +- Verificação de data de nascimento para confirmar identidade +- API interna que faz proxy para LiftingCast (a chave de integração fica segura no servidor) +- Nenhum ficheiro sensível (CSV, config, credenciais) está acessível publicamente +- Design responsivo com Tailwind, estilos inspirados na bandeira portuguesa (verde + vermelho) + +## Instalação e Setup + +### 1. Clonar e instalar + +```bash +npm install +``` + +### 2. Configurar + +Edita `src/config/config.json`: + +```json +{ + "meetId": "seu-meet-id-do-liftingcast", + "csvFileName": "seu-ficheiro.csv", + "authString": "palavra-passe-segura", + "adminPassword": "password-admin", + "competitionName": "Nome da sua Competição" +} +``` + +Copia o teu CSV para `src/data/seu-ficheiro.csv` (o formato esperado está documentado em baixo). + +Coloca a logo em `public/branding/logo.png`. + +### 3. Rodar localmente + +```bash +npm run dev +``` + +Depois acede a http://localhost:3000?auth=palavra-passe-segura + +## Estrutura do Projeto + +``` +src/ + app/ + admin/ # Painel de admin + page.tsx + api/ + auth/ # Valida o auth param + find-lifter/ # Busca atleta no CSV + submit/ # Submete ao LiftingCast + admin/ # Config e upload (admin) + layout.tsx + page.tsx # Página principal + components/ # UI reutilizável + config/ # config.json (não commitar!) + data/ # Ficheiros CSV (não commitar!) + services/ # Lógica de server (stats, etc) + types/ # TypeScript types + utils/ # Helpers (validation, normalization) +public/ + branding/ # Logo da competição +``` + +## Fluxo da Aplicação + +1. **Login**: O utilizador acede com ?auth=... ou vê a página de boas-vindas se não tem autorização +2. **Identificação**: Insere nome completo e data de nascimento +3. **Busca**: A app procura no CSV, verifica data, e confirma identidade +4. **Alturas**: Se encontrado, preenche as alturas (agachamento, supino, blocos) +5. **Submissão**: Envia ao LiftingCast, mostra confirmação com checkmark +6. **Reutilização**: Pode submeter outro atleta ou as mesmas alturas de novo + +## Painel de Admin + +Acede a `/admin` com a tua password. + +Daqui podes: +- Ver quantos atletas estão carregados +- Upload de novo CSV (troca automática) +- Upload de logo +- Editar todas as configurações (Meet ID, Auth String, etc) sem tocar em ficheiros + +As mudanças levam efeito imediatamente. + +## Ficheiro CSV + +Esperamos um CSV com estas colunas (extraído do LiftingCast): + +``` +name, birthDate, memberNumber, ... (outras colunas ignoradas) +``` + +Formato de data: `DD/MM/YYYY` + +O matching de nomes é flexible: +- Não liga a maiúsculas/minúsculas +- Remove acentos (então "João" encontra "JOAO") +- Busca parcial (então "João Silva" encontra "JOÃO MANUEL SILVA") + +## Segurança + +- A chave do LiftingCast fica no servidor (nunca vai para o cliente) +- O CSV não está disponível via URL +- Auth é por query param seguro (ideal para QR codes) +- Validação de campos obrigatórios no servidor +- Sem SQL injection, XSS, ou outras brincadeiras - tudo sanitizado + +## Deploy (Coolify, Vercel, ou outro) + +Se usas Docker/Coolify: + +- Mount `src/data/` e `public/branding/` como volumes, assim podes trocar ficheiros sem rebuild +- Variáveis de ambiente: a app lê de `src/config/config.json`, portanto não precisa .env (mas podes adicionar se quiseres) +- Build: `npm run build`, run: `npm start` + +Se usas Vercel: + +- Coloca o CSV em `src/data/` antes de fazer push +- A logo em `public/branding/logo.png` +- Deploy automático no push + +## Desenvolvimento + +Estrutura de pastas pensada para crescer: +- Components reutilizáveis em `src/components/` +- Lógica de server em `src/services/` e `src/app/api/` +- Tipos TS centralizados em `src/types/` +- Validação e helpers em `src/utils/` + +Adiciona `"use client"` no topo de ficheiros que usem useState, useEffect, event handlers, etc. + +## Troubleshooting + +**"Não conseguo fazer upload do CSV"**: Verifica se o ficheiro está bem formatado (CSV simples, não Excel). A password de admin está correcta? + +**"Ninguém consegue aceder à form"**: Verifica se o auth param na URL é igual ao `authString` em config.json. Gera um QR code e testa. + +**"A logo não aparece"**: Coloca o ficheiro em `public/branding/logo.png` (ou outro nome) e actualiza o código se o nome for diferente. + +**"A app está lenta"**: Se há centenas de atletas, adiciona caching do CSV em memória no servidor. Contacta o suporte. + +## Licença e Créditos + +Feito por comfy.solutions para a APP (Associação Portuguesa de Powerlifting). + +Podes reportar bugs e sugestões em https://comfy.fillout.com/altarra-errors \ No newline at end of file diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 0000000..4f11a03 --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 0000000..501fc93 --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,9 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + reactStrictMode: true, + experimental: { + optimizePackageImports: ['react', 'react-dom'] + } +}; + +export default nextConfig; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..6fccc01 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6125 @@ +{ + "name": "heights", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "heights", + "version": "0.1.0", + "dependencies": { + "next": "14.1.0", + "papaparse": "5.4.1", + "react": "18.2.0", + "react-checkmark": "2.1.1", + "react-dom": "18.2.0" + }, + "devDependencies": { + "@types/node": "20.10.6", + "@types/papaparse": "5.3.14", + "@types/react": "18.2.37", + "@types/react-dom": "18.2.15", + "autoprefixer": "10.4.16", + "eslint": "8.55.0", + "eslint-config-next": "14.1.0", + "postcss": "8.4.32", + "tailwindcss": "3.3.6", + "typescript": "5.3.3" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emnapi/core": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", + "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", + "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@next/env": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.1.0.tgz", + "integrity": "sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.0.tgz", + "integrity": "sha512-x4FavbNEeXx/baD/zC/SdrvkjSby8nBn8KcCREqk6UuwvwoAPZmaV8TFCAuo/cpovBRTIY67mHhe86MQQm/68Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "10.3.10" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.0.tgz", + "integrity": "sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.0.tgz", + "integrity": "sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.0.tgz", + "integrity": "sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.0.tgz", + "integrity": "sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.0.tgz", + "integrity": "sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.0.tgz", + "integrity": "sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.0.tgz", + "integrity": "sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.0.tgz", + "integrity": "sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.0.tgz", + "integrity": "sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.15.0.tgz", + "integrity": "sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", + "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/papaparse": { + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/@types/papaparse/-/papaparse-5.3.14.tgz", + "integrity": "sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.2.37", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.37.tgz", + "integrity": "sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.15", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.15.tgz", + "integrity": "sha512-HWMdW+7r7MR5+PZqJF6YFNSCtjz1T0dsvo/f1BV6HkV+6erD/nA7wd9NM00KVG83zf2nJ7uATPO9ttdIPvi3gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-WFHp9YUJQ6CKshqoC37iOlHnQSmxNc795UhB26CyBBttrN9svdIrUjl/NjnNmfcwtncN0h/0PPAFWv9ovP8mLA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.1.tgz", + "integrity": "sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.13", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.13.tgz", + "integrity": "sha512-WhtvB2NG2wjr04+h77sg3klAIwrgOqnjS49GGudnUPGFFgg7G17y7Qecqp+2Dr5kUDxNRBca0SK7cG8JwzkWDQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001763", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001763.tgz", + "integrity": "sha512-mh/dGtq56uN98LlNX9qdbKnzINhX0QzhiWBFEkFfsFO4QyCvL8YegrJAazCwXIeqkIob8BlZPGM3xdnY+sgmvQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-abstract": { + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "dev": true, + "license": "MIT", + "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.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "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.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", + "stop-iteration-iterator": "^1.1.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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", + "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.1", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", + "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.55.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-next": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.1.0.tgz", + "integrity": "sha512-SBX2ed7DoRFXC6CQSLc/SbLY9Ut6HxNB2wPTcoIWjUMd7aF7O/SIE7111L8FdZ9TXsNV4pulUDnfthpyPtbFUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "14.1.0", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0-canary-7118f5dd7-20230705", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", + "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", + "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/next/-/next-14.1.0.tgz", + "integrity": "sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==", + "deprecated": "This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/security-update-2025-12-11 for more details.", + "license": "MIT", + "dependencies": { + "@next/env": "14.1.0", + "@swc/helpers": "0.5.2", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.1.0", + "@next/swc-darwin-x64": "14.1.0", + "@next/swc-linux-arm64-gnu": "14.1.0", + "@next/swc-linux-arm64-musl": "14.1.0", + "@next/swc-linux-x64-gnu": "14.1.0", + "@next/swc-linux-x64-musl": "14.1.0", + "@next/swc-win32-arm64-msvc": "14.1.0", + "@next/swc-win32-ia32-msvc": "14.1.0", + "@next/swc-win32-x64-msvc": "14.1.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/papaparse": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.4.1.tgz", + "integrity": "sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==", + "license": "MIT" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-checkmark": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-checkmark/-/react-checkmark-2.1.1.tgz", + "integrity": "sha512-vWjlIlarvyB7mMAUXb1IO995J6xZQbI0q5T9EbEbyJGJH9znqheGs3cEy4IrPCk1b3W4G2n5iYkKfNzFQEcM+w==", + "license": "Apache-2.0", + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1" + } + }, + "node_modules/react-checkmark/node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-checkmark/node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.6.tgz", + "integrity": "sha512-AKjF7qbbLvLaPieoKeTjG1+FyNZT6KaJMJPFeQyLfIp7l82ggH1fbHJSsYIvnbTFQOlkh+gBYpyby5GT1LIdLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "license": "MIT" + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "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" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..e5a99b1 --- /dev/null +++ b/package.json @@ -0,0 +1,30 @@ +{ + "name": "altarra", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "next": "14.1.0", + "react": "18.2.0", + "react-dom": "18.2.0", + "papaparse": "5.4.1", + "react-checkmark": "2.1.1" + }, + "devDependencies": { + "@types/node": "20.10.6", + "@types/react": "18.2.37", + "@types/react-dom": "18.2.15", + "@types/papaparse": "5.3.14", + "autoprefixer": "10.4.16", + "eslint": "8.55.0", + "eslint-config-next": "14.1.0", + "postcss": "8.4.32", + "tailwindcss": "3.3.6", + "typescript": "5.3.3" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/branding/logo.png b/public/branding/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..75bbd612bbaf3426693f1f302fdb27a736a678a2 GIT binary patch literal 76018 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 Nl@}Tc-{njL{|84RV%h)z literal 0 HcmV?d00001 diff --git a/src/app/admin/page.tsx b/src/app/admin/page.tsx new file mode 100644 index 0000000..8b9b057 --- /dev/null +++ b/src/app/admin/page.tsx @@ -0,0 +1,352 @@ +"use client" + +import { useState } from 'react' + +type Stats = { + lifterCount: number + csvFileName: string + csvFiles: string[] + logoFiles: string[] + meetId: string + error?: string +} + +type Config = { + meetId: string + csvFileName: string + authString: string + adminPassword: string + competitionName: string +} + +export default function AdminPage() { + const [password, setPassword] = useState('') + const [authenticated, setAuthenticated] = useState(false) + const [stats, setStats] = useState(null) + const [config, setConfig] = useState(null) + const [loading, setLoading] = useState(false) + const [message, setMessage] = useState('') + const [csvFile, setCsvFile] = useState(null) + const [logoFile, setLogoFile] = useState(null) + const [uploading, setUploading] = useState(false) + const [editingConfig, setEditingConfig] = useState(false) + const [configForm, setConfigForm] = useState(null) + const [savingConfig, setSavingConfig] = useState(false) + + async function handleLogin(e: React.FormEvent) { + e.preventDefault() + setLoading(true) + setMessage('') + try { + const res = await fetch(`/api/admin/stats?password=${encodeURIComponent(password)}`) + if (!res.ok) { + setMessage('❌ Senha incorreta') + setLoading(false) + return + } + const data = await res.json() + setStats(data) + setConfig(data) + setConfigForm(data) + setAuthenticated(true) + } catch { + setMessage('❌ Erro ao conectar') + } finally { + setLoading(false) + } + } + + async function handleUpload(e: React.FormEvent) { + e.preventDefault() + if (!csvFile && !logoFile) { + setMessage('❌ Selecione pelo menos um arquivo') + return + } + + setUploading(true) + setMessage('') + const formData = new FormData() + if (csvFile) formData.append('csv', csvFile) + if (logoFile) formData.append('logo', logoFile) + + try { + const res = await fetch('/api/admin/upload', { + method: 'POST', + headers: { 'x-admin-password': password }, + body: formData + }) + const data = await res.json() + if (res.ok) { + setMessage(`✓ ${data.csv || ''} ${data.logo || ''}`) + setCsvFile(null) + setLogoFile(null) + // Reload stats + const statsRes = await fetch(`/api/admin/stats?password=${encodeURIComponent(password)}`) + const newStats = await statsRes.json() + setStats(newStats) + } else { + setMessage(`❌ ${data.error}`) + } + } catch { + setMessage('❌ Erro no upload') + } finally { + setUploading(false) + } + } + + if (!authenticated) { + return ( +
+
+

Admin - Altarra

+
+
+ + setPassword(e.target.value)} + className="w-full rounded-md border border-gray-300 px-3 py-2" + disabled={loading} + /> +
+ +
+ {message &&

{message}

} +
+
+ ) + } + + return ( +
+
+

Admin - Altarra

+
+ + {stats && ( +
+
+

Estatísticas

+
+

+ Atletas: {stats.lifterCount} +

+

+ CSV Atual: {stats.csvFileName} +

+

+ Meet ID: {stats.meetId} +

+ {stats.csvFiles.length > 0 && ( +
+ CSVs Disponíveis: +
    + {stats.csvFiles.map((f) => ( +
  • {f}
  • + ))} +
+
+ )} + {stats.logoFiles.length > 0 && ( +
+ Logos: +
    + {stats.logoFiles.map((f) => ( +
  • {f}
  • + ))} +
+
+ )} +
+
+
+ )} + +
+

Upload

+
+
+ + setCsvFile(e.target.files?.[0] || null)} + className="block w-full text-sm text-gray-500 file:mr-2 file:rounded-md file:border-0 file:bg-brand-600 file:px-3 file:py-1 file:text-white" + disabled={uploading} + /> +
+
+ + setLogoFile(e.target.files?.[0] || null)} + className="block w-full text-sm text-gray-500 file:mr-2 file:rounded-md file:border-0 file:bg-brand-600 file:px-3 file:py-1 file:text-white" + disabled={uploading} + /> +
+ +
+ {message && ( +

{message}

+ )} +
+ +
+

Configuração

+ {editingConfig && configForm ? ( +
{ + e.preventDefault() + setSavingConfig(true) + setMessage('') + try { + const res = await fetch('/api/admin/config', { + method: 'POST', + headers: { 'Content-Type': 'application/json', 'x-admin-password': password }, + body: JSON.stringify(configForm) + }) + const data = await res.json() + if (res.ok) { + setMessage(data.message || '✓ Configuração atualizada') + setConfig(configForm) + setEditingConfig(false) + } else { + setMessage(`❌ ${data.error}`) + } + } catch { + setMessage('❌ Erro ao salvar configuração') + } finally { + setSavingConfig(false) + } + }} + className="space-y-4" + > +
+ + setConfigForm({ ...configForm, meetId: e.target.value })} + className="w-full rounded-md border border-gray-300 px-3 py-2" + disabled={savingConfig} + /> +
+
+ + setConfigForm({ ...configForm, csvFileName: e.target.value })} + className="w-full rounded-md border border-gray-300 px-3 py-2" + disabled={savingConfig} + /> +
+
+ + setConfigForm({ ...configForm, authString: e.target.value })} + className="w-full rounded-md border border-gray-300 px-3 py-2" + disabled={savingConfig} + /> +
+
+ + setConfigForm({ ...configForm, adminPassword: e.target.value })} + className="w-full rounded-md border border-gray-300 px-3 py-2" + disabled={savingConfig} + /> +
+
+ + setConfigForm({ ...configForm, competitionName: e.target.value })} + className="w-full rounded-md border border-gray-300 px-3 py-2" + disabled={savingConfig} + /> +
+
+ + +
+ {message && ( +

{message}

+ )} +
+ ) : ( +
+
+

+ Meet ID: {config?.meetId} +

+

+ CSV: {config?.csvFileName} +

+

+ Auth String: {config?.authString} +

+

+ Competition: {config?.competitionName} +

+
+ +
+ )} +
+ +
+ +
+
+ ) +} diff --git a/src/app/api/admin/config/route.ts b/src/app/api/admin/config/route.ts new file mode 100644 index 0000000..7ffbb68 --- /dev/null +++ b/src/app/api/admin/config/route.ts @@ -0,0 +1,59 @@ +import { NextRequest, NextResponse } from 'next/server' +import { readFile, writeFile } from 'node:fs/promises' +import path from 'node:path' +import config from '@/config/config.json' + +export const runtime = 'nodejs' + +type ConfigData = { + meetId: string + csvFileName: string + authString: string + adminPassword: string + competitionName: string +} + +export async function GET(req: NextRequest) { + const password = req.headers.get('x-admin-password') || '' + if (password !== config.adminPassword) { + return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }) + } + + try { + const configPath = path.join(process.cwd(), 'src', 'config', 'config.json') + const content = await readFile(configPath, 'utf8') + const data = JSON.parse(content) + return NextResponse.json(data) + } catch (e: any) { + return NextResponse.json({ error: 'Failed to read config' }, { status: 500 }) + } +} + +export async function POST(req: NextRequest) { + const password = req.headers.get('x-admin-password') || '' + if (password !== config.adminPassword) { + return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }) + } + + try { + const body = (await req.json()) as Partial + + if (!body.meetId || !body.csvFileName || !body.authString || !body.adminPassword || !body.competitionName) { + return NextResponse.json({ error: 'All fields are required' }, { status: 400 }) + } + + const configPath = path.join(process.cwd(), 'src', 'config', 'config.json') + const newConfig: ConfigData = { + meetId: body.meetId, + csvFileName: body.csvFileName, + authString: body.authString, + adminPassword: body.adminPassword, + competitionName: body.competitionName + } + + await writeFile(configPath, JSON.stringify(newConfig, null, 2)) + return NextResponse.json({ success: true, message: '✓ Configuração atualizada com sucesso!' }) + } catch (e: any) { + return NextResponse.json({ error: `Failed to save config: ${e.message}` }, { status: 500 }) + } +} diff --git a/src/app/api/admin/stats/route.ts b/src/app/api/admin/stats/route.ts new file mode 100644 index 0000000..c40e17a --- /dev/null +++ b/src/app/api/admin/stats/route.ts @@ -0,0 +1,17 @@ +import { NextRequest, NextResponse } from 'next/server' +import { getLifterStats } from '@/services/adminStats' +import config from '@/config/config.json' + +export const runtime = 'nodejs' + +export async function GET(req: NextRequest) { + const { searchParams } = new URL(req.url) + const password = searchParams.get('password') || '' + + if (password !== config.adminPassword) { + return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }) + } + + const stats = await getLifterStats() + return NextResponse.json(stats) +} diff --git a/src/app/api/admin/upload/route.ts b/src/app/api/admin/upload/route.ts new file mode 100644 index 0000000..0de1a8b --- /dev/null +++ b/src/app/api/admin/upload/route.ts @@ -0,0 +1,49 @@ +import { NextRequest, NextResponse } from 'next/server' +import { writeFile } from 'node:fs/promises' +import path from 'node:path' +import config from '@/config/config.json' + +export const runtime = 'nodejs' +export const config_edge = { maxDuration: 30 } + +export async function POST(req: NextRequest) { + const password = req.headers.get('x-admin-password') || '' + + if (password !== config.adminPassword) { + return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }) + } + + const formData = await req.formData() + const csvFile = formData.get('csv') as File | null + const logoFile = formData.get('logo') as File | null + + const results: { csv?: string; logo?: string; error?: string } = {} + + if (csvFile) { + try { + const buffer = await csvFile.arrayBuffer() + const csvPath = path.join(process.cwd(), 'src', 'data', csvFile.name) + await writeFile(csvPath, Buffer.from(buffer)) + results.csv = `✓ CSV uploaded: ${csvFile.name}` + } catch (e: any) { + results.error = `CSV upload failed: ${e.message}` + } + } + + if (logoFile) { + try { + const buffer = await logoFile.arrayBuffer() + const logoPath = path.join(process.cwd(), 'public', 'branding', logoFile.name) + await writeFile(logoPath, Buffer.from(buffer)) + results.logo = `✓ Logo uploaded: ${logoFile.name}` + } catch (e: any) { + results.error = `Logo upload failed: ${e.message}` + } + } + + if (!csvFile && !logoFile) { + return NextResponse.json({ error: 'No files provided' }, { status: 400 }) + } + + return NextResponse.json(results) +} diff --git a/src/app/api/auth/route.ts b/src/app/api/auth/route.ts new file mode 100644 index 0000000..f5165ba --- /dev/null +++ b/src/app/api/auth/route.ts @@ -0,0 +1,12 @@ +import { NextRequest, NextResponse } from 'next/server' +import config from '@/config/config.json' + +export const runtime = 'nodejs' + +export async function GET(req: NextRequest) { + const { searchParams } = new URL(req.url) + const auth = searchParams.get('auth') || '' + const ok = auth === config.authString + if (!ok) return NextResponse.json({ ok: false }, { status: 401 }) + return NextResponse.json({ ok: true }) +} diff --git a/src/app/api/find-lifter/route.ts b/src/app/api/find-lifter/route.ts new file mode 100644 index 0000000..6a8b963 --- /dev/null +++ b/src/app/api/find-lifter/route.ts @@ -0,0 +1,40 @@ +import { NextRequest, NextResponse } from 'next/server' +import { readFile } from 'node:fs/promises' +import path from 'node:path' +import Papa from 'papaparse' +import config from '@/config/config.json' +import { normalizeString } from '@/utils/stringNormalization' +import type { Lifter } from '@/types/lifter' + +export const runtime = 'nodejs' + +type CsvRow = Record + +async function loadLifters(): Promise { + const csvPath = path.join(process.cwd(), 'src', 'data', config.csvFileName) + const content = await readFile(csvPath, 'utf8') + const parsed = Papa.parse(content, { header: true, skipEmptyLines: true }) + const lifters: Lifter[] = (parsed.data || []).map((row) => ({ + name: (row['name'] || '').trim(), + birthDate: (row['birthDate'] || '').trim(), + memberNumber: String(row['memberNumber'] || '').trim() + })) + return lifters.filter((l) => l.name && l.birthDate && l.memberNumber) +} + +export async function POST(req: NextRequest) { + const { name, birthDate } = (await req.json()) as { name?: string; birthDate?: string } + if (!name || !birthDate) { + return NextResponse.json({ error: 'validation_error' }, { status: 400 }) + } + // basic date format check + if (!/^\d{2}\/\d{2}\/\d{4}$/.test(birthDate)) { + return NextResponse.json({ error: 'date_format_error' }, { status: 400 }) + } + const lifters = await loadLifters() + const normSearch = normalizeString(name) + const matches = lifters.filter((l) => normalizeString(l.name).includes(normSearch) && l.birthDate === birthDate) + if (matches.length === 0) return NextResponse.json({ error: 'no_match' }, { status: 404 }) + if (matches.length > 1) return NextResponse.json({ error: 'multiple_matches' }, { status: 409 }) + return NextResponse.json({ lifter: matches[0] }) +} diff --git a/src/app/api/submit/route.ts b/src/app/api/submit/route.ts new file mode 100644 index 0000000..ac9a2bf --- /dev/null +++ b/src/app/api/submit/route.ts @@ -0,0 +1,40 @@ +import { NextRequest, NextResponse } from 'next/server' +import config from '@/config/config.json' +import type { RackHeightsPayload } from '@/types/rackHeights' + +export const runtime = 'nodejs' + +export async function POST(req: NextRequest) { + const body = (await req.json()) as RackHeightsPayload + const requiredFields: (keyof RackHeightsPayload)[] = [ + 'memberNumber', + 'birthDate', + 'squatRackHeight', + 'benchRackHeight', + 'benchRackFootBlocks' + ] + for (const f of requiredFields) { + if (body[f] === undefined || body[f] === null || body[f] === '') { + return NextResponse.json({ message: 'Campos obrigatórios em falta.' }, { status: 400 }) + } + } + try { + const url = `https://liftingcast.com/api/meets/${config.meetId}/rack_heights` + const res = await fetch(url, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(body) + }) + if (!res.ok) { + const text = await res.text() + return NextResponse.json( + { message: `Erro ao submeter: ${text || res.statusText}` }, + { status: res.status } + ) + } + const data = await res.json().catch(() => ({})) + return NextResponse.json(data) + } catch (e: any) { + return NextResponse.json({ message: 'Erro de conexão. Por favor, tente novamente.' }, { status: 502 }) + } +} diff --git a/src/app/globals.css b/src/app/globals.css new file mode 100644 index 0000000..58eb8c8 --- /dev/null +++ b/src/app/globals.css @@ -0,0 +1,7 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +html, body, #__next { height: 100%; } + +:focus-visible { outline: 2px solid theme('colors.brand.600'); outline-offset: 2px; } diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 0000000..2363c1a --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,22 @@ +import './globals.css' +import type { Metadata } from 'next' +import { Inter } from 'next/font/google' +import Footer from '@/components/Footer' + +const inter = Inter({ subsets: ['latin'] }) + +export const metadata: Metadata = { + title: 'Altarra - Submissão de Alturas', + description: 'Submissão de alturas de rack para Liftingcast', +} + +export default function RootLayout({ children }: { children: React.ReactNode }) { + return ( + + +
{children}
+