From 0d8c1f5b21c608b7cf992d465cf1b8c5d30746cd Mon Sep 17 00:00:00 2001 From: Vandeet Shah Date: Wed, 10 Apr 2024 17:00:39 +0530 Subject: [PATCH] Frontend without map --- .eslintrc.json | 3 + .gitignore | 36 + README.md | 36 + components.json | 17 + next.config.mjs | 4 + package-lock.json | 8014 +++++++++++++++++ package.json | 59 + postcss.config.js | 6 + public/logo.png | Bin 0 -> 203936 bytes public/logo.svg | 2440 +++++ public/next.svg | 1 + public/vercel.svg | 1 + src/app/commodities/page.tsx | 16 + src/app/favicon.ico | Bin 0 -> 25931 bytes src/app/globals.css | 61 + src/app/layout.tsx | 36 + src/app/page.tsx | 12 + .../commodity/date-range-picker.tsx | 517 ++ src/components/commodity/graph.tsx | 297 + src/components/commodity/select-form.tsx | 294 + src/components/commodity/table.tsx | 95 + src/components/map/app.tsx | 132 + src/components/mode-toggle.tsx | 40 + src/components/navbar/about.tsx | 36 + src/components/navbar/nav.tsx | 26 + src/components/theme-provider.tsx | 9 + src/components/ui/alert-dialog.tsx | 141 + src/components/ui/button.tsx | 57 + src/components/ui/calendar.tsx | 72 + src/components/ui/card.tsx | 76 + src/components/ui/date-input.tsx | 259 + src/components/ui/dialog.tsx | 122 + src/components/ui/dropdown-menu.tsx | 205 + src/components/ui/form.tsx | 176 + src/components/ui/input.tsx | 25 + src/components/ui/label.tsx | 26 + src/components/ui/popover.tsx | 33 + src/components/ui/select.tsx | 164 + src/components/ui/separator.tsx | 31 + src/components/ui/switch.tsx | 29 + src/components/ui/table.tsx | 120 + src/components/ui/toast.tsx | 129 + src/components/ui/toaster.tsx | 35 + src/components/ui/use-toast.ts | 194 + src/lib/utils.ts | 6 + tailwind.config.ts | 80 + tsconfig.json | 26 + 47 files changed, 14194 insertions(+) create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 README.md create mode 100644 components.json create mode 100644 next.config.mjs create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 public/logo.png create mode 100644 public/logo.svg create mode 100644 public/next.svg create mode 100644 public/vercel.svg create mode 100644 src/app/commodities/page.tsx create mode 100644 src/app/favicon.ico create mode 100644 src/app/globals.css create mode 100644 src/app/layout.tsx create mode 100644 src/app/page.tsx create mode 100644 src/components/commodity/date-range-picker.tsx create mode 100644 src/components/commodity/graph.tsx create mode 100644 src/components/commodity/select-form.tsx create mode 100644 src/components/commodity/table.tsx create mode 100644 src/components/map/app.tsx create mode 100644 src/components/mode-toggle.tsx create mode 100644 src/components/navbar/about.tsx create mode 100644 src/components/navbar/nav.tsx create mode 100644 src/components/theme-provider.tsx create mode 100644 src/components/ui/alert-dialog.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/date-input.tsx create mode 100644 src/components/ui/dialog.tsx create mode 100644 src/components/ui/dropdown-menu.tsx create mode 100644 src/components/ui/form.tsx create mode 100644 src/components/ui/input.tsx create mode 100644 src/components/ui/label.tsx create mode 100644 src/components/ui/popover.tsx create mode 100644 src/components/ui/select.tsx create mode 100644 src/components/ui/separator.tsx create mode 100644 src/components/ui/switch.tsx create mode 100644 src/components/ui/table.tsx create mode 100644 src/components/ui/toast.tsx create mode 100644 src/components/ui/toaster.tsx create mode 100644 src/components/ui/use-toast.ts create mode 100644 src/lib/utils.ts create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..bffb357 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fd3dbb5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/README.md b/README.md new file mode 100644 index 0000000..c403366 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/components.json b/components.json new file mode 100644 index 0000000..14331d8 --- /dev/null +++ b/components.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "new-york", + "rsc": true, + "tsx": true, + "tailwind": { + "config": "tailwind.config.ts", + "css": "src/app/globals.css", + "baseColor": "slate", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils" + } +} \ No newline at end of file diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 0000000..4678774 --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,4 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = {}; + +export default nextConfig; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ab2d957 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8014 @@ +{ + "name": "agrevolve", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "agrevolve", + "version": "0.1.0", + "dependencies": { + "@hookform/resolvers": "^3.3.4", + "@loaders.gl/csv": "^4.1.4", + "@radix-ui/react-alert-dialog": "^1.0.5", + "@radix-ui/react-dialog": "^1.0.5", + "@radix-ui/react-dropdown-menu": "^2.0.6", + "@radix-ui/react-icons": "^1.3.0", + "@radix-ui/react-label": "^2.0.2", + "@radix-ui/react-popover": "^1.0.7", + "@radix-ui/react-select": "^2.0.0", + "@radix-ui/react-separator": "^1.0.3", + "@radix-ui/react-slot": "^1.0.2", + "@radix-ui/react-switch": "^1.0.3", + "@radix-ui/react-toast": "^1.1.5", + "@tanstack/react-table": "^8.15.0", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.0", + "cmdk": "^1.0.0", + "date-fns": "^3.6.0", + "deck.gl": "^9.0.0", + "lucide-react": "^0.362.0", + "maplibre-gl": "^3.0.0", + "next": "14.1.4", + "next-themes": "^0.3.0", + "react": "^18", + "react-day-picker": "^8.10.0", + "react-dom": "^18", + "react-hook-form": "^7.51.1", + "react-map-gl": "^7.1.7", + "react-router-dom": "^6.22.3", + "recharts": "^2.12.3", + "tailwind-merge": "^2.2.2", + "tailwindcss-animate": "^1.0.7", + "zod": "^3.22.4" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "autoprefixer": "^10.0.1", + "eslint": "^8", + "eslint-config-next": "14.1.4", + "postcss": "^8", + "tailwindcss": "^3.3.0", + "typescript": "^5" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", + "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@deck.gl/aggregation-layers": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/aggregation-layers/-/aggregation-layers-9.0.5.tgz", + "integrity": "sha512-gxsjFELaJjtJaqT6MDSPdMi87JD60oXlNUh07SV6LpvLVBEGlUgRaO4/HUIYNQrZ2tPFPZ3qmr2szG2/QG1lCQ==", + "dependencies": { + "@luma.gl/constants": "^9.0.9", + "@luma.gl/shadertools": "^9.0.9", + "@math.gl/web-mercator": "^4.0.0", + "d3-hexbin": "^0.2.1" + }, + "peerDependencies": { + "@deck.gl/core": "^9.0.0", + "@deck.gl/layers": "^9.0.0", + "@luma.gl/core": "^9.0.0", + "@luma.gl/engine": "^9.0.0" + } + }, + "node_modules/@deck.gl/carto": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/carto/-/carto-9.0.5.tgz", + "integrity": "sha512-9/3Zaem9T7ucS03K024DAg5+wfEwHS+hJLs4ygniM/ZWeCiUTrs4wnH/v8RpzwZED2YYVa1eT6KBWnFIkdxhrQ==", + "dependencies": { + "@loaders.gl/gis": "^4.1.4", + "@loaders.gl/loader-utils": "^4.1.4", + "@loaders.gl/mvt": "^4.1.4", + "@loaders.gl/schema": "^4.1.4", + "@loaders.gl/tiles": "^4.1.4", + "@luma.gl/constants": "^9.0.9", + "@math.gl/web-mercator": "^4.0.0", + "@types/d3-array": "^3.0.2", + "@types/d3-color": "^1.4.2", + "@types/d3-scale": "^3.0.0", + "cartocolor": "^4.0.2", + "d3-array": "^3.2.0", + "d3-color": "^3.1.0", + "d3-format": "^3.1.0", + "d3-scale": "^4.0.0", + "earcut": "^2.2.4", + "h3-js": "^4.1.0", + "moment-timezone": "^0.5.33", + "pbf": "^3.2.1", + "quadbin": "^0.2.0" + }, + "peerDependencies": { + "@deck.gl/aggregation-layers": "^9.0.0", + "@deck.gl/core": "^9.0.0", + "@deck.gl/extensions": "^9.0.0", + "@deck.gl/geo-layers": "^9.0.0", + "@deck.gl/layers": "^9.0.0", + "@loaders.gl/core": "^4.1.0", + "@luma.gl/core": "^9.0.0" + } + }, + "node_modules/@deck.gl/core": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/core/-/core-9.0.5.tgz", + "integrity": "sha512-CV2Ju+eAqz1Gq17Gy7YRDFTLF55JIcd8FXbyf02kL0Pd+8pHMdSXvlkKyK7NwgQSE4ZLW5r/saEaGpE91oRjmA==", + "dependencies": { + "@loaders.gl/core": "^4.1.4", + "@loaders.gl/images": "^4.1.4", + "@luma.gl/constants": "^9.0.9", + "@luma.gl/core": "^9.0.9", + "@luma.gl/engine": "^9.0.9", + "@luma.gl/shadertools": "^9.0.9", + "@luma.gl/webgl": "^9.0.9", + "@math.gl/core": "^4.0.0", + "@math.gl/sun": "^4.0.0", + "@math.gl/web-mercator": "^4.0.0", + "@probe.gl/env": "^4.0.9", + "@probe.gl/log": "^4.0.9", + "@probe.gl/stats": "^4.0.9", + "@types/offscreencanvas": "^2019.6.4", + "gl-matrix": "^3.0.0", + "mjolnir.js": "^2.7.0" + } + }, + "node_modules/@deck.gl/extensions": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/extensions/-/extensions-9.0.5.tgz", + "integrity": "sha512-zto3k8o+5PmAEU4O6oGiorpn0LcRGzBQaa5AQ3tmrkPV7gNNP/LG77JN1EthXqfbSYA4CT/gHYT3DWoWpiJ0sw==", + "dependencies": { + "@luma.gl/constants": "^9.0.9", + "@luma.gl/shadertools": "^9.0.9", + "@math.gl/core": "^4.0.0" + }, + "peerDependencies": { + "@deck.gl/core": "^9.0.0", + "@luma.gl/core": "^9.0.0", + "@luma.gl/engine": "^9.0.0" + } + }, + "node_modules/@deck.gl/geo-layers": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/geo-layers/-/geo-layers-9.0.5.tgz", + "integrity": "sha512-cPnafNRgHSTrPMwh15FE7tTp/J7AUuFrxF+CVmxYsa7koLfUxgXDyttpHgs/LqBCt2LF+b3y+P+w9oBc8hOq+A==", + "dependencies": { + "@loaders.gl/3d-tiles": "^4.1.4", + "@loaders.gl/gis": "^4.1.4", + "@loaders.gl/loader-utils": "^4.1.4", + "@loaders.gl/mvt": "^4.1.4", + "@loaders.gl/schema": "^4.1.4", + "@loaders.gl/terrain": "^4.1.4", + "@loaders.gl/tiles": "^4.1.4", + "@loaders.gl/wms": "^4.1.4", + "@luma.gl/gltf": "^9.0.9", + "@luma.gl/shadertools": "^9.0.9", + "@math.gl/core": "^4.0.0", + "@math.gl/culling": "^4.0.0", + "@math.gl/web-mercator": "^4.0.0", + "@types/geojson": "^7946.0.8", + "h3-js": "^4.1.0", + "long": "^3.2.0" + }, + "peerDependencies": { + "@deck.gl/core": "^9.0.0", + "@deck.gl/extensions": "^9.0.0", + "@deck.gl/layers": "^9.0.0", + "@deck.gl/mesh-layers": "^9.0.0", + "@loaders.gl/core": "^4.1.0", + "@luma.gl/core": "^9.0.0", + "@luma.gl/engine": "^9.0.0" + } + }, + "node_modules/@deck.gl/google-maps": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/google-maps/-/google-maps-9.0.5.tgz", + "integrity": "sha512-BOr0Rx8xwfJZXT4DLfPd+8cRbZwtoGKMXb2KRnO7uOQzM8KyIfQ68BSAJEcM9wfwWkLs+H7e7lujVuH9ggE5qw==", + "dependencies": { + "@luma.gl/constants": "^9.0.9", + "@math.gl/core": "^4.0.0", + "@types/google.maps": "^3.48.6" + }, + "peerDependencies": { + "@deck.gl/core": "^9.0.0", + "@luma.gl/core": "^9.0.0" + } + }, + "node_modules/@deck.gl/json": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/json/-/json-9.0.5.tgz", + "integrity": "sha512-tk7SEL6X6IUWn7M+SkHgjUIYIpqqTooAMVYNG0Szz6OR91CD2z0Ys8bYwkTJ/aC1Uzh5Qeacx3CBIJpCtlXigw==", + "dependencies": { + "expression-eval": "^5.0.0" + }, + "peerDependencies": { + "@deck.gl/core": "^9.0.0" + } + }, + "node_modules/@deck.gl/layers": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/layers/-/layers-9.0.5.tgz", + "integrity": "sha512-5h7+/w2hbbbjim+VRRfMENEdp+cSPLWIX+D6yOh3YMl+QTEPFHlP5GjfslwT7mfISRINUn+7yo+Rl8zY07ZnRA==", + "dependencies": { + "@loaders.gl/images": "^4.1.4", + "@loaders.gl/schema": "^4.1.4", + "@mapbox/tiny-sdf": "^2.0.5", + "@math.gl/core": "^4.0.0", + "@math.gl/polygon": "^4.0.0", + "@math.gl/web-mercator": "^4.0.0", + "earcut": "^2.2.4" + }, + "peerDependencies": { + "@deck.gl/core": "^9.0.0", + "@loaders.gl/core": "^4.1.0", + "@luma.gl/core": "^9.0.0", + "@luma.gl/engine": "^9.0.0" + } + }, + "node_modules/@deck.gl/mapbox": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/mapbox/-/mapbox-9.0.5.tgz", + "integrity": "sha512-Oefd7yYgodHYZqRwqYwjkE7e1AEqYKESth6PE1B3bEJnKFHwiYe6oNL5BR1N3VCChM2viwLDjHRvhK7l+t4+Vw==", + "dependencies": { + "@luma.gl/constants": "^9.0.9", + "@math.gl/web-mercator": "^4.0.0" + }, + "peerDependencies": { + "@deck.gl/core": "^9.0.0", + "@luma.gl/core": "^9.0.0" + } + }, + "node_modules/@deck.gl/mesh-layers": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/mesh-layers/-/mesh-layers-9.0.5.tgz", + "integrity": "sha512-WmOgl4Wm/EklrnR5wKEa6AYk7YY7W66fjwjVYgjsMgV5WWGvZFBehANQH48bZixjbfYMKkBvRyWCsAu3lExzMg==", + "dependencies": { + "@loaders.gl/gltf": "^4.1.4", + "@luma.gl/gltf": "^9.0.9", + "@luma.gl/shadertools": "^9.0.9" + }, + "peerDependencies": { + "@deck.gl/core": "^9.0.0", + "@luma.gl/core": "^9.0.0", + "@luma.gl/engine": "^9.0.0" + } + }, + "node_modules/@deck.gl/react": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/react/-/react-9.0.5.tgz", + "integrity": "sha512-AT2a7A44xzv72fuDUt3b/FtyvZ1skk2/51KE7ybkqEiMnwuAfuxOqExgkMW2GNoOvRglmKS7wc8Kyel74HyXaw==", + "peerDependencies": { + "@deck.gl/core": "^9.0.0", + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + } + }, + "node_modules/@deck.gl/widgets": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@deck.gl/widgets/-/widgets-9.0.5.tgz", + "integrity": "sha512-MzbqCgM0JiZsgv8TLQHkUjWSOfRL5Shuxqzw1eLCb+ktSJ35USzXCxVdUwQdtsNhmAYf/TStc1WxvxifwpMbPg==", + "dependencies": { + "preact": "^10.17.0" + }, + "peerDependencies": { + "@deck.gl/core": "^9.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "dependencies": { + "@floating-ui/utils": "^0.2.1" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", + "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", + "dependencies": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz", + "integrity": "sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==", + "dependencies": { + "@floating-ui/dom": "^1.6.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + }, + "node_modules/@hookform/resolvers": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.3.4.tgz", + "integrity": "sha512-o5cgpGOuJYrd+iMKvkttOclgwRW86EsWJZZRC23prf0uU2i48Htq4PuT73AVb9ionFyZrwYEITuOFGF+BydEtQ==", + "peerDependencies": { + "react-hook-form": "^7.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@loaders.gl/3d-tiles": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/3d-tiles/-/3d-tiles-4.1.4.tgz", + "integrity": "sha512-HIESyoqXMOnepe2Lodg1bG7+ByKDVxpzicOLe11ZPEHduTxJAHIKmrqY4S/4lgpnIkTDMMyslW1/NHiK+XVIhA==", + "dependencies": { + "@loaders.gl/draco": "4.1.4", + "@loaders.gl/gltf": "4.1.4", + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/math": "4.1.4", + "@loaders.gl/tiles": "4.1.4", + "@loaders.gl/zip": "4.1.4", + "@math.gl/core": "^4.0.0", + "@math.gl/geospatial": "^4.0.0", + "@probe.gl/log": "^4.0.4", + "long": "^5.2.1" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.0.0" + } + }, + "node_modules/@loaders.gl/3d-tiles/node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "node_modules/@loaders.gl/compression": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/compression/-/compression-4.1.4.tgz", + "integrity": "sha512-WCSaMLdZK47b3gFc31bCwnwh2ApMhW/sP7/u+bYg3lY3v1hOo3Tn23vtTx4FdDdJZ9yZBUmW037j7zAuVKy09w==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/worker-utils": "4.1.4", + "@types/brotli": "^1.3.0", + "@types/pako": "^1.0.1", + "fflate": "0.7.4", + "lzo-wasm": "^0.0.4", + "pako": "1.0.11", + "snappyjs": "^0.6.1" + }, + "optionalDependencies": { + "brotli": "^1.3.2", + "lz4js": "^0.2.0", + "zstd-codec": "^0.1" + } + }, + "node_modules/@loaders.gl/core": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/core/-/core-4.1.4.tgz", + "integrity": "sha512-ItlVE76qBVkrZfD8Jc9Kqv9lcntFxkZf1mhY/chk05gVe4tHRiplbNUZI4ghT3yHNY6uYoSdjl9QAOc/FDppmA==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/worker-utils": "4.1.4", + "@probe.gl/log": "^4.0.2" + } + }, + "node_modules/@loaders.gl/crypto": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/crypto/-/crypto-4.1.4.tgz", + "integrity": "sha512-SUvOIWYKqundjfkDE6FBrB8Nvg+LjYzLKwikT3YkAWahvJMR/Qgi1s7JDM+y3tFdIgRDEvvVbZavml+oJkT8WA==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/worker-utils": "4.1.4", + "@types/crypto-js": "^4.0.2" + } + }, + "node_modules/@loaders.gl/csv": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/csv/-/csv-4.1.4.tgz", + "integrity": "sha512-QAlBwUiQnzzp3vOEe+Wvec7ztNZeH+REMFwv4mEykg0nEJS6n54gFkXiP5As3R/RlgZM7c9dgbpp9gAhX5fnww==", + "dependencies": { + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/schema": "4.1.4" + } + }, + "node_modules/@loaders.gl/draco": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/draco/-/draco-4.1.4.tgz", + "integrity": "sha512-NH4yVPoXctFuYNMwOnbI+NhoeKSVL6hAZALGXHqlxgRnB30OX1eSUeRoO9ncmGZfnx02qWkmNp9SbLmmCxXUmw==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/schema": "4.1.4", + "@loaders.gl/worker-utils": "4.1.4", + "draco3d": "1.5.5" + } + }, + "node_modules/@loaders.gl/gis": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/gis/-/gis-4.1.4.tgz", + "integrity": "sha512-z9lMrxHB/6uUxAfPrzMAE988yc0tP58DGQZYTMUdfmIvx1DIjzOGpHJIYWZnEbPsWpHkgGz/Sl+qcWkeFDkM3w==", + "dependencies": { + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/schema": "4.1.4", + "@mapbox/vector-tile": "^1.3.1", + "@math.gl/polygon": "^4.0.0", + "pbf": "^3.2.1" + } + }, + "node_modules/@loaders.gl/gltf": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/gltf/-/gltf-4.1.4.tgz", + "integrity": "sha512-Osoy/w1/oYCtl1IzWEeOZmI7CUIgOT67htO6kPUkwFA+/suZ6SXx82g72kU/rI+jQdaJBuXQTWb5r7uJGIGw3A==", + "dependencies": { + "@loaders.gl/draco": "4.1.4", + "@loaders.gl/images": "4.1.4", + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/textures": "4.1.4", + "@math.gl/core": "^4.0.0" + } + }, + "node_modules/@loaders.gl/images": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/images/-/images-4.1.4.tgz", + "integrity": "sha512-uSdm1YTwhLkHw7wuwX50y8Ng8SPAfSa0L+b1Ac5XlfmFaUkt9BJ/+rdhfkYhAmbKP+IT47/BsDUHfS3XJmTZ4A==", + "dependencies": { + "@loaders.gl/loader-utils": "4.1.4" + } + }, + "node_modules/@loaders.gl/loader-utils": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/loader-utils/-/loader-utils-4.1.4.tgz", + "integrity": "sha512-H4JefiK3plFqQxENWx/Mzlx6WtkIvQ21if4VV+UQ/OB3bbq6QuLFHrWBHUx2z4z9QSBj1johiF1KGplgi/unWA==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/worker-utils": "4.1.4", + "@probe.gl/stats": "^4.0.2" + } + }, + "node_modules/@loaders.gl/math": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/math/-/math-4.1.4.tgz", + "integrity": "sha512-5B3iWo4BJ0TnEBl1/hJvO2IJza+DEoaWVbRWunITUFIA1WquIK4okbFI3NQhgyHWduhFGg8r6Yao0nn5meqLgQ==", + "dependencies": { + "@loaders.gl/images": "4.1.4", + "@loaders.gl/loader-utils": "4.1.4", + "@math.gl/core": "^4.0.0" + } + }, + "node_modules/@loaders.gl/mvt": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/mvt/-/mvt-4.1.4.tgz", + "integrity": "sha512-eg2x0q2EJuWxvW4gOeFwD/4LUfMuHgubzXldrsgPSowIbH1fAOHm0sMjyiXLM99Q0mTkjY+vKiM4f2XvoWBB4w==", + "dependencies": { + "@loaders.gl/gis": "4.1.4", + "@loaders.gl/images": "4.1.4", + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/schema": "4.1.4", + "@math.gl/polygon": "^4.0.0", + "pbf": "^3.2.1" + } + }, + "node_modules/@loaders.gl/schema": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/schema/-/schema-4.1.4.tgz", + "integrity": "sha512-Y9FoM/HdBvAVrGi213Z7+dvSBEvDEc9va38RFzXA5HtTcUqOz1Rsu2wStNmY7oL7xjnNF856Wyq0Nty7I24V4g==", + "dependencies": { + "@types/geojson": "^7946.0.7" + } + }, + "node_modules/@loaders.gl/terrain": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/terrain/-/terrain-4.1.4.tgz", + "integrity": "sha512-gjR69104RpSbxriBxGDGSrLTvyhuqfOqzjgU5N2Cjd+V8lNtH6KtwXx9qBQSWCvKBkYOTpqaZHfSeUVMwVIu1w==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/images": "4.1.4", + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/schema": "4.1.4", + "@mapbox/martini": "^0.2.0" + } + }, + "node_modules/@loaders.gl/textures": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/textures/-/textures-4.1.4.tgz", + "integrity": "sha512-5lIwLbtmsPRR9Rh26/UnqWWWt/UubWld6v85u0hhrH36HhMpvGGEoZj8JiMY3ipy77iZu/mwdiUkyIfZ65WidQ==", + "dependencies": { + "@loaders.gl/images": "4.1.4", + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/schema": "4.1.4", + "@loaders.gl/worker-utils": "4.1.4", + "ktx-parse": "^0.0.4", + "texture-compressor": "^1.0.2" + } + }, + "node_modules/@loaders.gl/tiles": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/tiles/-/tiles-4.1.4.tgz", + "integrity": "sha512-Tjyd8x+FGqgsu0wuQJokjzR3o8xUcj6MwTSp8R4LcA/h6xuLihD5JAWjYrmMUvPysMdTAYSXRYduh2EomxK0lA==", + "dependencies": { + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/math": "4.1.4", + "@math.gl/core": "^4.0.0", + "@math.gl/culling": "^4.0.0", + "@math.gl/geospatial": "^4.0.0", + "@math.gl/web-mercator": "^4.0.0", + "@probe.gl/stats": "^4.0.2" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.0.0" + } + }, + "node_modules/@loaders.gl/wms": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/wms/-/wms-4.1.4.tgz", + "integrity": "sha512-juPgeAP1KLcZ+X+h/UO2wEA//H8EPOtiS63yg6pfE4NZTZs7fP6glZj/M3sYp0clo6wCUt+lPNhB4jdQHAhfNg==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/images": "4.1.4", + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/schema": "4.1.4", + "@loaders.gl/xml": "4.1.4", + "@turf/rewind": "^5.1.5", + "deep-strict-equal": "^0.2.0" + } + }, + "node_modules/@loaders.gl/worker-utils": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/worker-utils/-/worker-utils-4.1.4.tgz", + "integrity": "sha512-6SsOcS+aoI7/f/ak1vlpwlhzDXMbO8ivUIyDmCazPpRMnpFP7ig/H2yctvlGnUTUhsv1oJCRt4vPnhKefhCFvg==", + "dependencies": { + "@babel/runtime": "^7.3.1" + } + }, + "node_modules/@loaders.gl/xml": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/xml/-/xml-4.1.4.tgz", + "integrity": "sha512-4l9LyZphP6D/ZCG101Sk+WGnt+vxmFKaRAWvfdK5o5/MAqynNJpLs179xEJzy0xwkaES8g4IG+8HiWgeRaxrKw==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/loader-utils": "4.1.4", + "@loaders.gl/schema": "4.1.4", + "fast-xml-parser": "^4.2.5" + } + }, + "node_modules/@loaders.gl/zip": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/zip/-/zip-4.1.4.tgz", + "integrity": "sha512-732pyjZyZ2Y3MWjHUgspuv9lvGcX8vF3Iyff0iPgI9P4JZw6v1FIbzt21tDHdfgslxtiSQyjSgSsrbfetsdGOw==", + "dependencies": { + "@loaders.gl/compression": "4.1.4", + "@loaders.gl/crypto": "4.1.4", + "@loaders.gl/loader-utils": "4.1.4", + "jszip": "^3.1.5", + "md5": "^2.3.0" + } + }, + "node_modules/@luma.gl/constants": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/@luma.gl/constants/-/constants-9.0.9.tgz", + "integrity": "sha512-o8NgH4F//e2wVWyZoYmaoopoTejDEITBP78fJtU2ivmCW1viCvByUawEXISPzsekHosDYo9q1/XFjmusXZa3fQ==" + }, + "node_modules/@luma.gl/core": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/@luma.gl/core/-/core-9.0.9.tgz", + "integrity": "sha512-G0N4+bSWLU6gt3grgzF5xf+vMnfYaryHFLDkAeZV5kJ2helnfzUsjwUKCEYk36V2vygu7TEXlByYgwestB7+Ew==", + "dependencies": { + "@math.gl/types": "^4.0.0", + "@probe.gl/env": "^4.0.2", + "@probe.gl/log": "^4.0.2", + "@probe.gl/stats": "^4.0.2", + "@types/offscreencanvas": "^2019.6.4" + } + }, + "node_modules/@luma.gl/engine": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/@luma.gl/engine/-/engine-9.0.9.tgz", + "integrity": "sha512-4qW4OCYaGZJ/iGqerAtnP8FzcNtnXvv+aShLkE4ay2D4zdOIML5kZSLslmU/ByZ3FR606k0c5AjTBOgZ77lkiQ==", + "dependencies": { + "@luma.gl/shadertools": "9.0.9", + "@math.gl/core": "^4.0.0", + "@probe.gl/log": "^4.0.2", + "@probe.gl/stats": "^4.0.2" + }, + "peerDependencies": { + "@luma.gl/core": "^9.0.0" + } + }, + "node_modules/@luma.gl/gltf": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/@luma.gl/gltf/-/gltf-9.0.9.tgz", + "integrity": "sha512-QuV4gbxIZ8qGOmZsf9DGvavogQUyplpDVAs38eczBBqIKCGFq2d+mOIQMmn1SWFF0RjicjyjnQ2KAFWgdy2jIQ==", + "dependencies": { + "@loaders.gl/textures": "^4.1.0", + "@luma.gl/shadertools": "9.0.9", + "@math.gl/core": "^4.0.0" + }, + "peerDependencies": { + "@luma.gl/core": "^9.0.0", + "@luma.gl/engine": "^9.0.0" + } + }, + "node_modules/@luma.gl/shadertools": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/@luma.gl/shadertools/-/shadertools-9.0.9.tgz", + "integrity": "sha512-99wfDMtkIeWziAf96UrqXteJi4uBFvMN0TdU8TvTv0V6BJRjd1xZVWnF9Xx2D+DPH9Mmn4q/hQH0NJ0sQlYeHw==", + "dependencies": { + "@math.gl/core": "^4.0.0", + "@math.gl/types": "^4.0.0" + }, + "peerDependencies": { + "@luma.gl/core": "^9.0.0" + } + }, + "node_modules/@luma.gl/webgl": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/@luma.gl/webgl/-/webgl-9.0.9.tgz", + "integrity": "sha512-dP91Md5u6OnK3PFt0h1uqcxWh3T/COBHyZ5OcAirRUB1laFdzhdXUWbtuvLgpF6b7o0MsaEUcXaAbYf+e7lEzA==", + "dependencies": { + "@luma.gl/constants": "9.0.9", + "@probe.gl/env": "^4.0.2" + }, + "peerDependencies": { + "@luma.gl/core": "^9.0.0" + } + }, + "node_modules/@mapbox/geojson-rewind": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", + "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", + "dependencies": { + "get-stream": "^6.0.1", + "minimist": "^1.2.6" + }, + "bin": { + "geojson-rewind": "geojson-rewind" + } + }, + "node_modules/@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@mapbox/martini": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@mapbox/martini/-/martini-0.2.0.tgz", + "integrity": "sha512-7hFhtkb0KTLEls+TRw/rWayq5EeHtTaErgm/NskVoXmtgAQu/9D299aeyj6mzAR/6XUnYRp2lU+4IcrYRFjVsQ==" + }, + "node_modules/@mapbox/point-geometry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==" + }, + "node_modules/@mapbox/tile-cover": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/tile-cover/-/tile-cover-3.0.1.tgz", + "integrity": "sha512-R8aoFY/87HWBOL9E2eBqzOY2lpfWYXCcTNgBpIxAv67rqQeD4IfnHD0iPXg/Z1cqXrklegEYZCp/7ZR/RsWqBQ==", + "dependencies": { + "tilebelt": "^1.0.1" + } + }, + "node_modules/@mapbox/tiny-sdf": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.6.tgz", + "integrity": "sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==" + }, + "node_modules/@mapbox/unitbezier": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", + "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==" + }, + "node_modules/@mapbox/vector-tile": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", + "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", + "dependencies": { + "@mapbox/point-geometry": "~0.1.0" + } + }, + "node_modules/@mapbox/whoots-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", + "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "19.3.3", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-19.3.3.tgz", + "integrity": "sha512-cOZZOVhDSulgK0meTsTkmNXb1ahVvmTmWmfx9gRBwc6hq98wS9JP35ESIoNq3xqEan+UN+gn8187Z6E4NKhLsw==", + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^3.0.0", + "minimist": "^1.2.8", + "rw": "^1.3.3", + "sort-object": "^3.0.3" + }, + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" + } + }, + "node_modules/@math.gl/core": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@math.gl/core/-/core-4.0.1.tgz", + "integrity": "sha512-9IewNjR9V66o+gYIIq5agFoHy6ZT6DRpRGQBfsUpZz4glAqOjVt64he8GGzjpmqfT+kKT4qwQ7nQl/hZLF15qA==", + "dependencies": { + "@math.gl/types": "4.0.1" + } + }, + "node_modules/@math.gl/culling": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@math.gl/culling/-/culling-4.0.1.tgz", + "integrity": "sha512-lv83sMKp0n1HjORhuNtWgX9ylYyj+/zHEPF0xxRXZvcpurB85fhgFLhvR81KLjmSbhQmFgzl0fZe7Ei3WxEP5Q==", + "dependencies": { + "@math.gl/core": "4.0.1" + } + }, + "node_modules/@math.gl/geospatial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@math.gl/geospatial/-/geospatial-4.0.1.tgz", + "integrity": "sha512-FfTUMk8uRlBa4W3dMSFwPjRgdEBnOeVjBr3mcGqb3lHA/PPMvKuE+o7OJfA61Wj6ItuZqCEZHbLbA3WRAENoqQ==", + "dependencies": { + "@math.gl/core": "4.0.1" + } + }, + "node_modules/@math.gl/polygon": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@math.gl/polygon/-/polygon-4.0.1.tgz", + "integrity": "sha512-pwtEbwW3N5qy09K/1FwRYW7M2u9XMPBfIe8BNpkbJh8uH3DPXQdT4uCNFiwrQPPQUQTDdlQyLu/0mRHm2R/fbg==", + "dependencies": { + "@math.gl/core": "4.0.1" + } + }, + "node_modules/@math.gl/sun": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@math.gl/sun/-/sun-4.0.1.tgz", + "integrity": "sha512-nDkQZ9PKd5iMySRM1j01hYG6MwA/MkKXZe4JvArggWUtPXL6nCcPSeiifPXQGIvE9eZdQkbn81StNY9q5l0cFg==" + }, + "node_modules/@math.gl/types": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@math.gl/types/-/types-4.0.1.tgz", + "integrity": "sha512-E9qBKAjVBiZD8Is7TbygiLGtYBP3GSLus6RUJSuzFQegdYXeVagvrs4UkBJxhrRAxw4crfH0Tq7IhTMKuuJNQw==" + }, + "node_modules/@math.gl/web-mercator": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@math.gl/web-mercator/-/web-mercator-4.0.1.tgz", + "integrity": "sha512-eJ0nDw8140kJorf8ASyKRC53rI+UG6vPxpsKJiGRD6lXsoKTeKYebeEAXiGDWTvi2AMe6+xngxTqqwm58fL3Fw==" + }, + "node_modules/@next/env": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.1.4.tgz", + "integrity": "sha512-e7X7bbn3Z6DWnDi75UWn+REgAbLEqxI8Tq2pkFOFAMpWAWApz/YCUhtWMWn410h8Q2fYiYL7Yg5OlxMOCfFjJQ==" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.4.tgz", + "integrity": "sha512-n4zYNLSyCo0Ln5b7qxqQeQ34OZKXwgbdcx6kmkQbywr+0k6M3Vinft0T72R6CDAcDrne2IAgSud4uWCzFgc5HA==", + "dev": true, + "dependencies": { + "glob": "10.3.10" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.4.tgz", + "integrity": "sha512-ubmUkbmW65nIAOmoxT1IROZdmmJMmdYvXIe8211send9ZYJu+SqxSnJM4TrPj9wmL6g9Atvj0S/2cFmMSS99jg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.4.tgz", + "integrity": "sha512-b0Xo1ELj3u7IkZWAKcJPJEhBop117U78l70nfoQGo4xUSvv0PJSTaV4U9xQBLvZlnjsYkc8RwQN1HoH/oQmLlQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.4.tgz", + "integrity": "sha512-457G0hcLrdYA/u1O2XkRMsDKId5VKe3uKPvrKVOyuARa6nXrdhJOOYU9hkKKyQTMru1B8qEP78IAhf/1XnVqKA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.4.tgz", + "integrity": "sha512-l/kMG+z6MB+fKA9KdtyprkTQ1ihlJcBh66cf0HvqGP+rXBbOXX0dpJatjZbHeunvEHoBBS69GYQG5ry78JMy3g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.4.tgz", + "integrity": "sha512-BapIFZ3ZRnvQ1uWbmqEGJuPT9cgLwvKtxhK/L2t4QYO7l+/DxXuIGjvp1x8rvfa/x1FFSsipERZK70pewbtJtw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.4.tgz", + "integrity": "sha512-mqVxTwk4XuBl49qn2A5UmzFImoL1iLm0KQQwtdRJRKl21ylQwwGCxJtIYo2rbfkZHoSKlh/YgztY0qH3wG1xIg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.4.tgz", + "integrity": "sha512-xzxF4ErcumXjO2Pvg/wVGrtr9QQJLk3IyQX1ddAC/fi6/5jZCZ9xpuL9Tzc4KPWMFq8GGWFVDMshZOdHGdkvag==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.4.tgz", + "integrity": "sha512-WZiz8OdbkpRw6/IU/lredZWKKZopUMhcI2F+XiMAcPja0uZYdMTZQRoQ0WZcvinn9xZAidimE7tN9W5v9Yyfyw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.4.tgz", + "integrity": "sha512-4Rto21sPfw555sZ/XNLqfxDUNeLhNYGO2dlPqsnuCg8N8a2a9u1ltqBOPQ4vj1Gf7eJC0W2hHG2eYUHuiXgY2w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "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==", + "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==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@probe.gl/env": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@probe.gl/env/-/env-4.0.9.tgz", + "integrity": "sha512-AOmVMD0/j78mX+k4+qX7ZhE0sY9H+EaJgIO6trik0BwV6VcrwxTGCGFAeuRsIGhETDnye06tkLXccYatYxAYwQ==" + }, + "node_modules/@probe.gl/log": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@probe.gl/log/-/log-4.0.9.tgz", + "integrity": "sha512-ebuZaodSRE9aC+3bVC7cKRHT8garXeT1jTbj1R5tQRqQYc9iGeT3iemVOHx5bN9Q6gAs/0j54iPI+1DvWMAW4A==", + "dependencies": { + "@probe.gl/env": "4.0.9" + } + }, + "node_modules/@probe.gl/stats": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@probe.gl/stats/-/stats-4.0.9.tgz", + "integrity": "sha512-Q9Xt/sJUQaMsbjRKjOscv2t7wXIymTrOEJ4a3da4FTCn7bkKvcdxdyFAQySCrtPxE+YZ5I5lXpWPgv9BwmpE1g==" + }, + "node_modules/@radix-ui/number": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", + "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-alert-dialog": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.0.5.tgz", + "integrity": "sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dialog": "1.0.5", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", + "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz", + "integrity": "sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", + "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.6.tgz", + "integrity": "sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-menu": "2.0.6", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", + "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", + "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-icons": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.0.tgz", + "integrity": "sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==", + "peerDependencies": { + "react": "^16.x || ^17.x || ^18.x" + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.2.tgz", + "integrity": "sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.6.tgz", + "integrity": "sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.7.tgz", + "integrity": "sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz", + "integrity": "sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", + "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.0.0.tgz", + "integrity": "sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.1", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz", + "integrity": "sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-switch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.0.3.tgz", + "integrity": "sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toast": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.1.5.tgz", + "integrity": "sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", + "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", + "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", + "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@remix-run/router": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.1.tgz", + "integrity": "sha512-S3Kq8e7LqxkA9s7HKLqXGTGck1uwis5vAXan3FnU5yw1Ec5hsSGnq4s/UCaSqABPOnOTg7zASLyst7+ohgWexg==", + "dev": true + }, + "node_modules/@swc/helpers": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", + "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tanstack/react-table": { + "version": "8.15.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.15.3.tgz", + "integrity": "sha512-aocQ4WpWiAh7R+yxNp+DGQYXeVACh5lv2kk96DjYgFiHDCB0cOFoYMT/pM6eDOzeMXR9AvPoLeumTgq8/0qX+w==", + "dependencies": { + "@tanstack/table-core": "8.15.3" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/@tanstack/table-core": { + "version": "8.15.3", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.15.3.tgz", + "integrity": "sha512-wOgV0HfEvuMOv8RlqdR9MdNNqq0uyvQtP39QOvGlggHvIObOE4exS+D5LGO8LZ3LUXxId2IlUKcHDHaGujWhUg==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@turf/boolean-clockwise": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@turf/boolean-clockwise/-/boolean-clockwise-5.1.5.tgz", + "integrity": "sha512-FqbmEEOJ4rU4/2t7FKx0HUWmjFEVqR+NJrFP7ymGSjja2SQ7Q91nnBihGuT+yuHHl6ElMjQ3ttsB/eTmyCycxA==", + "dependencies": { + "@turf/helpers": "^5.1.5", + "@turf/invariant": "^5.1.5" + } + }, + "node_modules/@turf/clone": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@turf/clone/-/clone-5.1.5.tgz", + "integrity": "sha512-//pITsQ8xUdcQ9pVb4JqXiSqG4dos5Q9N4sYFoWghX21tfOV2dhc5TGqYOhnHrQS7RiKQL1vQ48kIK34gQ5oRg==", + "dependencies": { + "@turf/helpers": "^5.1.5" + } + }, + "node_modules/@turf/helpers": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-5.1.5.tgz", + "integrity": "sha512-/lF+JR+qNDHZ8bF9d+Cp58nxtZWJ3sqFe6n3u3Vpj+/0cqkjk4nXKYBSY0azm+GIYB5mWKxUXvuP/m0ZnKj1bw==" + }, + "node_modules/@turf/invariant": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-5.2.0.tgz", + "integrity": "sha512-28RCBGvCYsajVkw2EydpzLdcYyhSA77LovuOvgCJplJWaNVyJYH6BOR3HR9w50MEkPqb/Vc/jdo6I6ermlRtQA==", + "dependencies": { + "@turf/helpers": "^5.1.5" + } + }, + "node_modules/@turf/meta": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-5.2.0.tgz", + "integrity": "sha512-ZjQ3Ii62X9FjnK4hhdsbT+64AYRpaI8XMBMcyftEOGSmPMUVnkbvuv3C9geuElAXfQU7Zk1oWGOcrGOD9zr78Q==", + "dependencies": { + "@turf/helpers": "^5.1.5" + } + }, + "node_modules/@turf/rewind": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@turf/rewind/-/rewind-5.1.5.tgz", + "integrity": "sha512-Gdem7JXNu+G4hMllQHXRFRihJl3+pNl7qY+l4qhQFxq+hiU1cQoVFnyoleIqWKIrdK/i2YubaSwc3SCM7N5mMw==", + "dependencies": { + "@turf/boolean-clockwise": "^5.1.5", + "@turf/clone": "^5.1.5", + "@turf/helpers": "^5.1.5", + "@turf/invariant": "^5.1.5", + "@turf/meta": "^5.1.5" + } + }, + "node_modules/@types/brotli": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/brotli/-/brotli-1.3.4.tgz", + "integrity": "sha512-cKYjgaS2DMdCKF7R0F5cgx1nfBYObN2ihIuPGQ4/dlIY6RpV7OWNwe9L8V4tTVKL2eZqOkNM9FM/rgTvLf4oXw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/crypto-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.2.tgz", + "integrity": "sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==" + }, + "node_modules/@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==" + }, + "node_modules/@types/d3-color": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-1.4.5.tgz", + "integrity": "sha512-5sNP3DmtSnSozxcjqmzQKsDOuVJXZkceo1KJScDc1982kk/TS9mTPc6lpli1gTu1MIBF1YWutpHpjucNWcIj5g==" + }, + "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==" + }, + "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==", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" + }, + "node_modules/@types/d3-scale": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-3.3.5.tgz", + "integrity": "sha512-YOpKj0kIEusRf7ofeJcSZQsvKbnTwpe1DUF+P2qsotqG53kEsjm7EzzliqQxMkAWdkZcHrg5rRhB4JiDOQPX+A==", + "dependencies": { + "@types/d3-time": "^2" + } + }, + "node_modules/@types/d3-shape": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", + "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-2.1.4.tgz", + "integrity": "sha512-BTfLsxTeo7yFxI/haOOf1ZwJ6xKgQLT9dCp+EcmQv87Gox6X+oKl4mLKfO6fnWm3P22+A6DknMNEZany8ql2Rw==" + }, + "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==" + }, + "node_modules/@types/geojson": { + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + }, + "node_modules/@types/google.maps": { + "version": "3.55.7", + "resolved": "https://registry.npmjs.org/@types/google.maps/-/google.maps-3.55.7.tgz", + "integrity": "sha512-SlWFx0vo7RSAOC63+PTz8FeqLDaRYs7PrS/L0bZSKswxIN5TnCuckbeIwZpgD/S+DWalPteXfDbg5JsUER5Cyw==" + }, + "node_modules/@types/hammerjs": { + "version": "2.0.45", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.45.tgz", + "integrity": "sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/mapbox__point-geometry": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.4.tgz", + "integrity": "sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==" + }, + "node_modules/@types/mapbox__vector-tile": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__vector-tile/-/mapbox__vector-tile-1.3.4.tgz", + "integrity": "sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==", + "dependencies": { + "@types/geojson": "*", + "@types/mapbox__point-geometry": "*", + "@types/pbf": "*" + } + }, + "node_modules/@types/mapbox-gl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/mapbox-gl/-/mapbox-gl-3.1.0.tgz", + "integrity": "sha512-hI6cQDjw1bkJw7MC/eHMqq5TWUamLwsujnUUeiIX2KDRjxRNSYMjnHz07+LATz9I9XIsKumOtUz4gRYnZOJ/FA==", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/node": { + "version": "20.12.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.5.tgz", + "integrity": "sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/offscreencanvas": { + "version": "2019.7.3", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz", + "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==" + }, + "node_modules/@types/pako": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-1.0.7.tgz", + "integrity": "sha512-YBtzT2ztNF6R/9+UXj2wTGFnC9NklAnASt3sC0h2m1bbH7G6FyBIkt4AN8ThZpNfxUo1b2iMVO0UawiJymEt8A==" + }, + "node_modules/@types/pbf": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.5.tgz", + "integrity": "sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "devOptional": true + }, + "node_modules/@types/react": { + "version": "18.2.74", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.74.tgz", + "integrity": "sha512-9AEqNZZyBx8OdZpxzQlaFEVCSFUM2YXJH46yPOiOpm078k6ZLOCcuAzGum/zK8YBwY+dbahVNbHrbgrAwIRlqw==", + "devOptional": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.24", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.24.tgz", + "integrity": "sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg==", + "devOptional": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/supercluster": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", + "integrity": "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "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==" + }, + "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==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "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 + }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "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" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "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==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true + }, + "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==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "optional": true, + "dependencies": { + "base64-js": "^1.1.2" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "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" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buf-compare": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", + "integrity": "sha512-Bvx4xH00qweepGc43xFvMs5BKASXTbHaHm6+kDYIK9p/4iFwjATQkmPKHQSgJZzKbAymhztRbXUf1Nqhzl73/Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytewise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz", + "integrity": "sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==", + "dependencies": { + "bytewise-core": "^1.2.2", + "typewise": "^1.0.3" + } + }, + "node_modules/bytewise-core": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz", + "integrity": "sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==", + "dependencies": { + "typewise-core": "^1.2" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "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, + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001606", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001606.tgz", + "integrity": "sha512-LPbwnW4vfpJId225pwjZJOgX1m9sGfbw/RKJvw/t0QhYOOaTXHvkjVGFGPpvwEzufrjvTlsULnVTxdy4/6cqkg==", + "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" + } + ] + }, + "node_modules/cartocolor": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cartocolor/-/cartocolor-4.0.2.tgz", + "integrity": "sha512-+Gh9mb6lFxsDOLQlBLPxAHCnWXlg2W8q3AcVwqRcy95TdBbcOU89Wrb6h2Hd/6Ww1Kc1pzXmUdpnWD+xeCG0dg==", + "dependencies": { + "colorbrewer": "1.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, + "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/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "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==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", + "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==", + "dependencies": { + "clsx": "2.0.0" + }, + "funding": { + "url": "https://joebell.co.uk" + } + }, + "node_modules/class-variance-authority/node_modules/clsx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/clsx": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cmdk": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cmdk/-/cmdk-1.0.0.tgz", + "integrity": "sha512-gDzVf0a09TvoJ5jnuPvygTB77+XdOSwEmJ88L6XPFPlv7T3RxbP9jgenfylrAMD0+Le1aO0nVjQUzl2g+vjz5Q==", + "dependencies": { + "@radix-ui/react-dialog": "1.0.5", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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==", + "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==" + }, + "node_modules/colorbrewer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/colorbrewer/-/colorbrewer-1.0.0.tgz", + "integrity": "sha512-NZuIOVdErK/C6jDH3jWT/roxWJbJAinMiqEpbuWniKvQAoWdg6lGra3pPrSHvaIf8PlX8wLs/RAC6nULFJbgmg==" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "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 + }, + "node_modules/core-assert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/core-assert/-/core-assert-0.2.1.tgz", + "integrity": "sha512-IG97qShIP+nrJCXMCgkNZgH7jZQ4n8RpPyPeXX++T6avR/KhLhgLiHKoEn5Rc1KjfycSfA9DMa6m+4C4eguHhw==", + "dependencies": { + "buf-compare": "^1.0.0", + "is-error": "^2.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "engines": { + "node": "*" + } + }, + "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==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "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==", + "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==", + "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==", + "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==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hexbin": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/d3-hexbin/-/d3-hexbin-0.2.2.tgz", + "integrity": "sha512-KS3fUT2ReD4RlGCjvCEm1RgMtp2NFZumdMu4DBzQK8AZv3fXRM6Xm8I4fSU07UXvH4xxg03NwWKWdvxfS/yc4w==" + }, + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "engines": { + "node": ">=12" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/date-fns": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", + "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "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==" + }, + "node_modules/deck.gl": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/deck.gl/-/deck.gl-9.0.5.tgz", + "integrity": "sha512-lnWXQAPspQupiEe8dPtNvjH1XPGItPK1nI/ROPx4ZdKdyfLGhYehyDOvyGTe1i3ZZX6MlcqFHBWsH6/rB/5VUw==", + "dependencies": { + "@deck.gl/aggregation-layers": "9.0.5", + "@deck.gl/carto": "9.0.5", + "@deck.gl/core": "9.0.5", + "@deck.gl/extensions": "9.0.5", + "@deck.gl/geo-layers": "9.0.5", + "@deck.gl/google-maps": "9.0.5", + "@deck.gl/json": "9.0.5", + "@deck.gl/layers": "9.0.5", + "@deck.gl/mapbox": "9.0.5", + "@deck.gl/mesh-layers": "9.0.5", + "@deck.gl/react": "9.0.5", + "@deck.gl/widgets": "9.0.5" + } + }, + "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 + }, + "node_modules/deep-strict-equal": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/deep-strict-equal/-/deep-strict-equal-0.2.0.tgz", + "integrity": "sha512-3daSWyvZ/zwJvuMGlzG1O+Ow0YSadGfb3jsh9xoCutv2tWyB9dA4YvR9L9/fSdDZa2dByYQe+TqapSGUrjnkoA==", + "dependencies": { + "core-assert": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/draco3d": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.5.tgz", + "integrity": "sha512-JVuNV0EJzD3LBYhGyIXJLeBID/EVtmFO1ZNhAYflTgiMiAJlbhXQmRRda/azjc8MRVMHh0gqGhiqHUo5dIXM8Q==" + }, + "node_modules/earcut": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.729", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.729.tgz", + "integrity": "sha512-bx7+5Saea/qu14kmPTDHQxkp2UnziG3iajUQu3BxFvCOnpAJdDbMV4rSl+EqFDkkpNNVUFlR1kDfpL59xfy1HA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/enhanced-resolve": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", + "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-next": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.1.4.tgz", + "integrity": "sha512-cihIahbhYAWwXJwZkAaRPpUi5t9aOi/HdfWXOjZeUOqNWXHD8X22kd1KG58Dc3MVaRx3HoR/oMGk2ltcrqDn8g==", + "dev": true, + "dependencies": { + "@next/eslint-plugin-next": "14.1.4", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.10" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "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, + "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, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/expression-eval": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/expression-eval/-/expression-eval-5.0.1.tgz", + "integrity": "sha512-7SL4miKp19lI834/F6y156xlNg+i9Q41tteuGNCq9C06S78f1bm3BXuvf0+QpQxv369Pv/P2R7Hb17hzxLpbDA==", + "deprecated": "The expression-eval npm package is no longer maintained. The package was originally published as part of a now-completed personal project, and I do not have incentives to continue maintenance.", + "dependencies": { + "jsep": "^0.3.0" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-equals": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", + "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "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.4" + }, + "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==", + "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 + }, + "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 + }, + "node_modules/fast-xml-parser": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz", + "integrity": "sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fflate": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz", + "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==" + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "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==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/geojson-vt": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", + "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==" + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", + "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gl-matrix": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", + "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/h3-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/h3-js/-/h3-js-4.1.0.tgz", + "integrity": "sha512-LQhmMl1dRQQjMXPzJc7MpZ/CqPOWWuAvVEoVJM9n/s7vHypj+c3Pd5rLQCkAsOgAoAYKbNCsYFE++LF7MvSfCQ==", + "engines": { + "node": ">=4", + "npm": ">=3", + "yarn": ">=1.3.0" + } + }, + "node_modules/hammerjs": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", + "integrity": "sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", + "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==", + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "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, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "engines": { + "node": ">=12" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-error": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", + "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==" + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "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==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsep": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-0.3.5.tgz", + "integrity": "sha512-AoRLBDc6JNnKjNcmonituEABS5bcfqDhQAWWXNTFrqu6nVXBpBAGfcoTGZMFlIrh9FjmE1CQyX9CTNwZrXMMDA==", + "engines": { + "node": ">= 6.0.0" + } + }, + "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 + }, + "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 + }, + "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 + }, + "node_modules/json-stringify-pretty-compact": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-3.0.0.tgz", + "integrity": "sha512-Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==" + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/kdbush": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==" + }, + "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, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ktx-parse": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-0.0.4.tgz", + "integrity": "sha512-LY3nrmfXl+wZZdPxgJ3ZmLvG+wkOZZP3/dr4RbQj1Pk3Qwz44esOOSFFVQJcNWpXAtiNIC66WgXufX/SYgYz6A==" + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "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, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "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 + }, + "node_modules/long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==", + "engines": { + "node": ">=0.6" + } + }, + "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==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/lucide-react": { + "version": "0.362.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.362.0.tgz", + "integrity": "sha512-0S+JudK0AD9vyB0zbu1K0aQsy8k9Wq2l03bio6wxqF2FhK2TSp/y+22HfMyv40EURifgxoSwdU8eIcOv0a8gBA==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/lz4js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/lz4js/-/lz4js-0.2.0.tgz", + "integrity": "sha512-gY2Ia9Lm7Ep8qMiuGRhvUq0Q7qUereeldZPP1PMEJxPtEWHJLqw9pgX68oHajBH0nzJK4MaZEA/YNV3jT8u8Bg==", + "optional": true + }, + "node_modules/lzo-wasm": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/lzo-wasm/-/lzo-wasm-0.0.4.tgz", + "integrity": "sha512-VKlnoJRFrB8SdJhlVKvW5vI1gGwcZ+mvChEXcSX6r2xDNc/Q2FD9esfBmGCuPZdrJ1feO+YcVFd2PTk0c137Gw==" + }, + "node_modules/maplibre-gl": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-3.6.2.tgz", + "integrity": "sha512-krg2KFIdOpLPngONDhP6ixCoWl5kbdMINP0moMSJFVX7wX1Clm2M9hlNKXS8vBGlVWwR5R3ZfI6IPrYz7c+aCQ==", + "dependencies": { + "@mapbox/geojson-rewind": "^0.5.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/tiny-sdf": "^2.0.6", + "@mapbox/unitbezier": "^0.0.1", + "@mapbox/vector-tile": "^1.3.1", + "@mapbox/whoots-js": "^3.1.0", + "@maplibre/maplibre-gl-style-spec": "^19.3.3", + "@types/geojson": "^7946.0.13", + "@types/mapbox__point-geometry": "^0.1.4", + "@types/mapbox__vector-tile": "^1.3.4", + "@types/pbf": "^3.0.5", + "@types/supercluster": "^7.1.3", + "earcut": "^2.2.4", + "geojson-vt": "^3.2.1", + "gl-matrix": "^3.4.3", + "global-prefix": "^3.0.0", + "kdbush": "^4.0.2", + "murmurhash-js": "^1.0.0", + "pbf": "^3.2.1", + "potpack": "^2.0.0", + "quickselect": "^2.0.0", + "supercluster": "^8.0.1", + "tinyqueue": "^2.0.3", + "vt-pbf": "^3.1.3" + }, + "engines": { + "node": ">=16.14.0", + "npm": ">=8.1.0" + }, + "funding": { + "url": "https://github.com/maplibre/maplibre-gl-js?sponsor=1" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mjolnir.js": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/mjolnir.js/-/mjolnir.js-2.7.1.tgz", + "integrity": "sha512-72BeUWgTv2cj5aZQKpwL8caNUFhXZ9bDm1hxpNj70XJQ62IBnTZmtv/WPxJvtaVNhzNo+D2U8O6ryNI0zImYcw==", + "dependencies": { + "@types/hammerjs": "^2.0.41", + "hammerjs": "^2.0.8" + }, + "engines": { + "node": ">= 4", + "npm": ">= 3" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.45", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz", + "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/murmurhash-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", + "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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 + }, + "node_modules/next": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.1.4.tgz", + "integrity": "sha512-1WTaXeSrUwlz/XcnhGTY7+8eiaFvdet5z9u3V2jb+Ek1vFo0VhHKSAIJvDWfQpttWjnyw14kBeq28TPq7bTeEQ==", + "dependencies": { + "@next/env": "14.1.4", + "@swc/helpers": "0.5.2", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.1.4", + "@next/swc-darwin-x64": "14.1.4", + "@next/swc-linux-arm64-gnu": "14.1.4", + "@next/swc-linux-arm64-musl": "14.1.4", + "@next/swc-linux-x64-gnu": "14.1.4", + "@next/swc-linux-x64-musl": "14.1.4", + "@next/swc-win32-arm64-msvc": "14.1.4", + "@next/swc-win32-ia32-msvc": "14.1.4", + "@next/swc-win32-x64-msvc": "14.1.4" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-themes": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.3.0.tgz", + "integrity": "sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==", + "peerDependencies": { + "react": "^16.8 || ^17 || ^18", + "react-dom": "^16.8 || ^17 || ^18" + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "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==", + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.hasown": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "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, + "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, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "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, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "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==" + }, + "node_modules/path-scurry": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", + "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pbf": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", + "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", + "dependencies": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "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==", + "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.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "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==" + }, + "node_modules/potpack": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.0.0.tgz", + "integrity": "sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==" + }, + "node_modules/preact": { + "version": "10.20.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.20.1.tgz", + "integrity": "sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "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, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "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==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/quadbin": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/quadbin/-/quadbin-0.2.0.tgz", + "integrity": "sha512-bPgyRreIsFVwKxHRY+GFdaXatNmfQ1LzaQZj7aKEz07/gL893uWREhmRZpG6UuvlGHdTOPw/NGvqLsJica2goA==", + "dependencies": { + "@mapbox/tile-cover": "3.0.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-day-picker": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.0.tgz", + "integrity": "sha512-mz+qeyrOM7++1NCb1ARXmkjMkzWVh2GL9YiPbRjKe0zHccvekk4HE+0MPOZOrosn8r8zTHIIeOUXTmXRqmkRmg==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/gpbl" + }, + "peerDependencies": { + "date-fns": "^2.28.0 || ^3.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-hook-form": { + "version": "7.51.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.51.2.tgz", + "integrity": "sha512-y++lwaWjtzDt/XNnyGDQy6goHskFualmDlf+jzEZvjvz6KWDf7EboL7pUvRCzPTJd0EOPpdekYaQLEvvG6m6HA==", + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18" + } + }, + "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==" + }, + "node_modules/react-map-gl": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/react-map-gl/-/react-map-gl-7.1.7.tgz", + "integrity": "sha512-mwjc0obkBJOXCcoXQr3VoLqmqwo9vS4bXfbGsdxXzEgVCv/PM0v+1QggL7W0d/ccIy+VCjbXNlGij+PENz6VNg==", + "dependencies": { + "@maplibre/maplibre-gl-style-spec": "^19.2.1", + "@types/mapbox-gl": ">=1.0.0" + }, + "peerDependencies": { + "mapbox-gl": ">=1.13.0", + "maplibre-gl": ">=1.13.0", + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + }, + "peerDependenciesMeta": { + "mapbox-gl": { + "optional": true + }, + "maplibre-gl": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", + "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", + "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "dependencies": { + "@remix-run/router": "1.15.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", + "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "dependencies": { + "@remix-run/router": "1.15.3", + "react-router": "6.22.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-smooth": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.1.tgz", + "integrity": "sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==", + "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", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "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==", + "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==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recharts": { + "version": "2.12.4", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.4.tgz", + "integrity": "sha512-dM4skmk4fDKEDjL9MNunxv6zcTxePGVEzRnLDXALRpfJ85JoQ0P0APJ/CoJlmnQI0gPjBlOkjzrwrfQrRST3KA==", + "dependencies": { + "clsx": "^2.0.0", + "eventemitter3": "^4.0.1", + "lodash": "^4.17.21", + "react-is": "^16.10.2", + "react-smooth": "^4.0.0", + "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", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.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==", + "dependencies": { + "decimal.js-light": "^2.4.1" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/resolve-protobuf-schema": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", + "dependencies": { + "protocol-buffers-schema": "^3.3.1" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/snappyjs": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/snappyjs/-/snappyjs-0.6.1.tgz", + "integrity": "sha512-YIK6I2lsH072UE0aOFxxY1dPDCS43I5ktqHpeAsuLNYWkE5pGxRGWfDM4/vSUfNzXjC1Ivzt3qx31PCLmc9yqg==" + }, + "node_modules/sort-asc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.2.0.tgz", + "integrity": "sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-desc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.2.0.tgz", + "integrity": "sha512-NqZqyvL4VPW+RAxxXnB8gvE1kyikh8+pR+T+CXLksVRN9eiQqkQlPwqWYU0mF9Jm7UnctShlxLyAt1CaBOTL1w==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-object": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-3.0.3.tgz", + "integrity": "sha512-nK7WOY8jik6zaG9CRwZTaD5O7ETWDLZYMM12pqY8htll+7dYeqGfEUPcUBHOpSJg2vJOrvFIY2Dl5cX2ih1hAQ==", + "dependencies": { + "bytewise": "^1.1.0", + "get-value": "^2.0.2", + "is-extendable": "^0.1.1", + "sort-asc": "^0.2.0", + "sort-desc": "^0.2.0", + "union-value": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supercluster": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", + "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", + "dependencies": { + "kdbush": "^4.0.2" + } + }, + "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, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwind-merge": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.2.2.tgz", + "integrity": "sha512-tWANXsnmJzgw6mQ07nE3aCDkCK4QdT3ThPMCzawoYA2Pws7vSTCvz3Vrjg61jVUGfFZPJzxEP+NimbcW+EdaDw==", + "dependencies": { + "@babel/runtime": "^7.24.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", + "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss-animate": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", + "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/texture-compressor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/texture-compressor/-/texture-compressor-1.0.2.tgz", + "integrity": "sha512-dStVgoaQ11mA5htJ+RzZ51ZxIZqNOgWKAIvtjLrW1AliQQLCmrDqNzQZ8Jh91YealQ95DXt4MEduLzJmbs6lig==", + "dependencies": { + "argparse": "^1.0.10", + "image-size": "^0.7.4" + }, + "bin": { + "texture-compressor": "bin/texture-compressor.js" + } + }, + "node_modules/texture-compressor/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~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==", + "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==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tilebelt": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tilebelt/-/tilebelt-1.0.1.tgz", + "integrity": "sha512-cxHzpa5JgsugY9NUVRH43gPaGJw/29LecAn4X7UGOP64+kB8pU4VQ3bIhSyfb5Mk4jDxwl3yk330L/EIhbJ5aw==", + "deprecated": "This module is now under the @mapbox namespace: install @mapbox/tilebelt instead" + }, + "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==" + }, + "node_modules/tinyqueue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==" + }, + "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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "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, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.4.tgz", + "integrity": "sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typewise": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", + "integrity": "sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==", + "dependencies": { + "typewise-core": "^1.2.0" + } + }, + "node_modules/typewise-core": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz", + "integrity": "sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==" + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "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" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "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, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", + "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "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==" + }, + "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==", + "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/victory-vendor/node_modules/@types/d3-scale": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/victory-vendor/node_modules/@types/d3-time": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", + "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==" + }, + "node_modules/vt-pbf": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz", + "integrity": "sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==", + "dependencies": { + "@mapbox/point-geometry": "0.1.0", + "@mapbox/vector-tile": "^1.3.1", + "pbf": "^3.2.1" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zstd-codec": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/zstd-codec/-/zstd-codec-0.1.4.tgz", + "integrity": "sha512-KYnWoFWgGtWyQEKNnUcb3u8ZtKO8dn5d8u+oGpxPlopqsPyv60U8suDyfk7Z7UtAO6Sk5i1aVcAs9RbaB1n36A==", + "optional": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..2c3964e --- /dev/null +++ b/package.json @@ -0,0 +1,59 @@ +{ + "name": "agrevolve", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@hookform/resolvers": "^3.3.4", + "@radix-ui/react-alert-dialog": "^1.0.5", + "@radix-ui/react-dialog": "^1.0.5", + "@radix-ui/react-dropdown-menu": "^2.0.6", + "@radix-ui/react-icons": "^1.3.0", + "@radix-ui/react-label": "^2.0.2", + "@radix-ui/react-popover": "^1.0.7", + "@radix-ui/react-select": "^2.0.0", + "@radix-ui/react-separator": "^1.0.3", + "@radix-ui/react-slot": "^1.0.2", + "@radix-ui/react-switch": "^1.0.3", + "@radix-ui/react-toast": "^1.1.5", + "@tanstack/react-table": "^8.15.0", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.0", + "cmdk": "^1.0.0", + "date-fns": "^3.6.0", + "lucide-react": "^0.362.0", + "next": "14.1.4", + "next-themes": "^0.3.0", + "react": "^18", + "react-day-picker": "^8.10.0", + "react-dom": "^18", + "react-hook-form": "^7.51.1", + "react-map-gl": "^7.1.7", + "react-router-dom": "^6.22.3", + "recharts": "^2.12.3", + "tailwind-merge": "^2.2.2", + "tailwindcss-animate": "^1.0.7", + "zod": "^3.22.4", + "@loaders.gl/csv": "^4.1.4", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "deck.gl": "^9.0.0", + "maplibre-gl": "^3.0.0" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "autoprefixer": "^10.0.1", + "eslint": "^8", + "eslint-config-next": "14.1.4", + "postcss": "^8", + "tailwindcss": "^3.3.0", + "typescript": "^5" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..12a703d --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6a5c9682982c95a0881f62291f7f9649541d2393 GIT binary patch literal 203936 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 ZG!;EcEPP|o`3dlM<+AA|{147|{~i89ELH#j literal 0 HcmV?d00001 diff --git a/public/logo.svg b/public/logo.svg new file mode 100644 index 0000000..f2b330d --- /dev/null +++ b/public/logo.svg @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/next.svg b/public/next.svg new file mode 100644 index 0000000..5174b28 --- /dev/null +++ b/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg new file mode 100644 index 0000000..d2f8422 --- /dev/null +++ b/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/commodities/page.tsx b/src/app/commodities/page.tsx new file mode 100644 index 0000000..3cf0b98 --- /dev/null +++ b/src/app/commodities/page.tsx @@ -0,0 +1,16 @@ +"use client"; + +import { CommodityForm } from "@/components/commodity/select-form"; + + +import { useState } from "react"; + +export default function CommoditiesPage() { + const [selectedCommodity, setSelectedCommodity] = useState(null); + + return ( +

