From a17deb815eb0c2e327d85ce32649cc18e4b97ac9 Mon Sep 17 00:00:00 2001 From: snlavaise Date: Tue, 11 Aug 2026 13:10:55 +0000 Subject: [PATCH] feat: make side panel Cultivos section read-only and place bed badge on the left --- .env.example | 20 + .gitignore | 12 + Dockerfile | 75 + MODELOINGRESO.pdf | Bin 0 -> 664876 bytes MODELO_INGRESO.pdf | Bin 0 -> 3205 bytes README.md | 18 + bun.lock | 1428 ++++ components.json | 22 + docker-compose.yml | 21 + docker-entrypoint.sh | 48 + eslint.config.js | 23 + historia_clinica_generator.html | 753 ++ index.html | 12 + info.md | 31 + metadata.json | 6 + nginx.conf | 30 + package-lock.json | 10042 ++++++++++++++++++++++++ package.json | 87 + patch_app.cjs | 10 + patch_db.cjs | 109 + patch_dirname.cjs | 10 + patch_dirname_fix.cjs | 9 + patch_index.cjs | 40 + patch_schema.cjs | 31 + patch_store.cjs | 21 + patch_store_update.cjs | 13 + patch_utils.cjs | 16 + postcss.config.js | 6 + public/MODELO_INGRESO.pdf | Bin 0 -> 7963 bytes server.ts | 49 + server/api-mongodb.js | 742 ++ server/db-mongodb.js | 945 +++ server/package-lock.json | 1220 +++ server/package.json | 15 + server_log.txt | 4 + server_test_log.txt | 0 src/App.css | 42 + src/App.tsx | 277 + src/components/theme-provider.tsx | 74 + src/components/ui/accordion.tsx | 55 + src/components/ui/alert-dialog.tsx | 155 + src/components/ui/alert.tsx | 66 + src/components/ui/aspect-ratio.tsx | 11 + src/components/ui/avatar.tsx | 51 + src/components/ui/badge.tsx | 47 + src/components/ui/breadcrumb.tsx | 109 + src/components/ui/button-group.tsx | 84 + src/components/ui/button.tsx | 63 + src/components/ui/calendar.tsx | 220 + src/components/ui/card.tsx | 92 + src/components/ui/carousel.tsx | 239 + src/components/ui/chart.tsx | 357 + src/components/ui/checkbox.tsx | 32 + src/components/ui/collapsible.tsx | 31 + src/components/ui/command.tsx | 182 + src/components/ui/context-menu.tsx | 252 + src/components/ui/dialog.tsx | 141 + src/components/ui/drawer.tsx | 135 + src/components/ui/dropdown-menu.tsx | 255 + src/components/ui/empty.tsx | 104 + src/components/ui/field.tsx | 246 + src/components/ui/form.tsx | 168 + src/components/ui/hover-card.tsx | 44 + src/components/ui/input-group.tsx | 170 + src/components/ui/input-otp.tsx | 75 + src/components/ui/input.tsx | 21 + src/components/ui/item.tsx | 193 + src/components/ui/kbd.tsx | 28 + src/components/ui/label.tsx | 24 + src/components/ui/menubar.tsx | 274 + src/components/ui/navigation-menu.tsx | 169 + src/components/ui/pagination.tsx | 127 + src/components/ui/popover.tsx | 48 + src/components/ui/progress.tsx | 29 + src/components/ui/radio-group.tsx | 45 + src/components/ui/resizable.tsx | 54 + src/components/ui/scroll-area.tsx | 46 + src/components/ui/select.tsx | 188 + src/components/ui/separator.tsx | 28 + src/components/ui/sheet.tsx | 137 + src/components/ui/sidebar.tsx | 725 ++ src/components/ui/skeleton.tsx | 13 + src/components/ui/slider.tsx | 63 + src/components/ui/sonner.tsx | 63 + src/components/ui/spinner.tsx | 16 + src/components/ui/switch.tsx | 31 + src/components/ui/table.tsx | 114 + src/components/ui/tabs.tsx | 55 + src/components/ui/textarea.tsx | 18 + src/components/ui/toggle-group.tsx | 81 + src/components/ui/toggle.tsx | 46 + src/components/ui/tooltip.tsx | 61 + src/hooks/use-mobile.ts | 19 + src/hooks/useHospitalStore.ts | 1438 ++++ src/index.css | 108 + src/lib/utils.ts | 71 + src/main.tsx | 10 + src/sections/AcidoBase.tsx | 455 ++ src/sections/Cultivos.tsx | 241 + src/sections/Dashboard.tsx | 318 + src/sections/EditIngreso.tsx | 482 ++ src/sections/Evoluciones.tsx | 624 ++ src/sections/GestionUsuarios.tsx | 371 + src/sections/HistoriaClinica.tsx | 2964 +++++++ src/sections/Internaciones.tsx | 616 ++ src/sections/Layout.tsx | 210 + src/sections/Login.tsx | 89 + src/sections/MapaCamas.tsx | 616 ++ src/sections/NuevoIngreso.tsx | 512 ++ src/sections/Pacientes.tsx | 453 ++ src/sections/SeccionIndicaciones.tsx | 550 ++ src/types/index.ts | 256 + tailwind.config.js | 84 + tsconfig.app.json | 34 + tsconfig.json | 17 + tsconfig.node.json | 26 + vite.config.ts | 18 + 117 files changed, 32924 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 MODELOINGRESO.pdf create mode 100644 MODELO_INGRESO.pdf create mode 100644 README.md create mode 100644 bun.lock create mode 100644 components.json create mode 100644 docker-compose.yml create mode 100644 docker-entrypoint.sh create mode 100644 eslint.config.js create mode 100644 historia_clinica_generator.html create mode 100644 index.html create mode 100644 info.md create mode 100644 metadata.json create mode 100644 nginx.conf create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 patch_app.cjs create mode 100644 patch_db.cjs create mode 100644 patch_dirname.cjs create mode 100644 patch_dirname_fix.cjs create mode 100644 patch_index.cjs create mode 100644 patch_schema.cjs create mode 100644 patch_store.cjs create mode 100644 patch_store_update.cjs create mode 100644 patch_utils.cjs create mode 100644 postcss.config.js create mode 100644 public/MODELO_INGRESO.pdf create mode 100644 server.ts create mode 100644 server/api-mongodb.js create mode 100644 server/db-mongodb.js create mode 100644 server/package-lock.json create mode 100644 server/package.json create mode 100644 server_log.txt create mode 100644 server_test_log.txt create mode 100644 src/App.css create mode 100644 src/App.tsx create mode 100644 src/components/theme-provider.tsx create mode 100644 src/components/ui/accordion.tsx create mode 100644 src/components/ui/alert-dialog.tsx create mode 100644 src/components/ui/alert.tsx create mode 100644 src/components/ui/aspect-ratio.tsx create mode 100644 src/components/ui/avatar.tsx create mode 100644 src/components/ui/badge.tsx create mode 100644 src/components/ui/breadcrumb.tsx create mode 100644 src/components/ui/button-group.tsx create mode 100644 src/components/ui/button.tsx create mode 100644 src/components/ui/calendar.tsx create mode 100644 src/components/ui/card.tsx create mode 100644 src/components/ui/carousel.tsx create mode 100644 src/components/ui/chart.tsx create mode 100644 src/components/ui/checkbox.tsx create mode 100644 src/components/ui/collapsible.tsx create mode 100644 src/components/ui/command.tsx create mode 100644 src/components/ui/context-menu.tsx create mode 100644 src/components/ui/dialog.tsx create mode 100644 src/components/ui/drawer.tsx create mode 100644 src/components/ui/dropdown-menu.tsx create mode 100644 src/components/ui/empty.tsx create mode 100644 src/components/ui/field.tsx create mode 100644 src/components/ui/form.tsx create mode 100644 src/components/ui/hover-card.tsx create mode 100644 src/components/ui/input-group.tsx create mode 100644 src/components/ui/input-otp.tsx create mode 100644 src/components/ui/input.tsx create mode 100644 src/components/ui/item.tsx create mode 100644 src/components/ui/kbd.tsx create mode 100644 src/components/ui/label.tsx create mode 100644 src/components/ui/menubar.tsx create mode 100644 src/components/ui/navigation-menu.tsx create mode 100644 src/components/ui/pagination.tsx create mode 100644 src/components/ui/popover.tsx create mode 100644 src/components/ui/progress.tsx create mode 100644 src/components/ui/radio-group.tsx create mode 100644 src/components/ui/resizable.tsx create mode 100644 src/components/ui/scroll-area.tsx create mode 100644 src/components/ui/select.tsx create mode 100644 src/components/ui/separator.tsx create mode 100644 src/components/ui/sheet.tsx create mode 100644 src/components/ui/sidebar.tsx create mode 100644 src/components/ui/skeleton.tsx create mode 100644 src/components/ui/slider.tsx create mode 100644 src/components/ui/sonner.tsx create mode 100644 src/components/ui/spinner.tsx create mode 100644 src/components/ui/switch.tsx create mode 100644 src/components/ui/table.tsx create mode 100644 src/components/ui/tabs.tsx create mode 100644 src/components/ui/textarea.tsx create mode 100644 src/components/ui/toggle-group.tsx create mode 100644 src/components/ui/toggle.tsx create mode 100644 src/components/ui/tooltip.tsx create mode 100644 src/hooks/use-mobile.ts create mode 100644 src/hooks/useHospitalStore.ts create mode 100644 src/index.css create mode 100644 src/lib/utils.ts create mode 100644 src/main.tsx create mode 100644 src/sections/AcidoBase.tsx create mode 100644 src/sections/Cultivos.tsx create mode 100644 src/sections/Dashboard.tsx create mode 100644 src/sections/EditIngreso.tsx create mode 100644 src/sections/Evoluciones.tsx create mode 100644 src/sections/GestionUsuarios.tsx create mode 100644 src/sections/HistoriaClinica.tsx create mode 100644 src/sections/Internaciones.tsx create mode 100644 src/sections/Layout.tsx create mode 100644 src/sections/Login.tsx create mode 100644 src/sections/MapaCamas.tsx create mode 100644 src/sections/NuevoIngreso.tsx create mode 100644 src/sections/Pacientes.tsx create mode 100644 src/sections/SeccionIndicaciones.tsx create mode 100644 src/types/index.ts create mode 100644 tailwind.config.js create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..0a828ac --- /dev/null +++ b/.env.example @@ -0,0 +1,20 @@ +# GEMINI_API_KEY: Required for Gemini AI API calls. +# AI Studio automatically injects this at runtime from user secrets. +# Users configure this via the Secrets panel in the AI Studio UI. +GEMINI_API_KEY="MY_GEMINI_API_KEY" + +# APP_URL: The URL where this applet is hosted. +# AI Studio automatically injects this at runtime with the Cloud Run service URL. +# Used for self-referential links, OAuth callbacks, and API endpoints. +APP_URL="MY_APP_URL" + +# MongoDB Configuration +MONGODB_URI="mongodb://127.0.0.1:27017" +DB_NAME="hospital" + +# Default Admin Credentials (Used on initial deployment/startup) +ADMIN_DNI="12345678" +ADMIN_PASSWORD="admin123" +ADMIN_NOMBRE="Sistema" +ADMIN_APELLIDO="Administrador" +ADMIN_EMAIL="admin@hospital.local" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c6a4b5a --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +node_modules/ +build/ +dist/ +coverage/ +.DS_Store +*.log +.env* +!.env.example +*.db +*.db-wal +*.db-shm +server/data/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..658cc54 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,75 @@ +# Stage 1: Build frontend +FROM node:20-alpine AS builder + +WORKDIR /build + +ARG VITE_API_URL=/api + +COPY package*.json ./ +RUN npm install + +COPY . . +RUN VITE_API_URL=$VITE_API_URL npm run build + +# Stage 2: Production environment with Node.js, Nginx, and MongoDB Community Edition (ARM64 & AMD64 native support via Ubuntu 22.04) +FROM ubuntu:22.04 + +WORKDIR /app + +# Prevent interactive prompts during apt install +ENV DEBIAN_FRONTEND=noninteractive + +# Install dependencies needed for Node.js, MongoDB repo, and general setup +RUN apt-get update && apt-get install -y \ + gnupg \ + curl \ + ca-certificates \ + nginx \ + procps \ + && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ + && apt-get install -y nodejs \ + && rm -rf /var/lib/apt/lists/* + +# Add MongoDB official GPG key and repository (MongoDB 8.0 for Ubuntu 22.04 Jammy - supports arm64 and amd64 natively) +RUN curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \ + gpg --dearmor -o /usr/share/keyrings/mongodb-server-8.0.gpg \ + && echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] http://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | \ + tee /etc/apt/sources.list.d/mongodb-org-8.0.list + +# Install MongoDB Community Edition +RUN apt-get update && apt-get install -y \ + mongodb-org \ + && rm -rf /var/lib/apt/lists/* + +# Copy built frontend to nginx html folder +COPY --from=builder /build/dist /usr/share/nginx/html + +# Copy server files +COPY server/package*.json ./server/ +RUN cd ./server && npm install --omit=dev + +COPY server/ ./server/ + +# Configure Nginx for Debian +RUN rm -f /etc/nginx/sites-enabled/default +COPY nginx.conf /etc/nginx/conf.d/default.conf + +# Create MongoDB data and run directories with correct permissions +RUN mkdir -p /data/db /var/log/mongodb /var/run/mongodb && \ + chown -R mongodb:mongodb /data/db /var/log/mongodb /var/run/mongodb + +# Expose volume for persistent database storage +VOLUME ["/data/db"] + +# Copy entrypoint +COPY docker-entrypoint.sh /docker-entrypoint.sh +RUN chmod +x /docker-entrypoint.sh + +# ONLY expose port 80 (HTTP) +EXPOSE 80 + +ENV DB_NAME=hospital +ENV ADMIN_DNI=35242633 +ENV ADMIN_PASSWORD=admin123 + +ENTRYPOINT ["/docker-entrypoint.sh"] diff --git a/MODELOINGRESO.pdf b/MODELOINGRESO.pdf new file mode 100644 index 0000000000000000000000000000000000000000..681fddb8611386f0ae68df63368a5e95b36cc4d8 GIT binary patch literal 664876 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

