From 62cfad1a32fd122f0d3e6fa8b5ce11ec22dc499e Mon Sep 17 00:00:00 2001 From: Sebastien Castiel Date: Fri, 25 Oct 2024 14:08:53 -0400 Subject: [PATCH] Hindsight is always 20:20. -- Billy Wilder --- Dockerfile | 49 - components.json | 16 - compose.yaml | 24 - container.env.example | 6 - eslint.config.mjs | 11 + jest.config.ts | 18 - messages/de-DE.json | 401 - messages/en-US.json | 401 - messages/es.json | 401 - messages/fi.json | 401 - messages/fr-FR.json | 401 - messages/it-IT.json | 401 - messages/pl-PL.json | 400 - messages/ro.json | 401 - messages/ru-RU.json | 401 - messages/ua-UA.json | 401 - messages/zh-CN.json | 401 - next.config.mjs | 38 - package-lock.json | 15237 +--------------- package.json | 64 +- postcss.config.js | 6 - public/android-chrome-192x192.png | Bin 7184 -> 0 bytes public/android-chrome-512x512.png | Bin 19143 -> 0 bytes public/banner.png | Bin 189293 -> 0 bytes public/logo-512x512-maskable.png | Bin 28781 -> 0 bytes public/logo-with-text.png | Bin 53648 -> 0 bytes public/logo.svg | 1 - src/app/api/s3-upload/route.ts | 15 - src/app/api/trpc/[trpc]/route.ts | 13 - src/app/apple-icon.png | Bin 19143 -> 0 bytes src/app/apple-pwa-splash.tsx | 98 - src/app/cached-functions.ts | 17 - src/app/favicon.ico | Bin 15086 -> 0 bytes src/app/globals.css | 67 - .../[groupId]/activity/activity-item.tsx | 96 - .../[groupId]/activity/activity-list.tsx | 155 - .../groups/[groupId]/activity/page.client.tsx | 32 - src/app/groups/[groupId]/activity/page.tsx | 10 - src/app/groups/[groupId]/balances-list.tsx | 54 - .../balances/balances-and-reimbursements.tsx | 139 - src/app/groups/[groupId]/balances/page.tsx | 10 - .../[groupId]/current-group-context.tsx | 30 - src/app/groups/[groupId]/edit/edit-group.tsx | 25 - src/app/groups/[groupId]/edit/page.tsx | 10 - .../expenses/[expenseId]/edit/page.tsx | 21 - .../expenses/active-user-balance.tsx | 45 - .../[groupId]/expenses/active-user-modal.tsx | 139 - .../[groupId]/expenses/category-icon.tsx | 144 - .../expenses/create-expense-form.tsx | 45 - .../create-from-receipt-button-actions.ts | 50 - .../expenses/create-from-receipt-button.tsx | 325 - .../groups/[groupId]/expenses/create/page.tsx | 20 - .../[groupId]/expenses/edit-expense-form.tsx | 65 - .../[groupId]/expenses/expense-card.tsx | 94 - .../[groupId]/expenses/expense-form.tsx | 831 - .../expenses/expense-list-fetch-action.ts | 16 - .../[groupId]/expenses/expense-list.tsx | 210 - .../[groupId]/expenses/export/json/route.ts | 41 - .../groups/[groupId]/expenses/page.client.tsx | 73 - src/app/groups/[groupId]/expenses/page.tsx | 17 - src/app/groups/[groupId]/group-header.tsx | 30 - src/app/groups/[groupId]/group-tabs.tsx | 35 - .../information/group-information.tsx | 52 - src/app/groups/[groupId]/information/page.tsx | 14 - src/app/groups/[groupId]/layout.client.tsx | 49 - src/app/groups/[groupId]/layout.tsx | 30 - src/app/groups/[groupId]/page.tsx | 9 - .../groups/[groupId]/reimbursement-list.tsx | 53 - .../groups/[groupId]/save-recent-group.tsx | 14 - src/app/groups/[groupId]/share-button.tsx | 50 - .../groups/[groupId]/stats/page.client.tsx | 27 - src/app/groups/[groupId]/stats/page.tsx | 10 - .../[groupId]/stats/totals-group-spending.tsx | 21 - .../[groupId]/stats/totals-your-share.tsx | 28 - .../[groupId]/stats/totals-your-spending.tsx | 32 - src/app/groups/[groupId]/stats/totals.tsx | 56 - src/app/groups/add-group-by-url-button.tsx | 86 - src/app/groups/create/create-group.tsx | 21 - src/app/groups/create/page.tsx | 10 - src/app/groups/layout.tsx | 11 - src/app/groups/not-found.tsx | 17 - src/app/groups/page.tsx | 10 - src/app/groups/recent-group-list-card.tsx | 159 - src/app/groups/recent-group-list.tsx | 244 - src/app/groups/recent-groups-helpers.ts | 93 - src/app/icon.svg | 1 - src/app/layout.tsx | 177 - src/app/manifest.ts | 32 - src/app/page.tsx | 40 - src/app/robots.ts | 13 - src/app/sitemap.ts | 13 - src/components/async-button.tsx | 42 - src/components/category-selector.tsx | 183 - src/components/copy-button.tsx | 34 - src/components/delete-popup.tsx | 44 - src/components/expense-documents-input.tsx | 210 - src/components/expense-form-actions.tsx | 57 - src/components/group-form.tsx | 334 - src/components/locale-switcher.tsx | 33 - src/components/money.tsx | 33 - src/components/progress-bar.tsx | 13 - src/components/share-url-button.tsx | 44 - src/components/submit-button.tsx | 23 - src/components/theme-provider.tsx | 8 - src/components/theme-toggle.tsx | 39 - src/components/ui/alert.tsx | 59 - src/components/ui/badge.tsx | 36 - src/components/ui/button.tsx | 56 - src/components/ui/card.tsx | 79 - src/components/ui/carousel.tsx | 262 - src/components/ui/checkbox.tsx | 30 - src/components/ui/collapsible.tsx | 11 - src/components/ui/command.tsx | 155 - src/components/ui/dialog.tsx | 122 - src/components/ui/drawer.tsx | 118 - src/components/ui/dropdown-menu.tsx | 200 - src/components/ui/form.tsx | 187 - src/components/ui/hover-card.tsx | 29 - src/components/ui/input.tsx | 25 - src/components/ui/label.tsx | 26 - src/components/ui/popover.tsx | 31 - src/components/ui/radio-group.tsx | 44 - src/components/ui/search-bar.tsx | 51 - src/components/ui/select.tsx | 160 - src/components/ui/skeleton.tsx | 15 - src/components/ui/table.tsx | 117 - src/components/ui/tabs.tsx | 55 - src/components/ui/textarea.tsx | 24 - src/components/ui/toast.tsx | 127 - src/components/ui/toaster.tsx | 35 - src/components/ui/use-toast.ts | 192 - src/i18n.ts | 27 - src/lib/env.ts | 69 +- src/lib/featureFlags.ts | 15 - src/lib/hooks.ts | 66 - src/lib/locale.ts | 42 - src/lib/utils.test.ts | 71 - src/lib/utils.ts | 74 - src/scripts/migrate.ts | 134 - src/trpc/client.tsx | 62 - src/trpc/init.ts | 8 - tailwind.config.js | 93 - tsconfig.json | 8 +- 143 files changed, 600 insertions(+), 27636 deletions(-) delete mode 100644 Dockerfile delete mode 100644 components.json delete mode 100644 compose.yaml delete mode 100644 container.env.example create mode 100644 eslint.config.mjs delete mode 100644 jest.config.ts delete mode 100644 messages/de-DE.json delete mode 100644 messages/en-US.json delete mode 100644 messages/es.json delete mode 100644 messages/fi.json delete mode 100644 messages/fr-FR.json delete mode 100644 messages/it-IT.json delete mode 100644 messages/pl-PL.json delete mode 100644 messages/ro.json delete mode 100644 messages/ru-RU.json delete mode 100644 messages/ua-UA.json delete mode 100644 messages/zh-CN.json delete mode 100644 next.config.mjs delete mode 100644 postcss.config.js delete mode 100644 public/android-chrome-192x192.png delete mode 100644 public/android-chrome-512x512.png delete mode 100644 public/banner.png delete mode 100644 public/logo-512x512-maskable.png delete mode 100644 public/logo-with-text.png delete mode 100644 public/logo.svg delete mode 100644 src/app/api/s3-upload/route.ts delete mode 100644 src/app/api/trpc/[trpc]/route.ts delete mode 100644 src/app/apple-icon.png delete mode 100644 src/app/apple-pwa-splash.tsx delete mode 100644 src/app/cached-functions.ts delete mode 100644 src/app/favicon.ico delete mode 100644 src/app/globals.css delete mode 100644 src/app/groups/[groupId]/activity/activity-item.tsx delete mode 100644 src/app/groups/[groupId]/activity/activity-list.tsx delete mode 100644 src/app/groups/[groupId]/activity/page.client.tsx delete mode 100644 src/app/groups/[groupId]/activity/page.tsx delete mode 100644 src/app/groups/[groupId]/balances-list.tsx delete mode 100644 src/app/groups/[groupId]/balances/balances-and-reimbursements.tsx delete mode 100644 src/app/groups/[groupId]/balances/page.tsx delete mode 100644 src/app/groups/[groupId]/current-group-context.tsx delete mode 100644 src/app/groups/[groupId]/edit/edit-group.tsx delete mode 100644 src/app/groups/[groupId]/edit/page.tsx delete mode 100644 src/app/groups/[groupId]/expenses/[expenseId]/edit/page.tsx delete mode 100644 src/app/groups/[groupId]/expenses/active-user-balance.tsx delete mode 100644 src/app/groups/[groupId]/expenses/active-user-modal.tsx delete mode 100644 src/app/groups/[groupId]/expenses/category-icon.tsx delete mode 100644 src/app/groups/[groupId]/expenses/create-expense-form.tsx delete mode 100644 src/app/groups/[groupId]/expenses/create-from-receipt-button-actions.ts delete mode 100644 src/app/groups/[groupId]/expenses/create-from-receipt-button.tsx delete mode 100644 src/app/groups/[groupId]/expenses/create/page.tsx delete mode 100644 src/app/groups/[groupId]/expenses/edit-expense-form.tsx delete mode 100644 src/app/groups/[groupId]/expenses/expense-card.tsx delete mode 100644 src/app/groups/[groupId]/expenses/expense-form.tsx delete mode 100644 src/app/groups/[groupId]/expenses/expense-list-fetch-action.ts delete mode 100644 src/app/groups/[groupId]/expenses/expense-list.tsx delete mode 100644 src/app/groups/[groupId]/expenses/export/json/route.ts delete mode 100644 src/app/groups/[groupId]/expenses/page.client.tsx delete mode 100644 src/app/groups/[groupId]/expenses/page.tsx delete mode 100644 src/app/groups/[groupId]/group-header.tsx delete mode 100644 src/app/groups/[groupId]/group-tabs.tsx delete mode 100644 src/app/groups/[groupId]/information/group-information.tsx delete mode 100644 src/app/groups/[groupId]/information/page.tsx delete mode 100644 src/app/groups/[groupId]/layout.client.tsx delete mode 100644 src/app/groups/[groupId]/layout.tsx delete mode 100644 src/app/groups/[groupId]/page.tsx delete mode 100644 src/app/groups/[groupId]/reimbursement-list.tsx delete mode 100644 src/app/groups/[groupId]/save-recent-group.tsx delete mode 100644 src/app/groups/[groupId]/share-button.tsx delete mode 100644 src/app/groups/[groupId]/stats/page.client.tsx delete mode 100644 src/app/groups/[groupId]/stats/page.tsx delete mode 100644 src/app/groups/[groupId]/stats/totals-group-spending.tsx delete mode 100644 src/app/groups/[groupId]/stats/totals-your-share.tsx delete mode 100644 src/app/groups/[groupId]/stats/totals-your-spending.tsx delete mode 100644 src/app/groups/[groupId]/stats/totals.tsx delete mode 100644 src/app/groups/add-group-by-url-button.tsx delete mode 100644 src/app/groups/create/create-group.tsx delete mode 100644 src/app/groups/create/page.tsx delete mode 100644 src/app/groups/layout.tsx delete mode 100644 src/app/groups/not-found.tsx delete mode 100644 src/app/groups/page.tsx delete mode 100644 src/app/groups/recent-group-list-card.tsx delete mode 100644 src/app/groups/recent-group-list.tsx delete mode 100644 src/app/groups/recent-groups-helpers.ts delete mode 100644 src/app/icon.svg delete mode 100644 src/app/layout.tsx delete mode 100644 src/app/manifest.ts delete mode 100644 src/app/page.tsx delete mode 100644 src/app/robots.ts delete mode 100644 src/app/sitemap.ts delete mode 100644 src/components/async-button.tsx delete mode 100644 src/components/category-selector.tsx delete mode 100644 src/components/copy-button.tsx delete mode 100644 src/components/delete-popup.tsx delete mode 100644 src/components/expense-documents-input.tsx delete mode 100644 src/components/expense-form-actions.tsx delete mode 100644 src/components/group-form.tsx delete mode 100644 src/components/locale-switcher.tsx delete mode 100644 src/components/money.tsx delete mode 100644 src/components/progress-bar.tsx delete mode 100644 src/components/share-url-button.tsx delete mode 100644 src/components/submit-button.tsx delete mode 100644 src/components/theme-provider.tsx delete mode 100644 src/components/theme-toggle.tsx delete mode 100644 src/components/ui/alert.tsx delete mode 100644 src/components/ui/badge.tsx delete mode 100644 src/components/ui/button.tsx delete mode 100644 src/components/ui/card.tsx delete mode 100644 src/components/ui/carousel.tsx delete mode 100644 src/components/ui/checkbox.tsx delete mode 100644 src/components/ui/collapsible.tsx delete mode 100644 src/components/ui/command.tsx delete mode 100644 src/components/ui/dialog.tsx delete mode 100644 src/components/ui/drawer.tsx delete mode 100644 src/components/ui/dropdown-menu.tsx delete mode 100644 src/components/ui/form.tsx delete mode 100644 src/components/ui/hover-card.tsx delete mode 100644 src/components/ui/input.tsx delete mode 100644 src/components/ui/label.tsx delete mode 100644 src/components/ui/popover.tsx delete mode 100644 src/components/ui/radio-group.tsx delete mode 100644 src/components/ui/search-bar.tsx delete mode 100644 src/components/ui/select.tsx delete mode 100644 src/components/ui/skeleton.tsx delete mode 100644 src/components/ui/table.tsx delete mode 100644 src/components/ui/tabs.tsx delete mode 100644 src/components/ui/textarea.tsx delete mode 100644 src/components/ui/toast.tsx delete mode 100644 src/components/ui/toaster.tsx delete mode 100644 src/components/ui/use-toast.ts delete mode 100644 src/i18n.ts delete mode 100644 src/lib/featureFlags.ts delete mode 100644 src/lib/hooks.ts delete mode 100644 src/lib/locale.ts delete mode 100644 src/lib/utils.test.ts delete mode 100644 src/lib/utils.ts delete mode 100644 src/scripts/migrate.ts delete mode 100644 src/trpc/client.tsx delete mode 100644 tailwind.config.js diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 87fdc29..0000000 --- a/Dockerfile +++ /dev/null @@ -1,49 +0,0 @@ -FROM node:21-alpine AS base - -WORKDIR /usr/app -COPY ./package.json \ - ./package-lock.json \ - ./next.config.mjs \ - ./tsconfig.json \ - ./reset.d.ts \ - ./tailwind.config.js \ - ./postcss.config.js ./ -COPY ./scripts ./scripts -COPY ./prisma ./prisma - -RUN apk add --no-cache openssl && \ - npm ci --ignore-scripts && \ - npx prisma generate - -COPY ./src ./src -COPY ./messages ./messages - -ENV NEXT_TELEMETRY_DISABLED=1 - -COPY scripts/build.env .env -RUN npm run build - -RUN rm -r .next/cache - -FROM node:21-alpine AS runtime-deps - -WORKDIR /usr/app -COPY --from=base /usr/app/package.json /usr/app/package-lock.json /usr/app/next.config.mjs ./ -COPY --from=base /usr/app/prisma ./prisma - -RUN npm ci --omit=dev --omit=optional --ignore-scripts && \ - npx prisma generate - -FROM node:21-alpine AS runner - -EXPOSE 3000/tcp -WORKDIR /usr/app - -COPY --from=base /usr/app/package.json /usr/app/package-lock.json /usr/app/next.config.mjs ./ -COPY --from=runtime-deps /usr/app/node_modules ./node_modules -COPY ./public ./public -COPY ./scripts ./scripts -COPY --from=base /usr/app/prisma ./prisma -COPY --from=base /usr/app/.next ./.next - -ENTRYPOINT ["/bin/sh", "/usr/app/scripts/container-entrypoint.sh"] diff --git a/components.json b/components.json deleted file mode 100644 index fd5076f..0000000 --- a/components.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema.json", - "style": "default", - "rsc": true, - "tsx": true, - "tailwind": { - "config": "tailwind.config.js", - "css": "app/globals.css", - "baseColor": "slate", - "cssVariables": true - }, - "aliases": { - "components": "@/components", - "utils": "@/lib/utils" - } -} diff --git a/compose.yaml b/compose.yaml deleted file mode 100644 index e0ef111..0000000 --- a/compose.yaml +++ /dev/null @@ -1,24 +0,0 @@ -services: - app: - image: spliit2:latest - ports: - - 3000:3000 - env_file: - - container.env - depends_on: - db: - condition: service_healthy - - db: - image: postgres:latest - ports: - - 5432:5432 - env_file: - - container.env - volumes: - - ./postgres-data:/var/lib/postgresql/data - healthcheck: - test: ['CMD-SHELL', 'pg_isready -U postgres'] - interval: 5s - timeout: 5s - retries: 5 diff --git a/container.env.example b/container.env.example deleted file mode 100644 index 7451dcb..0000000 --- a/container.env.example +++ /dev/null @@ -1,6 +0,0 @@ -# db -POSTGRES_PASSWORD=1234 - -# app -POSTGRES_PRISMA_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db -POSTGRES_URL_NON_POOLING=postgresql://postgres:${POSTGRES_PASSWORD}@db diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..79ebb94 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,11 @@ +import pluginJs from '@eslint/js' +import globals from 'globals' +import tseslint from 'typescript-eslint' + +export default [ + { files: ['**/*.{js,mjs,cjs,ts}'] }, + { languageOptions: { globals: globals.browser } }, + pluginJs.configs.recommended, + ...tseslint.configs.recommended, +] + diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index 844f759..0000000 --- a/jest.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { Config } from 'jest' -import nextJest from 'next/jest.js' - -const createJestConfig = nextJest({ - // Provide the path to your Next.js app to load next.config.js and .env files in your test environment - dir: './', -}) - -// Add any custom config to be passed to Jest -const config: Config = { - coverageProvider: 'v8', - testEnvironment: 'jsdom', - // Add more setup options before each test is run - // setupFilesAfterEnv: ['/jest.setup.ts'], -} - -// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async -export default createJestConfig(config) \ No newline at end of file diff --git a/messages/de-DE.json b/messages/de-DE.json deleted file mode 100644 index 6c01f14..0000000 --- a/messages/de-DE.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "Homepage": { - "title": "Teile Ausgaben mit Freunden & Familie", - "description": "Willkommen zu deiner neuen Spliit-Instanz!", - "button": { - "groups": "Zu den Gruppen", - "github": "GitHub" - } - }, - "Header": { - "groups": "Gruppen" - }, - "Footer": { - "madeIn": "Entwickelt in Montréal, Québec 🇨🇦", - "builtBy": "Erstellt von Sebastien Castiel und Mitwirkenden" - }, - "Expenses": { - "title": "Ausgaben", - "description": "Hier sind die Ausgaben, die du für deine Gruppe erstellt hast.", - "create": "Ausgabe hinzufügen", - "createFirst": "Erstelle die Erste", - "noExpenses": "Deine Gruppe hat noch keine Ausgaben.", - "exportJson": "Als JSON exportieren", - "searchPlaceholder": "Suche nach einer Ausgabe…", - "ActiveUserModal": { - "title": "Wer bist du?", - "description": "Sag uns, welcher Teilnehmer du bist, um die angezeigten Informationen auf dich anzupassen.", - "nobody": "Ich will niemanden auswählen", - "save": "Änderungen speichern", - "footer": "Diese Einstellung kann später in den Gruppeneinstellungen geändert werden." - }, - "Groups": { - "upcoming": "Bevorstehend", - "thisWeek": "Diese Woche", - "earlierThisMonth": "Diesen Monat", - "lastMonth": "Letzten Monat", - "earlierThisYear": "Dieses Jahr", - "lastYera": "Letztes Jahr", - "older": "Älter" - } - }, - "ExpenseCard": { - "paidBy": "Gezahlt von {paidBy} für ", - "receivedBy": "Empfangen von {paidBy} für ", - "yourBalance": "Deine Bilanz:" - }, - "Groups": { - "myGroups": "Meine Gruppen", - "create": "Erstellen", - "loadingRecent": "Lade letzte Gruppen…", - "NoRecent": { - "description": "Du hast in der letzten Zeit keine Gruppe besucht.", - "create": "Erstelle eine", - "orAsk": "oder bitte einen Freund, dir einen Link zu einer Existierenden zu schicken." - }, - "recent": "Letzte Gruppen", - "starred": "Favorisierte Gruppen", - "archived": "Archivierte Gruppen", - "archive": "Gruppe archivieren", - "unarchive": "Gruppe wiederherstellen", - "removeRecent": "Aus letzten Gruppen entfernen", - "RecentRemovedToast": { - "title": "Gruppe wurde entfernt", - "description": "Die Gruppe wurde von deiner Liste der letzten Gruppen entfernt.", - "undoAlt": "Gruppe entfernen rückgängig machen", - "undo": "Rückgängig machen" - }, - "AddByURL": { - "button": "Mit URL hinzufügen", - "title": "Gruppe mit URL hinzufügen", - "description": "Wenn eine Gruppe mit dir geteilt wurde, kannst du ihre URL hier einfügen, um sie zu deiner Liste hinzuzufügen.", - "error": "Ups, wir können die Gruppe mit der angegebenen URL nicht finden…" - }, - "NotFound": { - "text": "Diese Gruppe existiert nicht.", - "link": "Gehe zu zuletzt besuchten Gruppen" - } - }, - "GroupForm": { - "title": "Gruppeninformationen", - "NameField": { - "label": "Gruppenname", - "placeholder": "Sommerurlaub", - "description": "Gib deiner Gruppe einen Namen." - }, - "InformationField": { - "label": "Gruppeninformationen", - "placeholder": "Welche Informationen sind relevant für Gruppenmitglieder?" - }, - "CurrencyField": { - "label": "Währungssymbol", - "placeholder": "€, $, £…", - "description": "Wir benutzen es, um Beträge anzuzeigen." - }, - "Participants": { - "title": "Mitglieder", - "description": "Füge einen Namen für jedes Gruppenmitglied hinzu.", - "protectedParticipant": "Dieses Mitglied ist Teil der Ausgaben und kann nicht entfernt werden.", - "new": "Neu", - "add": "Mitglied hinzufügen", - "John": "Johannes", - "Jane": "Janina", - "Jack": "Jakob" - }, - "Settings": { - "title": "Lokale Einstellungen", - "description": "Dies sind Einstellungen pro Gerät, die verwendet werden, um deine Benutzererfahrung zu verbessern.", - "ActiveUserField": { - "label": "Aktiver Nutzer", - "placeholder": "Wähle ein Mitglied", - "none": "Keiner", - "description": "Standardnutzer, der die Ausgaben übernimmt." - }, - "save": "Speichern", - "saving": "Speichert…", - "create": "Erstellen", - "creating": "Erstellt…", - "cancel": "Abbrechen" - } - }, - "ExpenseForm": { - "Income": { - "create": "Einnahme erstellen", - "edit": "Einnahme bearbeiten", - "TitleField": { - "label": "Titel der Einnahme", - "placeholder": "Montagabend Restaurant", - "description": "Füge eine Beschreibung für die Einnahme hinzu." - }, - "DateField": { - "label": "Datum der Einnahme", - "description": "Füge ein Datum hinzu für wann die Einnahme erhalten wurde." - }, - "categoryFieldDescription": "Wähle die Kategorie der Einnahme.", - "paidByField": { - "label": "Empfangen von", - "description": "Wähle das Mitglied, das die Einnahme erhalten hat." - }, - "paidFor": { - "title": "Empfangen für", - "description": "Wähle für wen die Einnahme empfangen wurde." - }, - "splitModeDescription": "Wähle, wie die Einnahme aufgeteilt werden soll.", - "attachDescription": "Füge der Einnahme einen Beleg hinzu." - }, - "Expense": { - "create": "Augabe erstellen", - "edit": "Ausgabe bearbeiten", - "TitleField": { - "label": "Titel der Ausgabe", - "placeholder": "Montagabend Restaurant", - "description": "Füge eine Beschreibung für die Ausgabe hinzu." - }, - "DateField": { - "label": "Datum der Ausgabe", - "description": "Füge das Datum ein, zu dem die Ausgabe getätigt wurde." - }, - "categoryFieldDescription": "Wähle eine Kategorie für die Ausgabe.", - "paidByField": { - "label": "Gezahlt von", - "description": "Wähle das Mitglied, das die Ausgabe bezahlt hat." - }, - "paidFor": { - "title": "Gezahlt für", - "description": "Wähle für wen die Ausgabe gezahlt wurde." - }, - "splitModeDescription": "Wähle, wie die Ausgabe aufgeteilt werden soll.", - "attachDescription": "Füge der Ausgabe einen Beleg hinzu." - }, - "amountField": { - "label": "Betrag" - }, - "isReimbursementField": { - "label": "Das ist eine Rückzahlung" - }, - "categoryField": { - "label": "Kategorie" - }, - "notesField": { - "label": "Notizen" - }, - "selectNone": "Keine auswählen", - "selectAll": "Alle auswählen", - "shares": "Anteil(e)", - "advancedOptions": "Fortgeschrittene Aufteilungsoptionen…", - "SplitModeField": { - "label": "Aufteilungsart", - "evenly": "Gleich verteilt", - "byShares": "Ungleich – Nach Anteilen", - "byPercentage": "Ungleich – Prozentual", - "byAmount": "Ungleich – Nach Betrag", - "saveAsDefault": "Als Standardoptionen zur Aufteilung speichern" - }, - "DeletePopup": { - "label": "Löschen", - "title": "Diese Ausgabe löschen?", - "description": "Willst du diese Ausgabe wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.", - "yes": "Ja", - "cancel": "Abbrechen" - }, - "attachDocuments": "Dokument hinzufügen", - "create": "Erstellen", - "creating": "Erstellt…", - "save": "Speichern", - "saving": "Speichert…", - "cancel": "Abbrechen", - "reimbursement": "Rückzahlung" - }, - "ExpenseDocumentsInput": { - "TooBigToast": { - "title": "Die Datei ist zu groß", - "description": "Die maximale Dateigröße ist {maxSize}. Deine ist ${size}." - }, - "ErrorToast": { - "title": "Fehler beim Hochladen der Datei", - "description": "Beim Hochladen der Datei ist etwas schiefgelaufen. Versuche es später nochmal oder wähle eine andere Datei.", - "retry": "Wiederholen" - } - }, - "CreateFromReceipt": { - "Dialog": { - "triggerTitle": "Ausgabe von Rechnungsbeleg erstellen", - "title": "Von Rechnungsbeleg erstellen", - "description": "Ausgabeninformationen von einem Foto einer Rechnung lesen.", - "body": "Lade ein Foto der Rechnung hoch und wir versuchen die Ausgabeinformationen zu extrahieren", - "selectImage": "Bild wählen…", - "titleLabel": "Titel:", - "categoryLabel": "Kategorie:", - "amountLabel": "Betrag:", - "dateLabel": "Datum:", - "editNext": "Als nächstes kannst du die Informationen zur Ausgabe editieren.", - "continue": "Weiter" - }, - "unknown": "Unbekannt", - "TooBigToast": { - "title": "Die Datei ist zu groß", - "description": "Die maximale Dateigröße ist {maxSize}. Deine ist ${size}." - }, - "ErrorToast": { - "title": "Fehler beim Hochladen der Datei", - "description": "Beim Hochladen der Datei ist etwas schiefgelaufen. Versuche es später nochmal oder wähle eine andere Datei.", - "retry": "Wiederholen" - } - }, - "Balances": { - "title": "Bilanz", - "description": "Das sind die Beträge, die jedes Mitglied bezahlt oder empfangen hat.", - "Reimbursements": { - "title": "Vorgeschlagene Rückzahlungen", - "description": "Hier sind Vorschläge für optimierte Rückzahlungen zwischen Mitgliedern.", - "noImbursements": "Es sieht aus, als seien in der Gruppe keine Rückzahlungen nötig 😁", - "owes": "{from} schuldet {to}", - "markAsPaid": "Als gezahlt markieren" - } - }, - "Stats": { - "title": "Statistiken", - "Totals": { - "title": "Gesamtausgaben", - "description": "Zusammenfassung der Ausgaben der gesamten Gruppe.", - "groupSpendings": "Gesamte Ausgaben der Gruppe", - "groupEarnings": "Gesamte Einnahmen der Gruppe", - "yourSpendings": "Deine gesamten Ausgaben", - "yourEarnings": "Deine gesamten Einnahmen", - "yourShare": "Dein gesamter Anteil" - } - }, - "Activity": { - "title": "Aktivitäten", - "description": "Zusammenfassung aller Aktivitäten in dieser Gruppe.", - "noActivity": "Es gab noch keine Aktivität in dieser Gruppe.", - "someone": "Jemand", - "settingsModified": "Die Gruppeneinstellungen wurden von {participant} verändert.", - "expenseCreated": "Augabe {expense} wurde von {participant} erstellt.", - "expenseUpdated": "Ausgabe {expense} wurde von {participant} aktualisiert.", - "expenseDeleted": "Ausgabe {expense} wurde von {participant} gelöscht.", - "Groups": { - "today": "Heute", - "yesterday": "Gestern", - "earlierThisWeek": "Diese Woche", - "lastWeek": "Letze Woche", - "earlierThisMonth": "Diesen Monat", - "lastMonth": "Letzen Monat", - "earlierThisYear": "Dieses Jahr", - "lastYear": "Letztes Jahr", - "older": "Älter" - } - }, - "Information": { - "title": "Informationen", - "description": "Nutze diesen Ort, um Informationen hinzuzufügen, die für die Gruppenmitglieder wichtig sein könnten.", - "empty": "Noch keine Gruppeninformationen vorhanden." - }, - "Settings": { - "title": "Einstellungen" - }, - "Locale": { - "en-US": "English", - "fi": "Suomi", - "fr-FR": "Français", - "es": "Español", - "de-DE": "Deutsch", - "zh-CN": "Chinese (Simplified)", - "pl-PL": "Polski", - "ru-RU": "Русский", - "it-IT": "Italiano", - "ua-UA": "Українська", - "ro": "Română" - }, - "Share": { - "title": "Teilen", - "description": "Teile die URL, damit andere Mitglieder die Gruppe sehen und Ausgaben hinzufügen können.", - "warning": "Achtung!", - "warningHelp": "Jede person mit der Gruppen-URL kann Ausgaben sehen und editieren. Teile den Link mit Bedacht!" - }, - "SchemaErrors": { - "min1": "Gib mindestens ein Zeichen ein.", - "min2": "Gib mindestens zwei Zeichen ein.", - "max5": "Gib maximal fünf Zeichen ein.", - "max50": "Gib maximal 50 Zeichen ein.", - "duplicateParticipantName": "Der Name ist bereits an ein anderes Gruppenmitglied vergeben.", - "titleRequired": "Bitte gib einen Titel an.", - "invalidNumber": "Zahl nicht valide.", - "amountRequired": "Du musst einen Betrag angeben.", - "amountNotZero": "Der Betrag darf nicht 0 sein.", - "amountTenMillion": "Der Betrag muss kleiner als 10.000.000 sein", - "paidByRequired": "Du musst ein Mitglied auswählen.", - "paidForMin1": "Die Ausgabe muss mindestens für ein Mitglied bezahlt werden.", - "noZeroShares": "Alle Anteile müssen größer als 0 sein.", - "amountSum": "Die Summe der Beträge muss dem Betrag der Ausgabe entsprechen.", - "percentageSum": "Die Summe der prozentualen Anteile muss 100 ergeben." - }, - "Categories": { - "search": "Nach Kategorie suchen...", - "noCategory": "Keine Kategorie gefunden.", - "Uncategorized": { - "heading": "Nicht kategorisiert", - "General": "Allgemein", - "Payment": "Zahlung" - }, - "Entertainment": { - "heading": "Vergnügen", - "Entertainment": "Vergnügen", - "Games": "Spiele", - "Movies": "Filme", - "Music": "Musik", - "Sports": "Sport" - }, - "Food and Drink": { - "heading": "Essen und Trinken", - "Food and Drink": "Essen und Trinken", - "Dining Out": "Essen gehen", - "Groceries": "Lebensmittel", - "Liquor": "Alkohol" - }, - "Home": { - "heading": "Zuhause", - "Home": "Zuhause", - "Electronics": "Elektronik", - "Furniture": "Möbel", - "Household Supplies": "Haushaltsgegenstände", - "Maintenance": "Wartung", - "Mortgage": "Hypothek", - "Pets": "Haustiere", - "Rent": "Miete", - "Services": "Dienstleistungen" - }, - "Life": { - "heading": "Leben", - "Childcare": "Kinderversorgung", - "Clothing": "Kleidung", - "Education": "Bildung", - "Gifts": "Geschenke", - "Insurance": "Versicherung", - "Medical Expenses": "Medizinische Ausgaben", - "Taxes": "Steuern" - }, - "Transportation": { - "heading": "Transport", - "Transportation": "Transport", - "Bicycle": "Fahrrad", - "Bus/Train": "Bus/Bahn", - "Car": "Auto", - "Gas/Fuel": "Tanken", - "Hotel": "Hotel", - "Parking": "Parken", - "Plane": "Flugzeug", - "Taxi": "Taxi" - }, - "Utilities": { - "heading": "Versorgung", - "Utilities": "Versorgung", - "Cleaning": "Reinigung/Putzen", - "Electricity": "Strom", - "Heat/Gas": "Heizung", - "Trash": "Müll", - "TV/Phone/Internet": "TV/Internet/Telefonie", - "Water": "Wasser" - } - } -} diff --git a/messages/en-US.json b/messages/en-US.json deleted file mode 100644 index 3648012..0000000 --- a/messages/en-US.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "Homepage": { - "title": "Share Expenses with Friends & Family", - "description": "Welcome to your new Spliit instance !", - "button": { - "groups": "Go to groups", - "github": "GitHub" - } - }, - "Header": { - "groups": "Groups" - }, - "Footer": { - "madeIn": "Made in Montréal, Québec 🇨🇦", - "builtBy": "Built by Sebastien Castiel and contributors" - }, - "Expenses": { - "title": "Expenses", - "description": "Here are the expenses that you created for your group.", - "create": "Create expense", - "createFirst": "Create the first one", - "noExpenses": "Your group doesn’t contain any expense yet.", - "exportJson": "Export to JSON", - "searchPlaceholder": "Search for an expense…", - "ActiveUserModal": { - "title": "Who are you?", - "description": "Tell us which participant you are to let us customize how the information is displayed.", - "nobody": "I don’t want to select anyone", - "save": "Save changes", - "footer": "This setting can be changed later in the group settings." - }, - "Groups": { - "upcoming": "Upcoming", - "thisWeek": "This week", - "earlierThisMonth": "Earlier this month", - "lastMonth": "Last month", - "earlierThisYear": "Earlier this year", - "lastYera": "Last year", - "older": "Older" - } - }, - "ExpenseCard": { - "paidBy": "Paid by {paidBy} for ", - "receivedBy": "Received by {paidBy} for ", - "yourBalance": "Your balance:" - }, - "Groups": { - "myGroups": "My groups", - "create": "Create", - "loadingRecent": "Loading recent groups…", - "NoRecent": { - "description": "You have not visited any group recently.", - "create": "Create one", - "orAsk": "or ask a friend to send you the link to an existing one." - }, - "recent": "Recent groups", - "starred": "Starred groups", - "archived": "Archived groups", - "archive": "Archive group", - "unarchive": "Unarchive group", - "removeRecent": "Remove from recent groups", - "RecentRemovedToast": { - "title": "Group has been removed", - "description": "The group was removed from your recent groups list.", - "undoAlt": "Undo group removal", - "undo": "Undo" - }, - "AddByURL": { - "button": "Add by URL", - "title": "Add a group by URL", - "description": "If a group was shared with you, you can paste its URL here to add it to your list.", - "error": "Oops, we are not able to find the group from the URL you provided…" - }, - "NotFound": { - "text": "This group does not exist.", - "link": "Go to recently visited groups" - } - }, - "GroupForm": { - "title": "Group information", - "NameField": { - "label": "Group name", - "placeholder": "Summer vacations", - "description": "Enter a name for your group." - }, - "InformationField": { - "label": "Group information", - "placeholder": "What information is relevant to group participants?" - }, - "CurrencyField": { - "label": "Currency symbol", - "placeholder": "$, €, £…", - "description": "We’ll use it to display amounts." - }, - "Participants": { - "title": "Participants", - "description": "Enter the name for each participant.", - "protectedParticipant": "This participant is part of expenses, and can not be removed.", - "new": "New", - "add": "Add participant", - "John": "John", - "Jane": "Jane", - "Jack": "Jack" - }, - "Settings": { - "title": "Local settings", - "description": "These settings are set per-device, and are used to customize your experience.", - "ActiveUserField": { - "label": "Active user", - "placeholder": "Select a participant", - "none": "None", - "description": "User used as default for paying expenses." - }, - "save": "Save", - "saving": "Saving…", - "create": "Create", - "creating": "Creating…", - "cancel": "Cancel" - } - }, - "ExpenseForm": { - "Income": { - "create": "Create income", - "edit": "Edit income", - "TitleField": { - "label": "Income title", - "placeholder": "Monday evening restaurant", - "description": "Enter a description for the income." - }, - "DateField": { - "label": "Income date", - "description": "Enter the date the income was received." - }, - "categoryFieldDescription": "Select the income category.", - "paidByField": { - "label": "Received by", - "description": "Select the participant who received the income." - }, - "paidFor": { - "title": "Received for", - "description": "Select who the income was received for." - }, - "splitModeDescription": "Select how to split the income.", - "attachDescription": "See and attach receipts to the income." - }, - "Expense": { - "create": "Create expense", - "edit": "Edit expense", - "TitleField": { - "label": "Expense title", - "placeholder": "Monday evening restaurant", - "description": "Enter a description for the expense." - }, - "DateField": { - "label": "Expense date", - "description": "Enter the date the expense was paid." - }, - "categoryFieldDescription": "Select the expense category.", - "paidByField": { - "label": "Paid by", - "description": "Select the participant who paid the expense." - }, - "paidFor": { - "title": "Paid for", - "description": "Select who the expense was paid for." - }, - "splitModeDescription": "Select how to split the expense.", - "attachDescription": "See and attach receipts to the expense." - }, - "amountField": { - "label": "Amount" - }, - "isReimbursementField": { - "label": "This is a reimbursement" - }, - "categoryField": { - "label": "Category" - }, - "notesField": { - "label": "Notes" - }, - "selectNone": "Select none", - "selectAll": "Select all", - "shares": "share(s)", - "advancedOptions": "Advanced splitting options…", - "SplitModeField": { - "label": "Split mode", - "evenly": "Evenly", - "byShares": "Unevenly – By shares", - "byPercentage": "Unevenly – By percentage", - "byAmount": "Unevenly – By amount", - "saveAsDefault": "Save as default splitting options" - }, - "DeletePopup": { - "label": "Delete", - "title": "Delete this expense?", - "description": "Do you really want to delete this expense? This action is irreversible.", - "yes": "Yes", - "cancel": "Cancel" - }, - "attachDocuments": "Attach documents", - "create": "Create", - "creating": "Creating…", - "save": "Save", - "saving": "Saving…", - "cancel": "Cancel", - "reimbursement": "Reimbursement" - }, - "ExpenseDocumentsInput": { - "TooBigToast": { - "title": "The file is too big", - "description": "The maximum file size you can upload is {maxSize}. Yours is ${size}." - }, - "ErrorToast": { - "title": "Error while uploading document", - "description": "Something wrong happened when uploading the document. Please retry later or select a different file.", - "retry": "Retry" - } - }, - "CreateFromReceipt": { - "Dialog": { - "triggerTitle": "Create expense from receipt", - "title": "Create from receipt", - "description": "Extract the expense information from a receipt photo.", - "body": "Upload the photo of a receipt, and we’ll scan it to extract the expense information if we can.", - "selectImage": "Select image…", - "titleLabel": "Title:", - "categoryLabel": "Category:", - "amountLabel": "Amount:", - "dateLabel": "Date:", - "editNext": "You’ll be able to edit the expense information next.", - "continue": "Continue" - }, - "unknown": "Unknown", - "TooBigToast": { - "title": "The file is too big", - "description": "The maximum file size you can upload is {maxSize}. Yours is ${size}." - }, - "ErrorToast": { - "title": "Error while uploading document", - "description": "Something wrong happened when uploading the document. Please retry later or select a different file.", - "retry": "Retry" - } - }, - "Balances": { - "title": "Balances", - "description": "This is the amount that each participant paid or was paid for.", - "Reimbursements": { - "title": "Suggested reimbursements", - "description": "Here are suggestions for optimized reimbursements between participants.", - "noImbursements": "It looks like your group doesn’t need any reimbursement 😁", - "owes": "{from} owes {to}", - "markAsPaid": "Mark as paid" - } - }, - "Stats": { - "title": "Stats", - "Totals": { - "title": "Totals", - "description": "Spending summary of the entire group.", - "groupSpendings": "Total group spendings", - "groupEarnings": "Total group earnings", - "yourSpendings": "Your total spendings", - "yourEarnings": "Your total earnings", - "yourShare": "Your total share" - } - }, - "Activity": { - "title": "Activity", - "description": "Overview of all activity in this group.", - "noActivity": "There is not yet any activity in your group.", - "someone": "Someone", - "settingsModified": "Group settings were modified by {participant}.", - "expenseCreated": "Expense {expense} created by {participant}.", - "expenseUpdated": "Expense {expense} updated by {participant}.", - "expenseDeleted": "Expense {expense} deleted by {participant}.", - "Groups": { - "today": "Today", - "yesterday": "Yesterday", - "earlierThisWeek": "Earlier this week", - "lastWeek": "Last week", - "earlierThisMonth": "Earlier this month", - "lastMonth": "Last month", - "earlierThisYear": "Earlier this year", - "lastYear": "Last year", - "older": "Older" - } - }, - "Information": { - "title": "Information", - "description": "Use this place to add any information that can be relevant to the group participants.", - "empty": "No group information yet." - }, - "Settings": { - "title": "Settings" - }, - "Locale": { - "en-US": "English", - "fi": "Suomi", - "fr-FR": "Français", - "es": "Español", - "de-DE": "Deutsch", - "zh-CN": "Chinese (Simplified)", - "pl-PL": "Polski", - "ru-RU": "Русский", - "it-IT": "Italiano", - "ua-UA": "Українська", - "ro": "Română" - }, - "Share": { - "title": "Share", - "description": "For other participants to see the group and add expenses, share its URL with them.", - "warning": "Warning!", - "warningHelp": "Every person with the group URL will be able to see and edit expenses. Share with caution!" - }, - "SchemaErrors": { - "min1": "Enter at least one character.", - "min2": "Enter at least two characters.", - "max5": "Enter at most five characters.", - "max50": "Enter at most 50 characters.", - "duplicateParticipantName": "Another participant already has this name.", - "titleRequired": "Please enter a title.", - "invalidNumber": "Invalid number.", - "amountRequired": "You must enter an amount.", - "amountNotZero": "The amount must not be zero.", - "amountTenMillion": "The amount must be lower than 10,000,000.", - "paidByRequired": "You must select a participant.", - "paidForMin1": "The expense must be paid for at least one participant.", - "noZeroShares": "All shares must be higher than 0.", - "amountSum": "Sum of amounts must equal the expense amount.", - "percentageSum": "Sum of percentages must equal 100." - }, - "Categories": { - "search": "Search category...", - "noCategory": "No category found.", - "Uncategorized": { - "heading": "Uncategorized", - "General": "General", - "Payment": "Payment" - }, - "Entertainment": { - "heading": "Entertainment", - "Entertainment": "Entertainment", - "Games": "Games", - "Movies": "Movies", - "Music": "Music", - "Sports": "Sports" - }, - "Food and Drink": { - "heading": "Food and Drink", - "Food and Drink": "Food and Drink", - "Dining Out": "Dining Out", - "Groceries": "Groceries", - "Liquor": "Liquor" - }, - "Home": { - "heading": "Home", - "Home": "Home", - "Electronics": "Electronics", - "Furniture": "Furniture", - "Household Supplies": "Household Supplies", - "Maintenance": "Maintenance", - "Mortgage": "Mortgage", - "Pets": "Pets", - "Rent": "Rent", - "Services": "Services" - }, - "Life": { - "heading": "Life", - "Childcare": "Childcare", - "Clothing": "Clothing", - "Education": "Education", - "Gifts": "Gifts", - "Insurance": "Insurance", - "Medical Expenses": "Medical Expenses", - "Taxes": "Taxes" - }, - "Transportation": { - "heading": "Transportation", - "Transportation": "Transportation", - "Bicycle": "Bicycle", - "Bus/Train": "Bus/Train", - "Car": "Car", - "Gas/Fuel": "Gas/Fuel", - "Hotel": "Hotel", - "Parking": "Parking", - "Plane": "Plane", - "Taxi": "Taxi" - }, - "Utilities": { - "heading": "Utilities", - "Utilities": "Utilities", - "Cleaning": "Cleaning", - "Electricity": "Electricity", - "Heat/Gas": "Heat/Gas", - "Trash": "Trash", - "TV/Phone/Internet": "TV/Phone/Internet", - "Water": "Water" - } - } -} diff --git a/messages/es.json b/messages/es.json deleted file mode 100644 index 8bdc42f..0000000 --- a/messages/es.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "Homepage": { - "title": "Comparte Gastos con Amigos y Familia", - "description": "¡Bienvenido a tu nueva instancia de Spliit!", - "button": { - "groups": "Ir a grupos", - "github": "GitHub" - } - }, - "Header": { - "groups": "Grupos" - }, - "Footer": { - "madeIn": "Hecho en Montréal, Québec 🇨🇦", - "builtBy": "Construido por Sebastien Castiel y colaboradores" - }, - "Expenses": { - "title": "Gastos", - "description": "Aqui encontraras los gastos que has creado para tu grupo.", - "create": "Crear gasto", - "createFirst": "Crea el primero", - "noExpenses": "Tu grupo aun no tiene gastos.", - "exportJson": "Exportar a JSON", - "searchPlaceholder": "Busca un gasto…", - "ActiveUserModal": { - "title": "¿Quién es usted?", - "description": "Dinos qué participante eres para que podamos personalizar cómo se muestra la información.", - "nobody": "No quiero seleccionar a nadie", - "save": "Guardar cambios", - "footer": "Esta configuración puede modificarse posteriormente en los ajustes del grupo." - }, - "Groups": { - "upcoming": "Próximamente", - "thisWeek": "Esta semana", - "earlierThisMonth": "A principios de este mes", - "lastMonth": "El mes pasado", - "earlierThisYear": "A principios de este año", - "lastYera": "El año pasado", - "older": "Más antiguos" - } - }, - "ExpenseCard": { - "paidBy": "Pagado por {paidBy} para ", - "receivedBy": "Recibido por {paidBy} para ", - "yourBalance": "Tu balance:" - }, - "Groups": { - "myGroups": "Mis grupos", - "create": "Crear", - "loadingRecent": "Cargando grupos recientes…", - "NoRecent": { - "description": "No has visitado ningun grupo recientemente.", - "create": "Crea uno", - "orAsk": "o pídele a un amigo que te envíe el enlace a uno ya existente.." - }, - "recent": "Grupos recientes", - "starred": "Grupos favoritos", - "archived": "Grupos archivados", - "archive": "Archivar grupo", - "unarchive": "Desarchivar groupo", - "removeRecent": "Remove from recent groups", - "RecentRemovedToast": { - "title": "El grupo fue eliminado", - "description": "El grupo ha sido eliminado de tu lista de grupos recientes.", - "undoAlt": "Deshacer la eliminación del grupo", - "undo": "Deshacer" - }, - "AddByURL": { - "button": "Añadir mediante url", - "title": "Añadir grupo mediante url", - "description": "Si te han compartido un grupo, puedes pegar aquí su URL para añadirlo a tu lista.", - "error": "Oops, no somos capaces de encontrar el grupo desde la URL que has proporcionado..." - }, - "NotFound": { - "text": "Este grupo no existe.", - "link": "Ir a los últimos grupos visitados" - } - }, - "GroupForm": { - "title": "Información del grupo", - "NameField": { - "label": "Nombre del grupo", - "placeholder": "Vacaciones en Barcelona", - "description": "Inserta un nombre para tu nuevo grupo." - }, - "InformationField": { - "label": "Información del grupo", - "placeholder": "Qué información es relevante para los participantes del grupo?" - }, - "CurrencyField": { - "label": "Símbolo de divisa", - "placeholder": "$, €, £…", - "description": "Lo usaremos para mostrar balances." - }, - "Participants": { - "title": "Participantes", - "description": "Ingresa el nombre de cada participante.", - "protectedParticipant": "Estos participantes forman parte de gastos y no pueden ser eliminados.", - "new": "Nuevo", - "add": "Añadir participante", - "John": "Juan", - "Jane": "Maria", - "Jack": "Sergio" - }, - "Settings": { - "title": "Ajustes locales", - "description": "Estos ajustes se establecen por dispositivo y se utilizan para personalizar su experiencia.", - "ActiveUserField": { - "label": "Usuario activo", - "placeholder": "Selecciona un participante...", - "none": "Ninguno", - "description": "Usuario que paga los gastos por defecto." - }, - "save": "Guardar", - "saving": "Guardando", - "create": "Crear", - "creating": "Creando", - "cancel": "Cancelar" - } - }, - "ExpenseForm": { - "Income": { - "create": "Crear ingreso", - "edit": "Editar ingreso", - "TitleField": { - "label": "Título del ingreso", - "placeholder": "Comida Hamburgeseria", - "description": "Introduce una descripción para este ingreso." - }, - "DateField": { - "label": "Fecha del ingreso", - "description": "Ingresa la fecha en que se recibio el ingreso." - }, - "categoryFieldDescription": "Seleccione la categoría de ingresos.", - "paidByField": { - "label": "Recibido por", - "description": "Seleccione el participante que recibió los ingresos." - }, - "paidFor": { - "title": "Recibido para for", - "description": "Seleccione para quién se recibió el ingreso." - }, - "splitModeDescription": "Seleccione como quieres dividir el ingreso.", - "attachDescription": "Ver y adjuntar tickets para el ingreso." - }, - "Expense": { - "create": "Crear gasto", - "edit": "Editar gasto", - "TitleField": { - "label": "Título del gasto", - "placeholder": "Monday evening restaurant", - "description": "Enter a description for the expense." - }, - "DateField": { - "label": "Fecha del gasto", - "description": "Ingresa la fecha en que se recibio el gasto." - }, - "categoryFieldDescription": "Select the expense category.", - "paidByField": { - "label": "Pagado por", - "description": "Seleccione el participante que pagó el gasto." - }, - "paidFor": { - "title": "Pagado para", - "description": "Seleccione para quién se pagó el gasto." - }, - "splitModeDescription": "Seleccione como quieres dividir el gasto.", - "attachDescription": "Ver y adjuntar tickets para el gasto." - }, - "amountField": { - "label": "Cantidad" - }, - "isReimbursementField": { - "label": "Esto es un reembolso" - }, - "categoryField": { - "label": "Categoria" - }, - "notesField": { - "label": "Notas" - }, - "selectNone": "Seleccionar ninguno", - "selectAll": "Seleccionar todos", - "shares": "partes", - "advancedOptions": "Opciones avanzadas", - "SplitModeField": { - "label": "Modo de división", - "evenly": "Uniformemente", - "byShares": "Desigualmente – Por partes", - "byPercentage": "Desigualmente – por porcentaje", - "byAmount": "Desigualmente – por cantidad", - "saveAsDefault": "Guardar como modo preferido" - }, - "DeletePopup": { - "label": "Borrar", - "title": "Borrar gasto?", - "description": "Seguro que quieres borrar este gasto? Esta acción es irreversible.", - "yes": "Si", - "cancel": "Cancelar" - }, - "attachDocuments": "Adjuntar documentos", - "create": "Crear", - "creating": "Creando", - "save": "Guardar", - "saving": "Guardando", - "cancel": "Cancelar", - "reimbursement": "Reembolso" - }, - "ExpenseDocumentsInput": { - "TooBigToast": { - "title": "El archivo es demasiado grande", - "description": "El tamaño máximo de archivo que puede cargar es {maxSize}. El tuyo pesa ${size}." - }, - "ErrorToast": { - "title": "Error al cargar el documento", - "description": "Ha ocurrido un error al cargar el documento. Vuelva a intentarlo más tarde o seleccione otro archivo.", - "retry": "Reintentar" - } - }, - "CreateFromReceipt": { - "Dialog": { - "triggerTitle": "Crear gasto desde ticket", - "title": "Crear desde ticket", - "description": "Extraer la información de gastos de una foto de recibo.", - "body": "Sube la foto de un recibo y lo escanearemos para extraer la información del gasto si podemos.", - "selectImage": "Seleccionar imagen…", - "titleLabel": "Titulo:", - "categoryLabel": "Categoria:", - "amountLabel": "Cantidad:", - "dateLabel": "Fecha:", - "editNext": "A continuación podrá editar la información de los gastos.", - "continue": "Continuar" - }, - "unknown": "Desconocido", - "TooBigToast": { - "title": "El archivo es demasiado grande", - "description": "El tamaño máximo de archivo que puede cargar es {maxSize}. El tuyo pesa ${size}." - }, - "ErrorToast": { - "title": "Error al cargar el documento", - "description": "Ha ocurrido un error al cargar el documento. Vuelva a intentarlo más tarde o seleccione otro archivo.", - "retry": "Reintentar" - } - }, - "Balances": { - "title": "Balances", - "description": "Se trata del importe que ha pagado o ha recibido cada participante.", - "Reimbursements": { - "title": "Reembolsos propuestos", - "description": "He aquí algunas sugerencias para optimizar los reembolsos entre los participantes.", - "noImbursements": "Parece que tu grupo no necesita ningún reembolso 😁", - "owes": "{from} debe {to}", - "markAsPaid": "Marcar como pagado" - } - }, - "Stats": { - "title": "Estadísticas", - "Totals": { - "title": "Totales", - "description": "Resumen de gastos de todo el grupo.", - "groupSpendings": "Gastos de todo el grupo", - "groupEarnings": "Ingresos de todo el grupo", - "yourSpendings": "Tus gastos totales", - "yourEarnings": "Tus ingresos totales", - "yourShare": "Tu parte final" - } - }, - "Activity": { - "title": "Actividad", - "description": "Aquí encontrarás todas las actividades recientes en tu grupo.", - "noActivity": "No hay actividad reciente en este grupo.", - "someone": "Alguien", - "settingsModified": "Los ajustes del grupo fueron modificados por {participant}.", - "expenseCreated": "Gasto {expense} creado por {participant}.", - "expenseUpdated": "Gasto {expense} actualizado por {participant}.", - "expenseDeleted": "Gasto {expense} borrado por {participant}.", - "Groups": { - "today": "Hoy", - "yesterday": "Ayer", - "earlierThisWeek": "A principios de esta semana", - "lastWeek": "La semana pasada", - "earlierThisMonth": "A principios de este mes", - "lastMonth": "El mes pasado", - "earlierThisYear": "A principios de este año", - "lastYear": "El ultimo año", - "older": "Más antiguos" - } - }, - "Information": { - "title": "Información", - "description": "Utilice este lugar para añadir cualquier información que pueda ser relevante para los participantes del grupo.", - "empty": "Aún no hay información sobre el grupo." - }, - "Settings": { - "title": "Ajustes" - }, - "Locale": { - "en-US": "English", - "fi": "Suomi", - "fr-FR": "Français", - "es": "Español", - "de-DE": "Deutsch", - "zh-CN": "Chinese (Simplified)", - "pl-PL": "Polski", - "ru-RU": "Русский", - "it-IT": "Italiano", - "ua-UA": "Українська", - "ro": "Română" - }, - "Share": { - "title": "Compartir", - "description": "Para que otros participantes puedan ver el grupo y añadir gastos, compárteles su URL.", - "warning": "Cuidado!", - "warningHelp": "Todas las personas que tengan la URL del grupo podrán ver y editar los gastos. ¡Comparte con precaución!" - }, - "SchemaErrors": { - "min1": "Introduzca al menos un carácter.", - "min2": "Introduzca al menos dos carácter.", - "max5": "Introduzca al menos cinco carácter.", - "max50": "Introduzca al menos treinta carácter.", - "duplicateParticipantName": "Otro participante ya tiene este nombre", - "titleRequired": "Por favor, introduzca un título", - "invalidNumber": "Número inválido", - "amountRequired": "Debe introducir un importe", - "amountNotZero": "El importe no debe ser cero.", - "amountTenMillion": "El importe debe ser inferior a 10.000.000.", - "paidByRequired": "Debe seleccionar un participante", - "paidForMin1": "El gasto debe ser pagado por al menos un participante", - "noZeroShares": "Todas las participaciones deben ser superiores a 0", - "amountSum": "La suma de los importes debe ser igual al importe del gasto", - "percentageSum": "Suma de porcentajes debe ser igual a 100" - }, - "Categories": { - "search": "Buscar categoría...", - "noCategory": "Categoría no encontrada!", - "Uncategorized": { - "heading": "Sin categoría", - "General": "General", - "Payment": "Pago" - }, - "Entertainment": { - "heading": "Ocio", - "Entertainment": "Ocio", - "Games": "Juegos", - "Movies": "Películas", - "Music": "Musica", - "Sports": "Deportes" - }, - "Food and Drink": { - "heading": "Comida y bebida", - "Food and Drink": "Comida y bebida", - "Dining Out": "Comer fuera", - "Groceries": "Comestibles", - "Liquor": "Licores" - }, - "Home": { - "heading": "Hogar", - "Home": "Hogar", - "Electronics": "Electrónica", - "Furniture": "Muebles", - "Household Supplies": "Suministros del hogar", - "Maintenance": "Mantenimiento", - "Mortgage": "Hipoteca", - "Pets": "Mascotas", - "Rent": "Alquiler", - "Services": "Servicios" - }, - "Life": { - "heading": "Vida", - "Childcare": "Cuidado de niños", - "Clothing": "Ropa", - "Education": "Educación", - "Gifts": "Regalos", - "Insurance": "Seguro", - "Medical Expenses": "Gastos médicos", - "Taxes": "Impuestos" - }, - "Transportation": { - "heading": "Transporte", - "Transportation": "Transporte", - "Bicycle": "Bicicleta", - "Bus/Train": "Autobús/Tren", - "Car": "Coche", - "Gas/Fuel": "Gasolina/Combustible", - "Hotel": "Hotel", - "Parking": "Parking", - "Plane": "Avión", - "Taxi": "Taxi" - }, - "Utilities": { - "heading": "Utilidades", - "Utilities": "Utilidades", - "Cleaning": "Limpieza", - "Electricity": "Electricidad", - "Heat/Gas": "Calefacción/Gas", - "Trash": "Basura", - "TV/Phone/Internet": "TV/Teléfono/Internet", - "Water": "Agua" - } - } -} diff --git a/messages/fi.json b/messages/fi.json deleted file mode 100644 index 97365e7..0000000 --- a/messages/fi.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "Homepage": { - "title": "Jaa kulut ystävien ja perheen kanssa", - "description": "Tervetuloa uuteen Spliit-instanssiisi!", - "button": { - "groups": "Siirry ryhmiin", - "github": "GitHub" - } - }, - "Header": { - "groups": "Ryhmät" - }, - "Footer": { - "madeIn": "Made in Montréal, Québec 🇨🇦", - "builtBy": "Tekijät: Sebastien Castiel ja muut osallistujat" - }, - "Expenses": { - "title": "Kulut", - "description": "Tässä ovat ryhmässä luodut kulut.", - "create": "Lisää kulu", - "createFirst": "Lisää ensimmäinen kulu", - "noExpenses": "Ryhmälläsi ei ole vielä yhtään kulua.", - "exportJson": "Vie JSON-tiedostoon", - "searchPlaceholder": "Etsi kulua…", - "ActiveUserModal": { - "title": "Kuka olet?", - "description": "Valitse kuka osallistujista olet, jotta tiedot näkyvät oikein.", - "nobody": "En halua valita ketään", - "save": "Tallenna muutokset", - "footer": "Tämän asetuksen voi vaihtaa myöhemmin ryhmän asetuksista." - }, - "Groups": { - "upcoming": "Tulevat", - "thisWeek": "Tällä viikolla", - "earlierThisMonth": "Aikaisemmin tässä kuussa", - "lastMonth": "Viime kuussa", - "earlierThisYear": "Aikaisemmin tänä vuonna", - "lastYear": "Viime vuonna", - "older": "Vanhemmat" - } - }, - "ExpenseCard": { - "paidBy": "{paidBy} maksoi {forCount, plural, =1 {henkilön} other {henkilöiden}} puolesta", - "receivedBy": "{paidBy} sai rahaa {forCount, plural, =1 {henkilön} other {henkilöiden}} puolesta", - "yourBalance": "Saldosi:" - }, - "Groups": { - "myGroups": "Omat ryhmät", - "create": "Luo ryhmä", - "loadingRecent": "Ladataan äskettäisiä ryhmiä…", - "NoRecent": { - "description": "Et ole ollut missään ryhmässä äskettäin.", - "create": "Luo uusi ryhmä", - "orAsk": "tai pyydä ystävää lähettämään linkki olemassaolevaan ryhmään." - }, - "recent": "Äskettäiset", - "starred": "Suosikit", - "archived": "Arkistoidut", - "archive": "Arkistoi ryhmä", - "unarchive": "Palauta ryhmä arkistosta", - "removeRecent": "Poista äskettäisistä", - "RecentRemovedToast": { - "title": "Ryhmä poistettu", - "description": "Ryhmä poistettu äskettäisten listaltasi.", - "undoAlt": "Peruuta ryhmän poisto", - "undo": "Peruuta" - }, - "AddByURL": { - "button": "Lisää URLilla", - "title": "Lisää ryhmä URL-osoitteella", - "description": "Jos ryhmä on jaettu sinulle, voit lisätä sen listaasi liittämällä URL-osoitteen tähän.", - "error": "Hups, emme löytäneet ryhmää antamastasi URL-osoitteesta…" - }, - "NotFound": { - "text": "Tätä ryhmää ei löydy.", - "link": "Siirry äskettäisiin ryhmiin" - } - }, - "GroupForm": { - "title": "Ryhmän tiedot", - "NameField": { - "label": "Ryhmän nimi", - "placeholder": "Kesälomareissu", - "description": "Syötä ryhmäsi nimi." - }, - "InformationField": { - "label": "Ryhmän tiedot", - "placeholder": "Mitkä tiedot ovat merkityksellisiä ryhmän osallistujille?" - }, - "CurrencyField": { - "label": "Valuuttamerkki", - "placeholder": "$, €, £…", - "description": "Näytetään rahasummien yhteydessä." - }, - "Participants": { - "title": "Osallistujat", - "description": "Syötä jokaisen osallistujan nimi.", - "protectedParticipant": "Tätä osallistujaa ei voida poistaa, koska hän osallistuu kuluihin.", - "add": "Lisää osallistuja", - "new": "Uusi", - "John": "Antti", - "Jane": "Laura", - "Jack": "Jussi" - }, - "Settings": { - "title": "Paikalliset asetukset", - "description": "Nämä asetukset ovat laitekohtaisia. Voit muokata niillä käytettävyyttä.", - "ActiveUserField": { - "label": "Aktiivinen käyttäjä", - "placeholder": "Valitse osallistuja", - "none": "Ei kukaan", - "description": "Käytetään kulujen oletusmaksajana." - }, - "save": "Tallenna", - "saving": "Tallennetaan…", - "create": "Luo ryhmä", - "creating": "Luodaan…", - "cancel": "Peruuta" - } - }, - "ExpenseForm": { - "Income": { - "create": "Lisää tulo", - "edit": "Muokkaa tuloa", - "TitleField": { - "label": "Otsikko", - "placeholder": "Maanantain ravintola", - "description": "Anna lyhyt kuvaus tulolle." - }, - "DateField": { - "label": "Päivä", - "description": "Valitse päivä jolloin tulo saatiin." - }, - "categoryFieldDescription": "Valitse tulokategoria.", - "paidByField": { - "label": "Vastaanottaja", - "description": "Valitse kuka vastaanotti tulon." - }, - "paidFor": { - "title": "Tulon jakaminen", - "description": "Valitse kenelle tulo jaetaan." - }, - "splitModeDescription": "Valitse miten tulo jaetaan osallistujien kesken.", - "attachDescription": "Katso ja liitä tuloon liittyviä kuitteja." - }, - "Expense": { - "create": "Lisää kulu", - "edit": "Muokkaa kulua", - "TitleField": { - "label": "Otsikko", - "placeholder": "Maanantain ravintola", - "description": "Anna lyhyt kuvaus kululle." - }, - "DateField": { - "label": "Päivä", - "description": "Valitse päivä jolloin kulu maksettiin." - }, - "categoryFieldDescription": "Valitse kulukategoria.", - "paidByField": { - "label": "Maksaja", - "description": "Valitse kuka maksoi kulun." - }, - "paidFor": { - "title": "Kulun jakaminen", - "description": "Valitse ketkä osallistuvat kuluun." - }, - "splitModeDescription": "Valitse miten kulu jaetaan osallistujien kesken.", - "attachDescription": "Katso ja liitä kuluun liittyviä kuitteja." - }, - "amountField": { - "label": "Summa" - }, - "isReimbursementField": { - "label": "Tämä on velanmaksu" - }, - "categoryField": { - "label": "Kategoria" - }, - "notesField": { - "label": "Muistiinpanot" - }, - "selectNone": "Tyhjennä valinnat", - "selectAll": "Valitse kaikki", - "shares": "osuutta", - "advancedOptions": "Lisäasetuksia jakamiseen…", - "SplitModeField": { - "label": "Jakamistapa", - "evenly": "Tasan", - "byShares": "Epätasan – osuuksien mukaan", - "byPercentage": "Epätasan – prosenttien mukaan", - "byAmount": "Epätasan – summan mukaan", - "saveAsDefault": "Tallenna oletustavaksi" - }, - "DeletePopup": { - "label": "Poista", - "title": "Poistetaanko tämä kulu?", - "description": "Haluatko varmasti poistaa tämän kulun? Poistoa ei voi peruuttaa.", - "yes": "Kyllä", - "cancel": "Peruuta" - }, - "attachDocuments": "Liitä dokumenttejä", - "create": "Lisää kulu", - "creating": "Luodaan kulua…", - "save": "Tallenna", - "saving": "Tallennetaan…", - "cancel": "Peruuta", - "reimbursement": "Velanmaksu" - }, - "ExpenseDocumentsInput": { - "TooBigToast": { - "title": "Tiedosto on liian suuri", - "description": "Maksimikoko ladattavalle tiedostolle on {maxSize}. Tiedostosi on ${size}." - }, - "ErrorToast": { - "title": "Virhe tiedostoa ladattaessa", - "description": "Jokin meni vikaan dokumentin lataamisessa. Yritä myöhemmin uudelleen tai valitse toinen tiedosto.", - "retry": "Yritä uudelleen" - } - }, - "CreateFromReceipt": { - "Dialog": { - "triggerTitle": "Luo kulu kuitista", - "title": "Luo kuitista", - "description": "Lue kuitin valokuvasta kulun tiedot.", - "body": "Lataa kuitista valokuva. Siitä skannataan tiedot kulua varten.", - "selectImage": "Valitse kuva…", - "titleLabel": "Otsikko:", - "categoryLabel": "Kategoria:", - "amountLabel": "Summa:", - "dateLabel": "Päivä:", - "editNext": "Voit muokata kulun tietoja seuraavaksi.", - "continue": "Jatka" - }, - "unknown": "Unknown", - "TooBigToast": { - "title": "The file is too big", - "description": "The maximum file size you can upload is {maxSize}. Yours is ${size}." - }, - "ErrorToast": { - "title": "Error while uploading document", - "description": "Something wrong happened when uploading the document. Please retry later or select a different file.", - "retry": "Retry" - } - }, - "Balances": { - "title": "Saldo", - "description": "Osallistujien saatavat tai velat.", - "Reimbursements": { - "title": "Maksuehdotus", - "description": "Optimoitu ehdotus kuka maksaa kenellekin.", - "noImbursements": "Näyttää siltä, että kaikki ovat sujut 😁", - "owes": "{from} maksaa henkilölle {to}", - "markAsPaid": "Merkitse maksetuksi" - } - }, - "Stats": { - "title": "Tilastot", - "Totals": { - "title": "Yhteenveto", - "description": "Koko ryhmän kulut.", - "groupSpendings": "Koko ryhmän kulutus", - "groupEarnings": "Koko ryhmän saatavat", - "yourSpendings": "Kulutuksesi", - "yourEarnings": "Saatavasi", - "yourShare": "Osuutesi" - } - }, - "Activity": { - "title": "Tapahtumat", - "description": "Yleisnäkymä ryhmän kaikista tapahtumista.", - "noActivity": "Ryhmässäsi ei ole vielä tapahtumia.", - "someone": "Tuntematon", - "settingsModified": "{participant} muokkasi ryhmän asetuksia.", - "expenseCreated": "{participant} lisäsi kulun {expense}.", - "expenseUpdated": "{participant} muokkasi kulua {expense}.", - "expenseDeleted": "{participant} poisti kulun {expense}.", - "Groups": { - "today": "Tänään", - "yesterday": "Eilen", - "earlierThisWeek": "Tällä viikolla", - "lastWeek": "Viime viikolla", - "earlierThisMonth": "Tässä kuussa", - "lastMonth": "Viime kuussa", - "earlierThisYear": "Tänä vuonna", - "lastYear": "Viime vuonna", - "older": "Vanhemmat" - } - }, - "Information": { - "title": "Tiedot", - "description": "Käytä tätä paikkaa lisätäksesi kaikki tiedot, joilla voi olla merkitystä ryhmän osallistujille.", - "empty": "Ryhmätietoja ei vielä ole." - }, - "Settings": { - "title": "Asetukset" - }, - "Locale": { - "en-US": "English", - "fi": "Suomi", - "fr-FR": "Français", - "es": "Español", - "de-DE": "Deutsch", - "zh-CN": "Chinese (Simplified)", - "pl-PL": "Polski", - "ru-RU": "Русский", - "it-IT": "Italiano", - "ua-UA": "Українська", - "ro": "Română" - }, - "Share": { - "title": "Jaa", - "description": "Jaa ryhmän URL muille jäsenille, jotta he voivat nähdä sen ja lisätä kuluja.", - "warning": "Varoitus!", - "warningHelp": "Tällä URLilla kuka tahansa pääsee näkemään ja muokkaamaan kuluja. Jaa harkiten!" - }, - "SchemaErrors": { - "min1": "Syötä vähintään yksi merkki.", - "min2": "Syötä vähintään kaksi merkkiä.", - "max5": "Syötä enintään viisi merkkiä.", - "max50": "Syötä enintään 50 merkkiä.", - "duplicateParticipantName": "Tämä nimi on jo toisella osallistujalla.", - "titleRequired": "Otsikko puuttuu.", - "invalidNumber": "Epäkelpo numero.", - "amountRequired": "Summa puuttuu.", - "amountNotZero": "Summa ei voi olla nolla.", - "amountTenMillion": "Summan pitää olla pienempi kuin 10 000 000.", - "paidByRequired": "Osallistuja puuttuu.", - "paidForMin1": "Valitse vähintään yksi osallistuja.", - "noZeroShares": "Jokaisen osuuden täytyy olla suurempi kuin 0.", - "amountSum": "Osuuksien summan täytyy vastata kulun summaa.", - "percentageSum": "Prosenttiosuuksien summan täytyy olla 100." - }, - "Categories": { - "search": "Etsi kategoriaa...", - "noCategory": "Kategoriaa ei löydy.", - "Uncategorized": { - "heading": "Yleiset", - "General": "Yleinen", - "Payment": "Maksu" - }, - "Entertainment": { - "heading": "Viihde", - "Entertainment": "Viihde", - "Games": "Pelit", - "Movies": "Elokuvat", - "Music": "Musiikki", - "Sports": "Urheilu" - }, - "Food and Drink": { - "heading": "Ruoka ja juoma", - "Food and Drink": "Ruoka ja juoma", - "Dining Out": "Ulkona syöminen", - "Groceries": "Marketti", - "Liquor": "Alkoholi" - }, - "Home": { - "heading": "Koti", - "Home": "Koti", - "Electronics": "Elektroniikka", - "Furniture": "Huonekalut", - "Household Supplies": "Taloustavarat", - "Maintenance": "Huolto", - "Mortgage": "Laina", - "Pets": "Lemmikit", - "Rent": "Vuokra", - "Services": "Palvelut" - }, - "Life": { - "heading": "Elämä", - "Childcare": "Lastenhoito", - "Clothing": "Vaatteet", - "Education": "Opiskelu", - "Gifts": "Lahjat", - "Insurance": "Vakuutukset", - "Medical Expenses": "Terveydenhoito", - "Taxes": "Verot" - }, - "Transportation": { - "heading": "Liikenne", - "Transportation": "Liikenne", - "Bicycle": "Polkupyörä", - "Bus/Train": "Bussi/juna", - "Car": "Auto", - "Gas/Fuel": "Polttoaine", - "Hotel": "Hotelli", - "Parking": "Pysäköinti", - "Plane": "Lentäminen", - "Taxi": "Taksi" - }, - "Utilities": { - "heading": "Sekalaiset", - "Utilities": "Sekalaiset", - "Cleaning": "Siivous", - "Electricity": "Sähkö", - "Heat/Gas": "Lämmitys", - "Trash": "Jätehuolto", - "TV/Phone/Internet": "TV/Puhelin/Internet", - "Water": "Vesi" - } - } -} diff --git a/messages/fr-FR.json b/messages/fr-FR.json deleted file mode 100644 index cc0649b..0000000 --- a/messages/fr-FR.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "Homepage": { - "title": "Partagez vos dépenses avec vos amis & votre famille :)", - "description": "Bienvenue sur votre instance Spliit !", - "button": { - "groups": "Accéder aux groupes", - "github": "GitHub" - } - }, - "Header": { - "groups": "Groupes" - }, - "Footer": { - "madeIn": "Made in Montréal, Québec 🇨🇦", - "builtBy": "Développé par Sebastien Castiel et contributeurs" - }, - "Expenses": { - "title": "Dépenses", - "description": "Voici les dépenses que vous avez créées pour votre groupe.", - "create": "Créer une dépense", - "createFirst": "Créer la première :)", - "noExpenses": "Votre groupe n'a effectué aucune dépense pour le moment.", - "exportJson": "Exporter en JSON", - "searchPlaceholder": "Rechercher une dépense…", - "ActiveUserModal": { - "title": "Qui êtes-vous ?", - "description": "Dites-nous quel participant vous êtes pour personnaliser l'affichage des informations.", - "nobody": "Je ne veux sélectionner personne", - "save": "Sauvegarder les modifications", - "footer": "Ce paramètre peut être modifié plus tard dans les paramètres du groupe." - }, - "Groups": { - "upcoming": "À venir", - "thisWeek": "Cette semaine", - "earlierThisMonth": "Plus tôt ce mois-ci", - "lastMonth": "Le mois dernier", - "earlierThisYear": "Plus tôt cette année", - "lastYera": "L'année dernière", - "older": "Plus ancien" - } - }, - "ExpenseCard": { - "paidBy": "Payé par {paidBy} pour ", - "receivedBy": "Reçu par {paidBy} pour ", - "yourBalance": "Votre solde :" - }, - "Groups": { - "myGroups": "Mes groupes", - "create": "Créer", - "loadingRecent": "Chargement des groupes récents…", - "NoRecent": { - "description": "Vous n'avez visité aucun groupe récemment.", - "create": "Créer un groupe", - "orAsk": "ou demandez à un ami de vous envoyer le lien d'un groupe existant." - }, - "recent": "Groupes récents", - "starred": "Groupes favoris", - "archived": "Groupes archivés", - "archive": "Archiver le groupe", - "unarchive": "Désarchiver le groupe", - "removeRecent": "Supprimer des groupes récents", - "RecentRemovedToast": { - "title": "Le groupe a été supprimé", - "description": "Le groupe a été supprimé de votre liste de groupes récents.", - "undoAlt": "Annuler la suppression du groupe", - "undo": "Annuler" - }, - "AddByURL": { - "button": "Ajouter par URL", - "title": "Ajouter un groupe par URL", - "description": "Si un groupe a été partagé avec vous, vous pouvez coller son URL ici pour l'ajouter à votre liste.", - "error": "Oups, nous ne pouvons pas trouver le groupe à partir de l'URL que vous avez fournie…" - }, - "NotFound": { - "text": "Ce groupe n'existe pas.", - "link": "Aller aux groupes récemment visités" - } - }, - "GroupForm": { - "title": "Informations sur le groupe", - "NameField": { - "label": "Nom du groupe", - "placeholder": "Vacances d'été", - "description": "Entrez un nom pour votre groupe." - }, - "InformationField": { - "label": "Informations sur le groupe", - "placeholder": "Quelles informations sont pertinentes pour les participants du groupe ?" - }, - "CurrencyField": { - "label": "Symbole monétaire", - "placeholder": "$, €, £…", - "description": "Nous l'utiliserons pour afficher les montants." - }, - "Participants": { - "title": "Participants", - "description": "Entrez le nom de chaque participant.", - "protectedParticipant": "Ce participant fait partie des dépenses et ne peut pas être supprimé.", - "new": "Nouveau", - "add": "Ajouter un participant", - "John": "John", - "Jane": "Jane", - "Jack": "Jack" - }, - "Settings": { - "title": "Paramètres locaux", - "description": "Ces paramètres sont définis par appareil et sont utilisés pour personnaliser votre expérience.", - "ActiveUserField": { - "label": "Utilisateur actif", - "placeholder": "Sélectionner un participant", - "none": "Aucun", - "description": "Utilisateur utilisé comme défaut pour payer les dépenses." - }, - "save": "Sauvegarder", - "saving": "Sauvegarde…", - "create": "Créer", - "creating": "Création…", - "cancel": "Annuler" - } - }, - "ExpenseForm": { - "Income": { - "create": "Créer un revenu", - "edit": "Modifier le revenu", - "TitleField": { - "label": "Titre du revenu", - "placeholder": "Restaurant du lundi soir", - "description": "Entrez une description pour le revenu." - }, - "DateField": { - "label": "Date du revenu", - "description": "Entrez la date à laquelle le revenu a été reçu." - }, - "categoryFieldDescription": "Sélectionnez la catégorie de revenu.", - "paidByField": { - "label": "Reçu par", - "description": "Sélectionnez le participant qui a reçu le revenu." - }, - "paidFor": { - "title": "Reçu pour", - "description": "Sélectionnez pour qui le revenu a été reçu." - }, - "splitModeDescription": "Sélectionnez comment diviser le revenu.", - "attachDescription": "Voir et joindre des reçus au revenu." - }, - "Expense": { - "create": "Créer une dépense", - "edit": "Modifier la dépense", - "TitleField": { - "label": "Titre de la dépense", - "placeholder": "Restaurant du lundi soir", - "description": "Entrez une description pour la dépense." - }, - "DateField": { - "label": "Date de la dépense", - "description": "Entrez la date à laquelle la dépense a été payée." - }, - "categoryFieldDescription": "Sélectionnez la catégorie de dépense.", - "paidByField": { - "label": "Payé par", - "description": "Sélectionnez le participant qui a réglé la dépense." - }, - "paidFor": { - "title": "Payé pour", - "description": "Sélectionnez les participants concernés" - }, - "splitModeDescription": "Sélectionnez comment diviser la dépense.", - "attachDescription": "Voir et joindre des reçus à la dépense." - }, - "amountField": { - "label": "Montant" - }, - "isReimbursementField": { - "label": "C'est un remboursement" - }, - "categoryField": { - "label": "Catégorie" - }, - "notesField": { - "label": "Notes" - }, - "selectNone": "Tout désélectionner", - "selectAll": "Tout sélectionner", - "shares": "part(s)", - "advancedOptions": "Options de répartition avancées…", - "SplitModeField": { - "label": "Mode de répartition", - "evenly": "Également", - "byShares": "Inégalement – Par parts", - "byPercentage": "Inégalement – Par pourcentage", - "byAmount": "Inégalement – Par montant", - "saveAsDefault": "Enregistrer comme options de répartition par défaut" - }, - "DeletePopup": { - "label": "Supprimer", - "title": "Supprimer cette dépense ?", - "description": "Voulez-vous vraiment supprimer cette dépense ? Cette action est irréversible.", - "yes": "Oui", - "cancel": "Annuler" - }, - "attachDocuments": "Joindre des documents", - "create": "Créer", - "creating": "Création…", - "save": "Sauvegarder", - "saving": "Sauvegarde…", - "cancel": "Annuler", - "reimbursement": "Remboursement" - }, - "ExpenseDocumentsInput": { - "TooBigToast": { - "title": "Le fichier est trop grand", - "description": "La taille maximale du fichier que vous pouvez télécharger est {maxSize}. La vôtre est ${size}." - }, - "ErrorToast": { - "title": "Erreur lors du téléchargement du document", - "description": "Un problème est survenu lors du téléchargement du document. Veuillez réessayer plus tard ou sélectionner un fichier différent.", - "retry": "Réessayer" - } - }, - "CreateFromReceipt": { - "Dialog": { - "triggerTitle": "Créer une dépense à partir du reçu", - "title": "Créer à partir du reçu", - "description": "Extraire les informations de la dépense à partir d'une photo de reçu.", - "body": "Téléchargez la photo d'un reçu, et nous l'analyserons pour extraire les informations de la dépense si possible.", - "selectImage": "Sélectionner une image…", - "titleLabel": "Titre :", - "categoryLabel": "Catégorie :", - "amountLabel": "Montant :", - "dateLabel": "Date :", - "editNext": "Vous pourrez modifier les informations de la dépense ensuite.", - "continue": "Continuer" - }, - "unknown": "Inconnu", - "TooBigToast": { - "title": "Le fichier est trop grand", - "description": "La taille maximale du fichier que vous pouvez télécharger est {maxSize}. La vôtre est ${size}." - }, - "ErrorToast": { - "title": "Erreur lors du téléchargement du document", - "description": "Un problème est survenu lors du téléchargement du document. Veuillez réessayer plus tard ou sélectionner un fichier différent.", - "retry": "Réessayer" - } - }, - "Balances": { - "title": "Équilibres", - "description": "Voici le montant que chaque participant a payé ou doit rembourser.", - "Reimbursements": { - "title": "Remboursements suggérés", - "description": "Voici des suggestions pour des remboursements optimisés entre les participants.", - "noImbursements": "Les dépenses effectuées ne nécessitent pas d'équilibrage 😁", - "owes": "{from} doit à {to}", - "markAsPaid": "Marquer comme payé" - } - }, - "Stats": { - "title": "Statistiques", - "Totals": { - "title": "Totaux", - "description": "Résumé des dépenses du groupe entier.", - "groupSpendings": "Total des dépenses du groupe", - "groupEarnings": "Total des revenus du groupe", - "yourSpendings": "Vos dépenses totales", - "yourEarnings": "Vos revenus totaux", - "yourShare": "Votre part totale" - } - }, - "Activity": { - "title": "Activité", - "description": "Vue d'ensemble de toute l'activité dans ce groupe.", - "noActivity": "Il n'y a pas encore d'activité dans votre groupe.", - "someone": "Quelqu'un", - "settingsModified": "Les paramètres du groupe ont été modifiés par {participant}.", - "expenseCreated": "Dépense {expense} créée par {participant}.", - "expenseUpdated": "Dépense {expense} mise à jour par {participant}.", - "expenseDeleted": "Dépense {expense} supprimée par {participant}.", - "Groups": { - "today": "Aujourd'hui", - "yesterday": "Hier", - "earlierThisWeek": "Plus tôt cette semaine", - "lastWeek": "La semaine dernière", - "earlierThisMonth": "Plus tôt ce mois-ci", - "lastMonth": "Le mois dernier", - "earlierThisYear": "Plus tôt cette année", - "lastYear": "L'année dernière", - "older": "Plus ancien" - } - }, - "Information": { - "title": "Information", - "description": "Utilisez cet espace pour ajouter toute information qui pourrait être pertinente pour les participants du groupe.", - "empty": "Aucune information pour le moment." - }, - "Settings": { - "title": "Paramètres" - }, - "Locale": { - "en-US": "English", - "fi": "Suomi", - "fr-FR": "Français", - "es": "Español", - "de-DE": "Deutsch", - "zh-CN": "Chinese (Simplified)", - "pl-PL": "Polski", - "ru-RU": "Русский", - "it-IT": "Italiano", - "ua-UA": "Українська", - "ro": "Română" - }, - "Share": { - "title": "Partager", - "description": "Pour que d'autres participants puissent voir le groupe et ajouter des dépenses, partagez son URL avec eux.", - "warning": "Avertissement !", - "warningHelp": "Toute personne ayant l'URL du groupe pourra voir et modifier les dépenses. Partagez avec prudence !" - }, - "SchemaErrors": { - "min1": "Entrez au moins un caractère.", - "min2": "Entrez au moins deux caractères.", - "max5": "Entrez au maximum cinq caractères.", - "max50": "Entrez au maximum 50 caractères.", - "duplicateParticipantName": "Un autre participant a déjà ce nom.", - "titleRequired": "Veuillez entrer un titre.", - "invalidNumber": "Nombre invalide.", - "amountRequired": "Vous devez entrer un montant.", - "amountNotZero": "Le montant ne doit pas être zéro.", - "amountTenMillion": "Le montant doit être inférieur à 10 000 000.", - "paidByRequired": "Vous devez sélectionner un participant.", - "paidForMin1": "La dépense doit concerner au moins un participant.", - "noZeroShares": "Toutes les parts doivent être supérieures à 0.", - "amountSum": "La somme des montants doit être égale au montant de la dépense.", - "percentageSum": "La somme des pourcentages doit être égale à 100." - }, - "Categories": { - "search": "Rechercher une catégorie…", - "noCategory": "Aucune catégorie trouvée.", - "Uncategorized": { - "heading": "Non classé", - "General": "Général", - "Payment": "Paiement" - }, - "Entertainment": { - "heading": "Divertissement", - "Entertainment": "Divertissement", - "Games": "Jeux", - "Movies": "Films", - "Music": "Musique", - "Sports": "Sports" - }, - "Food and Drink": { - "heading": "Nourriture et boissons", - "Food and Drink": "Nourriture et boissons", - "Dining Out": "Repas au restaurant", - "Groceries": "Épicerie", - "Liquor": "Alcool" - }, - "Home": { - "heading": "Maison", - "Home": "Maison", - "Electronics": "Électronique", - "Furniture": "Mobilier", - "Household Supplies": "Fournitures ménagères", - "Maintenance": "Entretien", - "Mortgage": "Hypothèque", - "Pets": "Animaux", - "Rent": "Loyer", - "Services": "Services" - }, - "Life": { - "heading": "Vie", - "Childcare": "Garde d'enfants", - "Clothing": "Vêtements", - "Education": "Éducation", - "Gifts": "Cadeaux", - "Insurance": "Assurance", - "Medical Expenses": "Dépenses médicales", - "Taxes": "Impôts" - }, - "Transportation": { - "heading": "Transport", - "Transportation": "Transport", - "Bicycle": "Bicyclette", - "Bus/Train": "Bus/Train", - "Car": "Voiture", - "Gas/Fuel": "Essence/Carburant", - "Hotel": "Hôtel", - "Parking": "Parking", - "Plane": "Avion", - "Taxi": "Taxi" - }, - "Utilities": { - "heading": "Services publics", - "Utilities": "Services publics", - "Cleaning": "Nettoyage", - "Electricity": "Électricité", - "Heat/Gas": "Chauffage/Gaz", - "Trash": "Poubelle", - "TV/Phone/Internet": "TV/Téléphone/Internet", - "Water": "Eau" - } - } -} diff --git a/messages/it-IT.json b/messages/it-IT.json deleted file mode 100644 index 78dba41..0000000 --- a/messages/it-IT.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "Homepage": { - "title": "Condividi Spese con Amici & Familiari", - "description": "Benvenuto nella tua nuova instanza di Spliit!", - "button": { - "groups": "Vai ai gruppi", - "github": "GitHub" - } - }, - "Header": { - "groups": "Gruppi" - }, - "Footer": { - "madeIn": "Made in Montréal, Québec 🇨🇦", - "builtBy": "Built by Sebastien Castiel and contributors" - }, - "Expenses": { - "title": "Spese", - "description": "Ecco le spese che hai creato per il tuo gruppo.", - "create": "Crea spesa", - "createFirst": "Crea la prima", - "noExpenses": "Il tuo gruppo non contiene ancora spese.", - "exportJson": "Esporta file JSON", - "searchPlaceholder": "Cerca una spesa…", - "ActiveUserModal": { - "title": "Chi sei?", - "description": "Dicci quale partecipante sei per consentirci di personalizzare la modalità di visualizzazione delle informazioni.", - "nobody": "Non voglio selezionare nessuno", - "save": "Salva cambiamenti", - "footer": "Questa impostazione può essere modificata successivamente nelle impostazioni del gruppo." - }, - "Groups": { - "upcoming": "In arrivo", - "thisWeek": "Questa settimana", - "earlierThisMonth": "All'inizio di questo mese", - "lastMonth": "Ultimo mese", - "earlierThisYear": "All'inizio di quest'anno", - "lastYera": "Ultimo anno", - "older": "Più vecchio" - } - }, - "ExpenseCard": { - "paidBy": "Pagato da {paidBy} per ", - "receivedBy": "Ricevuto da {paidBy} per ", - "yourBalance": "Il tuo bilancio:" - }, - "Groups": { - "myGroups": "I miei gruppi", - "create": "Crea", - "loadingRecent": "Caricamento gruppi recenti…", - "NoRecent": { - "description": "Non hai visitato nessun gruppo di recente.", - "create": "Creane una", - "orAsk": "oppure chiedi a un amico di inviarti il ​​collegamento a uno esistente." - }, - "recent": "Gruppi recenti", - "starred": "Gruppi speciali", - "archived": "Gruppi archiviati", - "archive": "Archivia gruppo", - "unarchive": "Rimuovi il gruppo dall'archivio", - "removeRecent": "Rimuovi dai gruppi recenti", - "RecentRemovedToast": { - "title": "Il gruppo è stato rimosso", - "description": "Il gruppo è stato rimosso dall'elenco dei gruppi recenti.", - "undoAlt": "Annulla la rimozione del gruppo", - "undo": "Annulla" - }, - "AddByURL": { - "button": "Aggiungi tramite URL", - "title": "Aggiungi un gruppo tramite URL", - "description": "Se un gruppo è stato condiviso con te, puoi incollare qui il suo URL per aggiungerlo al tuo elenco.", - "error": "Spiacenti, non siamo in grado di trovare il gruppo dall'URL che hai fornito..." - }, - "NotFound": { - "text": "Questo gruppo non esiste.", - "link": "Vai ai gruppi visitati di recente" - } - }, - "GroupForm": { - "title": "Informazioni del gruppo", - "NameField": { - "label": "Nome del gruppo", - "placeholder": "Vacanze estive", - "description": "Inserisci il nome del gruppo." - }, - "InformationField": { - "label": "Informazioni del gruppo", - "placeholder": "Quali informazioni sono rilevanti per i partecipanti al gruppo?" - }, - "CurrencyField": { - "label": "Simbolo valuta", - "placeholder": "$, €, £…", - "description": "Lo useremo per visualizzare gli importi." - }, - "Participants": { - "title": "Partecipanti", - "description": "Immettere il nome per ciascun partecipante.", - "protectedParticipant": "Questo partecipante fa parte delle spese e non può essere rimosso.", - "new": "Nuovo", - "add": "Aggiungi partecipante", - "John": "John", - "Jane": "Jane", - "Jack": "Jack" - }, - "Settings": { - "title": "Impostazioni locali", - "description": "Queste impostazioni sono impostate per dispositivo e vengono utilizzate per personalizzare la tua esperienza.", - "ActiveUserField": { - "label": "Utente attivo", - "placeholder": "Seleziona un partecipante", - "none": "Nessuno", - "description": "Utente utilizzato come predefinito per il pagamento delle spese." - }, - "save": "Salva", - "saving": "Salvataggio…", - "create": "Crea", - "creating": "Sto creando…", - "cancel": "Annulla" - } - }, - "ExpenseForm": { - "Income": { - "create": "Crea entrata", - "edit": "Modifica entrata", - "TitleField": { - "label": "Titolo entrata", - "placeholder": "Ristorante del lunedì sera", - "description": "Inserisci una descrizione per l'entrata." - }, - "DateField": { - "label": "Data entrata", - "description": "Inserisci la data in cui è stato ricevuta l'entrata." - }, - "categoryFieldDescription": "Seleziona categoria entrata.", - "paidByField": { - "label": "Ricevuto da", - "description": "Seleziona partecipante che ha ricevuto l'entrata." - }, - "paidFor": { - "title": "Ricevuto per", - "description": "Seleziona per chi è stato ricevuta l'entrata." - }, - "splitModeDescription": "Seleziona come dividere l'entrata.", - "attachDescription": "Vedi allegati entrata." - }, - "Expense": { - "create": "Crea spesa", - "edit": "Modifica spesa", - "TitleField": { - "label": "Titolo spesa", - "placeholder": "Ristorante del lunedì sera", - "description": "Inserisci una descrizione per l'uscita." - }, - "DateField": { - "label": "Data spesa", - "description": "Inserisci la data di quando è stata fatta la spesa" - }, - "categoryFieldDescription": "Seleziona una categoria per la spesa.", - "paidByField": { - "label": "Pagato da", - "description": "Seleziona il partecipante che ha pagato la spesa." - }, - "paidFor": { - "title": "Pagato per", - "description": "Seleziona per chi è stata pagato." - }, - "splitModeDescription": "Seleziona come dividere la spesa.", - "attachDescription": "Vedi allegati spesa." - }, - "amountField": { - "label": "Importo" - }, - "isReimbursementField": { - "label": "Questo è un rimborso" - }, - "categoryField": { - "label": "Categoria" - }, - "notesField": { - "label": "Note" - }, - "selectNone": "Seleziona nessuna", - "selectAll": "Seleziona tutto", - "shares": "condividi", - "advancedOptions": "Opzioni di divisione avanzate…", - "SplitModeField": { - "label": "Modalità split", - "evenly": "Uniforme", - "byShares": "Non uniforme – Per quote", - "byPercentage": "Non uniforme – Per percentuale", - "byAmount": "Non uniforme – Per importo", - "saveAsDefault": "Salva come opzione di suddivisione predefinita" - }, - "DeletePopup": { - "label": "Rimuovi", - "title": "Rimuovere questa spesa?", - "description": "Vuoi davvero eliminare questa spesa? Questa azione è irreversibile.", - "yes": "Si", - "cancel": "Annulla" - }, - "attachDocuments": "Documenti allegati", - "create": "Crea", - "creating": "Sto creando…", - "save": "Salva", - "saving": "Sto salvando…", - "cancel": "Annulla", - "reimbursement": "Rimborso" - }, - "ExpenseDocumentsInput": { - "TooBigToast": { - "title": "Il file è troppo grande", - "description": "La dimensione massima del file che puoi caricare è {maxSize}. Il tuo è ${size}." - }, - "ErrorToast": { - "title": "Errore durante il caricamento del documento", - "description": "Si è verificato un errore durante il caricamento del documento. Riprova più tardi o seleziona un file diverso.", - "retry": "Riprova" - } - }, - "CreateFromReceipt": { - "Dialog": { - "triggerTitle": "Crea spesa dalla ricevuta", - "title": "Crea dalla ricevuta", - "description": "Estrai le informazioni sulla spesa da una foto della ricevuta.", - "body": "Carica la foto di una ricevuta e, se possibile, la scannerizzeremo per estrarre le informazioni sulle spese.", - "selectImage": "Seleziona immagine…", - "titleLabel": "Titolo:", - "categoryLabel": "Categoria:", - "amountLabel": "Importo:", - "dateLabel": "Data:", - "editNext": "Successivamente potrai modificare le informazioni sulle spese.", - "continue": "Continua" - }, - "unknown": "Unknown", - "TooBigToast": { - "title": "Il file è troppo grande", - "description": "La dimensione massima del file che puoi caricare è {maxSize}. Il tuo è ${size}." - }, - "ErrorToast": { - "title": "Errore durante il caricamento del documento", - "description": "Si è verificato un errore durante il caricamento del documento. Riprova più tardi o seleziona un file diverso.", - "retry": "Riprova" - } - }, - "Balances": { - "title": "Bilanci", - "description": "Questo è l'importo che ciascun partecipante ha pagato o deve pagare.", - "Reimbursements": { - "title": "Rimborsi suggeriti", - "description": "Ecco alcuni suggerimenti per ottimizzare i rimborsi tra i partecipanti.", - "noImbursements": "Sembra che il tuo gruppo non abbia bisogno di alcun rimborso 😁", - "owes": "{from} deve {to}", - "markAsPaid": "Segna come pagato" - } - }, - "Stats": { - "title": "Statistiche", - "Totals": { - "title": "Totali", - "description": "Riepilogo delle spese dell'intero gruppo.", - "groupSpendings": "Spese totali del gruppo", - "groupEarnings": "Guadagno totale del gruppo", - "yourSpendings": "Le tue spese totali", - "yourEarnings": "I tuoi guadagni totali", - "yourShare": "La tua quota totale" - } - }, - "Activity": { - "title": "Attività", - "description": "Panoramica di tutte le attività in questo gruppo.", - "noActivity": "Non c'è ancora alcuna attività nel tuo gruppo.", - "someone": "Qualcuno", - "settingsModified": "Le impostazioni del gruppo sono state modificate da {participant}.", - "expenseCreated": "Spesa {expense} creata da {participant}.", - "expenseUpdated": "Spesa {expense} aggiornata da {participant}.", - "expenseDeleted": "Spesa {expense} cancellata da {participant}.", - "Groups": { - "today": "Oggi", - "yesterday": "Ieri", - "earlierThisWeek": "All'inizio di questa settimana", - "lastWeek": "La settimana scorsa", - "earlierThisMonth": "All'inizio di questo mese", - "lastMonth": "Lo scorso mese", - "earlierThisYear": "All'inizio di questo anno", - "lastYear": "Lo scorso anno", - "older": "Più vecchio" - } - }, - "Information": { - "title": "Informazioni", - "description": "Utilizza questo posto per aggiungere qualsiasi informazione che possa essere rilevante per i partecipanti al gruppo.", - "empty": "Ancora nessuna informazione sul gruppo." - }, - "Settings": { - "title": "Impostazioni" - }, - "Locale": { - "en-US": "English", - "fi": "Suomi", - "fr-FR": "Français", - "es": "Español", - "de-DE": "Deutsch", - "zh-CN": "Chinese (Simplified)", - "pl-PL": "Polski", - "ru-RU": "Русский", - "it-IT": "Italiano", - "ua-UA": "Українська", - "ro": "Română" - }, - "Share": { - "title": "Condividi", - "description": "Per consentire agli altri partecipanti di vedere il gruppo e aggiungere spese, condividi il suo URL con loro.", - "warning": "Attenzione!", - "warningHelp": "Ogni persona con l'URL del gruppo potrà vedere e modificare le spese. Condividi con cautela!" - }, - "SchemaErrors": { - "min1": "Inserisci almeno un carattere.", - "min2": "Inserisci almeno due caratteri.", - "max5": "Inserisci al massimo cinque caratteri.", - "max50": "Inserisci al massimo cinquanta caratteri.", - "duplicateParticipantName": "Un altro partecipante ha già questo nome.", - "titleRequired": "Inserisci un titolo.", - "invalidNumber": "Numero invalido.", - "amountRequired": "Devi inserire un importo", - "amountNotZero": "L'importo non deve essere zero.", - "amountTenMillion": "L'importo deve essere inferiore a 10.000.000.", - "paidByRequired": "È necessario selezionare un partecipante.", - "paidForMin1": "La spesa deve essere pagata per almeno un partecipante.", - "noZeroShares": "Tutti gli importi devono essere superiori a 0.", - "amountSum": "La somma degli importi deve essere uguale all'importo della spesa.", - "percentageSum": "La somma delle percentuali deve essere uguale a 100." - }, - "Categories": { - "search": "Cerca categoria...", - "noCategory": "Nessuna categoria trovata.", - "Uncategorized": { - "heading": "Senza categoria", - "General": "Generale", - "Payment": "Pagamento" - }, - "Entertainment": { - "heading": "Intrattenimento", - "Entertainment": "Intrattenimento", - "Games": "Games", - "Movies": "Film", - "Music": "Musica", - "Sports": "Sports" - }, - "Food and Drink": { - "heading": "Cibo e Bevande", - "Food and Drink": "Cibo e Bevande", - "Dining Out": "Mangiare fuori", - "Groceries": "Generi alimentari", - "Liquor": "Liquori" - }, - "Home": { - "heading": "Home", - "Home": "Home", - "Electronics": "Elettronica", - "Furniture": "Mobilia", - "Household Supplies": "Forniture per la casa", - "Maintenance": "Manutenzione", - "Mortgage": "Mutuo", - "Pets": "Animali", - "Rent": "Affitti", - "Services": "Servizi" - }, - "Life": { - "heading": "Life", - "Childcare": "Assistenza all'infanzia", - "Clothing": "Vestiti", - "Education": "Educazione", - "Gifts": "Regali", - "Insurance": "Assicurazione", - "Medical Expenses": "Spese Mediche", - "Taxes": "Tasse" - }, - "Transportation": { - "heading": "Trasporti", - "Transportation": "Trasporti", - "Bicycle": "Bicicletta", - "Bus/Train": "Bus/Treno", - "Car": "Auto", - "Gas/Fuel": "Gas/Carburante", - "Hotel": "Hotel", - "Parking": "Parcheggio", - "Plane": "Aereo", - "Taxi": "Taxi" - }, - "Utilities": { - "heading": "Utilità", - "Utilities": "Utilità", - "Cleaning": "Pulizia", - "Electricity": "Elettricità", - "Heat/Gas": "Riscaldamento/Gas", - "Trash": "Spazzatura", - "TV/Phone/Internet": "TV/Telefono/Internet", - "Water": "Acqua" - } - } -} diff --git a/messages/pl-PL.json b/messages/pl-PL.json deleted file mode 100644 index 22aba12..0000000 --- a/messages/pl-PL.json +++ /dev/null @@ -1,400 +0,0 @@ -{ - "Homepage": { - "title": "Podziel Wydatki z Rodziną i Przyjaciółmi", - "description": "Witaj na twojej nowej instancji Spliita !", - "button": { - "groups": "Przejdź do grup", - "github": "GitHub" - } - }, - "Header": { - "groups": "Grupy" - }, - "Footer": { - "madeIn": "Stworzone Montréalu, Québec 🇨🇦", - "builtBy": "Napisane przez Sebastien Castiela i kontrybutorów" - }, - "Expenses": { - "title": "Wydatki", - "description": "Tutaj są wydatki, które utworzyłeś dla twojej grupy.", - "create": "Dodaj wydatek", - "createFirst": "Stwórz swój pierwszy", - "noExpenses": "Twoja grupa nie ma jeszcze żadnych wydatków.", - "exportJson": "Eksportuj do JSONa", - "searchPlaceholder": "Szukaj wydatku...", - "ActiveUserModal": { - "title": "Kim jesteś?", - "description": "Podaj, którym uczestnikiem jesteś aby pozwolić nam określić jakie informacje mają być wyświetlane.", - "nobody": "Nie chcę wybierać nikogo", - "save": "Zapisz zmiany", - "footer": "To ustawienie może być potem zmienione w ustawieniach grupy." - }, - "Groups": { - "upcoming": "Nadchodzące", - "thisWeek": "Ten tydzień", - "earlierThisMonth": "Wcześniej w tym miesiącu", - "lastMonth": "Ostatni miesiąc", - "earlierThisYear": "Wcześniej w tym roku", - "lastYera": "Poprzedni rok", - "older": "Starsze" - } - }, - "ExpenseCard": { - "paidBy": "Opłacone przez {paidBy} dla ", - "receivedBy": "Otrzymane przez {paidBy} od ", - "yourBalance": "Twjoje saldo:" - }, - "Groups": { - "myGroups": "Moje grupy", - "create": "Stwórz", - "loadingRecent": "Wczytywanie ostatnich grup...", - "NoRecent": { - "description": "Nie odwiedzałeś ostatnio żadnych grup.", - "create": "Stwórz", - "orAsk": "albo poproś przyjaciela, aby ci wysłał link do już istniejącej." - }, - "recent": "Ostatnie grupy", - "starred": "Ogwiazdkowane grupy", - "archived": "Zarchiwizowane grupy", - "archive": "Zarchiwizuj grupę", - "unarchive": "Odarchwiruj grupę", - "removeRecent": "Usuń z ostatnich grup", - "RecentRemovedToast": { - "title": "Grupa została usunięta", - "description": "Grupa została usunięta z listy twoich ostatnich grup.", - "undoAlt": "Cofnij usunięcie grupy", - "undo": "Cofnij" - }, - "AddByURL": { - "button": "Dodaj poprzez link URL", - "title": "Dodaj grupę poprzez link URL", - "description": "Jeśli grupa została ci udostępniona możesz wkleić jej link tutaj, aby dodać ją do twojej listy.", - "error": "Ups, nie możemy znaleźć grupy z podanego linka..." - }, - "NotFound": { - "text": "Ta grupa nie istnieje.", - "link": "Idź do ostatnio odwiedzanych grup" - } - }, - "GroupForm": { - "title": "Informacje o grupie", - "NameField": { - "label": "Nazwa grupy", - "placeholder": "Letni wyjazd", - "description": "Podaj nazwę dla twojej grupy." - }, - "InformationField": { - "label": "Informacje o grupie", - "placeholder": "Jakie informacje mogą być ważne dla członków grupy?" - }, - "CurrencyField": { - "label": "Symbol waluty", - "placeholder": "PLN, zł, $, €, £…", - "description": "Użyjemy go do wyświetlania ilości." - }, - "Participants": { - "title": "Członkowie", - "description": "Podaj nazwę dla każdego członka.", - "protectedParticipant": "Ten członek wciąż bierze udział w rozliczeniach i nie może być usunięty.", - "new": "Nowy", - "add": "Dodaj członka", - "John": "Jan", - "Jane": "Joanna", - "Jack": "Jacek" - }, - "Settings": { - "title": "Ustawienia lokalne", - "description": "Te ustawienia są ustawiane dla konkretnego urządzenia i służą do dostosowania twoich doświadczeń z aplikacją.", - "ActiveUserField": { - "label": "Aktywny użytkownik", - "placeholder": "Wybierz członka", - "none": "Brak", - "description": "Użytkownik używany domyślnie do wprowadzania wydatków." - }, - "save": "Zapisz", - "saving": "Zapisywanie…", - "create": "Stwórz", - "creating": "Tworzenie…", - "cancel": "Anuluj" - } - }, - "ExpenseForm": { - "Income": { - "create": "Dodaj wpływ", - "edit": "Edytuj wpływ", - "TitleField": { - "label": "Tytuł wpływu", - "placeholder": "Zwrot kaucji", - "description": "Podaj opis wpływu." - }, - "DateField": { - "label": "Data wpływu", - "description": "Podaj datę otrzymania wpływu." - }, - "categoryFieldDescription": "Wybierz typ wpływu.", - "paidByField": { - "label": "Otrzymane przez", - "description": "Wybierz członka, który otrzymał wpływ." - }, - "paidFor": { - "title": "Otrzymany dla", - "description": "Podaj dla kogo wpływ był przeznaczony." - }, - "splitModeDescription": "Wybierz jak podzielić wpływ.", - "attachDescription": "Zobacz i załącz rachunki do wpływu." - }, - "Expense": { - "create": "Stwórz wydatek", - "edit": "Edytuj wydatek", - "TitleField": { - "label": "Tytuł wydatku", - "placeholder": "Poniedziałkowe wyjście do restauracji", - "description": "Podaj opis wydatku." - }, - "DateField": { - "label": "Data wydatku", - "description": "Podaj datę opłacenia wydatku." - }, - "categoryFieldDescription": "Podaj kategorię wydatku.", - "paidByField": { - "label": "Opłacone przez", - "description": "Wybierz członka, który zapłacił." - }, - "paidFor": { - "title": "Opłacone dla", - "description": "Wybierz kogo dotyczył wydatek." - }, - "splitModeDescription": "Wybierz jak podzielić wydatek.", - "attachDescription": "Zobacz i załącz rachunki do wydatku." - }, - "amountField": { - "label": "Ilość" - }, - "isReimbursementField": { - "label": "To jest zwrot kosztów" - }, - "categoryField": { - "label": "Kategoria" - }, - "notesField": { - "label": "Notatki" - }, - "selectNone": "Nie wybieraj żadnego", - "selectAll": "Wybierz wszystkie", - "shares": "udział(y)", - "advancedOptions": "Zaawansowane opcje podziału...", - "SplitModeField": { - "label": "Typ podziału", - "evenly": "Równy", - "byShares": "Nierówny – Poprzez udziały", - "byPercentage": "Nierówny – Procentowo", - "byAmount": "Nierówny – Na konkretne sumy", - "saveAsDefault": "Wybierz jako domyślny typ podziału" - }, - "DeletePopup": { - "label": "Usuń", - "title": "Usunąć ten wydatek?", - "description": "Czy na pewno chcesz usunąć ten wydatek? Ta akcja jest nieodwracalna.", - "yes": "Tak", - "cancel": "Anuluj" - }, - "attachDocuments": "Załącz dokumenty", - "create": "Stwórz", - "creating": "Tworzenie…", - "save": "Zapisz", - "saving": "Zapisywanie…", - "cancel": "Anuluj" - }, - "ExpenseDocumentsInput": { - "TooBigToast": { - "title": "Ten plik jest zbyt duży", - "description": "Maksymalny rozmiar pliku to: {maxSize}. Twój plik ma: ${size}." - }, - "ErrorToast": { - "title": "Błąd podczas wysyłania dokumentu", - "description": "Coś poszło nie tak podczas wysyłania dokumentu. Proszę spróbuj ponownie później, albo wybierz inny plik.", - "retry": "Ponów" - } - }, - "CreateFromReceipt": { - "Dialog": { - "triggerTitle": "Utwórz wydatek z paragonu", - "title": "Utwórz z paragonu", - "description": "Wyodrębnianie informacji o wydatkach ze zdjęcia paragonu.", - "body": "Prześlij zdjęcie paragonu, a my zeskanujemy je, aby wyodrębnić informacje o wydatkach, jeśli to możliwe.", - "selectImage": "Wybierz obraz...", - "titleLabel": "Tytuł:", - "categoryLabel": "Kategoria:", - "amountLabel": "Ilość:", - "dateLabel": "Data:", - "editNext": "Następnie będziesz mógł edytować informacje o wydatkach.", - "continue": "Kontynuuj" - }, - "unknown": "Nieznany", - "TooBigToast": { - "title": "Ten plik jest zbyt duży", - "description": "Maksymalny rozmiar pliku to: {maxSize}. Twój plik ma: ${size}." - }, - "ErrorToast": { - "title": "Błąd podczas wysyłania dokumentu", - "description": "Coś poszło nie tak podczas wysyłania dokumentu. Proszę spróbuj ponownie później, albo wybierz inny plik.", - "retry": "Ponów" - } - }, - "Balances": { - "title": "Salda", - "description": "Jest to kwota, którą każdy członek zapłacił lub za którą otrzymał zapłatę.", - "Reimbursements": { - "title": "Sugerowane zwroty", - "description": "Oto sugestie dotyczące optymalizacji zwrotów między uczestnikami.", - "noImbursements": "Wygląda na to, że w twojej grupie nie ma potrzeby żadnych zwrotów 😁", - "owes": "{from} jest winny dla {to}", - "markAsPaid": "Zaznacz jako opłacone" - } - }, - "Stats": { - "title": "Statystyki", - "Totals": { - "title": "Podsumowanie", - "description": "Podsumowanie wydatków dla całej grupy.", - "groupSpendings": "Wydatki grupy", - "groupEarnings": "Wpływy grupy", - "yourSpendings": "Twoje wydatki", - "yourEarnings": "Twoje wpływy", - "yourShare": "Twoje udziały" - } - }, - "Activity": { - "title": "Aktywność", - "description": "Przegląd wszystkich działań w tej grupie.", - "noActivity": "W grupie nie ma jeszcze żadnej aktywności.", - "someone": "Ktoś", - "settingsModified": "Ustawienia grupy zostały zmienione przez {participant}.", - "expenseCreated": "Wydatek {expense} stworzony przez {participant}.", - "expenseUpdated": "Wydatek {expense} zaktualizowany przez {participant}.", - "expenseDeleted": "Wydatek {expense} usunięty przez {participant}.", - "Groups": { - "today": "Dzisiaj", - "yesterday": "Wczoraj", - "earlierThisWeek": "Wcześniej w tym tygodniu", - "lastWeek": "W zeszłym tygodniu", - "earlierThisMonth": "Wcześniej w tym miesiącu", - "lastMonth": "Ostatni miesiąc", - "earlierThisYear": "Wcześniej w tym roku", - "lastYera": "Poprzedni rok", - "older": "Starsze" - } - }, - "Information": { - "title": "Informacje", - "description": "Użyj tego miejsca, aby dodać wszelkie informacje, które mogą być istotne dla uczestników grupy..", - "empty": "Jeszcze nic tu nie ma." - }, - "Settings": { - "title": "Ustawienia" - }, - "Locale": { - "en-US": "English", - "fi": "Suomi", - "fr-FR": "Français", - "es": "Español", - "de-DE": "Deutsch", - "zh-CN": "Chinese (Simplified)", - "pl-PL": "Polski", - "ru-RU": "Русский", - "it-IT": "Italiano", - "ua-UA": "Українська", - "ro": "Română" - }, - "Share": { - "title": "Udostępnij", - "description": "Aby inni uczestnicy mogli zobaczyć grupę i dodać wydatki, udostępnij im jej adres URL.", - "warning": "Uwaga!", - "warningHelp": "Każda osoba posiadająca adres URL grupy będzie mogła przeglądać i edytować wydatki. Udostępniaj ostrożnie!" - }, - "SchemaErrors": { - "min1": "Wprowadź co najmniej jeden znak.", - "min2": "Wprowadź co najmniej dwa znaki.", - "max5": "Wprowadź maksymalnie pięć znaków.", - "max50": "Wprowadź maksymalnie 50 znaków.", - "duplicateParticipantName": "Ta nazwa jest już zajęta.", - "titleRequired": "Podaj tytuł.", - "invalidNumber": "Niewłaściwa liczba.", - "amountRequired": "Należy wprowadzić kwotę.", - "amountNotZero": "Kwota nie może być zerem.", - "amountTenMillion": "Kwota musi być niższa niż 10,000,000.", - "paidByRequired": "Musisz wybrać członka.", - "paidForMin1": "Wydatek musi zostać opłacony za co najmniej jednego uczestnika.", - "noZeroShares": "Wszystkie udziały muszą być większe niż 0.", - "amountSum": "Suma udziałów musi być równa wydatkowi.", - "percentageSum": "Suma procentów musi być równa 100." - }, - "Categories": { - "search": "Szukaj kategorii...", - "noCategory": "Nie znaleziono kategorii.", - "Uncategorized": { - "heading": "Bez kategorii", - "General": "Ogólne", - "Payment": "Płatność" - }, - "Entertainment": { - "heading": "Rozrywka", - "Entertainment": "Rozrywka", - "Games": "Gry", - "Movies": "Filmy", - "Music": "Muzyka", - "Sports": "Sporty" - }, - "Food and Drink": { - "heading": "Jedzenie i Napoje", - "Food and Drink": "Jedzenie i Napoje", - "Dining Out": "Jedzenie na mieście", - "Groceries": "Zakupy", - "Liquor": "Alkohole" - }, - "Home": { - "heading": "Dom", - "Home": "Dom", - "Electronics": "Elektronika", - "Furniture": "Meble", - "Household Supplies": "Artykuły gospodarstwa domowego", - "Maintenance": "Utrzymanie", - "Mortgage": "Czynsz", - "Pets": "Zwierzaki", - "Rent": "Czynsz", - "Services": "Usługi" - }, - "Life": { - "heading": "Życie", - "Childcare": "Opieka nad dzieckiem", - "Clothing": "Ubrania", - "Education": "Edukacja", - "Gifts": "Prezenty", - "Insurance": "Ubezpieczenie", - "Medical Expenses": "Wydatki medyczne", - "Taxes": "Podatki" - }, - "Transportation": { - "heading": "Transport", - "Transportation": "Transport", - "Bicycle": "Rower", - "Bus/Train": "Bus/Pociąg", - "Car": "Samochód", - "Gas/Fuel": "Paliwo", - "Hotel": "Hotel", - "Parking": "Parking", - "Plane": "Pociąg", - "Taxi": "Taxi" - }, - "Utilities": { - "heading": "Media", - "Utilities": "Media", - "Cleaning": "Sprzątanie", - "Electricity": "Prąg", - "Heat/Gas": "Ogrzewanie", - "Trash": "Śmieci", - "TV/Phone/Internet": "TV/Telefon/Internet", - "Water": "Woda" - } - } -} diff --git a/messages/ro.json b/messages/ro.json deleted file mode 100644 index ec4d8df..0000000 --- a/messages/ro.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "Homepage": { - "title": "Distribuie Cheltuielile cu Prietenii & Familia", - "description": "Bine ai venit pe noua ta instanță de Spliit !", - "button": { - "groups": "Mergi la grupuri", - "github": "GitHub" - } - }, - "Header": { - "groups": "Grupuri" - }, - "Footer": { - "madeIn": "Dezvoltat în Montréal, Québec 🇨🇦", - "builtBy": "Dezvoltat de către Sebastien Castiel și contribuitori" - }, - "Expenses": { - "title": "Cheltuieli", - "description": "Aici sunt cheltuielile pe care le-ai creat pentru grupul tău.", - "create": "Adaugă o cheltuială", - "createFirst": "Adaug-o pe prima", - "noExpenses": "Grupul tău nu conține nicio cheltuială încă.", - "exportJson": "Salvează în JSON", - "searchPlaceholder": "Caută o cheltuială…", - "ActiveUserModal": { - "title": "Cum te numești?", - "description": "Spune-ne cine ești ca să putem îți afișăm informațiile relevante.", - "nobody": "Nu doresc să aleg pe nimeni", - "save": "Salvează", - "footer": "Această setare se poate schimba mai târziu din setările grupului." - }, - "Groups": { - "upcoming": "Urmează", - "thisWeek": "În această săptămână", - "earlierThisMonth": "La începutul lunii", - "lastMonth": "Luna trecută", - "earlierThisYear": "La începutul anului", - "lastYera": "Anul trecut", - "older": "Mai vechi" - } - }, - "ExpenseCard": { - "paidBy": "Plătit de {paidBy} pentru ", - "receivedBy": "Primit de {paidBy} pentru ", - "yourBalance": "Soldul tău:" - }, - "Groups": { - "myGroups": "Grupurile mele", - "create": "Adaugă", - "loadingRecent": "Se încarcă ultimele tale grupuri…", - "NoRecent": { - "description": "Nu ai accesat niciun grup recent.", - "create": "Adaugă unul", - "orAsk": "sau roagă un prieten să îți trimită un link către unul deja existent." - }, - "recent": "Ultimele grupuri", - "starred": "Grupuri favorite", - "archived": "Grupuri arhivate", - "archive": "Arhivează grupul", - "unarchive": "Dezarhivează grupul", - "removeRecent": "Șterge din ultimele grupuri", - "RecentRemovedToast": { - "title": "Grupul a fost șters.", - "description": "Grupul a fost șters din lista ta de grupuri recente.", - "undoAlt": "Anulează ștergerea grupului", - "undo": "Anulează" - }, - "AddByURL": { - "button": "Adaugă folosind un URL", - "title": "Adaugă un grup folosind un URL", - "description": "Dacă un grup a fost distribuit cu tine, poți atașa URL-ul acestuia aici pentru a-l adăuga în listă.", - "error": "Ups, nu am găsit grupul folosind URL-ul primit de la tine…" - }, - "NotFound": { - "text": "Acest grup nu există.", - "link": "Mergi la ultimele grupuri vizitate" - } - }, - "GroupForm": { - "title": "Informații despre grup", - "NameField": { - "label": "Numele grupului", - "placeholder": "Vacanță de vară", - "description": "Adaugă un nume pentru grupul tău." - }, - "InformationField": { - "label": "Informații despre grup", - "placeholder": "Ce informație este relevantă pentru membrii grupului?" - }, - "CurrencyField": { - "label": "Monedă", - "placeholder": "$, €, £, RON …", - "description": "O vom folosi pentru a afișa sume." - }, - "Participants": { - "title": "Membri", - "description": "Adaugă numele fiecărui membru.", - "protectedParticipant": "Acest membru a luat parte la cheltuieli și nu poate să fie șters.", - "new": "Nou", - "add": "Adaugă membru", - "John": "John", - "Jane": "Jane", - "Jack": "Jack" - }, - "Settings": { - "title": "Setări locale", - "description": "Aceste setări sunt făcute pentru fiecare dispozitiv și sunt folosite pentru a-ți personaliza experiența.", - "ActiveUserField": { - "label": "Utilizator activ", - "placeholder": "Selectează un membru", - "none": "Niciunul", - "description": "Utilizatorul implicit pentru plata cheltuielilor." - }, - "save": "Salvează", - "saving": "Se salvează…", - "create": "Adaugă", - "creating": "Se adaugă…", - "cancel": "Anulează" - } - }, - "ExpenseForm": { - "Income": { - "create": "Adaugă un venit", - "edit": "Modifică venitul", - "TitleField": { - "label": "Titlul venitului", - "placeholder": "Cina de luni seară", - "description": "Adaugă o descriere pentru venit." - }, - "DateField": { - "label": "Data venitului", - "description": "Adaugă data la care venitul a fost primit." - }, - "categoryFieldDescription": "Selectează categoria venitului.", - "paidByField": { - "label": "Primit de către", - "description": "Selectează membrul care a primit venitul." - }, - "paidFor": { - "title": "Primit pentru", - "description": "Selectează pentru cine a fost primit venitul." - }, - "splitModeDescription": "Selectează cum să fie împărțit venitul.", - "attachDescription": "Vizualizează și atașează bonul pentru venit." - }, - "Expense": { - "create": "Adaugă o cheltuială", - "edit": "Modifică cheltuiala", - "TitleField": { - "label": "Titlul cheltuielii", - "placeholder": "Cina de luni seară", - "description": "Adaugă o descriere pentru cheltuială." - }, - "DateField": { - "label": "Data cheltuielii", - "description": "Adaugă data la care cheltuiala a fost facută." - }, - "categoryFieldDescription": "Selectează categoria cheltuielii.", - "paidByField": { - "label": "Plătit de către", - "description": "Selectează membrul care a plătit cheltuiala." - }, - "paidFor": { - "title": "Plătit pentru", - "description": "Selectează pentru cine a fost platită cheltuiala." - }, - "splitModeDescription": "Selectează cum să fie împărțită cheltuiala.", - "attachDescription": "Vizualizează și atașează bonul pentru cheltuială." - }, - "amountField": { - "label": "Sumă" - }, - "isReimbursementField": { - "label": "Aceasta este o rambursare." - }, - "categoryField": { - "label": "Categorie" - }, - "notesField": { - "label": "Notițe" - }, - "selectNone": "Nu selectez nimic", - "selectAll": "Selectez tot", - "shares": "distribuiri", - "advancedOptions": "Opțiuni avansate de împărțire…", - "SplitModeField": { - "label": "Împărțire", - "evenly": "Egal", - "byShares": "Inegal – În funcție de parte", - "byPercentage": "Inegal – În funcție de procentaj", - "byAmount": "Inegal – În funcție de sumă", - "saveAsDefault": "Salvează ca și implicite opțiunile de împărțire" - }, - "DeletePopup": { - "label": "Șterge", - "title": "Ștergi această cheltuială?", - "description": "Ești sigur că vrei să ștergi această cheltuială? Această acțiune este ireversibilă.", - "yes": "Da", - "cancel": "Anulează" - }, - "attachDocuments": "Atașează documente", - "create": "Adaugă", - "creating": "Se adaugă…", - "save": "Salvează", - "saving": "Se salvează…", - "cancel": "Anulează", - "reimbursement": "Rambursare" - }, - "ExpenseDocumentsInput": { - "TooBigToast": { - "title": "Fișierul este prea mare", - "description": "Dimensiunea maximă a fișierului pe care îl poți atașa este {maxSize}. Fișierul tău are ${size}." - }, - "ErrorToast": { - "title": "Eroare la adăugarea documentului.", - "description": "Ceva a mers greșit la adăugarea fișierului. Încearcă mai târziu sau cum un alt fișier.", - "retry": "Reîncearcă" - } - }, - "CreateFromReceipt": { - "Dialog": { - "triggerTitle": "Adaugă o cheltuială dintr-un bon", - "title": "Adaugă din bon", - "description": "Extrage informații despre cheltuială dintr-o poză cu bonul.", - "body": "Adaugă o poză cu bonul și vom încerca să o scanăm pentru a extrage informații despre cheltuială.", - "selectImage": "Selectează o imagine…", - "titleLabel": "Titlu:", - "categoryLabel": "Categorie:", - "amountLabel": "Sumă:", - "dateLabel": "Data:", - "editNext": "Vei putea sa modifici informațiile despre cheltuială în continuare.", - "continue": "Continuă" - }, - "unknown": "Necunoscut", - "TooBigToast": { - "title": "Fișierul este prea mare", - "description": "Dimensiunea maximă a fișierului pe care il poți atașa este {maxSize}. Fișierul tău are ${size}." - }, - "ErrorToast": { - "title": "Eroare la adăugarea documentului.", - "description": "Ceva a mers greșit la adăugarea fișierului. Încearcă mai târziu sau cum un alt fișier.", - "retry": "Reîncearcă" - } - }, - "Balances": { - "title": "Solduri", - "description": "Aceasta este suma pe care fiecare membru a plătit-o sau cu care a fost plătit.", - "Reimbursements": { - "title": "Rambursări sugerate", - "description": "Acestea sunt sugestiile pentru rambursări optimizate între membrii.", - "noImbursements": "Se pare că grupul tău nu are nevoie de rambursări 😁", - "owes": "{from} datorează {to}", - "markAsPaid": "Bifează ca plătit" - } - }, - "Stats": { - "title": "Statistici", - "Totals": { - "title": "Totaluri", - "description": "Sumarul cheltuielior pentru întregul grup.", - "groupSpendings": "Totalul cheltuielilor din grup", - "groupEarnings": "Totalul veniturilor din grup", - "yourSpendings": "Totalul cheltuielilor tale", - "yourEarnings": "Totalul veniturilor tale", - "yourShare": "Partea ta" - } - }, - "Activity": { - "title": "Activități", - "description": "Rezumatul întregii activități a grupului.", - "noActivity": "Nu este nicio activitate în grupul tău încă.", - "someone": "Cineva", - "settingsModified": "Setările grupului au fost modificate de {participant}.", - "expenseCreated": "Cheltuială {expense} adăugată de {participant}.", - "expenseUpdated": "Cheltuială {expense} modificată de {participant}.", - "expenseDeleted": "Cheltuială {expense} ștearsă de {participant}.", - "Groups": { - "today": "Azi", - "yesterday": "Ieri", - "earlierThisWeek": "La începutul săptămânii", - "lastWeek": "Săptămâna trecută", - "earlierThisMonth": "La începutul lunii", - "lastMonth": "Luna trecuta", - "earlierThisYear": "La începutul anului", - "lastYear": "Anul trecut", - "older": "Mai vechi" - } - }, - "Information": { - "title": "Informații", - "description": "Adaugă aici orice informație care poate să fie relevantă pentru membrii grupului.", - "empty": "Nicio informație de grup încă." - }, - "Settings": { - "title": "Setări" - }, - "Locale": { - "en-US": "English", - "fi": "Suomi", - "fr-FR": "Français", - "es": "Español", - "de-DE": "Deutsch", - "zh-CN": "Chinese (Simplified)", - "pl-PL": "Polski", - "ru-RU": "Русский", - "it-IT": "Italiano", - "ua-UA": "Українська", - "ro": "Română" - }, - "Share": { - "title": "Distribuie", - "description": "Pentru ca ceilalți participanți să poată vedea grupul și cheltuielile adăugate, distribuie URL-ul acestuia cu ei.", - "warning": "Avertisment!", - "warningHelp": "Oricine are URL-ul grupului va putea să vadă și să editeze cheltuielile. Distribuie cu grijă!" - }, - "SchemaErrors": { - "min1": "Introduceți cel puțin un caracter.", - "min2": "Introduceți cel puțin două caractere.", - "max5": "Introduceți cel mult cinci caractere.", - "max50": "Introduceți cel mult 50 de caractere.", - "duplicateParticipantName": "Un alt membru are deja acest nume.", - "titleRequired": "Vă rugăm să introduceți un titlu.", - "invalidNumber": "Număr invalid.", - "amountRequired": "Trebuie să introduceți o sumă.", - "amountNotZero": "Suma nu trebuie să fie zero.", - "amountTenMillion": "Suma trebuie să fie mai mică de 10,000,000.", - "paidByRequired": "Trebuie să selectați un membru.", - "paidForMin1": "Cheltuiala trebuie plătită pentru cel puțin un membru.", - "noZeroShares": "Toate părțile trebuie să fie mai mari de 0.", - "amountSum": "Suma valorilor trebuie să fie egală cu suma cheltuielilor.", - "percentageSum": "Suma procentajelor trebuie să fie egală cu 100." - }, - "Categories": { - "search": "Căutați categorie…", - "noCategory": "Nicio categorie găsită.", - "Uncategorized": { - "heading": "Fără categorie", - "General": "General", - "Payment": "Plată" - }, - "Entertainment": { - "heading": "Divertisment", - "Entertainment": "Divertisment", - "Games": "Jocuri", - "Movies": "Filme", - "Music": "Muzică", - "Sports": "Sporturi" - }, - "Food and Drink": { - "heading": "Mâncare și Băutură", - "Food and Drink": "Mâncare și Băutură", - "Dining Out": "Cină în oraș", - "Groceries": "Alimente", - "Liquor": "Băuturi alcoolice" - }, - "Home": { - "heading": "Acasă", - "Home": "Acasă", - "Electronics": "Electronice", - "Furniture": "Mobilier", - "Household Supplies": "Produse de uz casnic", - "Maintenance": "Întreținere", - "Mortgage": "Ipotecă", - "Pets": "Animale de companie", - "Rent": "Chirie", - "Services": "Servicii" - }, - "Life": { - "heading": "Viață", - "Childcare": "Îngrijirea copiilor", - "Clothing": "Îmbrăcăminte", - "Education": "Educație", - "Gifts": "Cadouri", - "Insurance": "Asigurare", - "Medical Expenses": "Cheltuieli medicale", - "Taxes": "Impozite" - }, - "Transportation": { - "heading": "Transport", - "Transportation": "Transport", - "Bicycle": "Bicicletă", - "Bus/Train": "Autobuz/Tren", - "Car": "Mașină", - "Gas/Fuel": "Gaz/Combustibil", - "Hotel": "Hotel", - "Parking": "Parcare", - "Plane": "Avion", - "Taxi": "Taxi" - }, - "Utilities": { - "heading": "Utilități", - "Utilities": "Utilități", - "Cleaning": "Curățenie", - "Electricity": "Electricitate", - "Heat/Gas": "Încălzire/Gaz", - "Trash": "Gunoi", - "TV/Phone/Internet": "TV/Telefon/Internet", - "Water": "Apă" - } - } -} diff --git a/messages/ru-RU.json b/messages/ru-RU.json deleted file mode 100644 index e9679f5..0000000 --- a/messages/ru-RU.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "Homepage": { - "title": "Делитесь расходами с друзьями и семьей", - "description": "Добро пожаловать в вашу новую инстанцию Spliit!", - "button": { - "groups": "Перейти к группам", - "github": "GitHub" - } - }, - "Header": { - "groups": "Группы" - }, - "Footer": { - "madeIn": "Сделано в Монреале, Квебек 🇨🇦", - "builtBy": "Создано Sebastien Castiel и соавторами" - }, - "Expenses": { - "title": "Расходы", - "description": "В этом разделе находятся расходы вашей группы.", - "create": "Создать расход", - "createFirst": "Создать первый расход", - "noExpenses": "У вашей группы пока что нет расходов.", - "exportJson": "Экспортировать в JSON", - "searchPlaceholder": "Поиск расходов…", - "ActiveUserModal": { - "title": "Кто вы?", - "description": "Скажите нам, кто вы из этого списка, чтобы мы могли подстроить интерфейс под вас.", - "nobody": "Не хочу выбирать", - "save": "Сохранить изменения", - "footer": "Вы сможете изменить это в настройках группы." - }, - "Groups": { - "upcoming": "Будущее", - "thisWeek": "На этой неделе", - "earlierThisMonth": "Ранее в этом месяце", - "lastMonth": "В прошлом месяце", - "earlierThisYear": "Ранее в этом году", - "lastYera": "В прошлом году", - "older": "Очень давно" - } - }, - "ExpenseCard": { - "paidBy": "Потратил {paidBy} за ", - "receivedBy": "Получил {paidBy} за ", - "yourBalance": "Изменение баланса участника:" - }, - "Groups": { - "myGroups": "Мои группы", - "create": "Создать", - "loadingRecent": "Загрузка недавних групп…", - "NoRecent": { - "description": "У вас нет недавних групп.", - "create": "Вы можете создать группу", - "orAsk": "или попросить вашего друга отправить вам ссылку на существующую." - }, - "recent": "Недавние группы", - "starred": "Избранные", - "archived": "Архивированные группы", - "archive": "Архивировать группу", - "unarchive": "Восстановить группу", - "removeRecent": "Убрать группу из недавних", - "RecentRemovedToast": { - "title": "Группа убрана", - "description": "Группа была убрана из вашего списка недавних групп.", - "undoAlt": "Отменить удаление группы из этого списка", - "undo": "Отмена" - }, - "AddByURL": { - "button": "Добавить по URL", - "title": "Добавить группу по URL", - "description": "Если с вами поделились ссылкой на группу, вставьте ее сюда, чтобы добавить ее в ваш список.", - "error": "К сожалению, мы не смогли найти группу по этому URL." - }, - "NotFound": { - "text": "Этой группы не существует", - "link": "Перейти к списку недавних групп" - } - }, - "GroupForm": { - "title": "Сведения о группе", - "NameField": { - "label": "Название группы", - "placeholder": "Летние поездки", - "description": "Введите название вашей группы." - }, - "InformationField": { - "label": "Информация о группе", - "placeholder": "Что важно знать участникам этой группы?" - }, - "CurrencyField": { - "label": "Символ валюты", - "placeholder": "$, €, £…", - "description": "Этот символ будет использован для отображений денежных сумм." - }, - "Participants": { - "title": "Участники", - "description": "Введите имя каждого участника.", - "protectedParticipant": "Этот участник — часть расходов, и поэтому не может быть удален.", - "new": "Новый участник", - "add": "Добавить участника", - "John": "Александр", - "Jane": "Михаил", - "Jack": "Иван" - }, - "Settings": { - "title": "Локальные настройки", - "description": "Эти настройки хранятся на вашем устройстве и используются для подстройки интерфейса для вас.", - "ActiveUserField": { - "label": "Активный участник", - "placeholder": "Выберите участника", - "none": "Не выбран", - "description": "Этот участник будет автоматически выбран при создании нового расхода." - }, - "save": "Сохранить", - "saving": "Сохранение…", - "create": "Создать", - "creating": "Создание…", - "cancel": "Отмена" - } - }, - "ExpenseForm": { - "Income": { - "create": "Создать доход", - "edit": "Изменить доход", - "TitleField": { - "label": "Название доходв", - "placeholder": "Поход в ресторан", - "description": "Введите описание для этого дохода." - }, - "DateField": { - "label": "Дата дохода", - "description": "Введите дату, когда этот доход был получен." - }, - "categoryFieldDescription": "Выберите категорию дохода.", - "paidByField": { - "label": "Получивший", - "description": "Выберите участника, который получил этот доход." - }, - "paidFor": { - "title": "Участники", - "description": "Выберите тех, между кем этот доход будет распределен." - }, - "splitModeDescription": "Выберите, как доход необходимо распределить между людьми.", - "attachDescription": "Просмотр и прикрепление чеков к этому расходу." - }, - "Expense": { - "create": "Создать расход", - "edit": "Изменить расход", - "TitleField": { - "label": "Название расхода", - "placeholder": "Поход в ресторан", - "description": "Введите описание для этого расхода." - }, - "DateField": { - "label": "Дата расхода", - "description": "Введите дату, когда этот расход был совершен." - }, - "categoryFieldDescription": "Выберите категорию расхода.", - "paidByField": { - "label": "Оплативший", - "description": "Выберите участника, который оплатил этот расход." - }, - "paidFor": { - "title": "Участники", - "description": "Выберите тех, между кем этот расход будет распределен. Если этот расход — возмещение участнику (участникам), выберите только его (их)." - }, - "splitModeDescription": "Выберите, как расход необходимо распределить между людьми.", - "attachDescription": "Просмотр и прикрепление чеков к этому доходу." - }, - "amountField": { - "label": "Сумма" - }, - "isReimbursementField": { - "label": "Этот расход является возмещением" - }, - "categoryField": { - "label": "Категория" - }, - "notesField": { - "label": "Заметки" - }, - "selectNone": "Выбрать никого", - "selectAll": "Выбрать всех", - "shares": "доля(и)", - "advancedOptions": "Дополнительные настройки распределения…", - "SplitModeField": { - "label": "Режим разделения", - "evenly": "Равный", - "byShares": "Неравный – По долям", - "byPercentage": "Неравный – По процентам", - "byAmount": "Неравный – По суммам", - "saveAsDefault": "Сделать режимом по умолчанию" - }, - "DeletePopup": { - "label": "Удалить", - "title": "Удалить этот расход?", - "description": "Вы действительно хотите удалить этот расход? Это действие нельзя отменить.", - "yes": "Удалить", - "cancel": "Отмена" - }, - "attachDocuments": "Прикрепить документы", - "create": "Создать", - "creating": "Создание…", - "save": "Сохранить", - "saving": "Сохранение…", - "cancel": "Отмена", - "reimbursement": "Возмещение" - }, - "ExpenseDocumentsInput": { - "TooBigToast": { - "title": "Файл слишком большой", - "description": "Максимальный размер файла, который можно загрузить — {maxSize}. Размер вашего файла — ${size}." - }, - "ErrorToast": { - "title": "Ошибка при загрузке документа", - "description": "При загрузке документа что-то пошло не так. Пожалуйста, повторите позднее или попробуйте загрузить другой файл.", - "retry": "Повторить" - } - }, - "CreateFromReceipt": { - "Dialog": { - "triggerTitle": "Создать расход из чека", - "title": "Создать из чека", - "description": "Извлечение информации о расходах из фотографии чека", - "body": "Загрузите фотографию чека, и мы попытаемся отсканировать его, чтобы извлечь информацию о расходах.", - "selectImage": "Выбрать изображение…", - "titleLabel": "Название:", - "categoryLabel": "Категория:", - "amountLabel": "Сумма:", - "dateLabel": "Дата:", - "editNext": "Вы сможете изменить эту информацию позднее.", - "continue": "Продолжить" - }, - "unknown": "Неизвестно", - "TooBigToast": { - "title": "Файл слишком большой", - "description": "Максимальный размер файла, который можно загрузить — {maxSize}. Размер вашего файла — ${size}." - }, - "ErrorToast": { - "title": "Ошибка при загрузке документа", - "description": "При загрузке документа что-то пошло не так. Пожалуйста, повторите позднее или попробуйте загрузить другой файл.", - "retry": "Повторить" - } - }, - "Balances": { - "title": "Балансы", - "description": "Это список балансов всех участников группы. Баланс увеличивается у тех, кто оплачивает расход, и уменьшается у тех, между кем он был распределен.", - "Reimbursements": { - "title": "Предложенные возмещения", - "description": "Вот список задолженностей между участниками.", - "noImbursements": "Похоже, все в расчете 😁", - "owes": "{from} должен {to}", - "markAsPaid": "Пометить оплаченным" - } - }, - "Stats": { - "title": "Статистика", - "Totals": { - "title": "Итоговые суммы", - "description": "Общая информация о расходах вашей группы.", - "groupSpendings": "Всего потрачено группой", - "groupEarnings": "Всего заработано группой", - "yourSpendings": "Всего потрачено вами", - "yourEarnings": "Всего заработано вами", - "yourShare": "Ваша суммарная доля" - } - }, - "Activity": { - "title": "Активность", - "description": "Обзор действий, совершенных участниками этой группы.", - "noActivity": "История действий пуста.", - "someone": "Аноним", - "settingsModified": "Настройки группы изменены участником {participant}.", - "expenseCreated": "Расход {expense} создан участником {participant}.", - "expenseUpdated": "Расход {expense} изменен участником {participant}.", - "expenseDeleted": "Расход {expense} удален участником {participant}.", - "Groups": { - "today": "Сегодня", - "yesterday": "Вчера", - "earlierThisWeek": "Ранее на этой неделе", - "lastWeek": "На прошлой неделе", - "earlierThisMonth": "Ранее в этом месяце", - "lastMonth": "В прошлом месяце", - "earlierThisYear": "Ранее в этом году", - "lastYear": "В прошлом году", - "older": "Очень давно" - } - }, - "Information": { - "title": "Информация", - "description": "В этом разделе вы можете добавить важную для участников информацию.", - "empty": "Информации нет." - }, - "Settings": { - "title": "Настройки" - }, - "Locale": { - "en-US": "English", - "fi": "Suomi", - "fr-FR": "Français", - "es": "Español", - "de-DE": "Deutsch", - "zh-CN": "Chinese (Simplified)", - "pl-PL": "Polski", - "ru-RU": "Русский", - "it-IT": "Italiano", - "ua-UA": "Українська", - "ro": "Română" - }, - "Share": { - "title": "Поделиться", - "description": "Чтобы другие участники получили доступ к этой группе и смогли добавлять расходы, отправьте им этот URL.", - "warning": "Внимание!", - "warningHelp": "Любой человек с доступом к этой ссылке сможет просматривать и редактировать расходы. Будьте осторожны!" - }, - "SchemaErrors": { - "min1": "Введите как минимум один символ.", - "min2": "Введите как минимум два символа.", - "max5": "Введите максимум 5 символов.", - "max50": "Введите максимум 50 символов.", - "duplicateParticipantName": "Участник с таким именем уже существует.", - "titleRequired": "Пожалуйста, введите название.", - "invalidNumber": "Неверное число.", - "amountRequired": "Пожалуйста, введите сумму.", - "amountNotZero": "Сумма не может быть нулевой.", - "amountTenMillion": "Сумма должна быть меньше 10 000 000.", - "paidByRequired": "Пожалуйста, выберите участника.", - "paidForMin1": "За этот расход должен заплатить как минимум один участник.", - "noZeroShares": "Все доли должны быть больше 0.", - "amountSum": "Сумма расхода должна быть равна сумме значений, распределенных между участниками.", - "percentageSum": "Сумма процентов должна быть равна 100." - }, - "Categories": { - "search": "Поиск категорий...", - "noCategory": "Категорий не нашлось.", - "Uncategorized": { - "heading": "Без категории", - "General": "Общее", - "Payment": "Выплата" - }, - "Entertainment": { - "heading": "Развлечения", - "Entertainment": "Развлечения", - "Games": "Игры", - "Movies": "Кино", - "Music": "Музыка", - "Sports": "Спорт" - }, - "Food and Drink": { - "heading": "Еда и напитки", - "Food and Drink": "Еда и напитки", - "Dining Out": "Рестораны и кафе", - "Groceries": "Продукты", - "Liquor": "Напитки" - }, - "Home": { - "heading": "Дом", - "Home": "Дом", - "Electronics": "Электроника", - "Furniture": "Мебель", - "Household Supplies": "Расходные материалы", - "Maintenance": "Уборка", - "Mortgage": "Ипотека", - "Pets": "Домашние животные", - "Rent": "Аренда", - "Services": "Коммунальные расходы" - }, - "Life": { - "heading": "Жизнь", - "Childcare": "Дети", - "Clothing": "Одежда", - "Education": "Образование", - "Gifts": "Подарки", - "Insurance": "Страховки", - "Medical Expenses": "Медицина", - "Taxes": "Налоги" - }, - "Transportation": { - "heading": "Транспорт", - "Transportation": "Транспорт", - "Bicycle": "Велосипед", - "Bus/Train": "Автобусы и поезда", - "Car": "Авто", - "Gas/Fuel": "Топливо", - "Hotel": "Отели", - "Parking": "Парковка", - "Plane": "Самолеты", - "Taxi": "Такси" - }, - "Utilities": { - "heading": "Коммунальные расходы", - "Utilities": "Коммунальные расходы", - "Cleaning": "Клининг", - "Electricity": "Электричество", - "Heat/Gas": "Отопление/Газ", - "Trash": "Утилизация отходов", - "TV/Phone/Internet": "ТВ/Телефон/Интернет", - "Water": "Вода" - } - } -} diff --git a/messages/ua-UA.json b/messages/ua-UA.json deleted file mode 100644 index 4a7d773..0000000 --- a/messages/ua-UA.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "Homepage": { - "title": "Ділися витратами з друзями та родиною", - "description": "Ласкаво просимо у ваш новий Spliit!", - "button": { - "groups": "Перейти до груп", - "github": "GitHub" - } - }, - "Header": { - "groups": "Групи" - }, - "Footer": { - "madeIn": "Зроблено в Монреалі, Квебек 🇨🇦", - "builtBy": "Створено Себастіаном Кастіелем та учасниками" - }, - "Expenses": { - "title": "Витрати", - "description": "Тут знаходяться витрати вашої групи", - "create": "Створити витрату", - "createFirst": "Створіть першу витрату", - "noExpenses": "У вашій групі ще немає витрат", - "exportJson": "Експортувати у JSON", - "searchPlaceholder": "Пошук витрат...", - "ActiveUserModal": { - "title": "Хто ви?", - "description": "Скажіть нам, хто ви серед учасників, щоб ми могли налаштувати відображення інформації під вас", - "nobody": "Я не хочу нікого обирати", - "save": "Зберегти зміни", - "footer": "Це налаштування можна змінити пізніше в налаштуваннях групи" - }, - "Groups": { - "upcoming": "Майбутні", - "thisWeek": "Цього тижня", - "earlierThisMonth": "Раніше цього місяця", - "lastMonth": "Минулого місяця", - "earlierThisYear": "Раніше цього року", - "lastYera": "Минулого року", - "older": "Старіші" - } - }, - "ExpenseCard": { - "paidBy": "Сплачено {paidBy} за ", - "receivedBy": "Отримано {paidBy} за ", - "yourBalance": "Ваш баланс:" - }, - "Groups": { - "myGroups": "Мої групи", - "create": "Створити", - "loadingRecent": "Завантаження нещодавніх груп...", - "NoRecent": { - "description": "Ви не відвідували жодних груп останнім часом", - "create": "Створіть групу", - "orAsk": "або попросіть друга надіслати вам посилання на існуючу" - }, - "recent": "Нещодавні групи", - "starred": "Обрані групи", - "archived": "Архівовані групи", - "archive": "Архівувати групу", - "unarchive": "Розархівувати групу", - "removeRecent": "Видалити з останніх груп", - "RecentRemovedToast": { - "title": "Група була видалена", - "description": "Група видалена зі списку ваших нещодавніх груп", - "undoAlt": "Скасувати видалення групи", - "undo": "Скасувати" - }, - "AddByURL": { - "button": "Додати за URL", - "title": "Додати групу за URL", - "description": "Якщо з вами поділились групою, ви можете вставити її URL тут, щоб додати до свого списку", - "error": "На жаль, ми не змогли знайти групу за наданим URL" - }, - "NotFound": { - "text": "Цієї групи не існує", - "link": "Перейти до нещодавно відвіданих груп" - } - }, - "GroupForm": { - "title": "Інформація про групу", - "NameField": { - "label": "Назва групи", - "placeholder": "Літні канікули", - "description": "Введіть назву для вашої групи" - }, - "InformationField": { - "label": "Інформація про групу", - "placeholder": "Яка інформація важлива для учасників групи?" - }, - "CurrencyField": { - "label": "Символ валюти", - "placeholder": "₴, $, €, £..", - "description": "Ми будемо використовувати його для відображення сум" - }, - "Participants": { - "title": "Учасники", - "description": "Введіть ім'я кожного учасника", - "protectedParticipant": "Цей учасник бере участь у витратах і не може бути видалений", - "new": "Новий", - "add": "Додати учасника", - "John": "Андрій", - "Jane": "Оксана", - "Jack": "Василь" - }, - "Settings": { - "title": "Локальні налаштування", - "description": "Ці налаштування встановлюються на кожному пристрої окремо і використовуються для налаштування інтерфейсу під вас", - "ActiveUserField": { - "label": "Активний користувач", - "placeholder": "Обрати учасника", - "none": "Ніхто", - "description": "Користувач використовується за замовчуванням для оплати витрат" - }, - "save": "Зберегти", - "saving": "Збереження...", - "create": "Створити", - "creating": "Створення...", - "cancel": "Скасувати" - } - }, - "ExpenseForm": { - "Income": { - "create": "Створити дохід", - "edit": "Редагувати дохід", - "TitleField": { - "label": "Назва доходу", - "placeholder": "Ресторан в понеділок ввечері", - "description": "Введіть опис для доходу" - }, - "DateField": { - "label": "Дата доходу", - "description": "Введіть дату, коли було отримано дохід" - }, - "categoryFieldDescription": "Оберіть категорію доходу", - "paidByField": { - "label": "Отримав", - "description": "Оберіть учасника, який отримав дохід" - }, - "paidFor": { - "title": "Учасники", - "description": "Виберіть тих, між ким цей дохід буде розподілено" - }, - "splitModeDescription": "Оберіть, як розділити дохід між учасниками", - "attachDescription": "Перегляньте та прикріпіть чеки до доходу" - }, - "Expense": { - "create": "Створити витрату", - "edit": "Редагувати витрату", - "TitleField": { - "label": "Назва витрати", - "placeholder": "Ресторан в понеділок ввечері", - "description": "Введіть опис для витрати" - }, - "DateField": { - "label": "Дата витрати", - "description": "Введіть дату, коли було сплачено" - }, - "categoryFieldDescription": "Оберіть категорію витрати", - "paidByField": { - "label": "Сплатив", - "description": "Оберіть учасника, який сплатив" - }, - "paidFor": { - "title": "Учасники", - "description": "Оберіть тих, між ким цю витрату буде розподілено. Якщо ця витрата - відшкодування учаснику (учасникам), виберіть тільки його (їх)." - }, - "splitModeDescription": "Оберіть, як розділити витрату", - "attachDescription": "Перегляньте та прикріпіть чеки до витрати" - }, - "amountField": { - "label": "Сума" - }, - "isReimbursementField": { - "label": "Це відшкодування" - }, - "categoryField": { - "label": "Категорія" - }, - "notesField": { - "label": "Примітки" - }, - "selectNone": "Обрати жодного", - "selectAll": "Обрати всіх", - "shares": "частка(и)", - "advancedOptions": "Розширені опції поділу..", - "SplitModeField": { - "label": "Режим поділу", - "evenly": "Рівномірно", - "byShares": "Нерівномірно – за частками", - "byPercentage": "Нерівномірно – за відсотками", - "byAmount": "Нерівномірно – за сумами", - "saveAsDefault": "Зберегти як параметри поділу за замовчуванням" - }, - "DeletePopup": { - "label": "Видалити", - "title": "Видалити цю витрату?", - "description": "Ви дійсно хочете видалити цю витрату? Ця дія не може бути скасована", - "yes": "Так", - "cancel": "Скасувати" - }, - "attachDocuments": "Прикріпити документи", - "create": "Створити", - "creating": "Створення..", - "save": "Зберегти", - "saving": "Збереження..", - "cancel": "Скасувати", - "reimbursement": "Відшкодування" - }, - "ExpenseDocumentsInput": { - "TooBigToast": { - "title": "Файл занадто великий", - "description": "Максимальний розмір файлу, який можна завантажити, становить {maxSize}. Ваш файл {size}" - }, - "ErrorToast": { - "title": "Помилка під час завантаження документа", - "description": "Виникла помилка під час завантаження документа. Будь ласка, спробуйте ще раз пізніше або виберіть інший файл", - "retry": "Спробувати ще раз" - } - }, - "CreateFromReceipt": { - "Dialog": { - "triggerTitle": "Створити витрату з чека", - "title": "Створити з чека", - "description": "Отримайте інформацію про витрати з фото чека", - "body": "Завантажте фото чека, і ми спробуємо витягнути інформацію про витрати, якщо це можливо", - "selectImage": "Вибрати зображення..", - "titleLabel": "Назва:", - "categoryLabel": "Категорія:", - "amountLabel": "Сума:", - "dateLabel": "Дата:", - "editNext": "Ви зможете відредагувати інформацію про витрати пізніше", - "continue": "Продовжити" - }, - "unknown": "Невідомо", - "TooBigToast": { - "title": "Файл занадто великий", - "description": "Максимальний розмір файлу, який можна завантажити, становить {maxSize}. Ваш файл {size}" - }, - "ErrorToast": { - "title": "Помилка під час завантаження документа", - "description": "Виникла помилка під час завантаження документа. Будь ласка, спробуйте ще раз пізніше або виберіть інший файл", - "retry": "Спробувати ще раз" - } - }, - "Balances": { - "title": "Баланси", - "description": "Це список балансів всіх учасників групи. Баланс збільшується у тих, хто слачує витрату, і зменшується в тих, між ким вона була розподілена", - "Reimbursements": { - "title": "Запропоновані відшкодування", - "description": "Ось пропозиції для оптимізованих відшкодувань між учасниками", - "noImbursements": "Схоже, ніхто нікому не винен 😁", - "owes": "{from} винен {to}", - "markAsPaid": "Позначити як сплачене" - } - }, - "Stats": { - "title": "Статистика", - "Totals": { - "title": "Загальні дані", - "description": "Загальний огляд витрат групи", - "groupSpendings": "Загальні витрати групи", - "groupEarnings": "Загальні доходи групи", - "yourSpendings": "Ваші загальні витрати", - "yourEarnings": "Ваші загальні доходи", - "yourShare": "Ваша частка" - } - }, - "Activity": { - "title": "Активність", - "description": "Огляд усієї активності в цій групі", - "noActivity": "У вашій групі ще немає активності", - "someone": "Хтось", - "settingsModified": "Налаштування групи змінені {participant}", - "expenseCreated": "Витрата {expense} створена {participant}", - "expenseUpdated": "Витрата {expense} оновлена {participant}", - "expenseDeleted": "Витрата {expense} видалена {participant}", - "Groups": { - "today": "Сьогодні", - "yesterday": "Вчора", - "earlierThisWeek": "Раніше цього тижня", - "lastWeek": "Минулого тижня", - "earlierThisMonth": "Раніше цього місяця", - "lastMonth": "Минулого місяця", - "earlierThisYear": "Раніше цього року", - "lastYear": "Минулого року", - "older": "Старіші" - } - }, - "Information": { - "title": "Інформація", - "description": "Використовуйте це місце, щоб додати будь-яку інформацію, яка може бути корисною для учасників групи", - "empty": "Ще немає інформації про групу" - }, - "Settings": { - "title": "Налаштування" - }, - "Locale": { - "en-US": "English", - "fi": "Suomi", - "fr-FR": "Français", - "es": "Español", - "de-DE": "Deutsch", - "zh-CN": "Chinese (Simplified)", - "pl-PL": "Polski", - "ru-RU": "Русский", - "it-IT": "Italiano", - "ua-UA": "Українська", - "ro": "Română" - }, - "Share": { - "title": "Поділитися", - "description": "Щоб інші учасники могли побачити групу і додати витрати, поділіться з ними її URL", - "warning": "Попередження!", - "warningHelp": "Кожна людина з URL групи зможе переглядати та редагувати витрати. Діліться з обережністю!" - }, - "SchemaErrors": { - "min1": "Введіть принаймні один символ", - "min2": "Введіть принаймні два символи", - "max5": "Введіть не більше п'яти символів", - "max50": "Введіть не більше 50 символів", - "duplicateParticipantName": "Інший учасник уже має це ім'я", - "titleRequired": "Будь ласка, введіть назву", - "invalidNumber": "Невірний номер", - "amountRequired": "Необхідно ввести суму", - "amountNotZero": "Сума не повинна дорівнювати нулю", - "amountTenMillion": "Сума повинна бути меншою за 10,000,000", - "paidByRequired": "Ви повинні обрати учасника", - "paidForMin1": "Витрата повинна бути сплачена принаймні для одного учасника", - "noZeroShares": "Усі частки повинні бути більшими за 0", - "amountSum": "Сума повинна відповідати витраті", - "percentageSum": "Сума відсотків повинна дорівнювати 100" - }, - "Categories": { - "search": "Шукати категорію..", - "noCategory": "Категорії не знайдено", - "Uncategorized": { - "heading": "Без категорії", - "General": "Загальне", - "Payment": "Оплата" - }, - "Entertainment": { - "heading": "Розваги", - "Entertainment": "Розваги", - "Games": "Ігри", - "Movies": "Фільми", - "Music": "Музика", - "Sports": "Спорт" - }, - "Food and Drink": { - "heading": "Їжа та напої", - "Food and Drink": "Їжа та напої", - "Dining Out": "Ресторани", - "Groceries": "Продукти", - "Liquor": "Алкоголь" - }, - "Home": { - "heading": "Дім", - "Home": "Дім", - "Electronics": "Електроніка", - "Furniture": "Меблі", - "Household Supplies": "Домашні потреби", - "Maintenance": "Обслуговування", - "Mortgage": "Іпотека", - "Pets": "Домашні тварини", - "Rent": "Оренда", - "Services": "Послуги" - }, - "Life": { - "heading": "Життя", - "Childcare": "Догляд за дітьми", - "Clothing": "Одяг", - "Education": "Освіта", - "Gifts": "Подарунки", - "Insurance": "Страхування", - "Medical Expenses": "Медичні витрати", - "Taxes": "Податки" - }, - "Transportation": { - "heading": "Транспорт", - "Transportation": "Транспорт", - "Bicycle": "Велосипед", - "Bus/Train": "Автобус/Поїзд", - "Car": "Автомобіль", - "Gas/Fuel": "Паливо", - "Hotel": "Готель", - "Parking": "Паркінг", - "Plane": "Літак", - "Taxi": "Таксі" - }, - "Utilities": { - "heading": "Комунальні послуги", - "Utilities": "Комунальні послуги", - "Cleaning": "Прибирання", - "Electricity": "Електроенергія", - "Heat/Gas": "Опалення/Газ", - "Trash": "Сміття", - "TV/Phone/Internet": "ТБ/Телефон/Інтернет", - "Water": "Вода" - } - } -} diff --git a/messages/zh-CN.json b/messages/zh-CN.json deleted file mode 100644 index a0d0b0c..0000000 --- a/messages/zh-CN.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "Homepage": { - "title": "与朋友和家人共享开支", - "description": "欢迎使用你的全新Spliit实例!", - "button": { - "groups": "前往群组", - "github": "GitHub" - } - }, - "Header": { - "groups": "群组" - }, - "Footer": { - "madeIn": "Made in Montréal, Québec 🇨🇦", - "builtBy": "由 Sebastien Castiel 以及 社区贡献者们 共同构建" - }, - "Expenses": { - "title": "消费", - "description": "这里有你为你的群组创建的消费。", - "create": "创建消费", - "createFirst": "创建首个消费", - "noExpenses": "你的群组内目前没有任何消费。", - "exportJson": "导出到JSON", - "searchPlaceholder": "查找消费……", - "ActiveUserModal": { - "title": "你是哪位?", - "description": "告诉我们你在群组中的身份,以便定制你的信息呈现方式。", - "nobody": "我不想选择任何人", - "save": "保存变更", - "footer": "此项设定之后可以在群组设定中修改。" - }, - "Groups": { - "upcoming": "即将到来", - "thisWeek": "本周", - "earlierThisMonth": "本月早些时候", - "lastMonth": "上个月", - "earlierThisYear": "本年早些时候", - "lastYera": "去年", - "older": "更早" - } - }, - "ExpenseCard": { - "paidBy": "{paidBy} 支付。", - "receivedBy": "{paidBy} 接收。", - "yourBalance": "你的余额:" - }, - "Groups": { - "myGroups": "我的群组", - "create": "创建", - "loadingRecent": "加载最近的群组……", - "NoRecent": { - "description": "你最近没有访问任何群组。", - "create": "创建一个群组", - "orAsk": "或者让你的朋友发给你现有群组的链接。" - }, - "recent": "最近的群组", - "starred": "已收藏的群组", - "archived": "已归档的群组", - "archive": "归档群组", - "unarchive": "取消归档群组", - "removeRecent": "从最近的群组中删除", - "RecentRemovedToast": { - "title": "群组已删除", - "description": "群组已从你的最近群组列表中删除。", - "undoAlt": "撤销群组删除", - "undo": "撤销" - }, - "AddByURL": { - "button": "使用URL添加", - "title": "使用URL添加一个群组", - "description": "如果你被分享了一个群组,你可以将群组的URL粘贴到这里以添加这个群组。", - "error": "哎呀,我们没办法根据你的URL找到相应的群组……" - }, - "NotFound": { - "text": "该群组不存在。", - "link": "跳转到最近访问过的群组" - } - }, - "GroupForm": { - "title": "群组信息", - "NameField": { - "label": "群组名", - "placeholder": "暑假", - "description": "为你的群组输入一个名字。" - }, - "InformationField": { - "label": "群组信息", - "placeholder": "哪些信息与群组成员有关?" - }, - "CurrencyField": { - "label": "货币标志", - "placeholder": "$, €, £…", - "description": "我们根据这个显示相应的货币金额。" - }, - "Participants": { - "title": "群组成员", - "description": "输入每位成员的名字。", - "protectedParticipant": "群组成员是消费的一部分,不可删除。", - "new": "新建", - "add": "添加群组成员", - "John": "John", - "Jane": "Jane", - "Jack": "Jack" - }, - "Settings": { - "title": "本地设定", - "description": "这些设定是按设备设定的,用于定制你的使用体验。", - "ActiveUserField": { - "label": "当前用户", - "placeholder": "选择一个群组成员", - "none": "无", - "description": "用于支付消费的默认用户。" - }, - "save": "保存", - "saving": "保存中……", - "create": "创建", - "creating": "创建中", - "cancel": "取消" - } - }, - "ExpenseForm": { - "Income": { - "create": "创建收入", - "edit": "编辑收入", - "TitleField": { - "label": "收入标题", - "placeholder": "周一晚上的餐厅", - "description": "描述这个收入。" - }, - "DateField": { - "label": "收入日期", - "description": "输入收到这笔收入的日期。" - }, - "categoryFieldDescription": "选择收入类别。", - "paidByField": { - "label": "接收到", - "description": "选择接收到这笔收入的群组成员。" - }, - "paidFor": { - "title": "接收给", - "description": "选择收入是为谁而收。" - }, - "splitModeDescription": "选择如何划分这笔收入。", - "attachDescription": "查看并为这笔收入附加收据。" - }, - "Expense": { - "create": "创建消费", - "edit": "编辑消费", - "TitleField": { - "label": "消费标题", - "placeholder": "周一晚上的餐厅", - "description": "描述这个消费。" - }, - "DateField": { - "label": "消费日期", - "description": "输入支付这笔消费的日期。" - }, - "categoryFieldDescription": "选择消费类别。", - "paidByField": { - "label": "支付自", - "description": "选择支付这笔消费的群组成员。" - }, - "paidFor": { - "title": "支付给", - "description": "选择消费是为谁而支出。" - }, - "splitModeDescription": "选择如何划分这笔消费。", - "attachDescription": "查看并为这笔消费附加收据。" - }, - "amountField": { - "label": "金额" - }, - "isReimbursementField": { - "label": "这是一笔报销款" - }, - "categoryField": { - "label": "类别" - }, - "notesField": { - "label": "附注" - }, - "selectNone": "取消选中", - "selectAll": "全选", - "shares": "份额", - "advancedOptions": "高级分账选项……", - "SplitModeField": { - "label": "分账模式", - "evenly": "平均分配", - "byShares": "按份额分配", - "byPercentage": "按百分比分配", - "byAmount": "按金额分配", - "saveAsDefault": "保存为默认分账设置" - }, - "DeletePopup": { - "label": "删除", - "title": "要删除这项消费吗?", - "description": "你真的确定要删除这项消费吗?此行动不可撤销。", - "yes": "确定", - "cancel": "取消" - }, - "attachDocuments": "附加文档", - "create": "创建", - "creating": "创建中……", - "save": "保存", - "saving": "保存中……", - "cancel": "取消", - "reimbursement": "报销" - }, - "ExpenseDocumentsInput": { - "TooBigToast": { - "title": "文件过大", - "description": "可上传的最大文件大小为{maxSize},你的文件为${size}。" - }, - "ErrorToast": { - "title": "上传文档时发生错误", - "description": "上传文档时发生了一些错误。请稍后重试或更换文件。", - "retry": "重试" - } - }, - "CreateFromReceipt": { - "Dialog": { - "triggerTitle": "从收据中创建消费", - "title": "从收据中创建", - "description": "从收据照片上提取消费信息。", - "body": "上传收据的图片,我们会尽可能地从中扫描出消费信息。", - "selectImage": "选择图片……", - "titleLabel": "标题:", - "categoryLabel": "类别:", - "amountLabel": "金额:", - "dateLabel": "日期:", - "editNext": "你之后可以修改消费的信息。", - "continue": "继续" - }, - "unknown": "未知", - "TooBigToast": { - "title": "文件过大", - "description": "可上传的最大文件大小为{maxSize},你的文件为${size}。" - }, - "ErrorToast": { - "title": "上传文档时发生错误", - "description": "上传文档时发生了一些错误。请稍后重试或更换文件。", - "retry": "重试" - } - }, - "Balances": { - "title": "余额", - "description": "这是每位群组成员支付或被支付的金额。", - "Reimbursements": { - "title": "建议报销", - "description": "这里是优化群组成员之间报销的建议。", - "noImbursements": "看起来你的群组不需要任何报销😁", - "owes": "{from}{to}", - "markAsPaid": "标记为已支付" - } - }, - "Stats": { - "title": "统计", - "Totals": { - "title": "总计", - "description": "整个群组的花费合计。", - "groupSpendings": "群组总计开销", - "groupEarnings": "群组总计收入", - "yourSpendings": "你的总计开销", - "yourEarnings": "你的总计收入", - "yourShare": "你的总计份额" - } - }, - "Activity": { - "title": "活动", - "description": "该群组所有活动总览", - "noActivity": "你的群组目前没有任何活动。", - "someone": "某人", - "settingsModified": "群组设定已被{participant}更改。", - "expenseCreated": "消费 {expense}{participant} 创建。", - "expenseUpdated": "消费 {expense}{participant} 更新。", - "expenseDeleted": "消费 {expense}{participant} 删除。", - "Groups": { - "today": "今天", - "yesterday": "昨天", - "earlierThisWeek": "这周早些时候", - "lastWeek": "上周", - "earlierThisMonth": "这月早些时候", - "lastMonth": "上月", - "earlierThisYear": "这年早些时候", - "lastYear": "上年", - "older": "更早" - } - }, - "Information": { - "title": "信息", - "description": "使用此处以添加与群组成员相关的任何信息。", - "empty": "当前没有群组信息。" - }, - "Settings": { - "title": "设定" - }, - "Locale": { - "en-US": "English", - "fi": "Suomi", - "fr-FR": "Français", - "es": "Español", - "de-DE": "Deutsch", - "zh-CN": "Chinese (Simplified)", - "pl-PL": "Polski", - "ru-RU": "Русский", - "it-IT": "Italiano", - "ua-UA": "Українська", - "ro": "Română" - }, - "Share": { - "title": "分享", - "description": "请将此URL分享给其他群组成员,以使其可以查看群组并添加消费。", - "warning": "警告!", - "warningHelp": "任何持有群组URL的个体都有能够查看并编辑消费。请谨慎分享!" - }, - "SchemaErrors": { - "min1": "输入至少1个字符。", - "min2": "输入至少2个字符。", - "max5": "输入至少5个字符。", - "max50": "输入至少50个字符。", - "duplicateParticipantName": "此名字已被另一位群组成员占用。", - "titleRequired": "请输入标题。", - "invalidNumber": "无效数值。", - "amountRequired": "你必须输入一个金额。", - "amountNotZero": "金额不可以为0。", - "amountTenMillion": "金额必须小于10,000,000。", - "paidByRequired": "你必须选择一个群组成员。", - "paidForMin1": "这项消费必须支付给至少1名群组成员。", - "noZeroShares": "所有份额必须大于0。", - "amountSum": "金额之和必须等于消费的金额。", - "percentageSum": "百分比之和必须等于100。" - }, - "Categories": { - "search": "搜寻类别……", - "noCategory": "未找到类别。", - "Uncategorized": { - "heading": "未分类", - "General": "一般", - "Payment": "支付" - }, - "Entertainment": { - "heading": "娱乐", - "Entertainment": "娱乐", - "Games": "游戏", - "Movies": "电影", - "Music": "音乐", - "Sports": "运动" - }, - "Food and Drink": { - "heading": "饮食", - "Food and Drink": "饮食", - "Dining Out": "下馆子", - "Groceries": "便利店", - "Liquor": "酒水" - }, - "Home": { - "heading": "居家", - "Home": "居家", - "Electronics": "电费", - "Furniture": "家具", - "Household Supplies": "家庭日用品", - "Maintenance": "维护", - "Mortgage": "贷款", - "Pets": "宠物", - "Rent": "租金", - "Services": "服务" - }, - "Life": { - "heading": "生活", - "Childcare": "儿童保育", - "Clothing": "衣物", - "Education": "教育", - "Gifts": "礼物", - "Insurance": "保险", - "Medical Expenses": "医疗支出", - "Taxes": "税" - }, - "Transportation": { - "heading": "交通", - "Transportation": "交通", - "Bicycle": "自行车", - "Bus/Train": "巴士/列车", - "Car": "汽车", - "Gas/Fuel": "燃料", - "Hotel": "旅馆", - "Parking": "停车", - "Plane": "飞机", - "Taxi": "出租车" - }, - "Utilities": { - "heading": "日常账单", - "Utilities": "日常账单", - "Cleaning": "清洁费", - "Electricity": "电费", - "Heat/Gas": "暖气/瓦斯", - "Trash": "垃圾", - "TV/Phone/Internet": "电视/手机/互联网", - "Water": "水" - } - } -} diff --git a/next.config.mjs b/next.config.mjs deleted file mode 100644 index 6579620..0000000 --- a/next.config.mjs +++ /dev/null @@ -1,38 +0,0 @@ -import createNextIntlPlugin from 'next-intl/plugin' - -const withNextIntl = createNextIntlPlugin() - -/** - * Undefined entries are not supported. Push optional patterns to this array only if defined. - * @type {import('next/dist/shared/lib/image-config').RemotePattern} - */ -const remotePatterns = [] - -// S3 Storage -if (process.env.S3_UPLOAD_ENDPOINT) { - // custom endpoint for providers other than AWS - const url = new URL(process.env.S3_UPLOAD_ENDPOINT); - remotePatterns.push({ - hostname: url.hostname, - }) -} else if (process.env.S3_UPLOAD_BUCKET && process.env.S3_UPLOAD_REGION) { - // default provider - remotePatterns.push({ - hostname: `${process.env.S3_UPLOAD_BUCKET}.s3.${process.env.S3_UPLOAD_REGION}.amazonaws.com`, - }) -} - -/** @type {import('next').NextConfig} */ -const nextConfig = { - images: { - remotePatterns - }, - // Required to run in a codespace (see https://github.com/vercel/next.js/issues/58019) - experimental: { - serverActions: { - allowedOrigins: ['localhost:3000'], - }, -}, -} - -export default withNextIntl(nextConfig) diff --git a/package-lock.json b/package-lock.json index ec87fac..eaf40c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,94 +1,52 @@ { - "name": "spliit2", + "name": "spliit-api", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "spliit2", + "name": "spliit-api", "version": "0.1.0", "hasInstallScript": true, "dependencies": { "@formatjs/intl-localematcher": "^0.5.4", "@hookform/resolvers": "^3.3.2", "@prisma/client": "^5.6.0", - "@radix-ui/react-checkbox": "^1.0.4", - "@radix-ui/react-collapsible": "^1.0.3", - "@radix-ui/react-dialog": "^1.0.5", - "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-hover-card": "^1.0.7", - "@radix-ui/react-icons": "^1.3.0", - "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-popover": "^1.0.7", - "@radix-ui/react-radio-group": "^1.1.3", - "@radix-ui/react-select": "^2.0.0", - "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-tabs": "^1.0.4", - "@radix-ui/react-toast": "^1.1.5", - "@tailwindcss/typography": "^0.5.10", - "@tanstack/react-query": "^5.59.15", "@trpc/client": "^11.0.0-rc.586", "@trpc/react-query": "^11.0.0-rc.586", "@trpc/server": "^11.0.0-rc.586", "class-variance-authority": "^0.7.0", - "client-only": "^0.0.1", - "clsx": "^2.0.0", - "cmdk": "^0.2.0", "content-disposition": "^0.5.4", "dayjs": "^1.11.10", - "embla-carousel-react": "^8.0.0-rc21", - "lucide-react": "^0.290.0", "nanoid": "^5.0.4", "negotiator": "^0.6.3", - "next": "^14.2.5", - "next-intl": "^3.17.2", - "next-s3-upload": "^0.3.4", - "next-themes": "^0.2.1", - "next13-progressbar": "^1.1.1", "openai": "^4.25.0", "pg": "^8.11.3", "prisma": "^5.7.0", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-hook-form": "^7.47.0", - "react-intersection-observer": "^9.8.0", - "server-only": "^0.0.1", "sharp": "^0.33.2", "superjson": "^2.2.1", - "tailwind-merge": "^1.14.0", - "tailwindcss-animate": "^1.0.7", "ts-pattern": "^5.0.6", - "use-debounce": "^10.0.4", "uuid": "^9.0.1", "vaul": "^0.8.0", "zod": "^3.23.8" }, "devDependencies": { - "@testing-library/dom": "^10.4.0", - "@testing-library/jest-dom": "^6.4.8", - "@testing-library/react": "^16.0.0", + "@eslint/js": "^9.13.0", "@total-typescript/ts-reset": "^0.5.1", "@types/content-disposition": "^0.5.8", - "@types/jest": "^29.5.12", "@types/negotiator": "^0.6.3", "@types/node": "^20", "@types/pg": "^8.10.9", - "@types/react": "^18.2.48", - "@types/react-dom": "^18.2.18", "@types/uuid": "^9.0.6", "autoprefixer": "^10", "dotenv": "^16.3.1", - "eslint": "^8", - "eslint-config-next": "^14.1.0", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", - "postcss": "^8", + "eslint": "^8.57.1", + "globals": "^15.11.0", "prettier": "^3.0.3", "prettier-plugin-organize-imports": "^3.2.3", - "tailwindcss": "^3", - "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", - "typescript": "^5.3.3" + "typescript": "^5.3.3", + "typescript-eslint": "^8.11.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -101,4394 +59,6 @@ "node": ">=0.10.0" } }, - "node_modules/@adobe/css-tools": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", - "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", - "dev": true - }, - "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==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@aws-crypto/crc32": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", - "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", - "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/crc32/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@aws-crypto/crc32c": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", - "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/crc32c/node_modules/@aws-crypto/util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", - "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha1-browser": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", - "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", - "dependencies": { - "@aws-crypto/supports-web-crypto": "^5.2.0", - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha1-browser/node_modules/@aws-crypto/util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", - "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", - "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", - "dependencies": { - "@aws-crypto/sha256-js": "^5.2.0", - "@aws-crypto/supports-web-crypto": "^5.2.0", - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", - "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha256-js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", - "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-crypto/sha256-js/node_modules/@aws-crypto/util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", - "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", - "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", - "dependencies": { - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@aws-sdk/client-s3": { - "version": "3.622.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.622.0.tgz", - "integrity": "sha512-2lpvuQn/qymQPfwR2SxLyRy/Wi/RrEYpbQyoc9SYfhartw9TBY8c34yZkd8zNU7Y/KG3h+PLrCmNpncocuB3YA==", - "dependencies": { - "@aws-crypto/sha1-browser": "5.2.0", - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.622.0", - "@aws-sdk/client-sts": "3.622.0", - "@aws-sdk/core": "3.622.0", - "@aws-sdk/credential-provider-node": "3.622.0", - "@aws-sdk/middleware-bucket-endpoint": "3.620.0", - "@aws-sdk/middleware-expect-continue": "3.620.0", - "@aws-sdk/middleware-flexible-checksums": "3.620.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-location-constraint": "3.609.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-sdk-s3": "3.622.0", - "@aws-sdk/middleware-signing": "3.620.0", - "@aws-sdk/middleware-ssec": "3.609.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/signature-v4-multi-region": "3.622.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@aws-sdk/xml-builder": "3.609.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.2", - "@smithy/eventstream-serde-browser": "^3.0.5", - "@smithy/eventstream-serde-config-resolver": "^3.0.3", - "@smithy/eventstream-serde-node": "^3.0.4", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-blob-browser": "^3.1.2", - "@smithy/hash-node": "^3.0.3", - "@smithy/hash-stream-node": "^3.1.2", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/md5-js": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.14", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.12", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.14", - "@smithy/util-defaults-mode-node": "^3.0.14", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-stream": "^3.1.3", - "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.1.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.622.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.622.0.tgz", - "integrity": "sha512-tX9wZ2ALx5Ez4bkY+SvSj6DpNZ6TmY4zlsVsdgV95LZFLjNwqnZkKkS+uKnsIyLBiBp6g92JVQwnUEIp7ov2Zw==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-arn-parser": "3.568.0", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/signature-v4": "^4.1.0", - "@smithy/smithy-client": "^3.1.12", - "@smithy/types": "^3.3.0", - "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-stream": "^3.1.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.622.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.622.0.tgz", - "integrity": "sha512-K7ddofVNzwTFRjmLZLfs/v+hiE9m5LguajHk8WULxXQgkcDI3nPgOfmMMGuslYohaQhRwW+ic+dzYlateLUudQ==", - "dependencies": { - "@aws-sdk/middleware-sdk-s3": "3.622.0", - "@aws-sdk/types": "3.609.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/signature-v4": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/util-arn-parser": { - "version": "3.568.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", - "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", - "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", - "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", - "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", - "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", - "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", - "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", - "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", - "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/signature-v4": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", - "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-uri-escape": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/smithy-client": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", - "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", - "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-config-provider": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", - "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-stream": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", - "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", - "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.622.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.622.0.tgz", - "integrity": "sha512-DJwUqVR/O2lImbktUHOpaQ8XElNBx3JmWzTT2USg6jh3ErgG1CS6LIV+VUlgtxGl+tFN/G6AcAV8SdnnGydB8Q==", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.622.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.2", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.14", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.12", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.14", - "@smithy/util-defaults-mode-node": "^3.0.14", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.622.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.622.0.tgz", - "integrity": "sha512-dwWDfN+S98npeY77Ugyv8VIHKRHN+n/70PWE4EgolcjaMrTINjvUh9a/SypFEs5JmBOAeCQt8S2QpM3Wvzp+pQ==", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.622.0", - "@aws-sdk/credential-provider-node": "3.622.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.2", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.14", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.12", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.14", - "@smithy/util-defaults-mode-node": "^3.0.14", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.622.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", - "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", - "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", - "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", - "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", - "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", - "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", - "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", - "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/smithy-client": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", - "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", - "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-stream": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", - "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", - "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", - "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", - "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", - "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", - "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", - "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", - "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", - "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", - "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/smithy-client": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", - "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", - "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-stream": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", - "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", - "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts": { - "version": "3.622.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.622.0.tgz", - "integrity": "sha512-Yqtdf/wn3lcFVS42tR+zbz4HLyWxSmztjVW9L/yeMlvS7uza5nSkWqP/7ca+RxZnXLyrnA4jJtSHqykcErlhyg==", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.622.0", - "@aws-sdk/core": "3.622.0", - "@aws-sdk/credential-provider-node": "3.622.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.2", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.14", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.12", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.14", - "@smithy/util-defaults-mode-node": "^3.0.14", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", - "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", - "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", - "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", - "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", - "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", - "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", - "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", - "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/smithy-client": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", - "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", - "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-stream": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", - "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", - "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core": { - "version": "3.622.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.622.0.tgz", - "integrity": "sha512-q1Ct2AjPxGtQBKtDpqm1umu3f4cuWMnEHTuDa6zjjaj+Aq/C6yxLgZJo9SlcU0tMl8rUCN7oFonszfTtp4Y0MA==", - "dependencies": { - "@smithy/core": "^2.3.2", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/signature-v4": "^4.1.0", - "@smithy/smithy-client": "^3.1.12", - "@smithy/types": "^3.3.0", - "@smithy/util-middleware": "^3.0.3", - "fast-xml-parser": "4.4.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", - "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", - "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", - "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", - "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", - "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", - "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", - "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", - "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/signature-v4": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", - "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-uri-escape": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/smithy-client": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", - "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", - "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-stream": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", - "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", - "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.620.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", - "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.622.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.622.0.tgz", - "integrity": "sha512-VUHbr24Oll1RK3WR8XLUugLpgK9ZuxEm/NVeVqyFts1Ck9gsKpRg1x4eH7L7tW3SJ4TDEQNMbD7/7J+eoL2svg==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/property-provider": "^3.1.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.12", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", - "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", - "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", - "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", - "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", - "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", - "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", - "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", - "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/smithy-client": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", - "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", - "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-stream": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", - "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", - "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.622.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.622.0.tgz", - "integrity": "sha512-cD/6O9jOfzQyo8oyAbTKnyRO89BIMSTzwaN4NxGySC6pYVTqxNSWdRwaqg/vKbwJpjbPGGYYXpXEW11kop7dlg==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.620.1", - "@aws-sdk/credential-provider-http": "3.622.0", - "@aws-sdk/credential-provider-process": "3.620.1", - "@aws-sdk/credential-provider-sso": "3.622.0", - "@aws-sdk/credential-provider-web-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.622.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.622.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.622.0.tgz", - "integrity": "sha512-keldwz4Q/6TYc37JH6m43HumN7Vi+R0AuGuHn5tBV40Vi7IiqEzjpiE+yvsHIN+duUheFLL3j/o0H32jb+14DQ==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.620.1", - "@aws-sdk/credential-provider-http": "3.622.0", - "@aws-sdk/credential-provider-ini": "3.622.0", - "@aws-sdk/credential-provider-process": "3.620.1", - "@aws-sdk/credential-provider-sso": "3.622.0", - "@aws-sdk/credential-provider-web-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.620.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", - "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-process/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-process/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-process/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-process/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.622.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.622.0.tgz", - "integrity": "sha512-zrSoBVM2JlwvkBtrcUd4J/9CrG+T+hUy9r6jwo5gonFIN3QkneR/pqpbUn/n32Zy3zlzCo2VfB31g7MjG7kJmg==", - "dependencies": { - "@aws-sdk/client-sso": "3.622.0", - "@aws-sdk/token-providers": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", - "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.621.0" - } - }, - "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/lib-storage": { - "version": "3.501.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.501.0.tgz", - "integrity": "sha512-XZREd1O0S8AjM3RS85T2QCVJzXk+BSAGNOFvGP8t2al2Ti35O4+AvSHT75rmOGAZAsthtL2o9bt0h1VFnaIP+g==", - "dependencies": { - "@smithy/abort-controller": "^2.1.1", - "@smithy/middleware-endpoint": "^2.4.1", - "@smithy/smithy-client": "^2.3.1", - "buffer": "5.6.0", - "events": "3.3.0", - "stream-browserify": "3.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-s3": "^3.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz", - "integrity": "sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-arn-parser": "3.568.0", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-config-provider": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@aws-sdk/util-arn-parser": { - "version": "3.568.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", - "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@smithy/util-config-provider": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", - "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz", - "integrity": "sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-expect-continue/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-expect-continue/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-expect-continue/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz", - "integrity": "sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA==", - "dependencies": { - "@aws-crypto/crc32": "5.2.0", - "@aws-crypto/crc32c": "5.2.0", - "@aws-sdk/types": "3.609.0", - "@smithy/is-array-buffer": "^3.0.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-crypto/crc32": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", - "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-crypto/util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", - "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", - "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.609.0.tgz", - "integrity": "sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-location-constraint/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-location-constraint/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", - "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-logger/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-logger/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", - "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.499.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.499.0.tgz", - "integrity": "sha512-thTb47U1hYHk5ei+yO0D0aehbgQXeAcgvyyxOID9/HDuRfWuTvKdclWh/goIeDfvSS87VBukEAjnCa5JYBwzug==", - "dependencies": { - "@aws-sdk/types": "3.496.0", - "@aws-sdk/util-arn-parser": "3.495.0", - "@smithy/node-config-provider": "^2.2.1", - "@smithy/protocol-http": "^3.1.1", - "@smithy/signature-v4": "^2.1.1", - "@smithy/smithy-client": "^2.3.1", - "@smithy/types": "^2.9.1", - "@smithy/util-config-provider": "^2.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.620.0.tgz", - "integrity": "sha512-gxI7rubiaanUXaLfJ4NybERa9MGPNg2Ycl/OqANsozrBnR3Pw8vqy3EuVImQOyn2pJ2IFvl8ZPoSMHf4pX56FQ==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/signature-v4": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/signature-v4": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", - "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-uri-escape": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.609.0.tgz", - "integrity": "sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-ssec/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-ssec/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz", - "integrity": "sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", - "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/util-config-provider": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", - "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/s3-request-presigner": { - "version": "3.501.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.501.0.tgz", - "integrity": "sha512-n5PF9viJEVVG2C+QIM749oCTWRXe8GzDaooJJPffN8Di1Lsqmm00V4R00AJStkt0SQaJ4tr/YPVC2zHgKfK+qg==", - "dependencies": { - "@aws-sdk/signature-v4-multi-region": "3.499.0", - "@aws-sdk/types": "3.496.0", - "@aws-sdk/util-format-url": "3.496.0", - "@smithy/middleware-endpoint": "^2.4.1", - "@smithy/protocol-http": "^3.1.1", - "@smithy/smithy-client": "^2.3.1", - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.499.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.499.0.tgz", - "integrity": "sha512-8HSFnZErRm7lAfk+Epxrf4QNdQEamg1CnbLybtKQQEjmvxLuXYvj16KlpYEZIwEENOMEvnCqMc7syTPkmjVhJA==", - "dependencies": { - "@aws-sdk/middleware-sdk-s3": "3.499.0", - "@aws-sdk/types": "3.496.0", - "@smithy/protocol-http": "^3.1.1", - "@smithy/signature-v4": "^2.1.1", - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/token-providers": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", - "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sso-oidc": "^3.614.0" - } - }, - "node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/token-providers/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/token-providers/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/token-providers/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/types": { - "version": "3.496.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.496.0.tgz", - "integrity": "sha512-umkGadK4QuNQaMoDICMm7NKRI/mYSXiyPjcn3d53BhsuArYU/52CebGQKdt4At7SwwsiVJZw9RNBHyN5Mm0HVw==", - "dependencies": { - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.495.0.tgz", - "integrity": "sha512-hwdA3XAippSEUxs7jpznwD63YYFR+LtQvlEcebPTgWR9oQgG9TfS+39PUfbnEeje1ICuOrN3lrFqFbmP9uzbMg==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-endpoints": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz", - "integrity": "sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/types": "^3.3.0", - "@smithy/util-endpoints": "^2.0.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-endpoints/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-endpoints/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-format-url": { - "version": "3.496.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.496.0.tgz", - "integrity": "sha512-GYRqLEUVoIkD8+ULliODFWWRHGyjlanLCnj8faahZXUke6Ey32MG40RgPTu/2eFkUyS6U7sVdt7oLY8MIHShPQ==", - "dependencies": { - "@aws-sdk/types": "3.496.0", - "@smithy/querystring-builder": "^2.1.1", - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz", - "integrity": "sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", - "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/types": "^3.3.0", - "bowser": "^2.11.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", - "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } - } - }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", - "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", - "dependencies": { - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/xml-builder": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.609.0.tgz", - "integrity": "sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/xml-builder/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.24.7", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", - "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", - "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.25.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", - "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.25.2", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", - "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", - "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", - "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", - "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", - "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.25.2" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", - "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", - "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", - "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/runtime": { "version": "7.23.2", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", @@ -4501,89 +71,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/template": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", - "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.25.0", - "@babel/types": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", - "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.3", - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.2", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", - "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "devOptional": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "devOptional": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, "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", @@ -4611,9 +98,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4634,84 +121,30 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@eslint/js": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", - "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.13.0.tgz", + "integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==", "dev": true, "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@floating-ui/core": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.1.tgz", - "integrity": "sha512-QgcKYwzcc8vvZ4n/5uklchy8KVdjJwcOeI+HnnTNclJjs2nYsy23DOCf+sSV1kBwD9yDAoVKCkv/gEPzgQU3Pw==", - "dependencies": { - "@floating-ui/utils": "^0.1.3" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", - "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", - "dependencies": { - "@floating-ui/core": "^1.4.2", - "@floating-ui/utils": "^0.1.3" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.4.tgz", - "integrity": "sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==", - "dependencies": { - "@floating-ui/dom": "^1.5.1" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", - "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" - }, - "node_modules/@formatjs/ecma402-abstract": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz", - "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==", - "dependencies": { - "@formatjs/intl-localematcher": "0.5.4", - "tslib": "^2.4.0" - } - }, - "node_modules/@formatjs/fast-memoize": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", - "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.7.8", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz", - "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==", - "dependencies": { - "@formatjs/ecma402-abstract": "2.0.0", - "@formatjs/icu-skeleton-parser": "1.8.2", - "tslib": "^2.4.0" - } - }, - "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz", - "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==", - "dependencies": { - "@formatjs/ecma402-abstract": "2.0.0", - "tslib": "^2.4.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@formatjs/intl-localematcher": { @@ -4732,14 +165,15 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -4761,9 +195,10 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true, "license": "BSD-3-Clause" }, @@ -4813,712 +248,11 @@ "url": "https://opencollective.com/libvips" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", - "dev": true, - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "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.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "license": "MIT", - "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==", - "license": "MIT" - }, - "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/@next/env": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.5.tgz", - "integrity": "sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA==" - }, - "node_modules/@next/eslint-plugin-next": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.0.tgz", - "integrity": "sha512-x4FavbNEeXx/baD/zC/SdrvkjSby8nBn8KcCREqk6UuwvwoAPZmaV8TFCAuo/cpovBRTIY67mHhe86MQQm/68Q==", - "dev": true, - "dependencies": { - "glob": "10.3.10" - } - }, - "node_modules/@next/eslint-plugin-next/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/@next/eslint-plugin-next/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "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/@next/eslint-plugin-next/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/@next/swc-darwin-arm64": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.5.tgz", - "integrity": "sha512-/9zVxJ+K9lrzSGli1///ujyRfon/ZneeZ+v4ptpiPoOU+GKZnm8Wj8ELWU1Pm7GHltYRBklmXMTUqM/DqQ99FQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.5.tgz", - "integrity": "sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.5.tgz", - "integrity": "sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.5.tgz", - "integrity": "sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.5.tgz", - "integrity": "sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.5.tgz", - "integrity": "sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.5.tgz", - "integrity": "sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.5.tgz", - "integrity": "sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.5.tgz", - "integrity": "sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g==", - "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==", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -5532,6 +266,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -5541,6 +276,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -5550,16 +286,6 @@ "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==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@prisma/client": { "version": "5.9.1", "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.9.1.tgz", @@ -5622,14 +348,6 @@ "@prisma/debug": "5.9.1" } }, - "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", @@ -5638,115 +356,6 @@ "@babel/runtime": "^7.13.10" } }, - "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-checkbox": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz", - "integrity": "sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==", - "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-presence": "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-collapsible": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.3.tgz", - "integrity": "sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==", - "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-presence": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-controllable-state": "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-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", @@ -5818,23 +427,6 @@ } } }, - "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", @@ -5862,35 +454,6 @@ } } }, - "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", @@ -5933,45 +496,6 @@ } } }, - "node_modules/@radix-ui/react-hover-card": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.0.7.tgz", - "integrity": "sha512-OcUN2FU0YpmajD/qkph3XzMcK/NmSk9hGWnjV68p6QiZMgILugusgQwnLSDs3oFSJYGKf3Y49zgFedhGh04k9A==", - "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-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-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-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", @@ -5990,139 +514,6 @@ } } }, - "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==", - "license": "MIT", - "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", @@ -6194,112 +585,6 @@ } } }, - "node_modules/@radix-ui/react-radio-group": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.1.3.tgz", - "integrity": "sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag==", - "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-direction": "1.0.1", - "@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-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-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-slot": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", @@ -6319,70 +604,6 @@ } } }, - "node_modules/@radix-ui/react-tabs": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.0.4.tgz", - "integrity": "sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "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-presence": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-roving-focus": "1.0.4", - "@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-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", @@ -6453,2528 +674,12 @@ } } }, - "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/@rushstack/eslint-patch": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz", - "integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@smithy/abort-controller": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.1.tgz", - "integrity": "sha512-1+qdrUqLhaALYL0iOcN43EP6yAXXQ2wWZ6taf4S2pNGowmOc5gx+iMQv+E42JizNJjB0+gEadOXeV1Bf7JWL1Q==", - "dependencies": { - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/chunked-blob-reader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz", - "integrity": "sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==", - "dependencies": { - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/chunked-blob-reader-native": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz", - "integrity": "sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==", - "dependencies": { - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/chunked-blob-reader-native/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/chunked-blob-reader-native/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/chunked-blob-reader-native/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/chunked-blob-reader-native/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/config-resolver": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", - "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", - "dependencies": { - "@smithy/node-config-provider": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/config-resolver/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/config-resolver/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/config-resolver/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/config-resolver/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/config-resolver/node_modules/@smithy/util-config-provider": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", - "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/config-resolver/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.2.tgz", - "integrity": "sha512-in5wwt6chDBcUv1Lw1+QzZxN9fBffi+qOixfb65yK4sDuKG7zAUO9HAFqmVzsZM3N+3tTyvZjtnDXePpvp007Q==", - "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.14", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.12", - "@smithy/types": "^3.3.0", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", - "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", - "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", - "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", - "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", - "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", - "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", - "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", - "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/smithy-client": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", - "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", - "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/util-stream": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", - "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", - "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", - "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", - "dependencies": { - "@smithy/node-config-provider": "^3.1.4", - "@smithy/property-provider": "^3.1.3", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/eventstream-codec": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.1.tgz", - "integrity": "sha512-E8KYBxBIuU4c+zrpR22VsVrOPoEDzk35bQR3E+xm4k6Pa6JqzkDOdMyf9Atac5GPNKHJBdVaQ4JtjdWX2rl/nw==", - "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.9.1", - "@smithy/util-hex-encoding": "^2.1.1", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/eventstream-serde-browser": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.5.tgz", - "integrity": "sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ==", - "dependencies": { - "@smithy/eventstream-serde-universal": "^3.0.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-browser/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-config-resolver": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz", - "integrity": "sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-config-resolver/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-node": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.4.tgz", - "integrity": "sha512-mjlG0OzGAYuUpdUpflfb9zyLrBGgmQmrobNT8b42ZTsGv/J03+t24uhhtVEKG/b2jFtPIHF74Bq+VUtbzEKOKg==", - "dependencies": { - "@smithy/eventstream-serde-universal": "^3.0.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-node/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-universal": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.4.tgz", - "integrity": "sha512-Od9dv8zh3PgOD7Vj4T3HSuox16n0VG8jJIM2gvKASL6aCtcS8CfHZDWe1Ik3ZXW6xBouU+45Q5wgoliWDZiJ0A==", - "dependencies": { - "@smithy/eventstream-codec": "^3.1.2", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-universal/node_modules/@aws-crypto/crc32": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", - "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-universal/node_modules/@aws-crypto/util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", - "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/eventstream-serde-universal/node_modules/@smithy/eventstream-codec": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz", - "integrity": "sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw==", - "dependencies": { - "@aws-crypto/crc32": "5.2.0", - "@smithy/types": "^3.3.0", - "@smithy/util-hex-encoding": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/eventstream-serde-universal/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-universal/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/fetch-http-handler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.1.tgz", - "integrity": "sha512-VYGLinPsFqH68lxfRhjQaSkjXM7JysUOJDTNjHBuN/ykyRb2f1gyavN9+VhhPTWCy32L4yZ2fdhpCs/nStEicg==", - "dependencies": { - "@smithy/protocol-http": "^3.1.1", - "@smithy/querystring-builder": "^2.1.1", - "@smithy/types": "^2.9.1", - "@smithy/util-base64": "^2.1.1", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/hash-blob-browser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.2.tgz", - "integrity": "sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg==", - "dependencies": { - "@smithy/chunked-blob-reader": "^3.0.0", - "@smithy/chunked-blob-reader-native": "^3.0.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/hash-blob-browser/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/hash-node": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", - "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/hash-node/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/hash-node/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/hash-stream-node": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-3.1.2.tgz", - "integrity": "sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/hash-stream-node/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/hash-stream-node/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/hash-stream-node/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/hash-stream-node/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/invalid-dependency": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", - "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/invalid-dependency/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/is-array-buffer": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz", - "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/md5-js": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-3.0.3.tgz", - "integrity": "sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/md5-js/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/md5-js/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/md5-js/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/md5-js/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-content-length": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", - "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-content-length/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-content-length/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-endpoint": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.1.tgz", - "integrity": "sha512-XPZTb1E2Oav60Ven3n2PFx+rX9EDsU/jSTA8VDamt7FXks67ekjPY/XrmmPDQaFJOTUHJNKjd8+kZxVO5Ael4Q==", - "dependencies": { - "@smithy/middleware-serde": "^2.1.1", - "@smithy/node-config-provider": "^2.2.1", - "@smithy/shared-ini-file-loader": "^2.3.1", - "@smithy/types": "^2.9.1", - "@smithy/url-parser": "^2.1.1", - "@smithy/util-middleware": "^2.1.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-retry": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.14.tgz", - "integrity": "sha512-7ZaWZJOjUxa5hgmuMspyt8v/zVsh0GXYuF7OvCmdcbVa/xbnKQoYC+uYKunAqRGTkxjOyuOCw9rmFUFOqqC0eQ==", - "dependencies": { - "@smithy/node-config-provider": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/service-error-classification": "^3.0.3", - "@smithy/smithy-client": "^3.1.12", - "@smithy/types": "^3.3.0", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "tslib": "^2.6.2", - "uuid": "^9.0.1" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", - "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", - "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", - "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", - "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", - "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", - "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", - "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", - "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/smithy-client": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", - "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", - "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/util-stream": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", - "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", - "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-serde": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.1.tgz", - "integrity": "sha512-D8Gq0aQBeE1pxf3cjWVkRr2W54t+cdM2zx78tNrVhqrDykRA7asq8yVJij1u5NDtKzKqzBSPYh7iW0svUKg76g==", - "dependencies": { - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-stack": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.1.tgz", - "integrity": "sha512-KPJhRlhsl8CjgGXK/DoDcrFGfAqoqvuwlbxy+uOO4g2Azn1dhH+GVfC3RAp+6PoL5PWPb+vt6Z23FP+Mr6qeCw==", - "dependencies": { - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/node-config-provider": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.1.tgz", - "integrity": "sha512-epzK3x1xNxA9oJgHQ5nz+2j6DsJKdHfieb+YgJ7ATWxzNcB7Hc+Uya2TUck5MicOPhDV8HZImND7ZOecVr+OWg==", - "dependencies": { - "@smithy/property-provider": "^2.1.1", - "@smithy/shared-ini-file-loader": "^2.3.1", - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/node-http-handler": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.3.1.tgz", - "integrity": "sha512-gLA8qK2nL9J0Rk/WEZSvgin4AppvuCYRYg61dcUo/uKxvMZsMInL5I5ZdJTogOvdfVug3N2dgI5ffcUfS4S9PA==", - "dependencies": { - "@smithy/abort-controller": "^2.1.1", - "@smithy/protocol-http": "^3.1.1", - "@smithy/querystring-builder": "^2.1.1", - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/property-provider": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.1.tgz", - "integrity": "sha512-FX7JhhD/o5HwSwg6GLK9zxrMUrGnb3PzNBrcthqHKBc3dH0UfgEAU24xnJ8F0uow5mj17UeBEOI6o3CF2k7Mhw==", - "dependencies": { - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/protocol-http": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.1.1.tgz", - "integrity": "sha512-6ZRTSsaXuSL9++qEwH851hJjUA0OgXdQFCs+VDw4tGH256jQ3TjYY/i34N4vd24RV3nrjNsgd1yhb57uMoKbzQ==", - "dependencies": { - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/querystring-builder": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.1.tgz", - "integrity": "sha512-C/ko/CeEa8jdYE4gt6nHO5XDrlSJ3vdCG0ZAc6nD5ZIE7LBp0jCx4qoqp7eoutBu7VrGMXERSRoPqwi1WjCPbg==", - "dependencies": { - "@smithy/types": "^2.9.1", - "@smithy/util-uri-escape": "^2.1.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/querystring-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.1.tgz", - "integrity": "sha512-H4+6jKGVhG1W4CIxfBaSsbm98lOO88tpDWmZLgkJpt8Zkk/+uG0FmmqMuCAc3HNM2ZDV+JbErxr0l5BcuIf/XQ==", - "dependencies": { - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/service-error-classification": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", - "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", - "dependencies": { - "@smithy/types": "^3.3.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/service-error-classification/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.1.tgz", - "integrity": "sha512-2E2kh24igmIznHLB6H05Na4OgIEilRu0oQpYXo3LCNRrawHAcfDKq9004zJs+sAMt2X5AbY87CUCJ7IpqpSgdw==", - "dependencies": { - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/signature-v4": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.1.tgz", - "integrity": "sha512-Hb7xub0NHuvvQD3YwDSdanBmYukoEkhqBjqoxo+bSdC0ryV9cTfgmNjuAQhTPYB6yeU7hTR+sPRiFMlxqv6kmg==", - "dependencies": { - "@smithy/eventstream-codec": "^2.1.1", - "@smithy/is-array-buffer": "^2.1.1", - "@smithy/types": "^2.9.1", - "@smithy/util-hex-encoding": "^2.1.1", - "@smithy/util-middleware": "^2.1.1", - "@smithy/util-uri-escape": "^2.1.1", - "@smithy/util-utf8": "^2.1.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/smithy-client": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.3.1.tgz", - "integrity": "sha512-YsTdU8xVD64r2pLEwmltrNvZV6XIAC50LN6ivDopdt+YiF/jGH6PY9zUOu0CXD/d8GMB8gbhnpPsdrjAXHS9QA==", - "dependencies": { - "@smithy/middleware-endpoint": "^2.4.1", - "@smithy/middleware-stack": "^2.1.1", - "@smithy/protocol-http": "^3.1.1", - "@smithy/types": "^2.9.1", - "@smithy/util-stream": "^2.1.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/types": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.9.1.tgz", - "integrity": "sha512-vjXlKNXyprDYDuJ7UW5iobdmyDm6g8dDG+BFUncAg/3XJaN45Gy5RWWWUVgrzIK7S4R1KWgIX5LeJcfvSI24bw==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/url-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.1.tgz", - "integrity": "sha512-qC9Bv8f/vvFIEkHsiNrUKYNl8uKQnn4BdhXl7VzQRP774AwIjiSMMwkbT+L7Fk8W8rzYVifzJNYxv1HwvfBo3Q==", - "dependencies": { - "@smithy/querystring-parser": "^2.1.1", - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/util-base64": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz", - "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==", - "dependencies": { - "@smithy/util-buffer-from": "^2.1.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-body-length-browser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", - "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", - "dependencies": { - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/util-body-length-node": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", - "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-buffer-from": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz", - "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==", - "dependencies": { - "@smithy/is-array-buffer": "^2.1.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-config-provider": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz", - "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.14.tgz", - "integrity": "sha512-0iwTgKKmAIf+vFLV8fji21Jb2px11ktKVxbX6LIDPAUJyWQqGqBVfwba7xwa1f2FZUoolYQgLvxQEpJycXuQ5w==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/smithy-client": "^3.1.12", - "@smithy/types": "^3.3.0", - "bowser": "^2.11.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", - "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", - "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", - "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", - "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", - "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", - "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", - "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", - "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/smithy-client": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", - "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", - "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-stream": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", - "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", - "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.14.tgz", - "integrity": "sha512-e9uQarJKfXApkTMMruIdxHprhcXivH1flYCe8JRDTzkkLx8dA3V5J8GZlST9yfDiRWkJpZJlUXGN9Rc9Ade3OQ==", - "dependencies": { - "@smithy/config-resolver": "^3.0.5", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/property-provider": "^3.1.3", - "@smithy/smithy-client": "^3.1.12", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", - "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", - "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", - "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", - "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", - "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", - "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", - "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", - "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/smithy-client": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", - "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", - "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-stream": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", - "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", - "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-endpoints": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", - "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", - "dependencies": { - "@smithy/node-config-provider": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-endpoints/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-endpoints/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-endpoints/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-endpoints/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-hex-encoding": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz", - "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-middleware": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.1.tgz", - "integrity": "sha512-mKNrk8oz5zqkNcbcgAAepeJbmfUW6ogrT2Z2gDbIUzVzNAHKJQTYmH9jcy0jbWb+m7ubrvXKb6uMjkSgAqqsFA==", - "dependencies": { - "@smithy/types": "^2.9.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-retry": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", - "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", - "dependencies": { - "@smithy/service-error-classification": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-retry/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-stream": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.1.tgz", - "integrity": "sha512-J7SMIpUYvU4DQN55KmBtvaMc7NM3CZ2iWICdcgaovtLzseVhAqFRYqloT3mh0esrFw+3VEK6nQFteFsTqZSECQ==", - "dependencies": { - "@smithy/fetch-http-handler": "^2.4.1", - "@smithy/node-http-handler": "^2.3.1", - "@smithy/types": "^2.9.1", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-buffer-from": "^2.1.1", - "@smithy/util-hex-encoding": "^2.1.1", - "@smithy/util-utf8": "^2.1.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-uri-escape": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz", - "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz", - "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==", - "dependencies": { - "@smithy/util-buffer-from": "^2.1.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-waiter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", - "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", - "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-waiter/node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-waiter/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" - }, - "node_modules/@swc/helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", - "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", - "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/typography": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", - "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", - "dependencies": { - "lodash.castarray": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "postcss-selector-parser": "6.0.10" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders" - } - }, - "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@tanstack/query-core": { "version": "5.59.13", "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.59.13.tgz", "integrity": "sha512-Oou0bBu/P8+oYjXsJQ11j+gcpLAMpqW42UlokQYEz4dE7+hOtVO9rVuolJKgEccqzvyFzqX4/zZWY+R/v1wVsQ==", "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" @@ -8985,6 +690,7 @@ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.59.15.tgz", "integrity": "sha512-QbVlAkTI78wB4Mqgf2RDmgC0AOiJqer2c5k9STOOSXGv1S6ZkY37r/6UpE8DbQ2Du0ohsdoXgFNEyv+4eDoPEw==", "license": "MIT", + "peer": true, "dependencies": { "@tanstack/query-core": "5.59.13" }, @@ -8996,101 +702,6 @@ "react": "^18 || ^19" } }, - "node_modules/@testing-library/dom": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", - "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@testing-library/jest-dom": { - "version": "6.4.8", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.8.tgz", - "integrity": "sha512-JD0G+Zc38f5MBHA4NgxQMR5XtO5Jx9g86jqturNTt2WUfRmLDIY7iKkWHDCCTiDuFMre6nxAD5wHw9W5kI4rGw==", - "dev": true, - "dependencies": { - "@adobe/css-tools": "^4.4.0", - "@babel/runtime": "^7.9.2", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.6.3", - "lodash": "^4.17.21", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", - "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", - "dev": true - }, - "node_modules/@testing-library/react": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.0.tgz", - "integrity": "sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@testing-library/dom": "^10.0.0", - "@types/react": "^18.0.0", - "@types/react-dom": "^18.0.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, "node_modules/@total-typescript/ts-reset": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/@total-typescript/ts-reset/-/ts-reset-0.5.1.tgz", @@ -9134,175 +745,12 @@ ], "license": "MIT" }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "devOptional": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "devOptional": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "devOptional": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "devOptional": true - }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, "node_modules/@types/content-disposition": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz", "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==", "dev": true }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", - "dev": true, - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "node_modules/@types/jest/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - } - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, "node_modules/@types/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/@types/negotiator/-/negotiator-0.6.3.tgz", @@ -9327,11 +775,6 @@ "form-data": "^4.0.0" } }, - "node_modules/@types/nprogress": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@types/nprogress/-/nprogress-0.2.3.tgz", - "integrity": "sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==" - }, "node_modules/@types/pg": { "version": "8.10.9", "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.10.9.tgz", @@ -9404,14 +847,16 @@ "version": "15.7.9", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==", - "devOptional": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@types/react": { "version": "18.2.48", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz", "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==", - "devOptional": true, + "optional": true, + "peer": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -9422,7 +867,8 @@ "version": "18.2.18", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz", "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==", - "devOptional": true, + "optional": true, + "peer": true, "dependencies": { "@types/react": "*" } @@ -9431,20 +877,9 @@ "version": "0.16.5", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true - }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", - "dev": true + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@types/uuid": { "version": "9.0.6", @@ -9453,99 +888,20 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/yargs": { - "version": "17.0.33", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, - "node_modules/@typescript-eslint/parser": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.9.0.tgz", - "integrity": "sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "6.9.0", - "@typescript-eslint/types": "6.9.0", - "@typescript-eslint/typescript-estree": "6.9.0", - "@typescript-eslint/visitor-keys": "6.9.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.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.0.tgz", - "integrity": "sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==", + "node_modules/@typescript-eslint/type-utils": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.11.0.tgz", + "integrity": "sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "6.9.0", - "@typescript-eslint/visitor-keys": "6.9.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.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.0.tgz", - "integrity": "sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.0.tgz", - "integrity": "sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "6.9.0", - "@typescript-eslint/visitor-keys": "6.9.0", + "@typescript-eslint/typescript-estree": "8.11.0", + "@typescript-eslint/utils": "8.11.0", "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -9557,15 +913,99 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.11.0.tgz", + "integrity": "sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.11.0.tgz", + "integrity": "sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.11.0.tgz", + "integrity": "sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/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, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "brace-expansion": "^2.0.1" }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -9573,22 +1013,145 @@ "node": ">=10" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.0.tgz", - "integrity": "sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==", + "node_modules/@typescript-eslint/utils": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.11.0.tgz", + "integrity": "sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "6.9.0", - "eslint-visitor-keys": "^3.4.1" + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/typescript-estree": "8.11.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.11.0.tgz", + "integrity": "sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.11.0.tgz", + "integrity": "sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.11.0.tgz", + "integrity": "sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.11.0.tgz", + "integrity": "sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/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, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/@ungap/structured-clone": { @@ -9598,13 +1161,6 @@ "dev": true, "license": "ISC" }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead", - "dev": true - }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -9620,7 +1176,7 @@ "version": "8.11.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", - "devOptional": true, + "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -9629,16 +1185,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dev": true, - "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -9649,30 +1195,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", - "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", - "devOptional": true, - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/agentkeepalive": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", @@ -9701,33 +1223,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -9754,31 +1249,6 @@ "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==", - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -9797,171 +1267,6 @@ "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, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "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, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" - }, - "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, - "license": "MIT", - "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, - "license": "MIT", - "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.tosorted": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", - "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true, - "license": "ISC" - }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -10005,153 +1310,11 @@ "postcss": "^8.1.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.2.tgz", - "integrity": "sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==", - "dev": true, - "license": "MPL-2.0", - "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, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", - "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, "license": "MIT" }, "node_modules/base-64": { @@ -10159,43 +1322,11 @@ "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" }, - "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" - } - ] - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, "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, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -10206,6 +1337,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, "dependencies": { "fill-range": "^7.1.1" }, @@ -10245,30 +1377,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, "node_modules/buffer-writer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", @@ -10277,32 +1385,6 @@ "node": ">=4" } }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - }, - "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", @@ -10313,28 +1395,11 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "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==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001651", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", + "dev": true, "funding": [ { "type": "opencollective", @@ -10367,15 +1432,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", @@ -10384,54 +1440,6 @@ "node": "*" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", - "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", - "dev": true - }, "node_modules/class-variance-authority": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", @@ -10444,63 +1452,6 @@ "url": "https://joebell.co.uk" } }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "license": "MIT" - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "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/clsx": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", @@ -10510,268 +1461,6 @@ "node": ">=6" } }, - "node_modules/cmdk": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/cmdk/-/cmdk-0.2.0.tgz", - "integrity": "sha512-JQpKvEOb86SnvMZbYaFKYhvzFntWBeSZdyii0rZPhKJj9uwJBxu4DaVYDrRN7r3mPop56oPhRw+JYWTKs66TYw==", - "dependencies": { - "@radix-ui/react-dialog": "1.0.0", - "command-score": "0.1.2" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz", - "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==", - "dependencies": { - "@babel/runtime": "^7.13.10" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-compose-refs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz", - "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-context": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz", - "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-dialog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.0.tgz", - "integrity": "sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-dismissable-layer": "1.0.0", - "@radix-ui/react-focus-guards": "1.0.0", - "@radix-ui/react-focus-scope": "1.0.0", - "@radix-ui/react-id": "1.0.0", - "@radix-ui/react-portal": "1.0.0", - "@radix-ui/react-presence": "1.0.0", - "@radix-ui/react-primitive": "1.0.0", - "@radix-ui/react-slot": "1.0.0", - "@radix-ui/react-use-controllable-state": "1.0.0", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.5.4" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.0.tgz", - "integrity": "sha512-n7kDRfx+LB1zLueRDvZ1Pd0bxdJWDUZNQ/GWoxDn2prnuJKRdxsjulejX/ePkOsLi2tTm6P24mDqlMSgQpsT6g==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-primitive": "1.0.0", - "@radix-ui/react-use-callback-ref": "1.0.0", - "@radix-ui/react-use-escape-keydown": "1.0.0" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-focus-guards": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.0.tgz", - "integrity": "sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ==", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-focus-scope": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.0.tgz", - "integrity": "sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-primitive": "1.0.0", - "@radix-ui/react-use-callback-ref": "1.0.0" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.0.tgz", - "integrity": "sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.0" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-portal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.0.tgz", - "integrity": "sha512-a8qyFO/Xb99d8wQdu4o7qnigNjTPG123uADNecz0eX4usnQEj7o+cG4ZX4zkqq98NYekT7UoEQIjxBNWIFuqTA==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.0" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-presence": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz", - "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-use-layout-effect": "1.0.0" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.0.tgz", - "integrity": "sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-slot": "1.0.0" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-slot": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.0.tgz", - "integrity": "sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.0" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz", - "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.0.tgz", - "integrity": "sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.0" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.0.tgz", - "integrity": "sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.0" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz", - "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "react": "^16.8 || ^17.0 || ^18.0" - } - }, - "node_modules/cmdk/node_modules/react-remove-scroll": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz", - "integrity": "sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==", - "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/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, "node_modules/color": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", @@ -10822,24 +1511,11 @@ "node": ">= 0.8" } }, - "node_modules/command-score": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/command-score/-/command-score-0.1.2.tgz", - "integrity": "sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w==" - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, "license": "MIT" }, "node_modules/content-disposition": { @@ -10853,12 +1529,6 @@ "node": ">= 0.6" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, "node_modules/copy-anything": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", @@ -10874,33 +1544,6 @@ "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "devOptional": true - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -10924,109 +1567,13 @@ "node": "*" } }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true - }, - "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==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, "node_modules/csstype": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/data-urls/node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/data-urls/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/dayjs": { "version": "1.11.10", @@ -11051,26 +1598,6 @@ } } }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true - }, - "node_modules/dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", - "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -11078,48 +1605,6 @@ "dev": true, "license": "MIT" }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -11128,16 +1613,6 @@ "node": ">=0.4.0" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/detect-libc": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", @@ -11146,44 +1621,11 @@ "node": ">=8" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "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==", - "license": "Apache-2.0" - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "devOptional": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/digest-fetch": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz", @@ -11193,66 +1635,6 @@ "md5": "^2.3.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "license": "MIT" - }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "deprecated": "Use your platform's native DOMException instead", - "dev": true, - "dependencies": { - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/dotenv": { "version": "16.3.1", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", @@ -11265,223 +1647,12 @@ "url": "https://github.com/motdotla/dotenv?sponsor=1" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, "node_modules/electron-to-chromium": { "version": "1.5.7", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.7.tgz", "integrity": "sha512-6FTNWIWMxMy/ZY6799nBlPtF1DFDQ6VQJ7yyDP27SJNt5lwtQ5ufqVvHylb3fdQefvRcgA3fKcFMJi9OLwBRNw==", "dev": true }, - "node_modules/embla-carousel": { - "version": "8.0.0-rc21", - "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.0.0-rc21.tgz", - "integrity": "sha512-rK//vyPIhmD/5QUDtjk9A5RxPoDZ5LOATYMVSFECAzwcAe7yJmqXQbdYzEZf4ASOR+ivod5msqXsKgZXypA35Q==" - }, - "node_modules/embla-carousel-react": { - "version": "8.0.0-rc21", - "resolved": "https://registry.npmjs.org/embla-carousel-react/-/embla-carousel-react-8.0.0-rc21.tgz", - "integrity": "sha512-DOa9hgF/T1fwb8D3rZ8FFMceY3aDXtbluZwzZYMLnN2Dqn0IBLN0l97o3obkMxI9Zzog0u1WMM6HE7AGF9SjEg==", - "dependencies": { - "embla-carousel": "8.0.0-rc21", - "embla-carousel-reactive-utils": "8.0.0-rc21" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.1 || ^18.0.0" - } - }, - "node_modules/embla-carousel-reactive-utils": { - "version": "8.0.0-rc21", - "resolved": "https://registry.npmjs.org/embla-carousel-reactive-utils/-/embla-carousel-reactive-utils-8.0.0-rc21.tgz", - "integrity": "sha512-TnV49hoTdwfcKr2vgQHQ3zcCqJSkvLJ5rR/pGzmEx5GeO07CV/e755lkSD7No0C6cz+JFB8dcHV7uS+5Gnc7Lg==", - "peerDependencies": { - "embla-carousel": "8.0.0-rc21" - } - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-ex/node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", - "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.0.1" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" - }, - "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, - "license": "MIT", - "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, - "license": "MIT", - "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", @@ -11504,39 +1675,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, "node_modules/eslint": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", - "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.52.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -11581,288 +1732,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-config-next": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.1.0.tgz", - "integrity": "sha512-SBX2ed7DoRFXC6CQSLc/SbLY9Ut6HxNB2wPTcoIWjUMd7aF7O/SIE7111L8FdZ9TXsNV4pulUDnfthpyPtbFUg==", - "dev": true, - "dependencies": { - "@next/eslint-plugin-next": "14.1.0", - "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" - }, - "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/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, - "license": "ISC", - "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.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-import": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", - "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", - "dev": true, - "license": "MIT", - "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.14.2" - }, - "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, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/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/eslint-plugin-import/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" - }, - "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, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", @@ -11893,6 +1762,16 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/eslint/node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -11919,6 +1798,22 @@ "node": ">=10.13.0" } }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", @@ -11937,19 +1832,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -12004,68 +1886,6 @@ "node": ">=6" } }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.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", @@ -12074,9 +1894,10 @@ "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -12103,45 +1924,16 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-xml-parser": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", - "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", - "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.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -12159,6 +1951,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -12205,32 +1998,6 @@ "dev": true, "license": "ISC" }, - "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, - "license": "MIT", - "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==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -12287,93 +2054,9 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, "license": "ISC" }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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, - "license": "MIT", - "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, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "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", @@ -12382,81 +2065,11 @@ "node": ">=6" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -12466,77 +2079,18 @@ } }, "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.11.0.tgz", + "integrity": "sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==", "dev": true, "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" + "node": ">=18" }, "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, - "license": "MIT", - "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, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "license": "MIT", - "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==", - "license": "ISC" - }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -12544,26 +2098,6 @@ "dev": true, "license": "MIT" }, - "node_modules/has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.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, - "license": "MIT", - "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", @@ -12574,127 +2108,6 @@ "node": ">=8" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, - "license": "MIT", - "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, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -12703,41 +2116,10 @@ "ms": "^2.0.0" } }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -12761,25 +2143,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "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", @@ -12790,19 +2153,11 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, "license": "ISC", "dependencies": { "once": "^1.3.0", @@ -12813,33 +2168,8 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/intl-messageformat": { - "version": "10.5.14", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.14.tgz", - "integrity": "sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==", - "dependencies": { - "@formatjs/ecma402-abstract": "2.0.0", - "@formatjs/fast-memoize": "2.2.0", - "@formatjs/icu-messageformat-parser": "2.7.8", - "tslib": "^2.4.0" - } + "license": "ISC" }, "node_modules/invariant": { "version": "2.2.4", @@ -12849,190 +2179,31 @@ "loose-envify": "^1.0.0" } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, - "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, - "license": "MIT", - "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, - "license": "MIT", - "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==", - "license": "MIT", - "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, - "license": "MIT", - "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, - "license": "MIT", - "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==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "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, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dev": true, - "license": "MIT", - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "license": "MIT", - "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==", + "dev": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -13041,53 +2212,15 @@ "node": ">=0.10.0" } }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "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, - "license": "MIT", - "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", @@ -13098,149 +2231,6 @@ "node": ">=8" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "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, - "license": "MIT", - "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.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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, - "license": "MIT", - "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, - "license": "MIT", - "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.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true, - "license": "MIT", - "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, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-what": { "version": "4.1.16", "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", @@ -13253,13 +2243,6 @@ "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -13267,1016 +2250,6 @@ "dev": true, "license": "ISC" }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "license": "MIT", - "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==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-config/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-diff/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/jest-environment-jsdom": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", - "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0", - "jsdom": "^20.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", - "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -14296,97 +2269,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/jsdom/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/jsdom/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -14394,12 +2276,6 @@ "dev": true, "license": "MIT" }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -14426,22 +2302,6 @@ "node": ">=6" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -14452,41 +2312,6 @@ "json-buffer": "3.0.1" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "license": "CC0-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "language-subtag-registry": "~0.3.2" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -14501,21 +2326,6 @@ "node": ">= 0.8.0" } }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -14532,26 +2342,11 @@ "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==", - "dev": true - }, - "node_modules/lodash.castarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", - "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, "license": "MIT" }, "node_modules/loose-envify": { @@ -14578,66 +2373,6 @@ "node": ">=10" } }, - "node_modules/lucide-react": { - "version": "0.290.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.290.0.tgz", - "integrity": "sha512-CBDPRLOPjdo+bVlxhaa7FVWaB8OrZZQ34mwm0Fsz9ut6JltN/Td55640ur8bRWSJuz6+nX2klKrpBpV7ktwD3Q==", - "license": "ISC", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "devOptional": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, "node_modules/md5": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", @@ -14648,16 +2383,11 @@ "is-buffer": "~1.1.6" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -14667,6 +2397,7 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.2", @@ -14695,28 +2426,11 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -14734,32 +2448,12 @@ "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==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "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==", "license": "MIT" }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, "node_modules/nanoid": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.4.tgz", @@ -14792,135 +2486,6 @@ "node": ">= 0.6" } }, - "node_modules/next": { - "version": "14.2.5", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.5.tgz", - "integrity": "sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==", - "dependencies": { - "@next/env": "14.2.5", - "@swc/helpers": "0.5.5", - "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.2.5", - "@next/swc-darwin-x64": "14.2.5", - "@next/swc-linux-arm64-gnu": "14.2.5", - "@next/swc-linux-arm64-musl": "14.2.5", - "@next/swc-linux-x64-gnu": "14.2.5", - "@next/swc-linux-x64-musl": "14.2.5", - "@next/swc-win32-arm64-msvc": "14.2.5", - "@next/swc-win32-ia32-msvc": "14.2.5", - "@next/swc-win32-x64-msvc": "14.2.5" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.41.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/next-intl": { - "version": "3.17.2", - "resolved": "https://registry.npmjs.org/next-intl/-/next-intl-3.17.2.tgz", - "integrity": "sha512-X2ly23e1lC5vdWHaJFBDZi/0iornEdFQQtqJmmPOb7WD+LDssm9vAnx+hJshYGjddaP3rUmyWaPgePCQqaxm1g==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/amannn" - } - ], - "dependencies": { - "@formatjs/intl-localematcher": "^0.2.32", - "negotiator": "^0.6.3", - "use-intl": "^3.17.2" - }, - "peerDependencies": { - "next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/next-intl/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.32", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", - "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/next-s3-upload": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/next-s3-upload/-/next-s3-upload-0.3.4.tgz", - "integrity": "sha512-sWd8V5Hkw7B1iylHL0geGVStO1mIoVjAXAtxNGo/IkUtieTrd+ROu9dM3y7asDDYupQLfWzSOyhrpexrfNDqWA==", - "dependencies": { - "@aws-sdk/client-s3": ">=3.427.0", - "@aws-sdk/client-sts": "^3.427.0", - "@aws-sdk/lib-storage": ">=3.427.0", - "@aws-sdk/s3-request-presigner": "^3.427.0", - "@smithy/fetch-http-handler": "^2.2.2", - "uuid": "^8.3.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "next": ">=9.4", - "react": ">=16" - } - }, - "node_modules/next-s3-upload/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/next-themes": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz", - "integrity": "sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==", - "peerDependencies": { - "next": "*", - "react": "*", - "react-dom": "*" - } - }, - "node_modules/next13-progressbar": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/next13-progressbar/-/next13-progressbar-1.1.1.tgz", - "integrity": "sha512-8BTeft/1KLNkaJCKGXYK5SSkKmTBkg7MogH0z+huw+YP2deXKuZ/iqGamvWmhDS+dcCNs5Chdb8KhNTybn2zLA==", - "dependencies": { - "@types/nprogress": "^0.2.0", - "nprogress": "^0.2.0", - "prop-types": "^15.8.1" - }, - "peerDependencies": { - "next": ">= 13.0.0", - "react": ">= 18.0.0" - } - }, "node_modules/node-domexception": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", @@ -14958,27 +2523,12 @@ } } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, "node_modules/node-releases": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "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==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", @@ -14989,164 +2539,6 @@ "node": ">=0.10.0" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" - }, - "node_modules/nwsapi": { - "version": "2.2.12", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", - "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", - "dev": true - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "license": "MIT", - "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, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "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.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" - } - }, - "node_modules/object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -15157,26 +2549,12 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/openai": { "version": "4.26.0", "resolved": "https://registry.npmjs.org/openai/-/openai-4.26.0.tgz", @@ -15254,15 +2632,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/packet-reader": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", @@ -15281,36 +2650,6 @@ "node": ">=6" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -15325,6 +2664,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -15340,47 +2680,6 @@ "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==", - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dev": true, - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.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-scurry/node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/pg": { "version": "8.11.3", "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz", @@ -15476,12 +2775,14 @@ "node_modules/picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -15490,92 +2791,11 @@ "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==", - "license": "MIT", - "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==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/postcss": { "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "dev": true, "funding": [ { "type": "opencollective", @@ -15591,6 +2811,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", @@ -15600,119 +2821,25 @@ "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==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "license": "MIT", - "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.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "license": "MIT", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "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==", - "license": "MIT", - "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.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, "license": "MIT" }, "node_modules/postcss/node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -15808,38 +2935,6 @@ } } }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, "node_modules/prisma": { "version": "5.9.1", "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.9.1.tgz", @@ -15855,72 +2950,21 @@ "node": ">=16.13" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, "funding": [ { "type": "github", @@ -15941,6 +2985,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -15952,6 +2997,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -15965,6 +3011,7 @@ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.47.0.tgz", "integrity": "sha512-F/TroLjTICipmHeFlMrLtNLceO2xr1jU3CyiNla5zdwsGUGu2UOxxR4UyJgLlhMwLW/Wzp4cpJ7CPfgJIeKdSg==", "license": "MIT", + "peer": true, "engines": { "node": ">=12.22.0" }, @@ -15976,26 +3023,6 @@ "react": "^16.8.0 || ^17 || ^18" } }, - "node_modules/react-intersection-observer": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.8.0.tgz", - "integrity": "sha512-wXHvMQUsTagh3X0Z6jDtGkIXc3VVCd2tjDRYR9kII3GKrZr0XF0xtpfdamo2n8BSF+zzfeeBVOTjxZWpBp9X0g==", - "peerDependencies": { - "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - } - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, "node_modules/react-remove-scroll": { "version": "2.5.5", "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", @@ -16063,151 +3090,12 @@ } } }, - "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==", - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", - "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "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.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", "license": "MIT" }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -16218,29 +3106,11 @@ "node": ">=4" } }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, "license": "MIT", "engines": { "iojs": ">=1.0.0", @@ -16288,6 +3158,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, "funding": [ { "type": "github", @@ -16307,25 +3178,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -16345,94 +3197,15 @@ } ] }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, "node_modules/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" } }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/server-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz", - "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==", - "license": "MIT" - }, - "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/sharp": { "version": "0.33.2", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.2.tgz", @@ -16509,33 +3282,6 @@ "node": ">=8" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -16544,50 +3290,17 @@ "is-arrayish": "^0.3.1" } }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/split2": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", @@ -16596,205 +3309,6 @@ "node": ">= 10.x" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stream-browserify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", - "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", - "dependencies": { - "inherits": "~2.0.4", - "readable-stream": "^3.5.0" - } - }, - "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.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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.10", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", - "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "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", @@ -16808,19 +3322,6 @@ "node": ">=8" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "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", @@ -16831,27 +3332,6 @@ "node": ">=4" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -16865,56 +3345,6 @@ "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==", - "license": "MIT", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "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": ">=8" - } - }, "node_modules/superjson": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.1.tgz", @@ -16940,116 +3370,6 @@ "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==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/tailwind-merge": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz", - "integrity": "sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwindcss": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz", - "integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==", - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.19.1", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tailwindcss-animate": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", - "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", - "license": "MIT", - "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders" - } - }, - "node_modules/tailwindcss/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==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -17057,46 +3377,11 @@ "dev": true, "license": "MIT" }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -17104,94 +3389,24 @@ "node": ">=8.0" } }, - "node_modules/tough-cookie": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", - "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "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, "license": "MIT", "engines": { - "node": ">=16.13.0" + "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==", - "license": "Apache-2.0" - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "devOptional": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "devOptional": true - }, "node_modules/ts-pattern": { "version": "5.0.6", "resolved": "https://registry.npmjs.org/ts-pattern/-/ts-pattern-5.0.6.tgz", @@ -17230,15 +3445,6 @@ "node": ">= 0.8.0" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -17252,80 +3458,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/typescript": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "devOptional": true, + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -17334,20 +3471,209 @@ "node": ">=14.17" } }, - "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==", + "node_modules/typescript-eslint": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.11.0.tgz", + "integrity": "sha512-cBRGnW3FSlxaYwU8KfAewxFK5uzeOAp0l2KebIlPDOT5olVi65KDG/yjBooPBG0kGW/HLkoz1c/iuBFehcS3IA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "@typescript-eslint/eslint-plugin": "8.11.0", + "@typescript-eslint/parser": "8.11.0", + "@typescript-eslint/utils": "8.11.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.11.0.tgz", + "integrity": "sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/type-utils": "8.11.0", + "@typescript-eslint/utils": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.11.0.tgz", + "integrity": "sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/typescript-estree": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.11.0.tgz", + "integrity": "sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.11.0.tgz", + "integrity": "sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.11.0.tgz", + "integrity": "sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.11.0.tgz", + "integrity": "sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/typescript-eslint/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, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typescript-eslint/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typescript-eslint/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/undici-types": { @@ -17356,15 +3682,6 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "license": "MIT" }, - "node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/update-browserslist-db": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", @@ -17405,16 +3722,6 @@ "punycode": "^2.1.0" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, "node_modules/use-callback-ref": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", @@ -17435,30 +3742,6 @@ } } }, - "node_modules/use-debounce": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/use-debounce/-/use-debounce-10.0.4.tgz", - "integrity": "sha512-6Cf7Yr7Wk7Kdv77nnJMf6de4HuDE4dTxKij+RqE9rufDsI6zsbjyAxcH5y2ueJCQAnfgKbzXbZHYlkFwmBlWkw==", - "license": "MIT", - "engines": { - "node": ">= 16.0.0" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/use-intl": { - "version": "3.17.2", - "resolved": "https://registry.npmjs.org/use-intl/-/use-intl-3.17.2.tgz", - "integrity": "sha512-9lPgt41nS8x4AYCLfIC9VKCmamnVxzPM2nze7lpp/I1uaSSQvIz5MQpYUFikv08cMUsCwAWahU0e+arHInpdcw==", - "dependencies": { - "@formatjs/fast-memoize": "^2.2.0", - "intl-messageformat": "^10.5.14" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/use-sidecar": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", @@ -17480,12 +3763,6 @@ } } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, "node_modules/uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", @@ -17498,26 +3775,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "devOptional": true - }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, "node_modules/vaul": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/vaul/-/vaul-0.8.0.tgz", @@ -17530,27 +3787,6 @@ "react-dom": "^16.8 || ^17.0 || ^18.0" } }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "dev": true, - "dependencies": { - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, "node_modules/web-streams-polyfill": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz", @@ -17564,27 +3800,6 @@ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", @@ -17610,241 +3825,13 @@ "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, - "license": "MIT", - "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, - "license": "MIT", - "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-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "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==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, "license": "ISC" }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -17853,86 +3840,12 @@ "node": ">=0.4" } }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "license": "ISC" }, - "node_modules/yaml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", - "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", - "license": "ISC", - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "devOptional": true, - "engines": { - "node": ">=6" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 842e03e..ef2be1a 100644 --- a/package.json +++ b/package.json @@ -1,100 +1,52 @@ { - "name": "spliit2", + "name": "spliit-api", "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint", + "lint": "eslint", "check-types": "tsc --noEmit", "check-formatting": "prettier -c src", "prettier": "prettier -w src", - "postinstall": "prisma migrate deploy && prisma generate", - "build-image": "./scripts/build-image.sh", - "start-container": "docker compose --env-file container.env up", - "test": "jest" + "postinstall": "prisma migrate deploy && prisma generate" }, "dependencies": { "@formatjs/intl-localematcher": "^0.5.4", "@hookform/resolvers": "^3.3.2", "@prisma/client": "^5.6.0", - "@radix-ui/react-checkbox": "^1.0.4", - "@radix-ui/react-collapsible": "^1.0.3", - "@radix-ui/react-dialog": "^1.0.5", - "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-hover-card": "^1.0.7", - "@radix-ui/react-icons": "^1.3.0", - "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-popover": "^1.0.7", - "@radix-ui/react-radio-group": "^1.1.3", - "@radix-ui/react-select": "^2.0.0", - "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-tabs": "^1.0.4", - "@radix-ui/react-toast": "^1.1.5", - "@tailwindcss/typography": "^0.5.10", - "@tanstack/react-query": "^5.59.15", "@trpc/client": "^11.0.0-rc.586", "@trpc/react-query": "^11.0.0-rc.586", "@trpc/server": "^11.0.0-rc.586", "class-variance-authority": "^0.7.0", - "client-only": "^0.0.1", - "clsx": "^2.0.0", - "cmdk": "^0.2.0", "content-disposition": "^0.5.4", "dayjs": "^1.11.10", - "embla-carousel-react": "^8.0.0-rc21", - "lucide-react": "^0.290.0", "nanoid": "^5.0.4", "negotiator": "^0.6.3", - "next": "^14.2.5", - "next-intl": "^3.17.2", - "next-s3-upload": "^0.3.4", - "next-themes": "^0.2.1", - "next13-progressbar": "^1.1.1", "openai": "^4.25.0", "pg": "^8.11.3", "prisma": "^5.7.0", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-hook-form": "^7.47.0", - "react-intersection-observer": "^9.8.0", - "server-only": "^0.0.1", "sharp": "^0.33.2", "superjson": "^2.2.1", - "tailwind-merge": "^1.14.0", - "tailwindcss-animate": "^1.0.7", "ts-pattern": "^5.0.6", - "use-debounce": "^10.0.4", "uuid": "^9.0.1", "vaul": "^0.8.0", "zod": "^3.23.8" }, "devDependencies": { - "@testing-library/dom": "^10.4.0", - "@testing-library/jest-dom": "^6.4.8", - "@testing-library/react": "^16.0.0", + "@eslint/js": "^9.13.0", "@total-typescript/ts-reset": "^0.5.1", "@types/content-disposition": "^0.5.8", - "@types/jest": "^29.5.12", "@types/negotiator": "^0.6.3", "@types/node": "^20", "@types/pg": "^8.10.9", - "@types/react": "^18.2.48", - "@types/react-dom": "^18.2.18", "@types/uuid": "^9.0.6", "autoprefixer": "^10", "dotenv": "^16.3.1", - "eslint": "^8", - "eslint-config-next": "^14.1.0", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", - "postcss": "^8", + "eslint": "^8.57.1", + "globals": "^15.11.0", "prettier": "^3.0.3", "prettier-plugin-organize-imports": "^3.2.3", - "tailwindcss": "^3", - "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", - "typescript": "^5.3.3" + "typescript": "^5.3.3", + "typescript-eslint": "^8.11.0" } } diff --git a/postcss.config.js b/postcss.config.js deleted file mode 100644 index 33ad091..0000000 --- a/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -} diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png deleted file mode 100644 index 8af23ae325f1ac704f7024761bfa8d15b39d62d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7184 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 >4=Va}@19+-adLs*TpDbGJdM^T@ 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 diff --git a/public/logo-512x512-maskable.png b/public/logo-512x512-maskable.png deleted file mode 100644 index e24a97e90c8de1b1214ed56828ebfef821ae048d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28781 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 diff --git a/public/logo-with-text.png b/public/logo-with-text.png deleted file mode 100644 index d8442fcba1f3e33e2efb79718cf57b3f94716967..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53648 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 \ No newline at end of file diff --git a/src/app/api/s3-upload/route.ts b/src/app/api/s3-upload/route.ts deleted file mode 100644 index ee3fb72..0000000 --- a/src/app/api/s3-upload/route.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { randomId } from '@/lib/api' -import { env } from '@/lib/env' -import { POST as route } from 'next-s3-upload/route' - -export const POST = route.configure({ - key(req, filename) { - const [, extension] = filename.match(/(\.[^\.]*)$/) ?? [null, ''] - const timestamp = new Date().toISOString() - const random = randomId() - return `document-${timestamp}-${random}${extension.toLowerCase()}` - }, - endpoint: env.S3_UPLOAD_ENDPOINT, - // forcing path style is only necessary for providers other than AWS - forcePathStyle: !!env.S3_UPLOAD_ENDPOINT, -}) diff --git a/src/app/api/trpc/[trpc]/route.ts b/src/app/api/trpc/[trpc]/route.ts deleted file mode 100644 index 8d9ca8e..0000000 --- a/src/app/api/trpc/[trpc]/route.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { createTRPCContext } from '@/trpc/init' -import { appRouter } from '@/trpc/routers/_app' -import { fetchRequestHandler } from '@trpc/server/adapters/fetch' - -const handler = (req: Request) => - fetchRequestHandler({ - endpoint: '/api/trpc', - req, - router: appRouter, - createContext: createTRPCContext, - }) - -export { handler as GET, handler as POST } diff --git a/src/app/apple-icon.png b/src/app/apple-icon.png deleted file mode 100644 index 10838024d0fcdde840d73c4044a484ecfdd5c769..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19143 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 fHALxNH+|rs8U4*<1==AWNCEQp@ISyoM`!#A{De { - iosPWASplash(icon, color) - }, [icon, color]) - - return null -} - -/*! - * ios-pwa-splash - * - * Copyright (c) 2023, Avadhesh B. - * Released under the MIT License. - */ -function iosPWASplash(icon: string, color = 'white') { - // Check if the provided 'icon' is a valid URL - if (typeof icon !== 'string' || icon.length === 0) { - throw new Error('Invalid icon URL provided') - } - - // Calculate the device's width and height - const deviceWidth = screen.width - const deviceHeight = screen.height - // Calculate the pixel ratio - const pixelRatio = window.devicePixelRatio || 1 - // Create two canvases and get their contexts to draw landscape and portrait splash screens. - const canvas = document.createElement('canvas') - const canvas2 = document.createElement('canvas') - const ctx = canvas.getContext('2d')! - const ctx2 = canvas2.getContext('2d')! - - // Create an image element for the icon - const iconImage = new Image() - - iconImage.onerror = function () { - throw new Error('Failed to load icon image') - } - - iconImage.src = icon - // Load the icon image, make sure it is served from the same domain (ideal size 512pxX512px). If not then set the proper CORS headers on the image and uncomment the next line. - //iconImage.crossOrigin="anonymous" - iconImage.onload = function () { - // Calculate the icon size based on the device's pixel ratio - const iconSizew = iconImage.width / (3 / pixelRatio) - const iconSizeh = iconImage.height / (3 / pixelRatio) - - canvas.width = deviceWidth * pixelRatio - canvas2.height = canvas.width - canvas.height = deviceHeight * pixelRatio - canvas2.width = canvas.height - ctx.fillStyle = color - ctx2.fillStyle = color - ctx.fillRect(0, 0, canvas.width, canvas.height) - ctx2.fillRect(0, 0, canvas2.width, canvas2.height) - - // Calculate the position to center the icon - const x = (canvas.width - iconSizew) / 2 - const y = (canvas.height - iconSizeh) / 2 - const x2 = (canvas2.width - iconSizew) / 2 - const y2 = (canvas2.height - iconSizeh) / 2 - // Draw the icon with the calculated size - ctx.drawImage(iconImage, x, y, iconSizew, iconSizeh) - ctx2.drawImage(iconImage, x2, y2, iconSizew, iconSizeh) - const imageDataURL = canvas.toDataURL('image/png') - const imageDataURL2 = canvas2.toDataURL('image/png') - - // Create the first startup image tag (splash screen) - - const appleTouchStartupImageLink = document.createElement('link') - appleTouchStartupImageLink.setAttribute('rel', 'apple-touch-startup-image') - appleTouchStartupImageLink.setAttribute( - 'media', - 'screen and (orientation: portrait)', - ) - appleTouchStartupImageLink.setAttribute('href', imageDataURL) - document.head.appendChild(appleTouchStartupImageLink) - - // Create the second startup image tag (splash screen) - - const appleTouchStartupImageLink2 = document.createElement('link') - appleTouchStartupImageLink2.setAttribute('rel', 'apple-touch-startup-image') - appleTouchStartupImageLink2.setAttribute( - 'media', - 'screen and (orientation: landscape)', - ) - appleTouchStartupImageLink2.setAttribute('href', imageDataURL2) - document.head.appendChild(appleTouchStartupImageLink2) - } -} diff --git a/src/app/cached-functions.ts b/src/app/cached-functions.ts deleted file mode 100644 index cc148fd..0000000 --- a/src/app/cached-functions.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { getGroup } from '@/lib/api' -import { cache } from 'react' - -function logAndCache

(fn: (...args: P) => R) { - const cached = cache((...args: P) => { - // console.log(`Not cached: ${fn.name}…`) - return fn(...args) - }) - return (...args: P) => { - // console.log(`Calling cached ${fn.name}…`) - return cached(...args) - } -} - -export const cached = { - getGroup: logAndCache(getGroup), -} diff --git a/src/app/favicon.ico b/src/app/favicon.ico deleted file mode 100644 index dd2aca1d425a2b1146cb3a46436114b3d5aa4a8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 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 - t.rich(key, { - expense, - participant, - em: (chunks) => “{chunks}”, - strong: (chunks) => {chunks}, - }) - - if (activity.activityType == ActivityType.UPDATE_GROUP) { - return <>{tr('settingsModified')} - } else if (activity.activityType == ActivityType.CREATE_EXPENSE) { - return <>{tr('expenseCreated')} - } else if (activity.activityType == ActivityType.UPDATE_EXPENSE) { - return <>{tr('expenseUpdated')} - } else if (activity.activityType == ActivityType.DELETE_EXPENSE) { - return <>{tr('expenseDeleted')} - } -} - -export function ActivityItem({ - groupId, - activity, - participant, - dateStyle, -}: Props) { - const router = useRouter() - const locale = useLocale() - - const expenseExists = activity.expense !== undefined - const summary = useSummary(activity, participant?.name) - - return ( -

- ) -} diff --git a/src/app/groups/[groupId]/activity/activity-list.tsx b/src/app/groups/[groupId]/activity/activity-list.tsx deleted file mode 100644 index 7dfe538..0000000 --- a/src/app/groups/[groupId]/activity/activity-list.tsx +++ /dev/null @@ -1,155 +0,0 @@ -'use client' -import { - Activity, - ActivityItem, -} from '@/app/groups/[groupId]/activity/activity-item' -import { Skeleton } from '@/components/ui/skeleton' -import { trpc } from '@/trpc/client' -import dayjs, { type Dayjs } from 'dayjs' -import { useTranslations } from 'next-intl' -import { forwardRef, useEffect } from 'react' -import { useInView } from 'react-intersection-observer' -import { useCurrentGroup } from '../current-group-context' - -const PAGE_SIZE = 20 - -const DATE_GROUPS = { - TODAY: 'today', - YESTERDAY: 'yesterday', - EARLIER_THIS_WEEK: 'earlierThisWeek', - LAST_WEEK: 'lastWeek', - EARLIER_THIS_MONTH: 'earlierThisMonth', - LAST_MONTH: 'lastMonth', - EARLIER_THIS_YEAR: 'earlierThisYear', - LAST_YEAR: 'lastYear', - OLDER: 'older', -} - -function getDateGroup(date: Dayjs, today: Dayjs) { - if (today.isSame(date, 'day')) { - return DATE_GROUPS.TODAY - } else if (today.subtract(1, 'day').isSame(date, 'day')) { - return DATE_GROUPS.YESTERDAY - } else if (today.isSame(date, 'week')) { - return DATE_GROUPS.EARLIER_THIS_WEEK - } else if (today.subtract(1, 'week').isSame(date, 'week')) { - return DATE_GROUPS.LAST_WEEK - } else if (today.isSame(date, 'month')) { - return DATE_GROUPS.EARLIER_THIS_MONTH - } else if (today.subtract(1, 'month').isSame(date, 'month')) { - return DATE_GROUPS.LAST_MONTH - } else if (today.isSame(date, 'year')) { - return DATE_GROUPS.EARLIER_THIS_YEAR - } else if (today.subtract(1, 'year').isSame(date, 'year')) { - return DATE_GROUPS.LAST_YEAR - } else { - return DATE_GROUPS.OLDER - } -} - -function getGroupedActivitiesByDate(activities: Activity[]) { - const today = dayjs() - return activities.reduce( - (result, activity) => { - const activityGroup = getDateGroup(dayjs(activity.time), today) - result[activityGroup] = result[activityGroup] ?? [] - result[activityGroup].push(activity) - return result - }, - {} as { - [key: string]: Activity[] - }, - ) -} - -const ActivitiesLoading = forwardRef((_, ref) => { - return ( -
- - {Array(5) - .fill(undefined) - .map((_, index) => ( -
-
- -
-
- -
-
- ))} -
- ) -}) -ActivitiesLoading.displayName = 'ActivitiesLoading' - -export function ActivityList() { - const t = useTranslations('Activity') - const { group, groupId } = useCurrentGroup() - - const { - data: activitiesData, - isLoading, - fetchNextPage, - } = trpc.groups.activities.list.useInfiniteQuery( - { groupId, limit: PAGE_SIZE }, - { getNextPageParam: ({ nextCursor }) => nextCursor }, - ) - const { ref: loadingRef, inView } = useInView() - - const activities = activitiesData?.pages.flatMap((page) => page.activities) - const hasMore = activitiesData?.pages.at(-1)?.hasMore ?? false - - useEffect(() => { - if (inView && hasMore && !isLoading) fetchNextPage() - }, [fetchNextPage, hasMore, inView, isLoading]) - - if (isLoading || !activities || !group) return - - const groupedActivitiesByDate = getGroupedActivitiesByDate(activities) - - return activities.length > 0 ? ( - <> - {Object.values(DATE_GROUPS).map((dateGroup: string) => { - let groupActivities = groupedActivitiesByDate[dateGroup] - if (!groupActivities || groupActivities.length === 0) return null - const dateStyle = - dateGroup == DATE_GROUPS.TODAY || dateGroup == DATE_GROUPS.YESTERDAY - ? undefined - : 'medium' - - return ( -
-
- {t(`Groups.${dateGroup}`)} -
- {groupActivities.map((activity) => { - const participant = - activity.participantId !== null - ? group.participants.find( - (p) => p.id === activity.participantId, - ) - : undefined - return ( - - ) - })} -
- ) - })} - {hasMore && } - - ) : ( -

{t('noActivity')}

- ) -} diff --git a/src/app/groups/[groupId]/activity/page.client.tsx b/src/app/groups/[groupId]/activity/page.client.tsx deleted file mode 100644 index 3090bd3..0000000 --- a/src/app/groups/[groupId]/activity/page.client.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { ActivityList } from '@/app/groups/[groupId]/activity/activity-list' -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from '@/components/ui/card' -import { Metadata } from 'next' -import { useTranslations } from 'next-intl' - -export const metadata: Metadata = { - title: 'Activity', -} - -export function ActivityPageClient() { - const t = useTranslations('Activity') - - return ( - <> - - - {t('title')} - {t('description')} - - - - - - - ) -} diff --git a/src/app/groups/[groupId]/activity/page.tsx b/src/app/groups/[groupId]/activity/page.tsx deleted file mode 100644 index e80e498..0000000 --- a/src/app/groups/[groupId]/activity/page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { ActivityPageClient } from '@/app/groups/[groupId]/activity/page.client' -import { Metadata } from 'next' - -export const metadata: Metadata = { - title: 'Activity', -} - -export default async function ActivityPage() { - return -} diff --git a/src/app/groups/[groupId]/balances-list.tsx b/src/app/groups/[groupId]/balances-list.tsx deleted file mode 100644 index 2287049..0000000 --- a/src/app/groups/[groupId]/balances-list.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { Balances } from '@/lib/balances' -import { cn, formatCurrency } from '@/lib/utils' -import { Participant } from '@prisma/client' -import { useLocale } from 'next-intl' - -type Props = { - balances: Balances - participants: Participant[] - currency: string -} - -export function BalancesList({ balances, participants, currency }: Props) { - const locale = useLocale() - const maxBalance = Math.max( - ...Object.values(balances).map((b) => Math.abs(b.total)), - ) - - return ( -
- {participants.map((participant) => { - const balance = balances[participant.id]?.total ?? 0 - const isLeft = balance >= 0 - return ( -
-
- {participant.name} -
-
-
- {formatCurrency(currency, balance, locale)} -
- {balance !== 0 && ( -
- )} -
-
- ) - })} -
- ) -} diff --git a/src/app/groups/[groupId]/balances/balances-and-reimbursements.tsx b/src/app/groups/[groupId]/balances/balances-and-reimbursements.tsx deleted file mode 100644 index 461cfe3..0000000 --- a/src/app/groups/[groupId]/balances/balances-and-reimbursements.tsx +++ /dev/null @@ -1,139 +0,0 @@ -'use client' - -import { BalancesList } from '@/app/groups/[groupId]/balances-list' -import { ReimbursementList } from '@/app/groups/[groupId]/reimbursement-list' -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from '@/components/ui/card' -import { Skeleton } from '@/components/ui/skeleton' -import { trpc } from '@/trpc/client' -import { useTranslations } from 'next-intl' -import { Fragment, useEffect } from 'react' -import { match } from 'ts-pattern' -import { useCurrentGroup } from '../current-group-context' - -export default function BalancesAndReimbursements() { - const utils = trpc.useUtils() - const { groupId, group } = useCurrentGroup() - const { data: balancesData, isLoading: balancesAreLoading } = - trpc.groups.balances.list.useQuery({ - groupId, - }) - const t = useTranslations('Balances') - - useEffect(() => { - // Until we use tRPC more widely and can invalidate the cache on expense - // update, it's easier and safer to invalidate the cache on page load. - utils.groups.balances.invalidate() - }, [utils]) - - const isLoading = balancesAreLoading || !balancesData || !group - - return ( - <> - - - {t('title')} - {t('description')} - - - {isLoading ? ( - - ) : ( - - )} - - - - - {t('Reimbursements.title')} - {t('Reimbursements.description')} - - - {isLoading ? ( - - ) : ( - - )} - - - - ) -} - -const ReimbursementsLoading = ({ - participantCount = 3, -}: { - participantCount?: number -}) => { - return ( -
- {Array(participantCount - 1) - .fill(undefined) - .map((_, index) => ( -
-
- - -
- -
- ))} -
- ) -} - -const BalancesLoading = ({ - participantCount = 3, -}: { - participantCount?: number -}) => { - const barWidth = (index: number) => - match(index % 3) - .with(0, () => 'w-1/3') - .with(1, () => 'w-2/3') - .otherwise(() => 'w-full') - - return ( -
- {Array(participantCount) - .fill(undefined) - .map((_, index) => - index % 2 === 0 ? ( - -
- -
-
- -
-
- ) : ( - -
- -
-
- -
-
- ), - )} -
- ) -} diff --git a/src/app/groups/[groupId]/balances/page.tsx b/src/app/groups/[groupId]/balances/page.tsx deleted file mode 100644 index 456f40b..0000000 --- a/src/app/groups/[groupId]/balances/page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import BalancesAndReimbursements from '@/app/groups/[groupId]/balances/balances-and-reimbursements' -import { Metadata } from 'next' - -export const metadata: Metadata = { - title: 'Balances', -} - -export default async function GroupPage() { - return -} diff --git a/src/app/groups/[groupId]/current-group-context.tsx b/src/app/groups/[groupId]/current-group-context.tsx deleted file mode 100644 index b2a4799..0000000 --- a/src/app/groups/[groupId]/current-group-context.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { AppRouterOutput } from '@/trpc/routers/_app' -import { PropsWithChildren, createContext, useContext } from 'react' - -type Group = NonNullable - -type GroupContext = - | { isLoading: false; groupId: string; group: Group } - | { isLoading: true; groupId: string; group: undefined } - -const CurrentGroupContext = createContext(null) - -export const useCurrentGroup = () => { - const context = useContext(CurrentGroupContext) - if (!context) - throw new Error( - 'Missing context. Should be called inside a CurrentGroupProvider.', - ) - return context -} - -export const CurrentGroupProvider = ({ - children, - ...props -}: PropsWithChildren) => { - return ( - - {children} - - ) -} diff --git a/src/app/groups/[groupId]/edit/edit-group.tsx b/src/app/groups/[groupId]/edit/edit-group.tsx deleted file mode 100644 index 9189c89..0000000 --- a/src/app/groups/[groupId]/edit/edit-group.tsx +++ /dev/null @@ -1,25 +0,0 @@ -'use client' - -import { GroupForm } from '@/components/group-form' -import { trpc } from '@/trpc/client' -import { useCurrentGroup } from '../current-group-context' - -export const EditGroup = () => { - const { groupId } = useCurrentGroup() - const { data, isLoading } = trpc.groups.getDetails.useQuery({ groupId }) - const { mutateAsync } = trpc.groups.update.useMutation() - const utils = trpc.useUtils() - - if (isLoading) return <> - - return ( - { - await mutateAsync({ groupId, participantId, groupFormValues }) - await utils.groups.invalidate() - }} - protectedParticipantIds={data?.participantsWithExpenses} - /> - ) -} diff --git a/src/app/groups/[groupId]/edit/page.tsx b/src/app/groups/[groupId]/edit/page.tsx deleted file mode 100644 index aac1d92..0000000 --- a/src/app/groups/[groupId]/edit/page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { EditGroup } from '@/app/groups/[groupId]/edit/edit-group' -import { Metadata } from 'next' - -export const metadata: Metadata = { - title: 'Settings', -} - -export default async function EditGroupPage() { - return -} diff --git a/src/app/groups/[groupId]/expenses/[expenseId]/edit/page.tsx b/src/app/groups/[groupId]/expenses/[expenseId]/edit/page.tsx deleted file mode 100644 index f3e2e1c..0000000 --- a/src/app/groups/[groupId]/expenses/[expenseId]/edit/page.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { EditExpenseForm } from '@/app/groups/[groupId]/expenses/edit-expense-form' -import { getRuntimeFeatureFlags } from '@/lib/featureFlags' -import { Metadata } from 'next' - -export const metadata: Metadata = { - title: 'Edit Expense', -} - -export default async function EditExpensePage({ - params: { groupId, expenseId }, -}: { - params: { groupId: string; expenseId: string } -}) { - return ( - - ) -} diff --git a/src/app/groups/[groupId]/expenses/active-user-balance.tsx b/src/app/groups/[groupId]/expenses/active-user-balance.tsx deleted file mode 100644 index e8cc8c2..0000000 --- a/src/app/groups/[groupId]/expenses/active-user-balance.tsx +++ /dev/null @@ -1,45 +0,0 @@ -'use client' -import { Money } from '@/components/money' -import { getBalances } from '@/lib/balances' -import { useActiveUser } from '@/lib/hooks' -import { useTranslations } from 'next-intl' - -type Props = { - groupId: string - currency: string - expense: Parameters[0][number] -} - -export function ActiveUserBalance({ groupId, currency, expense }: Props) { - const t = useTranslations('ExpenseCard') - const activeUserId = useActiveUser(groupId) - if (activeUserId === null || activeUserId === '' || activeUserId === 'None') { - return null - } - - const balances = getBalances([expense]) - let fmtBalance = <>You are not involved - if (Object.hasOwn(balances, activeUserId)) { - const balance = balances[activeUserId] - let balanceDetail = <> - if (balance.paid > 0 && balance.paidFor > 0) { - balanceDetail = ( - <> - {' ('} - - {' - '} - - {')'} - - ) - } - fmtBalance = ( - <> - {t('yourBalance')}{' '} - - {balanceDetail} - - ) - } - return
{fmtBalance}
-} diff --git a/src/app/groups/[groupId]/expenses/active-user-modal.tsx b/src/app/groups/[groupId]/expenses/active-user-modal.tsx deleted file mode 100644 index 043e299..0000000 --- a/src/app/groups/[groupId]/expenses/active-user-modal.tsx +++ /dev/null @@ -1,139 +0,0 @@ -'use client' - -import { Button } from '@/components/ui/button' -import { - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, -} from '@/components/ui/dialog' -import { - Drawer, - DrawerContent, - DrawerFooter, - DrawerHeader, - DrawerTitle, -} from '@/components/ui/drawer' -import { Label } from '@/components/ui/label' -import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group' -import { useMediaQuery } from '@/lib/hooks' -import { cn } from '@/lib/utils' -import { trpc } from '@/trpc/client' -import { AppRouterOutput } from '@/trpc/routers/_app' -import { useTranslations } from 'next-intl' -import { ComponentProps, useEffect, useState } from 'react' - -export function ActiveUserModal({ groupId }: { groupId: string }) { - const t = useTranslations('Expenses.ActiveUserModal') - const [open, setOpen] = useState(false) - const isDesktop = useMediaQuery('(min-width: 768px)') - const { data: groupData } = trpc.groups.get.useQuery({ groupId }) - - const group = groupData?.group - - useEffect(() => { - if (!group) return - - const tempUser = localStorage.getItem(`newGroup-activeUser`) - const activeUser = localStorage.getItem(`${group.id}-activeUser`) - if (!tempUser && !activeUser) { - setOpen(true) - } - }, [group]) - - function updateOpen(open: boolean) { - if (!group) return - - if (!open && !localStorage.getItem(`${group.id}-activeUser`)) { - localStorage.setItem(`${group.id}-activeUser`, 'None') - } - setOpen(open) - } - - if (isDesktop) { - return ( - - - - {t('title')} - {t('description')} - - setOpen(false)} /> - -

- {t('footer')} -

-
-
-
- ) - } - - return ( - - - - {t('title')} - {t('description')} - - setOpen(false)} - /> - -