+ +
+ ); +} \ No newline at end of file diff --git a/src/app/favicon.ico b/src/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 zcmeHv30#a{`}aL_*G&7qml|y<+KVaDM2m#dVr!KsA!#An?kSQM(q<_dDNCpjEux83 zLb9Z^XxbDl(w>%i@8hT6>)&Gu{h#Oeyszu?xtw#Zb1mO{pgX9699l+Qppw7jXaYf~-84xW z)w4x8?=youko|}Vr~(D$UXIbiXABHh`p1?nn8Po~fxRJv}|0e(BPs|G`(TT%kKVJAdg5*Z|x0leQq0 zkdUBvb#>9F()jo|T~kx@OM8$9wzs~t2l;K=woNssA3l6|sx2r3+kdfVW@e^8e*E}v zA1y5{bRi+3Z`uD3{F7LgFJDdvm;nJilkzDku>BwXH(8ItVCXk*-lSJnR?-2UN%hJ){&rlvg`CDTj z)Bzo!3v7Ou#83zEDEFcKt(f1E0~=rqeEbTnMvWR#{+9pg%7G8y>u1OVRUSoox-ovF z2Ydma(;=YuBY(eI|04{hXzZD6_f(v~H;C~y5=DhAC{MMS>2fm~1H_t2$56pc$NH8( z5bH|<)71dV-_oCHIrzrT`2s-5w_+2CM0$95I6X8p^r!gHp+j_gd;9O<1~CEQQGS8) zS9Qh3#p&JM-G8rHekNmKVewU;pJRcTAog68KYo^dRo}(M>36U4Us zfgYWSiHZL3;lpWT=zNAW>Dh#mB!_@Lg%$ms8N-;aPqMn+C2HqZgz&9~Eu z4|Kp<`$q)Uw1R?y(~S>ePdonHxpV1#eSP1B;Ogo+-Pk}6#0GsZZ5!||ev2MGdh}_m z{DeR7?0-1^zVs&`AV6Vt;r3`I`OI_wgs*w=eO%_#7Kepl{B@xiyCANc(l zzIyd4y|c6PXWq9-|KM8(zIk8LPk(>a)zyFWjhT!$HJ$qX1vo@d25W<fvZQ2zUz5WRc(UnFMKHwe1| zWmlB1qdbiA(C0jmnV<}GfbKtmcu^2*P^O?MBLZKt|As~ge8&AAO~2K@zbXelK|4T<{|y4`raF{=72kC2Kn(L4YyenWgrPiv z@^mr$t{#X5VuIMeL!7Ab6_kG$&#&5p*Z{+?5U|TZ`B!7llpVmp@skYz&n^8QfPJzL z0G6K_OJM9x+Wu2gfN45phANGt{7=C>i34CV{Xqlx(fWpeAoj^N0Biu`w+MVcCUyU* zDZuzO0>4Z6fbu^T_arWW5n!E45vX8N=bxTVeFoep_G#VmNlQzAI_KTIc{6>c+04vr zx@W}zE5JNSU>!THJ{J=cqjz+4{L4A{Ob9$ZJ*S1?Ggg3klFp!+Y1@K+pK1DqI|_gq z5ZDXVpge8-cs!o|;K73#YXZ3AShj50wBvuq3NTOZ`M&qtjj#GOFfgExjg8Gn8>Vq5 z`85n+9|!iLCZF5$HJ$Iu($dm?8~-ofu}tEc+-pyke=3!im#6pk_Wo8IA|fJwD&~~F zc16osQ)EBo58U7XDuMexaPRjU@h8tXe%S{fA0NH3vGJFhuyyO!Uyl2^&EOpX{9As0 zWj+P>{@}jxH)8|r;2HdupP!vie{sJ28b&bo!8`D^x}TE$%zXNb^X1p@0PJ86`dZyj z%ce7*{^oo+6%&~I!8hQy-vQ7E)0t0ybH4l%KltWOo~8cO`T=157JqL(oq_rC%ea&4 z2NcTJe-HgFjNg-gZ$6!Y`SMHrlj}Etf7?r!zQTPPSv}{so2e>Fjs1{gzk~LGeesX%r(Lh6rbhSo_n)@@G-FTQy93;l#E)hgP@d_SGvyCp0~o(Y;Ee8{ zdVUDbHm5`2taPUOY^MAGOw*>=s7=Gst=D+p+2yON!0%Hk` zz5mAhyT4lS*T3LS^WSxUy86q&GnoHxzQ6vm8)VS}_zuqG?+3td68_x;etQAdu@sc6 zQJ&5|4(I?~3d-QOAODHpZ=hlSg(lBZ!JZWCtHHSj`0Wh93-Uk)_S%zsJ~aD>{`A0~ z9{AG(e|q3g5B%wYKRxiL2Y$8(4w6bzchKuloQW#e&S3n+P- z8!ds-%f;TJ1>)v)##>gd{PdS2Oc3VaR`fr=`O8QIO(6(N!A?pr5C#6fc~Ge@N%Vvu zaoAX2&(a6eWy_q&UwOhU)|P3J0Qc%OdhzW=F4D|pt0E4osw;%<%Dn58hAWD^XnZD= z>9~H(3bmLtxpF?a7su6J7M*x1By7YSUbxGi)Ot0P77`}P3{)&5Un{KD?`-e?r21!4vTTnN(4Y6Lin?UkSM z`MXCTC1@4A4~mvz%Rh2&EwY))LeoT=*`tMoqcEXI>TZU9WTP#l?uFv+@Dn~b(>xh2 z;>B?;Tz2SR&KVb>vGiBSB`@U7VIWFSo=LDSb9F{GF^DbmWAfpms8Sx9OX4CnBJca3 zlj9(x!dIjN?OG1X4l*imJNvRCk}F%!?SOfiOq5y^mZW)jFL@a|r-@d#f7 z2gmU8L3IZq0ynIws=}~m^#@&C%J6QFo~Mo4V`>v7MI-_!EBMMtb%_M&kvAaN)@ZVw z+`toz&WG#HkWDjnZE!6nk{e-oFdL^$YnbOCN}JC&{$#$O27@|Tn-skXr)2ml2~O!5 zX+gYoxhoc7qoU?C^3~&!U?kRFtnSEecWuH0B0OvLodgUAi}8p1 zrO6RSXHH}DMc$&|?D004DiOVMHV8kXCP@7NKB zgaZq^^O<7PoKEp72kby@W0Z!Y*Ay{&vfg#C&gG@YVR9g?FEocMUi1gSN$+V+ayF45{a zuDZDTN}mS|;BO%gEf}pjBfN2-gIrU#G5~cucA;dokXW89%>AyXJJI z9X4UlIWA|ZYHgbI z5?oFk@A=Ik7lrEQPDH!H+b`7_Y~aDb_qa=B2^Y&Ow41cU=4WDd40dp5(QS-WMN-=Y z9g;6_-JdNU;|6cPwf$ak*aJIcwL@1n$#l~zi{c{EW?T;DaW*E8DYq?Umtz{nJ&w-M zEMyTDrC&9K$d|kZe2#ws6)L=7K+{ zQw{XnV6UC$6-rW0emqm8wJoeZK)wJIcV?dST}Z;G0Arq{dVDu0&4kd%N!3F1*;*pW zR&qUiFzK=@44#QGw7k1`3t_d8&*kBV->O##t|tonFc2YWrL7_eqg+=+k;!F-`^b8> z#KWCE8%u4k@EprxqiV$VmmtiWxDLgnGu$Vs<8rppV5EajBXL4nyyZM$SWVm!wnCj-B!Wjqj5-5dNXukI2$$|Bu3Lrw}z65Lc=1G z^-#WuQOj$hwNGG?*CM_TO8Bg-1+qc>J7k5c51U8g?ZU5n?HYor;~JIjoWH-G>AoUP ztrWWLbRNqIjW#RT*WqZgPJXU7C)VaW5}MiijYbABmzoru6EmQ*N8cVK7a3|aOB#O& zBl8JY2WKfmj;h#Q!pN%9o@VNLv{OUL?rixHwOZuvX7{IJ{(EdPpuVFoQqIOa7giLVkBOKL@^smUA!tZ1CKRK}#SSM)iQHk)*R~?M!qkCruaS!#oIL1c z?J;U~&FfH#*98^G?i}pA{ z9Jg36t4=%6mhY(quYq*vSxptes9qy|7xSlH?G=S@>u>Ebe;|LVhs~@+06N<4CViBk zUiY$thvX;>Tby6z9Y1edAMQaiH zm^r3v#$Q#2T=X>bsY#D%s!bhs^M9PMAcHbCc0FMHV{u-dwlL;a1eJ63v5U*?Q_8JO zT#50!RD619#j_Uf))0ooADz~*9&lN!bBDRUgE>Vud-i5ck%vT=r^yD*^?Mp@Q^v+V zG#-?gKlr}Eeqifb{|So?HM&g91P8|av8hQoCmQXkd?7wIJwb z_^v8bbg`SAn{I*4bH$u(RZ6*xUhuA~hc=8czK8SHEKTzSxgbwi~9(OqJB&gwb^l4+m`k*Q;_?>Y-APi1{k zAHQ)P)G)f|AyjSgcCFps)Fh6Bca*Xznq36!pV6Az&m{O8$wGFD? zY&O*3*J0;_EqM#jh6^gMQKpXV?#1?>$ml1xvh8nSN>-?H=V;nJIwB07YX$e6vLxH( zqYwQ>qxwR(i4f)DLd)-$P>T-no_c!LsN@)8`e;W@)-Hj0>nJ-}Kla4-ZdPJzI&Mce zv)V_j;(3ERN3_@I$N<^|4Lf`B;8n+bX@bHbcZTopEmDI*Jfl)-pFDvo6svPRoo@(x z);_{lY<;);XzT`dBFpRmGrr}z5u1=pC^S-{ce6iXQlLGcItwJ^mZx{m$&DA_oEZ)B{_bYPq-HA zcH8WGoBG(aBU_j)vEy+_71T34@4dmSg!|M8Vf92Zj6WH7Q7t#OHQqWgFE3ARt+%!T z?oLovLVlnf?2c7pTc)~cc^($_8nyKwsN`RA-23ed3sdj(ys%pjjM+9JrctL;dy8a( z@en&CQmnV(()bu|Y%G1-4a(6x{aLytn$T-;(&{QIJB9vMox11U-1HpD@d(QkaJdEb zG{)+6Dos_L+O3NpWo^=gR?evp|CqEG?L&Ut#D*KLaRFOgOEK(Kq1@!EGcTfo+%A&I z=dLbB+d$u{sh?u)xP{PF8L%;YPPW53+@{>5W=Jt#wQpN;0_HYdw1{ksf_XhO4#2F= zyPx6Lx2<92L-;L5PD`zn6zwIH`Jk($?Qw({erA$^bC;q33hv!d!>%wRhj# zal^hk+WGNg;rJtb-EB(?czvOM=H7dl=vblBwAv>}%1@{}mnpUznfq1cE^sgsL0*4I zJ##!*B?=vI_OEVis5o+_IwMIRrpQyT_Sq~ZU%oY7c5JMIADzpD!Upz9h@iWg_>>~j zOLS;wp^i$-E?4<_cp?RiS%Rd?i;f*mOz=~(&3lo<=@(nR!_Rqiprh@weZlL!t#NCc zO!QTcInq|%#>OVgobj{~ixEUec`E25zJ~*DofsQdzIa@5^nOXj2T;8O`l--(QyU^$t?TGY^7#&FQ+2SS3B#qK*k3`ye?8jUYSajE5iBbJls75CCc(m3dk{t?- zopcER9{Z?TC)mk~gpi^kbbu>b-+a{m#8-y2^p$ka4n60w;Sc2}HMf<8JUvhCL0B&Btk)T`ctE$*qNW8L$`7!r^9T+>=<=2qaq-;ll2{`{Rg zc5a0ZUI$oG&j-qVOuKa=*v4aY#IsoM+1|c4Z)<}lEDvy;5huB@1RJPquU2U*U-;gu z=En2m+qjBzR#DEJDO`WU)hdd{Vj%^0V*KoyZ|5lzV87&g_j~NCjwv0uQVqXOb*QrQ zy|Qn`hxx(58c70$E;L(X0uZZ72M1!6oeg)(cdKO ze0gDaTz+ohR-#d)NbAH4x{I(21yjwvBQfmpLu$)|m{XolbgF!pmsqJ#D}(ylp6uC> z{bqtcI#hT#HW=wl7>p!38sKsJ`r8}lt-q%Keqy%u(xk=yiIJiUw6|5IvkS+#?JTBl z8H5(Q?l#wzazujH!8o>1xtn8#_w+397*_cy8!pQGP%K(Ga3pAjsaTbbXJlQF_+m+-UpUUent@xM zg%jqLUExj~o^vQ3Gl*>wh=_gOr2*|U64_iXb+-111aH}$TjeajM+I20xw(((>fej-@CIz4S1pi$(#}P7`4({6QS2CaQS4NPENDp>sAqD z$bH4KGzXGffkJ7R>V>)>tC)uax{UsN*dbeNC*v}#8Y#OWYwL4t$ePR?VTyIs!wea+ z5Urmc)X|^`MG~*dS6pGSbU+gPJoq*^a=_>$n4|P^w$sMBBy@f*Z^Jg6?n5?oId6f{ z$LW4M|4m502z0t7g<#Bx%X;9<=)smFolV&(V^(7Cv2-sxbxopQ!)*#ZRhTBpx1)Fc zNm1T%bONzv6@#|dz(w02AH8OXe>kQ#1FMCzO}2J_mST)+ExmBr9cva-@?;wnmWMOk z{3_~EX_xadgJGv&H@zK_8{(x84`}+c?oSBX*Ge3VdfTt&F}yCpFP?CpW+BE^cWY0^ zb&uBN!Ja3UzYHK-CTyA5=L zEMW{l3Usky#ly=7px648W31UNV@K)&Ub&zP1c7%)`{);I4b0Q<)B}3;NMG2JH=X$U zfIW4)4n9ZM`-yRj67I)YSLDK)qfUJ_ij}a#aZN~9EXrh8eZY2&=uY%2N0UFF7<~%M zsB8=erOWZ>Ct_#^tHZ|*q`H;A)5;ycw*IcmVxi8_0Xk}aJA^ath+E;xg!x+As(M#0=)3!NJR6H&9+zd#iP(m0PIW8$ z1Y^VX`>jm`W!=WpF*{ioM?C9`yOR>@0q=u7o>BP-eSHqCgMDj!2anwH?s%i2p+Q7D zzszIf5XJpE)IG4;d_(La-xenmF(tgAxK`Y4sQ}BSJEPs6N_U2vI{8=0C_F?@7<(G; zo$~G=8p+076G;`}>{MQ>t>7cm=zGtfbdDXm6||jUU|?X?CaE?(<6bKDYKeHlz}DA8 zXT={X=yp_R;HfJ9h%?eWvQ!dRgz&Su*JfNt!Wu>|XfU&68iRikRrHRW|ZxzRR^`eIGt zIeiDgVS>IeExKVRWW8-=A=yA`}`)ZkWBrZD`hpWIxBGkh&f#ijr449~m`j6{4jiJ*C!oVA8ZC?$1RM#K(_b zL9TW)kN*Y4%^-qPpMP7d4)o?Nk#>aoYHT(*g)qmRUb?**F@pnNiy6Fv9rEiUqD(^O zzyS?nBrX63BTRYduaG(0VVG2yJRe%o&rVrLjbxTaAFTd8s;<<@Qs>u(<193R8>}2_ zuwp{7;H2a*X7_jryzriZXMg?bTuegABb^87@SsKkr2)0Gyiax8KQWstw^v#ix45EVrcEhr>!NMhprl$InQMzjSFH54x5k9qHc`@9uKQzvL4ihcq{^B zPrVR=o_ic%Y>6&rMN)hTZsI7I<3&`#(nl+3y3ys9A~&^=4?PL&nd8)`OfG#n zwAMN$1&>K++c{^|7<4P=2y(B{jJsQ0a#U;HTo4ZmWZYvI{+s;Td{Yzem%0*k#)vjpB zia;J&>}ICate44SFYY3vEelqStQWFihx%^vQ@Do(sOy7yR2@WNv7Y9I^yL=nZr3mb zXKV5t@=?-Sk|b{XMhA7ZGB@2hqsx}4xwCW!in#C zI@}scZlr3-NFJ@NFaJlhyfcw{k^vvtGl`N9xSo**rDW4S}i zM9{fMPWo%4wYDG~BZ18BD+}h|GQKc-g^{++3MY>}W_uq7jGHx{mwE9fZiPCoxN$+7 zrODGGJrOkcPQUB(FD5aoS4g~7#6NR^ma7-!>mHuJfY5kTe6PpNNKC9GGRiu^L31uG z$7v`*JknQHsYB!Tm_W{a32TM099djW%5e+j0Ve_ct}IM>XLF1Ap+YvcrLV=|CKo6S zb+9Nl3_YdKP6%Cxy@6TxZ>;4&nTneadr z_ES90ydCev)LV!dN=#(*f}|ZORFdvkYBni^aLbUk>BajeWIOcmHP#8S)*2U~QKI%S zyrLmtPqb&TphJ;>yAxri#;{uyk`JJqODDw%(Z=2`1uc}br^V%>j!gS)D*q*f_-qf8&D;W1dJgQMlaH5er zN2U<%Smb7==vE}dDI8K7cKz!vs^73o9f>2sgiTzWcwY|BMYHH5%Vn7#kiw&eItCqa zIkR2~Q}>X=Ar8W|^Ms41Fm8o6IB2_j60eOeBB1Br!boW7JnoeX6Gs)?7rW0^5psc- zjS16yb>dFn>KPOF;imD}e!enuIniFzv}n$m2#gCCv4jM#ArwlzZ$7@9&XkFxZ4n!V zj3dyiwW4Ki2QG{@i>yuZXQizw_OkZI^-3otXC{!(lUpJF33gI60ak;Uqitp74|B6I zgg{b=Iz}WkhCGj1M=hu4#Aw173YxIVbISaoc z-nLZC*6Tgivd5V`K%GxhBsp@SUU60-rfc$=wb>zdJzXS&-5(NRRodFk;Kxk!S(O(a0e7oY=E( zAyS;Ow?6Q&XA+cnkCb{28_1N8H#?J!*$MmIwLq^*T_9-z^&UE@A(z9oGYtFy6EZef LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/src/app/globals.css b/src/app/globals.css new file mode 100644 index 0000000..cc5ae8b --- /dev/null +++ b/src/app/globals.css @@ -0,0 +1,61 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 240 10% 3.9%; + --card: 0 0% 100%; + --card-foreground: 240 10% 3.9%; + --popover: 0 0% 100%; + --popover-foreground: 240 10% 3.9%; + --primary: 142.1 76.2% 36.3%; + --primary-foreground: 355.7 100% 97.3%; + --secondary: 240 4.8% 95.9%; + --secondary-foreground: 240 5.9% 10%; + --muted: 240 4.8% 95.9%; + --muted-foreground: 240 3.8% 46.1%; + --accent: 240 4.8% 95.9%; + --accent-foreground: 240 5.9% 10%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + --border: 240 5.9% 90%; + --input: 240 5.9% 90%; + --ring: 142.1 76.2% 36.3%; + --radius: 0.5rem; + } + + .dark { + --background: 20 14.3% 4.1%; + --foreground: 0 0% 95%; + --card: 24 9.8% 10%; + --card-foreground: 0 0% 95%; + --popover: 0 0% 9%; + --popover-foreground: 0 0% 95%; + --primary: 142.1 70.6% 45.3%; + --primary-foreground: 144.9 80.4% 10%; + --secondary: 240 3.7% 15.9%; + --secondary-foreground: 0 0% 98%; + --muted: 0 0% 15%; + --muted-foreground: 240 5% 64.9%; + --accent: 12 6.5% 15.1%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 85.7% 97.3%; + --border: 240 3.7% 15.9%; + --input: 240 3.7% 15.9%; + --ring: 142.4 71.8% 29.2%; + } +} + + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } +} \ No newline at end of file diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 0000000..9fd3f61 --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,36 @@ +import type { Metadata } from "next"; +import { Inter } from "next/font/google"; +import "./globals.css"; +import Navbar from "@/components/navbar/nav"; +import { ThemeProvider } from "@/components/theme-provider"; +import { Toaster } from "@/components/ui/toaster"; + +const inter = Inter({ subsets: ["latin"] }); + +export const metadata: Metadata = { + title: "Create Next App", + description: "Generated by create next app", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + + + + {children} + + + + + ); +} diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 0000000..28ea420 --- /dev/null +++ b/src/app/page.tsx @@ -0,0 +1,12 @@ +import React from "react"; +import App from "@/components/map/app"; +export default function Home() { + return ( +
+ Main + {/*
+ +
*/} +
+ ); +} diff --git a/src/components/commodity/date-range-picker.tsx b/src/components/commodity/date-range-picker.tsx new file mode 100644 index 0000000..a7154b8 --- /dev/null +++ b/src/components/commodity/date-range-picker.tsx @@ -0,0 +1,517 @@ +'use client' + +import React, { type FC, useState, useEffect, useRef } from 'react' +import { Button } from '@/components/ui/button' +import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover' +import { Calendar } from '@/components/ui/calendar' +import { DateInput } from '@/components/ui/date-input' +import { Label } from '@/components/ui/label' +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue +} from '@/components/ui/select' +import { Switch } from '@/components/ui/switch' +import { ChevronUpIcon, ChevronDownIcon, CheckIcon } from '@radix-ui/react-icons' +import { cn } from '@/lib/utils' + +export interface DateRangePickerProps { + /** Click handler for applying the updates from DateRangePicker. */ + onUpdate?: (values: { range: DateRange, rangeCompare?: DateRange }) => void + /** Initial value for start date */ + initialDateFrom?: Date | string + /** Initial value for end date */ + initialDateTo?: Date | string + /** Initial value for start date for compare */ + initialCompareFrom?: Date | string + /** Initial value for end date for compare */ + initialCompareTo?: Date | string + /** Alignment of popover */ + align?: 'start' | 'center' | 'end' + /** Option for locale */ + locale?: string + /** Option for showing compare feature */ + showCompare?: boolean +} + +const formatDate = (date: Date, locale: string = 'en-us'): string => { + return date.toLocaleDateString(locale, { + month: 'short', + day: 'numeric', + year: 'numeric' + }) +} + +interface DateRange { + from: Date + to: Date | undefined +} + +interface Preset { + name: string + label: string +} + +// Define presets +const PRESETS: Preset[] = [ + { name: 'today', label: 'Today' }, + { name: 'yesterday', label: 'Yesterday' }, + { name: 'last7', label: 'Last 7 days' }, + { name: 'last14', label: 'Last 14 days' }, + { name: 'last30', label: 'Last 30 days' }, + { name: 'thisWeek', label: 'This Week' }, + { name: 'lastWeek', label: 'Last Week' }, + { name: 'thisMonth', label: 'This Month' }, + { name: 'lastMonth', label: 'Last Month' } +] + +/** The DateRangePicker component allows a user to select a range of dates */ +export const DateRangePicker: FC & { + filePath: string +} = ({ + initialDateFrom = new Date((new Date()).setHours(0, 0, 0, 0)), + initialDateTo, + initialCompareFrom, + initialCompareTo, + onUpdate, + align = 'end', + locale = 'en-US', + showCompare = true +}): JSX.Element => { + const [isOpen, setIsOpen] = useState(false) + + const [range, setRange] = useState({ + from: new Date((new Date(initialDateFrom)).setHours(0, 0, 0, 0)), + to: initialDateTo ? new Date((new Date(initialDateTo)).setHours(0, 0, 0, 0)) : new Date((new Date(initialDateFrom)).setHours(0, 0, 0, 0)) + }) + const [rangeCompare, setRangeCompare] = useState( + initialCompareFrom + ? { + from: new Date((new Date(initialCompareFrom)).setHours(0, 0, 0, 0)), + to: initialCompareTo + ? new Date((new Date(initialCompareTo)).setHours(0, 0, 0, 0)) + : new Date((new Date(initialCompareFrom)).setHours(0, 0, 0, 0)) + } + : undefined + ) + + // Refs to store the values of range and rangeCompare when the date picker is opened + const openedRangeRef = useRef(); + const openedRangeCompareRef = useRef(); + + const [selectedPreset, setSelectedPreset] = useState(undefined) + + const [isSmallScreen, setIsSmallScreen] = useState( + typeof window !== 'undefined' ? window.innerWidth < 960 : false + ) + + useEffect(() => { + const handleResize = (): void => { + setIsSmallScreen(window.innerWidth < 960) + } + + window.addEventListener('resize', handleResize) + + // Clean up event listener on unmount + return () => { + window.removeEventListener('resize', handleResize) + } + }, []) + + const getPresetRange = (presetName: string): DateRange => { + const preset = PRESETS.find(({ name }) => name === presetName) + if (!preset) throw new Error(`Unknown date range preset: ${presetName}`) + const from = new Date() + const to = new Date() + const first = from.getDate() - from.getDay() + + switch (preset.name) { + case 'today': + from.setHours(0, 0, 0, 0) + to.setHours(23, 59, 59, 999) + break + case 'yesterday': + from.setDate(from.getDate() - 1) + from.setHours(0, 0, 0, 0) + to.setDate(to.getDate() - 1) + to.setHours(23, 59, 59, 999) + break + case 'last7': + from.setDate(from.getDate() - 6) + from.setHours(0, 0, 0, 0) + to.setHours(23, 59, 59, 999) + break + case 'last14': + from.setDate(from.getDate() - 13) + from.setHours(0, 0, 0, 0) + to.setHours(23, 59, 59, 999) + break + case 'last30': + from.setDate(from.getDate() - 29) + from.setHours(0, 0, 0, 0) + to.setHours(23, 59, 59, 999) + break + case 'thisWeek': + from.setDate(first) + from.setHours(0, 0, 0, 0) + to.setHours(23, 59, 59, 999) + break + case 'lastWeek': + from.setDate(from.getDate() - 7 - from.getDay()) + to.setDate(to.getDate() - to.getDay() - 1) + from.setHours(0, 0, 0, 0) + to.setHours(23, 59, 59, 999) + break + case 'thisMonth': + from.setDate(1) + from.setHours(0, 0, 0, 0) + to.setHours(23, 59, 59, 999) + break + case 'lastMonth': + from.setMonth(from.getMonth() - 1) + from.setDate(1) + from.setHours(0, 0, 0, 0) + to.setDate(0) + to.setHours(23, 59, 59, 999) + break + } + + return { from, to } + } + + const setPreset = (preset: string): void => { + const range = getPresetRange(preset) + setRange(range) + if (rangeCompare) { + const rangeCompare = { + from: new Date( + range.from.getFullYear() - 1, + range.from.getMonth(), + range.from.getDate() + ), + to: range.to + ? new Date( + range.to.getFullYear() - 1, + range.to.getMonth(), + range.to.getDate() + ) + : undefined + } + setRangeCompare(rangeCompare) + } + } + + const checkPreset = (): void => { + for (const preset of PRESETS) { + const presetRange = getPresetRange(preset.name) + + const normalizedRangeFrom = new Date(range.from.setHours(0, 0, 0, 0)) + const normalizedPresetFrom = new Date( + presetRange.from.setHours(0, 0, 0, 0) + ) + + const normalizedRangeTo = new Date(range.to?.setHours(0, 0, 0, 0) ?? 0) + const normalizedPresetTo = new Date( + presetRange.to?.setHours(0, 0, 0, 0) ?? 0 + ) + + if ( + normalizedRangeFrom.getTime() === normalizedPresetFrom.getTime() && + normalizedRangeTo.getTime() === normalizedPresetTo.getTime() + ) { + setSelectedPreset(preset.name) + return + } + } + + setSelectedPreset(undefined) + } + + const resetValues = (): void => { + setRange({ + from: typeof initialDateFrom === 'string' ? new Date(initialDateFrom) : initialDateFrom, + to: initialDateTo ? (typeof initialDateTo === 'string' ? new Date(initialDateTo) : initialDateTo) : (typeof initialDateFrom === 'string' ? new Date(initialDateFrom) : initialDateFrom) + }) + setRangeCompare( + initialCompareFrom + ? { + from: typeof initialCompareFrom === 'string' ? new Date(initialCompareFrom) : initialCompareFrom, + to: initialCompareTo + ? (typeof initialCompareTo === 'string' ? new Date(initialCompareTo) : initialCompareTo) + : (typeof initialCompareFrom === 'string' ? new Date(initialCompareFrom) : initialCompareFrom) + } + : undefined + ) + } + + useEffect(() => { + checkPreset() + }, [range]) + + const PresetButton = ({ + preset, + label, + isSelected + }: { + preset: string + label: string + isSelected: boolean + }): JSX.Element => ( + + ) + + // Helper function to check if two date ranges are equal + const areRangesEqual = (a?: DateRange, b?: DateRange) => { + if (!a || !b) return a === b; // If either is undefined, return true if both are undefined + return ( + a.from.getTime() === b.from.getTime() && + (!a.to || !b.to || a.to.getTime() === b.to.getTime()) + ); + }; + + useEffect(() => { + if (isOpen) { + openedRangeRef.current = range; + openedRangeCompareRef.current = rangeCompare; + } + }, [isOpen]); + + return ( + { + if (!open) { + resetValues() + } + setIsOpen(open) + }}> +
+ + + +
+ +
+
+
+
+
+ { + showCompare && ( + { + if (checked) { + if (!range.to) { + setRange({ + from: range.from, + to: range.from + }) + } + setRangeCompare({ + from: new Date( + range.from.getFullYear(), + range.from.getMonth(), + range.from.getDate() - 365 + ), + to: range.to + ? new Date( + range.to.getFullYear() - 1, + range.to.getMonth(), + range.to.getDate() + ) + : new Date( + range.from.getFullYear() - 1, + range.from.getMonth(), + range.from.getDate() + ) + }) + } else { + setRangeCompare(undefined) + } + }} + id="compare-mode" + /> + )} +
+
+
+ { + const toDate = + (range.to == null) || date > range.to ? date : range.to + setRange((prevRange) => ({ + ...prevRange, + from: date, + to: toDate + })) + }} + /> +
-
+ { + const fromDate = date < range.from ? date : range.from + setRange((prevRange) => ({ + ...prevRange, + from: fromDate, + to: date + })) + }} + /> +
+ {(rangeCompare != null) && ( +
+ { + if (rangeCompare) { + const compareToDate = + (rangeCompare.to == null) || date > rangeCompare.to + ? date + : rangeCompare.to + setRangeCompare((prevRangeCompare) => ({ + ...prevRangeCompare, + from: date, + to: compareToDate + })) + } else { + setRangeCompare({ + from: date, + to: new Date() + }) + } + }} + /> +
-
+ { + if (rangeCompare && rangeCompare.from) { + const compareFromDate = + date < rangeCompare.from + ? date + : rangeCompare.from + setRangeCompare({ + ...rangeCompare, + from: compareFromDate, + to: date + }) + } + }} + /> +
+ )} +
+
+ { isSmallScreen && ( + + ) + } +
+ { + if ((value?.from) != null) { + setRange({ from: value.from, to: value?.to }) + } + }} + selected={range} + numberOfMonths={isSmallScreen ? 1 : 2} + defaultMonth={ + new Date(new Date().setMonth(new Date().getMonth() - (isSmallScreen ? 0 : 1))) + } + /> +
+
+
+ { + !isSmallScreen && (
+
+ {PRESETS.map((preset) => ( + + ))} +
+
) + } +
+
+ + +
+
+
+ ) +} + +DateRangePicker.displayName = 'DateRangePicker' +DateRangePicker.filePath = + 'libs/shared/ui-kit/src/lib/date-range-picker/date-range-picker.tsx' \ No newline at end of file diff --git a/src/components/commodity/graph.tsx b/src/components/commodity/graph.tsx new file mode 100644 index 0000000..7d3a484 --- /dev/null +++ b/src/components/commodity/graph.tsx @@ -0,0 +1,297 @@ +"use client"; +import React, { PureComponent, useState } from 'react'; +import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts'; +import { Label } from '../ui/label'; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" +import { + Card, + CardContent, + CardDescription, + CardFooter, + CardHeader, + CardTitle, +} from "@/components/ui/card" + + +const data = [ + { + name: 'Page A', + uv: 4000, + pv: 2400, + amt: 2400, + }, + { + name: 'Page B', + uv: 3000, + pv: 1398, + amt: 2210, + }, + { + name: 'Page C', + uv: 2000, + pv: 9800, + amt: 2290, + }, + { + name: 'Page D', + uv: 2780, + pv: 3908, + amt: 2000, + }, + { + name: 'Page E', + uv: 1890, + pv: 4800, + amt: 2181, + }, + { + name: 'Page F', + uv: 2390, + pv: 3800, + amt: 2500, + }, + { + name: 'Page G', + uv: 3490, + pv: 4300, + amt: 2100, + }, + { + name: 'Page A', + uv: 4000, + pv: 2400, + amt: 2400, + }, + { + name: 'Page B', + uv: 3000, + pv: 1398, + amt: 2210, + }, + { + name: 'Page C', + uv: 2000, + pv: 9800, + amt: 2290, + }, + { + name: 'Page D', + uv: 2780, + pv: 3908, + amt: 2000, + }, + { + name: 'Page E', + uv: 1890, + pv: 4800, + amt: 2181, + }, + { + name: 'Page F', + uv: 2390, + pv: 3800, + amt: 2500, + }, + { + name: 'Page G', + uv: 3490, + pv: 4300, + amt: 2100, + }, + { + name: 'Page A', + uv: 4000, + pv: 2400, + amt: 2400, + }, + { + name: 'Page B', + uv: 3000, + pv: 1398, + amt: 2210, + }, + { + name: 'Page C', + uv: 2000, + pv: 9800, + amt: 2290, + }, + { + name: 'Page D', + uv: 2780, + pv: 3908, + amt: 2000, + }, + { + name: 'Page E', + uv: 1890, + pv: 4800, + amt: 2181, + }, + { + name: 'Page F', + uv: 2390, + pv: 3800, + amt: 2500, + }, + { + name: 'Page G', + uv: 3490, + pv: 4300, + amt: 2100, + }, + { + name: 'Page A', + uv: 4000, + pv: 2400, + amt: 2400, + }, + { + name: 'Page B', + uv: 3000, + pv: 1398, + amt: 2210, + }, + { + name: 'Page C', + uv: 2000, + pv: 9800, + amt: 2290, + }, + { + name: 'Page D', + uv: 2780, + pv: 3908, + amt: 2000, + }, + { + name: 'Page E', + uv: 1890, + pv: 4800, + amt: 2181, + }, + { + name: 'Page F', + uv: 2390, + pv: 3800, + amt: 2500, + }, + { + name: 'Page G', + uv: 3490, + pv: 4300, + amt: 2100, + }, + { + name: 'Page A', + uv: 4000, + pv: 2400, + amt: 2400, + }, + { + name: 'Page B', + uv: 3000, + pv: 1398, + amt: 2210, + }, + { + name: 'Page C', + uv: 2000, + pv: 9800, + amt: 2290, + }, + { + name: 'Page D', + uv: 2780, + pv: 3908, + amt: 2000, + }, + { + name: 'Page E', + uv: 1890, + pv: 4800, + amt: 2181, + }, + { + name: 'Page F', + uv: 2390, + pv: 3800, + amt: 2500, + }, + { + name: 'Page G', + uv: 3490, + pv: 4300, + amt: 2100, + }, +]; + + +export default function Example() { + const [selectedDataKey, setSelectedDataKey] = useState('pv'); + + const colors = { + primary: '#16A34A', + secondary: '#888888', + + // Add more colors as needed + }; + + const CustomTooltip = () => { + return ( +
+
+ + +
+
+ + +
+
+ ); + } + + const handleSelectChange = (value) => { + setSelectedDataKey(value); + }; + + return ( +
+ + +
+ {"Item Name"} + +
+
+ +
+ + + + } /> + + + +
+
+
+
+ ); +} \ No newline at end of file diff --git a/src/components/commodity/select-form.tsx b/src/components/commodity/select-form.tsx new file mode 100644 index 0000000..bacd29a --- /dev/null +++ b/src/components/commodity/select-form.tsx @@ -0,0 +1,294 @@ +"use client" + +import { zodResolver } from "@hookform/resolvers/zod" +import { useForm } from "react-hook-form" +import { z } from "zod" + +import { Button } from "@/components/ui/button" +import { + Form, + FormControl, + FormDescription, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "@/components/ui/form" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" +import { DateRangePicker } from "./date-range-picker" +import React from "react" +import { ToastAction } from "@/components/ui/toast" +import { useToast } from "@/components/ui/use-toast" +import { + Card, + CardContent, + CardDescription, + CardFooter, + CardHeader, + CardTitle, + } from "@/components/ui/card" +import Example from "./graph" +import { Label } from "../ui/label" +import { Separator } from "../ui/separator" +import { TableDemo } from "./table" + +const FormSchema = z.object({ + commodity: z + .string({ + required_error: "Please select a Commodity", + }), + state: z + .string({ + required_error: "Please select a State", + }), + district: z.string().optional(), + market: z.string().optional(), +}) + +export function CommodityForm() { + type DataType = { + commodity: string; + state: string; + district: string | undefined; + market: string | undefined; + }; + + let globalData: DataType | null = null; + + const toast = useToast(); + const [stateSelected, setStateSelected] = React.useState(false) + const [districtSelected, setDistrictSelected] = React.useState(false) + + interface DateRange { + from: Date | undefined; + to: Date | undefined; + } + + const [dateRange, setDateRange] = React.useState({ from: undefined, to: undefined }); + + + const form = useForm>({ + resolver: zodResolver(FormSchema), + }) + + function onSubmit(data: z.infer) { + globalData = { + commodity: data.commodity, + state: data.state, + district: data.district, + market: data.market, + }; + console.log(data) + console.log(dateRange) + + if((dateRange.from && dateRange.from > new Date(2024, 1, 1)) || (dateRange.to && dateRange.to > new Date(2024, 1, 1))) { + toast.toast({ + variant: "destructive", + title: "Uh oh! Something went wrong.", + description: "Data available only till Feb 1, 2024. Please select a date range within the specified limit.", + action: Ok, + }); + } + } + + return ( +
+
+ + + Item Select + Select a commodity to view details + + +
+ +
+
+ ( + + + + + )} + /> +
+
+ ( + + + + + )} + /> +
+
+ ( + + + + + )} + /> +
+
+ ( + + + + + )} + /> +
+
+ + { + setDateRange({ from: values.range.from, to: values.range.to }); + }} + showCompare={false} + initialDateTo={new Date(2024, 1, 1)} + initialDateFrom={new Date(2024, 0, 1)} + /> + + +
+
+ +
+ +
+ +
+
+
+
+ +
+
+
+ +
+
+ +
+
+ + + Summary + + +
+ + + + + + + + + + + +
+
+
+
+
+
+ + + Data + + + + + +
+
+ ) +} diff --git a/src/components/commodity/table.tsx b/src/components/commodity/table.tsx new file mode 100644 index 0000000..16532b3 --- /dev/null +++ b/src/components/commodity/table.tsx @@ -0,0 +1,95 @@ +import { + Table, + TableBody, + TableCaption, + TableCell, + TableFooter, + TableHead, + TableHeader, + TableRow, + } from "@/components/ui/table"; +import { Button } from "@/components/ui/button"; + + const invoices = [ + { + invoice: "INV001", + paymentStatus: "Paid", + totalAmount: "$250.00", + paymentMethod: "Credit Card", + }, + { + invoice: "INV002", + paymentStatus: "Pending", + totalAmount: "$150.00", + paymentMethod: "PayPal", + }, + { + invoice: "INV003", + paymentStatus: "Unpaid", + totalAmount: "$350.00", + paymentMethod: "Bank Transfer", + }, + { + invoice: "INV004", + paymentStatus: "Paid", + totalAmount: "$450.00", + paymentMethod: "Credit Card", + }, + { + invoice: "INV005", + paymentStatus: "Paid", + totalAmount: "$550.00", + paymentMethod: "PayPal", + }, + { + invoice: "INV006", + paymentStatus: "Pending", + totalAmount: "$200.00", + paymentMethod: "Bank Transfer", + }, + { + invoice: "INV007", + paymentStatus: "Unpaid", + totalAmount: "$300.00", + paymentMethod: "Credit Card", + }, + ] + + export function TableDemo() { + return ( + + +
+ +
+
+ + + Invoice + Status + Method + Amount + + + + {invoices.map((invoice) => ( + + {invoice.invoice} + {invoice.paymentStatus} + {invoice.paymentMethod} + {invoice.totalAmount} + + ))} + + + + Total + $2,500.00 + + +
+ ) + } + \ No newline at end of file diff --git a/src/components/map/app.tsx b/src/components/map/app.tsx new file mode 100644 index 0000000..9c8375f --- /dev/null +++ b/src/components/map/app.tsx @@ -0,0 +1,132 @@ +"use client"; +import React from 'react'; +import {createRoot} from 'react-dom/client'; +import {Map} from 'react-map-gl/maplibre'; +import {AmbientLight, PointLight, LightingEffect} from '@deck.gl/core'; +import {HexagonLayer} from '@deck.gl/aggregation-layers'; +import DeckGL from '@deck.gl/react'; +import {CSVLoader} from '@loaders.gl/csv'; +import {load} from '@loaders.gl/core'; + +import type {Color, PickingInfo, MapViewState} from '@deck.gl/core'; + +// Source data CSV +const DATA_URL = + 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/examples/3d-heatmap/heatmap-data.csv'; // eslint-disable-line + +const ambientLight = new AmbientLight({ + color: [255, 255, 255], + intensity: 1.0 +}); + +const pointLight1 = new PointLight({ + color: [255, 255, 255], + intensity: 0.8, + position: [-0.144528, 49.739968, 80000] +}); + +const pointLight2 = new PointLight({ + color: [255, 255, 255], + intensity: 0.8, + position: [-3.807751, 54.104682, 8000] +}); + +const lightingEffect = new LightingEffect({ambientLight, pointLight1, pointLight2}); + +const INITIAL_VIEW_STATE: MapViewState = { + longitude: -1.415727, + latitude: 52.232395, + zoom: 6.6, + minZoom: 5, + maxZoom: 15, + pitch: 40.5, + bearing: -27 +}; + +const MAP_STYLE = 'https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json'; + +export const colorRange: Color[] = [ + [1, 152, 189], + [73, 227, 206], + [216, 254, 181], + [254, 237, 177], + [254, 173, 84], + [209, 55, 78] +]; + +function getTooltip({object}: PickingInfo) { + if (!object) { + return null; + } + const lat = object.position[1]; + const lng = object.position[0]; + const count = object.points.length; + + return `\ + latitude: ${Number.isFinite(lat) ? lat.toFixed(6) : ''} + longitude: ${Number.isFinite(lng) ? lng.toFixed(6) : ''} + ${count} Accidents`; +} + +type DataPoint = [longitude: number, latitude: number]; + +export default function App({ + data = null, + mapStyle = MAP_STYLE, + radius = 1000, + upperPercentile = 100, + coverage = 1 +}: { + data?: DataPoint[] | null; + mapStyle?: string; + radius?: number; + upperPercentile?: number; + coverage?: number; +}) { + const layers = [ + new HexagonLayer({ + id: 'heatmap', + colorRange, + coverage, + data, + elevationRange: [0, 3000], + elevationScale: data && data.length ? 50 : 0, + extruded: true, + getPosition: d => d, + pickable: true, + radius, + upperPercentile, + material: { + ambient: 0.64, + diffuse: 0.6, + shininess: 32, + specularColor: [51, 51, 51] + }, + + transitions: { + elevationScale: 3000 + } + }) + ]; + + return ( + + + + ); +} + +export async function renderToDOM(container: HTMLDivElement) { + const root = createRoot(container); + root.render(); + + const data = (await load(DATA_URL, CSVLoader)).data; + const points: DataPoint[] = data.map(d => [d.lng, d.lat]); + root.render(); +} \ No newline at end of file diff --git a/src/components/mode-toggle.tsx b/src/components/mode-toggle.tsx new file mode 100644 index 0000000..5574eac --- /dev/null +++ b/src/components/mode-toggle.tsx @@ -0,0 +1,40 @@ +"use client" + +import * as React from "react" +import { MoonIcon, SunIcon } from "@radix-ui/react-icons" +import { useTheme } from "next-themes" + +import { Button } from "@/components/ui/button" +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu" + +export function ModeToggle() { + const { setTheme } = useTheme() + + return ( + + + + + + setTheme("light")}> + Light + + setTheme("dark")}> + Dark + + setTheme("system")}> + System + + + + ) +} diff --git a/src/components/navbar/about.tsx b/src/components/navbar/about.tsx new file mode 100644 index 0000000..8794c85 --- /dev/null +++ b/src/components/navbar/about.tsx @@ -0,0 +1,36 @@ +import { + AlertDialog, + AlertDialogAction, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle, + AlertDialogTrigger, + } from "@/components/ui/alert-dialog" + import { Button } from "@/components/ui/button" + + export function About() { + return ( + + + + + + + About Us + +
+ {`AgrEvolve is a platform that provides real-time as well historic information on agricultural commodities and their prices. We aim to help farmers and traders make informed decisions and improve their livelihoods.\n\nWe are a team of passionate individuals who believe in the power of technology to transform the agricultural sector. We are committed to providing accurate and reliable information to our users.\n\nWe are constantly working to improve our platform and add new features to make it more useful for our users. We welcome feedback and suggestions from our users to help us improve our platform.\n\nThank you for using AgrEvolve!`} +
+
+
+ + Okay + +
+
+ ) + } + \ No newline at end of file diff --git a/src/components/navbar/nav.tsx b/src/components/navbar/nav.tsx new file mode 100644 index 0000000..b17f8c3 --- /dev/null +++ b/src/components/navbar/nav.tsx @@ -0,0 +1,26 @@ +import Image from "next/image"; +import Link from 'next/link'; // +import { Button } from "../ui/button"; +import { About } from "./about"; +import { ModeToggle } from "../mode-toggle"; + +export default function Navbar() { + return ( + + ); +} \ 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..8c90fbc --- /dev/null +++ b/src/components/theme-provider.tsx @@ -0,0 +1,9 @@ +"use client" + +import * as React from "react" +import { ThemeProvider as NextThemesProvider } from "next-themes" +import { type ThemeProviderProps } from "next-themes/dist/types" + +export function ThemeProvider({ children, ...props }: ThemeProviderProps) { + return {children} +} diff --git a/src/components/ui/alert-dialog.tsx b/src/components/ui/alert-dialog.tsx new file mode 100644 index 0000000..57760f2 --- /dev/null +++ b/src/components/ui/alert-dialog.tsx @@ -0,0 +1,141 @@ +"use client" + +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" + +const AlertDialog = AlertDialogPrimitive.Root + +const AlertDialogTrigger = AlertDialogPrimitive.Trigger + +const AlertDialogPortal = AlertDialogPrimitive.Portal + +const AlertDialogOverlay = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName + +const AlertDialogContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + + + + +)) +AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName + +const AlertDialogHeader = ({ + className, + ...props +}: React.HTMLAttributes) => ( +
+) +AlertDialogHeader.displayName = "AlertDialogHeader" + +const AlertDialogFooter = ({ + className, + ...props +}: React.HTMLAttributes) => ( +
+) +AlertDialogFooter.displayName = "AlertDialogFooter" + +const AlertDialogTitle = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName + +const AlertDialogDescription = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AlertDialogDescription.displayName = + AlertDialogPrimitive.Description.displayName + +const AlertDialogAction = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName + +const AlertDialogCancel = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName + +export { + AlertDialog, + AlertDialogPortal, + AlertDialogOverlay, + AlertDialogTrigger, + AlertDialogContent, + AlertDialogHeader, + AlertDialogFooter, + AlertDialogTitle, + AlertDialogDescription, + AlertDialogAction, + AlertDialogCancel, +} diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx new file mode 100644 index 0000000..0270f64 --- /dev/null +++ b/src/components/ui/button.tsx @@ -0,0 +1,57 @@ +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 buttonVariants = cva( + "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", + { + variants: { + variant: { + default: + "bg-primary text-primary-foreground shadow hover:bg-primary/90", + destructive: + "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", + outline: + "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", + secondary: + "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-9 px-4 py-2", + sm: "h-8 rounded-md px-3 text-xs", + lg: "h-10 rounded-md px-8", + icon: "h-9 w-9", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +export interface ButtonProps + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean +} + +const Button = React.forwardRef( + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : "button" + return ( + + ) + } +) +Button.displayName = "Button" + +export { Button, buttonVariants } diff --git a/src/components/ui/calendar.tsx b/src/components/ui/calendar.tsx new file mode 100644 index 0000000..018fe26 --- /dev/null +++ b/src/components/ui/calendar.tsx @@ -0,0 +1,72 @@ +"use client" + +import * as React from "react" +import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons" +import { DayPicker } from "react-day-picker" + +import { cn } from "@/lib/utils" +import { buttonVariants } from "@/components/ui/button" + +export type CalendarProps = React.ComponentProps + +function Calendar({ + className, + classNames, + showOutsideDays = true, + ...props +}: CalendarProps) { + return ( + .day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" + : "[&:has([aria-selected])]:rounded-md" + ), + day: cn( + buttonVariants({ variant: "ghost" }), + "h-8 w-8 p-0 font-normal aria-selected:opacity-100" + ), + day_range_start: "day-range-start", + day_range_end: "day-range-end", + day_selected: + "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground", + day_today: "bg-accent text-accent-foreground", + day_outside: + "day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30", + day_disabled: "text-muted-foreground opacity-50", + day_range_middle: + "aria-selected:bg-accent aria-selected:text-accent-foreground", + day_hidden: "invisible", + ...classNames, + }} + components={{ + IconLeft: ({ ...props }) => , + IconRight: ({ ...props }) => , + }} + {...props} + /> + ) +} +Calendar.displayName = "Calendar" + +export { Calendar } diff --git a/src/components/ui/card.tsx b/src/components/ui/card.tsx new file mode 100644 index 0000000..77e9fb7 --- /dev/null +++ b/src/components/ui/card.tsx @@ -0,0 +1,76 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +const Card = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +Card.displayName = "Card" + +const CardHeader = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +CardHeader.displayName = "CardHeader" + +const CardTitle = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)) +CardTitle.displayName = "CardTitle" + +const CardDescription = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)) +CardDescription.displayName = "CardDescription" + +const CardContent = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)) +CardContent.displayName = "CardContent" + +const CardFooter = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +CardFooter.displayName = "CardFooter" + +export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } diff --git a/src/components/ui/date-input.tsx b/src/components/ui/date-input.tsx new file mode 100644 index 0000000..035a050 --- /dev/null +++ b/src/components/ui/date-input.tsx @@ -0,0 +1,259 @@ +import React, { useEffect, useRef } from 'react' + +interface DateInputProps { + value?: Date + onChange: (date: Date) => void +} + +interface DateParts { + day: number + month: number + year: number +} + +const DateInput: React.FC = ({ value, onChange }) => { + const [date, setDate] = React.useState(() => { + const d = value ? new Date(value) : new Date() + return { + day: d.getDate(), + month: d.getMonth() + 1, // JavaScript months are 0-indexed + year: d.getFullYear() + } + }) + + const monthRef = useRef(null) + const dayRef = useRef(null) + const yearRef = useRef(null) + + useEffect(() => { + const d = value ? new Date(value) : new Date() + setDate({ + day: d.getDate(), + month: d.getMonth() + 1, + year: d.getFullYear() + }) + }, [value]) + + const validateDate = (field: keyof DateParts, value: number): boolean => { + if ( + (field === 'day' && (value < 1 || value > 31)) || + (field === 'month' && (value < 1 || value > 12)) || + (field === 'year' && (value < 1000 || value > 9999)) + ) { + return false; + } + + // Validate the day of the month + const newDate = { ...date, [field]: value }; + const d = new Date(newDate.year, newDate.month - 1, newDate.day); + return d.getFullYear() === newDate.year && + d.getMonth() + 1 === newDate.month && + d.getDate() === newDate.day; + }; + + const handleInputChange = + (field: keyof DateParts) => (e: React.ChangeEvent) => { + const newValue = e.target.value ? Number(e.target.value) : '' + const isValid = typeof newValue === 'number' && validateDate(field, newValue); + + // If the new value is valid, update the date + const newDate = { ...date, [field]: newValue } + setDate(newDate); + + // only call onChange when the entry is valid + if (isValid) { + onChange(new Date(newDate.year, newDate.month - 1, newDate.day)); + } + } + + const initialDate = useRef(date); + + const handleBlur = (field: keyof DateParts) => ( + e: React.FocusEvent + ): void => { + if (!e.target.value) { + setDate(initialDate.current); + return; + } + + const newValue = Number(e.target.value); + const isValid = validateDate(field, newValue); + + if (!isValid) { + setDate(initialDate.current); + } else { + // If the new value is valid, update the initial value + initialDate.current = { ...date, [field]: newValue }; + } + }; + + const handleKeyDown = + (field: keyof DateParts) => (e: React.KeyboardEvent) => { + // Allow command (or control) combinations + if (e.metaKey || e.ctrlKey) { + return; + } + + // Prevent non-numeric characters, excluding allowed keys + if ( + !/^[0-9]$/.test(e.key) && + ![ + 'ArrowUp', + 'ArrowDown', + 'ArrowLeft', + 'ArrowRight', + 'Delete', + 'Tab', + 'Backspace', + 'Enter', + ].includes(e.key) + ) { + e.preventDefault(); + return; + } + + if (e.key === 'ArrowUp') { + e.preventDefault() + let newDate = { ...date } + + if (field === 'day') { + if (date[field] === new Date(date.year, date.month, 0).getDate()) { + newDate = { ...newDate, day: 1, month: (date.month % 12) + 1 } + if (newDate.month === 1) newDate.year += 1 + } else { + newDate.day += 1 + } + } + + if (field === 'month') { + if (date[field] === 12) { + newDate = { ...newDate, month: 1, year: date.year + 1 } + } else { + newDate.month += 1 + } + } + + if (field === 'year') { + newDate.year += 1 + } + + setDate(newDate) + onChange(new Date(newDate.year, newDate.month - 1, newDate.day)) + } else if (e.key === 'ArrowDown') { + e.preventDefault() + let newDate = { ...date } + + if (field === 'day') { + if (date[field] === 1) { + newDate.month -= 1 + if (newDate.month === 0) { + newDate.month = 12 + newDate.year -= 1 + } + newDate.day = new Date(newDate.year, newDate.month, 0).getDate() + } else { + newDate.day -= 1 + } + } + + if (field === 'month') { + if (date[field] === 1) { + newDate = { ...newDate, month: 12, year: date.year - 1 } + } else { + newDate.month -= 1 + } + } + + if (field === 'year') { + newDate.year -= 1 + } + + setDate(newDate) + onChange(new Date(newDate.year, newDate.month - 1, newDate.day)) + } + + if (e.key === 'ArrowRight') { + if ( + e.currentTarget.selectionStart === e.currentTarget.value.length || + (e.currentTarget.selectionStart === 0 && + e.currentTarget.selectionEnd === e.currentTarget.value.length) + ) { + e.preventDefault() + if (field === 'month') dayRef.current?.focus() + if (field === 'day') yearRef.current?.focus() + } + } else if (e.key === 'ArrowLeft') { + if ( + e.currentTarget.selectionStart === 0 || + (e.currentTarget.selectionStart === 0 && + e.currentTarget.selectionEnd === e.currentTarget.value.length) + ) { + e.preventDefault() + if (field === 'day') monthRef.current?.focus() + if (field === 'year') dayRef.current?.focus() + } + } + } + + return ( +
+ { + if (window.innerWidth > 1024) { + e.target.select(); + } + }} + onBlur={handleBlur('month')} + className="p-0 outline-none w-6 border-none text-center" + placeholder="M" + /> + / + { + if (window.innerWidth > 1024) { + e.target.select(); + } + }} + onBlur={handleBlur('day')} + className="p-0 outline-none w-7 border-none text-center" + placeholder="D" + /> + / + { + if (window.innerWidth > 1024) { + e.target.select(); + } + }} + onBlur={handleBlur('year')} + className="p-0 outline-none w-12 border-none text-center" + placeholder="YYYY" + /> +
+ ) +} + +DateInput.displayName = 'DateInput' + +export { DateInput } \ No newline at end of file diff --git a/src/components/ui/dialog.tsx b/src/components/ui/dialog.tsx new file mode 100644 index 0000000..95b0d38 --- /dev/null +++ b/src/components/ui/dialog.tsx @@ -0,0 +1,122 @@ +"use client" + +import * as React from "react" +import * as DialogPrimitive from "@radix-ui/react-dialog" +import { Cross2Icon } from "@radix-ui/react-icons" + +import { cn } from "@/lib/utils" + +const Dialog = DialogPrimitive.Root + +const DialogTrigger = DialogPrimitive.Trigger + +const DialogPortal = DialogPrimitive.Portal + +const DialogClose = DialogPrimitive.Close + +const DialogOverlay = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +DialogOverlay.displayName = DialogPrimitive.Overlay.displayName + +const DialogContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + + + {children} + + + Close + + + +)) +DialogContent.displayName = DialogPrimitive.Content.displayName + +const DialogHeader = ({ + className, + ...props +}: React.HTMLAttributes) => ( +
+) +DialogHeader.displayName = "DialogHeader" + +const DialogFooter = ({ + className, + ...props +}: React.HTMLAttributes) => ( +
+) +DialogFooter.displayName = "DialogFooter" + +const DialogTitle = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +DialogTitle.displayName = DialogPrimitive.Title.displayName + +const DialogDescription = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +DialogDescription.displayName = DialogPrimitive.Description.displayName + +export { + Dialog, + DialogPortal, + DialogOverlay, + DialogTrigger, + DialogClose, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, +} diff --git a/src/components/ui/dropdown-menu.tsx b/src/components/ui/dropdown-menu.tsx new file mode 100644 index 0000000..242b07a --- /dev/null +++ b/src/components/ui/dropdown-menu.tsx @@ -0,0 +1,205 @@ +"use client" + +import * as React from "react" +import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu" +import { + CheckIcon, + ChevronRightIcon, + DotFilledIcon, +} from "@radix-ui/react-icons" + +import { cn } from "@/lib/utils" + +const DropdownMenu = DropdownMenuPrimitive.Root + +const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger + +const DropdownMenuGroup = DropdownMenuPrimitive.Group + +const DropdownMenuPortal = DropdownMenuPrimitive.Portal + +const DropdownMenuSub = DropdownMenuPrimitive.Sub + +const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup + +const DropdownMenuSubTrigger = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & { + inset?: boolean + } +>(({ className, inset, children, ...props }, ref) => ( + + {children} + + +)) +DropdownMenuSubTrigger.displayName = + DropdownMenuPrimitive.SubTrigger.displayName + +const DropdownMenuSubContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +DropdownMenuSubContent.displayName = + DropdownMenuPrimitive.SubContent.displayName + +const DropdownMenuContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, sideOffset = 4, ...props }, ref) => ( + + + +)) +DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName + +const DropdownMenuItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & { + inset?: boolean + } +>(({ className, inset, ...props }, ref) => ( + +)) +DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName + +const DropdownMenuCheckboxItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, checked, ...props }, ref) => ( + + + + + + + {children} + +)) +DropdownMenuCheckboxItem.displayName = + DropdownMenuPrimitive.CheckboxItem.displayName + +const DropdownMenuRadioItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + + + + + + {children} + +)) +DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName + +const DropdownMenuLabel = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & { + inset?: boolean + } +>(({ className, inset, ...props }, ref) => ( + +)) +DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName + +const DropdownMenuSeparator = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName + +const DropdownMenuShortcut = ({ + className, + ...props +}: React.HTMLAttributes) => { + return ( + + ) +} +DropdownMenuShortcut.displayName = "DropdownMenuShortcut" + +export { + DropdownMenu, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuCheckboxItem, + DropdownMenuRadioItem, + DropdownMenuLabel, + DropdownMenuSeparator, + DropdownMenuShortcut, + DropdownMenuGroup, + DropdownMenuPortal, + DropdownMenuSub, + DropdownMenuSubContent, + DropdownMenuSubTrigger, + DropdownMenuRadioGroup, +} diff --git a/src/components/ui/form.tsx b/src/components/ui/form.tsx new file mode 100644 index 0000000..f6afdaf --- /dev/null +++ b/src/components/ui/form.tsx @@ -0,0 +1,176 @@ +import * as React from "react" +import * as LabelPrimitive from "@radix-ui/react-label" +import { Slot } from "@radix-ui/react-slot" +import { + Controller, + ControllerProps, + FieldPath, + FieldValues, + FormProvider, + useFormContext, +} from "react-hook-form" + +import { cn } from "@/lib/utils" +import { Label } from "@/components/ui/label" + +const Form = FormProvider + +type FormFieldContextValue< + TFieldValues extends FieldValues = FieldValues, + TName extends FieldPath = FieldPath +> = { + name: TName +} + +const FormFieldContext = React.createContext( + {} as FormFieldContextValue +) + +const FormField = < + TFieldValues extends FieldValues = FieldValues, + TName extends FieldPath = FieldPath +>({ + ...props +}: ControllerProps) => { + return ( + + + + ) +} + +const useFormField = () => { + const fieldContext = React.useContext(FormFieldContext) + const itemContext = React.useContext(FormItemContext) + const { getFieldState, formState } = useFormContext() + + const fieldState = getFieldState(fieldContext.name, formState) + + if (!fieldContext) { + throw new Error("useFormField should be used within ") + } + + const { id } = itemContext + + return { + id, + name: fieldContext.name, + formItemId: `${id}-form-item`, + formDescriptionId: `${id}-form-item-description`, + formMessageId: `${id}-form-item-message`, + ...fieldState, + } +} + +type FormItemContextValue = { + id: string +} + +const FormItemContext = React.createContext( + {} as FormItemContextValue +) + +const FormItem = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => { + const id = React.useId() + + return ( + +
+ + ) +}) +FormItem.displayName = "FormItem" + +const FormLabel = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => { + const { error, formItemId } = useFormField() + + return ( +