Wq8{cb` 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%0A$yXV1G7_qVmcT(_ce&UpdWDAR{q$qt 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 literal 0 HcmV?d00001 diff --git a/MODELO_INGRESO.pdf b/MODELO_INGRESO.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c2c9fcc4adb73a76339d84f884edd5d5b6b09589 GIT binary patch literal 3205 zcmai0TTfJ16b1$nPEk}4DquOtMG%+^ml-ZYMY)3r!*CH1Fkop&na3F?-*slkw^#xook@o1Jq9{*Tq zTrVpu)?R&8n+*j$gFbCRM(Az{K-jmb2=3T`=w-Mn*T8VIgy4du9MNeFZBs7DQ^q4t zg&`rl94^~iU&OHu4A(oLGhy3d>Q{`X5Umo_!1cjw?GwYLk^+yV6oaSIeEE_phkH#V z_&6-ih(xHTlk2lIKCmJx5ID6mC-TY7?gLQcu$&Sb_{kff5|~=q!XR`5OprIX8)9w} zl(KfQlR*c}+6Cgb#;9`CWsNrNMVD!MtwAO|w zJsrYz_v>Af20Nxiu3g%nBq~_Wk$yX^wo8&GK3xBn^Vjo;M_gMnZk@|*hg_78fvYyn zC2)%?S^4n2pnWhvt!2t1p|ftN1&X~=wiRTuawZ2}0^Pp`5@dLnUP;d7N`_#ZSZX~e z_Q931Fkjo=(Z?)#?$(G}v+ek{W6;1tMg_Ys1C|Gi&xzxpgS(p;aUFNQ9L&9Ywh#&! zhJE+;!_&pPRI4l@VeXcP?M=1uGd+hT0RM63V^=MFuuoEvaGVdfuUAsxzrS~35|Z09 zmkWxybEe9|Mgj6;R8=QAKnfcXi0|Z)@9K0($RGIehG=l2p-k>4=c1DlI`4hp+yT$I z13OQG%&@4ZUr5Gau8B)lyUZPAM>fI$lQ?j}^iLle0h@-OD3VMlZ5pCU0)x4$^)rz^ zBeCAX4$kW!jNLY`^lr8S@a$^op&`iNAk{E>U^EW2d6y?7AvnWO)@f&o z+dMSwMMm9g#l}Mst{GOC15ZdohkN)Idr43RmkqmnmCdNyYdRI$S-K47&dhSwoPcjU zT-6@I@@7yk&k4Y;0@S$oK7r=h2Gs9L09H+Vw04h?f?%ToY{wDUBc3!?k4pnqui3}d zxtLIwD6$=U{Hhr1H9?xcQ2pp#?hjY65$rL|;~!BkBPhPXw9@~3m31smdvr_d(1bhW z(=3N|J70Oh*^pjTY`o`6N=yIyp6h7lnX6J)D$85Rv$+w8@rZ^cvxBGTU~@A!oej_= zY1In|=DR?X?TwL3d81IQmmt~7cL?y$wGBV7V%~X?!gC%PB-pR|!V@s@<+Hb+^J;24jte`#+2Iip~ zP67!yvmY)$Uj*YZL=Vh;!VRAHY|KOV!2%pmPzlHVVJU9kl-!ug!SPMu^qYAuSh{?d zx_K&0d*Y)Gq;aDFOV2(L;2nliHETm6+Q~zHLLNQ60iPHZmLA6+7R<%`dFcvdtb{!A zf@D^k3lXdrGM{JhD2p)C587VK^Pf}*0&L>IoOQ`@4qKPXzbDn1pw){YfJdM0=;Gx% z3j;dDl@vy@uYvB!p4RnxAu-C)`PI^P(AKK{lUDACfiftwM4MQRldu}qy+L>VCbfnr zq&ZSkEVro2#%sE zq)_kUAS0dyB&--7@xTAf@4WTt_AouxgbB_^9AoSA__5PWU2KJloN2YATeuePl)w}> dofR4Jf=8.0.0" } }, "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ=="], + + "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="], + + "@eslint/config-array": ["@eslint/config-array@0.21.1", "", { "dependencies": { "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA=="], + + "@eslint/config-helpers": ["@eslint/config-helpers@0.4.2", "", { "dependencies": { "@eslint/core": "^0.17.0" } }, "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw=="], + + "@eslint/core": ["@eslint/core@0.17.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ=="], + + "@eslint/eslintrc": ["@eslint/eslintrc@3.3.3", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.1", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ=="], + + "@eslint/js": ["@eslint/js@9.39.2", "", {}, "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA=="], + + "@eslint/object-schema": ["@eslint/object-schema@2.1.7", "", {}, "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA=="], + + "@eslint/plugin-kit": ["@eslint/plugin-kit@0.4.1", "", { "dependencies": { "@eslint/core": "^0.17.0", "levn": "^0.4.1" } }, "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA=="], + + "@floating-ui/core": ["@floating-ui/core@1.7.3", "", { "dependencies": { "@floating-ui/utils": "^0.2.10" } }, "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w=="], + + "@floating-ui/dom": ["@floating-ui/dom@1.7.4", "", { "dependencies": { "@floating-ui/core": "^1.7.3", "@floating-ui/utils": "^0.2.10" } }, "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA=="], + + "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.6", "", { "dependencies": { "@floating-ui/dom": "^1.7.4" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw=="], + + "@floating-ui/utils": ["@floating-ui/utils@0.2.10", "", {}, "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="], + + "@hookform/resolvers": ["@hookform/resolvers@5.2.2", "", { "dependencies": { "@standard-schema/utils": "^0.3.0" }, "peerDependencies": { "react-hook-form": "^7.55.0" } }, "sha512-A/IxlMLShx3KjV/HeTcTfaMxdwy690+L/ZADoeaTltLx+CVuzkeVIPuybK3jrRfw7YZnmdKsVVHAlEPIAEUNlA=="], + + "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], + + "@humanfs/node": ["@humanfs/node@0.16.7", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.4.0" } }, "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ=="], + + "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], + + "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], + + "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + + "@mongodb-js/saslprep": ["@mongodb-js/saslprep@1.4.13", "", { "dependencies": { "sparse-bitfield": "^3.0.3" } }, "sha512-E3Sv4eCYAlKYUTx8S3ioQcDUscOif+8zZ5OnW1IzJ+Tt+EO+ke8mn+Y3FX6N1H79picwbdOavVOb1jPi2EOyrg=="], + + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + + "@pdf-lib/standard-fonts": ["@pdf-lib/standard-fonts@1.0.0", "", { "dependencies": { "pako": "^1.0.6" } }, "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA=="], + + "@pdf-lib/upng": ["@pdf-lib/upng@1.0.1", "", { "dependencies": { "pako": "^1.0.10" } }, "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ=="], + + "@radix-ui/number": ["@radix-ui/number@1.1.1", "", {}, "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g=="], + + "@radix-ui/primitive": ["@radix-ui/primitive@1.1.3", "", {}, "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg=="], + + "@radix-ui/react-accordion": ["@radix-ui/react-accordion@1.2.12", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collapsible": "1.1.12", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA=="], + + "@radix-ui/react-alert-dialog": ["@radix-ui/react-alert-dialog@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dialog": "1.1.15", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw=="], + + "@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w=="], + + "@radix-ui/react-aspect-ratio": ["@radix-ui/react-aspect-ratio@1.1.8", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-5nZrJTF7gH+e0nZS7/QxFz6tJV4VimhQb1avEgtsJxvvIp5JilL+c58HICsKzPxghdwaDt48hEfPM1au4zGy+w=="], + + "@radix-ui/react-avatar": ["@radix-ui/react-avatar@1.1.11", "", { "dependencies": { "@radix-ui/react-context": "1.1.3", "@radix-ui/react-primitive": "2.1.4", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-is-hydrated": "0.1.0", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-0Qk603AHGV28BOBO34p7IgD5m+V5Sg/YovfayABkoDDBM5d3NCx0Mp4gGrjzLGes1jV5eNOE1r3itqOR33VC6Q=="], + + "@radix-ui/react-checkbox": ["@radix-ui/react-checkbox@1.3.3", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw=="], + + "@radix-ui/react-collapsible": ["@radix-ui/react-collapsible@1.1.12", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA=="], + + "@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw=="], + + "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg=="], + + "@radix-ui/react-context": ["@radix-ui/react-context@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA=="], + + "@radix-ui/react-context-menu": ["@radix-ui/react-context-menu@2.2.16", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-menu": "2.1.16", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-O8morBEW+HsVG28gYDZPTrT9UUovQUlJue5YO836tiTJhuIWBm/zQHc7j388sHWtdH/xUZurK9olD2+pcqx5ww=="], + + "@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw=="], + + "@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw=="], + + "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-escape-keydown": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg=="], + + "@radix-ui/react-dropdown-menu": ["@radix-ui/react-dropdown-menu@2.1.16", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-menu": "2.1.16", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw=="], + + "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.3", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw=="], + + "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw=="], + + "@radix-ui/react-hover-card": ["@radix-ui/react-hover-card@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-qgTkjNT1CfKMoP0rcasmlH2r1DAiYicWsDsufxl940sT2wHNEWWv6FMWIQXWhVdmC1d/HYfbhQx60KYyAtKxjg=="], + + "@radix-ui/react-id": ["@radix-ui/react-id@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg=="], + + "@radix-ui/react-label": ["@radix-ui/react-label@2.1.8", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A=="], + + "@radix-ui/react-menu": ["@radix-ui/react-menu@2.1.16", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-roving-focus": "1.1.11", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-callback-ref": "1.1.1", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg=="], + + "@radix-ui/react-menubar": ["@radix-ui/react-menubar@1.1.16", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-menu": "2.1.16", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-roving-focus": "1.1.11", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-EB1FktTz5xRRi2Er974AUQZWg2yVBb1yjip38/lgwtCVRd3a+maUoGHN/xs9Yv8SY8QwbSEb+YrxGadVWbEutA=="], + + "@radix-ui/react-navigation-menu": ["@radix-ui/react-navigation-menu@1.2.14", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w=="], + + "@radix-ui/react-popover": ["@radix-ui/react-popover@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA=="], + + "@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.8", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-rect": "1.1.1", "@radix-ui/react-use-size": "1.1.1", "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw=="], + + "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], + + "@radix-ui/react-presence": ["@radix-ui/react-presence@1.1.5", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ=="], + + "@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="], + + "@radix-ui/react-progress": ["@radix-ui/react-progress@1.1.8", "", { "dependencies": { "@radix-ui/react-context": "1.1.3", "@radix-ui/react-primitive": "2.1.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-+gISHcSPUJ7ktBy9RnTqbdKW78bcGke3t6taawyZ71pio1JewwGSJizycs7rLhGTvMJYCQB1DBK4KQsxs7U8dA=="], + + "@radix-ui/react-radio-group": ["@radix-ui/react-radio-group@1.3.8", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-roving-focus": "1.1.11", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-VBKYIYImA5zsxACdisNQ3BjCBfmbGH3kQlnFVqlWU4tXwjy7cGX8ta80BcrO+WJXIn5iBylEH3K6ZTlee//lgQ=="], + + "@radix-ui/react-roving-focus": ["@radix-ui/react-roving-focus@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA=="], + + "@radix-ui/react-scroll-area": ["@radix-ui/react-scroll-area@1.2.10", "", { "dependencies": { "@radix-ui/number": "1.1.1", "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A=="], + + "@radix-ui/react-select": ["@radix-ui/react-select@2.2.6", "", { "dependencies": { "@radix-ui/number": "1.1.1", "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-visually-hidden": "1.2.3", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ=="], + + "@radix-ui/react-separator": ["@radix-ui/react-separator@1.1.8", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-sDvqVY4itsKwwSMEe0jtKgfTh+72Sy3gPmQpjqcQneqQ4PFmr/1I0YA+2/puilhggCe2gJcx5EBAYFkWkdpa5g=="], + + "@radix-ui/react-slider": ["@radix-ui/react-slider@1.3.6", "", { "dependencies": { "@radix-ui/number": "1.1.1", "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw=="], + + "@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.4", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA=="], + + "@radix-ui/react-switch": ["@radix-ui/react-switch@1.2.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ=="], + + "@radix-ui/react-tabs": ["@radix-ui/react-tabs@1.1.13", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-roving-focus": "1.1.11", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A=="], + + "@radix-ui/react-toggle": ["@radix-ui/react-toggle@1.1.10", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ=="], + + "@radix-ui/react-toggle-group": ["@radix-ui/react-toggle-group@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-roving-focus": "1.1.11", "@radix-ui/react-toggle": "1.1.10", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q=="], + + "@radix-ui/react-tooltip": ["@radix-ui/react-tooltip@1.2.8", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg=="], + + "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], + + "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.2.2", "", { "dependencies": { "@radix-ui/react-use-effect-event": "0.0.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg=="], + + "@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA=="], + + "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.1", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g=="], + + "@radix-ui/react-use-is-hydrated": ["@radix-ui/react-use-is-hydrated@0.1.0", "", { "dependencies": { "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA=="], + + "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ=="], + + "@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.1", "", { "dependencies": { "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w=="], + + "@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ=="], + + "@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.2.3", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug=="], + + "@radix-ui/rect": ["@radix-ui/rect@1.1.1", "", {}, "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw=="], + + "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.53", "", {}, "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ=="], + + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.60.2", "", { "os": "android", "cpu": "arm" }, "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.60.2", "", { "os": "android", "cpu": "arm64" }, "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.60.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.60.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.60.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.60.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.60.2", "", { "os": "linux", "cpu": "arm" }, "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.60.2", "", { "os": "linux", "cpu": "arm" }, "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.60.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.60.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA=="], + + "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.60.2", "", { "os": "linux", "cpu": "none" }, "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A=="], + + "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.60.2", "", { "os": "linux", "cpu": "none" }, "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q=="], + + "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.60.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw=="], + + "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.60.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.60.2", "", { "os": "linux", "cpu": "none" }, "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A=="], + + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.60.2", "", { "os": "linux", "cpu": "none" }, "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.60.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.60.2", "", { "os": "linux", "cpu": "x64" }, "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.60.2", "", { "os": "linux", "cpu": "x64" }, "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw=="], + + "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.60.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg=="], + + "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.60.2", "", { "os": "none", "cpu": "arm64" }, "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.60.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.60.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg=="], + + "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.60.2", "", { "os": "win32", "cpu": "x64" }, "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.60.2", "", { "os": "win32", "cpu": "x64" }, "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA=="], + + "@standard-schema/utils": ["@standard-schema/utils@0.3.0", "", {}, "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g=="], + + "@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="], + + "@types/babel__generator": ["@types/babel__generator@7.27.0", "", { "dependencies": { "@babel/types": "^7.0.0" } }, "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg=="], + + "@types/babel__template": ["@types/babel__template@7.4.4", "", { "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A=="], + + "@types/babel__traverse": ["@types/babel__traverse@7.28.0", "", { "dependencies": { "@babel/types": "^7.28.2" } }, "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q=="], + + "@types/d3-array": ["@types/d3-array@3.2.2", "", {}, "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw=="], + + "@types/d3-color": ["@types/d3-color@3.1.3", "", {}, "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A=="], + + "@types/d3-ease": ["@types/d3-ease@3.0.2", "", {}, "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA=="], + + "@types/d3-interpolate": ["@types/d3-interpolate@3.0.4", "", { "dependencies": { "@types/d3-color": "*" } }, "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA=="], + + "@types/d3-path": ["@types/d3-path@3.1.1", "", {}, "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg=="], + + "@types/d3-scale": ["@types/d3-scale@4.0.9", "", { "dependencies": { "@types/d3-time": "*" } }, "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw=="], + + "@types/d3-shape": ["@types/d3-shape@3.1.7", "", { "dependencies": { "@types/d3-path": "*" } }, "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg=="], + + "@types/d3-time": ["@types/d3-time@3.0.4", "", {}, "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g=="], + + "@types/d3-timer": ["@types/d3-timer@3.0.2", "", {}, "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw=="], + + "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + + "@types/node": ["@types/node@24.10.4", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-vnDVpYPMzs4wunl27jHrfmwojOGKya0xyM3sH+UE5iv5uPS6vX7UIoh6m+vQc5LGBq52HBKPIn/zcSZVzeDEZg=="], + + "@types/pako": ["@types/pako@2.0.4", "", {}, "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw=="], + + "@types/raf": ["@types/raf@3.4.3", "", {}, "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw=="], + + "@types/react": ["@types/react@19.2.7", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg=="], + + "@types/react-dom": ["@types/react-dom@19.2.3", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="], + + "@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="], + + "@types/webidl-conversions": ["@types/webidl-conversions@7.0.3", "", {}, "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA=="], + + "@types/whatwg-url": ["@types/whatwg-url@13.0.0", "", { "dependencies": { "@types/webidl-conversions": "*" } }, "sha512-N8WXpbE6Wgri7KUSvrmQcqrMllKZ9uxkYWMt+mCSGwNc0Hsw9VQTW7ApqI4XNrx6/SaM2QQJCzMPDEXE058s+Q=="], + + "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.52.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.52.0", "@typescript-eslint/type-utils": "8.52.0", "@typescript-eslint/utils": "8.52.0", "@typescript-eslint/visitor-keys": "8.52.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.52.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q=="], + + "@typescript-eslint/parser": ["@typescript-eslint/parser@8.52.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.52.0", "@typescript-eslint/types": "8.52.0", "@typescript-eslint/typescript-estree": "8.52.0", "@typescript-eslint/visitor-keys": "8.52.0", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg=="], + + "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.52.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.52.0", "@typescript-eslint/types": "^8.52.0", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw=="], + + "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.52.0", "", { "dependencies": { "@typescript-eslint/types": "8.52.0", "@typescript-eslint/visitor-keys": "8.52.0" } }, "sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA=="], + + "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.52.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg=="], + + "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.52.0", "", { "dependencies": { "@typescript-eslint/types": "8.52.0", "@typescript-eslint/typescript-estree": "8.52.0", "@typescript-eslint/utils": "8.52.0", "debug": "^4.4.3", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ=="], + + "@typescript-eslint/types": ["@typescript-eslint/types@8.52.0", "", {}, "sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg=="], + + "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.52.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.52.0", "@typescript-eslint/tsconfig-utils": "8.52.0", "@typescript-eslint/types": "8.52.0", "@typescript-eslint/visitor-keys": "8.52.0", "debug": "^4.4.3", "minimatch": "^9.0.5", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ=="], + + "@typescript-eslint/utils": ["@typescript-eslint/utils@8.52.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.52.0", "@typescript-eslint/types": "8.52.0", "@typescript-eslint/typescript-estree": "8.52.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ=="], + + "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.52.0", "", { "dependencies": { "@typescript-eslint/types": "8.52.0", "eslint-visitor-keys": "^4.2.1" } }, "sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ=="], + + "@vitejs/plugin-react": ["@vitejs/plugin-react@5.1.2", "", { "dependencies": { "@babel/core": "^7.28.5", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-beta.53", "@types/babel__core": "^7.20.5", "react-refresh": "^0.18.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-EcA07pHJouywpzsoTUqNh5NwGayl2PPVEJKUSinGGSxFGYn+shYbqMGBg6FXDqgXum9Ou/ecb+411ssw8HImJQ=="], + + "accepts": ["accepts@1.3.8", "", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="], + + "acorn": ["acorn@8.15.0", "", { "bin": "bin/acorn" }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], + + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + + "ajv": ["ajv@6.14.0", "", { "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" } }, "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw=="], + + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="], + + "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], + + "arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], + + "array-flatten": ["array-flatten@1.1.1", "", {}, "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="], + + "autoprefixer": ["autoprefixer@10.4.23", "", { "dependencies": { "browserslist": "^4.28.1", "caniuse-lite": "^1.0.30001760", "fraction.js": "^5.3.4", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": "bin/autoprefixer" }, "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA=="], + + "babel-plugin-polyfill-corejs2": ["babel-plugin-polyfill-corejs2@0.4.17", "", { "dependencies": { "@babel/compat-data": "^7.28.6", "@babel/helper-define-polyfill-provider": "^0.6.8", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w=="], + + "babel-plugin-polyfill-corejs3": ["babel-plugin-polyfill-corejs3@0.14.2", "", { "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.8", "core-js-compat": "^3.48.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g=="], + + "babel-plugin-polyfill-regenerator": ["babel-plugin-polyfill-regenerator@0.6.8", "", { "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.8" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg=="], + + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + + "base64-arraybuffer": ["base64-arraybuffer@1.0.2", "", {}, "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="], + + "baseline-browser-mapping": ["baseline-browser-mapping@2.9.11", "", { "bin": "dist/cli.js" }, "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ=="], + + "bcryptjs": ["bcryptjs@3.0.3", "", { "bin": { "bcrypt": "bin/bcrypt" } }, "sha512-GlF5wPWnSa/X5LKM1o0wz0suXIINz1iHRLvTS+sLyi7XPbe5ycmYI3DlZqVGZZtDgl4DmasFg7gOB3JYbphV5g=="], + + "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], + + "body-parser": ["body-parser@1.20.4", "", { "dependencies": { "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "~1.2.0", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "on-finished": "~2.4.1", "qs": "~6.14.0", "raw-body": "~2.5.3", "type-is": "~1.6.18", "unpipe": "~1.0.0" } }, "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA=="], + + "brace-expansion": ["brace-expansion@1.1.14", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "browserslist": ["browserslist@4.28.1", "", { "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": "cli.js" }, "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA=="], + + "bson": ["bson@7.3.1", "", {}, "sha512-h/C0qe6857pQhcSJHLfsR1uYGj98Ge3wKAD3Ed9KqH3wcVh+BM4Jq4xISD7vs9OPuT07n+q3QQVjslJ286j6ag=="], + + "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], + + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + + "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], + + "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], + + "camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="], + + "caniuse-lite": ["caniuse-lite@1.0.30001762", "", {}, "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw=="], + + "canvg": ["canvg@3.0.11", "", { "dependencies": { "@babel/runtime": "^7.12.5", "@types/raf": "^3.4.0", "core-js": "^3.8.3", "raf": "^3.4.1", "regenerator-runtime": "^0.13.7", "rgbcolor": "^1.0.1", "stackblur-canvas": "^2.0.0", "svg-pathdata": "^6.0.3" } }, "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA=="], + + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + + "chokidar": ["chokidar@3.6.0", "", { "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" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], + + "class-variance-authority": ["class-variance-authority@0.7.1", "", { "dependencies": { "clsx": "^2.1.1" } }, "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg=="], + + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + + "cmdk": ["cmdk@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "^1.1.1", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-id": "^1.1.0", "@radix-ui/react-primitive": "^2.0.2" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "react-dom": "^18 || ^19 || ^19.0.0-rc" } }, "sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg=="], + + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], + + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + + "content-disposition": ["content-disposition@0.5.4", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ=="], + + "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], + + "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + + "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], + + "cookie-signature": ["cookie-signature@1.0.7", "", {}, "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA=="], + + "core-js": ["core-js@3.49.0", "", {}, "sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg=="], + + "core-js-compat": ["core-js-compat@3.49.0", "", { "dependencies": { "browserslist": "^4.28.1" } }, "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA=="], + + "cors": ["cors@2.8.6", "", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "css-line-break": ["css-line-break@2.1.0", "", { "dependencies": { "utrie": "^1.0.2" } }, "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w=="], + + "cssesc": ["cssesc@3.0.0", "", { "bin": "bin/cssesc" }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], + + "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], + + "d3-array": ["d3-array@3.2.4", "", { "dependencies": { "internmap": "1 - 2" } }, "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg=="], + + "d3-color": ["d3-color@3.1.0", "", {}, "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="], + + "d3-ease": ["d3-ease@3.0.1", "", {}, "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="], + + "d3-format": ["d3-format@3.1.0", "", {}, "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA=="], + + "d3-interpolate": ["d3-interpolate@3.0.1", "", { "dependencies": { "d3-color": "1 - 3" } }, "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g=="], + + "d3-path": ["d3-path@3.1.0", "", {}, "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ=="], + + "d3-scale": ["d3-scale@4.0.2", "", { "dependencies": { "d3-array": "2.10.0 - 3", "d3-format": "1 - 3", "d3-interpolate": "1.2.0 - 3", "d3-time": "2.1.1 - 3", "d3-time-format": "2 - 4" } }, "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ=="], + + "d3-shape": ["d3-shape@3.2.0", "", { "dependencies": { "d3-path": "^3.1.0" } }, "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA=="], + + "d3-time": ["d3-time@3.1.0", "", { "dependencies": { "d3-array": "2 - 3" } }, "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q=="], + + "d3-time-format": ["d3-time-format@4.1.0", "", { "dependencies": { "d3-time": "1 - 3" } }, "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg=="], + + "d3-timer": ["d3-timer@3.0.1", "", {}, "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="], + + "date-fns": ["date-fns@4.1.0", "", {}, "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg=="], + + "date-fns-jalali": ["date-fns-jalali@4.1.0-0", "", {}, "sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg=="], + + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "decimal.js-light": ["decimal.js-light@2.5.1", "", {}, "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg=="], + + "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + + "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], + + "destroy": ["destroy@1.2.0", "", {}, "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="], + + "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], + + "didyoumean": ["didyoumean@1.2.2", "", {}, "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="], + + "dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="], + + "dom-helpers": ["dom-helpers@5.2.1", "", { "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" } }, "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA=="], + + "dompurify": ["dompurify@3.4.0", "", { "optionalDependencies": { "@types/trusted-types": "^2.0.7" } }, "sha512-nolgK9JcaUXMSmW+j1yaSvaEaoXYHwWyGJlkoCTghc97KgGDDSnpoU/PlEnw63Ah+TGKFOyY+X5LnxaWbCSfXg=="], + + "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + + "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], + + "electron-to-chromium": ["electron-to-chromium@1.5.267", "", {}, "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw=="], + + "embla-carousel": ["embla-carousel@8.6.0", "", {}, "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA=="], + + "embla-carousel-react": ["embla-carousel-react@8.6.0", "", { "dependencies": { "embla-carousel": "8.6.0", "embla-carousel-reactive-utils": "8.6.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA=="], + + "embla-carousel-reactive-utils": ["embla-carousel-reactive-utils@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A=="], + + "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], + + "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + + "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + + "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + + "esbuild": ["esbuild@0.28.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.28.1", "@esbuild/android-arm": "0.28.1", "@esbuild/android-arm64": "0.28.1", "@esbuild/android-x64": "0.28.1", "@esbuild/darwin-arm64": "0.28.1", "@esbuild/darwin-x64": "0.28.1", "@esbuild/freebsd-arm64": "0.28.1", "@esbuild/freebsd-x64": "0.28.1", "@esbuild/linux-arm": "0.28.1", "@esbuild/linux-arm64": "0.28.1", "@esbuild/linux-ia32": "0.28.1", "@esbuild/linux-loong64": "0.28.1", "@esbuild/linux-mips64el": "0.28.1", "@esbuild/linux-ppc64": "0.28.1", "@esbuild/linux-riscv64": "0.28.1", "@esbuild/linux-s390x": "0.28.1", "@esbuild/linux-x64": "0.28.1", "@esbuild/netbsd-arm64": "0.28.1", "@esbuild/netbsd-x64": "0.28.1", "@esbuild/openbsd-arm64": "0.28.1", "@esbuild/openbsd-x64": "0.28.1", "@esbuild/openharmony-arm64": "0.28.1", "@esbuild/sunos-x64": "0.28.1", "@esbuild/win32-arm64": "0.28.1", "@esbuild/win32-ia32": "0.28.1", "@esbuild/win32-x64": "0.28.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw=="], + + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], + + "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + + "eslint": ["eslint@9.39.2", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.1", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.39.2", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "bin": "bin/eslint.js" }, "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw=="], + + "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@7.0.1", "", { "dependencies": { "@babel/core": "^7.24.4", "@babel/parser": "^7.24.4", "hermes-parser": "^0.25.1", "zod": "^3.25.0 || ^4.0.0", "zod-validation-error": "^3.5.0 || ^4.0.0" }, "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA=="], + + "eslint-plugin-react-refresh": ["eslint-plugin-react-refresh@0.4.26", "", { "peerDependencies": { "eslint": ">=8.40" } }, "sha512-1RETEylht2O6FM/MvgnyvT+8K21wLqDNg4qD51Zj3guhjt433XbnnkVttHMyaVyAFD03QSV4LPS5iE3VQmO7XQ=="], + + "eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="], + + "eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="], + + "espree": ["espree@10.4.0", "", { "dependencies": { "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.1" } }, "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ=="], + + "esquery": ["esquery@1.7.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g=="], + + "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], + + "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], + + "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], + + "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], + + "eventemitter3": ["eventemitter3@4.0.7", "", {}, "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="], + + "express": ["express@4.22.1", "", { "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "~1.20.3", "content-disposition": "~0.5.4", "content-type": "~1.0.4", "cookie": "~0.7.1", "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "~1.3.1", "fresh": "~0.5.2", "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "~2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "~0.19.0", "serve-static": "~1.16.2", "setprototypeof": "1.2.0", "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" } }, "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fast-equals": ["fast-equals@5.4.0", "", {}, "sha512-jt2DW/aNFNwke7AUd+Z+e6pz39KO5rzdbbFCg2sGafS4mk13MI7Z8O5z9cADNn5lhGODIgLwug6TZO2ctf7kcw=="], + + "fast-glob": ["fast-glob@3.3.3", "", { "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" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + + "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], + + "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + + "fast-png": ["fast-png@6.4.0", "", { "dependencies": { "@types/pako": "^2.0.3", "iobuffer": "^5.3.2", "pako": "^2.1.0" } }, "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q=="], + + "fastq": ["fastq@1.20.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw=="], + + "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" } }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], + + "fflate": ["fflate@0.8.2", "", {}, "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A=="], + + "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "finalhandler": ["finalhandler@1.3.2", "", { "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "~2.4.1", "parseurl": "~1.3.3", "statuses": "~2.0.2", "unpipe": "~1.0.0" } }, "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg=="], + + "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], + + "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], + + "flatted": ["flatted@3.4.2", "", {}, "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA=="], + + "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], + + "fraction.js": ["fraction.js@5.3.4", "", {}, "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ=="], + + "fresh": ["fresh@0.5.2", "", {}, "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], + + "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], + + "get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="], + + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + + "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + + "globals": ["globals@16.5.0", "", {}, "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ=="], + + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], + + "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "hermes-estree": ["hermes-estree@0.25.1", "", {}, "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw=="], + + "hermes-parser": ["hermes-parser@0.25.1", "", { "dependencies": { "hermes-estree": "0.25.1" } }, "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA=="], + + "html2canvas": ["html2canvas@1.4.1", "", { "dependencies": { "css-line-break": "^2.1.0", "text-segmentation": "^1.0.3" } }, "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA=="], + + "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="], + + "iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], + + "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + + "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], + + "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], + + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "input-otp": ["input-otp@1.4.2", "", { "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-l3jWwYNvrEa6NTCt7BECfCm48GvwuZzkoeG3gBL2w4CHeOXW3eKFmf9UNYkNfYc3mxMrthMnxjIE07MT0zLBQA=="], + + "internmap": ["internmap@2.0.3", "", {}, "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="], + + "iobuffer": ["iobuffer@5.4.0", "", {}, "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA=="], + + "ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], + + "is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="], + + "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], + + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "jiti": ["jiti@1.21.7", "", { "bin": "bin/jiti.js" }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="], + + "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], + + "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": "bin/js-yaml.js" }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], + + "jsesc": ["jsesc@3.1.0", "", { "bin": "bin/jsesc" }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + + "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], + + "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], + + "json5": ["json5@2.2.3", "", { "bin": "lib/cli.js" }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], + + "jspdf": ["jspdf@4.2.1", "", { "dependencies": { "@babel/runtime": "^7.28.6", "fast-png": "^6.2.0", "fflate": "^0.8.1" }, "optionalDependencies": { "canvg": "^3.0.11", "core-js": "^3.6.0", "dompurify": "^3.3.1", "html2canvas": "^1.0.0-rc.5" } }, "sha512-YyAXyvnmjTbR4bHQRLzex3CuINCDlQnBqoSYyjJwTP2x9jDLuKDzy7aKUl0hgx3uhcl7xzg32agn5vlie6HIlQ=="], + + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + + "kimi-plugin-inspect-react": ["kimi-plugin-inspect-react@1.0.3", "", { "dependencies": { "@babel/core": "^7.23.0", "@babel/plugin-proposal-decorators": "^7.23.0", "@babel/preset-env": "^7.23.0", "@babel/preset-react": "^7.23.0", "@babel/preset-typescript": "^7.23.0", "@babel/types": "^7.23.0", "magic-string": "^0.30.0" }, "peerDependencies": { "vite": "^7.2.0" } }, "sha512-dU0dYaFYvczJZWwsyAVQ2No2NTaycd93zk3zrbLj9IPwdZaLBK4d0cESz88lVju3rQuFiwRXYNDaCnbPxn4JcQ=="], + + "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], + + "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], + + "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], + + "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + + "lodash": ["lodash@4.18.1", "", {}, "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q=="], + + "lodash.debounce": ["lodash.debounce@4.0.8", "", {}, "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="], + + "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], + + "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": "cli.js" }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="], + + "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], + + "lucide-react": ["lucide-react@0.562.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-82hOAu7y0dbVuFfmO4bYF1XEwYk/mEbM5E+b1jgci/udUBEE/R7LF5Ip0CCEmXe8AybRM8L+04eP+LGZeDvkiw=="], + + "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + + "media-typer": ["media-typer@0.3.0", "", {}, "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="], + + "memory-pager": ["memory-pager@1.5.0", "", {}, "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg=="], + + "merge-descriptors": ["merge-descriptors@1.0.3", "", {}, "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ=="], + + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + + "methods": ["methods@1.1.2", "", {}, "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "mime": ["mime@1.6.0", "", { "bin": "cli.js" }, "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="], + + "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + + "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + + "minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], + + "mongodb": ["mongodb@7.5.0", "", { "dependencies": { "@mongodb-js/saslprep": "^1.4.11", "bson": "^7.2.0", "mongodb-connection-string-url": "^7.0.1" }, "peerDependencies": { "@aws-sdk/credential-providers": "^3.806.0", "@mongodb-js/zstd": "^7.0.0", "gcp-metadata": "^7.0.1", "kerberos": "^7.0.0", "mongodb-client-encryption": "^7.2.0", "snappy": "^7.3.2", "socks": "^2.8.6" }, "optionalPeers": ["@aws-sdk/credential-providers", "@mongodb-js/zstd", "gcp-metadata", "kerberos", "mongodb-client-encryption", "snappy", "socks"] }, "sha512-5FnrEDLnvp6ycUOGLNLLU33BfCx2qmp2mJjGPDwKLruYsVzXVSK5fsGpoDXvsXJwBfBsD7ebMRdawbDxC2814g=="], + + "mongodb-connection-string-url": ["mongodb-connection-string-url@7.0.2", "", { "dependencies": { "@types/whatwg-url": "^13.0.0", "whatwg-url": "^14.1.0" } }, "sha512-ZoS07RoFqpKYQwAk59qmrx8+jJHNHU30UjlU96QktiGn1ltvDr+vCznLX5DiUBLEpMAHatHNWV1nM/74ul66kA=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": "bin/nanoid.cjs" }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], + + "negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], + + "next-themes": ["next-themes@0.4.6", "", { "peerDependencies": { "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA=="], + + "node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="], + + "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], + + "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], + + "object-hash": ["object-hash@3.0.0", "", {}, "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="], + + "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], + + "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], + + "optionator": ["optionator@0.9.4", "", { "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" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], + + "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], + + "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + + "pako": ["pako@1.0.11", "", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="], + + "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], + + "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], + + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], + + "path-to-regexp": ["path-to-regexp@0.1.13", "", {}, "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA=="], + + "pdf-lib": ["pdf-lib@1.17.1", "", { "dependencies": { "@pdf-lib/standard-fonts": "^1.0.0", "@pdf-lib/upng": "^1.0.1", "pako": "^1.0.11", "tslib": "^1.11.1" } }, "sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw=="], + + "performance-now": ["performance-now@2.1.0", "", {}, "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="], + + "pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="], + + "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="], + + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "postcss-import": ["postcss-import@15.1.0", "", { "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" }, "peerDependencies": { "postcss": "^8.0.0" } }, "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew=="], + + "postcss-js": ["postcss-js@4.1.0", "", { "dependencies": { "camelcase-css": "^2.0.1" }, "peerDependencies": { "postcss": "^8.4.21" } }, "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw=="], + + "postcss-load-config": ["postcss-load-config@6.0.1", "", { "dependencies": { "lilconfig": "^3.1.1" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["tsx", "yaml"] }, "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g=="], + + "postcss-nested": ["postcss-nested@6.2.0", "", { "dependencies": { "postcss-selector-parser": "^6.1.1" }, "peerDependencies": { "postcss": "^8.2.14" } }, "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="], + + "postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], + + "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], + + "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], + + "prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="], + + "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], + + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + + "qs": ["qs@6.14.2", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q=="], + + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + + "raf": ["raf@3.4.1", "", { "dependencies": { "performance-now": "^2.1.0" } }, "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA=="], + + "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], + + "raw-body": ["raw-body@2.5.3", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "unpipe": "~1.0.0" } }, "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA=="], + + "react": ["react@19.2.3", "", {}, "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA=="], + + "react-day-picker": ["react-day-picker@9.13.0", "", { "dependencies": { "@date-fns/tz": "^1.4.1", "date-fns": "^4.1.0", "date-fns-jalali": "^4.1.0-0" }, "peerDependencies": { "react": ">=16.8.0" } }, "sha512-euzj5Hlq+lOHqI53NiuNhCP8HWgsPf/bBAVijR50hNaY1XwjKjShAnIe8jm8RD2W9IJUvihDIZ+KrmqfFzNhFQ=="], + + "react-dom": ["react-dom@19.2.3", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.3" } }, "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg=="], + + "react-hook-form": ["react-hook-form@7.70.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-COOMajS4FI3Wuwrs3GPpi/Jeef/5W1DRR84Yl5/ShlT3dKVFUfoGiEZ/QE6Uw8P4T2/CLJdcTVYKvWBMQTEpvw=="], + + "react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], + + "react-refresh": ["react-refresh@0.18.0", "", {}, "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw=="], + + "react-remove-scroll": ["react-remove-scroll@2.7.2", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q=="], + + "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], + + "react-resizable-panels": ["react-resizable-panels@4.2.2", "", { "peerDependencies": { "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" } }, "sha512-BxDTFHxDCyCRPK54X5hpnhoLZbBslUrTTelQDRHo4107FXODjPSTqEWOPlFxE/ho0Vw4JrsRgaWdx6GIK073XA=="], + + "react-smooth": ["react-smooth@4.0.4", "", { "dependencies": { "fast-equals": "^5.0.1", "prop-types": "^15.8.1", "react-transition-group": "^4.4.5" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q=="], + + "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], + + "react-transition-group": ["react-transition-group@4.4.5", "", { "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", "loose-envify": "^1.4.0", "prop-types": "^15.6.2" }, "peerDependencies": { "react": ">=16.6.0", "react-dom": ">=16.6.0" } }, "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g=="], + + "read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="], + + "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], + + "recharts": ["recharts@2.15.4", "", { "dependencies": { "clsx": "^2.0.0", "eventemitter3": "^4.0.1", "lodash": "^4.17.21", "react-is": "^18.3.1", "react-smooth": "^4.0.4", "recharts-scale": "^0.4.4", "tiny-invariant": "^1.3.1", "victory-vendor": "^36.6.8" }, "peerDependencies": { "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw=="], + + "recharts-scale": ["recharts-scale@0.4.5", "", { "dependencies": { "decimal.js-light": "^2.4.1" } }, "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w=="], + + "regenerate": ["regenerate@1.4.2", "", {}, "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="], + + "regenerate-unicode-properties": ["regenerate-unicode-properties@10.2.2", "", { "dependencies": { "regenerate": "^1.4.2" } }, "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g=="], + + "regenerator-runtime": ["regenerator-runtime@0.13.11", "", {}, "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="], + + "regexpu-core": ["regexpu-core@6.4.0", "", { "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.2", "regjsgen": "^0.8.0", "regjsparser": "^0.13.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.2.1" } }, "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA=="], + + "regjsgen": ["regjsgen@0.8.0", "", {}, "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q=="], + + "regjsparser": ["regjsparser@0.13.1", "", { "dependencies": { "jsesc": "~3.1.0" }, "bin": "bin/parser" }, "sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw=="], + + "resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": "bin/resolve" }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], + + "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + + "rgbcolor": ["rgbcolor@1.0.1", "", {}, "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw=="], + + "rollup": ["rollup@4.60.2", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.60.2", "@rollup/rollup-android-arm64": "4.60.2", "@rollup/rollup-darwin-arm64": "4.60.2", "@rollup/rollup-darwin-x64": "4.60.2", "@rollup/rollup-freebsd-arm64": "4.60.2", "@rollup/rollup-freebsd-x64": "4.60.2", "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", "@rollup/rollup-linux-arm-musleabihf": "4.60.2", "@rollup/rollup-linux-arm64-gnu": "4.60.2", "@rollup/rollup-linux-arm64-musl": "4.60.2", "@rollup/rollup-linux-loong64-gnu": "4.60.2", "@rollup/rollup-linux-loong64-musl": "4.60.2", "@rollup/rollup-linux-ppc64-gnu": "4.60.2", "@rollup/rollup-linux-ppc64-musl": "4.60.2", "@rollup/rollup-linux-riscv64-gnu": "4.60.2", "@rollup/rollup-linux-riscv64-musl": "4.60.2", "@rollup/rollup-linux-s390x-gnu": "4.60.2", "@rollup/rollup-linux-x64-gnu": "4.60.2", "@rollup/rollup-linux-x64-musl": "4.60.2", "@rollup/rollup-openbsd-x64": "4.60.2", "@rollup/rollup-openharmony-arm64": "4.60.2", "@rollup/rollup-win32-arm64-msvc": "4.60.2", "@rollup/rollup-win32-ia32-msvc": "4.60.2", "@rollup/rollup-win32-x64-gnu": "4.60.2", "@rollup/rollup-win32-x64-msvc": "4.60.2", "fsevents": "~2.3.2" }, "bin": "dist/bin/rollup" }, "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ=="], + + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], + + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + + "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], + + "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], + + "semver": ["semver@6.3.1", "", { "bin": "bin/semver.js" }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "send": ["send@0.19.2", "", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "~0.5.2", "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "~2.4.1", "range-parser": "~1.2.1", "statuses": "~2.0.2" } }, "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg=="], + + "serve-static": ["serve-static@1.16.3", "", { "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "~0.19.1" } }, "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA=="], + + "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "side-channel": ["side-channel@1.1.0", "", { "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" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], + + "side-channel-list": ["side-channel-list@1.0.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4" } }, "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w=="], + + "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], + + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "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" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], + + "sonner": ["sonner@2.0.7", "", { "peerDependencies": { "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "sparse-bitfield": ["sparse-bitfield@3.0.3", "", { "dependencies": { "memory-pager": "^1.0.2" } }, "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ=="], + + "stackblur-canvas": ["stackblur-canvas@2.7.0", "", {}, "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ=="], + + "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], + + "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + + "sucrase": ["sucrase@3.35.1", "", { "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" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], + + "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + + "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], + + "svg-pathdata": ["svg-pathdata@6.0.3", "", {}, "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw=="], + + "tailwind-merge": ["tailwind-merge@3.4.0", "", {}, "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g=="], + + "tailwindcss": ["tailwindcss@3.4.19", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.7", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ=="], + + "tailwindcss-animate": ["tailwindcss-animate@1.0.7", "", { "peerDependencies": { "tailwindcss": ">=3.0.0 || insiders" } }, "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA=="], + + "text-segmentation": ["text-segmentation@1.0.3", "", { "dependencies": { "utrie": "^1.0.2" } }, "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw=="], + + "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="], + + "thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="], + + "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], + + "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], + + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + + "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], + + "tr46": ["tr46@5.1.1", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw=="], + + "ts-api-utils": ["ts-api-utils@2.4.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA=="], + + "ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="], + + "tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], + + "tsx": ["tsx@4.23.9", "", { "dependencies": { "esbuild": "~0.28.0" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-6q8uTORRGauQVjqMQnKUucLFoeXZAfw6zKvG35GLbdKWbLdeOtZ3H4mhyA5mxuUd2o2cRTskhj59nLLQseUvUw=="], + + "tw-animate-css": ["tw-animate-css@1.4.0", "", {}, "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ=="], + + "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], + + "type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], + + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "typescript-eslint": ["typescript-eslint@8.52.0", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.52.0", "@typescript-eslint/parser": "8.52.0", "@typescript-eslint/typescript-estree": "8.52.0", "@typescript-eslint/utils": "8.52.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-atlQQJ2YkO4pfTVQmQ+wvYQwexPDOIgo+RaVcD7gHgzy/IQA+XTyuxNM9M9TVXvttkF7koBHmcwisKdOAf2EcA=="], + + "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "unicode-canonical-property-names-ecmascript": ["unicode-canonical-property-names-ecmascript@2.0.1", "", {}, "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg=="], + + "unicode-match-property-ecmascript": ["unicode-match-property-ecmascript@2.0.0", "", { "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" } }, "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q=="], + + "unicode-match-property-value-ecmascript": ["unicode-match-property-value-ecmascript@2.2.1", "", {}, "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg=="], + + "unicode-property-aliases-ecmascript": ["unicode-property-aliases-ecmascript@2.2.0", "", {}, "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ=="], + + "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], + + "update-browserslist-db": ["update-browserslist-db@1.2.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": "cli.js" }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="], + + "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], + + "use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="], + + "use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="], + + "use-sync-external-store": ["use-sync-external-store@1.6.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "utils-merge": ["utils-merge@1.0.1", "", {}, "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="], + + "utrie": ["utrie@1.0.2", "", { "dependencies": { "base64-arraybuffer": "^1.0.2" } }, "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw=="], + + "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], + + "vaul": ["vaul@1.1.2", "", { "dependencies": { "@radix-ui/react-dialog": "^1.1.1" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA=="], + + "victory-vendor": ["victory-vendor@36.9.2", "", { "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", "@types/d3-interpolate": "^3.0.1", "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^3.1.0", "@types/d3-time": "^3.0.0", "@types/d3-timer": "^3.0.0", "d3-array": "^3.1.6", "d3-ease": "^3.0.1", "d3-interpolate": "^3.0.1", "d3-scale": "^4.0.2", "d3-shape": "^3.1.0", "d3-time": "^3.0.0", "d3-timer": "^3.0.1" } }, "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ=="], + + "vite": ["vite@7.3.2", "", { "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": "bin/vite.js" }, "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg=="], + + "webidl-conversions": ["webidl-conversions@7.0.0", "", {}, "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="], + + "whatwg-url": ["whatwg-url@14.2.0", "", { "dependencies": { "tr46": "^5.1.0", "webidl-conversions": "^7.0.0" } }, "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw=="], + + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + + "yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], + + "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + + "zod": ["zod@4.3.5", "", {}, "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g=="], + + "zod-validation-error": ["zod-validation-error@4.0.2", "", { "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" } }, "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ=="], + + "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + + "@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], + + "@radix-ui/react-alert-dialog/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-aspect-ratio/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.4", "", { "dependencies": { "@radix-ui/react-slot": "1.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg=="], + + "@radix-ui/react-avatar/@radix-ui/react-context": ["@radix-ui/react-context@1.1.3", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-ieIFACdMpYfMEjF0rEf5KLvfVyIkOz6PDGyNnP+u+4xQ6jny3VCgA4OgXOwNx2aUkxn8zx9fiVcM8CfFYv9Lxw=="], + + "@radix-ui/react-avatar/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.4", "", { "dependencies": { "@radix-ui/react-slot": "1.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg=="], + + "@radix-ui/react-collection/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-dialog/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-label/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.4", "", { "dependencies": { "@radix-ui/react-slot": "1.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg=="], + + "@radix-ui/react-menu/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-popover/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-progress/@radix-ui/react-context": ["@radix-ui/react-context@1.1.3", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-ieIFACdMpYfMEjF0rEf5KLvfVyIkOz6PDGyNnP+u+4xQ6jny3VCgA4OgXOwNx2aUkxn8zx9fiVcM8CfFYv9Lxw=="], + + "@radix-ui/react-progress/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.4", "", { "dependencies": { "@radix-ui/react-slot": "1.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg=="], + + "@radix-ui/react-select/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-separator/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.4", "", { "dependencies": { "@radix-ui/react-slot": "1.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg=="], + + "@radix-ui/react-tooltip/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], + + "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], + + "@typescript-eslint/typescript-estree/semver": ["semver@7.7.3", "", { "bin": "bin/semver.js" }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], + + "anymatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], + + "aria-hidden/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "body-parser/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + + "chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "express/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + + "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "fast-png/pako": ["pako@2.1.0", "", {}, "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug=="], + + "finalhandler/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + + "micromatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], + + "prop-types/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], + + "react-remove-scroll/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "react-remove-scroll-bar/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "react-style-singleton/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "readdirp/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], + + "send/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], + + "use-callback-ref/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "use-sidecar/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "vite/esbuild": ["esbuild@0.27.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.2", "@esbuild/android-arm": "0.27.2", "@esbuild/android-arm64": "0.27.2", "@esbuild/android-x64": "0.27.2", "@esbuild/darwin-arm64": "0.27.2", "@esbuild/darwin-x64": "0.27.2", "@esbuild/freebsd-arm64": "0.27.2", "@esbuild/freebsd-x64": "0.27.2", "@esbuild/linux-arm": "0.27.2", "@esbuild/linux-arm64": "0.27.2", "@esbuild/linux-ia32": "0.27.2", "@esbuild/linux-loong64": "0.27.2", "@esbuild/linux-mips64el": "0.27.2", "@esbuild/linux-ppc64": "0.27.2", "@esbuild/linux-riscv64": "0.27.2", "@esbuild/linux-s390x": "0.27.2", "@esbuild/linux-x64": "0.27.2", "@esbuild/netbsd-arm64": "0.27.2", "@esbuild/netbsd-x64": "0.27.2", "@esbuild/openbsd-arm64": "0.27.2", "@esbuild/openbsd-x64": "0.27.2", "@esbuild/openharmony-arm64": "0.27.2", "@esbuild/sunos-x64": "0.27.2", "@esbuild/win32-arm64": "0.27.2", "@esbuild/win32-ia32": "0.27.2", "@esbuild/win32-x64": "0.27.2" }, "bin": "bin/esbuild" }, "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw=="], + + "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.1.0", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w=="], + + "body-parser/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + + "express/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + + "finalhandler/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + + "send/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + + "vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw=="], + + "vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.27.2", "", { "os": "android", "cpu": "arm" }, "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA=="], + + "vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.2", "", { "os": "android", "cpu": "arm64" }, "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA=="], + + "vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.27.2", "", { "os": "android", "cpu": "x64" }, "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A=="], + + "vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg=="], + + "vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA=="], + + "vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g=="], + + "vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA=="], + + "vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.2", "", { "os": "linux", "cpu": "arm" }, "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw=="], + + "vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw=="], + + "vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.2", "", { "os": "linux", "cpu": "ia32" }, "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w=="], + + "vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg=="], + + "vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw=="], + + "vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ=="], + + "vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA=="], + + "vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w=="], + + "vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.2", "", { "os": "linux", "cpu": "x64" }, "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA=="], + + "vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.2", "", { "os": "none", "cpu": "arm64" }, "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw=="], + + "vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.2", "", { "os": "none", "cpu": "x64" }, "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA=="], + + "vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA=="], + + "vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg=="], + + "vite/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.2", "", { "os": "none", "cpu": "arm64" }, "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag=="], + + "vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg=="], + + "vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg=="], + + "vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ=="], + + "vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.2", "", { "os": "win32", "cpu": "x64" }, "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ=="], + } +} diff --git a/components.json b/components.json new file mode 100644 index 0000000..411f770 --- /dev/null +++ b/components.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "new-york", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "postcss.config.js", + "css": "src/index.css", + "baseColor": "slate", + "cssVariables": true, + "prefix": "" + }, + "iconLibrary": "lucide", + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "registries": {} +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..43b474a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,21 @@ +services: + app: + build: + context: . + args: + - VITE_API_URL=/api + ports: + - "8084:80" + volumes: + - mongodb_data:/data/db + environment: + DB_NAME: hospital + ADMIN_DNI: "35242633" + ADMIN_PASSWORD: admin123 + ADMIN_NOMBRE: "Sistema" + ADMIN_APELLIDO: "Administrador" + ADMIN_EMAIL: "admin@hospital.local" + restart: unless-stopped + +volumes: + mongodb_data: diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..78bce3b --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +set -e + +# Ensure permissions on volume and logs directory +mkdir -p /data/db /var/log/mongodb /var/run/mongodb +chown -R mongodb:mongodb /data/db /var/log/mongodb /var/run/mongodb + +echo "Starting local MongoDB server (only accessible from inside container)..." +# Start mongod as default mongodb user, bound to localhost (127.0.0.1) +if ! su -s /bin/bash -c "mongod --dbpath /data/db --bind_ip 127.0.0.1 --fork --logpath /var/log/mongodb/mongod.log" mongodb; then + echo "ERROR: Failed to fork mongod process." + if [ -f /var/log/mongodb/mongod.log ]; then + echo "=== MongoDB Log (/var/log/mongodb/mongod.log) ===" + cat /var/log/mongodb/mongod.log + fi + exit 1 +fi + +echo "Waiting for MongoDB to be ready..." +READY=0 +for i in $(seq 1 30); do + if mongosh --eval "db.adminCommand('ping')" --quiet &>/dev/null; then + READY=1 + echo "MongoDB is ready." + break + fi + sleep 1 +done + +if [ "$READY" -ne 1 ]; then + echo "ERROR: MongoDB did not become ready within 30 seconds!" + if [ -f /var/log/mongodb/mongod.log ]; then + echo "=== MongoDB Log (/var/log/mongodb/mongod.log) ===" + tail -n 100 /var/log/mongodb/mongod.log + fi + exit 1 +fi + +echo "Starting Nginx reverse proxy..." +if ! nginx; then + echo "ERROR: Failed to start Nginx." + exit 1 +fi + +echo "Starting Node.js backend connected to local MongoDB..." +# Start the Node.js API server using MongoDB +exec node server/api-mongodb.js + diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..5e6b472 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,23 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' +import { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + js.configs.recommended, + tseslint.configs.recommended, + reactHooks.configs.flat.recommended, + reactRefresh.configs.vite, + ], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + }, +]) diff --git a/historia_clinica_generator.html b/historia_clinica_generator.html new file mode 100644 index 0000000..2aee996 --- /dev/null +++ b/historia_clinica_generator.html @@ -0,0 +1,753 @@ + + + + + Generador HC Ingreso – Santojanni + + + + +

Historia Clínica de Ingreso – Hospital Donación F. Santojanni

+

Hace clic en el botón para generar el PDF con las 5 páginas del formulario en blanco.

+ +
+ + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..321f127 --- /dev/null +++ b/index.html @@ -0,0 +1,12 @@ + + + + + + Sistema de Gestión Hospitalaria + + +
+ + + diff --git a/info.md b/info.md new file mode 100644 index 0000000..bb94924 --- /dev/null +++ b/info.md @@ -0,0 +1,31 @@ +Using Node.js 20, Tailwind CSS v3.4.19, and Vite v7.2.4 + +Tailwind CSS has been set up with the shadcn theme + +Setup complete: /mnt/okcomputer/output/app + +Components (40+): + accordion, alert-dialog, alert, aspect-ratio, avatar, badge, breadcrumb, + button-group, button, calendar, card, carousel, chart, checkbox, collapsible, + command, context-menu, dialog, drawer, dropdown-menu, empty, field, form, + hover-card, input-group, input-otp, input, item, kbd, label, menubar, + navigation-menu, pagination, popover, progress, radio-group, resizable, + scroll-area, select, separator, sheet, sidebar, skeleton, slider, sonner, + spinner, switch, table, tabs, textarea, toggle-group, toggle, tooltip + +Usage: + import { Button } from '@/components/ui/button' + import { Card, CardHeader, CardTitle } from '@/components/ui/card' + +Structure: + src/sections/ Page sections + src/hooks/ Custom hooks + src/types/ Type definitions + src/App.css Styles specific to the Webapp + src/App.tsx Root React component + src/index.css Global styles + src/main.tsx Entry point for rendering the Webapp + index.html Entry point for the Webapp + tailwind.config.js Configures Tailwind's theme, plugins, etc. + vite.config.ts Main build and dev server settings for Vite + postcss.config.js Config file for CSS post-processing tools \ No newline at end of file diff --git a/metadata.json b/metadata.json new file mode 100644 index 0000000..5ee4b11 --- /dev/null +++ b/metadata.json @@ -0,0 +1,6 @@ +{ + "name": "Administración Hospital", + "description": "Sistema de gestión y administración hospitalaria.", + "requestFramePermissions": [], + "majorCapabilities": ["MAJOR_CAPABILITY_SERVER_SIDE_GEMINI_API"] +} diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..73bb4b7 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,30 @@ +server { + listen 80; + server_name _; + root /usr/share/nginx/html; + index index.html; + + # Proxy all API requests to backend + location /api/ { + proxy_pass http://127.0.0.1:4000/api/; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location / { + try_files $uri $uri/ /index.html; + } + + # Cache for static assets + location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { + expires 1y; + add_header Cache-Control "public, immutable"; + } + + # Gzip compression + gzip on; + gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/rss text/javascript; +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..84d8da6 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,10042 @@ +{ + "name": "my-app", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "my-app", + "version": "0.0.0", + "dependencies": { + "@hookform/resolvers": "^5.2.2", + "@radix-ui/react-accordion": "^1.2.12", + "@radix-ui/react-alert-dialog": "^1.1.15", + "@radix-ui/react-aspect-ratio": "^1.1.8", + "@radix-ui/react-avatar": "^1.1.11", + "@radix-ui/react-checkbox": "^1.3.3", + "@radix-ui/react-collapsible": "^1.1.12", + "@radix-ui/react-context-menu": "^2.2.16", + "@radix-ui/react-dialog": "^1.1.15", + "@radix-ui/react-dropdown-menu": "^2.1.16", + "@radix-ui/react-hover-card": "^1.1.15", + "@radix-ui/react-label": "^2.1.8", + "@radix-ui/react-menubar": "^1.1.16", + "@radix-ui/react-navigation-menu": "^1.2.14", + "@radix-ui/react-popover": "^1.1.15", + "@radix-ui/react-progress": "^1.1.8", + "@radix-ui/react-radio-group": "^1.3.8", + "@radix-ui/react-scroll-area": "^1.2.10", + "@radix-ui/react-select": "^2.2.6", + "@radix-ui/react-separator": "^1.1.8", + "@radix-ui/react-slider": "^1.3.6", + "@radix-ui/react-slot": "^1.2.4", + "@radix-ui/react-switch": "^1.2.6", + "@radix-ui/react-tabs": "^1.1.13", + "@radix-ui/react-toggle": "^1.1.10", + "@radix-ui/react-toggle-group": "^1.1.11", + "@radix-ui/react-tooltip": "^1.2.8", + "bcryptjs": "^3.0.3", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "cmdk": "^1.1.1", + "cors": "^2.8.5", + "date-fns": "^4.1.0", + "embla-carousel-react": "^8.6.0", + "express": "^4.18.2", + "input-otp": "^1.4.2", + "jspdf": "^4.2.1", + "lucide-react": "^0.562.0", + "mongodb": "^7.5.0", + "next-themes": "^0.4.6", + "pdf-lib": "^1.17.1", + "react": "^19.2.0", + "react-day-picker": "^9.13.0", + "react-dom": "^19.2.0", + "react-hook-form": "^7.70.0", + "react-resizable-panels": "^4.2.2", + "recharts": "^2.15.4", + "sonner": "^2.0.7", + "tailwind-merge": "^3.4.0", + "vaul": "^1.1.2", + "zod": "^4.3.5" + }, + "devDependencies": { + "@eslint/js": "^9.39.1", + "@types/node": "^24.10.1", + "@types/react": "^19.2.5", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^5.1.1", + "autoprefixer": "^10.4.23", + "eslint": "^9.39.1", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.4.24", + "globals": "^16.5.0", + "kimi-plugin-inspect-react": "^1.0.3", + "postcss": "^8.5.6", + "tailwindcss": "^3.4.19", + "tailwindcss-animate": "^1.0.7", + "tsx": "^4.23.9", + "tw-animate-css": "^1.4.0", + "typescript": "~5.9.3", + "typescript-eslint": "^8.46.4", + "vite": "^7.3.2" + } + }, + "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/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", + "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", + "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.11" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", + "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", + "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.29.0.tgz", + "integrity": "sha512-CVBVv3VY/XRMxRYq5dwr2DS7/MvqPm23cOCjbwNnVrfOqcWlnefua1uUs0sjdKOGjvPUG633o07uWzJq4oI6dA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-decorators": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.28.6.tgz", + "integrity": "sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", + "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", + "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", + "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", + "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", + "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", + "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", + "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/template": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", + "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", + "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", + "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", + "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", + "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", + "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", + "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", + "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", + "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", + "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", + "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", + "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", + "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz", + "integrity": "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-jsx": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", + "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", + "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", + "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz", + "integrity": "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", + "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", + "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.2.tgz", + "integrity": "sha512-DYD23veRYGvBFhcTY1iUvJnDNpuqNd/BzBwCvzOTKUnJjKg5kpUBh3/u9585Agdkgj+QuygG7jLfOPWMa2KVNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.28.6", + "@babel/plugin-syntax-import-attributes": "^7.28.6", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.29.0", + "@babel/plugin-transform-async-to-generator": "^7.28.6", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.6", + "@babel/plugin-transform-class-properties": "^7.28.6", + "@babel/plugin-transform-class-static-block": "^7.28.6", + "@babel/plugin-transform-classes": "^7.28.6", + "@babel/plugin-transform-computed-properties": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.28.6", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.6", + "@babel/plugin-transform-exponentiation-operator": "^7.28.6", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.28.6", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.28.6", + "@babel/plugin-transform-modules-systemjs": "^7.29.0", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", + "@babel/plugin-transform-numeric-separator": "^7.28.6", + "@babel/plugin-transform-object-rest-spread": "^7.28.6", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.28.6", + "@babel/plugin-transform-optional-chaining": "^7.28.6", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.28.6", + "@babel/plugin-transform-private-property-in-object": "^7.28.6", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.29.0", + "@babel/plugin-transform-regexp-modifiers": "^7.28.6", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.28.6", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.28.6", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.15", + "babel-plugin-polyfill-corejs3": "^0.14.0", + "babel-plugin-polyfill-regenerator": "^0.6.6", + "core-js-compat": "^3.48.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@date-fns/tz": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@date-fns/tz/-/tz-1.4.1.tgz", + "integrity": "sha512-P5LUNhtbj6YfI3iJjw5EL9eUAG6OitD0W3fWQcpQjDRc/QIsL0tRNuO1PcDvPccWL1fSTXXdE1ds+l95DV/OFA==", + "license": "MIT" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", + "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", + "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", + "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.6.tgz", + "integrity": "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.4" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@hookform/resolvers": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-5.2.2.tgz", + "integrity": "sha512-A/IxlMLShx3KjV/HeTcTfaMxdwy690+L/ZADoeaTltLx+CVuzkeVIPuybK3jrRfw7YZnmdKsVVHAlEPIAEUNlA==", + "license": "MIT", + "dependencies": { + "@standard-schema/utils": "^0.3.0" + }, + "peerDependencies": { + "react-hook-form": "^7.55.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "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/@mongodb-js/saslprep": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.13.tgz", + "integrity": "sha512-E3Sv4eCYAlKYUTx8S3ioQcDUscOif+8zZ5OnW1IzJ+Tt+EO+ke8mn+Y3FX6N1H79picwbdOavVOb1jPi2EOyrg==", + "license": "MIT", + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, + "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/@pdf-lib/standard-fonts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz", + "integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.6" + } + }, + "node_modules/@pdf-lib/standard-fonts/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/@pdf-lib/upng": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz", + "integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.10" + } + }, + "node_modules/@pdf-lib/upng/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/@radix-ui/number": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", + "integrity": "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==", + "license": "MIT" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", + "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-accordion": { + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.12.tgz", + "integrity": "sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collapsible": "1.1.12", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-alert-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.15.tgz", + "integrity": "sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dialog": "1.1.15", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-alert-dialog/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz", + "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-aspect-ratio": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.1.8.tgz", + "integrity": "sha512-5nZrJTF7gH+e0nZS7/QxFz6tJV4VimhQb1avEgtsJxvvIp5JilL+c58HICsKzPxghdwaDt48hEfPM1au4zGy+w==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-aspect-ratio/node_modules/@radix-ui/react-primitive": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", + "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-avatar": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.11.tgz", + "integrity": "sha512-0Qk603AHGV28BOBO34p7IgD5m+V5Sg/YovfayABkoDDBM5d3NCx0Mp4gGrjzLGes1jV5eNOE1r3itqOR33VC6Q==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-context": "1.1.3", + "@radix-ui/react-primitive": "2.1.4", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-is-hydrated": "0.1.0", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.3.tgz", + "integrity": "sha512-ieIFACdMpYfMEjF0rEf5KLvfVyIkOz6PDGyNnP+u+4xQ6jny3VCgA4OgXOwNx2aUkxn8zx9fiVcM8CfFYv9Lxw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", + "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-checkbox": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.3.3.tgz", + "integrity": "sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-use-size": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.12.tgz", + "integrity": "sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", + "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context-menu": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.2.16.tgz", + "integrity": "sha512-O8morBEW+HsVG28gYDZPTrT9UUovQUlJue5YO836tiTJhuIWBm/zQHc7j388sHWtdH/xUZurK9olD2+pcqx5ww==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-menu": "2.1.16", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", + "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", + "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.16.tgz", + "integrity": "sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-menu": "2.1.16", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", + "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-hover-card": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.1.15.tgz", + "integrity": "sha512-qgTkjNT1CfKMoP0rcasmlH2r1DAiYicWsDsufxl940sT2wHNEWWv6FMWIQXWhVdmC1d/HYfbhQx60KYyAtKxjg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.8.tgz", + "integrity": "sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", + "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.16.tgz", + "integrity": "sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menubar": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menubar/-/react-menubar-1.1.16.tgz", + "integrity": "sha512-EB1FktTz5xRRi2Er974AUQZWg2yVBb1yjip38/lgwtCVRd3a+maUoGHN/xs9Yv8SY8QwbSEb+YrxGadVWbEutA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-menu": "2.1.16", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-navigation-menu": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.14.tgz", + "integrity": "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.15.tgz", + "integrity": "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz", + "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-rect": "1.1.1", + "@radix-ui/react-use-size": "1.1.1", + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", + "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.1.8.tgz", + "integrity": "sha512-+gISHcSPUJ7ktBy9RnTqbdKW78bcGke3t6taawyZ71pio1JewwGSJizycs7rLhGTvMJYCQB1DBK4KQsxs7U8dA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-context": "1.1.3", + "@radix-ui/react-primitive": "2.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-context": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.3.tgz", + "integrity": "sha512-ieIFACdMpYfMEjF0rEf5KLvfVyIkOz6PDGyNnP+u+4xQ6jny3VCgA4OgXOwNx2aUkxn8zx9fiVcM8CfFYv9Lxw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-primitive": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", + "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-radio-group": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.3.8.tgz", + "integrity": "sha512-VBKYIYImA5zsxACdisNQ3BjCBfmbGH3kQlnFVqlWU4tXwjy7cGX8ta80BcrO+WJXIn5iBylEH3K6ZTlee//lgQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-use-size": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", + "integrity": "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.10.tgz", + "integrity": "sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.6.tgz", + "integrity": "sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.8.tgz", + "integrity": "sha512-sDvqVY4itsKwwSMEe0jtKgfTh+72Sy3gPmQpjqcQneqQ4PFmr/1I0YA+2/puilhggCe2gJcx5EBAYFkWkdpa5g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", + "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slider": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.3.6.tgz", + "integrity": "sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-use-size": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz", + "integrity": "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-switch": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.2.6.tgz", + "integrity": "sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-use-size": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tabs": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.13.tgz", + "integrity": "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.1.10.tgz", + "integrity": "sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle-group": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.11.tgz", + "integrity": "sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-toggle": "1.1.10", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.8.tgz", + "integrity": "sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", + "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-is-hydrated": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.1.0.tgz", + "integrity": "sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==", + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.5.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz", + "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz", + "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==", + "license": "MIT", + "dependencies": { + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", + "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz", + "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", + "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", + "license": "MIT" + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.53", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz", + "integrity": "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@standard-schema/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-shape": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", + "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.10.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.4.tgz", + "integrity": "sha512-vnDVpYPMzs4wunl27jHrfmwojOGKya0xyM3sH+UE5iv5uPS6vX7UIoh6m+vQc5LGBq52HBKPIn/zcSZVzeDEZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/pako": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==", + "license": "MIT" + }, + "node_modules/@types/raf": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.3.tgz", + "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", + "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "devOptional": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", + "license": "MIT" + }, + "node_modules/@types/whatwg-url": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-13.0.0.tgz", + "integrity": "sha512-N8WXpbE6Wgri7KUSvrmQcqrMllKZ9uxkYWMt+mCSGwNc0Hsw9VQTW7ApqI4XNrx6/SaM2QQJCzMPDEXE058s+Q==", + "license": "MIT", + "dependencies": { + "@types/webidl-conversions": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.52.0.tgz", + "integrity": "sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.52.0", + "@typescript-eslint/type-utils": "8.52.0", + "@typescript-eslint/utils": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.52.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.52.0.tgz", + "integrity": "sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.52.0", + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/typescript-estree": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.52.0.tgz", + "integrity": "sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.52.0", + "@typescript-eslint/types": "^8.52.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz", + "integrity": "sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz", + "integrity": "sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.52.0.tgz", + "integrity": "sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/typescript-estree": "8.52.0", + "@typescript-eslint/utils": "8.52.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz", + "integrity": "sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.52.0.tgz", + "integrity": "sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.52.0", + "@typescript-eslint/tsconfig-utils": "8.52.0", + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz", + "integrity": "sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.52.0", + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/typescript-estree": "8.52.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz", + "integrity": "sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.52.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.2.tgz", + "integrity": "sha512-EcA07pHJouywpzsoTUqNh5NwGayl2PPVEJKUSinGGSxFGYn+shYbqMGBg6FXDqgXum9Ou/ecb+411ssw8HImJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.5", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.53", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.18.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "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-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/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/autoprefixer": { + "version": "10.4.23", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", + "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==", + "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.28.1", + "caniuse-lite": "^1.0.30001760", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", + "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-define-polyfill-provider": "^0.6.8", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz", + "integrity": "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.8", + "core-js-compat": "^3.48.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", + "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.8" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "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/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.11", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz", + "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/bcryptjs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-3.0.3.tgz", + "integrity": "sha512-GlF5wPWnSa/X5LKM1o0wz0suXIINz1iHRLvTS+sLyi7XPbe5ycmYI3DlZqVGZZtDgl4DmasFg7gOB3JYbphV5g==", + "bin": { + "bcrypt": "bin/bcrypt" + } + }, + "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/body-parser": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "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", + "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/bson": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-7.3.1.tgz", + "integrity": "sha512-h/C0qe6857pQhcSJHLfsR1uYGj98Ge3wKAD3Ed9KqH3wcVh+BM4Jq4xISD7vs9OPuT07n+q3QQVjslJ286j6ag==", + "license": "Apache-2.0", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/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.30001762", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz", + "integrity": "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/canvg": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.11.tgz", + "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + }, + "engines": { + "node": ">=10.0.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/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cmdk": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cmdk/-/cmdk-1.1.1.tgz", + "integrity": "sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "^1.1.1", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-id": "^1.1.0", + "@radix-ui/react-primitive": "^2.0.2" + }, + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "react-dom": "^18 || ^19 || ^19.0.0-rc" + } + }, + "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/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/core-js": { + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.49.0.tgz", + "integrity": "sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", + "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "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/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "license": "MIT", + "optional": true, + "dependencies": { + "utrie": "^1.0.2" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/date-fns": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/date-fns-jalali": { + "version": "4.1.0-0", + "resolved": "https://registry.npmjs.org/date-fns-jalali/-/date-fns-jalali-4.1.0-0.tgz", + "integrity": "sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==", + "license": "MIT" + }, + "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/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", + "license": "MIT" + }, + "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/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, + "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/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/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dompurify": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.0.tgz", + "integrity": "sha512-nolgK9JcaUXMSmW+j1yaSvaEaoXYHwWyGJlkoCTghc97KgGDDSnpoU/PlEnw63Ah+TGKFOyY+X5LnxaWbCSfXg==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optional": true, + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/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/embla-carousel": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.6.0.tgz", + "integrity": "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==", + "license": "MIT" + }, + "node_modules/embla-carousel-react": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel-react/-/embla-carousel-react-8.6.0.tgz", + "integrity": "sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==", + "license": "MIT", + "dependencies": { + "embla-carousel": "8.6.0", + "embla-carousel-reactive-utils": "8.6.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + } + }, + "node_modules/embla-carousel-reactive-utils": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel-reactive-utils/-/embla-carousel-reactive-utils-8.6.0.tgz", + "integrity": "sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==", + "license": "MIT", + "peerDependencies": { + "embla-carousel": "8.6.0" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" + } + }, + "node_modules/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-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", + "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.26", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.26.tgz", + "integrity": "sha512-1RETEylht2O6FM/MvgnyvT+8K21wLqDNg4qD51Zj3guhjt433XbnnkVttHMyaVyAFD03QSV4LPS5iE3VQmO7XQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/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/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "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-equals": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.4.0.tgz", + "integrity": "sha512-jt2DW/aNFNwke7AUd+Z+e6pz39KO5rzdbbFCg2sGafS4mk13MI7Z8O5z9cADNn5lhGODIgLwug6TZO2ctf7kcw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "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/fast-png": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz", + "integrity": "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==", + "license": "MIT", + "dependencies": { + "@types/pako": "^2.0.3", + "iobuffer": "^5.3.2", + "pako": "^2.1.0" + } + }, + "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/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/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/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/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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/globals": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", + "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "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==", + "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-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "license": "MIT", + "optional": true, + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/input-otp": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/input-otp/-/input-otp-1.4.2.tgz", + "integrity": "sha512-l3jWwYNvrEa6NTCt7BECfCm48GvwuZzkoeG3gBL2w4CHeOXW3eKFmf9UNYkNfYc3mxMrthMnxjIE07MT0zLBQA==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/iobuffer": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz", + "integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==", + "license": "MIT" + }, + "node_modules/ip-address": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-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-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-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-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-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/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/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/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jspdf": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-4.2.1.tgz", + "integrity": "sha512-YyAXyvnmjTbR4bHQRLzex3CuINCDlQnBqoSYyjJwTP2x9jDLuKDzy7aKUl0hgx3uhcl7xzg32agn5vlie6HIlQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6", + "fast-png": "^6.2.0", + "fflate": "^0.8.1" + }, + "optionalDependencies": { + "canvg": "^3.0.11", + "core-js": "^3.6.0", + "dompurify": "^3.3.1", + "html2canvas": "^1.0.0-rc.5" + } + }, + "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/kimi-plugin-inspect-react": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/kimi-plugin-inspect-react/-/kimi-plugin-inspect-react-1.0.3.tgz", + "integrity": "sha512-dU0dYaFYvczJZWwsyAVQ2No2NTaycd93zk3zrbLj9IPwdZaLBK4d0cESz88lVju3rQuFiwRXYNDaCnbPxn4JcQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/preset-env": "^7.23.0", + "@babel/preset-react": "^7.23.0", + "@babel/preset-typescript": "^7.23.0", + "@babel/types": "^7.23.0", + "magic-string": "^0.30.0" + }, + "peerDependencies": { + "vite": "^7.2.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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/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": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/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": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.562.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.562.0.tgz", + "integrity": "sha512-82hOAu7y0dbVuFfmO4bYF1XEwYk/mEbM5E+b1jgci/udUBEE/R7LF5Ip0CCEmXe8AybRM8L+04eP+LGZeDvkiw==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "license": "MIT" + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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/micromatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mongodb": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.5.0.tgz", + "integrity": "sha512-5FnrEDLnvp6ycUOGLNLLU33BfCx2qmp2mJjGPDwKLruYsVzXVSK5fsGpoDXvsXJwBfBsD7ebMRdawbDxC2814g==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/saslprep": "^1.4.11", + "bson": "^7.2.0", + "mongodb-connection-string-url": "^7.0.1" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.806.0", + "@mongodb-js/zstd": "^7.0.0", + "gcp-metadata": "^7.0.1", + "kerberos": "^7.0.0", + "mongodb-client-encryption": "^7.2.0", + "snappy": "^7.3.2", + "socks": "^2.8.6" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "gcp-metadata": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + }, + "socks": { + "optional": true + } + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-7.0.2.tgz", + "integrity": "sha512-ZoS07RoFqpKYQwAk59qmrx8+jJHNHU30UjlU96QktiGn1ltvDr+vCznLX5DiUBLEpMAHatHNWV1nM/74ul66kA==", + "license": "Apache-2.0", + "dependencies": { + "@types/whatwg-url": "^13.0.0", + "whatwg-url": "^14.1.0" + }, + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next-themes": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", + "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" + } + }, + "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/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==", + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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-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-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "license": "MIT" + }, + "node_modules/pdf-lib": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/pdf-lib/-/pdf-lib-1.17.1.tgz", + "integrity": "sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==", + "license": "MIT", + "dependencies": { + "@pdf-lib/standard-fonts": "^1.0.0", + "@pdf-lib/upng": "^1.0.1", + "pako": "^1.0.11", + "tslib": "^1.11.1" + } + }, + "node_modules/pdf-lib/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/pdf-lib/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT", + "optional": true + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "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/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/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-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "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==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/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==", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "optional": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-day-picker": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-9.13.0.tgz", + "integrity": "sha512-euzj5Hlq+lOHqI53NiuNhCP8HWgsPf/bBAVijR50hNaY1XwjKjShAnIe8jm8RD2W9IJUvihDIZ+KrmqfFzNhFQ==", + "license": "MIT", + "dependencies": { + "@date-fns/tz": "^1.4.1", + "date-fns": "^4.1.0", + "date-fns-jalali": "^4.1.0-0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/gpbl" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.3" + } + }, + "node_modules/react-hook-form": { + "version": "7.70.0", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.70.0.tgz", + "integrity": "sha512-COOMajS4FI3Wuwrs3GPpi/Jeef/5W1DRR84Yl5/ShlT3dKVFUfoGiEZ/QE6Uw8P4T2/CLJdcTVYKvWBMQTEpvw==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18 || ^19" + } + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-remove-scroll": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", + "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-resizable-panels": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/react-resizable-panels/-/react-resizable-panels-4.2.2.tgz", + "integrity": "sha512-BxDTFHxDCyCRPK54X5hpnhoLZbBslUrTTelQDRHo4107FXODjPSTqEWOPlFxE/ho0Vw4JrsRgaWdx6GIK073XA==", + "license": "MIT", + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-smooth": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.4.tgz", + "integrity": "sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==", + "license": "MIT", + "dependencies": { + "fast-equals": "^5.0.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "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/readdirp/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/recharts": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.15.4.tgz", + "integrity": "sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw==", + "license": "MIT", + "dependencies": { + "clsx": "^2.0.0", + "eventemitter3": "^4.0.1", + "lodash": "^4.17.21", + "react-is": "^18.3.1", + "react-smooth": "^4.0.4", + "recharts-scale": "^0.4.4", + "tiny-invariant": "^1.3.1", + "victory-vendor": "^36.6.8" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/recharts-scale": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", + "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", + "license": "MIT", + "dependencies": { + "decimal.js-light": "^2.4.1" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT", + "optional": true + }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.1.tgz", + "integrity": "sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "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/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/rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "license": "MIT OR SEE LICENSE IN FEEL-FREE.md", + "optional": true, + "engines": { + "node": ">= 0.8.15" + } + }, + "node_modules/rollup": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", + "fsevents": "~2.3.2" + } + }, + "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-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/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==", + "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.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/sonner": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/sonner/-/sonner-2.0.7.tgz", + "integrity": "sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==", + "license": "MIT", + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "license": "MIT", + "dependencies": { + "memory-pager": "^1.0.2" + } + }, + "node_modules/stackblur-canvas": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz", + "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.14" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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/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/svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/tailwind-merge": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", + "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss-animate": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", + "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "license": "MIT", + "optional": true, + "dependencies": { + "utrie": "^1.0.2" + } + }, + "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/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "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/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/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/ts-api-utils": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-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/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/tsx": { + "version": "4.23.11", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.11.tgz", + "integrity": "sha512-Ry2oTEUnhBdeEdWIztY8kf3/nBGnPnjMLVGL0YfdRXMORuPER5NlKmayqxtxRxwB1xBN+RivRaJfe7PM1rtiyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.28.0" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz", + "integrity": "sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz", + "integrity": "sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz", + "integrity": "sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz", + "integrity": "sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz", + "integrity": "sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz", + "integrity": "sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz", + "integrity": "sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz", + "integrity": "sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz", + "integrity": "sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz", + "integrity": "sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ia32": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz", + "integrity": "sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-loong64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz", + "integrity": "sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz", + "integrity": "sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz", + "integrity": "sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz", + "integrity": "sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-s390x": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz", + "integrity": "sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz", + "integrity": "sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz", + "integrity": "sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz", + "integrity": "sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz", + "integrity": "sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz", + "integrity": "sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz", + "integrity": "sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/sunos-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz", + "integrity": "sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz", + "integrity": "sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-ia32": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz", + "integrity": "sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz", + "integrity": "sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/esbuild": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz", + "integrity": "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.2", + "@esbuild/android-arm": "0.28.2", + "@esbuild/android-arm64": "0.28.2", + "@esbuild/android-x64": "0.28.2", + "@esbuild/darwin-arm64": "0.28.2", + "@esbuild/darwin-x64": "0.28.2", + "@esbuild/freebsd-arm64": "0.28.2", + "@esbuild/freebsd-x64": "0.28.2", + "@esbuild/linux-arm": "0.28.2", + "@esbuild/linux-arm64": "0.28.2", + "@esbuild/linux-ia32": "0.28.2", + "@esbuild/linux-loong64": "0.28.2", + "@esbuild/linux-mips64el": "0.28.2", + "@esbuild/linux-ppc64": "0.28.2", + "@esbuild/linux-riscv64": "0.28.2", + "@esbuild/linux-s390x": "0.28.2", + "@esbuild/linux-x64": "0.28.2", + "@esbuild/netbsd-arm64": "0.28.2", + "@esbuild/netbsd-x64": "0.28.2", + "@esbuild/openbsd-arm64": "0.28.2", + "@esbuild/openbsd-x64": "0.28.2", + "@esbuild/openharmony-arm64": "0.28.2", + "@esbuild/sunos-x64": "0.28.2", + "@esbuild/win32-arm64": "0.28.2", + "@esbuild/win32-ia32": "0.28.2", + "@esbuild/win32-x64": "0.28.2" + } + }, + "node_modules/tw-animate-css": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.4.0.tgz", + "integrity": "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Wombosvideo" + } + }, + "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-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.52.0.tgz", + "integrity": "sha512-atlQQJ2YkO4pfTVQmQ+wvYQwexPDOIgo+RaVcD7gHgzy/IQA+XTyuxNM9M9TVXvttkF7koBHmcwisKdOAf2EcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.52.0", + "@typescript-eslint/parser": "8.52.0", + "@typescript-eslint/typescript-estree": "8.52.0", + "@typescript-eslint/utils": "8.52.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.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/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "license": "MIT", + "optional": true, + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vaul": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vaul/-/vaul-1.1.2.tgz", + "integrity": "sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-dialog": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc" + } + }, + "node_modules/victory-vendor": { + "version": "36.9.2", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", + "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", + "license": "MIT AND ISC", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, + "node_modules/vite": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", + "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", + "dev": true, + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "license": "MIT", + "dependencies": { + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", + "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..c5cdc6a --- /dev/null +++ b/package.json @@ -0,0 +1,87 @@ +{ + "name": "my-app", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "tsx server.ts", + "build": "vite build && esbuild server.ts --bundle --platform=node --format=cjs --packages=external --sourcemap --outfile=dist/server.cjs", + "start": "node dist/server.cjs", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@hookform/resolvers": "^5.2.2", + "@radix-ui/react-accordion": "^1.2.12", + "@radix-ui/react-alert-dialog": "^1.1.15", + "@radix-ui/react-aspect-ratio": "^1.1.8", + "@radix-ui/react-avatar": "^1.1.11", + "@radix-ui/react-checkbox": "^1.3.3", + "@radix-ui/react-collapsible": "^1.1.12", + "@radix-ui/react-context-menu": "^2.2.16", + "@radix-ui/react-dialog": "^1.1.15", + "@radix-ui/react-dropdown-menu": "^2.1.16", + "@radix-ui/react-hover-card": "^1.1.15", + "@radix-ui/react-label": "^2.1.8", + "@radix-ui/react-menubar": "^1.1.16", + "@radix-ui/react-navigation-menu": "^1.2.14", + "@radix-ui/react-popover": "^1.1.15", + "@radix-ui/react-progress": "^1.1.8", + "@radix-ui/react-radio-group": "^1.3.8", + "@radix-ui/react-scroll-area": "^1.2.10", + "@radix-ui/react-select": "^2.2.6", + "@radix-ui/react-separator": "^1.1.8", + "@radix-ui/react-slider": "^1.3.6", + "@radix-ui/react-slot": "^1.2.4", + "@radix-ui/react-switch": "^1.2.6", + "@radix-ui/react-tabs": "^1.1.13", + "@radix-ui/react-toggle": "^1.1.10", + "@radix-ui/react-toggle-group": "^1.1.11", + "@radix-ui/react-tooltip": "^1.2.8", + "bcryptjs": "^3.0.3", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "cmdk": "^1.1.1", + "cors": "^2.8.5", + "date-fns": "^4.1.0", + "embla-carousel-react": "^8.6.0", + "express": "^4.18.2", + "input-otp": "^1.4.2", + "jspdf": "^4.2.1", + "lucide-react": "^0.562.0", + "mongodb": "^7.5.0", + "next-themes": "^0.4.6", + "pdf-lib": "^1.17.1", + "react": "^19.2.0", + "react-day-picker": "^9.13.0", + "react-dom": "^19.2.0", + "react-hook-form": "^7.70.0", + "react-resizable-panels": "^4.2.2", + "recharts": "^2.15.4", + "sonner": "^2.0.7", + "tailwind-merge": "^3.4.0", + "vaul": "^1.1.2", + "zod": "^4.3.5" + }, + "devDependencies": { + "@eslint/js": "^9.39.1", + "@types/node": "^24.10.1", + "@types/react": "^19.2.5", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^5.1.1", + "autoprefixer": "^10.4.23", + "eslint": "^9.39.1", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.4.24", + "globals": "^16.5.0", + "kimi-plugin-inspect-react": "^1.0.3", + "postcss": "^8.5.6", + "tailwindcss": "^3.4.19", + "tailwindcss-animate": "^1.0.7", + "tsx": "^4.23.9", + "tw-animate-css": "^1.4.0", + "typescript": "~5.9.3", + "typescript-eslint": "^8.46.4", + "vite": "^7.3.2" + } +} diff --git a/patch_app.cjs b/patch_app.cjs new file mode 100644 index 0000000..684241d --- /dev/null +++ b/patch_app.cjs @@ -0,0 +1,10 @@ +const fs = require('fs'); +let code = fs.readFileSync('src/App.tsx', 'utf8'); + +code = code.replace(/store\.getLaboratoriosByPaciente\(paciente\.id\)/g, 'store.getLaboratoriosByInternacion(internacion.id)'); +code = code.replace(/store\.getGlucemiasByPaciente\(paciente\.id\)/g, 'store.getGlucemiasByInternacion(internacion.id)'); +code = code.replace(/store\.getAcidosBaseByPaciente\(paciente\.id\)/g, 'store.getAcidosBaseByInternacion(internacion.id)'); +code = code.replace(/store\.getCultivosByPaciente\(paciente\.id\)/g, 'store.getCultivosByInternacion(internacion.id)'); +code = code.replace(/store\.estudiosComplementarios\.filter\(e => e\.pacienteId === paciente\.id\)/g, 'store.estudiosComplementarios.filter(e => e.internacionId === internacion.id)'); + +fs.writeFileSync('src/App.tsx', code); diff --git a/patch_db.cjs b/patch_db.cjs new file mode 100644 index 0000000..6ff9c70 --- /dev/null +++ b/patch_db.cjs @@ -0,0 +1,109 @@ +const fs = require('fs'); +let code = fs.readFileSync('server/db.js', 'utf8'); + +// Add computeSector function +const computeSectorCode = ` +function computeSector(numero) { + if (!numero) return 'En Área'; + const parts = String(numero).trim().split('-'); + if (parts.length === 0) return 'En Área'; + const salaStr = parts[0].trim(); + const salaNum = parseInt(salaStr, 10); + if (isNaN(salaNum)) return 'En Área'; + if (salaNum >= 300 && salaNum < 400 && salaNum % 2 !== 0) { + return 'Fuera de Área'; + } + if (salaNum >= 400 && salaNum < 500) { + return 'Fuera de Área'; + } + return 'En Área'; +} +`; + +// Find where to insert computeSector +code = code.replace("export function createCama(cama) {", computeSectorCode + "\nexport function createCama(cama) {"); + +// Update createCama +code = code.replace( + /export function createCama\(cama\) \{\s*const gId = cama.grupoId \|\| cama.areaId \|\| null;\s*db.prepare\('INSERT INTO camas \(id, numero, grupoId, areaId, tipo, estado, pacienteId, internacionId\) VALUES \(\?, \?, \?, \?, \?, \?, \?, \?\)'\)\.run\(cama.id, cama.numero, gId, gId, cama.tipo \|\| 'Estándar', cama.estado \|\| 'Disponible', cama.pacienteId \|\| null, cama.internacionId \|\| null\);\s*\}/, + `export function createCama(cama) { + const gId = cama.grupoId || cama.areaId || null; + const sector = computeSector(cama.numero); + db.prepare('INSERT INTO camas (id, numero, grupoId, areaId, tipo, estado, pacienteId, internacionId, sector) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)').run(cama.id, cama.numero, gId, gId, cama.tipo || 'Estándar', cama.estado || 'Disponible', cama.pacienteId || null, cama.internacionId || null, sector); +}` +); + +// Update updateCama +code = code.replace( + /export function updateCama\(id, updates\) \{[\s\S]*?if \(fields\.length > 0\) \{/, + `export function updateCama(id, updates) { + const fields = []; + const values = []; + + if (updates.numero !== undefined) { + fields.push('numero = ?'); + values.push(updates.numero); + fields.push('sector = ?'); + values.push(computeSector(updates.numero)); + } + if (updates.tipo !== undefined) { + fields.push('tipo = ?'); + values.push(updates.tipo); + } + if (updates.grupoId !== undefined) { + fields.push('grupoId = ?'); + values.push(updates.grupoId); + fields.push('areaId = ?'); + values.push(updates.grupoId); + } + if (updates.estado !== undefined) { + fields.push('estado = ?'); + values.push(updates.estado); + } + if (updates.pacienteId !== undefined) { + fields.push('pacienteId = ?'); + values.push(updates.pacienteId); + } + if (updates.internacionId !== undefined) { + fields.push('internacionId = ?'); + values.push(updates.internacionId); + } + + if (fields.length > 0) {` +); + +// Update table schema +code = code.replace( + /CREATE TABLE IF NOT EXISTS camas \(\s*id TEXT PRIMARY KEY,\s*numero TEXT NOT NULL,\s*grupoId TEXT,\s*areaId TEXT,\s*tipo TEXT DEFAULT 'Estándar',\s*estado TEXT DEFAULT 'Disponible',\s*pacienteId TEXT,\s*internacionId TEXT\s*\);/, + `CREATE TABLE IF NOT EXISTS camas ( + id TEXT PRIMARY KEY, + numero TEXT NOT NULL, + grupoId TEXT, + areaId TEXT, + tipo TEXT DEFAULT 'Estándar', + estado TEXT DEFAULT 'Disponible', + pacienteId TEXT, + internacionId TEXT, + sector TEXT DEFAULT 'En Área' + ); + try { + db.prepare("ALTER TABLE camas ADD COLUMN sector TEXT DEFAULT 'En Área'").run(); + } catch(e) {} + try { + // Initialize existing beds with their sector + const rows = db.prepare('SELECT id, numero FROM camas WHERE sector IS NULL OR sector = "En Área"').all(); + for (const row of rows) { + if (!row.numero) continue; + const salaStr = String(row.numero).trim().split('-')[0].trim(); + const salaNum = parseInt(salaStr, 10); + let s = 'En Área'; + if (!isNaN(salaNum)) { + if (salaNum >= 300 && salaNum < 400 && salaNum % 2 !== 0) s = 'Fuera de Área'; + else if (salaNum >= 400 && salaNum < 500) s = 'Fuera de Área'; + } + db.prepare('UPDATE camas SET sector = ? WHERE id = ?').run(s, row.id); + } + } catch(e) {}` +); + +fs.writeFileSync('server/db.js', code); diff --git a/patch_dirname.cjs b/patch_dirname.cjs new file mode 100644 index 0000000..94d591e --- /dev/null +++ b/patch_dirname.cjs @@ -0,0 +1,10 @@ +const fs = require('fs'); +let code = fs.readFileSync('server/db.js', 'utf8'); + +code = code.replace( + /const __dirname = dirname\(fileURLToPath\(import\.meta\.url\)\);/, + `const currentDir = typeof __dirname !== 'undefined' ? __dirname : dirname(fileURLToPath(import.meta.url));` +); +code = code.replace(/__dirname/g, "currentDir"); + +fs.writeFileSync('server/db.js', code); diff --git a/patch_dirname_fix.cjs b/patch_dirname_fix.cjs new file mode 100644 index 0000000..9c4eb28 --- /dev/null +++ b/patch_dirname_fix.cjs @@ -0,0 +1,9 @@ +const fs = require('fs'); +let code = fs.readFileSync('server/db.js', 'utf8'); + +code = code.replace( + /const currentDir = typeof currentDir !== 'undefined' \? currentDir : dirname\(fileURLToPath\(import\.meta\.url\)\);/, + `const currentDir = typeof __dirname !== 'undefined' ? __dirname : dirname(fileURLToPath(import.meta.url));` +); + +fs.writeFileSync('server/db.js', code); diff --git a/patch_index.cjs b/patch_index.cjs new file mode 100644 index 0000000..9b19a75 --- /dev/null +++ b/patch_index.cjs @@ -0,0 +1,40 @@ +const fs = require('fs'); +let code = fs.readFileSync('server/index.js', 'utf8'); + +const computeSectorCode = ` +function computeSector(numero) { + if (!numero) return 'En Área'; + const parts = String(numero).trim().split('-'); + if (parts.length === 0) return 'En Área'; + const salaStr = parts[0].trim(); + const salaNum = parseInt(salaStr, 10); + if (isNaN(salaNum)) return 'En Área'; + if (salaNum >= 300 && salaNum < 400 && salaNum % 2 !== 0) return 'Fuera de Área'; + if (salaNum >= 400 && salaNum < 500) return 'Fuera de Área'; + return 'En Área'; +} +`; + +// Insert computeSector somewhere at the top +code = code.replace("const PORT = process.env.PORT || 3000;", computeSectorCode + "\nconst PORT = process.env.PORT || 3000;"); + +code = code.replace( + /const stmt = db\.prepare\('INSERT OR IGNORE INTO camas \(id, numero, grupoId, areaId, tipo, estado\) VALUES \(\?, \?, \?, \?, \?, \?\)'\);\s*for \(const c of state\.camas\) \{\s*const gId = c\.grupoId \|\| c\.areaId \|\| null;\s*stmt\.run\(c\.id, c\.numero, gId, gId, c\.tipo, c\.estado\);\s*\}/, + `const stmt = db.prepare('INSERT OR IGNORE INTO camas (id, numero, grupoId, areaId, tipo, estado, sector) VALUES (?, ?, ?, ?, ?, ?, ?)'); + for (const c of state.camas) { + const gId = c.grupoId || c.areaId || null; + const sector = computeSector(c.numero); + stmt.run(c.id, c.numero, gId, gId, c.tipo, c.estado, sector); + }` +); + +code = code.replace( + /const stmt = db\.prepare\('INSERT INTO camas \(id, numero, areaId, tipo, estado\) VALUES \(\?, \?, \?, \?, \?\)'\);\s*for \(const c of updates\.camas\) \{\s*stmt\.run\(c\.id, c\.numero, c\.areaId, c\.tipo, c\.estado\);\s*\}/, + `const stmt = db.prepare('INSERT INTO camas (id, numero, grupoId, areaId, tipo, estado, sector) VALUES (?, ?, ?, ?, ?, ?, ?)'); + for (const c of updates.camas) { + const sector = computeSector(c.numero); + stmt.run(c.id, c.numero, c.grupoId || c.areaId || null, c.grupoId || c.areaId || null, c.tipo, c.estado, sector); + }` +); + +fs.writeFileSync('server/index.js', code); diff --git a/patch_schema.cjs b/patch_schema.cjs new file mode 100644 index 0000000..d66c05f --- /dev/null +++ b/patch_schema.cjs @@ -0,0 +1,31 @@ +const fs = require('fs'); +let code = fs.readFileSync('server/db.js', 'utf8'); + +code = code.replace( + / \);\n try \{\n db\.prepare\("ALTER TABLE camas ADD COLUMN sector TEXT DEFAULT 'En Área'"\)\.run\(\);\n \} catch\(e\) \{\}\n try \{\n \/\/ Initialize existing beds with their sector\n const rows = db\.prepare\('SELECT id, numero FROM camas WHERE sector IS NULL OR sector = "En Área"'\)\.all\(\);\n for \(const row of rows\) \{\n if \(\!row\.numero\) continue;\n const salaStr = String\(row\.numero\)\.trim\(\)\.split\('-'\)\[0\]\.trim\(\);\n const salaNum = parseInt\(salaStr, 10\);\n let s = 'En Área';\n if \(\!isNaN\(salaNum\)\) \{\n if \(salaNum >= 300 && salaNum < 400 && salaNum % 2 !== 0\) s = 'Fuera de Área';\n else if \(salaNum >= 400 && salaNum < 500\) s = 'Fuera de Área';\n \}\n db\.prepare\('UPDATE camas SET sector = \? WHERE id = \?'\)\.run\(s, row\.id\);\n \}\n \} catch\(e\) \{\}/, + ` );` +); + +code = code.replace( + /\/\/ Seed default 4 grupos if empty/, + `try { db.exec("ALTER TABLE camas ADD COLUMN sector TEXT DEFAULT 'En Área'"); } catch (_) {} + try { + // Initialize existing beds with their sector + const rows = db.prepare('SELECT id, numero FROM camas WHERE sector IS NULL OR sector = "En Área"').all(); + for (const row of rows) { + if (!row.numero) continue; + const salaStr = String(row.numero).trim().split('-')[0].trim(); + const salaNum = parseInt(salaStr, 10); + let s = 'En Área'; + if (!isNaN(salaNum)) { + if (salaNum >= 300 && salaNum < 400 && salaNum % 2 !== 0) s = 'Fuera de Área'; + else if (salaNum >= 400 && salaNum < 500) s = 'Fuera de Área'; + } + db.prepare('UPDATE camas SET sector = ? WHERE id = ?').run(s, row.id); + } + } catch(e) {} + + // Seed default 4 grupos if empty` +); + +fs.writeFileSync('server/db.js', code); diff --git a/patch_store.cjs b/patch_store.cjs new file mode 100644 index 0000000..cd13112 --- /dev/null +++ b/patch_store.cjs @@ -0,0 +1,21 @@ +const fs = require('fs'); +let code = fs.readFileSync('src/hooks/useHospitalStore.ts', 'utf8'); + +code = code.replace(/getLaboratoriosByPaciente = useCallback\(\(pacienteId: string\)/g, 'getLaboratoriosByInternacion = useCallback((internacionId: string)'); +code = code.replace(/\.filter\(l => l\.pacienteId === pacienteId\)/g, '.filter(l => l.internacionId === internacionId)'); + +code = code.replace(/getGlucemiasByPaciente = useCallback\(\(pacienteId: string\)/g, 'getGlucemiasByInternacion = useCallback((internacionId: string)'); +code = code.replace(/\.filter\(g => g\.pacienteId === pacienteId\)/g, '.filter(g => g.internacionId === internacionId)'); + +code = code.replace(/getAcidosBaseByPaciente = useCallback\(\(pacienteId: string\)/g, 'getAcidosBaseByInternacion = useCallback((internacionId: string)'); +code = code.replace(/\.filter\(a => a\.pacienteId === pacienteId\)/g, '.filter(a => a.internacionId === internacionId)'); + +code = code.replace(/getCultivosByPaciente = useCallback\(\(pacienteId: string\)/g, 'getCultivosByInternacion = useCallback((internacionId: string)'); +code = code.replace(/\.filter\(c => c\.pacienteId === pacienteId\)/g, '.filter(c => c.internacionId === internacionId)'); + +code = code.replace(/getLaboratoriosByPaciente,/g, 'getLaboratoriosByInternacion,'); +code = code.replace(/getGlucemiasByPaciente,/g, 'getGlucemiasByInternacion,'); +code = code.replace(/getAcidosBaseByPaciente,/g, 'getAcidosBaseByInternacion,'); +code = code.replace(/getCultivosByPaciente,/g, 'getCultivosByInternacion,'); + +fs.writeFileSync('src/hooks/useHospitalStore.ts', code); diff --git a/patch_store_update.cjs b/patch_store_update.cjs new file mode 100644 index 0000000..70f68f6 --- /dev/null +++ b/patch_store_update.cjs @@ -0,0 +1,13 @@ +const fs = require('fs'); +let code = fs.readFileSync('src/hooks/useHospitalStore.ts', 'utf8'); + +code = code.replace( + /try \{\s*await apiCall\('PUT', `\/camas\/\$\{id\}`/, + `try { + if (datos.numero !== undefined) { + datos.sector = computeSector(datos.numero); + } + await apiCall('PUT', \`/camas/\${id}\`` +); + +fs.writeFileSync('src/hooks/useHospitalStore.ts', code); diff --git a/patch_utils.cjs b/patch_utils.cjs new file mode 100644 index 0000000..9053c4f --- /dev/null +++ b/patch_utils.cjs @@ -0,0 +1,16 @@ +const fs = require('fs'); +let code = fs.readFileSync('src/lib/utils.ts', 'utf8'); + +code = code.replace( + /export function isCamaFueraDeGrupo\([\s\S]*?return false;\n\}/, + `export function isCamaFueraDeGrupo( + cama: { numero: string; grupoId?: string; areaId?: string; sector?: string }, + gruposOrAreas?: { id: string; nombre: string }[] +): boolean { + if (cama.sector === 'Fuera de Área') return true; + if (cama.sector === 'En Área') return false; + return computeSector(cama.numero) === 'Fuera de Área'; +}` +); + +fs.writeFileSync('src/lib/utils.ts', code); diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/MODELO_INGRESO.pdf b/public/MODELO_INGRESO.pdf new file mode 100644 index 0000000000000000000000000000000000000000..435f5a0ce0385c5403dcd699158cf21aa3ccd66b GIT binary patch literal 7963 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 literal 0 HcmV?d00001 diff --git a/server.ts b/server.ts new file mode 100644 index 0000000..7d69a3c --- /dev/null +++ b/server.ts @@ -0,0 +1,49 @@ +import express from 'express'; +import path from 'path'; +import { createServer as createViteServer } from 'vite'; +import apiApp, { initDb } from './server/api-mongodb.js'; + +async function startServer() { + // Initialize MongoDB + try { + await initDb(); + } catch (err) { + console.error('Failed to initialize MongoDB:', err); + if (process.env.NODE_ENV === 'production') { + process.exit(1); + } else { + console.warn('Continuing in development mode without database connection.'); + } + } + + const app = express(); + const PORT = 3000; + const HOST = '0.0.0.0'; + + // Mount API routes + app.use(apiApp); + + // Vite middleware for development or static serving for production + if (process.env.NODE_ENV !== 'production') { + const vite = await createViteServer({ + server: { + middlewareMode: true, + hmr: false, + }, + appType: 'spa', + }); + app.use(vite.middlewares); + } else { + const distPath = path.join(process.cwd(), 'dist'); + app.use(express.static(distPath)); + app.get('*', (_req, res) => { + res.sendFile(path.join(distPath, 'index.html')); + }); + } + + app.listen(PORT, HOST, () => { + console.log(`Hospital Server running on http://${HOST}:${PORT}`); + }); +} + +startServer(); diff --git a/server/api-mongodb.js b/server/api-mongodb.js new file mode 100644 index 0000000..25f9151 --- /dev/null +++ b/server/api-mongodb.js @@ -0,0 +1,742 @@ +import express from 'express'; +import cors from 'cors'; +import { initDb, + getUsuarioByDni, getUsuarioById, getAllUsuarios, createUsuario, updateUsuario, deleteUsuario, verifyPassword, hashPassword, + getAllPacientes, getPacienteById, createPaciente, updatePaciente, deletePaciente, + getAllAreas, createArea, updateArea, deleteArea, + getAllCamas, getCamaById, createCama, updateCama, deleteCama, + getAllInternaciones, getInternacionById, createInternacion, updateInternacion, deleteInternacion, + getAllEvoluciones, createEvolucion, updateEvolucion, deleteEvolucion, + getAllLaboratorios, createLaboratorio, updateLaboratorio, deleteLaboratorio, + getAllGlucemias, createGlucemia, updateGlucemia, deleteGlucemia, + getAllAcidosBase, createAcidoBase, updateAcidoBase, deleteAcidoBase, + getAllCultivos, createCultivo, updateCultivo, deleteCultivo, + getAllEstudiosComplementarios, createEstudioComplementario, updateEstudioComplementario, deleteEstudioComplementario, + getAllInterconsultas, createInterconsulta, updateInterconsulta, deleteInterconsulta, + getAllAtb, createAtb, updateAtb, deleteAtb, + getAllIndicaciones, createIndicacion, updateIndicacion, deleteIndicacion, + getAllMovimientosIndicaciones, createMovimientoIndicacion, + getValue, setValue +} from './db-mongodb.js'; + +const app = express(); +app.use(cors({ + origin: true, + credentials: true +})); +app.use(express.json({ limit: '50mb' })); + +// UUID generator +function generateUUID() { + if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') { + return crypto.randomUUID(); + } + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { + const r = (Math.random() * 16) | 0; + const v = c === 'x' ? r : (r & 0x3) | 0x8; + return v.toString(16); + }); +} + +// ========== STATE ENDPOINT (initial load) ========== +app.get('/api/state', async (req, res) => { + try { + const areasList = await getAllAreas(); + const usuariosList = await getAllUsuarios(); + const state = { + pacientes: await getAllPacientes(), + areas: areasList, + grupos: areasList, + camas: await getAllCamas(), + internaciones: await getAllInternaciones(), + evoluciones: (await getAllEvoluciones()).map(e => ({ + ...e, + signosVitales: typeof e.signosVitales === 'string' ? JSON.parse(e.signosVitales) : e.signosVitales, + examenFisico: typeof e.examenFisico === 'string' ? JSON.parse(e.examenFisico) : e.examenFisico + })), + laboratorios: (await getAllLaboratorios()).map(l => ({ ...l, resultados: typeof l.resultados === 'string' ? JSON.parse(l.resultados) : l.resultados })), + glucemias: await getAllGlucemias(), + acidosBase: await getAllAcidosBase(), + cultivos: await getAllCultivos(), + estudiosComplementarios: await getAllEstudiosComplementarios(), + interconsultas: (await getAllInterconsultas()).map(ic => ({ ...ic, realizada: !!ic.realizada })), + atb: await getAllAtb(), + indicaciones: await getAllIndicaciones(), + movimientosIndicaciones: await getAllMovimientosIndicaciones(), + usuarios: usuariosList.map(({ passwordHash, ...u }) => u), + vistaActual: 'dashboard', + currentInternacionId: null + }; + res.json(state); + } catch (err) { + console.error(err); + res.status(500).json({ error: 'failed to read state' }); + } +}); + +// ========== USUARIOS ========== +app.get('/api/usuarios', async (req, res) => { + try { + const usuarios = await getAllUsuarios(); + const usuariosSinPassword = usuarios.map(({ passwordHash, ...u }) => u); + res.json(usuariosSinPassword); + } catch (err) { + res.status(500).json({ error: 'Error al obtener usuarios' }); + } +}); + +app.post('/api/usuarios', async (req, res) => { + try { + const { apellido, nombre, dni, fechaNacimiento, email, rol, matriculaProfesional, password, areaId } = req.body; + + if (!apellido || !nombre || !dni || !fechaNacimiento || !email || !rol || !password) { + return res.status(400).json({ error: 'Todos los campos obligatorios deben estar presentes' }); + } + + const existente = await getUsuarioByDni(dni); + if (existente) { + return res.status(400).json({ error: 'Ya existe un usuario con ese DNI' }); + } + + const passwordHash = hashPassword(password); + const usuario = { + id: generateUUID(), + apellido, nombre, dni, fechaNacimiento, email, rol, + matriculaProfesional: matriculaProfesional || null, + passwordHash, + areaId: areaId || null, + fechaCreacion: new Date().toISOString().split('T')[0] + }; + + await createUsuario(usuario); + res.json({ ...usuario, passwordHash: undefined }); + } catch (err) { + res.status(500).json({ error: 'Error al crear usuario' }); + } +}); + +app.put('/api/usuarios/:id', async (req, res) => { + try { + const { id } = req.params; + const { apellido, nombre, fechaNacimiento, email, rol, matriculaProfesional, areaId, password } = req.body; + + const usuario = await getUsuarioById(id); + if (!usuario) { + return res.status(404).json({ error: 'Usuario no encontrado' }); + } + + const datos = {}; + if (apellido !== undefined) datos.apellido = apellido; + if (nombre !== undefined) datos.nombre = nombre; + if (fechaNacimiento !== undefined) datos.fechaNacimiento = fechaNacimiento; + if (email !== undefined) datos.email = email; + if (rol !== undefined) datos.rol = rol; + if (matriculaProfesional !== undefined) datos.matriculaProfesional = matriculaProfesional; + if (areaId !== undefined) datos.areaId = areaId; + if (password) datos.passwordHash = hashPassword(password); + + await updateUsuario(id, datos); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar usuario' }); + } +}); + +app.delete('/api/usuarios/:id', async (req, res) => { + try { + await deleteUsuario(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar usuario' }); + } +}); + +// ========== PACIENTES ========== +app.get('/api/pacientes', async (req, res) => { + try { + res.json(await getAllPacientes()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener pacientes' }); + } +}); + +app.post('/api/pacientes', async (req, res) => { + try { + const paciente = { ...req.body, id: generateUUID() }; + await createPaciente(paciente); + res.json(paciente); + } catch (err) { + res.status(500).json({ error: 'Error al crear paciente' }); + } +}); + +app.put('/api/pacientes/:id', async (req, res) => { + try { + await updatePaciente(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar paciente' }); + } +}); + +app.delete('/api/pacientes/:id', async (req, res) => { + try { + await deletePaciente(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar paciente' }); + } +}); + +// ========== AREAS & GRUPOS ========== +app.get(['/api/areas', '/api/grupos'], async (req, res) => { + try { + res.json(await getAllAreas()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener áreas/grupos' }); + } +}); + +app.post(['/api/areas', '/api/grupos'], async (req, res) => { + try { + const area = { ...req.body, id: req.body.id || generateUUID() }; + await createArea(area); + res.json(area); + } catch (err) { + res.status(500).json({ error: 'Error al crear área/grupo' }); + } +}); + +app.put(['/api/areas/:id', '/api/grupos/:id'], async (req, res) => { + try { + await updateArea(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar área/grupo' }); + } +}); + +app.delete(['/api/areas/:id', '/api/grupos/:id'], async (req, res) => { + try { + await deleteArea(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar área/grupo' }); + } +}); + +// ========== CAMAS ========== +app.get('/api/camas', async (req, res) => { + try { + res.json(await getAllCamas()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener camas' }); + } +}); + +app.put('/api/camas/:id', async (req, res) => { + try { + await updateCama(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar cama' }); + } +}); + +app.post('/api/camas', async (req, res) => { + try { + const cama = req.body; + if (!cama.id) { + cama.id = generateUUID(); + } + await createCama(cama); + res.json(cama); + } catch (err) { + res.status(500).json({ error: 'Error al crear cama' }); + } +}); + +app.delete('/api/camas/:id', async (req, res) => { + try { + await deleteCama(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar cama' }); + } +}); + +// ========== INTERNACIONES ========== +app.get('/api/internaciones', async (req, res) => { + try { + res.json(await getAllInternaciones()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener internaciones' }); + } +}); + +app.post('/api/internaciones', async (req, res) => { + try { + const internacion = { ...req.body, id: generateUUID(), activa: true }; + await createInternacion(internacion); + res.json(internacion); + } catch (err) { + res.status(500).json({ error: 'Error al crear internacion' }); + } +}); + +app.put('/api/internaciones/:id', async (req, res) => { + try { + await updateInternacion(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar internacion' }); + } +}); + +app.delete('/api/internaciones/:id', async (req, res) => { + try { + await deleteInternacion(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar internacion' }); + } +}); + +// ========== EVOLUCIONES ========== +app.get('/api/evoluciones', async (req, res) => { + try { + res.json(await getAllEvoluciones()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener evoluciones' }); + } +}); + +app.post('/api/evoluciones', async (req, res) => { + try { + const evolucion = { ...req.body, id: generateUUID() }; + await createEvolucion(evolucion); + res.json(evolucion); + } catch (err) { + res.status(500).json({ error: 'Error al crear evolucion' }); + } +}); + +app.put('/api/evoluciones/:id', async (req, res) => { + try { + await updateEvolucion(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar evolucion' }); + } +}); + +app.delete('/api/evoluciones/:id', async (req, res) => { + try { + await deleteEvolucion(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar evolucion' }); + } +}); + +// ========== LABORATORIOS ========== +app.get('/api/laboratorios', async (req, res) => { + try { + res.json(await getAllLaboratorios()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener laboratorios' }); + } +}); + +app.post('/api/laboratorios', async (req, res) => { + try { + const laboratorio = { ...req.body, id: generateUUID() }; + await createLaboratorio(laboratorio); + res.json(laboratorio); + } catch (err) { + res.status(500).json({ error: 'Error al crear laboratorio' }); + } +}); + +app.put('/api/laboratorios/:id', async (req, res) => { + try { + await updateLaboratorio(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar laboratorio' }); + } +}); + +app.delete('/api/laboratorios/:id', async (req, res) => { + try { + await deleteLaboratorio(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar laboratorio' }); + } +}); + +// ========== GLUCEMIAS ========== +app.get('/api/glucemias', async (req, res) => { + try { + res.json(await getAllGlucemias()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener glucemias' }); + } +}); + +app.post('/api/glucemias', async (req, res) => { + try { + const glucemia = { ...req.body, id: generateUUID() }; + await createGlucemia(glucemia); + res.json(glucemia); + } catch (err) { + res.status(500).json({ error: 'Error al crear glucemia' }); + } +}); + +app.put('/api/glucemias/:id', async (req, res) => { + try { + await updateGlucemia(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar glucemia' }); + } +}); + +app.delete('/api/glucemias/:id', async (req, res) => { + try { + await deleteGlucemia(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar glucemia' }); + } +}); + +// ========== ACIDOS BASE ========== +app.get('/api/acid-os-base', async (req, res) => { + try { + res.json(await getAllAcidosBase()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener acidos base' }); + } +}); + +app.post('/api/acid-os-base', async (req, res) => { + try { + const acido = { ...req.body, id: generateUUID() }; + await createAcidoBase(acido); + res.json(acido); + } catch (err) { + res.status(500).json({ error: 'Error al crear acido base' }); + } +}); + +app.put('/api/acid-os-base/:id', async (req, res) => { + try { + await updateAcidoBase(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar acido base' }); + } +}); + +app.delete('/api/acid-os-base/:id', async (req, res) => { + try { + await deleteAcidoBase(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar acido base' }); + } +}); + +// ========== CULTIVOS ========== +app.get('/api/cultivos', async (req, res) => { + try { + res.json(await getAllCultivos()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener cultivos' }); + } +}); + +app.post('/api/cultivos', async (req, res) => { + try { + const cultivo = { ...req.body, id: generateUUID() }; + await createCultivo(cultivo); + res.json(cultivo); + } catch (err) { + res.status(500).json({ error: 'Error al crear cultivo' }); + } +}); + +app.put('/api/cultivos/:id', async (req, res) => { + try { + await updateCultivo(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar cultivo' }); + } +}); + +app.delete('/api/cultivos/:id', async (req, res) => { + try { + await deleteCultivo(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar cultivo' }); + } +}); + +// ========== ESTUDIOS COMPLEMENTARIOS ========== +app.get('/api/estudios-complementarios', async (req, res) => { + try { + res.json(await getAllEstudiosComplementarios()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener estudios' }); + } +}); + +app.post('/api/estudios-complementarios', async (req, res) => { + try { + const estudio = { ...req.body, id: generateUUID() }; + await createEstudioComplementario(estudio); + res.json(estudio); + } catch (err) { + res.status(500).json({ error: 'Error al crear estudio' }); + } +}); + +app.put('/api/estudios-complementarios/:id', async (req, res) => { + try { + await updateEstudioComplementario(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar estudio' }); + } +}); + +app.delete('/api/estudios-complementarios/:id', async (req, res) => { + try { + await deleteEstudioComplementario(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar estudio' }); + } +}); + +// ========== INTERCONSULTAS ========== +app.get('/api/interconsultas', async (req, res) => { + try { + res.json(await getAllInterconsultas()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener interconsultas' }); + } +}); + +app.post('/api/interconsultas', async (req, res) => { + try { + const interconsulta = { ...req.body, id: generateUUID() }; + await createInterconsulta(interconsulta); + res.json(interconsulta); + } catch (err) { + res.status(500).json({ error: 'Error al crear interconsulta' }); + } +}); + +app.put('/api/interconsultas/:id', async (req, res) => { + try { + await updateInterconsulta(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar interconsulta' }); + } +}); + +app.delete('/api/interconsultas/:id', async (req, res) => { + try { + await deleteInterconsulta(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar interconsulta' }); + } +}); + +// ========== ATB ========== +app.get('/api/atb', async (req, res) => { + try { + res.json(await getAllAtb()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener ATB' }); + } +}); + +app.post('/api/atb', async (req, res) => { + try { + const atb = { ...req.body, id: generateUUID() }; + await createAtb(atb); + res.json(atb); + } catch (err) { + res.status(500).json({ error: 'Error al crear ATB' }); + } +}); + +app.put('/api/atb/:id', async (req, res) => { + try { + await updateAtb(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar ATB' }); + } +}); + +app.delete('/api/atb/:id', async (req, res) => { + try { + await deleteAtb(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar ATB' }); + } +}); + +// ========== INDICACIONES ========== +app.get('/api/indicaciones', async (req, res) => { + try { + res.json(await getAllIndicaciones()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener indicaciones' }); + } +}); + +app.post('/api/indicaciones', async (req, res) => { + try { + const indicacion = { ...req.body, id: generateUUID() }; + await createIndicacion(indicacion); + res.json(indicacion); + } catch (err) { + res.status(500).json({ error: 'Error al crear indicacion' }); + } +}); + +app.put('/api/indicaciones/:id', async (req, res) => { + try { + await updateIndicacion(req.params.id, req.body); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar indicacion' }); + } +}); + +app.delete('/api/indicaciones/:id', async (req, res) => { + try { + await deleteIndicacion(req.params.id); + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al eliminar indicacion' }); + } +}); + +// ========== MOVIMIENTOS INDICACIONES ========== +app.get('/api/movimientos-indicaciones', async (req, res) => { + try { + res.json(await getAllMovimientosIndicaciones()); + } catch (err) { + res.status(500).json({ error: 'Error al obtener movimientos' }); + } +}); + +app.post('/api/movimientos-indicaciones', async (req, res) => { + try { + const movimiento = { ...req.body, id: generateUUID() }; + console.log('Creating movimiento:', movimiento); + await createMovimientoIndicacion(movimiento); + res.json(movimiento); + } catch (err) { + console.error('Error creating movimiento:', err); + res.status(500).json({ error: err.message || 'Error al crear movimiento' }); + } +}); + +// ========== AUTH ========== +app.post('/api/auth/login', async (req, res) => { + try { + const { dni, password } = req.body; + if (!dni || !password) { + return res.status(400).json({ error: 'DNI y contraseña requeridos' }); + } + + const usuario = await getUsuarioByDni(dni); + if (!usuario) { + return res.status(401).json({ error: 'Usuario no encontrado' }); + } + + const validPassword = await verifyPassword(dni, password); + if (!validPassword) { + return res.status(401).json({ error: 'Contraseña incorrecta' }); + } + + const { passwordHash, ...userWithoutPassword } = usuario; + res.json(userWithoutPassword); + } catch (err) { + res.status(500).json({ error: 'Error en autenticación' }); + } +}); + +app.post('/api/auth/change-password', async (req, res) => { + try { + const { dni, oldPassword, newPassword } = req.body; + if (!dni || !oldPassword || !newPassword) { + return res.status(400).json({ error: 'Todos los campos son requeridos' }); + } + + const validPassword = await verifyPassword(dni, oldPassword); + if (!validPassword) { + return res.status(401).json({ error: 'Contraseña actual incorrecta' }); + } + + const newHash = hashPassword(newPassword); + const usuario = await getUsuarioByDni(dni); + if (usuario) { + await updateUsuario(usuario.id, { passwordHash: newHash }); + } + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al cambiar contraseña' }); + } +}); + +app.put('/api/auth/update-email', async (req, res) => { + try { + const { dni, newEmail } = req.body; + if (!dni || !newEmail) { + return res.status(400).json({ error: 'DNI y email son requeridos' }); + } + + const usuario = await getUsuarioByDni(dni); + if (usuario) { + await updateUsuario(usuario.id, { email: newEmail }); + } + res.json({ ok: true }); + } catch (err) { + res.status(500).json({ error: 'Error al actualizar email' }); + } +}); + +// Initialize DB and start server +const PORT = process.env.PORT || 4000; +const HOST = process.env.HOST || '0.0.0.0'; + +if (import.meta.url === `file://${process.argv[1]}`) { + initDb() + .then(() => { + app.listen(PORT, HOST, () => { + console.log(`Backend API running on http://${HOST}:${PORT}`); + }); + }) + .catch((err) => { + console.error('Failed to initialize MongoDB in standalone mode:', err); + process.exit(1); + }); +} + +export { initDb }; +export default app; diff --git a/server/db-mongodb.js b/server/db-mongodb.js new file mode 100644 index 0000000..a29ad0f --- /dev/null +++ b/server/db-mongodb.js @@ -0,0 +1,945 @@ +import { MongoClient } from 'mongodb'; +import bcrypt from 'bcryptjs'; +const { compareSync, hashSync } = bcrypt; + +export function generateUUID() { + if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') { + return crypto.randomUUID(); + } + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { + const r = (Math.random() * 16) | 0; + const v = c === 'x' ? r : (r & 0x3) | 0x8; + return v.toString(16); + }); +} + +function getMongoUri() { + const envUri = (process.env.MONGODB_URI || '').trim(); + if (envUri.startsWith('mongodb://') || envUri.startsWith('mongodb+srv://')) { + return envUri; + } + return 'mongodb://127.0.0.1:27017'; +} + +const DB_NAME = process.env.DB_NAME || 'hospital'; + +let client; +let db = null; + +// Helper to create default admin object from env or fallback +function createDefaultAdminUser() { + const adminDni = process.env.ADMIN_DNI || '12345678'; + const adminPassword = process.env.ADMIN_PASSWORD || 'admin123'; + const adminNombre = process.env.ADMIN_NOMBRE || 'Sistema'; + const adminApellido = process.env.ADMIN_APELLIDO || 'Administrador'; + const adminEmail = process.env.ADMIN_EMAIL || 'admin@hospital.local'; + + return { + id: 'admin-default', + apellido: adminApellido, + nombre: adminNombre, + dni: adminDni, + fechaNacimiento: '1990-01-01', + email: adminEmail, + rol: 'admin', + passwordHash: hashSync(adminPassword, 10), + fechaCreacion: new Date().toISOString().split('T')[0] + }; +} + +// In-memory fallback store when DB is not connected +const memStore = { + usuarios: [createDefaultAdminUser()], + pacientes: [], + areas: [], + camas: [], + internaciones: [], + evoluciones: [], + laboratorios: [], + glucemias: [], + acidosbase: [], + cultivos: [], + estudiosComplementarios: [], + interconsultas: [], + atb: [], + indicaciones: [], + movimientos_indicaciones: [], + kv: {} +}; + +export async function initDb() { + try { + const uri = getMongoUri(); + client = new MongoClient(uri, { + connectTimeoutMS: 5000, + serverSelectionTimeoutMS: 5000 + }); + await client.connect(); + db = client.db(DB_NAME); + console.log(`Connected to MongoDB database: ${DB_NAME}`); + + // Create unique index for users and patients DNI + await db.collection('usuarios').createIndex({ dni: 1 }, { unique: true }); + await db.collection('pacientes').createIndex({ dni: 1 }, { unique: true }); + await db.collection('areas').createIndex({ nombre: 1 }, { unique: true }); + + // Check if default admin exists in MongoDB in production + const adminDni = process.env.ADMIN_DNI || '12345678'; + const adminExists = await db.collection('usuarios').findOne({ dni: adminDni }); + + if (!adminExists) { + const defaultAdmin = createDefaultAdminUser(); + await db.collection('usuarios').insertOne(defaultAdmin); + console.log(`Default admin created/ensured in database: DNI ${adminDni}`); + } + } catch (error) { + console.error('Failed to initialize MongoDB (will use in-memory store):', error.message || error); + db = null; + } +} + +// Helper to remove MongoDB's internal _id from returned objects to keep schema clean +function cleanDoc(doc) { + if (!doc) return null; + const { _id, ...rest } = doc; + return rest; +} + +function cleanDocs(docs) { + if (!docs) return []; + return docs.map(cleanDoc); +} + +// ========== USUARIOS ========== +export async function getUsuarioByDni(dni) { + const dniStr = String(dni).trim(); + + if (db) { + const user = await db.collection('usuarios').findOne({ dni: dniStr }); + return cleanDoc(user); + } + return memStore.usuarios.find(u => String(u.dni) === dniStr) || null; +} + +export async function getUsuarioById(id) { + if (db) { + const user = await db.collection('usuarios').findOne({ id }); + return cleanDoc(user); + } + return memStore.usuarios.find(u => u.id === id) || null; +} + +export async function getAllUsuarios() { + if (db) { + const users = await db.collection('usuarios').find().sort({ apellido: 1, nombre: 1 }).toArray(); + return cleanDocs(users); + } + return [...memStore.usuarios]; +} + +export async function createUsuario(usuario) { + if (db) { + await db.collection('usuarios').insertOne(usuario); + } else { + memStore.usuarios.push(usuario); + } +} + +export async function updateUsuario(id, datos) { + const updateDoc = {}; + for (const [key, val] of Object.entries(datos)) { + if (val !== undefined) { + updateDoc[key] = val; + } + } + if (db) { + if (Object.keys(updateDoc).length > 0) { + await db.collection('usuarios').updateOne({ id }, { $set: updateDoc }); + } + } else { + const idx = memStore.usuarios.findIndex(u => u.id === id); + if (idx !== -1) { + memStore.usuarios[idx] = { ...memStore.usuarios[idx], ...updateDoc }; + } + } +} + +export async function deleteUsuario(id) { + if (db) { + await db.collection('usuarios').deleteOne({ id }); + } else { + memStore.usuarios = memStore.usuarios.filter(u => u.id !== id); + } +} + +export async function verifyPassword(dni, password) { + const dniStr = String(dni).trim(); + + if (db) { + const user = await db.collection('usuarios').findOne({ dni: dniStr }); + if (!user || !user.passwordHash) return false; + return compareSync(password, user.passwordHash); + } + const user = memStore.usuarios.find(u => String(u.dni) === dniStr); + if (!user || !user.passwordHash) return false; + return compareSync(password, user.passwordHash); +} + +export function hashPassword(password) { + return hashSync(password, 10); +} + +// ========== PACIENTES ========== +export async function getAllPacientes() { + if (db) { + const pacientes = await db.collection('pacientes').find().toArray(); + return cleanDocs(pacientes); + } + return [...memStore.pacientes]; +} + +export async function getPacienteById(id) { + if (db) { + const paciente = await db.collection('pacientes').findOne({ id }); + return cleanDoc(paciente); + } + return memStore.pacientes.find(p => p.id === id) || null; +} + +export async function createPaciente(paciente) { + if (db) { + await db.collection('pacientes').insertOne(paciente); + } else { + memStore.pacientes.push(paciente); + } +} + +export async function updatePaciente(id, datos) { + const updateDoc = {}; + for (const [key, val] of Object.entries(datos)) { + if (key !== 'id' && val !== undefined) { + updateDoc[key] = val; + } + } + if (db) { + if (Object.keys(updateDoc).length > 0) { + await db.collection('pacientes').updateOne({ id }, { $set: updateDoc }); + } + } else { + const idx = memStore.pacientes.findIndex(p => p.id === id); + if (idx !== -1) { + memStore.pacientes[idx] = { ...memStore.pacientes[idx], ...updateDoc }; + } + } +} + +export async function deletePaciente(id) { + if (db) { + await db.collection('pacientes').deleteOne({ id }); + } else { + memStore.pacientes = memStore.pacientes.filter(p => p.id !== id); + } +} + +// ========== AREAS / GRUPOS ========== +export async function getAllAreas() { + if (db) { + const areas = await db.collection('areas').find().toArray(); + return cleanDocs(areas); + } + return [...memStore.areas]; +} + +export async function createArea(area) { + if (db) { + await db.collection('areas').insertOne(area); + } else { + memStore.areas.push(area); + } +} + +export async function updateArea(id, datos) { + if (db) { + if (datos.nombre !== undefined) { + await db.collection('areas').updateOne({ id }, { $set: { nombre: datos.nombre } }); + } + } else { + const idx = memStore.areas.findIndex(a => a.id === id); + if (idx !== -1) { + memStore.areas[idx] = { ...memStore.areas[idx], ...datos }; + } + } +} + +export async function deleteArea(id) { + if (db) { + await db.collection('areas').deleteOne({ id }); + } else { + memStore.areas = memStore.areas.filter(a => a.id !== id); + } +} + +// ========== CAMAS ========== +export async function getAllCamas() { + if (db) { + const camas = await db.collection('camas').find().toArray(); + return cleanDocs(camas); + } + return [...memStore.camas]; +} + +export async function getCamaById(id) { + if (db) { + const cama = await db.collection('camas').findOne({ id }); + return cleanDoc(cama); + } + return memStore.camas.find(c => c.id === id) || null; +} + +export async function createCama(cama) { + const id = cama.id || generateUUID(); + const doc = { + id, + numero: cama.numero, + areaId: cama.areaId || cama.grupoId, + grupoId: cama.grupoId || cama.areaId, + tipo: cama.tipo || 'Estándar', + estado: cama.estado || 'Disponible', + pacienteId: cama.pacienteId || null, + internacionId: cama.internacionId || null + }; + if (db) { + await db.collection('camas').insertOne(doc); + } else { + memStore.camas.push(doc); + } +} + +export async function updateCama(id, updates) { + const updateDoc = {}; + for (const [key, val] of Object.entries(updates)) { + if (val !== undefined) { + updateDoc[key] = val; + } + } + if (db) { + if (Object.keys(updateDoc).length > 0) { + await db.collection('camas').updateOne({ id }, { $set: updateDoc }); + } + } else { + const idx = memStore.camas.findIndex(c => c.id === id); + if (idx !== -1) { + memStore.camas[idx] = { ...memStore.camas[idx], ...updateDoc }; + } + } +} + +export async function deleteCama(id) { + if (db) { + await db.collection('camas').deleteOne({ id }); + } else { + memStore.camas = memStore.camas.filter(c => c.id !== id); + } +} + +// ========== INTERNACIONES ========== +export async function getAllInternaciones() { + if (db) { + const internaciones = await db.collection('internaciones').find().toArray(); + return cleanDocs(internaciones).map(i => ({ ...i, activa: !!i.activa })); + } + return memStore.internaciones.map(i => ({ ...i, activa: !!i.activa })); +} + +export async function getInternacionById(id) { + if (db) { + const internacion = await db.collection('internaciones').findOne({ id }); + if (internacion) internacion.activa = !!internacion.activa; + return cleanDoc(internacion); + } + const internacion = memStore.internaciones.find(i => i.id === id); + if (!internacion) return null; + return { ...internacion, activa: !!internacion.activa }; +} + +export async function createInternacion(internacion) { + const doc = { + id: internacion.id, + pacienteId: internacion.pacienteId, + camaId: internacion.camaId || null, + areaId: internacion.areaId || internacion.grupoId || null, + grupoId: internacion.grupoId || internacion.areaId || null, + fechaIngresoHospital: internacion.fechaIngresoHospital || null, + fechaIngresoClinica: internacion.fechaIngresoClinica || null, + fechaEgreso: internacion.fechaEgreso || null, + diagnosticoIngreso: internacion.diagnosticoIngreso || null, + motivoConsulta: internacion.motivoConsulta || null, + enfermedadActual: internacion.enfermedadActual || null, + antecedentesEnfermedadActual: internacion.antecedentesEnfermedadActual || null, + diagnosticoEgreso: internacion.diagnosticoEgreso || null, + medicoIngresante: internacion.medicoIngresante || null, + motivoEgreso: internacion.motivoEgreso || null, + activa: internacion.activa ? 1 : 0, + apache: internacion.apache || null, + derivacion: internacion.derivacion || null + }; + if (db) { + await db.collection('internaciones').insertOne(doc); + } else { + memStore.internaciones.push(doc); + } +} + +export async function updateInternacion(id, datos) { + const updateDoc = {}; + for (const [key, val] of Object.entries(datos)) { + if (val !== undefined) { + if (key === 'activa') { + updateDoc.activa = val ? 1 : 0; + } else { + updateDoc[key] = val; + } + } + } + if (db) { + if (Object.keys(updateDoc).length > 0) { + await db.collection('internaciones').updateOne({ id }, { $set: updateDoc }); + } + } else { + const idx = memStore.internaciones.findIndex(i => i.id === id); + if (idx !== -1) { + memStore.internaciones[idx] = { ...memStore.internaciones[idx], ...updateDoc }; + } + } +} + +export async function deleteInternacion(id) { + if (db) { + await db.collection('internaciones').deleteOne({ id }); + } else { + memStore.internaciones = memStore.internaciones.filter(i => i.id !== id); + } +} + +// ========== EVOLUCIONES ========== +export async function getAllEvoluciones() { + if (db) { + const evoluciones = await db.collection('evoluciones').find().toArray(); + return cleanDocs(evoluciones); + } + return [...memStore.evoluciones]; +} + +export async function createEvolucion(evolucion) { + const doc = { + id: evolucion.id, + internacionId: evolucion.internacionId, + fecha: evolucion.fecha, + hora: evolucion.hora || '', + medico: evolucion.medico || '', + signosVitales: typeof evolucion.signosVitales === 'string' ? evolucion.signosVitales : JSON.stringify(evolucion.signosVitales || {}), + examenFisico: typeof evolucion.examenFisico === 'string' ? evolucion.examenFisico : JSON.stringify(evolucion.examenFisico || {}), + novedades: evolucion.novedades || '', + comentarios: evolucion.comentarios || evolucion.comentario || '', + pendientes: evolucion.pendientes || '' + }; + if (db) { + await db.collection('evoluciones').insertOne(doc); + } else { + memStore.evoluciones.push(doc); + } +} + +export async function updateEvolucion(id, datos) { + const updateDoc = {}; + for (const [key, val] of Object.entries(datos)) { + if (val !== undefined) { + if (key === 'comentario') { + updateDoc.comentarios = val; + } else if (key === 'signosVitales' || key === 'examenFisico') { + updateDoc[key] = typeof val === 'string' ? val : JSON.stringify(val); + } else { + updateDoc[key] = val; + } + } + } + if (db) { + if (Object.keys(updateDoc).length > 0) { + await db.collection('evoluciones').updateOne({ id }, { $set: updateDoc }); + } + } else { + const idx = memStore.evoluciones.findIndex(e => e.id === id); + if (idx !== -1) { + memStore.evoluciones[idx] = { ...memStore.evoluciones[idx], ...updateDoc }; + } + } +} + +export async function deleteEvolucion(id) { + if (db) { + await db.collection('evoluciones').deleteOne({ id }); + } else { + memStore.evoluciones = memStore.evoluciones.filter(e => e.id !== id); + } +} + +// ========== LABORATORIOS ========== +export async function getAllLaboratorios() { + if (db) { + const laboratorios = await db.collection('laboratorios').find().toArray(); + return cleanDocs(laboratorios); + } + return [...memStore.laboratorios]; +} + +export async function createLaboratorio(laboratorio) { + const doc = { + id: laboratorio.id, + pacienteId: laboratorio.pacienteId, + internacionId: laboratorio.internacionId || null, + fecha: laboratorio.fecha, + hora: laboratorio.hora || null, + tipo: laboratorio.tipo, + resultados: typeof laboratorio.resultados === 'string' ? laboratorio.resultados : JSON.stringify(laboratorio.resultados || {}), + observaciones: laboratorio.observaciones || null, + medicoSolicitante: laboratorio.medicoSolicitante || null + }; + if (db) { + await db.collection('laboratorios').insertOne(doc); + } else { + memStore.laboratorios.push(doc); + } +} + +export async function updateLaboratorio(id, datos) { + const updateDoc = {}; + for (const [key, val] of Object.entries(datos)) { + if (val !== undefined) { + if (key === 'resultados') { + updateDoc.resultados = typeof val === 'string' ? val : JSON.stringify(val); + } else { + updateDoc[key] = val; + } + } + } + if (db) { + if (Object.keys(updateDoc).length > 0) { + await db.collection('laboratorios').updateOne({ id }, { $set: updateDoc }); + } + } else { + const idx = memStore.laboratorios.findIndex(l => l.id === id); + if (idx !== -1) { + memStore.laboratorios[idx] = { ...memStore.laboratorios[idx], ...updateDoc }; + } + } +} + +export async function deleteLaboratorio(id) { + if (db) { + await db.collection('laboratorios').deleteOne({ id }); + } else { + memStore.laboratorios = memStore.laboratorios.filter(l => l.id !== id); + } +} + +// ========== GLUCEMIAS ========== +export async function getAllGlucemias() { + if (db) { + const glucemias = await db.collection('glucemias').find().toArray(); + return cleanDocs(glucemias); + } + return [...memStore.glucemias]; +} + +export async function createGlucemia(glucemia) { + if (db) { + await db.collection('glucemias').insertOne(glucemia); + } else { + memStore.glucemias.push(glucemia); + } +} + +export async function updateGlucemia(id, datos) { + if (db) { + await db.collection('glucemias').updateOne({ id }, { $set: datos }); + } else { + const idx = memStore.glucemias.findIndex(g => g.id === id); + if (idx !== -1) { + memStore.glucemias[idx] = { ...memStore.glucemias[idx], ...datos }; + } + } +} + +export async function deleteGlucemia(id) { + if (db) { + await db.collection('glucemias').deleteOne({ id }); + } else { + memStore.glucemias = memStore.glucemias.filter(g => g.id !== id); + } +} + +// ========== ACIDOS BASE ========== +export async function getAllAcidosBase() { + if (db) { + const acidos = await db.collection('acidosbase').find().toArray(); + return cleanDocs(acidos); + } + return [...memStore.acidosbase]; +} + +export async function createAcidoBase(acido) { + const doc = { + id: acido.id, + pacienteId: acido.pacienteId, + internacionId: acido.internacionId || null, + fecha: acido.fecha, + hora: acido.hora || null, + ph: acido.ph !== undefined ? Number(acido.ph) : null, + pco2: acido.pco2 !== undefined ? Number(acido.pco2) : null, + po2: acido.po2 !== undefined ? Number(acido.po2) : null, + hco3: acido.hco3 !== undefined ? Number(acido.hco3) : null, + be: acido.be !== undefined ? Number(acido.be) : null, + sato2: acido.sato2 !== undefined ? Number(acido.sato2) : null, + lactato: acido.lactato !== undefined ? Number(acido.lactato) : null, + interpretacion: acido.interpretacion || null, + fio2: acido.fio2 !== undefined ? Number(acido.fio2) : null + }; + if (db) { + await db.collection('acidosbase').insertOne(doc); + } else { + memStore.acidosbase.push(doc); + } +} + +export async function updateAcidoBase(id, datos) { + if (db) { + await db.collection('acidosbase').updateOne({ id }, { $set: datos }); + } else { + const idx = memStore.acidosbase.findIndex(a => a.id === id); + if (idx !== -1) { + memStore.acidosbase[idx] = { ...memStore.acidosbase[idx], ...datos }; + } + } +} + +export async function deleteAcidoBase(id) { + if (db) { + await db.collection('acidosbase').deleteOne({ id }); + } else { + memStore.acidosbase = memStore.acidosbase.filter(a => a.id !== id); + } +} + +// ========== CULTIVOS ========== +export async function getAllCultivos() { + if (db) { + const cultivos = await db.collection('cultivos').find().toArray(); + return cleanDocs(cultivos); + } + return [...memStore.cultivos]; +} + +export async function createCultivo(cultivo) { + const doc = { + id: cultivo.id, + pacienteId: cultivo.pacienteId, + internacionId: cultivo.internacionId, + fechaToma: cultivo.fechaToma || null, + protocolo: cultivo.protocolo || null, + fechaResultado: cultivo.fechaResultado || null, + tipoMuestra: cultivo.tipoMuestra || null, + germen: cultivo.germen || null, + sensible: cultivo.sensible || null, + resistente: cultivo.resistente || null, + estado: cultivo.estado || 'NAF/Pendiente', + observaciones: cultivo.observaciones || null + }; + if (db) { + await db.collection('cultivos').insertOne(doc); + } else { + memStore.cultivos.push(doc); + } +} + +export async function updateCultivo(id, datos) { + if (db) { + const updateDoc = {}; + for (const [key, val] of Object.entries(datos)) { + if (val !== undefined) { + updateDoc[key] = val; + } + } + if (Object.keys(updateDoc).length > 0) { + await db.collection('cultivos').updateOne({ id }, { $set: updateDoc }); + } + } else { + const idx = memStore.cultivos.findIndex(c => c.id === id); + if (idx !== -1) { + memStore.cultivos[idx] = { ...memStore.cultivos[idx], ...datos }; + } + } +} + +export async function deleteCultivo(id) { + if (db) { + await db.collection('cultivos').deleteOne({ id }); + } else { + memStore.cultivos = memStore.cultivos.filter(c => c.id !== id); + } +} + +// ========== ESTUDIOS COMPLEMENTARIOS ========== +export async function getAllEstudiosComplementarios() { + if (db) { + const estudios = await db.collection('estudiosComplementarios').find().toArray(); + return cleanDocs(estudios); + } + return [...memStore.estudiosComplementarios]; +} + +export async function createEstudioComplementario(estudio) { + const doc = { + id: estudio.id, + pacienteId: estudio.pacienteId, + internacionId: estudio.internacionId || null, + fecha: estudio.fecha || null, + tipo: estudio.tipo || null, + resultado: estudio.resultado || null + }; + if (db) { + await db.collection('estudiosComplementarios').insertOne(doc); + } else { + memStore.estudiosComplementarios.push(doc); + } +} + +export async function updateEstudioComplementario(id, datos) { + if (db) { + await db.collection('estudiosComplementarios').updateOne({ id }, { $set: datos }); + } else { + const idx = memStore.estudiosComplementarios.findIndex(e => e.id === id); + if (idx !== -1) { + memStore.estudiosComplementarios[idx] = { ...memStore.estudiosComplementarios[idx], ...datos }; + } + } +} + +export async function deleteEstudioComplementario(id) { + if (db) { + await db.collection('estudiosComplementarios').deleteOne({ id }); + } else { + memStore.estudiosComplementarios = memStore.estudiosComplementarios.filter(e => e.id !== id); + } +} + +// ========== INTERCONSULTAS ========== +export async function getAllInterconsultas() { + if (db) { + const interconsultas = await db.collection('interconsultas').find().toArray(); + return cleanDocs(interconsultas).map(ic => ({ ...ic, realizada: !!ic.realizada })); + } + return memStore.interconsultas.map(ic => ({ ...ic, realizada: !!ic.realizada })); +} + +export async function createInterconsulta(ic) { + const doc = { + id: ic.id, + pacienteId: ic.pacienteId, + internacionId: ic.internacionId, + fecha: ic.fecha || null, + servicioInterconsultado: ic.servicioInterconsultado, + motivo: ic.motivo || null, + respuestaInterconsulta: ic.respuestaInterconsulta || null, + respuestaFecha: ic.respuestaFecha || null + }; + if (db) { + await db.collection('interconsultas').insertOne(doc); + } else { + memStore.interconsultas.push(doc); + } +} + +export async function updateInterconsulta(id, datos) { + if (db) { + const updateDoc = {}; + for (const [key, val] of Object.entries(datos)) { + if (val !== undefined) { + updateDoc[key] = val; + } + } + if (Object.keys(updateDoc).length > 0) { + await db.collection('interconsultas').updateOne({ id }, { $set: updateDoc }); + } + } else { + const idx = memStore.interconsultas.findIndex(i => i.id === id); + if (idx !== -1) { + memStore.interconsultas[idx] = { ...memStore.interconsultas[idx], ...datos }; + } + } +} + +export async function deleteInterconsulta(id) { + if (db) { + await db.collection('interconsultas').deleteOne({ id }); + } else { + memStore.interconsultas = memStore.interconsultas.filter(i => i.id !== id); + } +} + +// ========== ATB ========== +export async function getAllAtb() { + if (db) { + const atb = await db.collection('atb').find().toArray(); + return cleanDocs(atb); + } + return [...memStore.atb]; +} + +export async function createAtb(atb) { + const doc = { + id: atb.id, + pacienteId: atb.pacienteId, + internacionId: atb.internacionId, + antibiotico: atb.antibiotico, + fechaInicio: atb.fechaInicio, + fechaFinalizacion: atb.fechaFinalizacion || null + }; + if (db) { + await db.collection('atb').insertOne(doc); + } else { + memStore.atb.push(doc); + } +} + +export async function updateAtb(id, datos) { + if (db) { + await db.collection('atb').updateOne({ id }, { $set: datos }); + } else { + const idx = memStore.atb.findIndex(a => a.id === id); + if (idx !== -1) { + memStore.atb[idx] = { ...memStore.atb[idx], ...datos }; + } + } +} + +export async function deleteAtb(id) { + if (db) { + await db.collection('atb').deleteOne({ id }); + } else { + memStore.atb = memStore.atb.filter(a => a.id !== id); + } +} + +// ========== INDICACIONES ========== +export async function getAllIndicaciones() { + if (db) { + const indicaciones = await db.collection('indicaciones').find().toArray(); + return cleanDocs(indicaciones); + } + return [...memStore.indicaciones]; +} + +export async function createIndicacion(ind) { + const doc = { + id: ind.id, + internacionId: ind.internacionId, + tipo: ind.tipo, + droga: ind.droga || null, + dosis: ind.dosis || null, + frecuenciaHoras: ind.frecuenciaHoras || null, + via: ind.via || null, + tipoPlan: ind.tipoPlan || null, + tipoPlan2: ind.tipoPlan2 || null, + cantidadMl: ind.cantidadMl || null, + cantidadMl2: ind.cantidadMl2 || null, + tiempoHoras: ind.tiempoHoras || null, + estado: ind.estado || 'Activa', + medicoCrea: ind.medicoCrea || null, + fechaCrea: ind.fechaCrea || null, + tipoInsulina: ind.tipoInsulina || null, + unidadesDesayuno: ind.unidadesDesayuno || null, + unidadesAlmuerzo: ind.unidadesAlmuerzo || null, + unidadesNoche: ind.unidadesNoche || null, + indicacionNoFco: ind.indicacionNoFco || null + }; + if (db) { + await db.collection('indicaciones').insertOne(doc); + } else { + memStore.indicaciones.push(doc); + } +} + +export async function updateIndicacion(id, datos) { + const updateDoc = {}; + for (const [key, val] of Object.entries(datos)) { + if (val !== undefined) { + updateDoc[key] = val; + } + } + if (db) { + if (Object.keys(updateDoc).length > 0) { + await db.collection('indicaciones').updateOne({ id }, { $set: updateDoc }); + } + } else { + const idx = memStore.indicaciones.findIndex(i => i.id === id); + if (idx !== -1) { + memStore.indicaciones[idx] = { ...memStore.indicaciones[idx], ...updateDoc }; + } + } +} + +export async function deleteIndicacion(id) { + if (db) { + await db.collection('indicaciones').deleteOne({ id }); + } else { + memStore.indicaciones = memStore.indicaciones.filter(i => i.id !== id); + } +} + +// ========== MOVIMIENTOS INDICACIONES ========== +export async function getAllMovimientosIndicaciones() { + if (db) { + const movimientos = await db.collection('movimientos_indicaciones').find().toArray(); + return cleanDocs(movimientos); + } + return [...memStore.movimientos_indicaciones]; +} + +export async function createMovimientoIndicacion(mov) { + const doc = { + id: mov.id, + indicacionId: mov.indicacionId, + internacionId: mov.internacionId, + tipo: mov.tipo, + fecha: mov.fecha, + profesional: mov.profesional, + indicacionPrevia: mov.indicacionPrevia || null, + indicacionNueva: mov.indicacionNueva || null + }; + if (db) { + await db.collection('movimientos_indicaciones').insertOne(doc); + } else { + memStore.movimientos_indicaciones.push(doc); + } +} + +// ========== KV STORE ========== +export async function getValue(key) { + if (db) { + const doc = await db.collection('kv').findOne({ key }); + return doc?.value ?? null; + } + return memStore.kv[key] ?? null; +} + +export async function setValue(key, value) { + if (db) { + await db.collection('kv').updateOne( + { key }, + { $set: { key, value } }, + { upsert: true } + ); + } else { + memStore.kv[key] = value; + } +} diff --git a/server/package-lock.json b/server/package-lock.json new file mode 100644 index 0000000..dcb18fa --- /dev/null +++ b/server/package-lock.json @@ -0,0 +1,1220 @@ +{ + "name": "hospital-server", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "hospital-server", + "version": "1.0.0", + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "express": "^4.21.2", + "http-proxy-middleware": "^3.0.5", + "mongodb": "^6.8.0" + } + }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.13.tgz", + "integrity": "sha512-E3Sv4eCYAlKYUTx8S3ioQcDUscOif+8zZ5OnW1IzJ+Tt+EO+ke8mn+Y3FX6N1H79picwbdOavVOb1jPi2EOyrg==", + "license": "MIT", + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, + "node_modules/@types/http-proxy": { + "version": "1.17.17", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", + "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.19.0" + } + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", + "license": "MIT" + }, + "node_modules/@types/whatwg-url": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.5.tgz", + "integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==", + "license": "MIT", + "dependencies": { + "@types/webidl-conversions": "*" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/bson": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.10.4.tgz", + "integrity": "sha512-WIsKqkSC0ABoBJuT1LEX+2HEvNmNKKgnTAyd0fL8qzK4SH2i9NXg+t08YtdZp/V9IZ33cxe3iV4yM0qg8lMQng==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.20.1" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.5.tgz", + "integrity": "sha512-GLZZm1X38BPY4lkXA01jhwxvDoOkkXqjgVyUzVxiEK4iuRu03PZoYHhHRwxnfhQMDuaxi3vVri0YgSro/1oWqg==", + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.15", + "debug": "^4.3.6", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.3", + "is-plain-object": "^5.0.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "license": "MIT" + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mongodb": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.21.0.tgz", + "integrity": "sha512-URyb/VXMjJ4da46OeSXg+puO39XH9DeQpWCslifrRn9JWugy0D+DvvBvkm2WxmHe61O/H19JM66p1z7RHVkZ6A==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/saslprep": "^1.3.0", + "bson": "^6.10.4", + "mongodb-connection-string-url": "^3.0.2" + }, + "engines": { + "node": ">=16.20.1" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.188.0", + "@mongodb-js/zstd": "^1.1.0 || ^2.0.0", + "gcp-metadata": "^5.2.0", + "kerberos": "^2.0.1", + "mongodb-client-encryption": ">=6.0.0 <7", + "snappy": "^7.3.2", + "socks": "^2.7.1" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "gcp-metadata": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + }, + "socks": { + "optional": true + } + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.2.tgz", + "integrity": "sha512-rMO7CGo/9BFwyZABcKAWL8UJwH/Kc2x0g72uhDWzG48URRax5TCIcJ7Rc3RZqffZzO/Gwff/jyKwCU9TN8gehA==", + "license": "Apache-2.0", + "dependencies": { + "@types/whatwg-url": "^11.0.2", + "whatwg-url": "^14.1.0 || ^13.0.0" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "license": "MIT" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "license": "MIT", + "dependencies": { + "memory-pager": "^1.0.2" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undici-types": { + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "license": "MIT", + "dependencies": { + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + } + } +} diff --git a/server/package.json b/server/package.json new file mode 100644 index 0000000..6f80ba8 --- /dev/null +++ b/server/package.json @@ -0,0 +1,15 @@ +{ + "name": "hospital-server", + "version": "1.0.0", + "type": "module", + "scripts": { + "start": "node index.js" + }, + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "express": "^4.21.2", + "http-proxy-middleware": "^3.0.5", + "mongodb": "^6.8.0" + } +} diff --git a/server_log.txt b/server_log.txt new file mode 100644 index 0000000..7811535 --- /dev/null +++ b/server_log.txt @@ -0,0 +1,4 @@ + +> my-app@0.0.0 dev +> tsx server.ts + diff --git a/server_test_log.txt b/server_test_log.txt new file mode 100644 index 0000000..e69de29 diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..b9d355d --- /dev/null +++ b/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..4159223 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,277 @@ +import { useHospitalStore } from '@/hooks/useHospitalStore'; +import { Layout } from '@/sections/Layout'; +import { toast } from 'sonner'; +import { Dashboard } from '@/sections/Dashboard'; +import { MapaCamas } from '@/sections/MapaCamas'; +import { Pacientes } from '@/sections/Pacientes'; +import { Internaciones } from '@/sections/Internaciones'; +import { Evoluciones } from '@/sections/Evoluciones'; +import { AcidoBaseSection } from '@/sections/AcidoBase'; +import { Cultivos } from '@/sections/Cultivos'; +import { HistoriaClinica } from '@/sections/HistoriaClinica'; +import { NuevoIngreso } from '@/sections/NuevoIngreso'; +import { EditIngreso } from '@/sections/EditIngreso'; +import { Login } from '@/sections/Login'; +import { GestionUsuarios } from '@/sections/GestionUsuarios'; +import { Spinner } from '@/components/ui/spinner'; +import { Button } from '@/components/ui/button'; +import { ThemeProvider } from "@/components/theme-provider"; +import { Toaster } from '@/components/ui/sonner'; +import type { Indicacion, MovimientoIndicacion } from '@/types'; + +function AppContent() { + const store = useHospitalStore(); + + if (!store.isLoaded) { + return ( +
+ +
+ ); + } + + if (!store.isAuthenticated) { + return ; + } + + const renderVista = () => { + switch (store.vistaActual) { + case 'dashboard': + return ( + + ); + case 'camas': + return ( + + ); + case 'pacientes': + return ( + + ); + case 'internaciones': + return ( + { store.setCurrentInternacion(id); store.setVista('historiaclinica'); }} + onNuevoIngreso={() => store.setVista('nuevoingreso')} + /> + ); + case 'evoluciones': + return ( + + ); + case 'acidobase': + return ( + + ); + case 'cultivos': + return ( + + ); + case 'historiaclinica': { + const internacionId = store.currentInternacionId || ''; + const internacion = store.getInternacionById(internacionId); + const paciente = internacion ? store.getPacienteById(internacion.pacienteId) : undefined; + if (!internacion || !paciente) { + return ( +
+

Internación no encontrada (id: {internacionId})

+ +
+ ); + } + return ( + e.internacionId === internacion.id)} + interconsultas={(store.interconsultas || []).filter(ic => ic.internacionId === internacion.id)} + atb={(store.atb || []).filter(a => a.internacionId === internacion.id)} + onAgregarEvolucion={store.agregarEvolucion} + onActualizarEvolucion={store.actualizarEvolucion} + onEliminarEvolucion={store.eliminarEvolucion} + onAgregarLaboratorio={(l) => store.agregarLaboratorio({ ...l, internacionId: internacion.id })} + onActualizarLaboratorio={store.actualizarLaboratorio} + onEliminarLaboratorio={store.eliminarLaboratorio} + onAgregarGlucemia={(g) => store.agregarGlucemia({ ...g, internacionId: internacion.id })} + onActualizarGlucemia={store.actualizarGlucemia} + onEliminarGlucemia={store.eliminarGlucemia} + onAgregarAcidoBase={(a) => store.agregarAcidoBase({ ...a, internacionId: internacion.id })} + onActualizarAcidoBase={store.actualizarAcidoBase} + onEliminarAcidoBase={store.eliminarAcidoBase} + onAgregarCultivo={(c) => store.agregarCultivo({ ...c, internacionId: internacion.id })} + onActualizarCultivo={store.actualizarCultivo} + onEliminarCultivo={store.eliminarCultivo} + onAgregarEstudioComplementario={(e) => store.agregarEstudioComplementario({ ...e, internacionId: internacion.id })} + onActualizarEstudioComplementario={store.actualizarEstudioComplementario} + onEliminarEstudioComplementario={store.eliminarEstudioComplementario} + onAgregarInterconsulta={(ic) => store.agregarInterconsulta({ ...ic, internacionId: internacion.id })} + onActualizarInterconsulta={store.actualizarInterconsulta} + onEliminarInterconsulta={store.eliminarInterconsulta} + onAgregarATB={(atb) => store.agregarATB({ ...atb, internacionId: internacion.id })} + onActualizarATB={store.actualizarATB} + onEliminarATB={store.eliminarATB} + indicadores={(Array.isArray(store.indicaciones) ? store.indicaciones : []).filter((i: Indicacion) => i.internacionId === internacion.id)} + movimientos={store.getMovimientosByInternacion ? store.getMovimientosByInternacion(internacion.id) : []} + onAgregarIndicacion={(i) => store.agregarIndicacion({ ...i, internacionId: internacion.id })} + onActualizarIndicacion={store.actualizarIndicacion} + onEliminarIndicacion={store.eliminarIndicacion} + onAgregarMovimiento={(m: MovimientoIndicacion) => store.agregarMovimientoIndicacion ? store.agregarMovimientoIndicacion({ ...m, internacionId: internacion.id }) : null} + onActualizarInternacion={store.actualizarInternacion} + onActualizarCama={store.actualizarCama} + onVolver={() => store.setVista('internaciones')} + onEditarIngreso={() => { + if (store.canEditIngreso(internacion.id)) { + store.setVista('editaringreso'); + } else { + toast.error(`Solo el usuario que creó esta internación (${internacion.medicoIngresante}) puede modificar el ingreso.`); + } + }} + canEdit={store.canEditInternacion(internacion.id)} + /> + ); + } + case 'nuevoingreso': + return ( + store.setVista('internaciones')} + getGrupoName={(grupoId) => store.grupos.find(a => a.id === grupoId)?.nombre || ''} + internaciones={store.internaciones} + /> + ); + + case 'editaringreso': { + const internacionId = store.currentInternacionId || ''; + const internacion = store.getInternacionById(internacionId); + const paciente = internacion ? store.getPacienteById(internacion.pacienteId) : undefined; + if (!internacion || !paciente) { + return ( +
+

Internación no encontrada (id: {internacionId})

+ +
+ ); + } + return ( + store.setVista('historiaclinica')} + getGrupoName={(grupoId) => store.grupos.find(a => a.id === grupoId)?.nombre || ''} + /> + ); + } + case 'usuarios': + if (store.currentUser?.rol !== 'admin') { + return ( +
+

No tiene permisos para acceder a esta sección.

+ +
+ ); + } + return ( + + ); + default: + return null; + } + }; + + return ( + + {renderVista()} + + ); +} + +function App() { + return ( + + + + + ); +} + +export default App; \ No newline at end of file diff --git a/src/components/theme-provider.tsx b/src/components/theme-provider.tsx new file mode 100644 index 0000000..927a55d --- /dev/null +++ b/src/components/theme-provider.tsx @@ -0,0 +1,74 @@ +/* eslint-disable react-refresh/only-export-components */ +import { createContext, useContext, useEffect, useState } from "react" + +type Theme = "dark" | "light" | "system" + +type ThemeProviderProps = { + children: React.ReactNode + defaultTheme?: Theme + storageKey?: string +} + +type ThemeProviderState = { + theme: Theme + setTheme: (theme: Theme) => void +} + +const initialState: ThemeProviderState = { + theme: "system", + setTheme: () => null, +} + +const ThemeProviderContext = createContext(initialState) + +export function ThemeProvider({ + children, + defaultTheme = "light", + storageKey = "vite-ui-theme", + ...props +}: ThemeProviderProps) { + const [theme, setTheme] = useState( + () => (localStorage.getItem(storageKey) as Theme) || defaultTheme + ) + + useEffect(() => { + const root = window.document.documentElement + + root.classList.remove("light", "dark") + + if (theme === "system") { + const systemTheme = window.matchMedia("(prefers-color-scheme: dark)") + .matches + ? "dark" + : "light" + + root.classList.add(systemTheme) + return + } + + root.classList.add(theme) + }, [theme]) + + const value = { + theme, + setTheme: (theme: Theme) => { + localStorage.setItem(storageKey, theme) + setTheme(theme) + }, + } + + return ( + + {children} + + ) +} + +export const useTheme = () => { + const context = useContext(ThemeProviderContext) + + if (context === undefined) + throw new Error("useTheme must be used within a ThemeProvider") + + return context +} diff --git a/src/components/ui/accordion.tsx b/src/components/ui/accordion.tsx new file mode 100644 index 0000000..e1797c9 --- /dev/null +++ b/src/components/ui/accordion.tsx @@ -0,0 +1,55 @@ +import * as React from "react" +import * as AccordionPrimitive from "@radix-ui/react-accordion" +import { ChevronDown } from "lucide-react" + +import { cn } from "@/lib/utils" + +const Accordion = AccordionPrimitive.Root + +const AccordionItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AccordionItem.displayName = "AccordionItem" + +const AccordionTrigger = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + svg]:rotate-180", + className + )} + {...props} + > + {children} + + + +)) +AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName + +const AccordionContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + +
{children}
+
+)) +AccordionContent.displayName = AccordionPrimitive.Content.displayName + +export { Accordion, AccordionItem, AccordionTrigger, AccordionContent } diff --git a/src/components/ui/alert-dialog.tsx b/src/components/ui/alert-dialog.tsx new file mode 100644 index 0000000..935eecf --- /dev/null +++ b/src/components/ui/alert-dialog.tsx @@ -0,0 +1,155 @@ +import * as React from "react" +import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog" + +import { cn } from "@/lib/utils" +import { buttonVariants } from "@/components/ui/button" + +function AlertDialog({ + ...props +}: React.ComponentProps) { + return +} + +function AlertDialogTrigger({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogPortal({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogOverlay({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogContent({ + className, + ...props +}: React.ComponentProps) { + return ( + + + + + ) +} + +function AlertDialogHeader({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function AlertDialogFooter({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function AlertDialogTitle({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogDescription({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogAction({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AlertDialogCancel({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { + AlertDialog, + AlertDialogPortal, + AlertDialogOverlay, + AlertDialogTrigger, + AlertDialogContent, + AlertDialogHeader, + AlertDialogFooter, + AlertDialogTitle, + AlertDialogDescription, + AlertDialogAction, + AlertDialogCancel, +} diff --git a/src/components/ui/alert.tsx b/src/components/ui/alert.tsx new file mode 100644 index 0000000..1421354 --- /dev/null +++ b/src/components/ui/alert.tsx @@ -0,0 +1,66 @@ +import * as React from "react" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const alertVariants = cva( + "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", + { + variants: { + variant: { + default: "bg-card text-card-foreground", + destructive: + "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +function Alert({ + className, + variant, + ...props +}: React.ComponentProps<"div"> & VariantProps) { + return ( +
+ ) +} + +function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function AlertDescription({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
+ ) +} + +export { Alert, AlertTitle, AlertDescription } diff --git a/src/components/ui/aspect-ratio.tsx b/src/components/ui/aspect-ratio.tsx new file mode 100644 index 0000000..3df3fd0 --- /dev/null +++ b/src/components/ui/aspect-ratio.tsx @@ -0,0 +1,11 @@ +"use client" + +import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio" + +function AspectRatio({ + ...props +}: React.ComponentProps) { + return +} + +export { AspectRatio } diff --git a/src/components/ui/avatar.tsx b/src/components/ui/avatar.tsx new file mode 100644 index 0000000..b7224f0 --- /dev/null +++ b/src/components/ui/avatar.tsx @@ -0,0 +1,51 @@ +import * as React from "react" +import * as AvatarPrimitive from "@radix-ui/react-avatar" + +import { cn } from "@/lib/utils" + +function Avatar({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AvatarImage({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AvatarFallback({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { Avatar, AvatarImage, AvatarFallback } diff --git a/src/components/ui/badge.tsx b/src/components/ui/badge.tsx new file mode 100644 index 0000000..82216f3 --- /dev/null +++ b/src/components/ui/badge.tsx @@ -0,0 +1,47 @@ +/* eslint-disable react-refresh/only-export-components */ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const badgeVariants = cva( + "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", + { + variants: { + variant: { + default: + "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90", + secondary: + "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90", + destructive: + "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", + outline: + "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +function Badge({ + className, + variant, + asChild = false, + ...props +}: React.ComponentProps<"span"> & + VariantProps & { asChild?: boolean }) { + const Comp = asChild ? Slot : "span" + + return ( + + ) +} + +export { Badge, badgeVariants } diff --git a/src/components/ui/breadcrumb.tsx b/src/components/ui/breadcrumb.tsx new file mode 100644 index 0000000..eb88f32 --- /dev/null +++ b/src/components/ui/breadcrumb.tsx @@ -0,0 +1,109 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { ChevronRight, MoreHorizontal } from "lucide-react" + +import { cn } from "@/lib/utils" + +function Breadcrumb({ ...props }: React.ComponentProps<"nav">) { + return