- {t('footer')} -

-
-
-
- ) -} - -function ActiveUserForm({ - group, - close, - className, -}: ComponentProps<'form'> & { - group?: AppRouterOutput['groups']['get']['group'] - close: () => void -}) { - const t = useTranslations('Expenses.ActiveUserModal') - const [selected, setSelected] = useState('None') - - return ( -
{ - if (!group) return - - event.preventDefault() - localStorage.setItem(`${group.id}-activeUser`, selected) - close() - }} - > - -
-
- - -
- {group?.participants.map((participant) => ( -
- - -
- ))} -
-
- -
- ) -} diff --git a/src/app/groups/[groupId]/expenses/category-icon.tsx b/src/app/groups/[groupId]/expenses/category-icon.tsx deleted file mode 100644 index 0020ff4..0000000 --- a/src/app/groups/[groupId]/expenses/category-icon.tsx +++ /dev/null @@ -1,144 +0,0 @@ -import { Category } from '@prisma/client' -import { - Armchair, - Baby, - Banknote, - Bike, - Bus, - Car, - CarTaxiFront, - Cat, - Clapperboard, - CupSoda, - Dices, - Dumbbell, - Eraser, - FerrisWheel, - Fuel, - Gift, - Home, - Hotel, - Lamp, - Landmark, - LibraryBig, - LucideIcon, - LucideProps, - Martini, - Music, - ParkingMeter, - Phone, - PiggyBank, - Plane, - Plug, - PlugZap, - Shirt, - ShoppingCart, - Stethoscope, - ThermometerSun, - Train, - Trash, - Utensils, - Wine, - Wrench, -} from 'lucide-react' - -export function CategoryIcon({ - category, - ...props -}: { category: Category | null } & LucideProps) { - const Icon = getCategoryIcon(`${category?.grouping}/${category?.name}`) - return -} - -function getCategoryIcon(category: string): LucideIcon { - switch (category) { - case 'Uncategorized/General': - return Banknote - case 'Uncategorized/Payment': - return Banknote - case 'Entertainment/Entertainment': - return FerrisWheel - case 'Entertainment/Games': - return Dices - case 'Entertainment/Movies': - return Clapperboard - case 'Entertainment/Music': - return Music - case 'Entertainment/Sports': - return Dumbbell - case 'Food and Drink/Food and Drink': - return Utensils - case 'Food and Drink/Dining Out': - return Martini - case 'Food and Drink/Groceries': - return ShoppingCart - case 'Food and Drink/Liquor': - return Wine - case 'Home/Home': - return Home - case 'Home/Electronics': - return Plug - case 'Home/Furniture': - return Armchair - case 'Home/Household Supplies': - return Lamp - case 'Home/Maintenance': - return Wrench - case 'Home/Mortgage': - return Landmark - case 'Home/Pets': - return Cat - case 'Home/Rent': - return PiggyBank - case 'Home/Services': - return Wrench - case 'Life/Childcare': - return Baby - case 'Life/Clothing': - return Shirt - case 'Life/Education': - return LibraryBig - case 'Life/Gifts': - return Gift - case 'Life/Insurance': - return Landmark - case 'Life/Medical Expenses': - return Stethoscope - case 'Life/Taxes': - return Banknote - case 'Transportation/Transportation': - return Bus - case 'Transportation/Bicycle': - return Bike - case 'Transportation/Bus/Train': - return Train - case 'Transportation/Car': - return Car - case 'Transportation/Gas/Fuel': - return Fuel - case 'Transportation/Hotel': - return Hotel - case 'Transportation/Parking': - return ParkingMeter - case 'Transportation/Plane': - return Plane - case 'Transportation/Taxi': - return CarTaxiFront - case 'Utilities/Utilities': - return Banknote - case 'Utilities/Cleaning': - return Eraser - case 'Utilities/Electricity': - return PlugZap - case 'Utilities/Heat/Gas': - return ThermometerSun - case 'Utilities/Trash': - return Trash - case 'Utilities/TV/Phone/Internet': - return Phone - case 'Utilities/Water': - return CupSoda - default: - return Banknote - } -} diff --git a/src/app/groups/[groupId]/expenses/create-expense-form.tsx b/src/app/groups/[groupId]/expenses/create-expense-form.tsx deleted file mode 100644 index d6cfbed..0000000 --- a/src/app/groups/[groupId]/expenses/create-expense-form.tsx +++ /dev/null @@ -1,45 +0,0 @@ -'use client' -import { RuntimeFeatureFlags } from '@/lib/featureFlags' -import { trpc } from '@/trpc/client' -import { useRouter } from 'next/navigation' -import { ExpenseForm } from './expense-form' - -export function CreateExpenseForm({ - groupId, - runtimeFeatureFlags, -}: { - groupId: string - expenseId?: string - runtimeFeatureFlags: RuntimeFeatureFlags -}) { - const { data: groupData } = trpc.groups.get.useQuery({ groupId }) - const group = groupData?.group - - const { data: categoriesData } = trpc.categories.list.useQuery() - const categories = categoriesData?.categories - - const { mutateAsync: createExpenseMutateAsync } = - trpc.groups.expenses.create.useMutation() - - const utils = trpc.useUtils() - const router = useRouter() - - if (!group || !categories) return null - - return ( - { - await createExpenseMutateAsync({ - groupId, - expenseFormValues, - participantId, - }) - utils.groups.expenses.invalidate() - router.push(`/groups/${group.id}`) - }} - runtimeFeatureFlags={runtimeFeatureFlags} - /> - ) -} diff --git a/src/app/groups/[groupId]/expenses/create-from-receipt-button-actions.ts b/src/app/groups/[groupId]/expenses/create-from-receipt-button-actions.ts deleted file mode 100644 index 065f229..0000000 --- a/src/app/groups/[groupId]/expenses/create-from-receipt-button-actions.ts +++ /dev/null @@ -1,50 +0,0 @@ -'use server' -import { getCategories } from '@/lib/api' -import { env } from '@/lib/env' -import { formatCategoryForAIPrompt } from '@/lib/utils' -import OpenAI from 'openai' -import { ChatCompletionCreateParamsNonStreaming } from 'openai/resources/index.mjs' - -const openai = new OpenAI({ apiKey: env.OPENAI_API_KEY }) - -export async function extractExpenseInformationFromImage(imageUrl: string) { - 'use server' - const categories = await getCategories() - - const body: ChatCompletionCreateParamsNonStreaming = { - model: 'gpt-4-turbo', - messages: [ - { - role: 'user', - content: [ - { - type: 'text', - text: ` - This image contains a receipt. - Read the total amount and store it as a non-formatted number without any other text or currency. - Then guess the category for this receipt amoung the following categories and store its ID: ${categories.map( - (category) => formatCategoryForAIPrompt(category), - )}. - Guess the expense’s date and store it as yyyy-mm-dd. - Guess a title for the expense. - Return the amount, the category, the date and the title with just a comma between them, without anything else.`, - }, - ], - }, - { - role: 'user', - content: [{ type: 'image_url', image_url: { url: imageUrl } }], - }, - ], - } - const completion = await openai.chat.completions.create(body) - - const [amountString, categoryId, date, title] = completion.choices - .at(0) - ?.message.content?.split(',') ?? [null, null, null, null] - return { amount: Number(amountString), categoryId, date, title } -} - -export type ReceiptExtractedInfo = Awaited< - ReturnType -> diff --git a/src/app/groups/[groupId]/expenses/create-from-receipt-button.tsx b/src/app/groups/[groupId]/expenses/create-from-receipt-button.tsx deleted file mode 100644 index 34c42de..0000000 --- a/src/app/groups/[groupId]/expenses/create-from-receipt-button.tsx +++ /dev/null @@ -1,325 +0,0 @@ -'use client' - -import { CategoryIcon } from '@/app/groups/[groupId]/expenses/category-icon' -import { - ReceiptExtractedInfo, - extractExpenseInformationFromImage, -} from '@/app/groups/[groupId]/expenses/create-from-receipt-button-actions' -import { Badge } from '@/components/ui/badge' -import { Button } from '@/components/ui/button' -import { - Dialog, - DialogContent, - DialogDescription, - DialogHeader, - DialogTitle, - DialogTrigger, -} from '@/components/ui/dialog' -import { - Drawer, - DrawerContent, - DrawerDescription, - DrawerHeader, - DrawerTitle, - DrawerTrigger, -} from '@/components/ui/drawer' -import { ToastAction } from '@/components/ui/toast' -import { useToast } from '@/components/ui/use-toast' -import { useMediaQuery } from '@/lib/hooks' -import { formatCurrency, formatDate, formatFileSize } from '@/lib/utils' -import { trpc } from '@/trpc/client' -import { ChevronRight, FileQuestion, Loader2, Receipt } from 'lucide-react' -import { useLocale, useTranslations } from 'next-intl' -import { getImageData, usePresignedUpload } from 'next-s3-upload' -import Image from 'next/image' -import { useRouter } from 'next/navigation' -import { PropsWithChildren, ReactNode, useState } from 'react' -import { useCurrentGroup } from '../current-group-context' - -const MAX_FILE_SIZE = 5 * 1024 ** 2 - -export function CreateFromReceiptButton() { - const t = useTranslations('CreateFromReceipt') - const isDesktop = useMediaQuery('(min-width: 640px)') - - const DialogOrDrawer = isDesktop - ? CreateFromReceiptDialog - : CreateFromReceiptDrawer - - return ( - - - - } - title={ - <> - {t('Dialog.title')} - - Beta - - - } - description={<>{t('Dialog.description')}} - > - - - ) -} - -function ReceiptDialogContent() { - const { group } = useCurrentGroup() - const { data: categoriesData } = trpc.categories.list.useQuery() - const categories = categoriesData?.categories - - const locale = useLocale() - const t = useTranslations('CreateFromReceipt') - const [pending, setPending] = useState(false) - const { uploadToS3, FileInput, openFileDialog } = usePresignedUpload() - const { toast } = useToast() - const router = useRouter() - const [receiptInfo, setReceiptInfo] = useState< - | null - | (ReceiptExtractedInfo & { url: string; width?: number; height?: number }) - >(null) - - const handleFileChange = async (file: File) => { - if (file.size > MAX_FILE_SIZE) { - toast({ - title: t('TooBigToast.title'), - description: t('TooBigToast.description', { - maxSize: formatFileSize(MAX_FILE_SIZE, locale), - size: formatFileSize(file.size, locale), - }), - variant: 'destructive', - }) - return - } - - const upload = async () => { - try { - setPending(true) - console.log('Uploading image…') - let { url } = await uploadToS3(file) - console.log('Extracting information from receipt…') - const { amount, categoryId, date, title } = - await extractExpenseInformationFromImage(url) - const { width, height } = await getImageData(file) - setReceiptInfo({ amount, categoryId, date, title, url, width, height }) - } catch (err) { - console.error(err) - toast({ - title: t('ErrorToast.title'), - description: t('ErrorToast.description'), - variant: 'destructive', - action: ( - upload()} - > - {t('ErrorToast.retry')} - - ), - }) - } finally { - setPending(false) - } - } - upload() - } - - const receiptInfoCategory = - (receiptInfo?.categoryId && - categories?.find((c) => String(c.id) === receiptInfo.categoryId)) || - null - - return ( -
-

{t('Dialog.body')}

-
- -
- -
- {t('Dialog.titleLabel')} -
{receiptInfo ? receiptInfo.title ?? : '…'}
-
-
- {t('Dialog.categoryLabel')} -
- {receiptInfo ? ( - receiptInfoCategory ? ( -
- - {receiptInfoCategory.grouping} - - {receiptInfoCategory.name} -
- ) : ( - - ) - ) : ( - '' || '…' - )} -
-
-
- {t('Dialog.amountLabel')} -
- {receiptInfo && group ? ( - receiptInfo.amount ? ( - <> - {formatCurrency( - group.currency, - receiptInfo.amount, - locale, - true, - )} - - ) : ( - - ) - ) : ( - '…' - )} -
-
-
- {t('Dialog.dateLabel')} -
- {receiptInfo ? ( - receiptInfo.date ? ( - formatDate( - new Date(`${receiptInfo?.date}T12:00:00.000Z`), - locale, - { dateStyle: 'medium' }, - ) - ) : ( - - ) - ) : ( - '…' - )} -
-
-
-
-

{t('Dialog.editNext')}

-
- -
-
- ) -} - -function Unknown() { - const t = useTranslations('CreateFromReceipt') - return ( -
- - {t('unknown')} -
- ) -} - -function CreateFromReceiptDialog({ - trigger, - title, - description, - children, -}: PropsWithChildren<{ - trigger: ReactNode - title: ReactNode - description: ReactNode -}>) { - return ( - - {trigger} - - - {title} - - {description} - - - {children} - - - ) -} - -function CreateFromReceiptDrawer({ - trigger, - title, - description, - children, -}: PropsWithChildren<{ - trigger: ReactNode - title: ReactNode - description: ReactNode -}>) { - return ( - - {trigger} - - - {title} - - {description} - - -
{children}
-
-
- ) -} diff --git a/src/app/groups/[groupId]/expenses/create/page.tsx b/src/app/groups/[groupId]/expenses/create/page.tsx deleted file mode 100644 index daa32dd..0000000 --- a/src/app/groups/[groupId]/expenses/create/page.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { CreateExpenseForm } from '@/app/groups/[groupId]/expenses/create-expense-form' -import { getRuntimeFeatureFlags } from '@/lib/featureFlags' -import { Metadata } from 'next' - -export const metadata: Metadata = { - title: 'Create Expense', -} - -export default async function ExpensePage({ - params: { groupId }, -}: { - params: { groupId: string } -}) { - return ( - - ) -} diff --git a/src/app/groups/[groupId]/expenses/edit-expense-form.tsx b/src/app/groups/[groupId]/expenses/edit-expense-form.tsx deleted file mode 100644 index d762ec4..0000000 --- a/src/app/groups/[groupId]/expenses/edit-expense-form.tsx +++ /dev/null @@ -1,65 +0,0 @@ -'use client' -import { RuntimeFeatureFlags } from '@/lib/featureFlags' -import { trpc } from '@/trpc/client' -import { useRouter } from 'next/navigation' -import { ExpenseForm } from './expense-form' - -export function EditExpenseForm({ - groupId, - expenseId, - runtimeFeatureFlags, -}: { - groupId: string - expenseId: string - runtimeFeatureFlags: RuntimeFeatureFlags -}) { - const { data: groupData } = trpc.groups.get.useQuery({ groupId }) - const group = groupData?.group - - const { data: categoriesData } = trpc.categories.list.useQuery() - const categories = categoriesData?.categories - - const { data: expenseData } = trpc.groups.expenses.get.useQuery({ - groupId, - expenseId, - }) - const expense = expenseData?.expense - - const { mutateAsync: updateExpenseMutateAsync } = - trpc.groups.expenses.update.useMutation() - const { mutateAsync: deleteExpenseMutateAsync } = - trpc.groups.expenses.delete.useMutation() - - const utils = trpc.useUtils() - const router = useRouter() - - if (!group || !categories || !expense) return null - - return ( - { - await updateExpenseMutateAsync({ - expenseId, - groupId, - expenseFormValues, - participantId, - }) - utils.groups.expenses.invalidate() - router.push(`/groups/${group.id}`) - }} - onDelete={async (participantId) => { - await deleteExpenseMutateAsync({ - expenseId, - groupId, - participantId, - }) - utils.groups.expenses.invalidate() - router.push(`/groups/${group.id}`) - }} - runtimeFeatureFlags={runtimeFeatureFlags} - /> - ) -} diff --git a/src/app/groups/[groupId]/expenses/expense-card.tsx b/src/app/groups/[groupId]/expenses/expense-card.tsx deleted file mode 100644 index 2ad4175..0000000 --- a/src/app/groups/[groupId]/expenses/expense-card.tsx +++ /dev/null @@ -1,94 +0,0 @@ -'use client' -import { ActiveUserBalance } from '@/app/groups/[groupId]/expenses/active-user-balance' -import { CategoryIcon } from '@/app/groups/[groupId]/expenses/category-icon' -import { Button } from '@/components/ui/button' -import { getGroupExpenses } from '@/lib/api' -import { cn, formatCurrency, formatDate } from '@/lib/utils' -import { ChevronRight } from 'lucide-react' -import { useLocale, useTranslations } from 'next-intl' -import Link from 'next/link' -import { useRouter } from 'next/navigation' -import { Fragment } from 'react' - -type Expense = Awaited>[number] - -function Participants({ expense }: { expense: Expense }) { - const t = useTranslations('ExpenseCard') - const key = expense.amount > 0 ? 'paidBy' : 'receivedBy' - const paidFor = expense.paidFor.map((paidFor, index) => ( - - {index !== 0 && <>, } - {paidFor.participant.name} - - )) - const participants = t.rich(key, { - strong: (chunks) => {chunks}, - paidBy: expense.paidBy.name, - paidFor: () => paidFor, - forCount: expense.paidFor.length, - }) - return <>{participants} -} - -type Props = { - expense: Expense - currency: string - groupId: string -} - -export function ExpenseCard({ expense, currency, groupId }: Props) { - const router = useRouter() - const locale = useLocale() - - return ( -
{ - router.push(`/groups/${groupId}/expenses/${expense.id}/edit`) - }} - > - -
-
- {expense.title} -
-
- -
-
- -
-
-
-
- {formatCurrency(currency, expense.amount, locale)} -
-
- {formatDate(expense.expenseDate, locale, { dateStyle: 'medium' })} -
-
- -
- ) -} diff --git a/src/app/groups/[groupId]/expenses/expense-form.tsx b/src/app/groups/[groupId]/expenses/expense-form.tsx deleted file mode 100644 index b0bb678..0000000 --- a/src/app/groups/[groupId]/expenses/expense-form.tsx +++ /dev/null @@ -1,831 +0,0 @@ -import { CategorySelector } from '@/components/category-selector' -import { ExpenseDocumentsInput } from '@/components/expense-documents-input' -import { SubmitButton } from '@/components/submit-button' -import { Button } from '@/components/ui/button' -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from '@/components/ui/card' -import { Checkbox } from '@/components/ui/checkbox' -import { - Collapsible, - CollapsibleContent, - CollapsibleTrigger, -} from '@/components/ui/collapsible' -import { - Form, - FormControl, - FormDescription, - FormField, - FormItem, - FormLabel, - FormMessage, -} from '@/components/ui/form' -import { Input } from '@/components/ui/input' -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from '@/components/ui/select' -import { randomId } from '@/lib/api' -import { RuntimeFeatureFlags } from '@/lib/featureFlags' -import { useActiveUser } from '@/lib/hooks' -import { - ExpenseFormValues, - SplittingOptions, - expenseFormSchema, -} from '@/lib/schemas' -import { cn } from '@/lib/utils' -import { AppRouterOutput } from '@/trpc/routers/_app' -import { zodResolver } from '@hookform/resolvers/zod' -import { Save } from 'lucide-react' -import { useTranslations } from 'next-intl' -import Link from 'next/link' -import { useSearchParams } from 'next/navigation' -import { useEffect, useState } from 'react' -import { useForm } from 'react-hook-form' -import { match } from 'ts-pattern' -import { DeletePopup } from '../../../../components/delete-popup' -import { extractCategoryFromTitle } from '../../../../components/expense-form-actions' -import { Textarea } from '../../../../components/ui/textarea' - -const enforceCurrencyPattern = (value: string) => - value - .replace(/^\s*-/, '_') // replace leading minus with _ - .replace(/[.,]/, '#') // replace first comma with # - .replace(/[-.,]/g, '') // remove other minus and commas characters - .replace(/_/, '-') // change back _ to minus - .replace(/#/, '.') // change back # to dot - .replace(/[^-\d.]/g, '') // remove all non-numeric characters - -const getDefaultSplittingOptions = ( - group: NonNullable, -) => { - const defaultValue = { - splitMode: 'EVENLY' as const, - paidFor: group.participants.map(({ id }) => ({ - participant: id, - shares: '1' as unknown as number, - })), - } - - if (typeof localStorage === 'undefined') return defaultValue - const defaultSplitMode = localStorage.getItem( - `${group.id}-defaultSplittingOptions`, - ) - if (defaultSplitMode === null) return defaultValue - const parsedDefaultSplitMode = JSON.parse( - defaultSplitMode, - ) as SplittingOptions - - if (parsedDefaultSplitMode.paidFor === null) { - parsedDefaultSplitMode.paidFor = defaultValue.paidFor - } - - // if there is a participant in the default options that does not exist anymore, - // remove the stale default splitting options - for (const parsedPaidFor of parsedDefaultSplitMode.paidFor) { - if ( - !group.participants.some(({ id }) => id === parsedPaidFor.participant) - ) { - localStorage.removeItem(`${group.id}-defaultSplittingOptions`) - return defaultValue - } - } - - return { - splitMode: parsedDefaultSplitMode.splitMode, - paidFor: parsedDefaultSplitMode.paidFor.map((paidFor) => ({ - participant: paidFor.participant, - shares: String(paidFor.shares / 100) as unknown as number, - })), - } -} - -async function persistDefaultSplittingOptions( - groupId: string, - expenseFormValues: ExpenseFormValues, -) { - if (localStorage && expenseFormValues.saveDefaultSplittingOptions) { - const computePaidFor = (): SplittingOptions['paidFor'] => { - if (expenseFormValues.splitMode === 'EVENLY') { - return expenseFormValues.paidFor.map(({ participant }) => ({ - participant, - shares: '100' as unknown as number, - })) - } else if (expenseFormValues.splitMode === 'BY_AMOUNT') { - return null - } else { - return expenseFormValues.paidFor - } - } - - const splittingOptions = { - splitMode: expenseFormValues.splitMode, - paidFor: computePaidFor(), - } satisfies SplittingOptions - - localStorage.setItem( - `${groupId}-defaultSplittingOptions`, - JSON.stringify(splittingOptions), - ) - } -} - -export function ExpenseForm({ - group, - categories, - expense, - onSubmit, - onDelete, - runtimeFeatureFlags, -}: { - group: NonNullable - categories: AppRouterOutput['categories']['list']['categories'] - expense?: AppRouterOutput['groups']['expenses']['get']['expense'] - onSubmit: (value: ExpenseFormValues, participantId?: string) => Promise - onDelete?: (participantId?: string) => Promise - runtimeFeatureFlags: RuntimeFeatureFlags -}) { - const t = useTranslations('ExpenseForm') - const isCreate = expense === undefined - const searchParams = useSearchParams() - - const getSelectedPayer = (field?: { value: string }) => { - if (isCreate && typeof window !== 'undefined') { - const activeUser = localStorage.getItem(`${group.id}-activeUser`) - if (activeUser && activeUser !== 'None' && field?.value === undefined) { - return activeUser - } - } - return field?.value - } - const defaultSplittingOptions = getDefaultSplittingOptions(group) - const form = useForm({ - resolver: zodResolver(expenseFormSchema), - defaultValues: expense - ? { - title: expense.title, - expenseDate: expense.expenseDate ?? new Date(), - amount: String(expense.amount / 100) as unknown as number, // hack - category: expense.categoryId, - paidBy: expense.paidById, - paidFor: expense.paidFor.map(({ participantId, shares }) => ({ - participant: participantId, - shares: String(shares / 100) as unknown as number, - })), - splitMode: expense.splitMode, - saveDefaultSplittingOptions: false, - isReimbursement: expense.isReimbursement, - documents: expense.documents, - notes: expense.notes ?? '', - } - : searchParams.get('reimbursement') - ? { - title: t('reimbursement'), - expenseDate: new Date(), - amount: String( - (Number(searchParams.get('amount')) || 0) / 100, - ) as unknown as number, // hack - category: 1, // category with Id 1 is Payment - paidBy: searchParams.get('from') ?? undefined, - paidFor: [ - searchParams.get('to') - ? { - participant: searchParams.get('to')!, - shares: '1' as unknown as number, - } - : undefined, - ], - isReimbursement: true, - splitMode: defaultSplittingOptions.splitMode, - saveDefaultSplittingOptions: false, - documents: [], - notes: '', - } - : { - title: searchParams.get('title') ?? '', - expenseDate: searchParams.get('date') - ? new Date(searchParams.get('date') as string) - : new Date(), - amount: (searchParams.get('amount') || 0) as unknown as number, // hack, - category: searchParams.get('categoryId') - ? Number(searchParams.get('categoryId')) - : 0, // category with Id 0 is General - // paid for all, split evenly - paidFor: defaultSplittingOptions.paidFor, - paidBy: getSelectedPayer(), - isReimbursement: false, - splitMode: defaultSplittingOptions.splitMode, - saveDefaultSplittingOptions: false, - documents: searchParams.get('imageUrl') - ? [ - { - id: randomId(), - url: searchParams.get('imageUrl') as string, - width: Number(searchParams.get('imageWidth')), - height: Number(searchParams.get('imageHeight')), - }, - ] - : [], - notes: '', - }, - }) - const [isCategoryLoading, setCategoryLoading] = useState(false) - const activeUserId = useActiveUser(group.id) - - const submit = async (values: ExpenseFormValues) => { - await persistDefaultSplittingOptions(group.id, values) - return onSubmit(values, activeUserId ?? undefined) - } - - const [isIncome, setIsIncome] = useState(Number(form.getValues().amount) < 0) - const [manuallyEditedParticipants, setManuallyEditedParticipants] = useState< - Set - >(new Set()) - - const sExpense = isIncome ? 'Income' : 'Expense' - - useEffect(() => { - setManuallyEditedParticipants(new Set()) - }, [form.watch('splitMode'), form.watch('amount')]) - - useEffect(() => { - const splitMode = form.getValues().splitMode - - // Only auto-balance for split mode 'Unevenly - By amount' - if ( - splitMode === 'BY_AMOUNT' && - (form.getFieldState('paidFor').isDirty || - form.getFieldState('amount').isDirty) - ) { - const totalAmount = Number(form.getValues().amount) || 0 - const paidFor = form.getValues().paidFor - let newPaidFor = [...paidFor] - - const editedParticipants = Array.from(manuallyEditedParticipants) - let remainingAmount = totalAmount - let remainingParticipants = newPaidFor.length - editedParticipants.length - - newPaidFor = newPaidFor.map((participant) => { - if (editedParticipants.includes(participant.participant)) { - const participantShare = Number(participant.shares) || 0 - if (splitMode === 'BY_AMOUNT') { - remainingAmount -= participantShare - } - return participant - } - return participant - }) - - if (remainingParticipants > 0) { - let amountPerRemaining = 0 - if (splitMode === 'BY_AMOUNT') { - amountPerRemaining = remainingAmount / remainingParticipants - } - - newPaidFor = newPaidFor.map((participant) => { - if (!editedParticipants.includes(participant.participant)) { - return { - ...participant, - shares: String( - Number(amountPerRemaining.toFixed(2)), - ) as unknown as number, - } - } - return participant - }) - } - form.setValue('paidFor', newPaidFor, { shouldValidate: true }) - } - }, [ - manuallyEditedParticipants, - form.watch('amount'), - form.watch('splitMode'), - ]) - - return ( -
- - - - - {t(`${sExpense}.${isCreate ? 'create' : 'edit'}`)} - - - - ( - - {t(`${sExpense}.TitleField.label`)} - - { - field.onBlur() // avoid skipping other blur event listeners since we overwrite `field` - if (runtimeFeatureFlags.enableCategoryExtract) { - setCategoryLoading(true) - const { categoryId } = await extractCategoryFromTitle( - field.value, - ) - form.setValue('category', categoryId) - setCategoryLoading(false) - } - }} - /> - - - {t(`${sExpense}.TitleField.description`)} - - - - )} - /> - - ( - - {t(`${sExpense}.DateField.label`)} - - { - return field.onChange(new Date(event.target.value)) - }} - /> - - - {t(`${sExpense}.DateField.description`)} - - - - )} - /> - - ( - - {t('amountField.label')} -
- {group.currency} - - { - const v = enforceCurrencyPattern(event.target.value) - const income = Number(v) < 0 - setIsIncome(income) - if (income) form.setValue('isReimbursement', false) - onChange(v) - }} - onFocus={(e) => { - // we're adding a small delay to get around safaris issue with onMouseUp deselecting things again - const target = e.currentTarget - setTimeout(() => target.select(), 1) - }} - {...field} - /> - -
- - - {!isIncome && ( - ( - - - - -
- - {t('isReimbursementField.label')} - -
-
- )} - /> - )} -
- )} - /> - - ( - - {t('categoryField.label')} - - - {t(`${sExpense}.categoryFieldDescription`)} - - - - )} - /> - - ( - - {t(`${sExpense}.paidByField.label`)} - - - {t(`${sExpense}.paidByField.description`)} - - - - )} - /> - ( - - {t('notesField.label')} - -