From 77b44b32e044438ef10155b28849f5f00c294b21 Mon Sep 17 00:00:00 2001 From: Mathias Date: Wed, 11 Jun 2025 15:23:25 +0200 Subject: [PATCH] chore: first commit --- .cursorrules | 165 + .gitignore | 41 + .npmrc | 2 + .prettierrc | 6 + .vscode/settings.json | 3 + CONTRIBUTING.md | 34 + README.md | 221 + app/[locale]/(legal-and-payment)/layout.tsx | 23 + .../legal/privacy/page.tsx | 30 + .../legal/sales-terms/page.tsx | 33 + .../(legal-and-payment)/legal/terms/page.tsx | 33 + .../payment/cancel/page.tsx | 30 + .../payment/success/page.tsx | 25 + app/[locale]/[slug]/layout.tsx | 15 + app/[locale]/_manifest.ts | 22 + .../admin/[...catchAll]/not-found.tsx | 5 + app/[locale]/admin/[...catchAll]/page.tsx | 5 + app/[locale]/admin/layout.tsx | 31 + app/[locale]/admin/not-found.tsx | 5 + app/[locale]/admin/users/page.tsx | 28 + .../(auth-layout)/forgot-password/page.tsx | 5 + app/[locale]/auth/(auth-layout)/layout.tsx | 49 + .../(auth-layout)/reset-password/page.tsx | 5 + .../auth/(auth-layout)/signin/page.tsx | 19 + .../auth/(auth-layout)/signup/page.tsx | 38 + app/[locale]/auth/error.tsx | 27 + app/[locale]/auth/error/page.tsx | 24 + app/[locale]/auth/layout.tsx | 3 + app/[locale]/auth/signout/page.tsx | 3 + app/[locale]/auth/verify-email/layout.tsx | 21 + app/[locale]/auth/verify-email/page.tsx | 7 + app/[locale]/auth/verify-request/page.tsx | 33 + app/[locale]/layout.tsx | 135 + app/[locale]/not-found.tsx | 5 + app/[locale]/onboarding/layout.tsx | 7 + app/[locale]/onboarding/page.tsx | 7 + app/[locale]/page.tsx | 15 + app/[locale]/providers.tsx | 41 + app/api/auth/[...all]/route.ts | 5 + app/api/webhooks/resend/route.ts | 38 + app/robots.txt | 6 + app/sitemap.ts | 20 + app/test-stepper/page.tsx | 12 + components.json | 21 + content/privacy-policy/en.mdx | 69 + content/privacy-policy/fr.mdx | 69 + content/sales-terms/en.mdx | 93 + content/sales-terms/fr.mdx | 94 + content/terms/en.mdx | 119 + content/terms/fr.mdx | 113 + data/sample-exercises.csv | 0 emails/ContactSupportEmail.tsx | 37 + emails/DeleteAccountEmail.tsx | 28 + emails/ResetPasswordEmail.tsx | 56 + emails/SubscriptionDowngradeEmail.tsx | 38 + emails/SubscriptionFailedEmail.tsx | 39 + emails/SuccessUpgradeEmail.tsx | 28 + emails/VerifyEmail.tsx | 51 + emails/utils/BaseEmailLayout.tsx | 82 + eslint.config.mjs | 171 + locales/client.ts | 29 + locales/en.ts | 198 + locales/fr.ts | 198 + locales/server.ts | 6 + middleware.ts | 31 + next.config.ts | 22 + nextauth.d.ts | 13 + package.json | 152 + pnpm-lock.yaml | 10947 ++++++++++++++++ postcss.config.mjs | 8 + .../20250414120436_init/migration.sql | 69 + .../migration.sql | 15 + .../migration.sql | 27 + .../migration.sql | 3 + .../20250416160303_add_plans/migration.sql | 49 + .../20250416160502_map/migration.sql | 75 + .../migration.sql | 11 + .../migration.sql | 19 + .../migration.sql | 121 + .../migration.sql | 28 + .../migration.sql | 47 + prisma/migrations/migration_lock.toml | 3 + prisma/schema.prisma | 265 + public/android-chrome-192x192.png | Bin 0 -> 15355 bytes public/android-chrome-512x512.png | Bin 0 -> 48686 bytes public/apple-touch-icon.png | Bin 0 -> 13641 bytes public/images/default-og-image_en.jpg | Bin 0 -> 79850 bytes public/images/default-og-image_fr.jpg | Bin 0 -> 84328 bytes public/images/equipment/band.png | Bin 0 -> 6723 bytes public/images/equipment/barbell.png | Bin 0 -> 6398 bytes public/images/equipment/bench.png | Bin 0 -> 9557 bytes public/images/equipment/bodyweight.png | Bin 0 -> 8519 bytes public/images/equipment/dumbbell.png | Bin 0 -> 3112 bytes public/images/equipment/kettlebell.png | Bin 0 -> 8665 bytes public/images/equipment/plate.png | Bin 0 -> 12480 bytes public/images/equipment/pull-up-bar.png | Bin 0 -> 2550 bytes public/images/favicon-16x16.png | Bin 0 -> 760 bytes public/images/favicon-32x32.png | Bin 0 -> 1786 bytes public/images/favicon.ico | Bin 0 -> 15406 bytes public/images/placeholders/coach-avatar.png | Bin 0 -> 115659 bytes public/images/placeholders/no-image.jpg | Bin 0 -> 19969 bytes public/logo.png | Bin 0 -> 21531 bytes public/scripts/pixel.js | 23 + scripts/import-exercises-with-attributes.ts | 239 + src/components/FacebookPixel.tsx | 34 + src/components/svg/BrokenLink.tsx | 69 + src/components/svg/Calendly.tsx | 14 + src/components/svg/CircleSvg.tsx | 20 + src/components/svg/DotPattern.tsx | 21 + src/components/svg/GoogleSvg.tsx | 27 + src/components/svg/IconCheckboxCheck.tsx | 14 + src/components/svg/LogoSvg.tsx | 21 + src/components/svg/UnderlineSvg.tsx | 14 + src/components/svg/VerifiedBadge.tsx | 9 + src/components/svg/Youtube.tsx | 13 + src/components/ui/404-page-not-found.tsx | 36 + src/components/ui/Bento.tsx | 37 + src/components/ui/ToastSonner.tsx | 33 + src/components/ui/accordion.tsx | 63 + src/components/ui/alert-dialog.tsx | 98 + src/components/ui/alert.tsx | 64 + .../ui/animated-button/ShinyButton.tsx | 47 + src/components/ui/aspect-ratio.tsx | 7 + src/components/ui/avatar.tsx | 35 + src/components/ui/badge.tsx | 49 + src/components/ui/bottom-sheet-vaul.tsx | 96 + src/components/ui/bottom-sheet.tsx | 163 + src/components/ui/button.tsx | 50 + src/components/ui/card-styled.tsx | 229 + src/components/ui/card.tsx | 35 + src/components/ui/carousel.tsx | 216 + src/components/ui/color-picker.tsx | 55 + src/components/ui/customer-carousel.tsx | 115 + src/components/ui/dialog-stack.tsx | 366 + src/components/ui/dialog.tsx | 93 + src/components/ui/divider.tsx | 15 + src/components/ui/dropdown-menu.tsx | 177 + src/components/ui/faq-chat-accordion.tsx | 93 + src/components/ui/form.tsx | 154 + src/components/ui/hover-card.tsx | 29 + src/components/ui/input-password-strength.tsx | 102 + src/components/ui/input.tsx | 93 + src/components/ui/iphone-mockup.tsx | 44 + src/components/ui/label.tsx | 15 + src/components/ui/link.tsx | 36 + src/components/ui/loader.tsx | 9 + src/components/ui/moving-border.tsx | 111 + src/components/ui/navigation-menu.tsx | 120 + src/components/ui/next-top-loader.tsx | 171 + src/components/ui/pagination.tsx | 85 + src/components/ui/particles.tsx | 217 + src/components/ui/phone-frame-preview.tsx | 28 + src/components/ui/popover.tsx | 31 + src/components/ui/radio-group.tsx | 110 + src/components/ui/scroll-area.tsx | 47 + src/components/ui/select.tsx | 142 + src/components/ui/separator.tsx | 22 + src/components/ui/sheet.tsx | 95 + src/components/ui/shine-border.tsx | 61 + src/components/ui/skeleton.tsx | 23 + src/components/ui/slider.tsx | 92 + src/components/ui/sonner.tsx | 32 + src/components/ui/switch.tsx | 102 + src/components/ui/table.tsx | 79 + src/components/ui/tabs.tsx | 47 + src/components/ui/textarea.tsx | 21 + src/components/ui/theme-provider.tsx | 8 + src/components/ui/tiptap-editor.tsx | 210 + src/components/ui/title-with-dot.tsx | 10 + src/components/ui/toast.tsx | 170 + src/components/ui/toaster.tsx | 34 + src/components/ui/tooltip.tsx | 62 + src/components/ui/typography.tsx | 69 + src/components/ui/use-toast.ts | 193 + src/components/utils/ErrorBoundaries.tsx | 76 + src/components/utils/TailwindIndicator.tsx | 14 + src/entities/user/lib/display-name.ts | 26 + .../user/model/get-server-session-user.ts | 29 + src/entities/user/model/get-users.actions.ts | 114 + src/entities/user/model/update-user.action.ts | 39 + src/entities/user/model/useCurrentSession.ts | 12 + src/entities/user/model/useCurrentUser.ts | 12 + src/entities/user/schemas/get-user.schema.ts | 7 + .../user/schemas/update-user.schema.ts | 11 + src/entities/user/types/session-user.ts | 9 + .../user/ui/profile-image-upload-form.tsx | 52 + src/env.ts | 35 + .../layout/admin-sidebar/ui/admin-sidebar.tsx | 106 + .../admin/users/list/ui/page-link.tsx | 30 + .../admin/users/list/ui/users-table.tsx | 321 + .../forgot-password/forgot-password.schema.ts | 7 + .../model/useForgotPassword.tsx | 42 + .../ui/forgot-password-form.tsx | 79 + src/features/auth/lib/auth-client.ts | 18 + src/features/auth/lib/better-auth.ts | 139 + src/features/auth/model/useLogout.ts | 19 + .../reset-password/model/useResetPassword.ts | 50 + .../schema/reset-password.schema.ts | 18 + .../reset-password/ui/reset-password-form.tsx | 81 + src/features/auth/signin/model/useSignIn.ts | 26 + .../auth/signin/schema/signin.schema.ts | 8 + .../auth/signin/ui/CredentialsLoginForm.tsx | 86 + .../auth/signup/model/signup.action.ts | 43 + src/features/auth/signup/model/useSignUp.ts | 52 + .../auth/signup/schema/signup.schema.ts | 11 + src/features/auth/signup/ui/signup-form.tsx | 131 + src/features/auth/ui/AuthButtonServer.tsx | 19 + src/features/auth/ui/LoggedInButton.tsx | 19 + src/features/auth/ui/ProviderButton.tsx | 61 + src/features/auth/ui/SignInButton.tsx | 15 + src/features/auth/ui/SignUpButton.tsx | 14 + src/features/auth/verify-email/constants.ts | 1 + .../auth/verify-email/model/useResendEmail.ts | 44 + .../verify-email/ui/verify-email-page.tsx | 57 + .../model/tracking-consent.action.ts | 22 + .../schema/tracking-consent.schema.ts | 3 + .../consent-banner/ui/consent-banner.tsx | 41 + .../model/contact-feedback.action.ts | 32 + .../model/contact-feedback.schema.ts | 9 + .../contact-feedback/ui/ReviewInput.tsx | 36 + .../ui/contact-feedback-popover.tsx | 110 + .../contact/support/ContactSupportDialog.tsx | 115 + .../contact/support/contact-support.action.ts | 19 + .../contact/support/contact-support.schema.ts | 9 + .../dialogs-provider/DialogProvider.tsx | 95 + .../dialogs-provider/DialogProviderDialog.tsx | 59 + src/features/email/EmailForm.tsx | 110 + src/features/email/EmailFormSection.tsx | 27 + src/features/email/email.action.ts | 32 + src/features/email/email.schema.ts | 7 + src/features/form/SubmitButton.tsx | 39 + src/features/layout/Footer.tsx | 70 + src/features/layout/Header.tsx | 83 + src/features/layout/authenticated-header.tsx | 680 + .../layout/model/use-sidebar.store.tsx | 11 + src/features/layout/nav-link.tsx | 75 + src/features/layout/page-heading.tsx | 17 + src/features/layout/useSidebarToggle.ts | 24 + src/features/legal/FloatingLegalFooter.tsx | 18 + .../edit-profile/model/edit-profile.action.ts | 39 + .../schema/edit-profile.schema.ts | 8 + .../edit-profile/ui/edit-profile-form.tsx | 120 + .../settings/update-password/lib/hash.ts | 12 + .../update-password/lib/validate-password.ts | 5 + .../model/update-password.action.ts | 56 + .../model/update-password.schema.ts | 7 + .../update-password/ui/password-form.tsx | 121 + src/features/theme/ThemeProviders.tsx | 8 + src/features/theme/ThemeToggle.tsx | 18 + src/features/user/ui/UserDropdown.tsx | 62 + src/features/workout-builder/index.ts | 4 + .../workout-builder/model/equipment-config.ts | 79 + .../model/use-workout-stepper.ts | 100 + src/features/workout-builder/types/index.ts | 27 + .../ui/equipment-selection.tsx | 226 + .../workout-builder/ui/stepper-header.tsx | 153 + .../workout-builder/ui/workout-stepper.tsx | 227 + src/hooks/use-media-query.ts | 19 + src/hooks/useBoolean.ts | 21 + src/index.d.ts | 6 + src/shared/api/createHandler.ts | 151 + src/shared/api/handlers.ts | 62 + src/shared/api/safe-actions.ts | 45 + src/shared/config/site-config.ts | 28 + src/shared/constants/cookies.ts | 3 + src/shared/constants/errors.ts | 9 + src/shared/constants/paths.ts | 8 + src/shared/constants/placeholders.ts | 6 + src/shared/constants/regexs.ts | 1 + src/shared/constants/screen.ts | 6 + src/shared/constants/social-platforms.tsx | 63 + src/shared/constants/success.ts | 3 + src/shared/hooks/use-clipboard.ts | 88 + src/shared/lib/analytics/client.tsx | 28 + src/shared/lib/analytics/events.ts | 7 + src/shared/lib/analytics/server.ts | 48 + src/shared/lib/facebook/FacebookPixelTest.tsx | 15 + src/shared/lib/facebook/fb-pixel.ts | 27 + src/shared/lib/guards.ts | 3 + src/shared/lib/location/eu-countries.ts | 60 + src/shared/lib/location/location.ts | 19 + src/shared/lib/logger.ts | 7 + src/shared/lib/mail/resend.ts | 5 + src/shared/lib/mail/sendEmail.ts | 33 + src/shared/lib/mdx/load-mdx.ts | 22 + src/shared/lib/prisma.ts | 15 + src/shared/lib/server-url.ts | 23 + src/shared/lib/utils.ts | 6 + src/shared/lib/youtube.ts | 97 + src/shared/schemas/url.ts | 4 + .../styles/additional-styles/highlights.css | 55 + .../additional-styles/utility-patterns.css | 28 + src/shared/styles/dropdown-apple.css | 66 + src/shared/styles/globals.css | 297 + src/shared/types/next.ts | 51 + src/shared/types/storage.ts | 7 + src/widgets/404.tsx | 34 + .../language-selector/language-selector.tsx | 42 + tailwind.config.ts | 176 + tsconfig.json | 31 + 300 files changed, 26963 insertions(+) create mode 100644 .cursorrules create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 .prettierrc create mode 100644 .vscode/settings.json create mode 100644 CONTRIBUTING.md create mode 100644 README.md create mode 100644 app/[locale]/(legal-and-payment)/layout.tsx create mode 100644 app/[locale]/(legal-and-payment)/legal/privacy/page.tsx create mode 100644 app/[locale]/(legal-and-payment)/legal/sales-terms/page.tsx create mode 100644 app/[locale]/(legal-and-payment)/legal/terms/page.tsx create mode 100644 app/[locale]/(legal-and-payment)/payment/cancel/page.tsx create mode 100644 app/[locale]/(legal-and-payment)/payment/success/page.tsx create mode 100644 app/[locale]/[slug]/layout.tsx create mode 100644 app/[locale]/_manifest.ts create mode 100644 app/[locale]/admin/[...catchAll]/not-found.tsx create mode 100644 app/[locale]/admin/[...catchAll]/page.tsx create mode 100644 app/[locale]/admin/layout.tsx create mode 100644 app/[locale]/admin/not-found.tsx create mode 100644 app/[locale]/admin/users/page.tsx create mode 100644 app/[locale]/auth/(auth-layout)/forgot-password/page.tsx create mode 100644 app/[locale]/auth/(auth-layout)/layout.tsx create mode 100644 app/[locale]/auth/(auth-layout)/reset-password/page.tsx create mode 100644 app/[locale]/auth/(auth-layout)/signin/page.tsx create mode 100644 app/[locale]/auth/(auth-layout)/signup/page.tsx create mode 100644 app/[locale]/auth/error.tsx create mode 100644 app/[locale]/auth/error/page.tsx create mode 100644 app/[locale]/auth/layout.tsx create mode 100644 app/[locale]/auth/signout/page.tsx create mode 100644 app/[locale]/auth/verify-email/layout.tsx create mode 100644 app/[locale]/auth/verify-email/page.tsx create mode 100644 app/[locale]/auth/verify-request/page.tsx create mode 100644 app/[locale]/layout.tsx create mode 100644 app/[locale]/not-found.tsx create mode 100644 app/[locale]/onboarding/layout.tsx create mode 100644 app/[locale]/onboarding/page.tsx create mode 100644 app/[locale]/page.tsx create mode 100644 app/[locale]/providers.tsx create mode 100644 app/api/auth/[...all]/route.ts create mode 100644 app/api/webhooks/resend/route.ts create mode 100644 app/robots.txt create mode 100644 app/sitemap.ts create mode 100644 app/test-stepper/page.tsx create mode 100644 components.json create mode 100644 content/privacy-policy/en.mdx create mode 100644 content/privacy-policy/fr.mdx create mode 100644 content/sales-terms/en.mdx create mode 100644 content/sales-terms/fr.mdx create mode 100644 content/terms/en.mdx create mode 100644 content/terms/fr.mdx create mode 100644 data/sample-exercises.csv create mode 100644 emails/ContactSupportEmail.tsx create mode 100644 emails/DeleteAccountEmail.tsx create mode 100644 emails/ResetPasswordEmail.tsx create mode 100644 emails/SubscriptionDowngradeEmail.tsx create mode 100644 emails/SubscriptionFailedEmail.tsx create mode 100644 emails/SuccessUpgradeEmail.tsx create mode 100644 emails/VerifyEmail.tsx create mode 100644 emails/utils/BaseEmailLayout.tsx create mode 100644 eslint.config.mjs create mode 100644 locales/client.ts create mode 100644 locales/en.ts create mode 100644 locales/fr.ts create mode 100644 locales/server.ts create mode 100644 middleware.ts create mode 100644 next.config.ts create mode 100644 nextauth.d.ts create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 postcss.config.mjs create mode 100644 prisma/migrations/20250414120436_init/migration.sql create mode 100644 prisma/migrations/20250414170807_add_feedbacks/migration.sql create mode 100644 prisma/migrations/20250414174246_rename_feedbacks/migration.sql create mode 100644 prisma/migrations/20250414232816_add_first_name_and_last_name/migration.sql create mode 100644 prisma/migrations/20250416160303_add_plans/migration.sql create mode 100644 prisma/migrations/20250416160502_map/migration.sql create mode 100644 prisma/migrations/20250505114841_add_user_role/migration.sql create mode 100644 prisma/migrations/20250505191954_admin_and_user_lowercase/migration.sql create mode 100644 prisma/migrations/20250610182024_add_exercises_and_attributes/migration.sql create mode 100644 prisma/migrations/20250610182815_add_exercise_enums/migration.sql create mode 100644 prisma/migrations/20250610184725_simplified_exercises/migration.sql create mode 100644 prisma/migrations/migration_lock.toml create mode 100644 prisma/schema.prisma create mode 100644 public/android-chrome-192x192.png create mode 100644 public/android-chrome-512x512.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/images/default-og-image_en.jpg create mode 100644 public/images/default-og-image_fr.jpg create mode 100644 public/images/equipment/band.png create mode 100644 public/images/equipment/barbell.png create mode 100644 public/images/equipment/bench.png create mode 100644 public/images/equipment/bodyweight.png create mode 100644 public/images/equipment/dumbbell.png create mode 100644 public/images/equipment/kettlebell.png create mode 100644 public/images/equipment/plate.png create mode 100644 public/images/equipment/pull-up-bar.png create mode 100644 public/images/favicon-16x16.png create mode 100644 public/images/favicon-32x32.png create mode 100644 public/images/favicon.ico create mode 100644 public/images/placeholders/coach-avatar.png create mode 100644 public/images/placeholders/no-image.jpg create mode 100644 public/logo.png create mode 100644 public/scripts/pixel.js create mode 100644 scripts/import-exercises-with-attributes.ts create mode 100644 src/components/FacebookPixel.tsx create mode 100644 src/components/svg/BrokenLink.tsx create mode 100644 src/components/svg/Calendly.tsx create mode 100644 src/components/svg/CircleSvg.tsx create mode 100644 src/components/svg/DotPattern.tsx create mode 100644 src/components/svg/GoogleSvg.tsx create mode 100644 src/components/svg/IconCheckboxCheck.tsx create mode 100644 src/components/svg/LogoSvg.tsx create mode 100644 src/components/svg/UnderlineSvg.tsx create mode 100644 src/components/svg/VerifiedBadge.tsx create mode 100644 src/components/svg/Youtube.tsx create mode 100644 src/components/ui/404-page-not-found.tsx create mode 100644 src/components/ui/Bento.tsx create mode 100644 src/components/ui/ToastSonner.tsx create mode 100644 src/components/ui/accordion.tsx create mode 100644 src/components/ui/alert-dialog.tsx create mode 100644 src/components/ui/alert.tsx create mode 100644 src/components/ui/animated-button/ShinyButton.tsx create mode 100644 src/components/ui/aspect-ratio.tsx create mode 100644 src/components/ui/avatar.tsx create mode 100644 src/components/ui/badge.tsx create mode 100644 src/components/ui/bottom-sheet-vaul.tsx create mode 100644 src/components/ui/bottom-sheet.tsx create mode 100644 src/components/ui/button.tsx create mode 100644 src/components/ui/card-styled.tsx create mode 100644 src/components/ui/card.tsx create mode 100644 src/components/ui/carousel.tsx create mode 100644 src/components/ui/color-picker.tsx create mode 100644 src/components/ui/customer-carousel.tsx create mode 100644 src/components/ui/dialog-stack.tsx create mode 100644 src/components/ui/dialog.tsx create mode 100644 src/components/ui/divider.tsx create mode 100644 src/components/ui/dropdown-menu.tsx create mode 100644 src/components/ui/faq-chat-accordion.tsx create mode 100644 src/components/ui/form.tsx create mode 100644 src/components/ui/hover-card.tsx create mode 100644 src/components/ui/input-password-strength.tsx create mode 100644 src/components/ui/input.tsx create mode 100644 src/components/ui/iphone-mockup.tsx create mode 100644 src/components/ui/label.tsx create mode 100644 src/components/ui/link.tsx create mode 100644 src/components/ui/loader.tsx create mode 100644 src/components/ui/moving-border.tsx create mode 100644 src/components/ui/navigation-menu.tsx create mode 100644 src/components/ui/next-top-loader.tsx create mode 100644 src/components/ui/pagination.tsx create mode 100644 src/components/ui/particles.tsx create mode 100644 src/components/ui/phone-frame-preview.tsx create mode 100644 src/components/ui/popover.tsx create mode 100644 src/components/ui/radio-group.tsx create mode 100644 src/components/ui/scroll-area.tsx create mode 100644 src/components/ui/select.tsx create mode 100644 src/components/ui/separator.tsx create mode 100644 src/components/ui/sheet.tsx create mode 100644 src/components/ui/shine-border.tsx create mode 100644 src/components/ui/skeleton.tsx create mode 100644 src/components/ui/slider.tsx create mode 100644 src/components/ui/sonner.tsx create mode 100644 src/components/ui/switch.tsx create mode 100644 src/components/ui/table.tsx create mode 100644 src/components/ui/tabs.tsx create mode 100644 src/components/ui/textarea.tsx create mode 100644 src/components/ui/theme-provider.tsx create mode 100644 src/components/ui/tiptap-editor.tsx create mode 100644 src/components/ui/title-with-dot.tsx create mode 100644 src/components/ui/toast.tsx create mode 100644 src/components/ui/toaster.tsx create mode 100644 src/components/ui/tooltip.tsx create mode 100644 src/components/ui/typography.tsx create mode 100644 src/components/ui/use-toast.ts create mode 100644 src/components/utils/ErrorBoundaries.tsx create mode 100644 src/components/utils/TailwindIndicator.tsx create mode 100644 src/entities/user/lib/display-name.ts create mode 100644 src/entities/user/model/get-server-session-user.ts create mode 100644 src/entities/user/model/get-users.actions.ts create mode 100644 src/entities/user/model/update-user.action.ts create mode 100644 src/entities/user/model/useCurrentSession.ts create mode 100644 src/entities/user/model/useCurrentUser.ts create mode 100644 src/entities/user/schemas/get-user.schema.ts create mode 100644 src/entities/user/schemas/update-user.schema.ts create mode 100644 src/entities/user/types/session-user.ts create mode 100644 src/entities/user/ui/profile-image-upload-form.tsx create mode 100644 src/env.ts create mode 100644 src/features/admin/layout/admin-sidebar/ui/admin-sidebar.tsx create mode 100644 src/features/admin/users/list/ui/page-link.tsx create mode 100644 src/features/admin/users/list/ui/users-table.tsx create mode 100644 src/features/auth/forgot-password/forgot-password.schema.ts create mode 100644 src/features/auth/forgot-password/model/useForgotPassword.tsx create mode 100644 src/features/auth/forgot-password/ui/forgot-password-form.tsx create mode 100644 src/features/auth/lib/auth-client.ts create mode 100644 src/features/auth/lib/better-auth.ts create mode 100644 src/features/auth/model/useLogout.ts create mode 100644 src/features/auth/reset-password/model/useResetPassword.ts create mode 100644 src/features/auth/reset-password/schema/reset-password.schema.ts create mode 100644 src/features/auth/reset-password/ui/reset-password-form.tsx create mode 100644 src/features/auth/signin/model/useSignIn.ts create mode 100644 src/features/auth/signin/schema/signin.schema.ts create mode 100644 src/features/auth/signin/ui/CredentialsLoginForm.tsx create mode 100644 src/features/auth/signup/model/signup.action.ts create mode 100644 src/features/auth/signup/model/useSignUp.ts create mode 100644 src/features/auth/signup/schema/signup.schema.ts create mode 100644 src/features/auth/signup/ui/signup-form.tsx create mode 100644 src/features/auth/ui/AuthButtonServer.tsx create mode 100644 src/features/auth/ui/LoggedInButton.tsx create mode 100644 src/features/auth/ui/ProviderButton.tsx create mode 100644 src/features/auth/ui/SignInButton.tsx create mode 100644 src/features/auth/ui/SignUpButton.tsx create mode 100644 src/features/auth/verify-email/constants.ts create mode 100644 src/features/auth/verify-email/model/useResendEmail.ts create mode 100644 src/features/auth/verify-email/ui/verify-email-page.tsx create mode 100644 src/features/consent-banner/model/tracking-consent.action.ts create mode 100644 src/features/consent-banner/schema/tracking-consent.schema.ts create mode 100644 src/features/consent-banner/ui/consent-banner.tsx create mode 100644 src/features/contact-feedback/model/contact-feedback.action.ts create mode 100644 src/features/contact-feedback/model/contact-feedback.schema.ts create mode 100644 src/features/contact-feedback/ui/ReviewInput.tsx create mode 100644 src/features/contact-feedback/ui/contact-feedback-popover.tsx create mode 100644 src/features/contact/support/ContactSupportDialog.tsx create mode 100644 src/features/contact/support/contact-support.action.ts create mode 100644 src/features/contact/support/contact-support.schema.ts create mode 100644 src/features/dialogs-provider/DialogProvider.tsx create mode 100644 src/features/dialogs-provider/DialogProviderDialog.tsx create mode 100644 src/features/email/EmailForm.tsx create mode 100644 src/features/email/EmailFormSection.tsx create mode 100644 src/features/email/email.action.ts create mode 100644 src/features/email/email.schema.ts create mode 100644 src/features/form/SubmitButton.tsx create mode 100644 src/features/layout/Footer.tsx create mode 100644 src/features/layout/Header.tsx create mode 100644 src/features/layout/authenticated-header.tsx create mode 100644 src/features/layout/model/use-sidebar.store.tsx create mode 100644 src/features/layout/nav-link.tsx create mode 100644 src/features/layout/page-heading.tsx create mode 100644 src/features/layout/useSidebarToggle.ts create mode 100644 src/features/legal/FloatingLegalFooter.tsx create mode 100644 src/features/settings/edit-profile/model/edit-profile.action.ts create mode 100644 src/features/settings/edit-profile/schema/edit-profile.schema.ts create mode 100644 src/features/settings/edit-profile/ui/edit-profile-form.tsx create mode 100644 src/features/settings/update-password/lib/hash.ts create mode 100644 src/features/settings/update-password/lib/validate-password.ts create mode 100644 src/features/settings/update-password/model/update-password.action.ts create mode 100644 src/features/settings/update-password/model/update-password.schema.ts create mode 100644 src/features/settings/update-password/ui/password-form.tsx create mode 100644 src/features/theme/ThemeProviders.tsx create mode 100644 src/features/theme/ThemeToggle.tsx create mode 100644 src/features/user/ui/UserDropdown.tsx create mode 100644 src/features/workout-builder/index.ts create mode 100644 src/features/workout-builder/model/equipment-config.ts create mode 100644 src/features/workout-builder/model/use-workout-stepper.ts create mode 100644 src/features/workout-builder/types/index.ts create mode 100644 src/features/workout-builder/ui/equipment-selection.tsx create mode 100644 src/features/workout-builder/ui/stepper-header.tsx create mode 100644 src/features/workout-builder/ui/workout-stepper.tsx create mode 100644 src/hooks/use-media-query.ts create mode 100644 src/hooks/useBoolean.ts create mode 100644 src/index.d.ts create mode 100644 src/shared/api/createHandler.ts create mode 100644 src/shared/api/handlers.ts create mode 100644 src/shared/api/safe-actions.ts create mode 100644 src/shared/config/site-config.ts create mode 100644 src/shared/constants/cookies.ts create mode 100644 src/shared/constants/errors.ts create mode 100644 src/shared/constants/paths.ts create mode 100644 src/shared/constants/placeholders.ts create mode 100644 src/shared/constants/regexs.ts create mode 100644 src/shared/constants/screen.ts create mode 100644 src/shared/constants/social-platforms.tsx create mode 100644 src/shared/constants/success.ts create mode 100644 src/shared/hooks/use-clipboard.ts create mode 100644 src/shared/lib/analytics/client.tsx create mode 100644 src/shared/lib/analytics/events.ts create mode 100644 src/shared/lib/analytics/server.ts create mode 100644 src/shared/lib/facebook/FacebookPixelTest.tsx create mode 100644 src/shared/lib/facebook/fb-pixel.ts create mode 100644 src/shared/lib/guards.ts create mode 100644 src/shared/lib/location/eu-countries.ts create mode 100644 src/shared/lib/location/location.ts create mode 100644 src/shared/lib/logger.ts create mode 100644 src/shared/lib/mail/resend.ts create mode 100644 src/shared/lib/mail/sendEmail.ts create mode 100644 src/shared/lib/mdx/load-mdx.ts create mode 100644 src/shared/lib/prisma.ts create mode 100644 src/shared/lib/server-url.ts create mode 100644 src/shared/lib/utils.ts create mode 100644 src/shared/lib/youtube.ts create mode 100644 src/shared/schemas/url.ts create mode 100644 src/shared/styles/additional-styles/highlights.css create mode 100644 src/shared/styles/additional-styles/utility-patterns.css create mode 100644 src/shared/styles/dropdown-apple.css create mode 100644 src/shared/styles/globals.css create mode 100644 src/shared/types/next.ts create mode 100644 src/shared/types/storage.ts create mode 100644 src/widgets/404.tsx create mode 100644 src/widgets/language-selector/language-selector.tsx create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json diff --git a/.cursorrules b/.cursorrules new file mode 100644 index 0000000..9248ef6 --- /dev/null +++ b/.cursorrules @@ -0,0 +1,165 @@ +## 🧑‍💻 Development Guidelines + +This project follows **Next.js (App Router)** and is structured using **Feature-Sliced Design (FSD)** for modularity, scalability, and clear +separation of concerns. + +Use this prompt and coding standards to ensure consistency across the codebase: + +--- + +### 🔧 Code Style and Structure + +- Write concise, expressive, and idiomatic **TypeScript** +- Use **functional programming** patterns (avoid classes and side effects) +- Prefer **composition** over inheritance, and modularization over duplication +- Organize each `feature/`, `entity/`, or `widget/` with: + + - model/ → logic (React Query, actions, hooks) + - schema/ → Zod schemas for validation ui/ → client components (TSX) + - lib/ → pure helper functions + - types/ → interfaces & TS types + +- All external dependencies (**API**, `localStorage`, `Date`) must be **abstracted** in `shared/lib/` +- Avoid direct calls to: +- `fetch` → use actions or `shared/api/` +- `new Date()` → use `shared/lib/date` abstraction +- `localStorage` → wrap in `shared/lib/storage` + +--- + +### 🧠 Naming Conventions + +- Use `kebab-case` for **directories** (e.g. `features/auth/signup`) +- Use **named exports** (no default exports for components) +- Use descriptive names with **auxiliary verbs** (e.g. `isLoading`, `hasError`, `canSubmit`) +- Components: +- Pure UI: `src/components/ui/` +- Shared logic: `src/shared/lib/` +- Composition: `src/widgets/` + +--- + +### 📐 TypeScript Usage + +- Use `interface` over `type` for objects +- Avoid `enum`; use `as const` object maps instead +- Use `infer` and `z.infer` for accurate form types +- Types live in `types/` or colocated with usage + +--- + +### 📦 Feature Architecture + +**Keep React component logic inside the relevant feature:** + +features/auth/signup/ ├── model/ → useSignUp.ts, signup.action.ts ├── schema/ → signup.schema.ts ├── ui/ → signup-form.tsx + +If reusable between many features (e.g. `User`, `Link`, `Session`), move logic to `entities/`. + +--- + +### 🧪 Error Handling & Validation + +- Use **Zod** for schema validation +- Prefer early returns & guard clauses +- Use `ActionError` in server actions and handle them with `next-safe-action` +- Wrap React components in `ErrorBoundary` (or `shared/ui/ErrorBoundaries.tsx`) +- Display user-friendly errors via `toast()` or `` + +--- + +### 💅 UI & Styling + +- Use **Shadcn UI**, **Radix**, and **Tailwind CSS** with **mobile-first** responsive design +- Design theme: + + - **Minimal**, professional with a **slightly playful touch** + - Inspired by **Apple**, tailored to fitness coaches + - Emphasize visuals: badges, progress bars, illustrations + - Use `lucide-react` icons, subtle borders, hover feedback + - Avoid drop shadows; prefer light borders and soft hover effects + +- Animations: + + - Elegant and performant (use `framer-motion` if needed) + - Use `transition`, `duration-xxx`, and `ease-xxx` from Tailwind + +- UX Principles: + + - Clear hierarchy + - Responsive: no overflow, no overlap + - All buttons and interactive elements should provide feedback + - Use @tailwind.config.ts for the theme. + +- **UI Stack**: + + - **Shadcn UI**, **Radix UI**, and **Tailwind CSS** (mobile-first approach) + - Icons: **lucide-react** + +- **Design Language**: + + - 🎨 **Modern & minimalist**, inspired by **Apple’s design system**, with a **slightly more colorful palette** + - Interface should be **clean**, **cohesive**, and **functional** without sacrificing features + - Avoid drop shadows; prefer **subtle borders** where relevant + - Ensure a **clear visual hierarchy** and **intuitive navigation** + +- **Interactive Components**: + + - Buttons and inputs must be **elegant**, with **subtle visual feedback** (hover, click, validation) + - Use **addictive micro-interactions** sparingly to enhance engagement without clutter + +- **Animations**: + + - Use Tailwind’s built-in utilities: `transition`, `duration-xxx`, `ease-xxx` for basic transitions + - Use `framer-motion` for advanced animations only if necessary + - ✅ **Performance comes first**: animations must be smooth and lightweight + +- **Responsiveness**: + + - Fully responsive layout: **no overlapping**, **no overflow** + - Consistent behavior across all devices, from mobile to desktop + +- **User Experience**: + - All interactive elements must provide **clear visual feedback** + - Interfaces should remain **simple to navigate**, even when **feature-rich** + +--- + +### 🧱 Rendering & Performance + +- Favor **Server Components** (`RSC`) and SSR for pages and logic +- Limit `'use client'` usage — only where needed: + - form states, event listeners, animations +- Wrap all client components in `` with fallback +- Use dynamic import for non-critical UI (e.g. `Dialog`, `Chart`) +- Optimize media: + - Use **WebP** images with width/height + - Enable lazy loading where possible + +--- + +### 🔍 Data, Forms, Actions + +- Use `@tanstack/react-query` for client state +- Use `next-safe-action` for server mutations and queries +- All actions should: + - Have clear schema (`schema/`) + - Model expected errors with `ActionError` + - Return typed output + - Use the clientAction from `@/shared/api/safe-actions` +- Use `Form`, `FormField`, `FormMessage` from Shadcn for all forms + +--- + +### 🧭 Routing & Navigation + +- All routes defined in `app/`, avoid logic here +- Use constants in `shared/constants/paths.ts` +- For search parameters, use `nuqs` (`useQueryState`) — never manipulate `router.query` directly +- Follow Next.js App Router standards for layouts and segments + +--- + +- [Feature-Sliced Design](https://feature-sliced.design/) +- [Shadcn UI](https://ui.shadcn.com/) +- [Zod](https://zod.dev/) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ef6a52 --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..7d8c50d --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +public-hoist-pattern[]=*import-in-the-middle* +public-hoist-pattern[]=*require-in-the-middle* \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..768032c --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "plugins": ["prettier-plugin-sort-json"], + "printWidth": 140, + "proseWrap": "always", + "singleQuote": false +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..25fa621 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "typescript.tsdk": "node_modules/typescript/lib" +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..51126b3 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,34 @@ +### Review Process + +- All PRs require at least one review from a maintainer +- Address review feedback promptly +- Keep discussions constructive and respectful +- PRs will be merged using "Squash and merge" + +## Getting Help + +### Where to Ask Questions + +- **GitHub Discussions**: For general questions and ideas +- **GitHub Issues**: For bug reports and feature requests +- **Discord**: [Join our community](https://discord.gg/workout-cool) for real-time chat (incoming) + +### Resources + +- [Feature-Sliced Design](https://feature-sliced.design/) +- [Next.js Documentation](https://nextjs.org/docs) +- [Prisma Documentation](https://www.prisma.io/docs/) + +## Recognition + +Contributors are recognized in: + +- GitHub contributors list +- Project documentation +- Release notes for significant contributions + +Thank you for contributing to Workout Cool! 🏋️‍♂️💪 + +--- + +**Questions?** Feel free to open an issue or reach out to the maintainers. diff --git a/README.md b/README.md new file mode 100644 index 0000000..95c491d --- /dev/null +++ b/README.md @@ -0,0 +1,221 @@ +
+

Workout Cool

+

Modern fitness coaching platform with comprehensive exercise database

+

+Contributors +Forks +Stars +Issues +Languages +Repository Size +

+
+ +## About + +A comprehensive fitness coaching platform that allows trainers to manage their clients, create workout plans, track progress, and access a +vast exercise database with detailed instructions and video demonstrations. + +## Features + +- 🏋️ **Comprehensive Exercise Database** - Thousands of exercises with detailed descriptions, videos, and muscle targeting +- 👨‍🏫 **Coach Management** - Tools for fitness coaches to manage their clients +- 📊 **Progress Tracking** - Monitor client progress and workout statistics +- 🎯 **Custom Workouts** - Create personalized workout routines +- 🌐 **Multi-language Support** - English and French translations +- 📱 **Responsive Design** - Works seamlessly on desktop and mobile + +## Tech Stack + +- **Framework**: Next.js 14 with App Router +- **Database**: PostgreSQL with Prisma ORM +- **Authentication**: Better Auth +- **Language**: TypeScript +- **Architecture**: Feature-Sliced Design (FSD) + +## Quick Start + +### Prerequisites + +- Node.js 18+ +- PostgreSQL database +- pnpm (recommended) or npm + +### Installation + +1. **Clone the repository** + + ```bash + git clone https://github.com/mathiasbradiceanu/workout-cool.git + cd workout-cool + ``` + +2. **Install dependencies** + + ```bash + pnpm install + ``` + +3. **Set up environment variables** + + ```bash + cp .env.example .env + ``` + + Fill in your database URL and other required environment variables: + + ```env + DATABASE_URL="postgresql://username:password@localhost:5432/workout_cool" + BETTER_AUTH_SECRET="your-secret-key" + # ... other variables + ``` + +4. **Set up the database** + + ```bash + npx prisma migrate deploy + npx prisma generate + ``` + +5. **Start the development server** + + ```bash + pnpm dev + ``` + +6. **Open your browser** Navigate to [http://localhost:3000](http://localhost:3000) + +## Exercise Database Import + +The project includes a comprehensive exercise database. To import a sample of exercises: + +### Prerequisites for Import + +1. **Prepare your CSV file** + +Your CSV should have these columns: + +``` +id,name,name_en,description,description_en,full_video_url,full_video_image_url,introduction,introduction_en,slug,slug_en,attribute_name,attribute_value +``` + +You can use the provided example. + +### Import Commands + +```bash +# Import exercises from a CSV file +pnpm run import:exercises-full /path/to/your/exercises.csv + +# Example with the provided sample data +pnpm run import:exercises-full ./data/sample-exercises.csv +``` + +### CSV Format Example + +```csv +id,name,name_en,description,description_en,full_video_url,full_video_image_url,introduction,introduction_en,slug,slug_en,attribute_name,attribute_value +157,"Fentes arrières à la barre","Barbell Reverse Lunges","

Stand upright...

","

Stand upright...

",https://youtube.com/...,https://img.youtube.com/...,slug-fr,slug-en,TYPE,STRENGTH +157,"Fentes arrières à la barre","Barbell Reverse Lunges","

Stand upright...

","

Stand upright...

",https://youtube.com/...,https://img.youtube.com/...,slug-fr,slug-en,PRIMARY_MUSCLE,QUADRICEPS +``` + +### Available Attribute Types + +- **TYPE**: `STRENGTH`, `CARDIO`, `PLYOMETRICS`, `STRETCHING`, etc. +- **PRIMARY_MUSCLE**: `QUADRICEPS`, `CHEST`, `BACK`, `SHOULDERS`, etc. +- **SECONDARY_MUSCLE**: Secondary muscle groups targeted +- **EQUIPMENT**: `BARBELL`, `DUMBBELL`, `BODYWEIGHT`, `MACHINE`, etc. +- **MECHANICS_TYPE**: `COMPOUND`, `ISOLATION` + +## Project Architecture + +This project follows **Feature-Sliced Design (FSD)** principles with Next.js App Router: + +src/ ├── app/ # Next.js pages, routes and layouts ├── processes/ # Business flows (multi-feature) ├── widgets/ # Composable UI with logic +(Sidebar, Header) ├── features/ # Business units (auth, exercise-management) ├── entities/ # Domain entities (user, exercise, workout) ├── +shared/ # Shared code (UI, lib, config, types) └── styles/ # Global CSS, themes + +### Architecture Principles + +- **Feature-driven**: Each feature is independent and reusable +- **Clear domain isolation**: `shared` → `entities` → `features` → `widgets` → `app` +- **Consistency**: Between business logic, UI, and data layers + +### Example Feature Structure + +features/ └── exercise-management/ ├── ui/ # UI components (ExerciseForm, ExerciseCard) ├── model/ # Hooks, state management (useExercises) +├── lib/ # Utilities (exercise-helpers) └── api/ # Server actions or API calls + +## Contributing + +We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details. + +### Development Workflow + +1. Fork the repository +2. Create a feature branch (`git checkout -b feature/amazing-feature`) +3. Make your changes +4. Commit your changes (`git commit -m 'feat: add amazing feature'`) +5. Push to the branch (`git push origin feature/amazing-feature`) +6. Open a Pull Request + +### Code Style + +- Follow TypeScript best practices +- Use Feature-Sliced Design architecture +- Write meaningful commit messages +- Add tests for new features + +## Deployment + +### Using Docker + +```bash +# Build the Docker image +docker build -t workout-cool . + +# Run the container +docker run -p 3000:3000 workout-cool +``` + +### Manual Deployment + +```bash +# Build the application +pnpm build + +# Run database migrations +export DATABASE_URL="your-production-db-url" +npx prisma migrate deploy + +# Start the production server +pnpm start +``` + +## Resources + +- [Feature-Sliced Design](https://feature-sliced.design/) +- [Next.js Documentation](https://nextjs.org/docs) +- [Prisma Documentation](https://www.prisma.io/docs/) +- [Better Auth](https://github.com/better-auth/better-auth) + +## License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. + +[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/) + +## Support + +If you found this project helpful, consider: + +- ⭐ Starring the repository +- 🐛 Reporting bugs +- 💡 Suggesting new features +- 🤝 Contributing to the codebase + +--- + +
+Made with ❤️ by fitness enthusiasts for the fitness community +
diff --git a/app/[locale]/(legal-and-payment)/layout.tsx b/app/[locale]/(legal-and-payment)/layout.tsx new file mode 100644 index 0000000..414b3b2 --- /dev/null +++ b/app/[locale]/(legal-and-payment)/layout.tsx @@ -0,0 +1,23 @@ +import { LayoutParams } from "@/shared/types/next"; +import { Footer } from "@/features/layout/Footer"; + +type LocaleParams = Record & { + locale: string; +}; + +export default function RouteLayout({ children, params: _ }: LayoutParams) { + return ( +
+ {/* Fixe l'espace sous le header flottant */} +
+ + {/* Contenu principal centré avec marge */} +
+
{children}
+
+ + {/* Pied de page */} +
+
+ ); +} diff --git a/app/[locale]/(legal-and-payment)/legal/privacy/page.tsx b/app/[locale]/(legal-and-payment)/legal/privacy/page.tsx new file mode 100644 index 0000000..1366cb4 --- /dev/null +++ b/app/[locale]/(legal-and-payment)/legal/privacy/page.tsx @@ -0,0 +1,30 @@ +import { getLocalizedMdx } from "@/shared/lib/mdx/load-mdx"; +import { Typography } from "@/components/ui/typography"; + +type PageProps = { + params: Promise<{ locale: string }>; +}; + +export default async function PrivacyPolicyPage({ params }: PageProps) { + const { locale } = await params; + const content = await getLocalizedMdx("privacy-policy", locale); + + return ( +
+
+
+ + {locale === "fr" ? "Politique de Confidentialité" : "Privacy Policy"} + +

+ {locale === "fr" + ? "Voici comment nous traitons vos données personnelles." + : "How we handle your personal data at Workout Cool."} +

+
+ +
{content}
+
+
+ ); +} diff --git a/app/[locale]/(legal-and-payment)/legal/sales-terms/page.tsx b/app/[locale]/(legal-and-payment)/legal/sales-terms/page.tsx new file mode 100644 index 0000000..69b111f --- /dev/null +++ b/app/[locale]/(legal-and-payment)/legal/sales-terms/page.tsx @@ -0,0 +1,33 @@ +import { getLocalizedMdx } from "@/shared/lib/mdx/load-mdx"; +import { Layout, LayoutContent } from "@/features/page/layout"; +import { Typography } from "@/components/ui/typography"; + +type PageProps = { + params: Promise<{ locale: string }>; +}; + +export default async function SalesTermsPage({ params }: PageProps) { + const { locale } = await params; + const content = await getLocalizedMdx("sales-terms", locale); + + return ( +
+
+
+ + {locale === "fr" ? "Conditions Générales de Vente" : "General Terms of Sale"} + +

+ {locale === "fr" + ? "Les conditions qui régissent l’achat d’un abonnement Workout Cool." + : "The terms governing the purchase of a Workout Cool subscription."} +

+
+ + + {content} + +
+
+ ); +} diff --git a/app/[locale]/(legal-and-payment)/legal/terms/page.tsx b/app/[locale]/(legal-and-payment)/legal/terms/page.tsx new file mode 100644 index 0000000..61eff89 --- /dev/null +++ b/app/[locale]/(legal-and-payment)/legal/terms/page.tsx @@ -0,0 +1,33 @@ +import { getLocalizedMdx } from "@/shared/lib/mdx/load-mdx"; +import { Layout, LayoutContent } from "@/features/page/layout"; +import { Typography } from "@/components/ui/typography"; + +type PageProps = { + params: Promise<{ locale: string }>; +}; + +export default async function TermsPage({ params }: PageProps) { + const { locale } = await params; + const content = await getLocalizedMdx("terms", locale); + + return ( +
+
+
+ + {locale === "fr" ? "Conditions Générales d’Utilisation" : "Terms of Use"} + +

+ {locale === "fr" + ? "Merci de lire attentivement ces conditions avant d’utiliser nos services." + : "Please read these terms carefully before using our services."} +

+
+ + + {content} + +
+
+ ); +} diff --git a/app/[locale]/(legal-and-payment)/payment/cancel/page.tsx b/app/[locale]/(legal-and-payment)/payment/cancel/page.tsx new file mode 100644 index 0000000..2331e53 --- /dev/null +++ b/app/[locale]/(legal-and-payment)/payment/cancel/page.tsx @@ -0,0 +1,30 @@ +import Link from "next/link"; + +import { buttonVariants } from "@/components/ui/button"; +import { Badge } from "@/components/ui/badge"; + +import { Layout, LayoutContent, LayoutDescription, LayoutHeader, LayoutTitle } from "@/features/page/layout"; + +export default function CancelPaymentPage() { + return ( + + + Payment failed + We're sorry, but we couldn't process your payment + + We encountered an issue processing your payment. +
Please check your payment details and try again.
+ If the problem persists, don't hesitate to contact us for assistance. +
+ We're here to help you resolve this smoothly. +
+
+ + + Home + + {/* */} + +
+ ); +} diff --git a/app/[locale]/(legal-and-payment)/payment/success/page.tsx b/app/[locale]/(legal-and-payment)/payment/success/page.tsx new file mode 100644 index 0000000..3800638 --- /dev/null +++ b/app/[locale]/(legal-and-payment)/payment/success/page.tsx @@ -0,0 +1,25 @@ +import Link from "next/link"; + +import { Layout, LayoutContent, LayoutDescription, LayoutHeader, LayoutTitle } from "@/features/page/layout"; +import { buttonVariants } from "@/components/ui/button"; + +export default function SuccessPaymentPage() { + return ( + <> + + + Thank You for Your Purchase! + + Your payment was successful! You now have full access to all our premium resources. If you have any questions, we're here + to help. + + + + + Get Started + + + + + ); +} diff --git a/app/[locale]/[slug]/layout.tsx b/app/[locale]/[slug]/layout.tsx new file mode 100644 index 0000000..b138a7a --- /dev/null +++ b/app/[locale]/[slug]/layout.tsx @@ -0,0 +1,15 @@ +import { ReactElement } from "react"; + +interface RootLayoutProps { + params: Promise<{ locale: string }>; + children: ReactElement; + } + +export default async function RootLayout({ children }: RootLayoutProps) { + + return ( +
+ {children} +
+ ) +} \ No newline at end of file diff --git a/app/[locale]/_manifest.ts b/app/[locale]/_manifest.ts new file mode 100644 index 0000000..0e27653 --- /dev/null +++ b/app/[locale]/_manifest.ts @@ -0,0 +1,22 @@ +import { getI18n } from "locales/server"; +import { SiteConfig } from "@/shared/config/site-config"; + +import type { MetadataRoute } from "next"; + +export default async function manifest(): Promise { + const t = await getI18n(); + + return { + name: SiteConfig.title, + short_name: SiteConfig.title, + description: SiteConfig.description, + start_url: "/", + display: "standalone", + background_color: "#fff", + theme_color: SiteConfig.brand.primary, + icons: [ + { src: "/android-chrome-192x192.png", sizes: "192x192", type: "image/png" }, + { src: "/android-chrome-512x512.png", sizes: "512x512", type: "image/png" }, + ], + }; +} diff --git a/app/[locale]/admin/[...catchAll]/not-found.tsx b/app/[locale]/admin/[...catchAll]/not-found.tsx new file mode 100644 index 0000000..38f294c --- /dev/null +++ b/app/[locale]/admin/[...catchAll]/not-found.tsx @@ -0,0 +1,5 @@ +import { Page404 } from "@/features/page/Page404"; + +export default function NotFoundPage() { + return ; +} diff --git a/app/[locale]/admin/[...catchAll]/page.tsx b/app/[locale]/admin/[...catchAll]/page.tsx new file mode 100644 index 0000000..621f524 --- /dev/null +++ b/app/[locale]/admin/[...catchAll]/page.tsx @@ -0,0 +1,5 @@ +import { Page404 } from "@/features/page/Page404"; + +export default function AdminCatchAll() { + return ; +} diff --git a/app/[locale]/admin/layout.tsx b/app/[locale]/admin/layout.tsx new file mode 100644 index 0000000..99ba60f --- /dev/null +++ b/app/[locale]/admin/layout.tsx @@ -0,0 +1,31 @@ +import { ReactElement } from "react"; +import { redirect } from "next/navigation"; +import { UserRole } from "@prisma/client"; + +import { AuthenticatedHeader } from "@/features/layout/authenticated-header"; +import { AdminSidebar } from "@/features/admin/layout/admin-sidebar/ui/admin-sidebar"; +import { serverRequiredUser } from "@/entities/user/model/get-server-session-user"; + +interface AdminLayoutProps { + params: Promise<{ locale: string }>; + children: ReactElement; +} + +export default async function AdminLayout({ children }: AdminLayoutProps) { + const user = await serverRequiredUser(); + + if (user.role !== UserRole.admin) { + redirect("/"); + } + + return ( +
+ + + +
+ {children} +
+
+ ); +} diff --git a/app/[locale]/admin/not-found.tsx b/app/[locale]/admin/not-found.tsx new file mode 100644 index 0000000..bc32150 --- /dev/null +++ b/app/[locale]/admin/not-found.tsx @@ -0,0 +1,5 @@ +import { Page404 } from "@/widgets/404"; + +export default function NotFoundPage() { + return ; +} diff --git a/app/[locale]/admin/users/page.tsx b/app/[locale]/admin/users/page.tsx new file mode 100644 index 0000000..8531c32 --- /dev/null +++ b/app/[locale]/admin/users/page.tsx @@ -0,0 +1,28 @@ +import { redirect } from "next/navigation"; +import { UserRole } from "@prisma/client"; + +import { UsersTable } from "@/features/admin/users/list/ui/users-table"; +import { getUsersAction } from "@/entities/user/model/get-users.actions"; +import { serverRequiredUser } from "@/entities/user/model/get-server-session-user"; + +export default async function AdminDashboardPage() { + const user = await serverRequiredUser(); + + // Rediriger si l'utilisateur n'est pas admin + if (user.role !== UserRole.admin) { + redirect("/"); + } + + // Récupérer les données initiales des utilisateurs + const initialUsers = await getUsersAction({ + page: 1, + limit: 10, + }); + + return ( +
+

Tableau de bord administrateur

+ +
+ ); +} diff --git a/app/[locale]/auth/(auth-layout)/forgot-password/page.tsx b/app/[locale]/auth/(auth-layout)/forgot-password/page.tsx new file mode 100644 index 0000000..62a0943 --- /dev/null +++ b/app/[locale]/auth/(auth-layout)/forgot-password/page.tsx @@ -0,0 +1,5 @@ +import { ForgotPasswordForm } from "@/features/auth/forgot-password/ui/forgot-password-form"; + +export default async function ForgotPasswordPage() { + return ; +} diff --git a/app/[locale]/auth/(auth-layout)/layout.tsx b/app/[locale]/auth/(auth-layout)/layout.tsx new file mode 100644 index 0000000..1d4324d --- /dev/null +++ b/app/[locale]/auth/(auth-layout)/layout.tsx @@ -0,0 +1,49 @@ +import { redirect } from "next/navigation"; +import Link from "next/link"; +import Image from "next/image"; +import { headers } from "next/headers"; + +import { getI18n } from "locales/server"; +import Logo from "@public/logo.png"; +import { paths } from "@/shared/constants/paths"; +import { auth } from "@/features/auth/lib/better-auth"; +import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; + +import type { LayoutParams } from "@/shared/types/next"; + +export default async function AuthLayout(props: LayoutParams<{}>) { + const t = await getI18n(); + + const headerStore = await headers(); + const searchParams = Object.fromEntries(new URLSearchParams(headerStore.get("searchParams") || "")); + const translatedError = t(`next_auth_errors.${searchParams.error}` as keyof typeof t); + + const user = await auth.api.getSession({ headers: headerStore }); + + if (user) { + redirect(`/${paths.dashboard}`); + } + + return ( + <> +
+
+ + workout cool logo + +
+ + {searchParams.error && ( + + {translatedError} + {t("signin_error_subtitle")} + + )} + +
+
{props.children}
+
+
+ + ); +} diff --git a/app/[locale]/auth/(auth-layout)/reset-password/page.tsx b/app/[locale]/auth/(auth-layout)/reset-password/page.tsx new file mode 100644 index 0000000..5702275 --- /dev/null +++ b/app/[locale]/auth/(auth-layout)/reset-password/page.tsx @@ -0,0 +1,5 @@ +import { ResetPasswordForm } from "@/features/auth/reset-password/ui/reset-password-form"; + +export default function ResetPasswordPage() { + return ; +} diff --git a/app/[locale]/auth/(auth-layout)/signin/page.tsx b/app/[locale]/auth/(auth-layout)/signin/page.tsx new file mode 100644 index 0000000..4c2de63 --- /dev/null +++ b/app/[locale]/auth/(auth-layout)/signin/page.tsx @@ -0,0 +1,19 @@ +import { cookies } from "next/headers"; + +import { isEU } from "@/shared/lib/location/location"; +import { Cookies } from "@/shared/constants/cookies"; +import { ConsentBanner } from "@/features/consent-banner/ui/consent-banner"; +import { CredentialsLoginForm } from "@/features/auth/signin/ui/CredentialsLoginForm"; + +export default async function AuthSignInPage() { + const cookiesStore = await cookies(); + const isEuropeanUnion = await isEU(); + const showTrackingConsent = isEuropeanUnion && !cookiesStore.has(Cookies.TrackingConsent); + + return ( + <> + + {showTrackingConsent && } + + ); +} diff --git a/app/[locale]/auth/(auth-layout)/signup/page.tsx b/app/[locale]/auth/(auth-layout)/signup/page.tsx new file mode 100644 index 0000000..5815637 --- /dev/null +++ b/app/[locale]/auth/(auth-layout)/signup/page.tsx @@ -0,0 +1,38 @@ +import Link from "next/link"; + +import { getI18n } from "locales/server"; +import { SignUpForm } from "@/features/auth/signup/ui/signup-form"; + +export const metadata = { + title: "Sign Up - Workout.cool", + description: "Créez votre compte pour commencer", +}; + +export default async function AuthSignUpPage() { + const t = await getI18n(); + + return ( +
+
+

{t("register_title")}

+

{t("register_description")}

+
+ + + +
+

+ {t("register_terms")}{" "} + + {t("register_privacy")} + {" "} + {t("register_privacy_link")}{" "} + + {t("register_privacy_link_2")} + + . +

+
+
+ ); +} diff --git a/app/[locale]/auth/error.tsx b/app/[locale]/auth/error.tsx new file mode 100644 index 0000000..fddb404 --- /dev/null +++ b/app/[locale]/auth/error.tsx @@ -0,0 +1,27 @@ +"use client"; + +import { useEffect } from "react"; + +import { logger } from "@/shared/lib/logger"; +import { Card, CardFooter, CardHeader, CardTitle } from "@/components/ui/card"; +import { Button } from "@/components/ui/button"; + +import type { ErrorParams } from "@/shared/types/next"; + +export default function RouteError({ error, reset }: ErrorParams) { + useEffect(() => { + // Log the error to an error reporting service + logger.error(error); + }, [error]); + + return ( + + + Sorry, something went wrong. Please try again later. + + + + + + ); +} diff --git a/app/[locale]/auth/error/page.tsx b/app/[locale]/auth/error/page.tsx new file mode 100644 index 0000000..c4ee678 --- /dev/null +++ b/app/[locale]/auth/error/page.tsx @@ -0,0 +1,24 @@ +import Link from "next/link"; + +import { Card, CardDescription, CardFooter, CardHeader, CardTitle } from "@/components/ui/card"; +import { buttonVariants } from "@/components/ui/button"; + +export default async function AuthErrorPage({ params }: { params: Promise<{ error: string }> }) { + const result = await params; + + return ( +
+ + + Error + {result.error} + + + + Home + + + +
+ ); +} diff --git a/app/[locale]/auth/layout.tsx b/app/[locale]/auth/layout.tsx new file mode 100644 index 0000000..9143d65 --- /dev/null +++ b/app/[locale]/auth/layout.tsx @@ -0,0 +1,3 @@ +export default function AuthLayout({ children }: { children: React.ReactNode }) { + return <>{children}; +} diff --git a/app/[locale]/auth/signout/page.tsx b/app/[locale]/auth/signout/page.tsx new file mode 100644 index 0000000..01a2aff --- /dev/null +++ b/app/[locale]/auth/signout/page.tsx @@ -0,0 +1,3 @@ +export default function AuthSignOutPage() { + return
AuthSignOutPage
; +} diff --git a/app/[locale]/auth/verify-email/layout.tsx b/app/[locale]/auth/verify-email/layout.tsx new file mode 100644 index 0000000..ae17311 --- /dev/null +++ b/app/[locale]/auth/verify-email/layout.tsx @@ -0,0 +1,21 @@ +import { ReactElement } from "react"; +import { redirect } from "next/navigation"; + +import { getServerUrl } from "@/shared/lib/server-url"; +import { paths } from "@/shared/constants/paths"; +import { serverRequiredUser } from "@/entities/user/model/get-server-session-user"; + +interface RootLayoutProps { + params: Promise<{ locale: string }>; + children: ReactElement; +} + +export default async function RootLayout({ children }: RootLayoutProps) { + const auth = await serverRequiredUser(); + + if (auth.emailVerified) { + redirect(`${getServerUrl()}/${paths.dashboard}`); + } + + return
{children}
; +} diff --git a/app/[locale]/auth/verify-email/page.tsx b/app/[locale]/auth/verify-email/page.tsx new file mode 100644 index 0000000..38bc0b6 --- /dev/null +++ b/app/[locale]/auth/verify-email/page.tsx @@ -0,0 +1,7 @@ +"use client"; + +import { VerifyEmailPage } from "@/features/auth/verify-email/ui/verify-email-page"; + +export default function VerifyEmailRootPage() { + return ; +} diff --git a/app/[locale]/auth/verify-request/page.tsx b/app/[locale]/auth/verify-request/page.tsx new file mode 100644 index 0000000..a0515b2 --- /dev/null +++ b/app/[locale]/auth/verify-request/page.tsx @@ -0,0 +1,33 @@ +import Image from "next/image"; + +import { SiteConfig } from "@/shared/config/site-config"; +import { Typography } from "@/components/ui/typography"; +import { Card, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; + +interface VerifyRequestPageParams { + params: Promise>; + searchParams: Promise<{ [key: string]: string | string[] | undefined }>; +} + +export default async function AuthVerifyRequestPage({ params: _p, searchParams: _s }: VerifyRequestPageParams) { + return ( +
+
+ app icon + {SiteConfig.title} +
+
+ + + Almost There! + + { + "To complete the verification, head over to your email inbox. You'll find a magic link from us. Click on it, and you're all set!" + } + + + +
+
+ ); +} diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx new file mode 100644 index 0000000..61cbaf7 --- /dev/null +++ b/app/[locale]/layout.tsx @@ -0,0 +1,135 @@ +import Image from "next/image"; +import { Inter, Permanent_Marker } from "next/font/google"; +import { GeistSans } from "geist/font/sans"; +import { GeistMono } from "geist/font/mono"; + +import { cn } from "@/shared/lib/utils"; +import { getServerUrl } from "@/shared/lib/server-url"; +import { FB_PIXEL_ID } from "@/shared/lib/facebook/fb-pixel"; +import { SiteConfig } from "@/shared/config/site-config"; +import { Header } from "@/features/layout/Header"; +import { Footer } from "@/features/layout/Footer"; +import { TailwindIndicator } from "@/components/utils/TailwindIndicator"; +import { NextTopLoader } from "@/components/ui/next-top-loader"; +import FacebookPixel from "@/components/FacebookPixel"; + +import { Providers } from "./providers"; + +import type { ReactElement } from "react"; +import type { Metadata } from "next"; + +import "@/shared/styles/globals.css"; + +export const metadata: Metadata = { + title: SiteConfig.title, + description: SiteConfig.description, + metadataBase: new URL(getServerUrl()), +}; + +const inter = Inter({ + subsets: ["latin"], + variable: "--font-inter", + display: "swap", +}); + +const permanentMarker = Permanent_Marker({ + weight: "400", + subsets: ["latin"], + variable: "--font-permanent-marker", + display: "swap", +}); + +export const preferredRegion = ["fra1", "sfo1", "iad1"]; + +interface RootLayoutProps { + params: Promise<{ locale: string }>; + children: ReactElement; +} + +export default async function RootLayout({ params, children }: RootLayoutProps) { + const { locale } = await params; + + return ( + <> + + + + + + {/* SEO */} + + + + {/* Favicon */} + + + + + + {/* Open Graph */} + + + + + + + {/* Twitter */} + + + + + + + {/* Canonical */} + + + {/* Open Graph Locale */} + + + + + + + + + + + + {/* Main Card Container */} +
+
+
+
{children}
+
+
+
+ + + +
+ + + + ); +} diff --git a/app/[locale]/not-found.tsx b/app/[locale]/not-found.tsx new file mode 100644 index 0000000..bc32150 --- /dev/null +++ b/app/[locale]/not-found.tsx @@ -0,0 +1,5 @@ +import { Page404 } from "@/widgets/404"; + +export default function NotFoundPage() { + return ; +} diff --git a/app/[locale]/onboarding/layout.tsx b/app/[locale]/onboarding/layout.tsx new file mode 100644 index 0000000..f950622 --- /dev/null +++ b/app/[locale]/onboarding/layout.tsx @@ -0,0 +1,7 @@ +import { LayoutParams } from "@/shared/types/next"; + +export default async function OnboardingLayout(props: LayoutParams<{}>) { + // TODO: add onboarding logic + + return props.children; +} diff --git a/app/[locale]/onboarding/page.tsx b/app/[locale]/onboarding/page.tsx new file mode 100644 index 0000000..280261e --- /dev/null +++ b/app/[locale]/onboarding/page.tsx @@ -0,0 +1,7 @@ +export default async function OnboardingPage() { + return ( +
+
Onboarding
+
+ ); +} diff --git a/app/[locale]/page.tsx b/app/[locale]/page.tsx new file mode 100644 index 0000000..ca05075 --- /dev/null +++ b/app/[locale]/page.tsx @@ -0,0 +1,15 @@ +import React from "react"; + +import { getI18n } from "locales/server"; +import { WorkoutStepper } from "@/features/workout-builder"; +import { serverAuth } from "@/entities/user/model/get-server-session-user"; + +export default async function HomePage() { + const user = await serverAuth(); + const t = await getI18n(); + return ( +
+ +
+ ); +} diff --git a/app/[locale]/providers.tsx b/app/[locale]/providers.tsx new file mode 100644 index 0000000..01c270b --- /dev/null +++ b/app/[locale]/providers.tsx @@ -0,0 +1,41 @@ +"use client"; + +import { NuqsAdapter } from "nuqs/adapters/next/app"; +import PlausibleProvider from "next-plausible"; +import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; + +import { I18nProviderClient } from "locales/client"; +import { AnalyticsProvider } from "@/shared/lib/analytics/client"; +import { SiteConfig } from "@/shared/config/site-config"; +import { DialogRenderer } from "@/features/dialogs-provider/DialogProvider"; +import { ToastSonner } from "@/components/ui/ToastSonner"; +import { Toaster } from "@/components/ui/toaster"; +import { ThemeProvider } from "@/components/ui/theme-provider"; + +import type { PropsWithChildren } from "react"; + +const queryClient = new QueryClient(); + +export const Providers = ({ children, locale }: PropsWithChildren<{ locale: string }>) => { + return ( + <> + + + + + + + + + + + {children} + + + + + + + ); +}; diff --git a/app/api/auth/[...all]/route.ts b/app/api/auth/[...all]/route.ts new file mode 100644 index 0000000..48f04bc --- /dev/null +++ b/app/api/auth/[...all]/route.ts @@ -0,0 +1,5 @@ +import { toNextJsHandler } from "better-auth/next-js"; + +import { auth } from "@/features/auth/lib/better-auth"; + +export const { POST, GET } = toNextJsHandler(auth); diff --git a/app/api/webhooks/resend/route.ts b/app/api/webhooks/resend/route.ts new file mode 100644 index 0000000..ee4cf85 --- /dev/null +++ b/app/api/webhooks/resend/route.ts @@ -0,0 +1,38 @@ +import { z } from "zod"; +import { NextResponse } from "next/server"; + +import { logger } from "@/shared/lib/logger"; + +import type { NextRequest } from "next/server"; + +const StripeWebhookSchema = z.object({ + type: z.string(), + created_at: z.string(), + data: z.any(), +}); + +/** + * Resends webhooks + * + * @docs How it work https://resend.com/docs/dashboard/webhooks/introduction + * @docs Event type https://resend.com/docs/dashboard/webhooks/event-types + */ +export const POST = async (req: NextRequest) => { + const body = await req.json(); + + const event = StripeWebhookSchema.parse(body); + + switch (event.type) { + case "email.complained": + logger.warn("Email complained", event.data); + break; + case "email.bounced": + logger.warn("Email bounced", event.data); + break; + } + + NextResponse.redirect(""); + return NextResponse.json({ + ok: true, + }); +}; diff --git a/app/robots.txt b/app/robots.txt new file mode 100644 index 0000000..ba9c02f --- /dev/null +++ b/app/robots.txt @@ -0,0 +1,6 @@ +User-agent: * +Disallow: /admin +Disallow: /api/ +Disallow: /dashboard/ +Disallow: /preview/ +Sitemap: https://www.workout.cool/sitemap.xml diff --git a/app/sitemap.ts b/app/sitemap.ts new file mode 100644 index 0000000..20db851 --- /dev/null +++ b/app/sitemap.ts @@ -0,0 +1,20 @@ +import { MetadataRoute } from "next/types"; + +export default async function sitemap(): Promise { + const staticRoutes = [ + { + url: "https://www.workout.cool", + lastModified: new Date().toISOString(), + }, + { + url: "https://www.workout.cool/auth/signin", + lastModified: new Date().toISOString(), + }, + { + url: "https://www.workout.cool/auth/signup", + lastModified: new Date().toISOString(), + }, + ]; + + return staticRoutes; +} diff --git a/app/test-stepper/page.tsx b/app/test-stepper/page.tsx new file mode 100644 index 0000000..c073ef0 --- /dev/null +++ b/app/test-stepper/page.tsx @@ -0,0 +1,12 @@ +import { WorkoutStepper } from "@/features/workout-builder"; + +export default function TestStepperPage() { + return ( +
+
+

Workout Builder Test

+ +
+
+ ); +} diff --git a/components.json b/components.json new file mode 100644 index 0000000..d256d35 --- /dev/null +++ b/components.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "aliases": { + "components": "@/components", + "utils": "@/shared/lib/utils", + "ui": "@/components/ui", + "lib": "@/shared/lib", + "hooks": "@/hooks" + }, + "iconLibrary": "lucide", + "rsc": true, + "style": "new-york", + "tailwind": { + "config": "tailwind.config.ts", + "css": "app/css/globals.css", + "baseColor": "neutral", + "cssVariables": true, + "prefix": "" + }, + "tsx": true +} diff --git a/content/privacy-policy/en.mdx b/content/privacy-policy/en.mdx new file mode 100644 index 0000000..8cacacf --- /dev/null +++ b/content/privacy-policy/en.mdx @@ -0,0 +1,69 @@ +# WorkoutCool Privacy Policy + +## 1. Introduction + +At **WorkoutCool**, we take our users' privacy very seriously. +This Privacy Policy explains how we collect, use, and protect your personal data. +By using our services, you agree to the practices described below. + +## 2. Information We Collect + +**Personal Information**: When you sign up, we collect your name, email address, and other details related to your activity on WorkoutCool. + +**Usage Data**: We track interactions with WorkoutCool pages, including clicks, views, and link performance. + +**Cookies**: We use cookies to enhance your user experience and monitor usage. + +## 3. How We Use Your Information + +- **Service delivery**: To provide, maintain, and improve our services. +- **Communication**: To send you updates, notifications, or marketing content (if you have consented). +- **Analytics**: To understand how our services are used and improve them continuously. + +## 4. Sharing Data with Third Parties + +We may share aggregated or anonymized data with trusted partners for marketing, analytics, or product improvement purposes. +No personal data is sold or shared without your explicit consent. + +## 5. Data Retention + +Your data is retained for as long as your account is active or necessary to provide our services. +Some data may be archived for legal, administrative, or security purposes. + +## 6. Protecting Your Data + +We implement industry-standard security measures to prevent unauthorized access, alteration, or deletion of your data. + +## 7. Your Rights + +You have the following rights: + +- **Access**: Request a copy of your personal data. +- **Correction**: Request the correction of inaccurate or incomplete data. +- **Deletion**: Request the deletion of your data, unless retention is required by law. + +## 8. Cookies + +WorkoutCool uses cookies to: + +- enhance navigation, +- track performance, +- personalize displayed content. + +You can disable cookies in your browser settings. + +## 9. Advertising & Compliance + +We comply with advertising policies from platforms like Facebook and Google. +We do not use your data in a way that violates their guidelines or applicable regulations. + +## 10. Changes to This Policy + +This Privacy Policy may be updated from time to time. +We encourage you to review it regularly. +Continued use of our services implies acceptance of any changes. + +## 11. Contact + +If you have any questions or concerns regarding this policy, feel free to contact us at: +**[hello@WorkoutCool.io](mailto:hello@WorkoutCool.io)** diff --git a/content/privacy-policy/fr.mdx b/content/privacy-policy/fr.mdx new file mode 100644 index 0000000..489e6b9 --- /dev/null +++ b/content/privacy-policy/fr.mdx @@ -0,0 +1,69 @@ +# Politique de Confidentialité WorkoutCool + +## 1. Introduction + +Chez **WorkoutCool**, nous accordons une grande importance à la confidentialité de nos utilisateurs. +Cette Politique de Confidentialité décrit la manière dont nous collectons, utilisons et protégeons vos informations personnelles. +En utilisant nos services, vous acceptez les pratiques décrites ci-dessous. + +## 2. Informations que nous collectons + +**Informations personnelles** : lorsque vous vous inscrivez, nous collectons votre nom, votre adresse e-mail, et d’autres informations liées à votre activité sur WorkoutCool. + +**Données d’utilisation** : nous suivons les interactions avec les pages WorkoutCool, notamment les clics, les vues et les performances des liens. + +**Cookies** : nous utilisons des cookies pour améliorer votre expérience utilisateur et suivre les interactions. + +## 3. Utilisation de vos informations + +- **Prestation de service** : fournir, maintenir et améliorer nos services. +- **Communication** : vous envoyer des mises à jour, notifications ou contenus marketing (si vous y avez consenti). +- **Analyse** : comprendre l’utilisation de nos services et les améliorer en continu. + +## 4. Partage des données avec des tiers + +Nous pouvons partager certaines données agrégées ou anonymisées avec des partenaires de confiance à des fins de marketing, d’analyse ou d’amélioration produit. +Aucune donnée personnelle n’est vendue ou partagée sans votre consentement explicite. + +## 5. Conservation des données + +Vos données sont conservées tant que votre compte est actif ou nécessaires à la fourniture de nos services. +Certaines données peuvent être archivées à des fins légales, administratives ou de sécurité. + +## 6. Protection de vos données + +Nous mettons en œuvre des mesures de sécurité conformes aux standards de l’industrie pour prévenir l'accès, l'altération ou la suppression non autorisée de vos données. + +## 7. Vos droits + +Vous disposez des droits suivants : + +- **Accès** : demander une copie de vos données personnelles. +- **Rectification** : corriger des données inexactes ou incomplètes. +- **Suppression** : demander la suppression de vos données, sauf obligation légale de conservation. + +## 8. Cookies + +WorkoutCool utilise des cookies pour : + +- améliorer la navigation, +- suivre les performances, +- personnaliser le contenu affiché. + +Vous pouvez les désactiver dans les paramètres de votre navigateur. + +## 9. Publicité & conformité + +Nous respectons les politiques publicitaires des plateformes comme Facebook ou Google. +Nous n’utilisons pas vos données d’une manière contraire à leurs directives ou à la réglementation en vigueur. + +## 10. Modifications de cette politique + +Cette Politique de Confidentialité peut être modifiée. +Nous vous invitons à la consulter régulièrement. +L’utilisation continue de nos services vaut acceptation des modifications. + +## 11. Contact + +Pour toute question ou demande concernant cette politique, vous pouvez nous écrire à : +**[hello@WorkoutCool.io](mailto:hello@WorkoutCool.io)** diff --git a/content/sales-terms/en.mdx b/content/sales-terms/en.mdx new file mode 100644 index 0000000..fc9c683 --- /dev/null +++ b/content/sales-terms/en.mdx @@ -0,0 +1,93 @@ +# General Terms of Sale – WorkoutCool + +## ARTICLE 1: Purpose + +These terms govern the provision of services offered via the WorkoutCool platform (SaaS model). +By subscribing to a plan or using the WorkoutCool application, the Client fully and unconditionally agrees to these Terms of Sale, along with the Terms of Use and Privacy Policy. + +## ARTICLE 2: Definitions + +- **Subscriber**: any individual or entity who has subscribed to a paid plan. +- **Subscription**: a paid service granting access to specific features of the application. +- **Application**: the WorkoutCool web application (and mobile app when available). +- **Client**: the user of the platform, whether for personal or professional use. +- **Company**: refers to WorkoutCool, operated by Mathias BRADICEANU. + +## ARTICLE 3: Ordering and Activation + +Subscriptions are purchased online via WorkoutCool.io. +Access is activated after successful payment validation. +The Company reserves the right to refuse or cancel any order, especially in the case of suspected fraud, abuse, or violation of these terms. + +## ARTICLE 4: Pricing and Payment + +Subscriptions are billed in advance for the selected period (monthly, yearly, etc.). +Failure to pay will result in immediate suspension of access without notice. +Prices are shown in euros, inclusive of all applicable taxes. +Pricing may change at any time, but only future renewals will be affected. + +No refund will be issued in case of suspension due to breach of these terms. + +## ARTICLE 5: Duration, Renewal, Trial Period and Withdrawal + +Subscriptions are for a fixed term and renew automatically unless cancelled beforehand. +The Client may cancel at any time before the renewal date via their personal account. +A free 14-day trial is offered once per user. +Attempts to bypass this restriction (multiple accounts, false identities) may lead to immediate suspension and legal action. + +The right of withdrawal applies in accordance with Article L221-28 of the French Consumer Code, **unless the service is used during the trial period**. +Any withdrawal request must be sent to [support@WorkoutCool.io](mailto:support@WorkoutCool.io) or by registered mail to the Company's registered address. + +## ARTICLE 6: Client Obligations + +The Client agrees to: + +- Not share, transfer or sell access to their account +- Not exploit the trial period fraudulently +- Respect WorkoutCool’ intellectual property rights +- Avoid any action that harms the platform’s integrity or security +- Provide accurate and up-to-date billing and contact information +- Pay their subscription on time + +Any violation may result in suspension or deletion of the account without prior notice or compensation. + +## ARTICLE 7: Liability + +WorkoutCool shall not be liable for: + +- Internet-related issues or client-side technical problems +- Temporary unavailability due to maintenance +- Illegal or improper use of the service by third parties +- Data loss due to the Client's failure to back up their content + +No guarantee is made as to the suitability of the service for the Client’s specific needs. + +The Company may suspend, modify, or remove any service feature without obligation to compensate. + +## ARTICLE 8: Indemnification + +The Client agrees to indemnify and hold harmless WorkoutCool from any claim, loss, or liability arising from misuse, unlawful use, or breach of these terms, including legal and administrative fees. + +## ARTICLE 9: Changes to the Terms + +WorkoutCool reserves the right to update these Terms of Sale at any time. +The applicable version is the one available on the website at the time of the Client's order or renewal. +Clients are encouraged to consult the most recent version regularly. + +## ARTICLE 10: Force Majeure + +WorkoutCool shall not be held liable for any failure or delay caused by events beyond its reasonable control, such as: +natural disasters, pandemics, cyberattacks, outages, fire, war, strike, or any unforeseeable event. + +## ARTICLE 11: Proof and Archiving + +Digital records stored by WorkoutCool’ systems constitute valid proof of transactions and communications. +Invoices are available at any time in the user’s account. + +## ARTICLE 12: Contact – Complaints + +For questions, complaints, or issues, Clients can contact WorkoutCool: + +- By email: [support@WorkoutCool.io](mailto:support@WorkoutCool.io) +- By mail: Mathias BRADICEANU, Strada Fagului 40F, 077010 Afumați, Romania +- Through the in-app messaging system diff --git a/content/sales-terms/fr.mdx b/content/sales-terms/fr.mdx new file mode 100644 index 0000000..0db41de --- /dev/null +++ b/content/sales-terms/fr.mdx @@ -0,0 +1,94 @@ +# Conditions Générales de Vente – WorkoutCool + +## ARTICLE 1 : Objet + +Les présentes conditions régissent la fourniture des services proposés via la plateforme WorkoutCool (en mode SaaS). +En souscrivant à un abonnement ou en utilisant l'application WorkoutCool, le Client accepte pleinement et sans réserve les présentes conditions générales de vente, ainsi que les Conditions Générales d’Utilisation et la Politique de Confidentialité associées. + +## ARTICLE 2 : Définitions + +- **Abonné** : toute personne physique ou morale ayant souscrit à un abonnement payant. +- **Abonnement** : service donnant droit à l’accès à des fonctionnalités spécifiques de l'application, contre paiement. +- **Application** : l'application web (et mobile le cas échéant) mise à disposition par WorkoutCool. +- **Client** : utilisateur de la plateforme, qu’il soit à titre personnel ou professionnel. +- **Société** : désigne WorkoutCool, éditée par Mathias BRADICEANU. + +## ARTICLE 3 : Commande et activation + +La souscription se fait en ligne sur WorkoutCool.io. +L'accès est activé après validation du paiement. +La Société se réserve le droit de refuser ou d’annuler toute commande, notamment en cas de suspicion de fraude, d’utilisation abusive ou de non-respect des présentes conditions. + +## ARTICLE 4 : Conditions financières + +Les abonnements sont payants et facturés à l’avance pour la période choisie (mensuelle, annuelle…). +Tout défaut de paiement entraîne la suspension immédiate et sans préavis de l'accès au service. +Les prix sont indiqués en euros TTC, et peuvent être révisés à tout moment. +Toute modification tarifaire ne s’appliquera qu’aux renouvellements futurs. + +Aucun remboursement ne sera effectué en cas de suspension pour violation des présentes CGV. + +## ARTICLE 5 : Durée, reconduction, période d’essai et rétractation + +Les abonnements sont souscrits pour une durée déterminée, renouvelable tacitement. +Le Client peut résilier son abonnement à tout moment via son espace personnel, avant la date de reconduction. +Une seule période d’essai gratuite de 14 jours est autorisée par utilisateur. +Toute tentative de contournement (multi-comptes, fausse identité) pourra faire l’objet de poursuites. + +Le droit de rétractation s’applique selon l’article L221-28 du Code de la consommation, **sauf si le service a été pleinement utilisé pendant l’essai**. +Toute demande doit être adressée à [support@WorkoutCool.io](mailto:support@WorkoutCool.io), ou par courrier recommandé. + +## ARTICLE 6 : Obligations du Client + +Le Client s’engage à : + +- Ne pas céder ou partager son compte à des tiers +- Ne pas créer plusieurs comptes pour bénéficier à nouveau d’un essai gratuit +- Ne pas perturber le bon fonctionnement de la plateforme +- Respecter les droits de propriété intellectuelle de WorkoutCool +- Ne pas détourner l’utilisation du service à des fins illicites +- Renseigner des informations exactes et à jour +- Régler son abonnement dans les délais prévus + +Toute infraction autorise WorkoutCool à suspendre ou supprimer le compte, sans préavis ni indemnité. + +## ARTICLE 7 : Responsabilités + +WorkoutCool ne pourra être tenu responsable des interruptions de service liées à : + +- des maintenances techniques, +- des problèmes liés à Internet ou à l’environnement du Client, +- des intrusions ou failles de sécurité imputables à des tiers, +- des pertes de données non sauvegardées par le Client. + +Aucune garantie n’est donnée quant à l’adéquation du service aux besoins spécifiques du Client. + +La Société se réserve le droit de modifier, suspendre ou retirer tout ou partie du service, sans obligation d’indemnisation. + +## ARTICLE 8 : Indemnisation + +Le Client s'engage à indemniser WorkoutCool contre toute réclamation ou dommage résultant de l'utilisation fautive, illégale ou abusive du service, y compris les frais de défense et d’expertise. + +## ARTICLE 9 : Modifications contractuelles + +WorkoutCool peut modifier les présentes CGV à tout moment. +La version applicable est celle publiée au moment de la commande ou du renouvellement. +Le Client est invité à consulter régulièrement la dernière version disponible sur WorkoutCool.io. + +## ARTICLE 10 : Force majeure + +WorkoutCool ne pourra être tenu responsable d’un manquement à ses obligations en cas de force majeure : +catastrophe naturelle, épidémie, cyberattaque, panne réseau, incendie, guerre, grève, ou tout événement imprévisible échappant à son contrôle raisonnable. + +## ARTICLE 11 : Preuve et archivage + +Les données enregistrées dans les systèmes informatiques de WorkoutCool constituent la preuve des commandes et des paiements. +Les factures sont disponibles dans l’espace client et peuvent être téléchargées à tout moment. + +## ARTICLE 12 : Contact – Réclamation + +Pour toute question ou réclamation : + +- Par email : [support@WorkoutCool.io](mailto:support@WorkoutCool.io) +- Par courrier : Mathias BRADICEANU, Strada Fagului 40F, 077010 Afumați, Roumanie +- Via la messagerie interne de l’Application diff --git a/content/terms/en.mdx b/content/terms/en.mdx new file mode 100644 index 0000000..8058420 --- /dev/null +++ b/content/terms/en.mdx @@ -0,0 +1,119 @@ +# Terms of Use – WorkoutCool + +These Terms of Use ("Terms") define the conditions for accessing and using the services provided by the WorkoutCool platform and govern the rights and obligations between WorkoutCool and its users. + +_Last updated: May 3, 2025_ + +## ARTICLE 1: Legal Notice + +The website WorkoutCool.io is published by **Mathias BRADICEANU**. + +The website is hosted by **Vercel Inc.**, 440 N Barranca Ave #4133, Covina, CA 91723, USA. + +## ARTICLE 2: Access to the Platform + +WorkoutCool allows users to: + +- Create and manage a personalized bio link page +- Add links, media, and modules to a public profile +- Monitor engagement statistics (clicks, views, etc.) +- Customize appearance and content layout + +Some features are available only through a paid subscription or during a free trial. + +Access to the platform is provided “as is” and does not constitute any obligation of result. + +## ARTICLE 3: Data Collection + +WorkoutCool collects and stores personal data entered by users or automatically generated while using the service. +This includes names, email addresses, links, page content, and usage statistics. +Users may request access, correction, or deletion of their personal data, subject to legal obligations. + +## ARTICLE 4: Intellectual Property + +All elements of the WorkoutCool platform (text, images, code, logo, interface, web components, etc.) are protected by intellectual property law and remain the exclusive property of WorkoutCool or its partners. +Any reproduction, distribution, or commercial use without prior written consent is strictly prohibited. + +User accounts and hosted content are non-transferable and subject to WorkoutCool’ approval. + +## ARTICLE 5: User Responsibilities + +Users agree to: + +- Provide accurate and lawful information +- Not share illegal, offensive, defamatory, or misleading content +- Secure their account and credentials +- Comply with applicable laws and community standards +- Not use the platform for fraudulent, unauthorized commercial, or competitive purposes + +In case of violation, WorkoutCool may suspend or delete the offending account without notice or refund. + +## ARTICLE 6: Availability and Disclaimer of Warranty + +WorkoutCool makes every effort to provide a stable and secure service. +However, the platform is provided **without any express or implied warranty**, including but not limited to availability, performance, compatibility, or error-free operation. + +Technical support is not contractually guaranteed unless stated in a specific offer. + +Users are solely responsible for backing up their content and data. + +## ARTICLE 7: Limitation of Liability + +WorkoutCool shall not be held liable for any direct or indirect damages, including material or immaterial losses, arising from: + +- Service interruption +- Data loss or corruption +- Errors, delays, or technical failures +- Improper or illegal use of the platform by users or third parties + +If WorkoutCool is found liable, its responsibility is expressly limited to the amount of the last subscription payment made by the user. + +## ARTICLE 8: Suspension or Termination of Account + +WorkoutCool reserves the right to suspend or terminate any account: + +- In case of violation of these Terms +- In case of fraudulent or suspicious behavior +- In case of illegal or inappropriate content +- In case of excessive or abusive use of the service + +No refund will be issued in case of suspension or termination for breach of contract. + +## ARTICLE 9: Service Modifications + +WorkoutCool may modify its services, features, pricing, or access conditions at any time. +Users will be informed of major changes within a reasonable timeframe. +Continued use of the platform implies acceptance of such changes. + +## ARTICLE 10: External Links + +User-generated pages may contain links to third-party websites. +WorkoutCool is not responsible for the content, security, or performance of external websites. + +## ARTICLE 11: Reversibility + +In the event of account deletion or platform shutdown, users are responsible for exporting and securing their data beforehand. +WorkoutCool does not guarantee automated data portability to third-party services unless explicitly stated in a dedicated offer. + +## ARTICLE 12: Indemnification + +Users agree to defend, indemnify, and hold harmless WorkoutCool from any claims, liabilities, losses, damages, or expenses (including legal fees) arising from: + +- Violation of these Terms +- Content published via the platform +- Activities carried out through their account, even if unauthorized + +## ARTICLE 13: Contact + +For any questions regarding these Terms, you can contact us at: +**[support@WorkoutCool.io](mailto:support@WorkoutCool.io)** +or by postal mail to the publisher’s address listed in ARTICLE 1. + +## ARTICLE 14: Governing Law and Jurisdiction + +These Terms are governed by French law. +In the event of a dispute, the courts of **Mulhouse, France** shall have exclusive jurisdiction, unless otherwise required by consumer protection regulations. + +## ARTICLE 15: Force Majeure + +WorkoutCool shall not be held liable for failure to fulfill its obligations in the event of force majeure, including but not limited to: natural disaster, fire, flood, riot, war, pandemic, strike, cyberattack, infrastructure failure, or any other unforeseeable event beyond its control. diff --git a/content/terms/fr.mdx b/content/terms/fr.mdx new file mode 100644 index 0000000..70f16db --- /dev/null +++ b/content/terms/fr.mdx @@ -0,0 +1,113 @@ +# Conditions Générales d’Utilisation – WorkoutCool + +Les présentes Conditions Générales d’Utilisation (ci-après « CGU ») définissent les modalités d’accès et d’utilisation des services proposés par la plateforme WorkoutCool, ainsi que les droits et obligations entre WorkoutCool et ses utilisateurs. + +## ARTICLE 1 : Mentions légales + +Le site WorkoutCool.io est édité par **Mathias BRADICEANU** + +L’hébergement du site est assuré par **Vercel Inc.**, 440 N Barranca Ave #4133, Covina, CA 91723, États-Unis. + +## ARTICLE 2 : Accès à la plateforme + +La plateforme WorkoutCool permet : + +- La création et la gestion d’une page de lien en bio personnalisée +- L’ajout de liens, médias et modules à un profil public +- Le suivi des statistiques d’engagement (clics, vues, etc.) +- La personnalisation de l’apparence et l’organisation des éléments + +Certaines fonctionnalités sont accessibles uniquement avec un abonnement payant ou pendant une période d’essai ou une période de promotion. + +L’accès à la plateforme est fourni « en l’état » et ne constitue en aucun cas une obligation de résultat. + +## ARTICLE 3 : Collecte des données + +WorkoutCool collecte et conserve les données saisies par les utilisateurs ou générées automatiquement lors de l’utilisation du service. +Cela inclut les noms, adresses e-mail, liens, contenus de page, et statistiques d’utilisation. +L’utilisateur peut à tout moment demander l’accès, la rectification ou la suppression de ses données, sous réserve des obligations légales. + +## ARTICLE 4 : Propriété intellectuelle + +L’ensemble des éléments de la plateforme WorkoutCool (textes, images, code, logo, interface, composants web, etc.) est protégé par le droit de la propriété intellectuelle et demeure la propriété exclusive de WorkoutCool ou de ses partenaires. +Toute reproduction, distribution ou utilisation commerciale sans autorisation écrite préalable est strictement interdite. + +Le compte utilisateur et ses contenus hébergés sur WorkoutCool ne sont pas transférables et restent soumis à l’approbation de la plateforme. + +## ARTICLE 5 : Responsabilités de l’utilisateur + +L’utilisateur s’engage à : + +- Fournir des informations exactes et licites +- Ne pas diffuser de contenus illégaux, offensants, diffamatoires ou trompeurs +- Protéger l’accès à son compte et à ses identifiants +- Respecter les lois en vigueur et les règles de bonne conduite +- Ne pas utiliser la plateforme à des fins frauduleuses, commerciales non autorisées ou concurrentielles + +En cas de non-respect, WorkoutCool se réserve le droit de suspendre ou de supprimer le compte concerné, sans préavis ni remboursement. + +## ARTICLE 6 : Disponibilité et limites de garantie + +WorkoutCool met tout en œuvre pour garantir un service stable et sécurisé. +Cependant, la plateforme est fournie **sans aucune garantie expresse ou implicite**, notamment en termes de disponibilité, de performance, de compatibilité ou d’absence d’erreur. + +Aucune assistance technique n’est due contractuellement, sauf mention contraire dans une offre spécifique. + +L’utilisateur est seul responsable de la sauvegarde de ses contenus et données. + +## ARTICLE 7 : Limitation de responsabilité + +WorkoutCool ne pourra être tenu responsable des dommages directs ou indirects, matériels ou immatériels, résultant notamment : + +- d’une interruption de service +- d’une perte de données ou de contenu +- d’une erreur, d’un retard ou d’une défaillance technique +- d’une utilisation non conforme ou illégale de la plateforme par un utilisateur ou un tiers + +La responsabilité de WorkoutCool, si elle venait à être engagée, serait expressément limitée au montant de la dernière mensualité effectivement payée. + +## ARTICLE 8 : Suspension ou suppression de compte + +WorkoutCool se réserve le droit de suspendre ou clôturer tout compte : + +- En cas de violation des présentes CGU +- En cas de comportement frauduleux ou suspect +- En cas de diffusion de contenus illicites ou contraires aux valeurs de la plateforme +- En cas d’utilisation excessive ou abusive du service + +Aucun remboursement ne pourra être exigé en cas de suspension ou de suppression liée à un manquement contractuel. + +## ARTICLE 9 : Évolutions du service + +WorkoutCool peut faire évoluer à tout moment ses services, fonctionnalités, tarifs ou conditions d’accès. +Ces évolutions peuvent être mises en œuvre sans préavis, sous réserve d’en informer les utilisateurs dans un délai raisonnable. + +La poursuite de l’utilisation de la plateforme vaut acceptation des modifications. + +## ARTICLE 10 : Liens externes + +Les pages créées sur WorkoutCool peuvent contenir des liens vers des sites tiers. +WorkoutCool ne peut être tenu responsable du contenu, de la sécurité ou du bon fonctionnement de ces sites externes. + +## ARTICLE 11 : Réversibilité + +En cas de suppression du compte ou d’arrêt du service, l’utilisateur est responsable de la récupération de ses données et contenus. +WorkoutCool ne garantit pas la portabilité automatique vers un service tiers, sauf disposition expresse dans une offre dédiée. + +## ARTICLE 12 : Indemnisation + +L’utilisateur s’engage à garantir, défendre et indemniser WorkoutCool contre toute réclamation, responsabilité, perte, dommage ou frais (y compris les honoraires d’avocat) résultant : + +- de sa violation des présentes CGU +- de tout contenu diffusé via la plateforme +- de toute activité effectuée avec son compte, même à son insu + +## ARTICLE 13 : Contact + +Pour toute question relative aux présentes CGU, vous pouvez nous contacter à : +**[support@WorkoutCool.io](mailto:support@WorkoutCool.io)** +ou par courrier recommandé à l’adresse de l’éditeur mentionnée à l’ARTICLE 1. + +## ARTICLE 15 : Force majeure + +WorkoutCool ne pourra être tenu responsable d’un manquement à ses obligations en cas de force majeure, tels que : catastrophe naturelle, incendie, inondation, émeute, guerre, pandémie, grève, cyberattaque, panne d’infrastructure, ou toute autre situation imprévisible échappant à son contrôle. diff --git a/data/sample-exercises.csv b/data/sample-exercises.csv new file mode 100644 index 0000000..e69de29 diff --git a/emails/ContactSupportEmail.tsx b/emails/ContactSupportEmail.tsx new file mode 100644 index 0000000..2948bc7 --- /dev/null +++ b/emails/ContactSupportEmail.tsx @@ -0,0 +1,37 @@ +import * as React from "react"; +import { Body, Container, Head, Heading, Hr, Html, Preview, Section, Text, Tailwind } from "@react-email/components"; + +interface ContactSupportEmailProps { + email: string; + subject: string; + message: string; +} + +const ContactSupportEmail = ({ email, subject, message }: ContactSupportEmailProps) => ( + + + New Contact Request - {subject} + + + +
+ New Contact Request + + You received a new message from: {email} + + + Subject: {subject} + +
+ + Message: + + {message} +
+
+ +
+ +); + +export default ContactSupportEmail; diff --git a/emails/DeleteAccountEmail.tsx b/emails/DeleteAccountEmail.tsx new file mode 100644 index 0000000..e920219 --- /dev/null +++ b/emails/DeleteAccountEmail.tsx @@ -0,0 +1,28 @@ +import { Link, Section, Text } from "@react-email/components"; + +import { SiteConfig } from "@/shared/config/site-config"; + +import { BaseEmailLayout } from "./utils/BaseEmailLayout"; + +export default function DeleteAccountEmail({ email }: { email: string }) { + return ( + +
+ Hello, + + You account with email{" "} + + {email} + {" "} + has been deleted. + + This action is irreversible. + If you have any questions, please contact us at {SiteConfig.email.contact}. +
+ + Best, +
- {SiteConfig.maker.name} from {SiteConfig.title} +
+
+ ); +} diff --git a/emails/ResetPasswordEmail.tsx b/emails/ResetPasswordEmail.tsx new file mode 100644 index 0000000..2422808 --- /dev/null +++ b/emails/ResetPasswordEmail.tsx @@ -0,0 +1,56 @@ +import * as React from "react"; +import { Button, Heading, Hr, Link, Section, Text } from "@react-email/components"; + +import { SiteConfig } from "@/shared/config/site-config"; + +import { BaseEmailLayout } from "./utils/BaseEmailLayout"; // Import the layout + +interface ResetPasswordEmailProps { + url: string; +} + +const primaryColor = "#2563EB"; // Blue-600 + +export const ResetPasswordEmail = ({ url }: ResetPasswordEmailProps) => ( + + 🔒 Reset Your Password + +
+ Hello, + + We received a request to reset the password for your {SiteConfig.title} account. If this was you, click the button below to set a + new password: + +
+ +
+ +
+ +
+ + If you didn't request a password reset, please ignore this email. Your password will remain unchanged. + +
+ +
+ +
+ + If the button above doesn't work, you can copy and paste this link into your browser: + + + {url} + +
+ {/* Footer is now handled by BaseEmailLayout */} +
+); + +export default ResetPasswordEmail; // Keep export consistent diff --git a/emails/SubscriptionDowngradeEmail.tsx b/emails/SubscriptionDowngradeEmail.tsx new file mode 100644 index 0000000..2b6d8c4 --- /dev/null +++ b/emails/SubscriptionDowngradeEmail.tsx @@ -0,0 +1,38 @@ +import Link from "next/link"; +import { Section, Text } from "@react-email/components"; + +import { getServerUrl } from "@/shared/lib/server-url"; +import { SiteConfig } from "@/shared/config/site-config"; + +import { BaseEmailLayout } from "./utils/BaseEmailLayout"; + +export default function SubscribtionDowngradeEmail() { + return ( + +
+ Hello, + + { + "We're reaching out to inform you that your account has reverted to our basic access level. This change is due to the recent issues with your premium subscription payment." + } + + + { + "While you'll still enjoy our core services, access to premium features is now limited. We'd love to have you back in our premium community!" + } + + To reactivate your premium status, simply update your payment information here: + + + Click to Update Payment and Keep Using ${SiteConfig.title} + + + If you have any questions or need assistance, our team is always here to help. +
+ + Best, +
- {SiteConfig.maker.name} from {SiteConfig.title} +
+
+ ); +} diff --git a/emails/SubscriptionFailedEmail.tsx b/emails/SubscriptionFailedEmail.tsx new file mode 100644 index 0000000..b065871 --- /dev/null +++ b/emails/SubscriptionFailedEmail.tsx @@ -0,0 +1,39 @@ +import Link from "next/link"; +import { Section, Text } from "@react-email/components"; + +import { getServerUrl } from "@/shared/lib/server-url"; +import { SiteConfig } from "@/shared/config/site-config"; + +import { BaseEmailLayout } from "./utils/BaseEmailLayout"; + +export default function SubscribtionFailedEmail() { + return ( + +
+ Hello, + {"Your last payment didn't go through, so your extra features are on hold."} + + {"We've noticed an issue with your recent payment, which affects your access to our premium features."} + + + { + "To resolve this and continue enjoying all the benefits, simply update your payment details through the link below. It's quick and straightforward!" + } + straightforward! + + + + Click to Update Payment and Keep Using ${SiteConfig.title} + + + + {"Thank you for your prompt attention to this matter. We're here to help if you have any questions."} + +
+ + Best, +
- {SiteConfig.maker.name} from {SiteConfig.title} +
+
+ ); +} diff --git a/emails/SuccessUpgradeEmail.tsx b/emails/SuccessUpgradeEmail.tsx new file mode 100644 index 0000000..2bf45bd --- /dev/null +++ b/emails/SuccessUpgradeEmail.tsx @@ -0,0 +1,28 @@ +import { Section, Text } from "@react-email/components"; + +import { SiteConfig } from "@/shared/config/site-config"; + +import { BaseEmailLayout } from "./utils/BaseEmailLayout"; + +export default function SuccessUpgradeEmail() { + return ( + +
+ Hello, + + Great news! Your payment was successful, and you now have full access to all our premium link in bio features. Get ready to create + your perfect link page! + + + If you have any questions about customizing your link page or need assistance with any features, feel free to reach out to us. + We're here to help you make the most of your link in bio experience. + + Happy linking, +
+ + Best, +
- {SiteConfig.maker.name} from {SiteConfig.title} +
+
+ ); +} diff --git a/emails/VerifyEmail.tsx b/emails/VerifyEmail.tsx new file mode 100644 index 0000000..14630f1 --- /dev/null +++ b/emails/VerifyEmail.tsx @@ -0,0 +1,51 @@ +import * as React from "react"; +import { Button, Heading, Hr, Link, Section, Text } from "@react-email/components"; + +import { SiteConfig } from "@/shared/config/site-config"; + +import { BaseEmailLayout } from "./utils/BaseEmailLayout"; // Import the layout + +interface VerifyEmailProps { + url: string; +} + +const primaryColor = "#2563EB"; // Blue-600 + +export const VerifyEmail = ({ url }: VerifyEmailProps) => ( + + ✅ Verify Your Email + +
+ Welcome to {SiteConfig.title}! + + Please click the button below to verify your email address and complete your signup or login: + +
+ +
+ +
+ +
+ If you didn't request this email, you can safely ignore it. +
+ +
+ +
+ + If the button above doesn't work, you can copy and paste this link into your browser: + + + {url} + +
+ {/* Footer is now handled by BaseEmailLayout */} +
+); diff --git a/emails/utils/BaseEmailLayout.tsx b/emails/utils/BaseEmailLayout.tsx new file mode 100644 index 0000000..56011a1 --- /dev/null +++ b/emails/utils/BaseEmailLayout.tsx @@ -0,0 +1,82 @@ +import * as React from "react"; +import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text, Tailwind } from "@react-email/components"; + +import { SiteConfig } from "@/shared/config/site-config"; + +interface BaseEmailLayoutProps { + previewText: string; + children: React.ReactNode; +} + +// Consistent styling variables +const primaryColor = "#2563EB"; // Blue-600 +// eslint-disable-next-line quotes +const fontFamily = 'Inter, "Helvetica Neue", Helvetica, Arial, sans-serif'; +const containerPadding = "32px"; // p-8 +const mainBgColor = "#f9fafb"; // bg-gray-50 +const containerBgColor = "#ffffff"; // bg-white +const textColor = "#374151"; // text-gray-700 +const lightTextColor = "#6b7280"; // text-gray-500 +const borderColor = "#e5e7eb"; // border-gray-200 + +export const BaseEmailLayout = ({ previewText, children }: BaseEmailLayoutProps) => ( + + + {/* Font import */} + + + + + {previewText} + + + + {/* Logo Section */} +
+ {`${SiteConfig.title} +
+ + {/* Email specific content */} + {children} + + {/* Footer Section */} +
+
+ + Best regards, +
+ The {SiteConfig.title} Team +
+ {/* Optional: Add company address or other info here if needed */} + {/* {SiteConfig.company.address} */} +
+
+ +
+ +); diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..380ff1f --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,171 @@ +import { fixupConfigRules, fixupPluginRules } from "@eslint/compat"; +import js from "@eslint/js"; +import { FlatCompat } from "@eslint/eslintrc"; +import { configs as tsConfigs } from "typescript-eslint"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import globals from "globals"; +import nextPlugin from "@next/eslint-plugin-next"; +import reactHooks from "eslint-plugin-react-hooks"; +import reactPlugin from "eslint-plugin-react"; +import importPlugin from "eslint-plugin-import"; +import unusedImportsPlugin from "eslint-plugin-unused-imports"; +import tsParser from "@typescript-eslint/parser"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, +}); + +const config = [ + js.configs.recommended, + ...tsConfigs.recommended, + ...fixupConfigRules( + compat.extends( + "plugin:react/recommended", + "plugin:react/jsx-runtime", + "plugin:react-hooks/recommended", + "plugin:prettier/recommended", + "plugin:import/recommended", + "plugin:import/typescript", + "next/core-web-vitals", + ), + ), + { + files: ["**/*.{js,jsx,ts,tsx}"], + ignores: [ + "**/node_modules/**", + "**/.next/**", + "**/out/**", + "**/coverage/**", + "**/build/**", + "**/dist/**", + "**/package.json", + "**/package-lock.json", + "**/eslint.config.mjs", + "**/next.config.js", + "src/utils/attempt2.js", + "src/utils/inapp.js", + "src/utils/externalLinkOpener.js", + "src/utils/browserEscape.js", + ], + plugins: { + "react-hooks": fixupPluginRules(reactHooks), + react: fixupPluginRules(reactPlugin), + import: fixupPluginRules(importPlugin), + "unused-imports": fixupPluginRules(unusedImportsPlugin), + next: nextPlugin, + }, + languageOptions: { + globals: { + ...globals.browser, + ...globals.node, + }, + ecmaVersion: 2018, + sourceType: "module", + parser: tsParser, + parserOptions: { + project: "./tsconfig.json", + ecmaFeatures: { + jsx: true, + }, + }, + }, + settings: { + "import/resolver": { + node: { + paths: ["src"], + extensions: [".js", ".jsx", ".ts", ".tsx"], + }, + }, + react: { + version: "detect", + }, + }, + rules: { + "prettier/prettier": ["off", { singleQuote: true }], + "no-use-before-define": ["off", { functions: false, classes: false }], + "@typescript-eslint/naming-convention": [ + "error", + { + selector: "parameter", + format: ["camelCase", "PascalCase"], + leadingUnderscore: "allow", + }, + { + selector: "variable", + format: ["camelCase", "UPPER_CASE", "PascalCase"], + leadingUnderscore: "allow", + }, + ], + "import/no-extraneous-dependencies": [ + "error", + { + devDependencies: true, + optionalDependencies: false, + peerDependencies: false, + }, + ], + "@typescript-eslint/default-param-last": "off", + "@typescript-eslint/no-use-before-define": "off", + "comma-dangle": "off", + "@typescript-eslint/comma-dangle": "off", + "import/prefer-default-export": "off", + "unused-imports/no-unused-imports": "warn", + "max-len": ["warn", { code: 140, ignorePattern: "^import .*", ignoreStrings: true }], + "import/order": [ + "error", + { + groups: ["builtin", "external", "internal", ["sibling", "parent"], "index", "type"], + alphabetize: { order: "desc", caseInsensitive: true }, + pathGroups: [ + { pattern: "components", group: "internal" }, + { pattern: "components/**", group: "internal" }, + { pattern: "constants/**", group: "internal" }, + { pattern: "common", group: "internal" }, + { pattern: "error/**", group: "internal" }, + { pattern: "hooks/**", group: "internal" }, + { pattern: "locale/**", group: "internal" }, + { pattern: "routes/**", group: "internal" }, + { pattern: "selectors", group: "internal" }, + { pattern: "store", group: "internal" }, + ], + "newlines-between": "always", + }, + ], + "@typescript-eslint/no-explicit-any": "off", + "react/prop-types": "off", + "react/require-default-props": "off", + "import/no-unresolved": "off", + "import/no-cycle": ["off", { maxDepth: "∞" }], + "@typescript-eslint/no-shadow": "off", + "no-shadow": "off", + "no-console": "off", + "no-plusplus": "off", + "react-hooks/exhaustive-deps": "off", + "react/jsx-filename-extension": "off", + "react/jsx-props-no-spreading": "off", + "class-methods-use-this": "off", + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_", varsIgnorePattern: "^_" }], + "@typescript-eslint/no-empty-object-type": "off", + "react/jsx-sort-props": [ + "error", + { + callbacksLast: false, + shorthandFirst: false, + shorthandLast: false, + ignoreCase: true, + noSortAlphabetically: false, + reservedFirst: false, + }, + ], + quotes: ["error", "double", { avoidEscape: false, allowTemplateLiterals: false }], + }, + }, +]; + +export default config; diff --git a/locales/client.ts b/locales/client.ts new file mode 100644 index 0000000..cc8d41a --- /dev/null +++ b/locales/client.ts @@ -0,0 +1,29 @@ +"use client"; + +import { createI18nClient } from "next-international/client"; + +// NOTE: Also update middleware.ts to support locale +export const languages = ["en", "fr"]; + +export const { useI18n, useScopedI18n, I18nProviderClient, useChangeLocale, defineLocale, useCurrentLocale } = createI18nClient( + { + en: async () => { + await new Promise((resolve) => setTimeout(resolve, 100)); + return import("./en"); + }, + fr: async () => { + await new Promise((resolve) => setTimeout(resolve, 100)); + return import("./fr"); + }, + }, + { + // Uncomment to set base path + // basePath: '/base', + // Uncomment to use custom segment name + // segmentName: 'locale', + // Uncomment to set fallback locale + // fallbackLocale: en, + }, +); + +export type TFunction = Awaited>; diff --git a/locales/en.ts b/locales/en.ts new file mode 100644 index 0000000..c0afa84 --- /dev/null +++ b/locales/en.ts @@ -0,0 +1,198 @@ +export default { + signin_error_subtitle: "Please check your credentials and try again.", + register_title: "Create an account", + register_description: "Enter your information below to create your account", + register_terms: "By signing up, you agree to our", + register_privacy: "Terms of Service", + register_privacy_link: "and our", + register_privacy_link_2: "Privacy Policy", + error: { + invalid_credentials: "Invalid credentials or account does not exist", + }, + // Contact Support + contact_support: "Contact Support", + contact_support_subtitle: "Describe your issue and we'll help you as soon as possible. You can also write to us directly at", + + // Social Platforms + social_platforms: { + x: "X (Twitter)", + facebook: "Facebook", + email: "Email", + whatsapp: "WhatsApp", + website: "Website", + phone: "Phone", + youtube: "YouTube", + linkedin: "LinkedIn", + snapchat: "Snapchat", + instagram: "Instagram", + tiktok: "TikTok", + threads: "Threads", + }, + + // Workout Builder + workout_builder: { + steps: { + equipment: { + title: "Equipment", + description: "Select your equipment", + }, + muscles: { + title: "Muscles", + description: "Choose your training", + }, + exercises: { + title: "Exercises", + description: "Customize your workout", + }, + }, + equipment: { + bodyweight: { + label: "Bodyweight", + description: "Exercises using only your body weight", + }, + dumbbell: { + label: "Dumbbell", + description: "Free weight exercises with dumbbells", + }, + barbell: { + label: "Barbell", + description: "Compound movements with a barbell", + }, + kettlebell: { + label: "Kettlebell", + description: "Dynamic exercises with kettlebells", + }, + band: { + label: "Band", + description: "Resistance band exercises", + }, + plate: { + label: "Plate", + description: "Exercises using weight plates", + }, + pullup_bar: { + label: "Pull-up bar", + description: "Upper body exercises with a pull-up bar", + }, + bench: { + label: "Bench", + description: "Bench exercises and support", + }, + }, + navigation: { + previous: "Previous", + continue: "Continue", + complete: "Complete", + complete_workout: "Complete Workout", + }, + stats: { + equipment_selected: "equipment selected", + equipment_selected_plural: "equipment selected", + selected: "Selected", + total: "Total", + equipment_ready: "equipment ready", + equipment_ready_plural: "equipment ready", + }, + selection: { + choose_your_arsenal: "Choose Your Arsenal", + select_equipment_description: "Select equipment to unlock personalized workouts", + clear_all: "Clear all", + muscle_selection_coming_soon: "Muscle Selection (Coming Soon)", + muscle_selection_description: "This step will allow you to select target muscles for your workout.", + exercise_selection_coming_soon: "Exercise Selection (Coming Soon)", + exercise_selection_description: "This step will show you personalized exercise recommendations.", + }, + }, + commons: { + signup_with: "Sign up with {provider}", + signin_with: "Sign in with {provider}", + signup: "Sign up", + login: "Login", + connecting: "Connecting...", + login_to_your_account_title: "Login to your account", + login_to_your_account_subtitle: "Enter your credentials below to login", + password_forgot: "Forgot password?", + password_reset_success: "Password reset successfully", + dont_have_account: "Don't have an account?", + already_have_account: "Already have an account?", + or: "Or", + add: "Add", + your_feminine: "your", + password: "Password", + email: "Email", + logout: "Logout", + first_name: "First name", + last_name: "Last name", + verify_password: "Verify password", + submit: "Submit", + upload: "Upload", + cancel: "Cancel", + save_changes: "Save changes", + change: "Change", + subject: "Subject", + message: "Message", + saving: "Saving...", + edit: "Edit", + more_options: "More options", + open_link: "Open link", + hide: "Hide", + make_visible: "Make visible", + delete: "Delete", + share: "Share", + title: "Title", + subtitle: "Subtitle", + content: "Content", + save: "Save", + button: "Button", + card: "Card", + go_back: "Go back", + next: "Next", + choose_image: "Choose image", + soon: "Soon", + coming_soon_with_emoji: "Coming soon 🤫", + no_image: "No image", + description: "Description", + price: "Price", + duration: "Duration", + location: "Location", + schedule: "Schedule", + participants_info: "Participants info", + description_placeholder: "Enter the description", + title_placeholder: "Enter the title", + changes_saved: "Changes saved", + replace: "Replace", + loading: "Loading...", + image_deleted: "The image has been deleted", + discover_workoutcool: "Discover Workout Cool", + received_just_now: "Received just now", + copied: "Copied", + url_copied: "The URL has been copied", + copy_failed: "Copy failed", + accordion: "Accordion", + image: "Image", + other: "Other", + register: "Register", + instantly: "instantly", + immediately: "immediately", + link: "Link", + accept: "Accept", + deny: "Deny", + invalid_input: "Invalid input. Please check the errors.", + copy_url: "Copy URL", + page_url: "Page URL", + saving_short: "Saving...", + saved_short: "OK", + looks_like_you_are_lost: "Looks like you are lost", + the_page_you_are_looking_for_is_not_available: "The page you are looking for is not available", + go_to_home: "Go to home", + terms: "Terms of Service", + privacy: "Privacy Policy", + sales_terms: "Sales Terms", + consent_banner: "We use cookies to improve your experience. By clicking Accept, you agree to our use of cookies.", + about: "About us", + profile: "Profile", + donate: "Donate", + my_account: "My account", + dashboard: "Dashboard", + }, +} as const; diff --git a/locales/fr.ts b/locales/fr.ts new file mode 100644 index 0000000..92330d0 --- /dev/null +++ b/locales/fr.ts @@ -0,0 +1,198 @@ +export default { + signin_error_subtitle: "Veuillez vérifier vos identifiants et réessayer.", + register_title: "Créer un compte", + register_description: "Entrez vos informations ci-dessous pour créer votre compte", + register_terms: "En vous inscrivant, vous acceptez nos", + register_privacy: "Conditions d'utilisation", + register_privacy_link: "et notre", + register_privacy_link_2: "Politique de confidentialité", + error: { + invalid_credentials: "Identifiants invalides ou compte inexistant", + }, + // Contact Support + contact_support: "Contacter le support", + contact_support_subtitle: "Décrivez votre problème et nous vous aiderons dès que possible. Vous pouvez aussi nous écrire directement à", + + // Social Platforms + social_platforms: { + x: "X (Twitter)", + facebook: "Facebook", + email: "Email", + whatsapp: "WhatsApp", + website: "Site web", + phone: "Téléphone", + youtube: "YouTube", + linkedin: "LinkedIn", + snapchat: "Snapchat", + instagram: "Instagram", + tiktok: "TikTok", + threads: "Threads", + }, + + // Workout Builder + workout_builder: { + steps: { + equipment: { + title: "Équipement", + description: "Sélectionnez votre équipement", + }, + muscles: { + title: "Muscles", + description: "Choisissez votre entraînement", + }, + exercises: { + title: "Exercices", + description: "Personnalisez votre séance", + }, + }, + equipment: { + bodyweight: { + label: "Poids du corps", + description: "Exercices utilisant uniquement le poids de votre corps", + }, + dumbbell: { + label: "Haltères", + description: "Exercices de poids libres avec haltères", + }, + barbell: { + label: "Barre", + description: "Mouvements composés avec une barre", + }, + kettlebell: { + label: "Kettlebell", + description: "Exercices dynamiques avec kettlebells", + }, + band: { + label: "Élastique", + description: "Exercices avec bandes de résistance", + }, + plate: { + label: "Disques", + description: "Exercices utilisant des disques de poids", + }, + pullup_bar: { + label: "Barre de traction", + description: "Exercices du haut du corps avec barre de traction", + }, + bench: { + label: "Banc", + description: "Exercices sur banc et support", + }, + }, + navigation: { + previous: "Précédent", + continue: "Continuer", + complete: "Terminer", + complete_workout: "Terminer la séance", + }, + stats: { + equipment_selected: "équipement sélectionné", + equipment_selected_plural: "équipements sélectionnés", + selected: "Sélectionné", + total: "Total", + equipment_ready: "équipement prêt", + equipment_ready_plural: "équipements prêts", + }, + selection: { + choose_your_arsenal: "Choisissez votre arsenal", + select_equipment_description: "Sélectionnez l'équipement pour débloquer des entraînements personnalisés", + clear_all: "Tout effacer", + muscle_selection_coming_soon: "Sélection des muscles (Bientôt disponible)", + muscle_selection_description: "Cette étape vous permettra de sélectionner les muscles cibles pour votre entraînement.", + exercise_selection_coming_soon: "Sélection des exercices (Bientôt disponible)", + exercise_selection_description: "Cette étape vous montrera des recommandations d'exercices personnalisées.", + }, + }, + commons: { + signup_with: "S'inscrire avec {provider}", + signin_with: "Se connecter avec {provider}", + signup: "S'inscrire", + login: "Se connecter", + connecting: "Connexion...", + password_reset_success: "Le mot de passe a été réinitialisé avec succès", + login_to_your_account_title: "Connectez-vous à votre compte", + login_to_your_account_subtitle: "Entrez vos identifiants ci-dessous pour vous connecter", + password_forgot: "Mot de passe oublié ?", + dont_have_account: "Vous n'avez pas de compte ?", + already_have_account: "Vous avez déjà un compte ?", + or: "Ou", + add: "Ajouter", + your_feminine: "ta", + password: "Mot de passe", + email: "Email", + logout: "Déconnexion", + first_name: "Prénom", + last_name: "Nom", + verify_password: "Vérifier le mot de passe", + submit: "Envoyer", + upload: "Télécharger", + cancel: "Annuler", + save_changes: "Enregistrer les modifications", + change: "Changer", + subject: "Sujet", + message: "Message", + saving: "Enregistrement...", + edit: "Modifier", + more_options: "Plus d'options", + open_link: "Ouvrir le lien", + hide: "Masquer", + make_visible: "Rendre visible", + delete: "Supprimer", + share: "Partager", + title: "Titre", + subtitle: "Sous-titre", + content: "Contenu", + save: "Enregistrer", + button: "Bouton", + card: "Carte", + go_back: "Retour", + next: "Suivant", + choose_image: "Choisir une image", + soon: "Bientôt", + coming_soon_with_emoji: "Bientôt disponible 🤫", + no_image: "Aucune image", + description: "Description", + price: "Prix", + duration: "Durée", + location: "Lieu", + schedule: "Horaire", + participants_info: "Informations sur les participants", + title_placeholder: "Entrez le titre", + description_placeholder: "Entrez la description", + changes_saved: "Les modifications ont été sauvegardées", + replace: "Remplacer", + loading: "Chargement...", + image_deleted: "L'image a été supprimée", + discover_workoutcool: "Découvrir gratuitement", + received_just_now: "Reçu à l'instant", + copied: "Copié", + url_copied: "L'URL a été copiée", + copy_failed: "Erreur lors de la copie de l'URL", + accordion: "Accordéon", + image: "Image", + other: "Autre", + register: "S'inscrire", + instantly: "instantanément", + immediately: "immédiatement", + link: "Lien", + accept: "Accepter", + deny: "Refuser", + invalid_input: "Saisie invalide. Veuillez vérifier les erreurs.", + copy_url: "Copier l'URL", + page_url: "URL de la page", + saving_short: "Enregistrement...", + saved_short: "Sauvegardé", + looks_like_you_are_lost: "Il semble que vous soyez perdu", + the_page_you_are_looking_for_is_not_available: "La page que vous cherchez n'est pas disponible", + go_to_home: "Retour à l'accueil", + terms: "Conditions d'utilisation", + privacy: "Politique de confidentialité", + sales_terms: "Conditions de vente", + consent_banner: "Nous utilisons des cookies pour améliorer votre expérience. En cliquant sur Accepter, vous acceptez nos cookies.", + about: "À propos", + profile: "Profil", + donate: "Faire un don", + my_account: "Mon compte", + dashboard: "Tableau de bord", + }, +} as const; diff --git a/locales/server.ts b/locales/server.ts new file mode 100644 index 0000000..07696ac --- /dev/null +++ b/locales/server.ts @@ -0,0 +1,6 @@ +import { createI18nServer } from "next-international/server"; + +export const { getI18n, getScopedI18n, getStaticParams } = createI18nServer({ + en: () => import("./en"), + fr: () => import("./fr"), +}); diff --git a/middleware.ts b/middleware.ts new file mode 100644 index 0000000..758a5f2 --- /dev/null +++ b/middleware.ts @@ -0,0 +1,31 @@ +// middleware.ts +import { createI18nMiddleware } from "next-international/middleware"; +import { NextRequest, NextResponse } from "next/server"; +import { getSessionCookie } from "better-auth/cookies"; + +const I18nMiddleware = createI18nMiddleware({ + locales: ["en", "fr"], + defaultLocale: "en", + urlMappingStrategy: "rewrite", +}); + +export async function middleware(request: NextRequest) { + const response = I18nMiddleware(request); + const searchParams = request.nextUrl.searchParams.toString(); + + response.headers.set("searchParams", searchParams); + + if (request.nextUrl.pathname.includes("/dashboard")) { + const session = getSessionCookie(request); + + if (!session) { + return NextResponse.redirect(new URL("/", request.url)); + } + } + + return response; +} + +export const config = { + matcher: ["/((?!api|static|_next|manifest.json|scripts/pixel.js|favicon.ico|robots.txt|service-worker\\.js|images|icons|sitemap.xml).*)"], +}; diff --git a/next.config.ts b/next.config.ts new file mode 100644 index 0000000..c49de75 --- /dev/null +++ b/next.config.ts @@ -0,0 +1,22 @@ +import { withPlausibleProxy } from "next-plausible"; + +import { env } from "@/env"; + +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + /* config options here */ + reactStrictMode: true, + images: { + unoptimized: true, + domains: ["lh3.googleusercontent.com", "192.168.1.12", "localhost", "www.facebook.com"], + remotePatterns: [ + { + protocol: "https", + hostname: "**.vercel.app", + }, + ], + }, +}; + +export default withPlausibleProxy()(nextConfig); diff --git a/nextauth.d.ts b/nextauth.d.ts new file mode 100644 index 0000000..f082954 --- /dev/null +++ b/nextauth.d.ts @@ -0,0 +1,13 @@ +/* eslint-disable @typescript-eslint/consistent-type-definitions */ +import type { DefaultSession } from "next-auth"; + +declare module "next-auth" { + interface Session { + user: DefaultSession["user"] & { + id: string; + email: string; + name?: string; + image?: string; + }; + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..2680bd5 --- /dev/null +++ b/package.json @@ -0,0 +1,152 @@ +{ + "name": "workoutcool", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev --turbopack", + "build": "next build", + "email": "email dev", + "start": "next start", + "stripe-webhooks": "stripe listen --forward-to localhost:3000/api/webhooks/stripe", + "vercel-build": "next build", + "old-vercel-build": "prisma generate && prisma migrate deploy && next build", + "postinstall": "prisma generate", + "lint": "next lint", + "import:exercises-full": "tsx scripts/import-exercises-with-attributes.ts" + }, + "resolutions": { + "prettier": "^3.4.2" + }, + "dependencies": { + "@auth/prisma-adapter": "^2.8.0", + "@aws-sdk/client-s3": "^3.787.0", + "@dnd-kit/core": "^6.3.1", + "@dnd-kit/modifiers": "^9.0.0", + "@dnd-kit/sortable": "^10.0.0", + "@dnd-kit/utilities": "^3.2.2", + "@hookform/resolvers": "^5.0.1", + "@openpanel/nextjs": "^1.0.8", + "@prisma/client": "^6.5.0", + "@radix-ui/react-accordion": "^1.2.3", + "@radix-ui/react-alert-dialog": "^1.1.6", + "@radix-ui/react-aspect-ratio": "^1.1.2", + "@radix-ui/react-avatar": "^1.1.3", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dropdown-menu": "^2.1.6", + "@radix-ui/react-hover-card": "^1.1.7", + "@radix-ui/react-icons": "^1.3.2", + "@radix-ui/react-label": "^2.1.2", + "@radix-ui/react-navigation-menu": "^1.2.6", + "@radix-ui/react-popover": "^1.1.6", + "@radix-ui/react-portal": "^1.1.5", + "@radix-ui/react-radio-group": "^1.3.3", + "@radix-ui/react-scroll-area": "^1.2.6", + "@radix-ui/react-select": "^2.1.7", + "@radix-ui/react-separator": "^1.1.2", + "@radix-ui/react-slider": "^1.3.2", + "@radix-ui/react-slot": "^1.2.0", + "@radix-ui/react-switch": "^1.2.2", + "@radix-ui/react-tabs": "^1.1.3", + "@radix-ui/react-toast": "^1.2.7", + "@radix-ui/react-tooltip": "^1.1.8", + "@react-email/components": "^0.0.35", + "@react-email/html": "^0.0.11", + "@react-email/tailwind": "^1.0.4", + "@t3-oss/env-nextjs": "^0.12.0", + "@tailwindcss/typography": "^0.5.16", + "@tanstack/react-query": "^5.74.3", + "@tanstack/react-query-devtools": "^5.74.4", + "@tiptap/extension-bold": "^2.11.7", + "@tiptap/extension-bullet-list": "^2.11.7", + "@tiptap/extension-italic": "^2.11.7", + "@tiptap/extension-list-item": "^2.11.7", + "@tiptap/extension-ordered-list": "^2.11.7", + "@tiptap/extension-placeholder": "^2.11.7", + "@tiptap/extension-strike": "^2.11.7", + "@tiptap/react": "^2.11.7", + "@tiptap/starter-kit": "^2.11.7", + "@vercel/functions": "^2.0.3", + "better-auth": "^1.2.7", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "csv-parser": "^3.2.0", + "embla-carousel-auto-scroll": "^8.6.0", + "embla-carousel-react": "^8.6.0", + "eslint-config-prettier": "^10.1.1", + "framer-motion": "^12.7.2", + "geist": "^1.3.1", + "i": "^0.3.7", + "is-ua-webview": "^1.1.2", + "isomorphic-dompurify": "^2.24.0", + "lodash.debounce": "^4.0.8", + "lodash.findkey": "^4.6.0", + "lodash.set": "^4.3.2", + "lottie-react": "^2.4.1", + "lucide-react": "^0.487.0", + "mime": "^4.0.7", + "nanoid": "^5.1.5", + "next": "15.2.3", + "next-international": "^1.3.1", + "next-mdx-remote": "^5.0.0", + "next-plausible": "^3.12.4", + "next-safe-action": "^7.10.4", + "next-themes": "^0.4.6", + "nodemailer": "^6.10.0", + "npm": "^11.3.0", + "nprogress": "^0.2.0", + "nuqs": "^2.4.3", + "pg": "^8.14.1", + "prisma": "^6.5.0", + "react": "^19.0.0", + "react-calendly": "^4.3.1", + "react-colorful": "^5.6.1", + "react-dom": "^19.0.0", + "react-facebook-pixel": "^1.0.4", + "react-hook-form": "^7.55.0", + "react-icons": "^5.5.0", + "react-qrcode-logo": "^3.0.0", + "resend": "^4.2.0", + "sharp": "^0.34.1", + "sonner": "^2.0.3", + "stripe": "^18.0.0", + "tw-animate-css": "^1.2.5", + "usehooks-ts": "^3.1.1", + "vaul": "^1.1.2", + "zod": "^3.24.2", + "zustand": "^5.0.3" + }, + "devDependencies": { + "@eslint/compat": "^1.2.7", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "^9.28.0", + "@next/eslint-plugin-next": "^15.2.4", + "@types/lodash.debounce": "^4.0.9", + "@types/lodash.set": "^4.3.9", + "@types/node": "^20", + "@types/nprogress": "^0.2.3", + "@types/react": "^19", + "@types/react-dom": "^19", + "@typescript-eslint/eslint-plugin": "^8.29.0", + "@typescript-eslint/parser": "^8.29.0", + "autoprefixer": "^10.4.21", + "daisyui": "^5.0.43", + "eslint": "^9.23.0", + "eslint-config-next": "15.2.3", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-prettier": "^5.2.5", + "eslint-plugin-react": "^7.37.4", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-unused-imports": "^4.1.4", + "globals": "^16.0.0", + "postcss": "^8.5.3", + "prettier": "^3.4.2", + "prettier-plugin-sort-json": "^4.1.1", + "tailwind-merge": "^2.3.0", + "tailwindcss": "^3.4.13", + "tailwindcss-animate": "^1.0.7", + "tslog": "^4.9.3", + "tsx": "^4.19.4", + "typescript": "^5", + "typescript-eslint": "^8.29.0" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..6cf5ca1 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,10947 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +overrides: + prettier: ^3.4.2 + +importers: + + .: + dependencies: + '@auth/prisma-adapter': + specifier: ^2.8.0 + version: 2.9.1(@prisma/client@6.9.0(prisma@6.9.0(typescript@5.8.3))(typescript@5.8.3))(nodemailer@6.10.1) + '@aws-sdk/client-s3': + specifier: ^3.787.0 + version: 3.826.0 + '@dnd-kit/core': + specifier: ^6.3.1 + version: 6.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@dnd-kit/modifiers': + specifier: ^9.0.0 + version: 9.0.0(@dnd-kit/core@6.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + '@dnd-kit/sortable': + specifier: ^10.0.0 + version: 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + '@dnd-kit/utilities': + specifier: ^3.2.2 + version: 3.2.2(react@19.1.0) + '@hookform/resolvers': + specifier: ^5.0.1 + version: 5.1.1(react-hook-form@7.57.0(react@19.1.0)) + '@openpanel/nextjs': + specifier: ^1.0.8 + version: 1.0.8(next@15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@prisma/client': + specifier: ^6.5.0 + version: 6.9.0(prisma@6.9.0(typescript@5.8.3))(typescript@5.8.3) + '@radix-ui/react-accordion': + specifier: ^1.2.3 + version: 1.2.11(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-alert-dialog': + specifier: ^1.1.6 + version: 1.1.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-aspect-ratio': + specifier: ^1.1.2 + version: 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-avatar': + specifier: ^1.1.3 + version: 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-dialog': + specifier: ^1.1.6 + version: 1.1.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-dropdown-menu': + specifier: ^2.1.6 + version: 2.1.15(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-hover-card': + specifier: ^1.1.7 + version: 1.1.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-icons': + specifier: ^1.3.2 + version: 1.3.2(react@19.1.0) + '@radix-ui/react-label': + specifier: ^2.1.2 + version: 2.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-navigation-menu': + specifier: ^1.2.6 + version: 1.2.13(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-popover': + specifier: ^1.1.6 + version: 1.1.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-portal': + specifier: ^1.1.5 + version: 1.1.9(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-radio-group': + specifier: ^1.3.3 + version: 1.3.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-scroll-area': + specifier: ^1.2.6 + version: 1.2.9(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-select': + specifier: ^2.1.7 + version: 2.2.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-separator': + specifier: ^1.1.2 + version: 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slider': + specifier: ^1.3.2 + version: 1.3.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': + specifier: ^1.2.0 + version: 1.2.3(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-switch': + specifier: ^1.2.2 + version: 1.2.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-tabs': + specifier: ^1.1.3 + version: 1.1.12(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-toast': + specifier: ^1.2.7 + version: 1.2.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-tooltip': + specifier: ^1.1.8 + version: 1.2.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@react-email/components': + specifier: ^0.0.35 + version: 0.0.35(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@react-email/html': + specifier: ^0.0.11 + version: 0.0.11(react@19.1.0) + '@react-email/tailwind': + specifier: ^1.0.4 + version: 1.0.5(react@19.1.0) + '@t3-oss/env-nextjs': + specifier: ^0.12.0 + version: 0.12.0(typescript@5.8.3)(zod@3.25.57) + '@tailwindcss/typography': + specifier: ^0.5.16 + version: 0.5.16(tailwindcss@3.4.17) + '@tanstack/react-query': + specifier: ^5.74.3 + version: 5.80.6(react@19.1.0) + '@tanstack/react-query-devtools': + specifier: ^5.74.4 + version: 5.80.6(@tanstack/react-query@5.80.6(react@19.1.0))(react@19.1.0) + '@tiptap/extension-bold': + specifier: ^2.11.7 + version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-bullet-list': + specifier: ^2.11.7 + version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-italic': + specifier: ^2.11.7 + version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-list-item': + specifier: ^2.11.7 + version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-ordered-list': + specifier: ^2.11.7 + version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-placeholder': + specifier: ^2.11.7 + version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0) + '@tiptap/extension-strike': + specifier: ^2.11.7 + version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/react': + specifier: ^2.11.7 + version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@tiptap/starter-kit': + specifier: ^2.11.7 + version: 2.14.0 + '@vercel/functions': + specifier: ^2.0.3 + version: 2.1.0(@aws-sdk/credential-provider-web-identity@3.826.0) + better-auth: + specifier: ^1.2.7 + version: 1.2.9 + class-variance-authority: + specifier: ^0.7.1 + version: 0.7.1 + clsx: + specifier: ^2.1.1 + version: 2.1.1 + csv-parser: + specifier: ^3.2.0 + version: 3.2.0 + embla-carousel-auto-scroll: + specifier: ^8.6.0 + version: 8.6.0(embla-carousel@8.6.0) + embla-carousel-react: + specifier: ^8.6.0 + version: 8.6.0(react@19.1.0) + eslint-config-prettier: + specifier: ^10.1.1 + version: 10.1.5(eslint@9.28.0(jiti@2.4.2)) + framer-motion: + specifier: ^12.7.2 + version: 12.16.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + geist: + specifier: ^1.3.1 + version: 1.4.2(next@15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) + i: + specifier: ^0.3.7 + version: 0.3.7 + is-ua-webview: + specifier: ^1.1.2 + version: 1.1.2 + isomorphic-dompurify: + specifier: ^2.24.0 + version: 2.25.0 + lodash.debounce: + specifier: ^4.0.8 + version: 4.0.8 + lodash.findkey: + specifier: ^4.6.0 + version: 4.6.0 + lodash.set: + specifier: ^4.3.2 + version: 4.3.2 + lottie-react: + specifier: ^2.4.1 + version: 2.4.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + lucide-react: + specifier: ^0.487.0 + version: 0.487.0(react@19.1.0) + mime: + specifier: ^4.0.7 + version: 4.0.7 + nanoid: + specifier: ^5.1.5 + version: 5.1.5 + next: + specifier: 15.2.3 + version: 15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next-international: + specifier: ^1.3.1 + version: 1.3.1 + next-mdx-remote: + specifier: ^5.0.0 + version: 5.0.0(@types/react@19.1.7)(acorn@8.15.0)(react@19.1.0) + next-plausible: + specifier: ^3.12.4 + version: 3.12.4(next@15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next-safe-action: + specifier: ^7.10.4 + version: 7.10.8(next@15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(zod@3.25.57) + next-themes: + specifier: ^0.4.6 + version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + nodemailer: + specifier: ^6.10.0 + version: 6.10.1 + npm: + specifier: ^11.3.0 + version: 11.4.1 + nprogress: + specifier: ^0.2.0 + version: 0.2.0 + nuqs: + specifier: ^2.4.3 + version: 2.4.3(next@15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + pg: + specifier: ^8.14.1 + version: 8.16.0 + prisma: + specifier: ^6.5.0 + version: 6.9.0(typescript@5.8.3) + react: + specifier: ^19.0.0 + version: 19.1.0 + react-calendly: + specifier: ^4.3.1 + version: 4.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-colorful: + specifier: ^5.6.1 + version: 5.6.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-dom: + specifier: ^19.0.0 + version: 19.1.0(react@19.1.0) + react-facebook-pixel: + specifier: ^1.0.4 + version: 1.0.4 + react-hook-form: + specifier: ^7.55.0 + version: 7.57.0(react@19.1.0) + react-icons: + specifier: ^5.5.0 + version: 5.5.0(react@19.1.0) + react-qrcode-logo: + specifier: ^3.0.0 + version: 3.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + resend: + specifier: ^4.2.0 + version: 4.5.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + sharp: + specifier: ^0.34.1 + version: 0.34.2 + sonner: + specifier: ^2.0.3 + version: 2.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + stripe: + specifier: ^18.0.0 + version: 18.2.1(@types/node@20.19.0) + tw-animate-css: + specifier: ^1.2.5 + version: 1.3.4 + usehooks-ts: + specifier: ^3.1.1 + version: 3.1.1(react@19.1.0) + vaul: + specifier: ^1.1.2 + version: 1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + zod: + specifier: ^3.24.2 + version: 3.25.57 + zustand: + specifier: ^5.0.3 + version: 5.0.5(@types/react@19.1.7)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)) + devDependencies: + '@eslint/compat': + specifier: ^1.2.7 + version: 1.2.9(eslint@9.28.0(jiti@2.4.2)) + '@eslint/eslintrc': + specifier: ^3.3.1 + version: 3.3.1 + '@eslint/js': + specifier: ^9.28.0 + version: 9.28.0 + '@next/eslint-plugin-next': + specifier: ^15.2.4 + version: 15.3.3 + '@types/lodash.debounce': + specifier: ^4.0.9 + version: 4.0.9 + '@types/lodash.set': + specifier: ^4.3.9 + version: 4.3.9 + '@types/node': + specifier: ^20 + version: 20.19.0 + '@types/nprogress': + specifier: ^0.2.3 + version: 0.2.3 + '@types/react': + specifier: ^19 + version: 19.1.7 + '@types/react-dom': + specifier: ^19 + version: 19.1.6(@types/react@19.1.7) + '@typescript-eslint/eslint-plugin': + specifier: ^8.29.0 + version: 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': + specifier: ^8.29.0 + version: 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + autoprefixer: + specifier: ^10.4.21 + version: 10.4.21(postcss@8.5.4) + daisyui: + specifier: ^5.0.43 + version: 5.0.43 + eslint: + specifier: ^9.23.0 + version: 9.28.0(jiti@2.4.2) + eslint-config-next: + specifier: 15.2.3 + version: 15.2.3(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + eslint-plugin-import: + specifier: ^2.31.0 + version: 2.31.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)) + eslint-plugin-prettier: + specifier: ^5.2.5 + version: 5.4.1(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(prettier@3.5.3) + eslint-plugin-react: + specifier: ^7.37.4 + version: 7.37.5(eslint@9.28.0(jiti@2.4.2)) + eslint-plugin-react-hooks: + specifier: ^5.2.0 + version: 5.2.0(eslint@9.28.0(jiti@2.4.2)) + eslint-plugin-unused-imports: + specifier: ^4.1.4 + version: 4.1.4(@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2)) + globals: + specifier: ^16.0.0 + version: 16.2.0 + postcss: + specifier: ^8.5.3 + version: 8.5.4 + prettier: + specifier: ^3.4.2 + version: 3.5.3 + prettier-plugin-sort-json: + specifier: ^4.1.1 + version: 4.1.1(prettier@3.5.3) + tailwind-merge: + specifier: ^2.3.0 + version: 2.6.0 + tailwindcss: + specifier: ^3.4.13 + version: 3.4.17 + tailwindcss-animate: + specifier: ^1.0.7 + version: 1.0.7(tailwindcss@3.4.17) + tslog: + specifier: ^4.9.3 + version: 4.9.3 + tsx: + specifier: ^4.19.4 + version: 4.19.4 + typescript: + specifier: ^5 + version: 5.8.3 + typescript-eslint: + specifier: ^8.29.0 + version: 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + +packages: + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@asamuzakjp/css-color@3.2.0': + resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} + + '@auth/core@0.39.1': + resolution: {integrity: sha512-McD8slui0oOA1pjR5sPjLPl5Zm//nLP/8T3kr8hxIsvNLvsiudYvPHhDFPjh1KcZ2nFxCkZmP6bRxaaPd/AnLA==} + peerDependencies: + '@simplewebauthn/browser': ^9.0.1 + '@simplewebauthn/server': ^9.0.2 + nodemailer: ^6.8.0 + peerDependenciesMeta: + '@simplewebauthn/browser': + optional: true + '@simplewebauthn/server': + optional: true + nodemailer: + optional: true + + '@auth/prisma-adapter@2.9.1': + resolution: {integrity: sha512-0ZfjOPt3Ci8yx8SMCydAuBAjR/exI/8SAr6JDVYtqDFhm0JaV1XuHYgEzgzXZZfW2+WKC29LowCWxdCjoAz9kQ==} + peerDependencies: + '@prisma/client': '>=2.26.0 || >=3 || >=4 || >=5 || >=6' + + '@aws-crypto/crc32@5.2.0': + resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/crc32c@5.2.0': + resolution: {integrity: sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==} + + '@aws-crypto/sha1-browser@5.2.0': + resolution: {integrity: sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==} + + '@aws-crypto/sha256-browser@5.2.0': + resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} + + '@aws-crypto/sha256-js@5.2.0': + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/supports-web-crypto@5.2.0': + resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} + + '@aws-crypto/util@5.2.0': + resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + + '@aws-sdk/client-s3@3.826.0': + resolution: {integrity: sha512-odX3C3CEbcBoxB06vgBjJ9jQheFsIFwHmvCIMXn8duuVyIL/klgp14+ICzbEwIgPv7xVjSlycaiURcKS876QHA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/client-sso@3.826.0': + resolution: {integrity: sha512-/FEKnUC3xPkLL4RuRydwzx+y4b55HIX6qLPbGnyIs+sNmCUyc/62ijtV1Ml+b++YzEF6jWNBsJOxeyZdgrJ3Ig==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/core@3.826.0': + resolution: {integrity: sha512-BGbQYzWj3ps+dblq33FY5tz/SsgJCcXX0zjQlSC07tYvU1jHTUvsefphyig+fY38xZ4wdKjbTop+KUmXUYrOXw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-env@3.826.0': + resolution: {integrity: sha512-DK3pQY8+iKK3MGDdC3uOZQ2psU01obaKlTYhEwNu4VWzgwQL4Vi3sWj4xSWGEK41vqZxiRLq6fOq7ysRI+qEZA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-http@3.826.0': + resolution: {integrity: sha512-N+IVZBh+yx/9GbMZTKO/gErBi/FYZQtcFRItoLbY+6WU+0cSWyZYfkoeOxHmQV3iX9k65oljERIWUmL9x6OSQg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-ini@3.826.0': + resolution: {integrity: sha512-g7n+qSklq/Lzjxe2Ke5QFNCgYn26a3ydZnbFIk8QqYin4pzG+qiunaqJjpV3c/EeHMlfK8bBc7MXAylKzGRccQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-node@3.826.0': + resolution: {integrity: sha512-UfIJXxHjmSxH6bea00HBPLkjNI2D04enQA/xNLZvB+4xtzt1/gYdCis1P4/73f5aGVVVB4/zQMobBbnjkrmbQw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-process@3.826.0': + resolution: {integrity: sha512-kURrc4amu3NLtw1yZw7EoLNEVhmOMRUTs+chaNcmS+ERm3yK0nKjaJzmKahmwlTQTSl3wJ8jjK7x962VPo+zWw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-sso@3.826.0': + resolution: {integrity: sha512-F19J3zcfoom6OnQ0MyAtvduVKQXPgkz9i5ExSO01J2CzjbyMhCDA99qAjHYe+LwhW+W7P/jzBPd0+uOQ2Nhh9Q==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-web-identity@3.826.0': + resolution: {integrity: sha512-o27GZ6Hy7qhuvMFVUL2eFEpBzf33Jaa/x3u3SHwU0nL7ko7jmbpeF0x4+wmagpI9X2IvVlUxIs0VaQ3YayPLEA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-bucket-endpoint@3.821.0': + resolution: {integrity: sha512-cebgeytKlWOgGczLo3BPvNY9XlzAzGZQANSysgJ2/8PSldmUpXRIF+GKPXDVhXeInWYHIfB8zZi3RqrPoXcNYQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-expect-continue@3.821.0': + resolution: {integrity: sha512-zAOoSZKe1njOrtynvK6ZORU57YGv5I7KP4+rwOvUN3ZhJbQ7QPf8gKtFUCYAPRMegaXCKF/ADPtDZBAmM+zZ9g==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-flexible-checksums@3.826.0': + resolution: {integrity: sha512-Fz9w8CFYPfSlHEB6feSsi06hdS+s+FB8k5pO4L7IV0tUa78mlhxF/VNlAJaVWYyOkZXl4HPH2K48aapACSQOXw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-host-header@3.821.0': + resolution: {integrity: sha512-xSMR+sopSeWGx5/4pAGhhfMvGBHioVBbqGvDs6pG64xfNwM5vq5s5v6D04e2i+uSTj4qGa71dLUs5I0UzAK3sw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-location-constraint@3.821.0': + resolution: {integrity: sha512-sKrm80k0t3R0on8aA/WhWFoMaAl4yvdk+riotmMElLUpcMcRXAd1+600uFVrxJqZdbrKQ0mjX0PjT68DlkYXLg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-logger@3.821.0': + resolution: {integrity: sha512-0cvI0ipf2tGx7fXYEEN5fBeZDz2RnHyb9xftSgUsEq7NBxjV0yTZfLJw6Za5rjE6snC80dRN8+bTNR1tuG89zA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-recursion-detection@3.821.0': + resolution: {integrity: sha512-efmaifbhBoqKG3bAoEfDdcM8hn1psF+4qa7ykWuYmfmah59JBeqHLfz5W9m9JoTwoKPkFcVLWZxnyZzAnVBOIg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-sdk-s3@3.826.0': + resolution: {integrity: sha512-8F0qWaYKfvD/de1AKccXuigM+gb/IZSncCqxdnFWqd+TFzo9qI9Hh+TpUhWOMYSgxsMsYQ8ipmLzlD/lDhjrmA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-ssec@3.821.0': + resolution: {integrity: sha512-YYi1Hhr2AYiU/24cQc8HIB+SWbQo6FBkMYojVuz/zgrtkFmALxENGF/21OPg7f/QWd+eadZJRxCjmRwh5F2Cxg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-user-agent@3.826.0': + resolution: {integrity: sha512-j404+EcfBbtTlAhyObjXbdKwwDXO1pCxHvR5Fw8FXNvp/H330j6YnXgs3SJ6d3bZUwUJ/ztPx2S5AlBbLVLDFw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/nested-clients@3.826.0': + resolution: {integrity: sha512-p7olPq0uTtHqGuXI1GSc/gzKDvV55PMbLtnmupEDfnY9SoRu+QatbWQ6da9sI1lhOcNmRMgiNQBXFzaUFrG+SQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/region-config-resolver@3.821.0': + resolution: {integrity: sha512-t8og+lRCIIy5nlId0bScNpCkif8sc0LhmtaKsbm0ZPm3sCa/WhCbSZibjbZ28FNjVCV+p0D9RYZx0VDDbtWyjw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/signature-v4-multi-region@3.826.0': + resolution: {integrity: sha512-3fEi/zy6tpMzomYosksGtu7jZqGFcdBXoL7YRsG7OEeQzBbOW9B+fVaQZ4jnsViSjzA/yKydLahMrfPnt+iaxg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/token-providers@3.826.0': + resolution: {integrity: sha512-iCOcVAqGPSHtQL8ZBXifZMEcHyUl9wJ8HvLZ5l1ohA/3ZNP+dqEPGi7jfhR5jZKs+xyp2jxByFqfil9PjI9c5A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/types@3.821.0': + resolution: {integrity: sha512-Znroqdai1a90TlxGaJ+FK1lwC0fHpo97Xjsp5UKGR5JODYm7f9+/fF17ebO1KdoBr/Rm0UIFiF5VmI8ts9F1eA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-arn-parser@3.804.0': + resolution: {integrity: sha512-wmBJqn1DRXnZu3b4EkE6CWnoWMo1ZMvlfkqU5zPz67xx1GMaXlDCchFvKAXMjk4jn/L1O3tKnoFDNsoLV1kgNQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-endpoints@3.821.0': + resolution: {integrity: sha512-Uknt/zUZnLE76zaAAPEayOeF5/4IZ2puTFXvcSCWHsi9m3tqbb9UozlnlVqvCZLCRWfQryZQoG2W4XSS3qgk5A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-locate-window@3.804.0': + resolution: {integrity: sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-user-agent-browser@3.821.0': + resolution: {integrity: sha512-irWZHyM0Jr1xhC+38OuZ7JB6OXMLPZlj48thElpsO1ZSLRkLZx5+I7VV6k3sp2yZ7BYbKz/G2ojSv4wdm7XTLw==} + + '@aws-sdk/util-user-agent-node@3.826.0': + resolution: {integrity: sha512-wHw6bZQWIMcFF/8r03aY9Itp6JLBYY4absGGhCDK1dc3tPEfi8NVSdb05a/Oz+g4TVaDdxLo0OQ/OKMS1DFRHQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + + '@aws-sdk/xml-builder@3.821.0': + resolution: {integrity: sha512-DIIotRnefVL6DiaHtO6/21DhJ4JZnnIwdNbpwiAhdt/AVbttcE4yw925gsjur0OGv5BTYXQXU3YnANBYnZjuQA==} + engines: {node: '>=18.0.0'} + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@better-auth/utils@0.2.5': + resolution: {integrity: sha512-uI2+/8h/zVsH8RrYdG8eUErbuGBk16rZKQfz8CjxQOyCE6v7BqFYEbFwvOkvl1KbUdxhqOnXp78+uE5h8qVEgQ==} + + '@better-fetch/fetch@1.1.18': + resolution: {integrity: sha512-rEFOE1MYIsBmoMJtQbl32PGHHXuG2hDxvEd7rUHE0vCBoFQVSDqaVs9hkZEtHCxRoY+CljXKFCOuJ8uxqw1LcA==} + + '@csstools/color-helpers@5.0.2': + resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==} + engines: {node: '>=18'} + + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-color-parser@3.0.10': + resolution: {integrity: sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + + '@dnd-kit/accessibility@3.1.1': + resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==} + peerDependencies: + react: '>=16.8.0' + + '@dnd-kit/core@6.3.1': + resolution: {integrity: sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@dnd-kit/modifiers@9.0.0': + resolution: {integrity: sha512-ybiLc66qRGuZoC20wdSSG6pDXFikui/dCNGthxv4Ndy8ylErY0N3KVxY2bgo7AWwIbxDmXDg3ylAFmnrjcbVvw==} + peerDependencies: + '@dnd-kit/core': ^6.3.0 + react: '>=16.8.0' + + '@dnd-kit/sortable@10.0.0': + resolution: {integrity: sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==} + peerDependencies: + '@dnd-kit/core': ^6.3.0 + react: '>=16.8.0' + + '@dnd-kit/utilities@3.2.2': + resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==} + peerDependencies: + react: '>=16.8.0' + + '@emnapi/core@1.4.3': + resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} + + '@emnapi/runtime@1.4.3': + resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + + '@emnapi/wasi-threads@1.0.2': + resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} + + '@esbuild/aix-ppc64@0.25.5': + resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.5': + resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.5': + resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.5': + resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.5': + resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.5': + resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.5': + resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.5': + resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.5': + resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.5': + resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.5': + resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.5': + resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.5': + resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.5': + resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.5': + resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.5': + resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.5': + resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.5': + resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.5': + resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.5': + resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.5': + resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.25.5': + resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.5': + resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.5': + resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.5': + resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.7.0': + resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/compat@1.2.9': + resolution: {integrity: sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true + + '@eslint/config-array@0.20.0': + resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.2.2': + resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.14.0': + resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.28.0': + resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.3.1': + resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@floating-ui/core@1.7.1': + resolution: {integrity: sha512-azI0DrjMMfIug/ExbBaeDVJXcY0a7EPvPjb2xAJPa4HeimBX+Z18HK8QQR3jb6356SnDDdxx+hinMLcJEDdOjw==} + + '@floating-ui/dom@1.7.1': + resolution: {integrity: sha512-cwsmW/zyw5ltYTUeeYJ60CnQuPqmGwuGVhG9w0PRaRKkAyi38BT5CKrpIbb+jtahSwUl04cWzSx9ZOIxeS6RsQ==} + + '@floating-ui/react-dom@2.1.3': + resolution: {integrity: sha512-huMBfiU9UnQ2oBwIhgzyIiSpVgvlDstU8CX0AF+wS+KzmYMs0J2a3GwuFHV1Lz+jlrQGeC1fF+Nv0QoumyV0bA==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@floating-ui/utils@0.2.9': + resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} + + '@hexagon/base64@1.1.28': + resolution: {integrity: sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw==} + + '@hookform/resolvers@5.1.1': + resolution: {integrity: sha512-J/NVING3LMAEvexJkyTLjruSm7aOFx7QX21pzkiJfMoNG0wl5aFEjLTl7ay7IQb9EWY6AkrBy7tHL2Alijpdcg==} + peerDependencies: + react-hook-form: ^7.55.0 + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-arm64@0.34.2': + resolution: {integrity: sha512-OfXHZPppddivUJnqyKoi5YVeHRkkNE2zUFT2gbpKxp/JZCFYEYubnMg+gOp6lWfasPrTS+KPosKqdI+ELYVDtg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-darwin-x64@0.34.2': + resolution: {integrity: sha512-dYvWqmjU9VxqXmjEtjmvHnGqF8GrVjM2Epj9rJ6BUIXvk8slvNDJbhGFvIoXzkDhrJC2jUxNLz/GUjjvSzfw+g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.1.0': + resolution: {integrity: sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.1.0': + resolution: {integrity: sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm64@1.1.0': + resolution: {integrity: sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.1.0': + resolution: {integrity: sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-ppc64@1.1.0': + resolution: {integrity: sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==} + cpu: [ppc64] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.1.0': + resolution: {integrity: sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.1.0': + resolution: {integrity: sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.1.0': + resolution: {integrity: sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.1.0': + resolution: {integrity: sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm64@0.34.2': + resolution: {integrity: sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-arm@0.34.2': + resolution: {integrity: sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-s390x@0.34.2': + resolution: {integrity: sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-x64@0.34.2': + resolution: {integrity: sha512-sD7J+h5nFLMMmOXYH4DD9UtSNBD05tWSSdWAcEyzqW8Cn5UxXvsHAxmxSesYUsTOBmUnjtxghKDl15EvfqLFbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.34.2': + resolution: {integrity: sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.34.2': + resolution: {integrity: sha512-DOYMrDm5E6/8bm/yQLCWyuDJwUnlevR8xtF8bs+gjZ7cyUNYXiSf/E8Kp0Ss5xasIaXSHzb888V1BE4i1hFhAA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-wasm32@0.34.2': + resolution: {integrity: sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-arm64@0.34.2': + resolution: {integrity: sha512-cfP/r9FdS63VA5k0xiqaNaEoGxBg9k7uE+RQGzuK9fHt7jib4zAVVseR9LsE4gJcNWgT6APKMNnCcnyOtmSEUQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [win32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-ia32@0.34.2': + resolution: {integrity: sha512-QLjGGvAbj0X/FXl8n1WbtQ6iVBpWU7JO94u/P2M4a8CFYsvQi4GW2mRy/JqkRx0qpBzaOdKJKw8uc930EX2AHw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@img/sharp-win32-x64@0.34.2': + resolution: {integrity: sha512-aUdT6zEYtDKCaxkofmmJDJYGCf0+pJg3eU9/oBuqvEeoB9dKI6ZLc/1iLJCTuJQDO4ptntAlkUmHgGjyuobZbw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@levischuck/tiny-cbor@0.2.11': + resolution: {integrity: sha512-llBRm4dT4Z89aRsm6u2oEZ8tfwL/2l6BwpZ7JcyieouniDECM5AqNgr/y08zalEIvW3RSK4upYyybDcmjXqAow==} + + '@mdx-js/mdx@3.1.0': + resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} + + '@mdx-js/react@3.1.0': + resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + '@napi-rs/wasm-runtime@0.2.11': + resolution: {integrity: sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==} + + '@next/env@15.2.3': + resolution: {integrity: sha512-a26KnbW9DFEUsSxAxKBORR/uD9THoYoKbkpFywMN/AFvboTt94b8+g/07T8J6ACsdLag8/PDU60ov4rPxRAixw==} + + '@next/eslint-plugin-next@15.2.3': + resolution: {integrity: sha512-eNSOIMJtjs+dp4Ms1tB1PPPJUQHP3uZK+OQ7iFY9qXpGO6ojT6imCL+KcUOqE/GXGidWbBZJzYdgAdPHqeCEPA==} + + '@next/eslint-plugin-next@15.3.3': + resolution: {integrity: sha512-VKZJEiEdpKkfBmcokGjHu0vGDG+8CehGs90tBEy/IDoDDKGngeyIStt2MmE5FYNyU9BhgR7tybNWTAJY/30u+Q==} + + '@next/swc-darwin-arm64@15.2.3': + resolution: {integrity: sha512-uaBhA8aLbXLqwjnsHSkxs353WrRgQgiFjduDpc7YXEU0B54IKx3vU+cxQlYwPCyC8uYEEX7THhtQQsfHnvv8dw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@15.2.3': + resolution: {integrity: sha512-pVwKvJ4Zk7h+4hwhqOUuMx7Ib02u3gDX3HXPKIShBi9JlYllI0nU6TWLbPT94dt7FSi6mSBhfc2JrHViwqbOdw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@15.2.3': + resolution: {integrity: sha512-50ibWdn2RuFFkOEUmo9NCcQbbV9ViQOrUfG48zHBCONciHjaUKtHcYFiCwBVuzD08fzvzkWuuZkd4AqbvKO7UQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-arm64-musl@15.2.3': + resolution: {integrity: sha512-2gAPA7P652D3HzR4cLyAuVYwYqjG0mt/3pHSWTCyKZq/N/dJcUAEoNQMyUmwTZWCJRKofB+JPuDVP2aD8w2J6Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-x64-gnu@15.2.3': + resolution: {integrity: sha512-ODSKvrdMgAJOVU4qElflYy1KSZRM3M45JVbeZu42TINCMG3anp7YCBn80RkISV6bhzKwcUqLBAmOiWkaGtBA9w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-linux-x64-musl@15.2.3': + resolution: {integrity: sha512-ZR9kLwCWrlYxwEoytqPi1jhPd1TlsSJWAc+H/CJHmHkf2nD92MQpSRIURR1iNgA/kuFSdxB8xIPt4p/T78kwsg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-win32-arm64-msvc@15.2.3': + resolution: {integrity: sha512-+G2FrDcfm2YDbhDiObDU/qPriWeiz/9cRR0yMWJeTLGGX6/x8oryO3tt7HhodA1vZ8r2ddJPCjtLcpaVl7TE2Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-x64-msvc@15.2.3': + resolution: {integrity: sha512-gHYS9tc+G2W0ZC8rBL+H6RdtXIyk40uLiaos0yj5US85FNhbFEndMA2nW3z47nzOWiSvXTZ5kBClc3rD0zJg0w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@noble/ciphers@0.6.0': + resolution: {integrity: sha512-mIbq/R9QXk5/cTfESb1OKtyFnk7oc1Om/8onA1158K9/OZUQFDEVy55jVTato+xmp3XX6F6Qh0zz0Nc1AxAlRQ==} + + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + + '@openpanel/nextjs@1.0.8': + resolution: {integrity: sha512-1y5T6ARQFysg1DjdLrepP/En7XPUQd1yShvSgC1bkW6k9cwW1v7fbRSCUHmRzhhCt0rs1FGUOuFFwpEF7GRvdA==} + peerDependencies: + next: ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@openpanel/sdk@1.0.0': + resolution: {integrity: sha512-FNmmfjdXoC/VHEjA+WkrQ4lyM5lxEmV7xDd57uj4E+lIS0sU3DLG2mV/dpS8AscnZbUvuMn3kPhiLCqYzuv/gg==} + + '@openpanel/web@1.0.1': + resolution: {integrity: sha512-cVZ7Kr9SicczJ/RDIfEtZs8+1iGDzwkabVA/j3NqSl8VSucsC8m1+LVbjmCDzCJNnK4yVn6tEcc9PJRi2rtllw==} + + '@panva/hkdf@1.2.1': + resolution: {integrity: sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==} + + '@peculiar/asn1-android@2.3.16': + resolution: {integrity: sha512-a1viIv3bIahXNssrOIkXZIlI2ePpZaNmR30d4aBL99mu2rO+mT9D6zBsp7H6eROWGtmwv0Ionp5olJurIo09dw==} + + '@peculiar/asn1-ecc@2.3.15': + resolution: {integrity: sha512-/HtR91dvgog7z/WhCVdxZJ/jitJuIu8iTqiyWVgRE9Ac5imt2sT/E4obqIVGKQw7PIy+X6i8lVBoT6wC73XUgA==} + + '@peculiar/asn1-rsa@2.3.15': + resolution: {integrity: sha512-p6hsanvPhexRtYSOHihLvUUgrJ8y0FtOM97N5UEpC+VifFYyZa0iZ5cXjTkZoDwxJ/TTJ1IJo3HVTB2JJTpXvg==} + + '@peculiar/asn1-schema@2.3.15': + resolution: {integrity: sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w==} + + '@peculiar/asn1-x509@2.3.15': + resolution: {integrity: sha512-0dK5xqTqSLaxv1FHXIcd4Q/BZNuopg+u1l23hT9rOmQ1g4dNtw0g/RnEi+TboB0gOwGtrWn269v27cMgchFIIg==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.2.7': + resolution: {integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@popperjs/core@2.11.8': + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + + '@prisma/client@6.9.0': + resolution: {integrity: sha512-Gg7j1hwy3SgF1KHrh0PZsYvAaykeR0PaxusnLXydehS96voYCGt1U5zVR31NIouYc63hWzidcrir1a7AIyCsNQ==} + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + typescript: '>=5.1.0' + peerDependenciesMeta: + prisma: + optional: true + typescript: + optional: true + + '@prisma/config@6.9.0': + resolution: {integrity: sha512-Wcfk8/lN3WRJd5w4jmNQkUwhUw0eksaU/+BlAJwPQKW10k0h0LC9PD/6TQFmqKVbHQL0vG2z266r0S1MPzzhbA==} + + '@prisma/debug@6.9.0': + resolution: {integrity: sha512-bFeur/qi/Q+Mqk4JdQ3R38upSYPebv5aOyD1RKywVD+rAMLtRkmTFn28ZuTtVOnZHEdtxnNOCH+bPIeSGz1+Fg==} + + '@prisma/engines-version@6.9.0-10.81e4af48011447c3cc503a190e86995b66d2a28e': + resolution: {integrity: sha512-Qp9gMoBHgqhKlrvumZWujmuD7q4DV/gooEyPCLtbkc13EZdSz2RsGUJ5mHb3RJgAbk+dm6XenqG7obJEhXcJ6Q==} + + '@prisma/engines@6.9.0': + resolution: {integrity: sha512-im0X0bwDLA0244CDf8fuvnLuCQcBBdAGgr+ByvGfQY9wWl6EA+kRGwVk8ZIpG65rnlOwtaWIr/ZcEU5pNVvq9g==} + + '@prisma/fetch-engine@6.9.0': + resolution: {integrity: sha512-PMKhJdl4fOdeE3J3NkcWZ+tf3W6rx3ht/rLU8w4SXFRcLhd5+3VcqY4Kslpdm8osca4ej3gTfB3+cSk5pGxgFg==} + + '@prisma/get-platform@6.9.0': + resolution: {integrity: sha512-/B4n+5V1LI/1JQcHp+sUpyRT1bBgZVPHbsC4lt4/19Xp4jvNIVcq5KYNtQDk5e/ukTSjo9PZVAxxy9ieFtlpTQ==} + + '@radix-ui/number@1.1.1': + resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} + + '@radix-ui/primitive@1.1.2': + resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==} + + '@radix-ui/react-accordion@1.2.11': + resolution: {integrity: sha512-l3W5D54emV2ues7jjeG1xcyN7S3jnK3zE2zHqgn0CmMsy9lNJwmgcrmaxS+7ipw15FAivzKNzH3d5EcGoFKw0A==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-alert-dialog@1.1.14': + resolution: {integrity: sha512-IOZfZ3nPvN6lXpJTBCunFQPRSvK8MDgSc1FB85xnIpUKOw9en0dJj8JmCAxV7BiZdtYlUpmrQjoTFkVYtdoWzQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-arrow@1.1.7': + resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-aspect-ratio@1.1.7': + resolution: {integrity: sha512-Yq6lvO9HQyPwev1onK1daHCHqXVLzPhSVjmsNjCa2Zcxy2f7uJD2itDtxknv6FzAKCwD1qQkeVDmX/cev13n/g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-avatar@1.1.10': + resolution: {integrity: sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-collapsible@1.1.11': + resolution: {integrity: sha512-2qrRsVGSCYasSz1RFOorXwl0H7g7J1frQtgpQgYrt+MOidtPAINHn9CPovQXb83r8ahapdx3Tu0fa/pdFFSdPg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-collection@1.1.7': + resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-compose-refs@1.1.2': + resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-context@1.1.2': + resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-dialog@1.1.14': + resolution: {integrity: sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-direction@1.1.1': + resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-dismissable-layer@1.1.10': + resolution: {integrity: sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-dropdown-menu@2.1.15': + resolution: {integrity: sha512-mIBnOjgwo9AH3FyKaSWoSu/dYj6VdhJ7frEPiGTeXCdUFHjl9h3mFh2wwhEtINOmYXWhdpf1rY2minFsmaNgVQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-focus-guards@1.1.2': + resolution: {integrity: sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-focus-scope@1.1.7': + resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-hover-card@1.1.14': + resolution: {integrity: sha512-CPYZ24Mhirm+g6D8jArmLzjYu4Eyg3TTUHswR26QgzXBHBe64BO/RHOJKzmF/Dxb4y4f9PKyJdwm/O/AhNkb+Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-icons@1.3.2': + resolution: {integrity: sha512-fyQIhGDhzfc9pK2kH6Pl9c4BDJGfMkPqkyIgYDthyNYoNg3wVhoJMMh19WS4Up/1KMPFVpNsT2q3WmXn2N1m6g==} + peerDependencies: + react: ^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc + + '@radix-ui/react-id@1.1.1': + resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-label@2.1.7': + resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-menu@2.1.15': + resolution: {integrity: sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-navigation-menu@1.2.13': + resolution: {integrity: sha512-WG8wWfDiJlSF5hELjwfjSGOXcBR/ZMhBFCGYe8vERpC39CQYZeq1PQ2kaYHdye3V95d06H89KGMsVCIE4LWo3g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-popover@1.1.14': + resolution: {integrity: sha512-ODz16+1iIbGUfFEfKx2HTPKizg2MN39uIOV8MXeHnmdd3i/N9Wt7vU46wbHsqA0xoaQyXVcs0KIlBdOA2Y95bw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-popper@1.2.7': + resolution: {integrity: sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-portal@1.1.9': + resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-presence@1.1.4': + resolution: {integrity: sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-primitive@2.1.3': + resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-radio-group@1.3.7': + resolution: {integrity: sha512-9w5XhD0KPOrm92OTTE0SysH3sYzHsSTHNvZgUBo/VZ80VdYyB5RneDbc0dKpURS24IxkoFRu/hI0i4XyfFwY6g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-roving-focus@1.1.10': + resolution: {integrity: sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-scroll-area@1.2.9': + resolution: {integrity: sha512-YSjEfBXnhUELsO2VzjdtYYD4CfQjvao+lhhrX5XsHD7/cyUNzljF1FHEbgTPN7LH2MClfwRMIsYlqTYpKTTe2A==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-select@2.2.5': + resolution: {integrity: sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-separator@1.1.7': + resolution: {integrity: sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-slider@1.3.5': + resolution: {integrity: sha512-rkfe2pU2NBAYfGaxa3Mqosi7VZEWX5CxKaanRv0vZd4Zhl9fvQrg0VM93dv3xGLGfrHuoTRF3JXH8nb9g+B3fw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-slot@1.2.3': + resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-switch@1.2.5': + resolution: {integrity: sha512-5ijLkak6ZMylXsaImpZ8u4Rlf5grRmoc0p0QeX9VJtlrM4f5m3nCTX8tWga/zOA8PZYIR/t0p2Mnvd7InrJ6yQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-tabs@1.1.12': + resolution: {integrity: sha512-GTVAlRVrQrSw3cEARM0nAx73ixrWDPNZAruETn3oHCNP6SbZ/hNxdxp+u7VkIEv3/sFoLq1PfcHrl7Pnp0CDpw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-toast@1.2.14': + resolution: {integrity: sha512-nAP5FBxBJGQ/YfUB+r+O6USFVkWq3gAInkxyEnmvEV5jtSbfDhfa4hwX8CraCnbjMLsE7XSf/K75l9xXY7joWg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-tooltip@1.2.7': + resolution: {integrity: sha512-Ap+fNYwKTYJ9pzqW+Xe2HtMRbQ/EeWkj2qykZ6SuEV4iS/o1bZI5ssJbk4D2r8XuDuOBVz/tIx2JObtuqU+5Zw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-use-callback-ref@1.1.1': + resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.2.2': + resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-effect-event@0.0.2': + resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-escape-keydown@1.1.1': + resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-is-hydrated@0.1.0': + resolution: {integrity: sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.1.1': + resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-previous@1.1.1': + resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-rect@1.1.1': + resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-size@1.1.1': + resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-visually-hidden@1.2.3': + resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/rect@1.1.1': + resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} + + '@react-email/body@0.0.11': + resolution: {integrity: sha512-ZSD2SxVSgUjHGrB0Wi+4tu3MEpB4fYSbezsFNEJk2xCWDBkFiOeEsjTmR5dvi+CxTK691hQTQlHv0XWuP7ENTg==} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/button@0.0.19': + resolution: {integrity: sha512-HYHrhyVGt7rdM/ls6FuuD6XE7fa7bjZTJqB2byn6/oGsfiEZaogY77OtoLL/mrQHjHjZiJadtAMSik9XLcm7+A==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/code-block@0.0.11': + resolution: {integrity: sha512-4D43p+LIMjDzm66gTDrZch0Flkip5je91mAT7iGs6+SbPyalHgIA+lFQoQwhz/VzHHLxuD0LV6gwmU/WUQ2WEg==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/code-inline@0.0.5': + resolution: {integrity: sha512-MmAsOzdJpzsnY2cZoPHFPk6uDO/Ncpb4Kh1hAt9UZc1xOW3fIzpe1Pi9y9p6wwUmpaeeDalJxAxH6/fnTquinA==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/column@0.0.13': + resolution: {integrity: sha512-Lqq17l7ShzJG/d3b1w/+lVO+gp2FM05ZUo/nW0rjxB8xBICXOVv6PqjDnn3FXKssvhO5qAV20lHM6S+spRhEwQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/components@0.0.35': + resolution: {integrity: sha512-if1kLih4pfARgsXacs9eD9O3BVtRWxKRz1jjSWWiyk32eeFJLtWjBaoF8nsxQxk4w5nfqjAHVFBrxXQceB7xDQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/container@0.0.15': + resolution: {integrity: sha512-Qo2IQo0ru2kZq47REmHW3iXjAQaKu4tpeq/M8m1zHIVwKduL2vYOBQWbC2oDnMtWPmkBjej6XxgtZByxM6cCFg==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/font@0.0.9': + resolution: {integrity: sha512-4zjq23oT9APXkerqeslPH3OZWuh5X4crHK6nx82mVHV2SrLba8+8dPEnWbaACWTNjOCbcLIzaC9unk7Wq2MIXw==} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/head@0.0.12': + resolution: {integrity: sha512-X2Ii6dDFMF+D4niNwMAHbTkeCjlYYnMsd7edXOsi0JByxt9wNyZ9EnhFiBoQdqkE+SMDcu8TlNNttMrf5sJeMA==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/heading@0.0.15': + resolution: {integrity: sha512-xF2GqsvBrp/HbRHWEfOgSfRFX+Q8I5KBEIG5+Lv3Vb2R/NYr0s8A5JhHHGf2pWBMJdbP4B2WHgj/VUrhy8dkIg==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/hr@0.0.11': + resolution: {integrity: sha512-S1gZHVhwOsd1Iad5IFhpfICwNPMGPJidG/Uysy1AwmspyoAP5a4Iw3OWEpINFdgh9MHladbxcLKO2AJO+cA9Lw==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/html@0.0.11': + resolution: {integrity: sha512-qJhbOQy5VW5qzU74AimjAR9FRFQfrMa7dn4gkEXKMB/S9xZN8e1yC1uA9C15jkXI/PzmJ0muDIWmFwatm5/+VA==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/img@0.0.11': + resolution: {integrity: sha512-aGc8Y6U5C3igoMaqAJKsCpkbm1XjguQ09Acd+YcTKwjnC2+0w3yGUJkjWB2vTx4tN8dCqQCXO8FmdJpMfOA9EQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/link@0.0.12': + resolution: {integrity: sha512-vF+xxQk2fGS1CN7UPQDbzvcBGfffr+GjTPNiWM38fhBfsLv6A/YUfaqxWlmL7zLzVmo0K2cvvV9wxlSyNba1aQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/markdown@0.0.14': + resolution: {integrity: sha512-5IsobCyPkb4XwnQO8uFfGcNOxnsg3311GRXhJ3uKv51P7Jxme4ycC/MITnwIZ10w2zx7HIyTiqVzTj4XbuIHbg==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/preview@0.0.12': + resolution: {integrity: sha512-g/H5fa9PQPDK6WUEG7iTlC19sAktI23qyoiJtMLqQiXFCfWeQMhqjLGKeLSKkfzszqmfJCjZtpSiKtBoOdxp3Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/render@1.0.5': + resolution: {integrity: sha512-CA69HYXPk21HhtAXATIr+9JJwpDNmAFCvdMUjWmeoD1+KhJ9NAxusMRxKNeibdZdslmq3edaeOKGbdQ9qjK8LQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/render@1.1.2': + resolution: {integrity: sha512-RnRehYN3v9gVlNMehHPHhyp2RQo7+pSkHDtXPvg3s0GbzM9SQMW4Qrf8GRNvtpLC4gsI+Wt0VatNRUFqjvevbw==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/row@0.0.12': + resolution: {integrity: sha512-HkCdnEjvK3o+n0y0tZKXYhIXUNPDx+2vq1dJTmqappVHXS5tXS6W5JOPZr5j+eoZ8gY3PShI2LWj5rWF7ZEtIQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/section@0.0.16': + resolution: {integrity: sha512-FjqF9xQ8FoeUZYKSdt8sMIKvoT9XF8BrzhT3xiFKdEMwYNbsDflcjfErJe3jb7Wj/es/lKTbV5QR1dnLzGpL3w==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/tailwind@1.0.4': + resolution: {integrity: sha512-tJdcusncdqgvTUYZIuhNC6LYTfL9vNTSQpwWdTCQhQ1lsrNCEE4OKCSdzSV3S9F32pi0i0xQ+YPJHKIzGjdTSA==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/tailwind@1.0.5': + resolution: {integrity: sha512-BH00cZSeFfP9HiDASl+sPHi7Hh77W5nzDgdnxtsVr/m3uQD9g180UwxcE3PhOfx0vRdLzQUU8PtmvvDfbztKQg==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/text@0.1.1': + resolution: {integrity: sha512-Zo9tSEzkO3fODLVH1yVhzVCiwETfeEL5wU93jXKWo2DHoMuiZ9Iabaso3T0D0UjhrCB1PBMeq2YiejqeToTyIQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@remirror/core-constants@3.0.0': + resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==} + + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + + '@rushstack/eslint-patch@1.11.0': + resolution: {integrity: sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==} + + '@selderee/plugin-htmlparser2@0.11.0': + resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} + + '@simplewebauthn/browser@13.1.0': + resolution: {integrity: sha512-WuHZ/PYvyPJ9nxSzgHtOEjogBhwJfC8xzYkPC+rR/+8chl/ft4ngjiK8kSU5HtRJfczupyOh33b25TjYbvwAcg==} + + '@simplewebauthn/server@13.1.1': + resolution: {integrity: sha512-1hsLpRHfSuMB9ee2aAdh0Htza/X3f4djhYISrggqGe3xopNjOcePiSDkDDoPzDYaaMCrbqGP1H2TYU7bgL9PmA==} + engines: {node: '>=20.0.0'} + + '@smithy/abort-controller@4.0.4': + resolution: {integrity: sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==} + engines: {node: '>=18.0.0'} + + '@smithy/chunked-blob-reader-native@4.0.0': + resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==} + engines: {node: '>=18.0.0'} + + '@smithy/chunked-blob-reader@5.0.0': + resolution: {integrity: sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==} + engines: {node: '>=18.0.0'} + + '@smithy/config-resolver@4.1.4': + resolution: {integrity: sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==} + engines: {node: '>=18.0.0'} + + '@smithy/core@3.5.3': + resolution: {integrity: sha512-xa5byV9fEguZNofCclv6v9ra0FYh5FATQW/da7FQUVTic94DfrN/NvmKZjrMyzbpqfot9ZjBaO8U1UeTbmSLuA==} + engines: {node: '>=18.0.0'} + + '@smithy/credential-provider-imds@4.0.6': + resolution: {integrity: sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-codec@4.0.4': + resolution: {integrity: sha512-7XoWfZqWb/QoR/rAU4VSi0mWnO2vu9/ltS6JZ5ZSZv0eovLVfDfu0/AX4ub33RsJTOth3TiFWSHS5YdztvFnig==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-browser@4.0.4': + resolution: {integrity: sha512-3fb/9SYaYqbpy/z/H3yIi0bYKyAa89y6xPmIqwr2vQiUT2St+avRt8UKwsWt9fEdEasc5d/V+QjrviRaX1JRFA==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-config-resolver@4.1.2': + resolution: {integrity: sha512-JGtambizrWP50xHgbzZI04IWU7LdI0nh/wGbqH3sJesYToMi2j/DcoElqyOcqEIG/D4tNyxgRuaqBXWE3zOFhQ==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-node@4.0.4': + resolution: {integrity: sha512-RD6UwNZ5zISpOWPuhVgRz60GkSIp0dy1fuZmj4RYmqLVRtejFqQ16WmfYDdoSoAjlp1LX+FnZo+/hkdmyyGZ1w==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-universal@4.0.4': + resolution: {integrity: sha512-UeJpOmLGhq1SLox79QWw/0n2PFX+oPRE1ZyRMxPIaFEfCqWaqpB7BU9C8kpPOGEhLF7AwEqfFbtwNxGy4ReENA==} + engines: {node: '>=18.0.0'} + + '@smithy/fetch-http-handler@5.0.4': + resolution: {integrity: sha512-AMtBR5pHppYMVD7z7G+OlHHAcgAN7v0kVKEpHuTO4Gb199Gowh0taYi9oDStFeUhetkeP55JLSVlTW1n9rFtUw==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-blob-browser@4.0.4': + resolution: {integrity: sha512-WszRiACJiQV3QG6XMV44i5YWlkrlsM5Yxgz4jvsksuu7LDXA6wAtypfPajtNTadzpJy3KyJPoWehYpmZGKUFIQ==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-node@4.0.4': + resolution: {integrity: sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-stream-node@4.0.4': + resolution: {integrity: sha512-wHo0d8GXyVmpmMh/qOR0R7Y46/G1y6OR8U+bSTB4ppEzRxd1xVAQ9xOE9hOc0bSjhz0ujCPAbfNLkLrpa6cevg==} + engines: {node: '>=18.0.0'} + + '@smithy/invalid-dependency@4.0.4': + resolution: {integrity: sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==} + engines: {node: '>=18.0.0'} + + '@smithy/is-array-buffer@2.2.0': + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} + + '@smithy/is-array-buffer@4.0.0': + resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} + engines: {node: '>=18.0.0'} + + '@smithy/md5-js@4.0.4': + resolution: {integrity: sha512-uGLBVqcOwrLvGh/v/jw423yWHq/ofUGK1W31M2TNspLQbUV1Va0F5kTxtirkoHawODAZcjXTSGi7JwbnPcDPJg==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-content-length@4.0.4': + resolution: {integrity: sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-endpoint@4.1.11': + resolution: {integrity: sha512-zDogwtRLzKl58lVS8wPcARevFZNBOOqnmzWWxVe9XiaXU2CADFjvJ9XfNibgkOWs08sxLuSr81NrpY4mgp9OwQ==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-retry@4.1.12': + resolution: {integrity: sha512-wvIH70c4e91NtRxdaLZF+mbLZ/HcC6yg7ySKUiufL6ESp6zJUSnJucZ309AvG9nqCFHSRB5I6T3Ez1Q9wCh0Ww==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-serde@4.0.8': + resolution: {integrity: sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-stack@4.0.4': + resolution: {integrity: sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==} + engines: {node: '>=18.0.0'} + + '@smithy/node-config-provider@4.1.3': + resolution: {integrity: sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==} + engines: {node: '>=18.0.0'} + + '@smithy/node-http-handler@4.0.6': + resolution: {integrity: sha512-NqbmSz7AW2rvw4kXhKGrYTiJVDHnMsFnX4i+/FzcZAfbOBauPYs2ekuECkSbtqaxETLLTu9Rl/ex6+I2BKErPA==} + engines: {node: '>=18.0.0'} + + '@smithy/property-provider@4.0.4': + resolution: {integrity: sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==} + engines: {node: '>=18.0.0'} + + '@smithy/protocol-http@5.1.2': + resolution: {integrity: sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-builder@4.0.4': + resolution: {integrity: sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-parser@4.0.4': + resolution: {integrity: sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==} + engines: {node: '>=18.0.0'} + + '@smithy/service-error-classification@4.0.5': + resolution: {integrity: sha512-LvcfhrnCBvCmTee81pRlh1F39yTS/+kYleVeLCwNtkY8wtGg8V/ca9rbZZvYIl8OjlMtL6KIjaiL/lgVqHD2nA==} + engines: {node: '>=18.0.0'} + + '@smithy/shared-ini-file-loader@4.0.4': + resolution: {integrity: sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==} + engines: {node: '>=18.0.0'} + + '@smithy/signature-v4@5.1.2': + resolution: {integrity: sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==} + engines: {node: '>=18.0.0'} + + '@smithy/smithy-client@4.4.3': + resolution: {integrity: sha512-xxzNYgA0HD6ETCe5QJubsxP0hQH3QK3kbpJz3QrosBCuIWyEXLR/CO5hFb2OeawEKUxMNhz3a1nuJNN2np2RMA==} + engines: {node: '>=18.0.0'} + + '@smithy/types@4.3.1': + resolution: {integrity: sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==} + engines: {node: '>=18.0.0'} + + '@smithy/url-parser@4.0.4': + resolution: {integrity: sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-base64@4.0.0': + resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-browser@4.0.0': + resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-node@4.0.0': + resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-buffer-from@2.2.0': + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-buffer-from@4.0.0': + resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} + engines: {node: '>=18.0.0'} + + '@smithy/util-config-provider@4.0.0': + resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-browser@4.0.19': + resolution: {integrity: sha512-mvLMh87xSmQrV5XqnUYEPoiFFeEGYeAKIDDKdhE2ahqitm8OHM3aSvhqL6rrK6wm1brIk90JhxDf5lf2hbrLbQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-node@4.0.19': + resolution: {integrity: sha512-8tYnx+LUfj6m+zkUUIrIQJxPM1xVxfRBvoGHua7R/i6qAxOMjqR6CpEpDwKoIs1o0+hOjGvkKE23CafKL0vJ9w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-endpoints@3.0.6': + resolution: {integrity: sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-hex-encoding@4.0.0': + resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-middleware@4.0.4': + resolution: {integrity: sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-retry@4.0.5': + resolution: {integrity: sha512-V7MSjVDTlEt/plmOFBn1762Dyu5uqMrV2Pl2X0dYk4XvWfdWJNe9Bs5Bzb56wkCuiWjSfClVMGcsuKrGj7S/yg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-stream@4.2.2': + resolution: {integrity: sha512-aI+GLi7MJoVxg24/3J1ipwLoYzgkB4kUfogZfnslcYlynj3xsQ0e7vk4TnTro9hhsS5PvX1mwmkRqqHQjwcU7w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-uri-escape@4.0.0': + resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-utf8@2.3.0': + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} + + '@smithy/util-utf8@4.0.0': + resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} + engines: {node: '>=18.0.0'} + + '@smithy/util-waiter@4.0.5': + resolution: {integrity: sha512-4QvC49HTteI1gfemu0I1syWovJgPvGn7CVUoN9ZFkdvr/cCFkrEL7qNCdx/2eICqDWEGnnr68oMdSIPCLAriSQ==} + engines: {node: '>=18.0.0'} + + '@standard-schema/utils@0.3.0': + resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + + '@t3-oss/env-core@0.12.0': + resolution: {integrity: sha512-lOPj8d9nJJTt81mMuN9GMk8x5veOt7q9m11OSnCBJhwp1QrL/qR+M8Y467ULBSm9SunosryWNbmQQbgoiMgcdw==} + peerDependencies: + typescript: '>=5.0.0' + valibot: ^1.0.0-beta.7 || ^1.0.0 + zod: ^3.24.0 + peerDependenciesMeta: + typescript: + optional: true + valibot: + optional: true + zod: + optional: true + + '@t3-oss/env-nextjs@0.12.0': + resolution: {integrity: sha512-rFnvYk1049RnNVUPvY8iQ55AuQh1Rr+qZzQBh3t++RttCGK4COpXGNxS4+45afuQq02lu+QAOy/5955aU8hRKw==} + peerDependencies: + typescript: '>=5.0.0' + valibot: ^1.0.0-beta.7 || ^1.0.0 + zod: ^3.24.0 + peerDependenciesMeta: + typescript: + optional: true + valibot: + optional: true + zod: + optional: true + + '@tailwindcss/typography@0.5.16': + resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' + + '@tanstack/query-core@5.80.6': + resolution: {integrity: sha512-nl7YxT/TAU+VTf+e2zTkObGTyY8YZBMnbgeA1ee66lIVqzKlYursAII6z5t0e6rXgwUMJSV4dshBTNacNpZHbQ==} + + '@tanstack/query-devtools@5.80.0': + resolution: {integrity: sha512-D6gH4asyjaoXrCOt5vG5Og/YSj0D/TxwNQgtLJIgWbhbWCC/emu2E92EFoVHh4ppVWg1qT2gKHvKyQBEFZhCuA==} + + '@tanstack/react-query-devtools@5.80.6': + resolution: {integrity: sha512-y7Es0OJ4RYQxrPYsuuQP0jxjgJ40a03UbEPmJ6vwf/ERVMRoRIMkpjtvPxf1D+n9nwPfWmGdD0jW8Wxd+TxeEw==} + peerDependencies: + '@tanstack/react-query': ^5.80.6 + react: ^18 || ^19 + + '@tanstack/react-query@5.80.6': + resolution: {integrity: sha512-izX+5CnkpON3NQGcEm3/d7LfFQNo9ZpFtX2QsINgCYK9LT2VCIdi8D3bMaMSNhrAJCznRoAkFic76uvLroALBw==} + peerDependencies: + react: ^18 || ^19 + + '@tiptap/core@2.14.0': + resolution: {integrity: sha512-MBSMzGYRFlwYCocvx3dU7zpCBSDQ0qWByNtStaEzuBUgzCJ6wn2DP/xG0cMcLmE3Ia0VLM4nwbLOAAvBXOtylA==} + peerDependencies: + '@tiptap/pm': ^2.7.0 + + '@tiptap/extension-blockquote@2.14.0': + resolution: {integrity: sha512-AwqPP0jLYNioKxakiVw0vlfH/ceGFbV+SGoqBbPSGFPRdSbHhxHDNBlTtiThmT3N2PiVwXAD9xislJV+WY4GUA==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-bold@2.14.0': + resolution: {integrity: sha512-8DWwelH55H8KtLECSIv0wh8x/F/6lpagV/pMvT+Azujad0oqK+1iAPKU/kLgjXbFSkisrpV6KSwQts5neCtfRQ==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-bubble-menu@2.14.0': + resolution: {integrity: sha512-sN15n0RjPh+2Asvxs7l47hVEvX6c0aPempU8QQWcPUlHoGf1D/XkyHXy6GWVPSxZ5Rj5uAwgKvhHsG/FJ/YGKQ==} + peerDependencies: + '@tiptap/core': ^2.7.0 + '@tiptap/pm': ^2.7.0 + + '@tiptap/extension-bullet-list@2.14.0': + resolution: {integrity: sha512-SWnL4bP8Mm/mWN42AMQNoqYE0V6LgSBTVsHwwAki2wIUQdr9HyoAnohvHy3IME56NMwoyZyo+Mzl45wOqUxziA==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-code-block@2.14.0': + resolution: {integrity: sha512-LRYYZeh8U2XgfTsJ4houB9s9cVRt7PRfVa4MaCeOYKfowVOKQh67yV5oom8Azk9XrMPkPxDmMmdPAEPxeVYFvw==} + peerDependencies: + '@tiptap/core': ^2.7.0 + '@tiptap/pm': ^2.7.0 + + '@tiptap/extension-code@2.14.0': + resolution: {integrity: sha512-kyo02mnzqgwXayMcyRA/fHQgb+nMmQQpIt1irZwjtEoFZshA7NnY/6b5SJmRcxQ4/X4r2Y2Ha2sWmOcEkLmt4A==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-document@2.14.0': + resolution: {integrity: sha512-qwEgpPIJ3AgXdEtRTr88hODbXRdt14VAwLj27PTSqexB5V7Ra1Jy7iQDhqRwBCoUomVywBsWYxkSuDisSRG+9w==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-dropcursor@2.14.0': + resolution: {integrity: sha512-FIh5cdPuoPKvZ0GqSKhzMZGixm05ac3hSgqhMNCBZmXX459qBUI9CvDl/uzSnY9koBDeLVV3HYMthWQQLSXl9A==} + peerDependencies: + '@tiptap/core': ^2.7.0 + '@tiptap/pm': ^2.7.0 + + '@tiptap/extension-floating-menu@2.14.0': + resolution: {integrity: sha512-Khx7M7RfZlD1/T/PUlpJmao6FtEBa2L6td2hhaW1USflwGJGk0U/ud4UEqh+aZoJZrkot/EMhEvzmORF3nq+xw==} + peerDependencies: + '@tiptap/core': ^2.7.0 + '@tiptap/pm': ^2.7.0 + + '@tiptap/extension-gapcursor@2.14.0': + resolution: {integrity: sha512-as+SqC39FRshw4Fm1XVlrdSXveiusf5xiC4nuefLmXsUxO7Yx67x8jS0/VQbxWTLHZ6R1YEW8prLtnxGmVLCAQ==} + peerDependencies: + '@tiptap/core': ^2.7.0 + '@tiptap/pm': ^2.7.0 + + '@tiptap/extension-hard-break@2.14.0': + resolution: {integrity: sha512-A8c8n8881iBq3AusNqibh6Hloybr+FgYdg4Lg4jNxbbEaL0WhyLFge1bWlGVpbHXFqdv5YldMUAu6Rop3FhNvw==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-heading@2.14.0': + resolution: {integrity: sha512-vM//6G3Ox3mxPv9eilhrDqylELCc8kEP1aQ4xUuOw7vCidjNtGggOa1ERnnpV2dCa2A9E8y4FHtN4Xh29stXQg==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-history@2.14.0': + resolution: {integrity: sha512-/qnOHQFCEPfkb3caykqd+sqzEC2gx30EQB/mM7+5kIG7CQy7XXaGjFAEaqzE1xJ783Q2E7GVk4JxWM+3NhYSLw==} + peerDependencies: + '@tiptap/core': ^2.7.0 + '@tiptap/pm': ^2.7.0 + + '@tiptap/extension-horizontal-rule@2.14.0': + resolution: {integrity: sha512-OrKWgHOhmJtVHjPYaEJetNLiNEvrI85lTrGxzeQa+a8ACb93h4svyHe9J+LHs5pKkXDQFcpYEXJntu0LVLLiDw==} + peerDependencies: + '@tiptap/core': ^2.7.0 + '@tiptap/pm': ^2.7.0 + + '@tiptap/extension-italic@2.14.0': + resolution: {integrity: sha512-yEw2S+smoVR8DMYQMAWckVW2Sstf7z5+GBZ8zm8NMGhMKb1JFCPZUv5KTTIPnq7ZrKuuZHvjN9+Ef1dRYD8T2A==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-list-item@2.14.0': + resolution: {integrity: sha512-t1jXDPEd82sC6vZVE/12/CB52uuiydCIcRfwdh21xNgBMckToKO9S0K6XEp4ROtrKQdlIH2JDVPfpUBvVrYN8Q==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-ordered-list@2.14.0': + resolution: {integrity: sha512-QUZcyuW9AKvSfpFHcGmbyRCqxcpY0VNf0xipEtogxbA+JDDw3ZSPqU1dUgz9wk00RahPTwNDdY5aVjdQ5N4N9Q==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-paragraph@2.14.0': + resolution: {integrity: sha512-bsQesVpgvDS2e+wr2fp59QO7rWRp2FqcJvBafwXS3Br9U5Mx3eFYryx4wC7cUnhlhUwX5pmaoA7zISgV9dZDgg==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-placeholder@2.14.0': + resolution: {integrity: sha512-xzfjHvuukbch4i5O/5uyS2K2QgNEaMKi6e6GExTTgVwnFjKfJmgTqee33tt5JCqSItBvtSZlU3SX/vpiaIof+w==} + peerDependencies: + '@tiptap/core': ^2.7.0 + '@tiptap/pm': ^2.7.0 + + '@tiptap/extension-strike@2.14.0': + resolution: {integrity: sha512-rD5d/IL3XPfBOrHRHxt+b+0X1jbIbWONGiad/3sX0ZYQD3PandtCWboH40r/J5tFksebuY12dVYyYQKgLpDBOQ==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-text-style@2.14.0': + resolution: {integrity: sha512-dl0oi2i0rjLpBqTf4wGy6SLidvPpjxLcmX727pwJlCklkFJVDf8wSFeD4ddxJXiD2Rwef0D/lkcwXSY73CoDcA==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/extension-text@2.14.0': + resolution: {integrity: sha512-rHny566nGZHq61zRLwQ9BPG55W/O+eDKwUJl+LhrLiVWwzpvAl9QQYixtoxJKOY48VK41PKwxe3bgDYgNs/Fhg==} + peerDependencies: + '@tiptap/core': ^2.7.0 + + '@tiptap/pm@2.14.0': + resolution: {integrity: sha512-cnsfaIlvTFCDtLP/A2Fd3LmpttgY0O/tuTM2fC71vetONz83wUTYT+aD9uvxdX0GkSocoh840b0TsEazbBxhpA==} + + '@tiptap/react@2.14.0': + resolution: {integrity: sha512-6mtksbT2+EWXFLdHVFag9PSoh0GXPmL97Cm+4sJoyECUmBkAyoErapAccmZIljyMaVIHBYpYkNdp9Pw1B73ezw==} + peerDependencies: + '@tiptap/core': ^2.7.0 + '@tiptap/pm': ^2.7.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@tiptap/starter-kit@2.14.0': + resolution: {integrity: sha512-Z1bKAfHl14quRI3McmdU+bs675jp6/iexEQTI9M9oHa6l3McFF38g9N3xRpPPX02MX83DghsUPupndUW/yJvEQ==} + + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/linkify-it@5.0.0': + resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} + + '@types/lodash.debounce@4.0.9': + resolution: {integrity: sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==} + + '@types/lodash.set@4.3.9': + resolution: {integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==} + + '@types/lodash@4.17.17': + resolution: {integrity: sha512-RRVJ+J3J+WmyOTqnz3PiBLA501eKwXl2noseKOrNo/6+XEHjTAxO4xHvxQB6QuNm+s4WRbn6rSiap8+EA+ykFQ==} + + '@types/markdown-it@14.1.2': + resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdurl@2.0.0': + resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node@20.19.0': + resolution: {integrity: sha512-hfrc+1tud1xcdVTABC2JiomZJEklMcXYNTVtZLAeqTVWD+qL5jkHKT+1lOtqDdGxt+mB53DTtiz673vfjU8D1Q==} + + '@types/nprogress@0.2.3': + resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} + + '@types/react-dom@19.1.6': + resolution: {integrity: sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==} + peerDependencies: + '@types/react': ^19.0.0 + + '@types/react@19.1.7': + resolution: {integrity: sha512-BnsPLV43ddr05N71gaGzyZ5hzkCmGwhMvYc8zmvI8Ci1bRkkDSzDDVfAXfN2tk748OwI7ediiPX6PfT9p0QGVg==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/use-sync-external-store@0.0.6': + resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==} + + '@typescript-eslint/eslint-plugin@8.34.0': + resolution: {integrity: sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.34.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/parser@8.34.0': + resolution: {integrity: sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/project-service@8.34.0': + resolution: {integrity: sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/scope-manager@8.34.0': + resolution: {integrity: sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.34.0': + resolution: {integrity: sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/type-utils@8.34.0': + resolution: {integrity: sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/types@8.34.0': + resolution: {integrity: sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.34.0': + resolution: {integrity: sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/utils@8.34.0': + resolution: {integrity: sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/visitor-keys@8.34.0': + resolution: {integrity: sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + '@unrs/resolver-binding-darwin-arm64@1.7.13': + resolution: {integrity: sha512-LIKeCzNSkTWwGHjtiUIfvS96+7kpuyrKq2pzw/0XT2S8ykczj40Hh27oLTbXguCX8tGrCoaD2yXxzwqMMhAzhA==} + cpu: [arm64] + os: [darwin] + + '@unrs/resolver-binding-darwin-x64@1.7.13': + resolution: {integrity: sha512-GB5G3qUNrdo2l6xaZehpz1ln4wCQ75tr51HZ8OQEcX6XkBIFVL9E4ikCZvCmRmUgKGR+zP5ogyFib7ZbIMWKWA==} + cpu: [x64] + os: [darwin] + + '@unrs/resolver-binding-freebsd-x64@1.7.13': + resolution: {integrity: sha512-rb8gzoBgqVhDkQiKaq+MrFPhNK3x8XkSFhgU55LfgOa5skv7KIdM3dELKzQVNZNlY49DuZmm0FsEfHK5xPKKiA==} + cpu: [x64] + os: [freebsd] + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.13': + resolution: {integrity: sha512-bqdzngbTGzhsqhTV3SWECyZUAyvtewKtrCW4E8QPcK6yHSaN0k1h9gKwNOBxFwIqkQRsAibpm18XDum8M5AiCw==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm-musleabihf@1.7.13': + resolution: {integrity: sha512-vkoL3DSS5tsUNLhNtBJWaqDJNNEQsMCr0o2N02sLCSpe5S8TQHz+klQT42Qgj4PqATMwnG3OF0QQ5BH0oAKIPg==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-gnu@1.7.13': + resolution: {integrity: sha512-uNpLKxlDF+NF6aUztbAVhhFSF65zf/6QEfk5NifUgYFbpBObzvMnl2ydEsXV96spwPcmeNTpG9byvq+Twwd3HQ==} + cpu: [arm64] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-musl@1.7.13': + resolution: {integrity: sha512-mEFL6q7vtxA6YJ9sLbxCnKOBynOvClVOcqwUErmaCxA94hgP11rlstouySxJCGeFAb8KfUX9mui82waYrqoBlQ==} + cpu: [arm64] + os: [linux] + + '@unrs/resolver-binding-linux-ppc64-gnu@1.7.13': + resolution: {integrity: sha512-MjJaNk8HK3rCOIPS6AQPJXlrDfG1LaePum+CZddHZygPqDNZyVrVdWTadT+U51vIx5QOdEE0oXcgTY+7VYsU1g==} + cpu: [ppc64] + os: [linux] + + '@unrs/resolver-binding-linux-riscv64-gnu@1.7.13': + resolution: {integrity: sha512-9gAuT1+ed2eIuOXHSu4SdJOe7SUEzPTpOTEuTjGePvMEoWHywY5pvlcY7xMn3d8rhKHpwMzEhl8F8Oy+rkudzA==} + cpu: [riscv64] + os: [linux] + + '@unrs/resolver-binding-linux-riscv64-musl@1.7.13': + resolution: {integrity: sha512-CNrJythJN9jC8SIJGoawebYylzGNJuWAWTKxxxx5Fr3DGEXbex/We4U7N4u6/dQAK3cLVOuAE/9a4D2JH35JIA==} + cpu: [riscv64] + os: [linux] + + '@unrs/resolver-binding-linux-s390x-gnu@1.7.13': + resolution: {integrity: sha512-J0MVXXPvM2Bv+f+gzOZHLHEmXUJNKwJqkfMDTwE763w/tD+OA7UlTMLQihrcYRXwW5jZ8nbM2cEWTeFsTiH2JQ==} + cpu: [s390x] + os: [linux] + + '@unrs/resolver-binding-linux-x64-gnu@1.7.13': + resolution: {integrity: sha512-Ii2WhtIpeWUe6XG/YhPUX3JNL3PiyXe56PJzqAYDUyB0gctkk/nngpuPnNKlLMcN9FID0T39mIJPhA6YpRcGDQ==} + cpu: [x64] + os: [linux] + + '@unrs/resolver-binding-linux-x64-musl@1.7.13': + resolution: {integrity: sha512-8F5E9EhtGYkfEM1OhyVgq76+SnMF5NfZS4v5Rq9JlfuqPnqXWgUjg903hxnG54PQr4I3jmG5bEeT77pGAA3Vvg==} + cpu: [x64] + os: [linux] + + '@unrs/resolver-binding-wasm32-wasi@1.7.13': + resolution: {integrity: sha512-7RXGTyDtyR/5o1FlBcjEaQQmQ2rKvu5Jq0Uhvce3PsbreZ61M4LQ5Mey2OMomIq4opphAkfDdm/lkHhWJNKNrw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@unrs/resolver-binding-win32-arm64-msvc@1.7.13': + resolution: {integrity: sha512-MomJVcaVZe3j+CvkcfIVEcQyOOzauKpJYGY8d6PoKXn1FalMVGHX9/c0kXCI0WCK+CRGMExAiQhD8jkhyUVKxg==} + cpu: [arm64] + os: [win32] + + '@unrs/resolver-binding-win32-ia32-msvc@1.7.13': + resolution: {integrity: sha512-pnHfzbFj6e4gUARI1Yvz0TUhmFZae248O7JOMCSmSBN3R35RJiKyHmsMuIiPrUYWDzm5jUMPTxSs+b3Ipawusw==} + cpu: [ia32] + os: [win32] + + '@unrs/resolver-binding-win32-x64-msvc@1.7.13': + resolution: {integrity: sha512-tI0+FTntE3BD0UxhTP12F/iTtkeMK+qh72/2aSxPZnTlOcMR9CTJid8CdppbSjj9wenq7PNcqScLtpPENH3Lvg==} + cpu: [x64] + os: [win32] + + '@vercel/functions@2.1.0': + resolution: {integrity: sha512-1gSbK9zfrbJxk1JTBVERDhLi01mK3fz+gw4GjOjZwHnqs0zsBhQA70HGVtXQX/Z3BTRMfbpAEMVDfhecRw0lDA==} + engines: {node: '>= 18'} + peerDependencies: + '@aws-sdk/credential-provider-web-identity': '*' + peerDependenciesMeta: + '@aws-sdk/credential-provider-web-identity': + optional: true + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@7.1.3: + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + engines: {node: '>= 14'} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-includes@3.1.9: + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlastindex@1.2.6: + resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} + + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + asn1js@3.0.6: + resolution: {integrity: sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA==} + engines: {node: '>=12.0.0'} + + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axe-core@4.10.3: + resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} + engines: {node: '>=4'} + + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + better-auth@1.2.9: + resolution: {integrity: sha512-WLqBXDzuaCQetQctLGC5oTfGmL32zUvxnM4Y+LZkhwseMaZWq5EKI+c/ZATgz2YkFt7726q659PF8CfB9P1VuA==} + + better-call@1.0.9: + resolution: {integrity: sha512-Qfm0gjk0XQz0oI7qvTK1hbqTsBY4xV2hsHAxF8LZfUYl3RaECCIifXuVqtPpZJWvlCCMlQSvkvhhyuApGUba6g==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bowser@2.11.0: + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.25.0: + resolution: {integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + caniuse-lite@1.0.30001721: + resolution: {integrity: sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + crelt@1.0.6: + resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssstyle@4.4.0: + resolution: {integrity: sha512-W0Y2HOXlPkb2yaKrCVRjinYKciu/qSLEmK0K9mcfDei3zwlnHFEHAs/Du3cIRwPqY+J4JsiBzUjoHyc8RsJ03A==} + engines: {node: '>=18'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + csv-parser@3.2.0: + resolution: {integrity: sha512-fgKbp+AJbn1h2dcAHKIdKNSSjfp43BZZykXsCjzALjKy80VXQNHPFJ6T9Afwdzoj24aMkq8GwDS7KGcDPpejrA==} + engines: {node: '>= 10'} + hasBin: true + + daisyui@5.0.43: + resolution: {integrity: sha512-2pshHJ73vetSpsbAyaOncGnNYL0mwvgseS1EWy1I9Qpw8D11OuBoDNIWrPIME4UFcq2xuff3A9x+eXbuFR9fUQ==} + + damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + + data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decimal.js@10.5.0: + resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} + + decode-named-character-reference@1.1.0: + resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@2.0.4: + resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + engines: {node: '>=8'} + + detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + dompurify@3.2.6: + resolution: {integrity: sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.5.166: + resolution: {integrity: sha512-QPWqHL0BglzPYyJJ1zSSmwFFL6MFXhbACOCcsCdUMCkzPdS9/OIBVxg516X/Ado2qwAq8k0nJJ7phQPCqiaFAw==} + + embla-carousel-auto-scroll@8.6.0: + resolution: {integrity: sha512-WT9fWhNXFpbQ6kP+aS07oF5IHYLZ1Dx4DkwgCY8Hv2ZyYd2KMCPfMV1q/cA3wFGuLO7GMgKiySLX90/pQkcOdQ==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-react@8.6.0: + resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==} + peerDependencies: + react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + + embla-carousel-reactive-utils@8.6.0: + resolution: {integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel@8.6.0: + resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + es-abstract@1.24.0: + resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.2.1: + resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.1.0: + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + + esbuild@0.25.5: + resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-next@15.2.3: + resolution: {integrity: sha512-VDQwbajhNMFmrhLWVyUXCqsGPN+zz5G8Ys/QwFubfsxTIrkqdx3N3x3QPW+pERz8bzGPP0IgEm8cNbZcd8PFRQ==} + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 || ^9.0.0 + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + + eslint-config-prettier@10.1.5: + resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-import-resolver-typescript@3.10.1: + resolution: {integrity: sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-import@2.31.0: + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-jsx-a11y@6.10.2: + resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + + eslint-plugin-prettier@5.4.1: + resolution: {integrity: sha512-9dF+KuU/Ilkq27A8idRP7N2DH8iUR6qXcjF3FR2wETY21PZdBrIjwCau8oboyGj9b7etWmTGEeM8e7oOed6ZWg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' + prettier: ^3.4.2 + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-plugin-react-hooks@5.2.0: + resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + + eslint-plugin-react@7.37.5: + resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + + eslint-plugin-unused-imports@4.1.4: + resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 + eslint: ^9.0.0 || ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.28.0: + resolution: {integrity: sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-scope@1.0.0: + resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@2.0.1: + resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + hasBin: true + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fdir@6.4.6: + resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + framer-motion@12.16.0: + resolution: {integrity: sha512-xryrmD4jSBQrS2IkMdcTmiS4aSKckbS7kLDCuhUn9110SQKG1w3zlq1RTqCblewg+ZYe+m3sdtzQA6cRwo5g8Q==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + geist@1.4.2: + resolution: {integrity: sha512-OQUga/KUc8ueijck6EbtT07L4tZ5+TZgjw8PyWfxo16sL5FWk7gNViPNU8hgCFjy6bJi9yuTP+CRpywzaGN8zw==} + peerDependencies: + next: '>=13.2.0' + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.10.1: + resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@16.2.0: + resolution: {integrity: sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==} + engines: {node: '>=18'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} + + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} + + html-to-text@9.0.5: + resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} + engines: {node: '>=14'} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + i@0.3.7: + resolution: {integrity: sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==} + engines: {node: '>=0.4'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inline-style-parser@0.2.4: + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + international-types@0.8.1: + resolution: {integrity: sha512-tajBCAHo4I0LIFlmQ9ZWfjMWVyRffzuvfbXCd6ssFt5u1Zw15DN0UBpVTItXdNa1ls+cpQt3Yw8+TxsfGF8JcA==} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-bun-module@2.0.0: + resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-ua-webview@1.1.2: + resolution: {integrity: sha512-xX3WpvJGmT0EjmGRQxs4AgaBd4EWNr4lWCWGOgd40by6DWOQZN9RIOCsEaVp41crZqzWr8AsM+2x8UC2ZAuLPA==} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isomorphic-dompurify@2.25.0: + resolution: {integrity: sha512-bcpJzu9DOjN21qaCVpcoCwUX1ytpvA6EFqCK5RNtPg5+F0Jz9PX50jl6jbEicBNeO87eDDfC7XtPs4zjDClZJg==} + engines: {node: '>=18'} + + iterator.prototype@1.1.5: + resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} + engines: {node: '>= 0.4'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + + jose@5.10.0: + resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} + + jose@6.0.11: + resolution: {integrity: sha512-QxG7EaliDARm1O1S8BGakqncGT9s25bKL1WSf6/oa17Tkqwi8D2ZNglqCF+DsYF88/rV66Q/Q2mFAy697E1DUg==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsdom@26.1.0: + resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} + engines: {node: '>=18'} + peerDependencies: + canvas: ^3.0.0 + peerDependenciesMeta: + canvas: + optional: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kysely@0.28.2: + resolution: {integrity: sha512-4YAVLoF0Sf0UTqlhgQMFU9iQECdah7n+13ANkiuVfRvlK+uI0Etbgd7bVP36dKlG+NXWbhGua8vnGt+sdhvT7A==} + engines: {node: '>=18.0.0'} + + language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} + + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + + leac@0.6.0: + resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.castarray@4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.findkey@4.6.0: + resolution: {integrity: sha512-Y+f2R8KsUDJVqdfeai01P5A1IQeMWsMG1p0rghzdhIl7TIap47Y2Z5UJK8x4pstixNL56KVHFRE1IW9jvRwy4g==} + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.set@4.3.2: + resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lottie-react@2.4.1: + resolution: {integrity: sha512-LQrH7jlkigIIv++wIyrOYFLHSKQpEY4zehPicL9bQsrt1rnoKRYCYgpCUe5maqylNtacy58/sQDZTkwMcTRxZw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + lottie-web@5.13.0: + resolution: {integrity: sha512-+gfBXl6sxXMPe8tKQm7qzLnUy5DUPJPKIyRHwtpCpyUEYjHYRJC/5gjUvdkuO2c3JllrPtHXH5UJJK8LRYl5yQ==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lucide-react@0.487.0: + resolution: {integrity: sha512-aKqhOQ+YmFnwq8dWgGjOuLc8V1R9/c/yOd+zDY4+ohsR2Jo05lSGc3WsstYPIzcTpeosN7LoCkLReUUITvaIvw==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + hasBin: true + + marked@7.0.4: + resolution: {integrity: sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ==} + engines: {node: '>= 16'} + hasBin: true + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + md-to-react-email@5.0.5: + resolution: {integrity: sha512-OvAXqwq57uOk+WZqFFNCMZz8yDp8BD3WazW1wAKHUrPbbdr89K9DWS6JXY09vd9xNdPNeurI8DU/X4flcfaD8A==} + peerDependencies: + react: ^18.0 || ^19.0 + + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} + + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime@4.0.7: + resolution: {integrity: sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==} + engines: {node: '>=16'} + hasBin: true + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + motion-dom@12.16.0: + resolution: {integrity: sha512-Z2nGwWrrdH4egLEtgYMCEN4V2qQt1qxlKy/uV7w691ztyA41Q5Rbn0KNGbsNVDZr9E8PD2IOQ3hSccRnB6xWzw==} + + motion-utils@12.12.1: + resolution: {integrity: sha512-f9qiqUHm7hWSLlNW8gS9pisnsN7CRFRD58vNjptKdsqFLpkVnX00TNeD6Q0d27V9KzT7ySFyK1TZ/DShfVOv6w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanoid@5.1.5: + resolution: {integrity: sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==} + engines: {node: ^18 || >=20} + hasBin: true + + nanostores@0.11.4: + resolution: {integrity: sha512-k1oiVNN4hDK8NcNERSZLQiMfRzEGtfnvZvdBvey3SQbgn8Dcrk0h1I6vpxApjb10PFUflZrgJ2WEZyJQ+5v7YQ==} + engines: {node: ^18.0.0 || >=20.0.0} + + napi-postinstall@0.2.4: + resolution: {integrity: sha512-ZEzHJwBhZ8qQSbknHqYcdtQVr8zUgGyM/q6h6qAyhtyVMNrSgDhrC4disf03dYW0e+czXyLnZINnCTEkWy0eJg==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + next-international@1.3.1: + resolution: {integrity: sha512-ydU9jQe+4MohMWltbZae/yuWeKhmp0QKQqJNNi8WCCMwrly03qfMAHw/tWbT2qgAlG++CxF5jMXmGQZgOHeVOw==} + + next-mdx-remote@5.0.0: + resolution: {integrity: sha512-RNNbqRpK9/dcIFZs/esQhuLA8jANqlH694yqoDBK8hkVdJUndzzGmnPHa2nyi90N4Z9VmzuSWNRpr5ItT3M7xQ==} + engines: {node: '>=14', npm: '>=7'} + peerDependencies: + react: '>=16' + + next-plausible@3.12.4: + resolution: {integrity: sha512-cD3+ixJxf8yBYvsideTxqli3fvrB7R4BXcvsNJz8Sm2X1QN039WfiXjCyNWkub4h5++rRs6fHhchUMnOuJokcg==} + peerDependencies: + next: '^11.1.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 ' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + next-safe-action@7.10.8: + resolution: {integrity: sha512-cTBoPWtvQ0t83N0a5zaveOh9vP2g3//d0hgzPJ4ch1EXCyt9+bavbVNgyOYbzWUwFerppHeFXPYsg7pbRulLQw==} + engines: {node: '>=18.17'} + peerDependencies: + '@sinclair/typebox': '>= 0.33.3' + next: '>= 14.0.0' + react: '>= 18.2.0' + react-dom: '>= 18.2.0' + valibot: '>= 0.36.0' + yup: '>= 1.0.0' + zod: '>= 3.0.0' + peerDependenciesMeta: + '@sinclair/typebox': + optional: true + valibot: + optional: true + yup: + optional: true + zod: + optional: true + + next-themes@0.4.6: + resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} + peerDependencies: + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + + next@15.2.3: + resolution: {integrity: sha512-x6eDkZxk2rPpu46E1ZVUWIBhYCLszmUY6fvHBFcbzJ9dD+qRX6vcHusaqqDlnY+VngKzKbAiG2iRCkPbmi8f7w==} + engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + nodemailer@6.10.1: + resolution: {integrity: sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA==} + engines: {node: '>=6.0.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + npm@11.4.1: + resolution: {integrity: sha512-/O5DiEFmtvnF0EU1+5VlDpcItpSKH3l+3fQOl3hkZ3ilGN+jJlGxxi/zb0rEK+zxd8pGyifVPyS1ORkMjZGAKw==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + bundledDependencies: + - '@isaacs/string-locale-compare' + - '@npmcli/arborist' + - '@npmcli/config' + - '@npmcli/fs' + - '@npmcli/map-workspaces' + - '@npmcli/package-json' + - '@npmcli/promise-spawn' + - '@npmcli/redact' + - '@npmcli/run-script' + - '@sigstore/tuf' + - abbrev + - archy + - cacache + - chalk + - ci-info + - cli-columns + - fastest-levenshtein + - fs-minipass + - glob + - graceful-fs + - hosted-git-info + - ini + - init-package-json + - is-cidr + - json-parse-even-better-errors + - libnpmaccess + - libnpmdiff + - libnpmexec + - libnpmfund + - libnpmorg + - libnpmpack + - libnpmpublish + - libnpmsearch + - libnpmteam + - libnpmversion + - make-fetch-happen + - minimatch + - minipass + - minipass-pipeline + - ms + - node-gyp + - nopt + - normalize-package-data + - npm-audit-report + - npm-install-checks + - npm-package-arg + - npm-pick-manifest + - npm-profile + - npm-registry-fetch + - npm-user-validate + - p-map + - pacote + - parse-conflict-json + - proc-log + - qrcode-terminal + - read + - semver + - spdx-expression-parse + - ssri + - supports-color + - tar + - text-table + - tiny-relative-date + - treeverse + - validate-npm-package-name + - which + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nuqs@2.4.3: + resolution: {integrity: sha512-BgtlYpvRwLYiJuWzxt34q2bXu/AIS66sLU1QePIMr2LWkb+XH0vKXdbLSgn9t6p7QKzwI7f38rX3Wl9llTXQ8Q==} + peerDependencies: + '@remix-run/react': '>=2' + next: '>=14.2.0' + react: '>=18.2.0 || ^19.0.0-0' + react-router: ^6 || ^7 + react-router-dom: ^6 || ^7 + peerDependenciesMeta: + '@remix-run/react': + optional: true + next: + optional: true + react-router: + optional: true + react-router-dom: + optional: true + + nwsapi@2.2.20: + resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} + + oauth4webapi@3.5.2: + resolution: {integrity: sha512-VYz5BaP3izIrUc1GAVzIoz4JnljiW0YAUFObMBwsqDnfHxz2sjLu3W7/8vE8Ms9IbMewN9+1kcvhY3tMscAeGQ==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.entries@1.1.9: + resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + orderedmap@2.1.1: + resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==} + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + + parseley@0.12.1: + resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + peberminta@0.9.0: + resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} + + pg-cloudflare@1.2.5: + resolution: {integrity: sha512-OOX22Vt0vOSRrdoUPKJ8Wi2OpE/o/h9T8X1s4qSkCedbNah9ei2W2765be8iMVxQUsvgT7zIAT2eIa9fs5+vtg==} + + pg-connection-string@2.9.0: + resolution: {integrity: sha512-P2DEBKuvh5RClafLngkAuGe9OUlFV7ebu8w1kmaaOgPcpJd1RIFh7otETfI6hAR8YupOLFTY7nuvvIn7PLciUQ==} + + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-pool@3.10.0: + resolution: {integrity: sha512-DzZ26On4sQ0KmqnO34muPcmKbhrjmyiO4lCCR0VwEd7MjmiKf5NTg/6+apUEu0NF7ESa37CGzFxH513CoUmWnA==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.10.0: + resolution: {integrity: sha512-IpdytjudNuLv8nhlHs/UrVBhU0e78J0oIS/0AVdTbWxSOkFUVdsHC/NrorO6nXsQNDTT1kzDSOMJubBQviX18Q==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg@8.16.0: + resolution: {integrity: sha512-7SKfdvP8CTNXjMUzfcVTaI+TDzBEeaUnVwiVGZQD1Hh33Kpev7liQba9uLd4CfN8r9mCVsD0JIpq03+Unpz+kg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + + pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.5.4: + resolution: {integrity: sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==} + engines: {node: ^10 || ^12 || >=14} + + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + + preact-render-to-string@6.5.11: + resolution: {integrity: sha512-ubnauqoGczeGISiOh6RjX0/cdaF8v/oDXIjO85XALCQjwQP+SB4RDXXtvZ6yTYSjG+PC1QRP2AhPgCEsM2EvUw==} + peerDependencies: + preact: '>=10' + + preact@10.24.3: + resolution: {integrity: sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA==} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier-plugin-sort-json@4.1.1: + resolution: {integrity: sha512-uJ49wCzwJ/foKKV4tIPxqi4jFFvwUzw4oACMRG2dcmDhBKrxBv0L2wSKkAqHCmxKCvj0xcCZS4jO2kSJO/tRJw==} + engines: {node: '>=18.0.0'} + peerDependencies: + prettier: ^3.4.2 + + prettier@3.5.3: + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + engines: {node: '>=14'} + hasBin: true + + prisma@6.9.0: + resolution: {integrity: sha512-resJAwMyZREC/I40LF6FZ6rZTnlrlrYrb63oW37Gq+U+9xHwbyMSPJjKtM7VZf3gTO86t/Oyz+YeSXr3CmAY1Q==} + engines: {node: '>=18.18'} + hasBin: true + peerDependencies: + typescript: '>=5.1.0' + peerDependenciesMeta: + typescript: + optional: true + + prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + + prosemirror-changeset@2.3.1: + resolution: {integrity: sha512-j0kORIBm8ayJNl3zQvD1TTPHJX3g042et6y/KQhZhnPrruO8exkTgG8X+NRpj7kIyMMEx74Xb3DyMIBtO0IKkQ==} + + prosemirror-collab@1.3.1: + resolution: {integrity: sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==} + + prosemirror-commands@1.7.1: + resolution: {integrity: sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==} + + prosemirror-dropcursor@1.8.2: + resolution: {integrity: sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==} + + prosemirror-gapcursor@1.3.2: + resolution: {integrity: sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==} + + prosemirror-history@1.4.1: + resolution: {integrity: sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==} + + prosemirror-inputrules@1.5.0: + resolution: {integrity: sha512-K0xJRCmt+uSw7xesnHmcn72yBGTbY45vm8gXI4LZXbx2Z0jwh5aF9xrGQgrVPu0WbyFVFF3E/o9VhJYz6SQWnA==} + + prosemirror-keymap@1.2.3: + resolution: {integrity: sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==} + + prosemirror-markdown@1.13.2: + resolution: {integrity: sha512-FPD9rHPdA9fqzNmIIDhhnYQ6WgNoSWX9StUZ8LEKapaXU9i6XgykaHKhp6XMyXlOWetmaFgGDS/nu/w9/vUc5g==} + + prosemirror-menu@1.2.5: + resolution: {integrity: sha512-qwXzynnpBIeg1D7BAtjOusR+81xCp53j7iWu/IargiRZqRjGIlQuu1f3jFi+ehrHhWMLoyOQTSRx/IWZJqOYtQ==} + + prosemirror-model@1.25.1: + resolution: {integrity: sha512-AUvbm7qqmpZa5d9fPKMvH1Q5bqYQvAZWOGRvxsB6iFLyycvC9MwNemNVjHVrWgjaoxAfY8XVg7DbvQ/qxvI9Eg==} + + prosemirror-schema-basic@1.2.4: + resolution: {integrity: sha512-ELxP4TlX3yr2v5rM7Sb70SqStq5NvI15c0j9j/gjsrO5vaw+fnnpovCLEGIcpeGfifkuqJwl4fon6b+KdrODYQ==} + + prosemirror-schema-list@1.5.1: + resolution: {integrity: sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==} + + prosemirror-state@1.4.3: + resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==} + + prosemirror-tables@1.7.1: + resolution: {integrity: sha512-eRQ97Bf+i9Eby99QbyAiyov43iOKgWa7QCGly+lrDt7efZ1v8NWolhXiB43hSDGIXT1UXgbs4KJN3a06FGpr1Q==} + + prosemirror-trailing-node@3.0.0: + resolution: {integrity: sha512-xiun5/3q0w5eRnGYfNlW1uU9W6x5MoFKWwq/0TIRgt09lv7Hcser2QYV8t4muXbEr+Fwo0geYn79Xs4GKywrRQ==} + peerDependencies: + prosemirror-model: ^1.22.1 + prosemirror-state: ^1.4.2 + prosemirror-view: ^1.33.8 + + prosemirror-transform@1.10.4: + resolution: {integrity: sha512-pwDy22nAnGqNR1feOQKHxoFkkUtepoFAd3r2hbEDsnf4wp57kKA36hXsB3njA9FtONBEwSDnDeCiJe+ItD+ykw==} + + prosemirror-view@1.40.0: + resolution: {integrity: sha512-2G3svX0Cr1sJjkD/DYWSe3cfV5VPVTBOxI9XQEGWJDFEpsZb/gh4MV29ctv+OJx2RFX4BLt09i+6zaGM/ldkCw==} + + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pvtsutils@1.3.6: + resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} + + pvutils@1.1.3: + resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} + engines: {node: '>=6.0.0'} + + qrcode-generator@1.5.0: + resolution: {integrity: sha512-sqo7otiDq5rA4djRkFI7IjLQqxRrLpIou0d3rqr03JJLUGf5raPh91xCio+lFFbQf0SlcVckStz0EmDEX3EeZA==} + + qs@6.14.0: + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-calendly@4.4.0: + resolution: {integrity: sha512-kMd8fEby0plL5aCebhjq9aesOJ6YWcmR3Pjs3bufncykrp7b6TryaCnWGoq4xZc/oipyudAVCIRgPVUjUEr8nQ==} + engines: {node: '>=8', npm: '>=5'} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + react-colorful@5.6.1: + resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + react-dom@19.1.0: + resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} + peerDependencies: + react: ^19.1.0 + + react-facebook-pixel@1.0.4: + resolution: {integrity: sha512-givZY8MS0v/mdbRzvcvouBo/j0TtDiu/93f4gIjJXwDDgwlf6bYUiQvb2qcqjluOOD/hIKUQHNYLNsSOnoEklg==} + + react-hook-form@7.57.0: + resolution: {integrity: sha512-RbEks3+cbvTP84l/VXGUZ+JMrKOS8ykQCRYdm5aYsxnDquL0vspsyNhGRO7pcH6hsZqWlPOjLye7rJqdtdAmlg==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 || ^19 + + react-icons@5.5.0: + resolution: {integrity: sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==} + peerDependencies: + react: '*' + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-promise-suspense@0.3.4: + resolution: {integrity: sha512-I42jl7L3Ze6kZaq+7zXWSunBa3b1on5yfvUW6Eo/3fFOj6dZ5Bqmcd264nJbTK/gn1HjjILAjSwnZbV4RpSaNQ==} + + react-qrcode-logo@3.0.0: + resolution: {integrity: sha512-2+vZ3GNBdUpYxIKyt6SFZsDGXa0xniyUQ0wPI4O0hJTzRjttPIx1pPnH9IWQmp/4nDMoN47IBhi3Breu1KudYw==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + react-remove-scroll-bar@2.3.8: + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.7.1: + resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + react-style-singleton@2.2.3: + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + react@19.1.0: + resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} + engines: {node: '>=0.10.0'} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + + recma-jsx@1.0.0: + resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==} + + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} + + remark-mdx@3.1.0: + resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + + resend@4.5.2: + resolution: {integrity: sha512-Uu11/254nkDFgVXQp18rzuz+9kRy5Ud4qr7FW98Yg4I4jkDKX1cr/8JKdrcJI753oknEq69/i3VTLbtrveQUGw==} + engines: {node: '>=18'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rope-sequence@1.3.4: + resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==} + + rou3@0.5.1: + resolution: {integrity: sha512-OXMmJ3zRk2xeXFGfA3K+EOPHC5u7RDFG7lIOx0X1pdnhUkI8MdVrbV+sNsD80ElpUZ+MRHdyxPnFthq9VHs8uQ==} + + rrweb-cssom@0.8.0: + resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + + scheduler@0.26.0: + resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + + selderee@0.11.0: + resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + server-only@0.0.1: + resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} + + set-cookie-parser@2.7.1: + resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + + sharp@0.34.2: + resolution: {integrity: sha512-lszvBmB9QURERtyKT2bNmsgxXK0ShJrL/fvqlonCo7e6xBF8nT8xU6pW+PMIbLsz0RxQk3rgH9kd8UmvOzlMJg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + sonner@2.0.5: + resolution: {integrity: sha512-YwbHQO6cSso3HBXlbCkgrgzDNIhws14r4MO87Ofy+cV2X7ES4pOoAK3+veSmVTvqNx1BWUxlhPmZzP00Crk2aQ==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + stable-hash@0.0.5: + resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} + + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.includes@2.0.1: + resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} + engines: {node: '>= 0.4'} + + string.prototype.matchall@4.0.12: + resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} + engines: {node: '>= 0.4'} + + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + stripe@18.2.1: + resolution: {integrity: sha512-GwB1B7WSwEBzW4dilgyJruUYhbGMscrwuyHsPUmSRKrGHZ5poSh2oU9XKdii5BFVJzXHn35geRvGJ6R8bYcp8w==} + engines: {node: '>=12.*'} + peerDependencies: + '@types/node': '>=12.x.x' + peerDependenciesMeta: + '@types/node': + optional: true + + strnum@1.1.2: + resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} + + style-to-js@1.1.16: + resolution: {integrity: sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==} + + style-to-object@1.0.8: + resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} + + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + synckit@0.11.8: + resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} + engines: {node: ^14.18.0 || >=16.0.0} + + tailwind-merge@2.6.0: + resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} + + tailwindcss-animate@1.0.7: + resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + engines: {node: '>=14.0.0'} + hasBin: true + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + + tippy.js@6.3.7: + resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} + + tldts-core@6.1.86: + resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} + + tldts@6.1.86: + resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} + hasBin: true + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + tough-cookie@5.1.2: + resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} + engines: {node: '>=16'} + + tr46@5.1.1: + resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} + engines: {node: '>=18'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tslog@4.9.3: + resolution: {integrity: sha512-oDWuGVONxhVEBtschLf2cs/Jy8i7h1T+CpdkTNWQgdAF7DhRo2G8vMCgILKe7ojdEkLhICWgI1LYSSKaJsRgcw==} + engines: {node: '>=16'} + + tsx@4.19.4: + resolution: {integrity: sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==} + engines: {node: '>=18.0.0'} + hasBin: true + + tw-animate-css@1.3.4: + resolution: {integrity: sha512-dd1Ht6/YQHcNbq0znIT6dG8uhO7Ce+VIIhZUhjsryXsMPJQz3bZg7Q2eNzLwipb25bRZslGb2myio5mScd1TFg==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typescript-eslint@8.34.0: + resolution: {integrity: sha512-MRpfN7uYjTrTGigFCt8sRyNqJFhjN0WwZecldaqhWm+wy0gaRt8Edb/3cuUy0zdq2opJWT6iXINKAtewnDOltQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + engines: {node: '>=14.17'} + hasBin: true + + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove@3.1.1: + resolution: {integrity: sha512-kfCqZK5YVY5yEa89tvpl7KnBBHu2c6CzMkqHUrlOqaRgGOMp0sMvwWOVrbAtj03KhovQB7i96Gda72v/EFE0vw==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + unrs-resolver@1.7.13: + resolution: {integrity: sha512-QUjCYKAgrdJpf3wA73zWjOrO7ra19lfnwQ8HRkNOLah5AVDqOS38UunnyhzsSL8AE+2/AGnAHxlr8cGshCP35A==} + + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + use-callback-ref@1.3.3: + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + use-sidecar@1.1.3: + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + use-sync-external-store@1.5.0: + resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + usehooks-ts@3.1.1: + resolution: {integrity: sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==} + engines: {node: '>=16.15.0'} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + vaul@1.1.2: + resolution: {integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + + vfile-matter@5.0.1: + resolution: {integrity: sha512-o6roP82AiX0XfkyTHyRCMXgHfltUNlXSEqCIS80f+mbAyiQBE2fxtDVMtseyytGx75sihiJFo/zR6r/4LTs2Cw==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + + w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + + whatwg-url@14.2.0: + resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} + engines: {node: '>=18'} + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + ws@8.18.2: + resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} + 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 + + xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + yaml@2.8.0: + resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + engines: {node: '>= 14.6'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod@3.25.57: + resolution: {integrity: sha512-6tgzLuwVST5oLUxXTmBqoinKMd3JeesgbgseXeFasKKj8Q1FCZrHnbqJOyiEvr4cVAlbug+CgIsmJ8cl/pU5FA==} + + zustand@5.0.5: + resolution: {integrity: sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@alloc/quick-lru@5.2.0': {} + + '@asamuzakjp/css-color@3.2.0': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + lru-cache: 10.4.3 + + '@auth/core@0.39.1(nodemailer@6.10.1)': + dependencies: + '@panva/hkdf': 1.2.1 + jose: 6.0.11 + oauth4webapi: 3.5.2 + preact: 10.24.3 + preact-render-to-string: 6.5.11(preact@10.24.3) + optionalDependencies: + nodemailer: 6.10.1 + + '@auth/prisma-adapter@2.9.1(@prisma/client@6.9.0(prisma@6.9.0(typescript@5.8.3))(typescript@5.8.3))(nodemailer@6.10.1)': + dependencies: + '@auth/core': 0.39.1(nodemailer@6.10.1) + '@prisma/client': 6.9.0(prisma@6.9.0(typescript@5.8.3))(typescript@5.8.3) + transitivePeerDependencies: + - '@simplewebauthn/browser' + - '@simplewebauthn/server' + - nodemailer + + '@aws-crypto/crc32@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.821.0 + tslib: 2.8.1 + + '@aws-crypto/crc32c@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.821.0 + tslib: 2.8.1 + + '@aws-crypto/sha1-browser@5.2.0': + dependencies: + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.821.0 + '@aws-sdk/util-locate-window': 3.804.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-crypto/sha256-browser@5.2.0': + dependencies: + '@aws-crypto/sha256-js': 5.2.0 + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.821.0 + '@aws-sdk/util-locate-window': 3.804.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-crypto/sha256-js@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.821.0 + tslib: 2.8.1 + + '@aws-crypto/supports-web-crypto@5.2.0': + dependencies: + tslib: 2.8.1 + + '@aws-crypto/util@5.2.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-sdk/client-s3@3.826.0': + dependencies: + '@aws-crypto/sha1-browser': 5.2.0 + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.826.0 + '@aws-sdk/credential-provider-node': 3.826.0 + '@aws-sdk/middleware-bucket-endpoint': 3.821.0 + '@aws-sdk/middleware-expect-continue': 3.821.0 + '@aws-sdk/middleware-flexible-checksums': 3.826.0 + '@aws-sdk/middleware-host-header': 3.821.0 + '@aws-sdk/middleware-location-constraint': 3.821.0 + '@aws-sdk/middleware-logger': 3.821.0 + '@aws-sdk/middleware-recursion-detection': 3.821.0 + '@aws-sdk/middleware-sdk-s3': 3.826.0 + '@aws-sdk/middleware-ssec': 3.821.0 + '@aws-sdk/middleware-user-agent': 3.826.0 + '@aws-sdk/region-config-resolver': 3.821.0 + '@aws-sdk/signature-v4-multi-region': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@aws-sdk/util-endpoints': 3.821.0 + '@aws-sdk/util-user-agent-browser': 3.821.0 + '@aws-sdk/util-user-agent-node': 3.826.0 + '@aws-sdk/xml-builder': 3.821.0 + '@smithy/config-resolver': 4.1.4 + '@smithy/core': 3.5.3 + '@smithy/eventstream-serde-browser': 4.0.4 + '@smithy/eventstream-serde-config-resolver': 4.1.2 + '@smithy/eventstream-serde-node': 4.0.4 + '@smithy/fetch-http-handler': 5.0.4 + '@smithy/hash-blob-browser': 4.0.4 + '@smithy/hash-node': 4.0.4 + '@smithy/hash-stream-node': 4.0.4 + '@smithy/invalid-dependency': 4.0.4 + '@smithy/md5-js': 4.0.4 + '@smithy/middleware-content-length': 4.0.4 + '@smithy/middleware-endpoint': 4.1.11 + '@smithy/middleware-retry': 4.1.12 + '@smithy/middleware-serde': 4.0.8 + '@smithy/middleware-stack': 4.0.4 + '@smithy/node-config-provider': 4.1.3 + '@smithy/node-http-handler': 4.0.6 + '@smithy/protocol-http': 5.1.2 + '@smithy/smithy-client': 4.4.3 + '@smithy/types': 4.3.1 + '@smithy/url-parser': 4.0.4 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.19 + '@smithy/util-defaults-mode-node': 4.0.19 + '@smithy/util-endpoints': 3.0.6 + '@smithy/util-middleware': 4.0.4 + '@smithy/util-retry': 4.0.5 + '@smithy/util-stream': 4.2.2 + '@smithy/util-utf8': 4.0.0 + '@smithy/util-waiter': 4.0.5 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso@3.826.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.826.0 + '@aws-sdk/middleware-host-header': 3.821.0 + '@aws-sdk/middleware-logger': 3.821.0 + '@aws-sdk/middleware-recursion-detection': 3.821.0 + '@aws-sdk/middleware-user-agent': 3.826.0 + '@aws-sdk/region-config-resolver': 3.821.0 + '@aws-sdk/types': 3.821.0 + '@aws-sdk/util-endpoints': 3.821.0 + '@aws-sdk/util-user-agent-browser': 3.821.0 + '@aws-sdk/util-user-agent-node': 3.826.0 + '@smithy/config-resolver': 4.1.4 + '@smithy/core': 3.5.3 + '@smithy/fetch-http-handler': 5.0.4 + '@smithy/hash-node': 4.0.4 + '@smithy/invalid-dependency': 4.0.4 + '@smithy/middleware-content-length': 4.0.4 + '@smithy/middleware-endpoint': 4.1.11 + '@smithy/middleware-retry': 4.1.12 + '@smithy/middleware-serde': 4.0.8 + '@smithy/middleware-stack': 4.0.4 + '@smithy/node-config-provider': 4.1.3 + '@smithy/node-http-handler': 4.0.6 + '@smithy/protocol-http': 5.1.2 + '@smithy/smithy-client': 4.4.3 + '@smithy/types': 4.3.1 + '@smithy/url-parser': 4.0.4 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.19 + '@smithy/util-defaults-mode-node': 4.0.19 + '@smithy/util-endpoints': 3.0.6 + '@smithy/util-middleware': 4.0.4 + '@smithy/util-retry': 4.0.5 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/core@3.826.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@aws-sdk/xml-builder': 3.821.0 + '@smithy/core': 3.5.3 + '@smithy/node-config-provider': 4.1.3 + '@smithy/property-provider': 4.0.4 + '@smithy/protocol-http': 5.1.2 + '@smithy/signature-v4': 5.1.2 + '@smithy/smithy-client': 4.4.3 + '@smithy/types': 4.3.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-middleware': 4.0.4 + '@smithy/util-utf8': 4.0.0 + fast-xml-parser: 4.4.1 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-env@3.826.0': + dependencies: + '@aws-sdk/core': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@smithy/property-provider': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-http@3.826.0': + dependencies: + '@aws-sdk/core': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@smithy/fetch-http-handler': 5.0.4 + '@smithy/node-http-handler': 4.0.6 + '@smithy/property-provider': 4.0.4 + '@smithy/protocol-http': 5.1.2 + '@smithy/smithy-client': 4.4.3 + '@smithy/types': 4.3.1 + '@smithy/util-stream': 4.2.2 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-ini@3.826.0': + dependencies: + '@aws-sdk/core': 3.826.0 + '@aws-sdk/credential-provider-env': 3.826.0 + '@aws-sdk/credential-provider-http': 3.826.0 + '@aws-sdk/credential-provider-process': 3.826.0 + '@aws-sdk/credential-provider-sso': 3.826.0 + '@aws-sdk/credential-provider-web-identity': 3.826.0 + '@aws-sdk/nested-clients': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@smithy/credential-provider-imds': 4.0.6 + '@smithy/property-provider': 4.0.4 + '@smithy/shared-ini-file-loader': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-node@3.826.0': + dependencies: + '@aws-sdk/credential-provider-env': 3.826.0 + '@aws-sdk/credential-provider-http': 3.826.0 + '@aws-sdk/credential-provider-ini': 3.826.0 + '@aws-sdk/credential-provider-process': 3.826.0 + '@aws-sdk/credential-provider-sso': 3.826.0 + '@aws-sdk/credential-provider-web-identity': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@smithy/credential-provider-imds': 4.0.6 + '@smithy/property-provider': 4.0.4 + '@smithy/shared-ini-file-loader': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-process@3.826.0': + dependencies: + '@aws-sdk/core': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@smithy/property-provider': 4.0.4 + '@smithy/shared-ini-file-loader': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-sso@3.826.0': + dependencies: + '@aws-sdk/client-sso': 3.826.0 + '@aws-sdk/core': 3.826.0 + '@aws-sdk/token-providers': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@smithy/property-provider': 4.0.4 + '@smithy/shared-ini-file-loader': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-web-identity@3.826.0': + dependencies: + '@aws-sdk/core': 3.826.0 + '@aws-sdk/nested-clients': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@smithy/property-provider': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/middleware-bucket-endpoint@3.821.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@aws-sdk/util-arn-parser': 3.804.0 + '@smithy/node-config-provider': 4.1.3 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 + '@smithy/util-config-provider': 4.0.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-expect-continue@3.821.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/middleware-flexible-checksums@3.826.0': + dependencies: + '@aws-crypto/crc32': 5.2.0 + '@aws-crypto/crc32c': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/core': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@smithy/is-array-buffer': 4.0.0 + '@smithy/node-config-provider': 4.1.3 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 + '@smithy/util-middleware': 4.0.4 + '@smithy/util-stream': 4.2.2 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-host-header@3.821.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/middleware-location-constraint@3.821.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/middleware-logger@3.821.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/middleware-recursion-detection@3.821.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/middleware-sdk-s3@3.826.0': + dependencies: + '@aws-sdk/core': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@aws-sdk/util-arn-parser': 3.804.0 + '@smithy/core': 3.5.3 + '@smithy/node-config-provider': 4.1.3 + '@smithy/protocol-http': 5.1.2 + '@smithy/signature-v4': 5.1.2 + '@smithy/smithy-client': 4.4.3 + '@smithy/types': 4.3.1 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.4 + '@smithy/util-stream': 4.2.2 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-ssec@3.821.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/middleware-user-agent@3.826.0': + dependencies: + '@aws-sdk/core': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@aws-sdk/util-endpoints': 3.821.0 + '@smithy/core': 3.5.3 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/nested-clients@3.826.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.826.0 + '@aws-sdk/middleware-host-header': 3.821.0 + '@aws-sdk/middleware-logger': 3.821.0 + '@aws-sdk/middleware-recursion-detection': 3.821.0 + '@aws-sdk/middleware-user-agent': 3.826.0 + '@aws-sdk/region-config-resolver': 3.821.0 + '@aws-sdk/types': 3.821.0 + '@aws-sdk/util-endpoints': 3.821.0 + '@aws-sdk/util-user-agent-browser': 3.821.0 + '@aws-sdk/util-user-agent-node': 3.826.0 + '@smithy/config-resolver': 4.1.4 + '@smithy/core': 3.5.3 + '@smithy/fetch-http-handler': 5.0.4 + '@smithy/hash-node': 4.0.4 + '@smithy/invalid-dependency': 4.0.4 + '@smithy/middleware-content-length': 4.0.4 + '@smithy/middleware-endpoint': 4.1.11 + '@smithy/middleware-retry': 4.1.12 + '@smithy/middleware-serde': 4.0.8 + '@smithy/middleware-stack': 4.0.4 + '@smithy/node-config-provider': 4.1.3 + '@smithy/node-http-handler': 4.0.6 + '@smithy/protocol-http': 5.1.2 + '@smithy/smithy-client': 4.4.3 + '@smithy/types': 4.3.1 + '@smithy/url-parser': 4.0.4 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.19 + '@smithy/util-defaults-mode-node': 4.0.19 + '@smithy/util-endpoints': 3.0.6 + '@smithy/util-middleware': 4.0.4 + '@smithy/util-retry': 4.0.5 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/region-config-resolver@3.821.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@smithy/node-config-provider': 4.1.3 + '@smithy/types': 4.3.1 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.4 + tslib: 2.8.1 + + '@aws-sdk/signature-v4-multi-region@3.826.0': + dependencies: + '@aws-sdk/middleware-sdk-s3': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/signature-v4': 5.1.2 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/token-providers@3.826.0': + dependencies: + '@aws-sdk/core': 3.826.0 + '@aws-sdk/nested-clients': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@smithy/property-provider': 4.0.4 + '@smithy/shared-ini-file-loader': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/types@3.821.0': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/util-arn-parser@3.804.0': + dependencies: + tslib: 2.8.1 + + '@aws-sdk/util-endpoints@3.821.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@smithy/types': 4.3.1 + '@smithy/util-endpoints': 3.0.6 + tslib: 2.8.1 + + '@aws-sdk/util-locate-window@3.804.0': + dependencies: + tslib: 2.8.1 + + '@aws-sdk/util-user-agent-browser@3.821.0': + dependencies: + '@aws-sdk/types': 3.821.0 + '@smithy/types': 4.3.1 + bowser: 2.11.0 + tslib: 2.8.1 + + '@aws-sdk/util-user-agent-node@3.826.0': + dependencies: + '@aws-sdk/middleware-user-agent': 3.826.0 + '@aws-sdk/types': 3.821.0 + '@smithy/node-config-provider': 4.1.3 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@aws-sdk/xml-builder@3.821.0': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/helper-validator-identifier@7.27.1': {} + + '@better-auth/utils@0.2.5': + dependencies: + typescript: 5.8.3 + uncrypto: 0.1.3 + + '@better-fetch/fetch@1.1.18': {} + + '@csstools/color-helpers@5.0.2': {} + + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-color-parser@3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/color-helpers': 5.0.2 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-tokenizer@3.0.4': {} + + '@dnd-kit/accessibility@3.1.1(react@19.1.0)': + dependencies: + react: 19.1.0 + tslib: 2.8.1 + + '@dnd-kit/core@6.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@dnd-kit/accessibility': 3.1.1(react@19.1.0) + '@dnd-kit/utilities': 3.2.2(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + tslib: 2.8.1 + + '@dnd-kit/modifiers@9.0.0(@dnd-kit/core@6.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@dnd-kit/utilities': 3.2.2(react@19.1.0) + react: 19.1.0 + tslib: 2.8.1 + + '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': + dependencies: + '@dnd-kit/core': 6.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@dnd-kit/utilities': 3.2.2(react@19.1.0) + react: 19.1.0 + tslib: 2.8.1 + + '@dnd-kit/utilities@3.2.2(react@19.1.0)': + dependencies: + react: 19.1.0 + tslib: 2.8.1 + + '@emnapi/core@1.4.3': + dependencies: + '@emnapi/wasi-threads': 1.0.2 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.4.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.0.2': + dependencies: + tslib: 2.8.1 + optional: true + + '@esbuild/aix-ppc64@0.25.5': + optional: true + + '@esbuild/android-arm64@0.25.5': + optional: true + + '@esbuild/android-arm@0.25.5': + optional: true + + '@esbuild/android-x64@0.25.5': + optional: true + + '@esbuild/darwin-arm64@0.25.5': + optional: true + + '@esbuild/darwin-x64@0.25.5': + optional: true + + '@esbuild/freebsd-arm64@0.25.5': + optional: true + + '@esbuild/freebsd-x64@0.25.5': + optional: true + + '@esbuild/linux-arm64@0.25.5': + optional: true + + '@esbuild/linux-arm@0.25.5': + optional: true + + '@esbuild/linux-ia32@0.25.5': + optional: true + + '@esbuild/linux-loong64@0.25.5': + optional: true + + '@esbuild/linux-mips64el@0.25.5': + optional: true + + '@esbuild/linux-ppc64@0.25.5': + optional: true + + '@esbuild/linux-riscv64@0.25.5': + optional: true + + '@esbuild/linux-s390x@0.25.5': + optional: true + + '@esbuild/linux-x64@0.25.5': + optional: true + + '@esbuild/netbsd-arm64@0.25.5': + optional: true + + '@esbuild/netbsd-x64@0.25.5': + optional: true + + '@esbuild/openbsd-arm64@0.25.5': + optional: true + + '@esbuild/openbsd-x64@0.25.5': + optional: true + + '@esbuild/sunos-x64@0.25.5': + optional: true + + '@esbuild/win32-arm64@0.25.5': + optional: true + + '@esbuild/win32-ia32@0.25.5': + optional: true + + '@esbuild/win32-x64@0.25.5': + optional: true + + '@eslint-community/eslint-utils@4.7.0(eslint@9.28.0(jiti@2.4.2))': + dependencies: + eslint: 9.28.0(jiti@2.4.2) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/compat@1.2.9(eslint@9.28.0(jiti@2.4.2))': + optionalDependencies: + eslint: 9.28.0(jiti@2.4.2) + + '@eslint/config-array@0.20.0': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.1 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.2.2': {} + + '@eslint/core@0.14.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.1': + dependencies: + ajv: 6.12.6 + debug: 4.4.1 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.28.0': {} + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.3.1': + dependencies: + '@eslint/core': 0.14.0 + levn: 0.4.1 + + '@floating-ui/core@1.7.1': + dependencies: + '@floating-ui/utils': 0.2.9 + + '@floating-ui/dom@1.7.1': + dependencies: + '@floating-ui/core': 1.7.1 + '@floating-ui/utils': 0.2.9 + + '@floating-ui/react-dom@2.1.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@floating-ui/dom': 1.7.1 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + + '@floating-ui/utils@0.2.9': {} + + '@hexagon/base64@1.1.28': {} + + '@hookform/resolvers@5.1.1(react-hook-form@7.57.0(react@19.1.0))': + dependencies: + '@standard-schema/utils': 0.3.0 + react-hook-form: 7.57.0(react@19.1.0) + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-arm64@0.34.2': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.1.0 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.34.2': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.1.0 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-arm64@1.1.0': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.1.0': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.1.0': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-arm@1.1.0': + optional: true + + '@img/sharp-libvips-linux-ppc64@1.1.0': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-s390x@1.1.0': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.1.0': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.1.0': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.1.0': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm64@0.34.2': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.1.0 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-arm@0.34.2': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.1.0 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-s390x@0.34.2': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.1.0 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.34.2': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.1.0 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.34.2': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.1.0 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.34.2': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.1.0 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.4.3 + optional: true + + '@img/sharp-wasm32@0.34.2': + dependencies: + '@emnapi/runtime': 1.4.3 + optional: true + + '@img/sharp-win32-arm64@0.34.2': + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-ia32@0.34.2': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.34.2': + optional: true + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@levischuck/tiny-cbor@0.2.11': {} + + '@mdx-js/mdx@3.1.0(acorn@8.15.0)': + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.6 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.0(acorn@8.15.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + source-map: 0.7.4 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - acorn + - supports-color + + '@mdx-js/react@3.1.0(@types/react@19.1.7)(react@19.1.0)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 19.1.7 + react: 19.1.0 + + '@napi-rs/wasm-runtime@0.2.11': + dependencies: + '@emnapi/core': 1.4.3 + '@emnapi/runtime': 1.4.3 + '@tybys/wasm-util': 0.9.0 + optional: true + + '@next/env@15.2.3': {} + + '@next/eslint-plugin-next@15.2.3': + dependencies: + fast-glob: 3.3.1 + + '@next/eslint-plugin-next@15.3.3': + dependencies: + fast-glob: 3.3.1 + + '@next/swc-darwin-arm64@15.2.3': + optional: true + + '@next/swc-darwin-x64@15.2.3': + optional: true + + '@next/swc-linux-arm64-gnu@15.2.3': + optional: true + + '@next/swc-linux-arm64-musl@15.2.3': + optional: true + + '@next/swc-linux-x64-gnu@15.2.3': + optional: true + + '@next/swc-linux-x64-musl@15.2.3': + optional: true + + '@next/swc-win32-arm64-msvc@15.2.3': + optional: true + + '@next/swc-win32-x64-msvc@15.2.3': + optional: true + + '@noble/ciphers@0.6.0': {} + + '@noble/hashes@1.8.0': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@nolyfill/is-core-module@1.0.39': {} + + '@openpanel/nextjs@1.0.8(next@15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@openpanel/web': 1.0.1 + next: 15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + + '@openpanel/sdk@1.0.0': {} + + '@openpanel/web@1.0.1': + dependencies: + '@openpanel/sdk': 1.0.0 + + '@panva/hkdf@1.2.1': {} + + '@peculiar/asn1-android@2.3.16': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-ecc@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-rsa@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-schema@2.3.15': + dependencies: + asn1js: 3.0.6 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/asn1-x509@2.3.15': + dependencies: + '@peculiar/asn1-schema': 2.3.15 + asn1js: 3.0.6 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.2.7': {} + + '@popperjs/core@2.11.8': {} + + '@prisma/client@6.9.0(prisma@6.9.0(typescript@5.8.3))(typescript@5.8.3)': + optionalDependencies: + prisma: 6.9.0(typescript@5.8.3) + typescript: 5.8.3 + + '@prisma/config@6.9.0': + dependencies: + jiti: 2.4.2 + + '@prisma/debug@6.9.0': {} + + '@prisma/engines-version@6.9.0-10.81e4af48011447c3cc503a190e86995b66d2a28e': {} + + '@prisma/engines@6.9.0': + dependencies: + '@prisma/debug': 6.9.0 + '@prisma/engines-version': 6.9.0-10.81e4af48011447c3cc503a190e86995b66d2a28e + '@prisma/fetch-engine': 6.9.0 + '@prisma/get-platform': 6.9.0 + + '@prisma/fetch-engine@6.9.0': + dependencies: + '@prisma/debug': 6.9.0 + '@prisma/engines-version': 6.9.0-10.81e4af48011447c3cc503a190e86995b66d2a28e + '@prisma/get-platform': 6.9.0 + + '@prisma/get-platform@6.9.0': + dependencies: + '@prisma/debug': 6.9.0 + + '@radix-ui/number@1.1.1': {} + + '@radix-ui/primitive@1.1.2': {} + + '@radix-ui/react-accordion@1.2.11(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-collapsible': 1.1.11(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-alert-dialog@1.1.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-dialog': 1.1.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-aspect-ratio@1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-avatar@1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-collapsible@1.1.11(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.7)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-context@1.1.2(@types/react@19.1.7)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-dialog@1.1.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + aria-hidden: 1.2.6 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-remove-scroll: 2.7.1(@types/react@19.1.7)(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-direction@1.1.1(@types/react@19.1.7)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-dismissable-layer@1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-dropdown-menu@2.1.15(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-menu': 2.1.15(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-focus-guards@1.1.2(@types/react@19.1.7)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-hover-card@1.1.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-icons@1.3.2(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@radix-ui/react-id@1.1.1(@types/react@19.1.7)(react@19.1.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-label@2.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-menu@2.1.15(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.7)(react@19.1.0) + aria-hidden: 1.2.6 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-remove-scroll: 2.7.1(@types/react@19.1.7)(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-navigation-menu@1.2.13(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-popover@1.1.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + aria-hidden: 1.2.6 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-remove-scroll: 2.7.1(@types/react@19.1.7)(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-popper@1.2.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@floating-ui/react-dom': 2.1.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/rect': 1.1.1 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-presence@1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-radio-group@1.3.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-roving-focus@1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-scroll-area@1.2.9(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/number': 1.1.1 + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-select@2.2.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/number': 1.1.1 + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + aria-hidden: 1.2.6 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-remove-scroll: 2.7.1(@types/react@19.1.7)(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-separator@1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-slider@1.3.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/number': 1.1.1 + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-slot@1.2.3(@types/react@19.1.7)(react@19.1.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-switch@1.2.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-tabs@1.1.12(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-toast@1.2.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-tooltip@1.2.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.7)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.7)(react@19.1.0)': + dependencies: + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.7)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.7)(react@19.1.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.7)(react@19.1.0)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.1.7)(react@19.1.0)': + dependencies: + react: 19.1.0 + use-sync-external-store: 1.5.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.7)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-use-previous@1.1.1(@types/react@19.1.7)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-use-rect@1.1.1(@types/react@19.1.7)(react@19.1.0)': + dependencies: + '@radix-ui/rect': 1.1.1 + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-use-size@1.1.1(@types/react@19.1.7)(react@19.1.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.7 + + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + '@types/react-dom': 19.1.6(@types/react@19.1.7) + + '@radix-ui/rect@1.1.1': {} + + '@react-email/body@0.0.11(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/button@0.0.19(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/code-block@0.0.11(react@19.1.0)': + dependencies: + prismjs: 1.29.0 + react: 19.1.0 + + '@react-email/code-inline@0.0.5(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/column@0.0.13(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/components@0.0.35(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@react-email/body': 0.0.11(react@19.1.0) + '@react-email/button': 0.0.19(react@19.1.0) + '@react-email/code-block': 0.0.11(react@19.1.0) + '@react-email/code-inline': 0.0.5(react@19.1.0) + '@react-email/column': 0.0.13(react@19.1.0) + '@react-email/container': 0.0.15(react@19.1.0) + '@react-email/font': 0.0.9(react@19.1.0) + '@react-email/head': 0.0.12(react@19.1.0) + '@react-email/heading': 0.0.15(react@19.1.0) + '@react-email/hr': 0.0.11(react@19.1.0) + '@react-email/html': 0.0.11(react@19.1.0) + '@react-email/img': 0.0.11(react@19.1.0) + '@react-email/link': 0.0.12(react@19.1.0) + '@react-email/markdown': 0.0.14(react@19.1.0) + '@react-email/preview': 0.0.12(react@19.1.0) + '@react-email/render': 1.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@react-email/row': 0.0.12(react@19.1.0) + '@react-email/section': 0.0.16(react@19.1.0) + '@react-email/tailwind': 1.0.4(react@19.1.0) + '@react-email/text': 0.1.1(react@19.1.0) + react: 19.1.0 + transitivePeerDependencies: + - react-dom + + '@react-email/container@0.0.15(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/font@0.0.9(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/head@0.0.12(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/heading@0.0.15(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/hr@0.0.11(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/html@0.0.11(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/img@0.0.11(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/link@0.0.12(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/markdown@0.0.14(react@19.1.0)': + dependencies: + md-to-react-email: 5.0.5(react@19.1.0) + react: 19.1.0 + + '@react-email/preview@0.0.12(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/render@1.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + html-to-text: 9.0.5 + prettier: 3.5.3 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-promise-suspense: 0.3.4 + + '@react-email/render@1.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + html-to-text: 9.0.5 + prettier: 3.5.3 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-promise-suspense: 0.3.4 + + '@react-email/row@0.0.12(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/section@0.0.16(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/tailwind@1.0.4(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/tailwind@1.0.5(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@react-email/text@0.1.1(react@19.1.0)': + dependencies: + react: 19.1.0 + + '@remirror/core-constants@3.0.0': {} + + '@rtsao/scc@1.1.0': {} + + '@rushstack/eslint-patch@1.11.0': {} + + '@selderee/plugin-htmlparser2@0.11.0': + dependencies: + domhandler: 5.0.3 + selderee: 0.11.0 + + '@simplewebauthn/browser@13.1.0': {} + + '@simplewebauthn/server@13.1.1': + dependencies: + '@hexagon/base64': 1.1.28 + '@levischuck/tiny-cbor': 0.2.11 + '@peculiar/asn1-android': 2.3.16 + '@peculiar/asn1-ecc': 2.3.15 + '@peculiar/asn1-rsa': 2.3.15 + '@peculiar/asn1-schema': 2.3.15 + '@peculiar/asn1-x509': 2.3.15 + + '@smithy/abort-controller@4.0.4': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/chunked-blob-reader-native@4.0.0': + dependencies: + '@smithy/util-base64': 4.0.0 + tslib: 2.8.1 + + '@smithy/chunked-blob-reader@5.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/config-resolver@4.1.4': + dependencies: + '@smithy/node-config-provider': 4.1.3 + '@smithy/types': 4.3.1 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.4 + tslib: 2.8.1 + + '@smithy/core@3.5.3': + dependencies: + '@smithy/middleware-serde': 4.0.8 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-middleware': 4.0.4 + '@smithy/util-stream': 4.2.2 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/credential-provider-imds@4.0.6': + dependencies: + '@smithy/node-config-provider': 4.1.3 + '@smithy/property-provider': 4.0.4 + '@smithy/types': 4.3.1 + '@smithy/url-parser': 4.0.4 + tslib: 2.8.1 + + '@smithy/eventstream-codec@4.0.4': + dependencies: + '@aws-crypto/crc32': 5.2.0 + '@smithy/types': 4.3.1 + '@smithy/util-hex-encoding': 4.0.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-browser@4.0.4': + dependencies: + '@smithy/eventstream-serde-universal': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/eventstream-serde-config-resolver@4.1.2': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/eventstream-serde-node@4.0.4': + dependencies: + '@smithy/eventstream-serde-universal': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/eventstream-serde-universal@4.0.4': + dependencies: + '@smithy/eventstream-codec': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/fetch-http-handler@5.0.4': + dependencies: + '@smithy/protocol-http': 5.1.2 + '@smithy/querystring-builder': 4.0.4 + '@smithy/types': 4.3.1 + '@smithy/util-base64': 4.0.0 + tslib: 2.8.1 + + '@smithy/hash-blob-browser@4.0.4': + dependencies: + '@smithy/chunked-blob-reader': 5.0.0 + '@smithy/chunked-blob-reader-native': 4.0.0 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/hash-node@4.0.4': + dependencies: + '@smithy/types': 4.3.1 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/hash-stream-node@4.0.4': + dependencies: + '@smithy/types': 4.3.1 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/invalid-dependency@4.0.4': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/is-array-buffer@2.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/is-array-buffer@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/md5-js@4.0.4': + dependencies: + '@smithy/types': 4.3.1 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/middleware-content-length@4.0.4': + dependencies: + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/middleware-endpoint@4.1.11': + dependencies: + '@smithy/core': 3.5.3 + '@smithy/middleware-serde': 4.0.8 + '@smithy/node-config-provider': 4.1.3 + '@smithy/shared-ini-file-loader': 4.0.4 + '@smithy/types': 4.3.1 + '@smithy/url-parser': 4.0.4 + '@smithy/util-middleware': 4.0.4 + tslib: 2.8.1 + + '@smithy/middleware-retry@4.1.12': + dependencies: + '@smithy/node-config-provider': 4.1.3 + '@smithy/protocol-http': 5.1.2 + '@smithy/service-error-classification': 4.0.5 + '@smithy/smithy-client': 4.4.3 + '@smithy/types': 4.3.1 + '@smithy/util-middleware': 4.0.4 + '@smithy/util-retry': 4.0.5 + tslib: 2.8.1 + uuid: 9.0.1 + + '@smithy/middleware-serde@4.0.8': + dependencies: + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/middleware-stack@4.0.4': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/node-config-provider@4.1.3': + dependencies: + '@smithy/property-provider': 4.0.4 + '@smithy/shared-ini-file-loader': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/node-http-handler@4.0.6': + dependencies: + '@smithy/abort-controller': 4.0.4 + '@smithy/protocol-http': 5.1.2 + '@smithy/querystring-builder': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/property-provider@4.0.4': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/protocol-http@5.1.2': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/querystring-builder@4.0.4': + dependencies: + '@smithy/types': 4.3.1 + '@smithy/util-uri-escape': 4.0.0 + tslib: 2.8.1 + + '@smithy/querystring-parser@4.0.4': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/service-error-classification@4.0.5': + dependencies: + '@smithy/types': 4.3.1 + + '@smithy/shared-ini-file-loader@4.0.4': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/signature-v4@5.1.2': + dependencies: + '@smithy/is-array-buffer': 4.0.0 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-middleware': 4.0.4 + '@smithy/util-uri-escape': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/smithy-client@4.4.3': + dependencies: + '@smithy/core': 3.5.3 + '@smithy/middleware-endpoint': 4.1.11 + '@smithy/middleware-stack': 4.0.4 + '@smithy/protocol-http': 5.1.2 + '@smithy/types': 4.3.1 + '@smithy/util-stream': 4.2.2 + tslib: 2.8.1 + + '@smithy/types@4.3.1': + dependencies: + tslib: 2.8.1 + + '@smithy/url-parser@4.0.4': + dependencies: + '@smithy/querystring-parser': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/util-base64@4.0.0': + dependencies: + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-body-length-browser@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-body-length-node@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-buffer-from@2.2.0': + dependencies: + '@smithy/is-array-buffer': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-buffer-from@4.0.0': + dependencies: + '@smithy/is-array-buffer': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-config-provider@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-defaults-mode-browser@4.0.19': + dependencies: + '@smithy/property-provider': 4.0.4 + '@smithy/smithy-client': 4.4.3 + '@smithy/types': 4.3.1 + bowser: 2.11.0 + tslib: 2.8.1 + + '@smithy/util-defaults-mode-node@4.0.19': + dependencies: + '@smithy/config-resolver': 4.1.4 + '@smithy/credential-provider-imds': 4.0.6 + '@smithy/node-config-provider': 4.1.3 + '@smithy/property-provider': 4.0.4 + '@smithy/smithy-client': 4.4.3 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/util-endpoints@3.0.6': + dependencies: + '@smithy/node-config-provider': 4.1.3 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/util-hex-encoding@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-middleware@4.0.4': + dependencies: + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/util-retry@4.0.5': + dependencies: + '@smithy/service-error-classification': 4.0.5 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@smithy/util-stream@4.2.2': + dependencies: + '@smithy/fetch-http-handler': 5.0.4 + '@smithy/node-http-handler': 4.0.6 + '@smithy/types': 4.3.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-uri-escape@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-utf8@2.3.0': + dependencies: + '@smithy/util-buffer-from': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-utf8@4.0.0': + dependencies: + '@smithy/util-buffer-from': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-waiter@4.0.5': + dependencies: + '@smithy/abort-controller': 4.0.4 + '@smithy/types': 4.3.1 + tslib: 2.8.1 + + '@standard-schema/utils@0.3.0': {} + + '@swc/counter@0.1.3': {} + + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + + '@t3-oss/env-core@0.12.0(typescript@5.8.3)(zod@3.25.57)': + optionalDependencies: + typescript: 5.8.3 + zod: 3.25.57 + + '@t3-oss/env-nextjs@0.12.0(typescript@5.8.3)(zod@3.25.57)': + dependencies: + '@t3-oss/env-core': 0.12.0(typescript@5.8.3)(zod@3.25.57) + optionalDependencies: + typescript: 5.8.3 + zod: 3.25.57 + + '@tailwindcss/typography@0.5.16(tailwindcss@3.4.17)': + dependencies: + lodash.castarray: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + postcss-selector-parser: 6.0.10 + tailwindcss: 3.4.17 + + '@tanstack/query-core@5.80.6': {} + + '@tanstack/query-devtools@5.80.0': {} + + '@tanstack/react-query-devtools@5.80.6(@tanstack/react-query@5.80.6(react@19.1.0))(react@19.1.0)': + dependencies: + '@tanstack/query-devtools': 5.80.0 + '@tanstack/react-query': 5.80.6(react@19.1.0) + react: 19.1.0 + + '@tanstack/react-query@5.80.6(react@19.1.0)': + dependencies: + '@tanstack/query-core': 5.80.6 + react: 19.1.0 + + '@tiptap/core@2.14.0(@tiptap/pm@2.14.0)': + dependencies: + '@tiptap/pm': 2.14.0 + + '@tiptap/extension-blockquote@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-bold@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-bubble-menu@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + '@tiptap/pm': 2.14.0 + tippy.js: 6.3.7 + + '@tiptap/extension-bullet-list@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-code-block@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + '@tiptap/pm': 2.14.0 + + '@tiptap/extension-code@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-document@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-dropcursor@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + '@tiptap/pm': 2.14.0 + + '@tiptap/extension-floating-menu@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + '@tiptap/pm': 2.14.0 + tippy.js: 6.3.7 + + '@tiptap/extension-gapcursor@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + '@tiptap/pm': 2.14.0 + + '@tiptap/extension-hard-break@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-heading@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-history@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + '@tiptap/pm': 2.14.0 + + '@tiptap/extension-horizontal-rule@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + '@tiptap/pm': 2.14.0 + + '@tiptap/extension-italic@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-list-item@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-ordered-list@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-paragraph@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-placeholder@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + '@tiptap/pm': 2.14.0 + + '@tiptap/extension-strike@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-text-style@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/extension-text@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + + '@tiptap/pm@2.14.0': + dependencies: + prosemirror-changeset: 2.3.1 + prosemirror-collab: 1.3.1 + prosemirror-commands: 1.7.1 + prosemirror-dropcursor: 1.8.2 + prosemirror-gapcursor: 1.3.2 + prosemirror-history: 1.4.1 + prosemirror-inputrules: 1.5.0 + prosemirror-keymap: 1.2.3 + prosemirror-markdown: 1.13.2 + prosemirror-menu: 1.2.5 + prosemirror-model: 1.25.1 + prosemirror-schema-basic: 1.2.4 + prosemirror-schema-list: 1.5.1 + prosemirror-state: 1.4.3 + prosemirror-tables: 1.7.1 + prosemirror-trailing-node: 3.0.0(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0) + prosemirror-transform: 1.10.4 + prosemirror-view: 1.40.0 + + '@tiptap/react@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + '@tiptap/extension-bubble-menu': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0) + '@tiptap/extension-floating-menu': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0) + '@tiptap/pm': 2.14.0 + '@types/use-sync-external-store': 0.0.6 + fast-deep-equal: 3.1.3 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + use-sync-external-store: 1.5.0(react@19.1.0) + + '@tiptap/starter-kit@2.14.0': + dependencies: + '@tiptap/core': 2.14.0(@tiptap/pm@2.14.0) + '@tiptap/extension-blockquote': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-bold': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-bullet-list': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-code': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-code-block': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0) + '@tiptap/extension-document': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-dropcursor': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0) + '@tiptap/extension-gapcursor': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0) + '@tiptap/extension-hard-break': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-heading': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-history': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0) + '@tiptap/extension-horizontal-rule': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0) + '@tiptap/extension-italic': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-list-item': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-ordered-list': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-paragraph': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-strike': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-text': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/extension-text-style': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0)) + '@tiptap/pm': 2.14.0 + + '@tybys/wasm-util@0.9.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 2.1.0 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.8 + + '@types/estree@1.0.8': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/linkify-it@5.0.0': {} + + '@types/lodash.debounce@4.0.9': + dependencies: + '@types/lodash': 4.17.17 + + '@types/lodash.set@4.3.9': + dependencies: + '@types/lodash': 4.17.17 + + '@types/lodash@4.17.17': {} + + '@types/markdown-it@14.1.2': + dependencies: + '@types/linkify-it': 5.0.0 + '@types/mdurl': 2.0.0 + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdurl@2.0.0': {} + + '@types/mdx@2.0.13': {} + + '@types/ms@2.1.0': {} + + '@types/node@20.19.0': + dependencies: + undici-types: 6.21.0 + + '@types/nprogress@0.2.3': {} + + '@types/react-dom@19.1.6(@types/react@19.1.7)': + dependencies: + '@types/react': 19.1.7 + + '@types/react@19.1.7': + dependencies: + csstype: 3.1.3 + + '@types/trusted-types@2.0.7': + optional: true + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@types/use-sync-external-store@0.0.6': {} + + '@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.34.0 + '@typescript-eslint/type-utils': 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.0 + eslint: 9.28.0(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.34.0 + '@typescript-eslint/types': 8.34.0 + '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.0 + debug: 4.4.1 + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.34.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.8.3) + '@typescript-eslint/types': 8.34.0 + debug: 4.4.1 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.34.0': + dependencies: + '@typescript-eslint/types': 8.34.0 + '@typescript-eslint/visitor-keys': 8.34.0 + + '@typescript-eslint/tsconfig-utils@8.34.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@typescript-eslint/type-utils@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + debug: 4.4.1 + eslint: 9.28.0(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.34.0': {} + + '@typescript-eslint/typescript-estree@8.34.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/project-service': 8.34.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.8.3) + '@typescript-eslint/types': 8.34.0 + '@typescript-eslint/visitor-keys': 8.34.0 + debug: 4.4.1 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.34.0 + '@typescript-eslint/types': 8.34.0 + '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3) + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.34.0': + dependencies: + '@typescript-eslint/types': 8.34.0 + eslint-visitor-keys: 4.2.1 + + '@ungap/structured-clone@1.3.0': {} + + '@unrs/resolver-binding-darwin-arm64@1.7.13': + optional: true + + '@unrs/resolver-binding-darwin-x64@1.7.13': + optional: true + + '@unrs/resolver-binding-freebsd-x64@1.7.13': + optional: true + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.13': + optional: true + + '@unrs/resolver-binding-linux-arm-musleabihf@1.7.13': + optional: true + + '@unrs/resolver-binding-linux-arm64-gnu@1.7.13': + optional: true + + '@unrs/resolver-binding-linux-arm64-musl@1.7.13': + optional: true + + '@unrs/resolver-binding-linux-ppc64-gnu@1.7.13': + optional: true + + '@unrs/resolver-binding-linux-riscv64-gnu@1.7.13': + optional: true + + '@unrs/resolver-binding-linux-riscv64-musl@1.7.13': + optional: true + + '@unrs/resolver-binding-linux-s390x-gnu@1.7.13': + optional: true + + '@unrs/resolver-binding-linux-x64-gnu@1.7.13': + optional: true + + '@unrs/resolver-binding-linux-x64-musl@1.7.13': + optional: true + + '@unrs/resolver-binding-wasm32-wasi@1.7.13': + dependencies: + '@napi-rs/wasm-runtime': 0.2.11 + optional: true + + '@unrs/resolver-binding-win32-arm64-msvc@1.7.13': + optional: true + + '@unrs/resolver-binding-win32-ia32-msvc@1.7.13': + optional: true + + '@unrs/resolver-binding-win32-x64-msvc@1.7.13': + optional: true + + '@vercel/functions@2.1.0(@aws-sdk/credential-provider-web-identity@3.826.0)': + optionalDependencies: + '@aws-sdk/credential-provider-web-identity': 3.826.0 + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + agent-base@7.1.3: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@2.0.1: {} + + aria-hidden@1.2.6: + dependencies: + tslib: 2.8.1 + + aria-query@5.3.2: {} + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + + array-includes@3.1.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + is-string: 1.1.1 + math-intrinsics: 1.1.0 + + array.prototype.findlast@1.2.5: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 + + array.prototype.findlastindex@1.2.6: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 + + array.prototype.flat@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-shim-unscopables: 1.1.0 + + array.prototype.flatmap@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-shim-unscopables: 1.1.0 + + array.prototype.tosorted@1.1.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-shim-unscopables: 1.1.0 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + + asn1js@3.0.6: + dependencies: + pvtsutils: 1.3.6 + pvutils: 1.1.3 + tslib: 2.8.1 + + ast-types-flow@0.0.8: {} + + astring@1.9.0: {} + + async-function@1.0.0: {} + + autoprefixer@10.4.21(postcss@8.5.4): + dependencies: + browserslist: 4.25.0 + caniuse-lite: 1.0.30001721 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.4 + postcss-value-parser: 4.2.0 + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + axe-core@4.10.3: {} + + axobject-query@4.1.0: {} + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + better-auth@1.2.9: + dependencies: + '@better-auth/utils': 0.2.5 + '@better-fetch/fetch': 1.1.18 + '@noble/ciphers': 0.6.0 + '@noble/hashes': 1.8.0 + '@simplewebauthn/browser': 13.1.0 + '@simplewebauthn/server': 13.1.1 + better-call: 1.0.9 + defu: 6.1.4 + jose: 5.10.0 + kysely: 0.28.2 + nanostores: 0.11.4 + zod: 3.25.57 + + better-call@1.0.9: + dependencies: + '@better-fetch/fetch': 1.1.18 + rou3: 0.5.1 + set-cookie-parser: 2.7.1 + uncrypto: 0.1.3 + + binary-extensions@2.3.0: {} + + bowser@2.11.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.25.0: + dependencies: + caniuse-lite: 1.0.30001721 + electron-to-chromium: 1.5.166 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.25.0) + + busboy@1.6.0: + dependencies: + streamsearch: 1.1.0 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + camelcase-css@2.0.1: {} + + caniuse-lite@1.0.30001721: {} + + ccount@2.0.1: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + class-variance-authority@0.7.1: + dependencies: + clsx: 2.1.1 + + client-only@0.0.1: {} + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + + comma-separated-tokens@2.0.3: {} + + commander@4.1.1: {} + + concat-map@0.0.1: {} + + crelt@1.0.6: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cssesc@3.0.0: {} + + cssstyle@4.4.0: + dependencies: + '@asamuzakjp/css-color': 3.2.0 + rrweb-cssom: 0.8.0 + + csstype@3.1.3: {} + + csv-parser@3.2.0: {} + + daisyui@5.0.43: {} + + damerau-levenshtein@1.0.8: {} + + data-urls@5.0.0: + dependencies: + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.4.1: + dependencies: + ms: 2.1.3 + + decimal.js@10.5.0: {} + + decode-named-character-reference@1.1.0: + dependencies: + character-entities: 2.0.2 + + deep-is@0.1.4: {} + + deepmerge@4.3.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + defu@6.1.4: {} + + dequal@2.0.3: {} + + detect-libc@2.0.4: {} + + detect-node-es@1.1.0: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + didyoumean@1.2.2: {} + + dlv@1.1.3: {} + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + dompurify@3.2.6: + optionalDependencies: + '@types/trusted-types': 2.0.7 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.5.166: {} + + embla-carousel-auto-scroll@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel-react@8.6.0(react@19.1.0): + dependencies: + embla-carousel: 8.6.0 + embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0) + react: 19.1.0 + + embla-carousel-reactive-utils@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel@8.6.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + entities@4.5.0: {} + + entities@6.0.1: {} + + es-abstract@1.24.0: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.19 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-iterator-helpers@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-set-tostringtag: 2.1.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + iterator.prototype: 1.1.5 + safe-array-concat: 1.1.3 + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-shim-unscopables@1.1.0: + dependencies: + hasown: 2.0.2 + + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + esast-util-from-estree@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.15.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.2 + + esbuild@0.25.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.5 + '@esbuild/android-arm': 0.25.5 + '@esbuild/android-arm64': 0.25.5 + '@esbuild/android-x64': 0.25.5 + '@esbuild/darwin-arm64': 0.25.5 + '@esbuild/darwin-x64': 0.25.5 + '@esbuild/freebsd-arm64': 0.25.5 + '@esbuild/freebsd-x64': 0.25.5 + '@esbuild/linux-arm': 0.25.5 + '@esbuild/linux-arm64': 0.25.5 + '@esbuild/linux-ia32': 0.25.5 + '@esbuild/linux-loong64': 0.25.5 + '@esbuild/linux-mips64el': 0.25.5 + '@esbuild/linux-ppc64': 0.25.5 + '@esbuild/linux-riscv64': 0.25.5 + '@esbuild/linux-s390x': 0.25.5 + '@esbuild/linux-x64': 0.25.5 + '@esbuild/netbsd-arm64': 0.25.5 + '@esbuild/netbsd-x64': 0.25.5 + '@esbuild/openbsd-arm64': 0.25.5 + '@esbuild/openbsd-x64': 0.25.5 + '@esbuild/sunos-x64': 0.25.5 + '@esbuild/win32-arm64': 0.25.5 + '@esbuild/win32-ia32': 0.25.5 + '@esbuild/win32-x64': 0.25.5 + + escalade@3.2.0: {} + + escape-string-regexp@4.0.0: {} + + eslint-config-next@15.2.3(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3): + dependencies: + '@next/eslint-plugin-next': 15.2.3 + '@rushstack/eslint-patch': 1.11.0 + '@typescript-eslint/eslint-plugin': 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.28.0(jiti@2.4.2) + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.28.0(jiti@2.4.2)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.28.0(jiti@2.4.2)) + eslint-plugin-react: 7.37.5(eslint@9.28.0(jiti@2.4.2)) + eslint-plugin-react-hooks: 5.2.0(eslint@9.28.0(jiti@2.4.2)) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - eslint-plugin-import-x + - supports-color + + eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)): + dependencies: + eslint: 9.28.0(jiti@2.4.2) + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.31.0)(eslint@9.28.0(jiti@2.4.2)): + dependencies: + '@nolyfill/is-core-module': 1.0.39 + debug: 4.4.1 + eslint: 9.28.0(jiti@2.4.2) + get-tsconfig: 4.10.1 + is-bun-module: 2.0.0 + stable-hash: 0.0.5 + tinyglobby: 0.2.14 + unrs-resolver: 1.7.13 + optionalDependencies: + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)) + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.28.0(jiti@2.4.2) + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.28.0(jiti@2.4.2)) + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.9 + array.prototype.findlastindex: 1.2.6 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 9.28.0(jiti@2.4.2) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)) + hasown: 2.0.2 + is-core-module: 2.16.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 + semver: 6.3.1 + string.prototype.trimend: 1.0.9 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-jsx-a11y@6.10.2(eslint@9.28.0(jiti@2.4.2)): + dependencies: + aria-query: 5.3.2 + array-includes: 3.1.9 + array.prototype.flatmap: 1.3.3 + ast-types-flow: 0.0.8 + axe-core: 4.10.3 + axobject-query: 4.1.0 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 9.28.0(jiti@2.4.2) + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + safe-regex-test: 1.1.0 + string.prototype.includes: 2.0.1 + + eslint-plugin-prettier@5.4.1(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(prettier@3.5.3): + dependencies: + eslint: 9.28.0(jiti@2.4.2) + prettier: 3.5.3 + prettier-linter-helpers: 1.0.0 + synckit: 0.11.8 + optionalDependencies: + eslint-config-prettier: 10.1.5(eslint@9.28.0(jiti@2.4.2)) + + eslint-plugin-react-hooks@5.2.0(eslint@9.28.0(jiti@2.4.2)): + dependencies: + eslint: 9.28.0(jiti@2.4.2) + + eslint-plugin-react@7.37.5(eslint@9.28.0(jiti@2.4.2)): + dependencies: + array-includes: 3.1.9 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.3 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.2.1 + eslint: 9.28.0(jiti@2.4.2) + estraverse: 5.3.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.9 + object.fromentries: 2.0.8 + object.values: 1.2.1 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.12 + string.prototype.repeat: 1.0.0 + + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2)): + dependencies: + eslint: 9.28.0(jiti@2.4.2) + optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint@9.28.0(jiti@2.4.2): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.20.0 + '@eslint/config-helpers': 0.2.2 + '@eslint/core': 0.14.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.28.0 + '@eslint/plugin-kit': 0.3.1 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.1 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.4.2 + transitivePeerDependencies: + - supports-color + + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.8 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-scope@1.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.4 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + + esutils@2.0.3: {} + + extend@3.0.2: {} + + fast-deep-equal@2.0.1: {} + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-glob@3.3.1: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-xml-parser@4.4.1: + dependencies: + strnum: 1.1.2 + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fdir@6.4.6(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flatted@3.3.3: {} + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + fraction.js@4.3.7: {} + + framer-motion@12.16.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + motion-dom: 12.16.0 + motion-utils: 12.12.1 + tslib: 2.8.1 + optionalDependencies: + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + + functions-have-names@1.2.3: {} + + geist@1.4.2(next@15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)): + dependencies: + next: 15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-nonce@1.0.1: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + + get-tsconfig@4.10.1: + dependencies: + resolve-pkg-maps: 1.0.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + globals@14.0.0: {} + + globals@16.2.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + gopd@1.2.0: {} + + graphemer@1.4.0: {} + + has-bigints@1.1.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-to-estree@3.1.3: + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.16 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-jsx-runtime@2.3.6: + dependencies: + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.16 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + html-encoding-sniffer@4.0.0: + dependencies: + whatwg-encoding: 3.1.1 + + html-to-text@9.0.5: + dependencies: + '@selderee/plugin-htmlparser2': 0.11.0 + deepmerge: 4.3.1 + dom-serializer: 2.0.0 + htmlparser2: 8.0.2 + selderee: 0.11.0 + + htmlparser2@8.0.2: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 4.5.0 + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.3 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.3 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + i@0.3.7: {} + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + inline-style-parser@0.2.4: {} + + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + + international-types@0.8.1: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-arrayish@0.3.2: {} + + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-bun-module@2.0.0: + dependencies: + semver: 7.7.2 + + is-callable@1.2.7: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-decimal@2.0.1: {} + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.1.0: + dependencies: + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-map@2.0.3: {} + + is-negative-zero@2.0.3: {} + + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-number@7.0.0: {} + + is-plain-obj@4.1.0: {} + + is-potential-custom-element-name@1.0.1: {} + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 + + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.19 + + is-ua-webview@1.1.2: {} + + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + isomorphic-dompurify@2.25.0: + dependencies: + dompurify: 3.2.6 + jsdom: 26.1.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + + iterator.prototype@1.1.5: + dependencies: + define-data-property: 1.1.4 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + has-symbols: 1.1.0 + set-function-name: 2.0.2 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jiti@1.21.7: {} + + jiti@2.4.2: {} + + jose@5.10.0: {} + + jose@6.0.11: {} + + js-tokens@4.0.0: {} + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsdom@26.1.0: + dependencies: + cssstyle: 4.4.0 + data-urls: 5.0.0 + decimal.js: 10.5.0 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.20 + parse5: 7.3.0 + rrweb-cssom: 0.8.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 5.1.2 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + ws: 8.18.2 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.1.9 + array.prototype.flat: 1.3.3 + object.assign: 4.1.7 + object.values: 1.2.1 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kysely@0.28.2: {} + + language-subtag-registry@0.3.23: {} + + language-tags@1.0.9: + dependencies: + language-subtag-registry: 0.3.23 + + leac@0.6.0: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + linkify-it@5.0.0: + dependencies: + uc.micro: 2.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.castarray@4.4.0: {} + + lodash.debounce@4.0.8: {} + + lodash.findkey@4.6.0: {} + + lodash.isequal@4.5.0: {} + + lodash.isplainobject@4.0.6: {} + + lodash.merge@4.6.2: {} + + lodash.set@4.3.2: {} + + longest-streak@3.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lottie-react@2.4.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + lottie-web: 5.13.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + + lottie-web@5.13.0: {} + + lru-cache@10.4.3: {} + + lucide-react@0.487.0(react@19.1.0): + dependencies: + react: 19.1.0 + + markdown-extensions@2.0.0: {} + + markdown-it@14.1.0: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + + marked@7.0.4: {} + + math-intrinsics@1.1.0: {} + + md-to-react-email@5.0.5(react@19.1.0): + dependencies: + marked: 7.0.4 + react: 19.1.0 + + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.1.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.2.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdurl@2.0.0: {} + + merge2@1.4.1: {} + + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.1.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-expression@3.0.1: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-jsx@3.0.2: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.2 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-mdx-expression@2.0.3: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-events-to-acorn@2.0.3: + dependencies: + '@types/estree': 1.0.8 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.2 + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.2: {} + + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.1 + decode-named-character-reference: 1.1.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime@4.0.7: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mitt@3.0.1: {} + + motion-dom@12.16.0: + dependencies: + motion-utils: 12.12.1 + + motion-utils@12.12.1: {} + + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.11: {} + + nanoid@5.1.5: {} + + nanostores@0.11.4: {} + + napi-postinstall@0.2.4: {} + + natural-compare@1.4.0: {} + + next-international@1.3.1: + dependencies: + client-only: 0.0.1 + international-types: 0.8.1 + server-only: 0.0.1 + + next-mdx-remote@5.0.0(@types/react@19.1.7)(acorn@8.15.0)(react@19.1.0): + dependencies: + '@babel/code-frame': 7.27.1 + '@mdx-js/mdx': 3.1.0(acorn@8.15.0) + '@mdx-js/react': 3.1.0(@types/react@19.1.7)(react@19.1.0) + react: 19.1.0 + unist-util-remove: 3.1.1 + vfile: 6.0.3 + vfile-matter: 5.0.1 + transitivePeerDependencies: + - '@types/react' + - acorn + - supports-color + + next-plausible@3.12.4(next@15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + next: 15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + + next-safe-action@7.10.8(next@15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(zod@3.25.57): + dependencies: + next: 15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + zod: 3.25.57 + + next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + + next@15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + '@next/env': 15.2.3 + '@swc/counter': 0.1.3 + '@swc/helpers': 0.5.15 + busboy: 1.6.0 + caniuse-lite: 1.0.30001721 + postcss: 8.4.31 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + styled-jsx: 5.1.6(react@19.1.0) + optionalDependencies: + '@next/swc-darwin-arm64': 15.2.3 + '@next/swc-darwin-x64': 15.2.3 + '@next/swc-linux-arm64-gnu': 15.2.3 + '@next/swc-linux-arm64-musl': 15.2.3 + '@next/swc-linux-x64-gnu': 15.2.3 + '@next/swc-linux-x64-musl': 15.2.3 + '@next/swc-win32-arm64-msvc': 15.2.3 + '@next/swc-win32-x64-msvc': 15.2.3 + sharp: 0.33.5 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + + node-releases@2.0.19: {} + + nodemailer@6.10.1: {} + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + npm@11.4.1: {} + + nprogress@0.2.0: {} + + nuqs@2.4.3(next@15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0): + dependencies: + mitt: 3.0.1 + react: 19.1.0 + optionalDependencies: + next: 15.2.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + + nwsapi@2.2.20: {} + + oauth4webapi@3.5.2: {} + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.entries@1.1.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + + object.values@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + orderedmap@2.1.1: {} + + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + package-json-from-dist@1.0.1: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.1.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + + parseley@0.12.1: + dependencies: + leac: 0.6.0 + peberminta: 0.9.0 + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + peberminta@0.9.0: {} + + pg-cloudflare@1.2.5: + optional: true + + pg-connection-string@2.9.0: {} + + pg-int8@1.0.1: {} + + pg-pool@3.10.0(pg@8.16.0): + dependencies: + pg: 8.16.0 + + pg-protocol@1.10.0: {} + + pg-types@2.2.0: + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + pg@8.16.0: + dependencies: + pg-connection-string: 2.9.0 + pg-pool: 3.10.0(pg@8.16.0) + pg-protocol: 1.10.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.2.5 + + pgpass@1.0.5: + dependencies: + split2: 4.2.0 + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.2: {} + + pify@2.3.0: {} + + pirates@4.0.7: {} + + possible-typed-array-names@1.1.0: {} + + postcss-import@15.1.0(postcss@8.5.4): + dependencies: + postcss: 8.5.4 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.10 + + postcss-js@4.0.1(postcss@8.5.4): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.5.4 + + postcss-load-config@4.0.2(postcss@8.5.4): + dependencies: + lilconfig: 3.1.3 + yaml: 2.8.0 + optionalDependencies: + postcss: 8.5.4 + + postcss-nested@6.2.0(postcss@8.5.4): + dependencies: + postcss: 8.5.4 + postcss-selector-parser: 6.1.2 + + postcss-selector-parser@6.0.10: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.4.31: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postcss@8.5.4: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postgres-array@2.0.0: {} + + postgres-bytea@1.0.0: {} + + postgres-date@1.0.7: {} + + postgres-interval@1.2.0: + dependencies: + xtend: 4.0.2 + + preact-render-to-string@6.5.11(preact@10.24.3): + dependencies: + preact: 10.24.3 + + preact@10.24.3: {} + + prelude-ls@1.2.1: {} + + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + + prettier-plugin-sort-json@4.1.1(prettier@3.5.3): + dependencies: + prettier: 3.5.3 + + prettier@3.5.3: {} + + prisma@6.9.0(typescript@5.8.3): + dependencies: + '@prisma/config': 6.9.0 + '@prisma/engines': 6.9.0 + optionalDependencies: + typescript: 5.8.3 + + prismjs@1.29.0: {} + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + property-information@7.1.0: {} + + prosemirror-changeset@2.3.1: + dependencies: + prosemirror-transform: 1.10.4 + + prosemirror-collab@1.3.1: + dependencies: + prosemirror-state: 1.4.3 + + prosemirror-commands@1.7.1: + dependencies: + prosemirror-model: 1.25.1 + prosemirror-state: 1.4.3 + prosemirror-transform: 1.10.4 + + prosemirror-dropcursor@1.8.2: + dependencies: + prosemirror-state: 1.4.3 + prosemirror-transform: 1.10.4 + prosemirror-view: 1.40.0 + + prosemirror-gapcursor@1.3.2: + dependencies: + prosemirror-keymap: 1.2.3 + prosemirror-model: 1.25.1 + prosemirror-state: 1.4.3 + prosemirror-view: 1.40.0 + + prosemirror-history@1.4.1: + dependencies: + prosemirror-state: 1.4.3 + prosemirror-transform: 1.10.4 + prosemirror-view: 1.40.0 + rope-sequence: 1.3.4 + + prosemirror-inputrules@1.5.0: + dependencies: + prosemirror-state: 1.4.3 + prosemirror-transform: 1.10.4 + + prosemirror-keymap@1.2.3: + dependencies: + prosemirror-state: 1.4.3 + w3c-keyname: 2.2.8 + + prosemirror-markdown@1.13.2: + dependencies: + '@types/markdown-it': 14.1.2 + markdown-it: 14.1.0 + prosemirror-model: 1.25.1 + + prosemirror-menu@1.2.5: + dependencies: + crelt: 1.0.6 + prosemirror-commands: 1.7.1 + prosemirror-history: 1.4.1 + prosemirror-state: 1.4.3 + + prosemirror-model@1.25.1: + dependencies: + orderedmap: 2.1.1 + + prosemirror-schema-basic@1.2.4: + dependencies: + prosemirror-model: 1.25.1 + + prosemirror-schema-list@1.5.1: + dependencies: + prosemirror-model: 1.25.1 + prosemirror-state: 1.4.3 + prosemirror-transform: 1.10.4 + + prosemirror-state@1.4.3: + dependencies: + prosemirror-model: 1.25.1 + prosemirror-transform: 1.10.4 + prosemirror-view: 1.40.0 + + prosemirror-tables@1.7.1: + dependencies: + prosemirror-keymap: 1.2.3 + prosemirror-model: 1.25.1 + prosemirror-state: 1.4.3 + prosemirror-transform: 1.10.4 + prosemirror-view: 1.40.0 + + prosemirror-trailing-node@3.0.0(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0): + dependencies: + '@remirror/core-constants': 3.0.0 + escape-string-regexp: 4.0.0 + prosemirror-model: 1.25.1 + prosemirror-state: 1.4.3 + prosemirror-view: 1.40.0 + + prosemirror-transform@1.10.4: + dependencies: + prosemirror-model: 1.25.1 + + prosemirror-view@1.40.0: + dependencies: + prosemirror-model: 1.25.1 + prosemirror-state: 1.4.3 + prosemirror-transform: 1.10.4 + + punycode.js@2.3.1: {} + + punycode@2.3.1: {} + + pvtsutils@1.3.6: + dependencies: + tslib: 2.8.1 + + pvutils@1.1.3: {} + + qrcode-generator@1.5.0: {} + + qs@6.14.0: + dependencies: + side-channel: 1.1.0 + + queue-microtask@1.2.3: {} + + react-calendly@4.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + + react-colorful@5.6.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + + react-dom@19.1.0(react@19.1.0): + dependencies: + react: 19.1.0 + scheduler: 0.26.0 + + react-facebook-pixel@1.0.4: {} + + react-hook-form@7.57.0(react@19.1.0): + dependencies: + react: 19.1.0 + + react-icons@5.5.0(react@19.1.0): + dependencies: + react: 19.1.0 + + react-is@16.13.1: {} + + react-promise-suspense@0.3.4: + dependencies: + fast-deep-equal: 2.0.1 + + react-qrcode-logo@3.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + lodash.isequal: 4.5.0 + qrcode-generator: 1.5.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + + react-remove-scroll-bar@2.3.8(@types/react@19.1.7)(react@19.1.0): + dependencies: + react: 19.1.0 + react-style-singleton: 2.2.3(@types/react@19.1.7)(react@19.1.0) + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.7 + + react-remove-scroll@2.7.1(@types/react@19.1.7)(react@19.1.0): + dependencies: + react: 19.1.0 + react-remove-scroll-bar: 2.3.8(@types/react@19.1.7)(react@19.1.0) + react-style-singleton: 2.2.3(@types/react@19.1.7)(react@19.1.0) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.1.7)(react@19.1.0) + use-sidecar: 1.1.3(@types/react@19.1.7)(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.7 + + react-style-singleton@2.2.3(@types/react@19.1.7)(react@19.1.0): + dependencies: + get-nonce: 1.0.1 + react: 19.1.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.7 + + react@19.1.0: {} + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + recma-build-jsx@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 + + recma-jsx@1.0.0(acorn@8.15.0): + dependencies: + acorn-jsx: 5.3.2(acorn@8.15.0) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - acorn + + recma-parse@1.0.0: + dependencies: + '@types/estree': 1.0.8 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 + + recma-stringify@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 + + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + rehype-recma@1.0.0: + dependencies: + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + hast-util-to-estree: 3.1.3 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.1.0: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + micromark-util-types: 2.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.2: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.5 + vfile: 6.0.3 + + resend@4.5.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + '@react-email/render': 1.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + transitivePeerDependencies: + - react + - react-dom + + resolve-from@4.0.0: {} + + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@2.0.0-next.5: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.1.0: {} + + rope-sequence@1.3.4: {} + + rou3@0.5.1: {} + + rrweb-cssom@0.8.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-array-concat@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + + safer-buffer@2.1.2: {} + + saxes@6.0.0: + dependencies: + xmlchars: 2.2.0 + + scheduler@0.26.0: {} + + selderee@0.11.0: + dependencies: + parseley: 0.12.1 + + semver@6.3.1: {} + + semver@7.7.2: {} + + server-only@0.0.1: {} + + set-cookie-parser@2.7.1: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.4 + semver: 7.7.2 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + optional: true + + sharp@0.34.2: + dependencies: + color: 4.2.3 + detect-libc: 2.0.4 + semver: 7.7.2 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.34.2 + '@img/sharp-darwin-x64': 0.34.2 + '@img/sharp-libvips-darwin-arm64': 1.1.0 + '@img/sharp-libvips-darwin-x64': 1.1.0 + '@img/sharp-libvips-linux-arm': 1.1.0 + '@img/sharp-libvips-linux-arm64': 1.1.0 + '@img/sharp-libvips-linux-ppc64': 1.1.0 + '@img/sharp-libvips-linux-s390x': 1.1.0 + '@img/sharp-libvips-linux-x64': 1.1.0 + '@img/sharp-libvips-linuxmusl-arm64': 1.1.0 + '@img/sharp-libvips-linuxmusl-x64': 1.1.0 + '@img/sharp-linux-arm': 0.34.2 + '@img/sharp-linux-arm64': 0.34.2 + '@img/sharp-linux-s390x': 0.34.2 + '@img/sharp-linux-x64': 0.34.2 + '@img/sharp-linuxmusl-arm64': 0.34.2 + '@img/sharp-linuxmusl-x64': 0.34.2 + '@img/sharp-wasm32': 0.34.2 + '@img/sharp-win32-arm64': 0.34.2 + '@img/sharp-win32-ia32': 0.34.2 + '@img/sharp-win32-x64': 0.34.2 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@4.1.0: {} + + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + + sonner@2.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + + source-map-js@1.2.1: {} + + source-map@0.7.4: {} + + space-separated-tokens@2.0.2: {} + + split2@4.2.0: {} + + stable-hash@0.0.5: {} + + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + + streamsearch@1.1.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string.prototype.includes@2.0.1: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + + string.prototype.matchall@4.0.12: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + regexp.prototype.flags: 1.5.4 + set-function-name: 2.0.2 + side-channel: 1.1.0 + + string.prototype.repeat@1.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.24.0 + + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 + + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom@3.0.0: {} + + strip-json-comments@3.1.1: {} + + stripe@18.2.1(@types/node@20.19.0): + dependencies: + qs: 6.14.0 + optionalDependencies: + '@types/node': 20.19.0 + + strnum@1.1.2: {} + + style-to-js@1.1.16: + dependencies: + style-to-object: 1.0.8 + + style-to-object@1.0.8: + dependencies: + inline-style-parser: 0.2.4 + + styled-jsx@5.1.6(react@19.1.0): + dependencies: + client-only: 0.0.1 + react: 19.1.0 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + ts-interface-checker: 0.1.13 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + symbol-tree@3.2.4: {} + + synckit@0.11.8: + dependencies: + '@pkgr/core': 0.2.7 + + tailwind-merge@2.6.0: {} + + tailwindcss-animate@1.0.7(tailwindcss@3.4.17): + dependencies: + tailwindcss: 3.4.17 + + tailwindcss@3.4.17: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.3 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.5.4 + postcss-import: 15.1.0(postcss@8.5.4) + postcss-js: 4.0.1(postcss@8.5.4) + postcss-load-config: 4.0.2(postcss@8.5.4) + postcss-nested: 6.2.0(postcss@8.5.4) + postcss-selector-parser: 6.1.2 + resolve: 1.22.10 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.6(picomatch@4.0.2) + picomatch: 4.0.2 + + tippy.js@6.3.7: + dependencies: + '@popperjs/core': 2.11.8 + + tldts-core@6.1.86: {} + + tldts@6.1.86: + dependencies: + tldts-core: 6.1.86 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + tough-cookie@5.1.2: + dependencies: + tldts: 6.1.86 + + tr46@5.1.1: + dependencies: + punycode: 2.3.1 + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-api-utils@2.1.0(typescript@5.8.3): + dependencies: + typescript: 5.8.3 + + ts-interface-checker@0.1.13: {} + + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@2.8.1: {} + + tslog@4.9.3: {} + + tsx@4.19.4: + dependencies: + esbuild: 0.25.5 + get-tsconfig: 4.10.1 + optionalDependencies: + fsevents: 2.3.3 + + tw-animate-css@1.3.4: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + + typescript-eslint@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + typescript@5.8.3: {} + + uc.micro@2.1.0: {} + + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + uncrypto@0.1.3: {} + + undici-types@6.21.0: {} + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unist-util-is@5.2.1: + dependencies: + '@types/unist': 2.0.11 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-remove@3.1.1: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@5.1.3: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 5.2.1 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + unrs-resolver@1.7.13: + dependencies: + napi-postinstall: 0.2.4 + optionalDependencies: + '@unrs/resolver-binding-darwin-arm64': 1.7.13 + '@unrs/resolver-binding-darwin-x64': 1.7.13 + '@unrs/resolver-binding-freebsd-x64': 1.7.13 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.7.13 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.7.13 + '@unrs/resolver-binding-linux-arm64-gnu': 1.7.13 + '@unrs/resolver-binding-linux-arm64-musl': 1.7.13 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.7.13 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.7.13 + '@unrs/resolver-binding-linux-riscv64-musl': 1.7.13 + '@unrs/resolver-binding-linux-s390x-gnu': 1.7.13 + '@unrs/resolver-binding-linux-x64-gnu': 1.7.13 + '@unrs/resolver-binding-linux-x64-musl': 1.7.13 + '@unrs/resolver-binding-wasm32-wasi': 1.7.13 + '@unrs/resolver-binding-win32-arm64-msvc': 1.7.13 + '@unrs/resolver-binding-win32-ia32-msvc': 1.7.13 + '@unrs/resolver-binding-win32-x64-msvc': 1.7.13 + + update-browserslist-db@1.1.3(browserslist@4.25.0): + dependencies: + browserslist: 4.25.0 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + use-callback-ref@1.3.3(@types/react@19.1.7)(react@19.1.0): + dependencies: + react: 19.1.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.7 + + use-sidecar@1.1.3(@types/react@19.1.7)(react@19.1.0): + dependencies: + detect-node-es: 1.1.0 + react: 19.1.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.7 + + use-sync-external-store@1.5.0(react@19.1.0): + dependencies: + react: 19.1.0 + + usehooks-ts@3.1.1(react@19.1.0): + dependencies: + lodash.debounce: 4.0.8 + react: 19.1.0 + + util-deprecate@1.0.2: {} + + uuid@9.0.1: {} + + vaul@1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + '@radix-ui/react-dialog': 1.1.14(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + + vfile-matter@5.0.1: + dependencies: + vfile: 6.0.3 + yaml: 2.8.0 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + w3c-keyname@2.2.8: {} + + w3c-xmlserializer@5.0.0: + dependencies: + xml-name-validator: 5.0.0 + + webidl-conversions@7.0.0: {} + + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@4.0.0: {} + + whatwg-url@14.2.0: + dependencies: + tr46: 5.1.1 + webidl-conversions: 7.0.0 + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.0 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.19 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.19: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + ws@8.18.2: {} + + xml-name-validator@5.0.0: {} + + xmlchars@2.2.0: {} + + xtend@4.0.2: {} + + yaml@2.8.0: {} + + yocto-queue@0.1.0: {} + + zod@3.25.57: {} + + zustand@5.0.5(@types/react@19.1.7)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)): + optionalDependencies: + '@types/react': 19.1.7 + react: 19.1.0 + use-sync-external-store: 1.5.0(react@19.1.0) + + zwitch@2.0.4: {} diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 0000000..1a69fd2 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,8 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + tailwindcss: {}, + }, +}; + +export default config; diff --git a/prisma/migrations/20250414120436_init/migration.sql b/prisma/migrations/20250414120436_init/migration.sql new file mode 100644 index 0000000..dafa04b --- /dev/null +++ b/prisma/migrations/20250414120436_init/migration.sql @@ -0,0 +1,69 @@ +-- CreateTable +CREATE TABLE "user" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "email" TEXT NOT NULL, + "emailVerified" BOOLEAN NOT NULL, + "image" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "user_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "session" ( + "id" TEXT NOT NULL, + "expiresAt" TIMESTAMP(3) NOT NULL, + "token" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL, + "updatedAt" TIMESTAMP(3) NOT NULL, + "ipAddress" TEXT, + "userAgent" TEXT, + "userId" TEXT NOT NULL, + + CONSTRAINT "session_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "account" ( + "id" TEXT NOT NULL, + "accountId" TEXT NOT NULL, + "providerId" TEXT NOT NULL, + "userId" TEXT NOT NULL, + "accessToken" TEXT, + "refreshToken" TEXT, + "idToken" TEXT, + "accessTokenExpiresAt" TIMESTAMP(3), + "refreshTokenExpiresAt" TIMESTAMP(3), + "scope" TEXT, + "password" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "account_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "verification" ( + "id" TEXT NOT NULL, + "identifier" TEXT NOT NULL, + "value" TEXT NOT NULL, + "expiresAt" TIMESTAMP(3) NOT NULL, + "createdAt" TIMESTAMP(3), + "updatedAt" TIMESTAMP(3), + + CONSTRAINT "verification_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "user_email_key" ON "user"("email"); + +-- CreateIndex +CREATE UNIQUE INDEX "session_token_key" ON "session"("token"); + +-- AddForeignKey +ALTER TABLE "session" ADD CONSTRAINT "session_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "account" ADD CONSTRAINT "account_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/migrations/20250414170807_add_feedbacks/migration.sql b/prisma/migrations/20250414170807_add_feedbacks/migration.sql new file mode 100644 index 0000000..397b933 --- /dev/null +++ b/prisma/migrations/20250414170807_add_feedbacks/migration.sql @@ -0,0 +1,15 @@ +-- CreateTable +CREATE TABLE "Feedback" ( + "id" TEXT NOT NULL, + "review" INTEGER NOT NULL, + "message" TEXT NOT NULL, + "email" TEXT, + "userId" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "Feedback_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "Feedback" ADD CONSTRAINT "Feedback_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/prisma/migrations/20250414174246_rename_feedbacks/migration.sql b/prisma/migrations/20250414174246_rename_feedbacks/migration.sql new file mode 100644 index 0000000..23ee64c --- /dev/null +++ b/prisma/migrations/20250414174246_rename_feedbacks/migration.sql @@ -0,0 +1,27 @@ +/* + Warnings: + + - You are about to drop the `Feedback` table. If the table is not empty, all the data it contains will be lost. + +*/ +-- DropForeignKey +ALTER TABLE "Feedback" DROP CONSTRAINT "Feedback_userId_fkey"; + +-- DropTable +DROP TABLE "Feedback"; + +-- CreateTable +CREATE TABLE "feedbacks" ( + "id" TEXT NOT NULL, + "review" INTEGER NOT NULL, + "message" TEXT NOT NULL, + "email" TEXT, + "userId" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "feedbacks_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "feedbacks" ADD CONSTRAINT "feedbacks_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/prisma/migrations/20250414232816_add_first_name_and_last_name/migration.sql b/prisma/migrations/20250414232816_add_first_name_and_last_name/migration.sql new file mode 100644 index 0000000..1f773c9 --- /dev/null +++ b/prisma/migrations/20250414232816_add_first_name_and_last_name/migration.sql @@ -0,0 +1,3 @@ +-- AlterTable +ALTER TABLE "user" ADD COLUMN "firstName" TEXT NOT NULL DEFAULT '', +ADD COLUMN "lastName" TEXT NOT NULL DEFAULT ''; diff --git a/prisma/migrations/20250416160303_add_plans/migration.sql b/prisma/migrations/20250416160303_add_plans/migration.sql new file mode 100644 index 0000000..4b96e4e --- /dev/null +++ b/prisma/migrations/20250416160303_add_plans/migration.sql @@ -0,0 +1,49 @@ +-- CreateTable +CREATE TABLE "Plan" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "description" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "Plan_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "PlanVariant" ( + "id" TEXT NOT NULL, + "label" TEXT NOT NULL, + "planId" TEXT NOT NULL, + "stripePriceId" TEXT NOT NULL, + "description" TEXT, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "PlanVariant_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Subscription" ( + "id" TEXT NOT NULL, + "userId" TEXT NOT NULL, + "planVariantId" TEXT NOT NULL, + "stripeCustomerId" TEXT NOT NULL, + "stripeSubId" TEXT NOT NULL, + "status" TEXT NOT NULL, + "currentPeriodEnd" TIMESTAMP(3) NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "Subscription_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "Subscription_userId_key" ON "Subscription"("userId"); + +-- AddForeignKey +ALTER TABLE "PlanVariant" ADD CONSTRAINT "PlanVariant_planId_fkey" FOREIGN KEY ("planId") REFERENCES "Plan"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Subscription" ADD CONSTRAINT "Subscription_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Subscription" ADD CONSTRAINT "Subscription_planVariantId_fkey" FOREIGN KEY ("planVariantId") REFERENCES "PlanVariant"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20250416160502_map/migration.sql b/prisma/migrations/20250416160502_map/migration.sql new file mode 100644 index 0000000..a26cd67 --- /dev/null +++ b/prisma/migrations/20250416160502_map/migration.sql @@ -0,0 +1,75 @@ +/* + Warnings: + + - You are about to drop the `Plan` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `PlanVariant` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `Subscription` table. If the table is not empty, all the data it contains will be lost. + +*/ +-- DropForeignKey +ALTER TABLE "PlanVariant" DROP CONSTRAINT "PlanVariant_planId_fkey"; + +-- DropForeignKey +ALTER TABLE "Subscription" DROP CONSTRAINT "Subscription_planVariantId_fkey"; + +-- DropForeignKey +ALTER TABLE "Subscription" DROP CONSTRAINT "Subscription_userId_fkey"; + +-- DropTable +DROP TABLE "Plan"; + +-- DropTable +DROP TABLE "PlanVariant"; + +-- DropTable +DROP TABLE "Subscription"; + +-- CreateTable +CREATE TABLE "plan" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "description" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "plan_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "plan_variant" ( + "id" TEXT NOT NULL, + "label" TEXT NOT NULL, + "planId" TEXT NOT NULL, + "stripePriceId" TEXT NOT NULL, + "description" TEXT, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "plan_variant_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "subscription" ( + "id" TEXT NOT NULL, + "userId" TEXT NOT NULL, + "planVariantId" TEXT NOT NULL, + "stripeCustomerId" TEXT NOT NULL, + "stripeSubId" TEXT NOT NULL, + "status" TEXT NOT NULL, + "currentPeriodEnd" TIMESTAMP(3) NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "subscription_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "subscription_userId_key" ON "subscription"("userId"); + +-- AddForeignKey +ALTER TABLE "plan_variant" ADD CONSTRAINT "plan_variant_planId_fkey" FOREIGN KEY ("planId") REFERENCES "plan"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "subscription" ADD CONSTRAINT "subscription_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "subscription" ADD CONSTRAINT "subscription_planVariantId_fkey" FOREIGN KEY ("planVariantId") REFERENCES "plan_variant"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20250505114841_add_user_role/migration.sql b/prisma/migrations/20250505114841_add_user_role/migration.sql new file mode 100644 index 0000000..3cc6b7c --- /dev/null +++ b/prisma/migrations/20250505114841_add_user_role/migration.sql @@ -0,0 +1,11 @@ +-- CreateEnum +CREATE TYPE "UserRole" AS ENUM ('ADMIN', 'USER'); + +-- AlterTable +ALTER TABLE "session" ADD COLUMN "impersonatedBy" TEXT; + +-- AlterTable +ALTER TABLE "user" ADD COLUMN "banExpires" TIMESTAMP(3), +ADD COLUMN "banReason" TEXT, +ADD COLUMN "banned" BOOLEAN DEFAULT false, +ADD COLUMN "role" "UserRole" DEFAULT 'USER'; diff --git a/prisma/migrations/20250505191954_admin_and_user_lowercase/migration.sql b/prisma/migrations/20250505191954_admin_and_user_lowercase/migration.sql new file mode 100644 index 0000000..be58488 --- /dev/null +++ b/prisma/migrations/20250505191954_admin_and_user_lowercase/migration.sql @@ -0,0 +1,19 @@ +/* + Warnings: + + - The values [ADMIN,USER] on the enum `UserRole` will be removed. If these variants are still used in the database, this will fail. + +*/ +-- AlterEnum +BEGIN; +CREATE TYPE "UserRole_new" AS ENUM ('admin', 'user'); +ALTER TABLE "user" ALTER COLUMN "role" DROP DEFAULT; +ALTER TABLE "user" ALTER COLUMN "role" TYPE "UserRole_new" USING ("role"::text::"UserRole_new"); +ALTER TYPE "UserRole" RENAME TO "UserRole_old"; +ALTER TYPE "UserRole_new" RENAME TO "UserRole"; +DROP TYPE "UserRole_old"; +ALTER TABLE "user" ALTER COLUMN "role" SET DEFAULT 'user'; +COMMIT; + +-- AlterTable +ALTER TABLE "user" ALTER COLUMN "role" SET DEFAULT 'user'; diff --git a/prisma/migrations/20250610182024_add_exercises_and_attributes/migration.sql b/prisma/migrations/20250610182024_add_exercises_and_attributes/migration.sql new file mode 100644 index 0000000..afde474 --- /dev/null +++ b/prisma/migrations/20250610182024_add_exercises_and_attributes/migration.sql @@ -0,0 +1,121 @@ +/* + Warnings: + + - You are about to drop the `plan` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `plan_variant` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `subscription` table. If the table is not empty, all the data it contains will be lost. + +*/ +-- CreateEnum +CREATE TYPE "ExercisePrivacy" AS ENUM ('PUBLIC', 'PRIVATE'); + +-- CreateEnum +CREATE TYPE "ExerciseAttributeNameEnum" AS ENUM ('MUSCLE_GROUP', 'EQUIPMENT', 'DIFFICULTY', 'MOVEMENT_TYPE'); + +-- CreateEnum +CREATE TYPE "ExerciseAttributeValueEnum" AS ENUM ('CHEST', 'BACK', 'SHOULDERS', 'ARMS', 'LEGS', 'CORE', 'BARBELL', 'DUMBBELL', 'BODYWEIGHT', 'MACHINE', 'BEGINNER', 'INTERMEDIATE', 'ADVANCED', 'PUSH', 'PULL', 'SQUAT', 'HINGE'); + +-- DropForeignKey +ALTER TABLE "plan_variant" DROP CONSTRAINT "plan_variant_planId_fkey"; + +-- DropForeignKey +ALTER TABLE "subscription" DROP CONSTRAINT "subscription_planVariantId_fkey"; + +-- DropForeignKey +ALTER TABLE "subscription" DROP CONSTRAINT "subscription_userId_fkey"; + +-- AlterTable +ALTER TABLE "user" ADD COLUMN "locale" TEXT DEFAULT 'fr'; + +-- DropTable +DROP TABLE "plan"; + +-- DropTable +DROP TABLE "plan_variant"; + +-- DropTable +DROP TABLE "subscription"; + +-- CreateTable +CREATE TABLE "exercises" ( + "id" TEXT NOT NULL, + "coachId" TEXT, + "privacy" "ExercisePrivacy" NOT NULL DEFAULT 'PUBLIC', + "name" TEXT NOT NULL, + "nameEn" TEXT, + "introduction" TEXT, + "introductionEn" TEXT, + "description" TEXT, + "descriptionEn" TEXT, + "fullVideoUrl" TEXT, + "fullVideoImageUrl" TEXT, + "isArchived" BOOLEAN NOT NULL DEFAULT false, + "slug" TEXT, + "slugEn" TEXT, + "metaTitle" TEXT, + "metaTitleEn" TEXT, + "metaDescription" TEXT, + "metaDescriptionEn" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + + CONSTRAINT "exercises_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "exercise_attribute_names" ( + "id" TEXT NOT NULL, + "name" "ExerciseAttributeNameEnum" NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + + CONSTRAINT "exercise_attribute_names_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "exercise_attribute_values" ( + "id" TEXT NOT NULL, + "attributeNameId" TEXT NOT NULL, + "value" "ExerciseAttributeValueEnum" NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + + CONSTRAINT "exercise_attribute_values_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "exercise_attributes" ( + "id" TEXT NOT NULL, + "exerciseId" TEXT NOT NULL, + "attributeNameId" TEXT NOT NULL, + "attributeValueId" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + + CONSTRAINT "exercise_attributes_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "exercises_slug_key" ON "exercises"("slug"); + +-- CreateIndex +CREATE UNIQUE INDEX "exercises_slugEn_key" ON "exercises"("slugEn"); + +-- CreateIndex +CREATE UNIQUE INDEX "exercise_attributes_exerciseId_attributeNameId_attributeVal_key" ON "exercise_attributes"("exerciseId", "attributeNameId", "attributeValueId"); + +-- AddForeignKey +ALTER TABLE "exercise_attribute_values" ADD CONSTRAINT "exercise_attribute_values_attributeNameId_fkey" FOREIGN KEY ("attributeNameId") REFERENCES "exercise_attribute_names"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "exercise_attributes" ADD CONSTRAINT "exercise_attributes_exerciseId_fkey" FOREIGN KEY ("exerciseId") REFERENCES "exercises"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "exercise_attributes" ADD CONSTRAINT "exercise_attributes_attributeNameId_fkey" FOREIGN KEY ("attributeNameId") REFERENCES "exercise_attribute_names"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "exercise_attributes" ADD CONSTRAINT "exercise_attributes_attributeValueId_fkey" FOREIGN KEY ("attributeValueId") REFERENCES "exercise_attribute_values"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20250610182815_add_exercise_enums/migration.sql b/prisma/migrations/20250610182815_add_exercise_enums/migration.sql new file mode 100644 index 0000000..8dd5e8b --- /dev/null +++ b/prisma/migrations/20250610182815_add_exercise_enums/migration.sql @@ -0,0 +1,28 @@ +/* + Warnings: + + - The values [MUSCLE_GROUP,DIFFICULTY,MOVEMENT_TYPE] on the enum `ExerciseAttributeNameEnum` will be removed. If these variants are still used in the database, this will fail. + - The values [CHEST,BACK,ARMS,LEGS,CORE,DUMBBELL,BODYWEIGHT,MACHINE,BEGINNER,INTERMEDIATE,ADVANCED,PUSH,PULL,SQUAT,HINGE] on the enum `ExerciseAttributeValueEnum` will be removed. If these variants are still used in the database, this will fail. + - A unique constraint covering the columns `[attributeNameId,value]` on the table `exercise_attribute_values` will be added. If there are existing duplicate values, this will fail. + +*/ +-- AlterEnum +BEGIN; +CREATE TYPE "ExerciseAttributeNameEnum_new" AS ENUM ('TYPE', 'PRIMARY_MUSCLE', 'SECONDARY_MUSCLE', 'EQUIPMENT', 'MECHANICS_TYPE'); +ALTER TABLE "exercise_attribute_names" ALTER COLUMN "name" TYPE "ExerciseAttributeNameEnum_new" USING ("name"::text::"ExerciseAttributeNameEnum_new"); +ALTER TYPE "ExerciseAttributeNameEnum" RENAME TO "ExerciseAttributeNameEnum_old"; +ALTER TYPE "ExerciseAttributeNameEnum_new" RENAME TO "ExerciseAttributeNameEnum"; +DROP TYPE "ExerciseAttributeNameEnum_old"; +COMMIT; + +-- AlterEnum +BEGIN; +CREATE TYPE "ExerciseAttributeValueEnum_new" AS ENUM ('STRENGTH', 'PLYOMETRICS', 'CROSSFIT', 'CARDIO', 'QUADRICEPS', 'SHOULDERS', 'FULL_BODY', 'GLUTES', 'HAMSTRINGS', 'FOREARMS', 'BARBELL', 'BAR', 'CABLE', 'ROPE', 'BENCH', 'COMPOUND', 'ISOLATION'); +ALTER TABLE "exercise_attribute_values" ALTER COLUMN "value" TYPE "ExerciseAttributeValueEnum_new" USING ("value"::text::"ExerciseAttributeValueEnum_new"); +ALTER TYPE "ExerciseAttributeValueEnum" RENAME TO "ExerciseAttributeValueEnum_old"; +ALTER TYPE "ExerciseAttributeValueEnum_new" RENAME TO "ExerciseAttributeValueEnum"; +DROP TYPE "ExerciseAttributeValueEnum_old"; +COMMIT; + +-- CreateIndex +CREATE UNIQUE INDEX "exercise_attribute_values_attributeNameId_value_key" ON "exercise_attribute_values"("attributeNameId", "value"); diff --git a/prisma/migrations/20250610184725_simplified_exercises/migration.sql b/prisma/migrations/20250610184725_simplified_exercises/migration.sql new file mode 100644 index 0000000..0fe2cea --- /dev/null +++ b/prisma/migrations/20250610184725_simplified_exercises/migration.sql @@ -0,0 +1,47 @@ +/* + Warnings: + + - You are about to drop the column `deletedAt` on the `exercise_attribute_names` table. All the data in the column will be lost. + - You are about to drop the column `deletedAt` on the `exercise_attribute_values` table. All the data in the column will be lost. + - You are about to drop the column `deletedAt` on the `exercise_attributes` table. All the data in the column will be lost. + - You are about to drop the column `coachId` on the `exercises` table. All the data in the column will be lost. + - You are about to drop the column `deletedAt` on the `exercises` table. All the data in the column will be lost. + - You are about to drop the column `isArchived` on the `exercises` table. All the data in the column will be lost. + - You are about to drop the column `metaDescription` on the `exercises` table. All the data in the column will be lost. + - You are about to drop the column `metaDescriptionEn` on the `exercises` table. All the data in the column will be lost. + - You are about to drop the column `metaTitle` on the `exercises` table. All the data in the column will be lost. + - You are about to drop the column `metaTitleEn` on the `exercises` table. All the data in the column will be lost. + - You are about to drop the column `privacy` on the `exercises` table. All the data in the column will be lost. + - A unique constraint covering the columns `[name]` on the table `exercise_attribute_names` will be added. If there are existing duplicate values, this will fail. + - Changed the type of `name` on the `exercise_attribute_names` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required. + - Changed the type of `value` on the `exercise_attribute_values` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required. + +*/ +-- AlterTable +ALTER TABLE "exercise_attribute_names" DROP COLUMN "deletedAt", +DROP COLUMN "name", +ADD COLUMN "name" TEXT NOT NULL; + +-- AlterTable +ALTER TABLE "exercise_attribute_values" DROP COLUMN "deletedAt", +DROP COLUMN "value", +ADD COLUMN "value" TEXT NOT NULL; + +-- AlterTable +ALTER TABLE "exercise_attributes" DROP COLUMN "deletedAt"; + +-- AlterTable +ALTER TABLE "exercises" DROP COLUMN "coachId", +DROP COLUMN "deletedAt", +DROP COLUMN "isArchived", +DROP COLUMN "metaDescription", +DROP COLUMN "metaDescriptionEn", +DROP COLUMN "metaTitle", +DROP COLUMN "metaTitleEn", +DROP COLUMN "privacy"; + +-- CreateIndex +CREATE UNIQUE INDEX "exercise_attribute_names_name_key" ON "exercise_attribute_names"("name"); + +-- CreateIndex +CREATE UNIQUE INDEX "exercise_attribute_values_attributeNameId_value_key" ON "exercise_attribute_values"("attributeNameId", "value"); diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..044d57c --- /dev/null +++ b/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (e.g., Git) +provider = "postgresql" diff --git a/prisma/schema.prisma b/prisma/schema.prisma new file mode 100644 index 0000000..a3d5e72 --- /dev/null +++ b/prisma/schema.prisma @@ -0,0 +1,265 @@ +// This is your Prisma schema file +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") +} + +enum UserRole { + admin + user +} + +model User { + id String @id + firstName String @default("") + lastName String @default("") + name String + email String @unique + emailVerified Boolean + image String? + locale String? @default("fr") + createdAt DateTime + updatedAt DateTime + sessions Session[] + accounts Account[] + feedbacks Feedbacks[] + + role UserRole? @default(user) + banned Boolean? @default(false) + banReason String? + banExpires DateTime? + + @@map("user") +} + +model Session { + id String @id + expiresAt DateTime + token String @unique + createdAt DateTime + updatedAt DateTime + ipAddress String? + userAgent String? + userId String + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + + impersonatedBy String? + + @@map("session") +} + +model Account { + id String @id + accountId String + providerId String + userId String + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + accessToken String? + refreshToken String? + idToken String? + accessTokenExpiresAt DateTime? + refreshTokenExpiresAt DateTime? + scope String? + password String? + createdAt DateTime + updatedAt DateTime + + @@map("account") +} + +model Verification { + id String @id + identifier String + value String + expiresAt DateTime + createdAt DateTime? + updatedAt DateTime? + + @@map("verification") +} + +model Feedbacks { + id String @id @default(cuid()) + review Int + message String + email String? + userId String? + user User? @relation(fields: [userId], references: [id], onDelete: SetNull) + + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + @@map("feedbacks") +} + +model Exercise { + id String @id @default(cuid()) + name String + nameEn String? + description String? @db.Text + descriptionEn String? @db.Text + fullVideoUrl String? @db.Text + fullVideoImageUrl String? @db.Text + introduction String? @db.Text + introductionEn String? @db.Text + slug String? @unique + slugEn String? @unique + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + // Relations + attributes ExerciseAttribute[] + + @@map("exercises") +} + +model ExerciseAttributeName { + id String @id @default(cuid()) + name ExerciseAttributeNameEnum @unique + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + // Relations + values ExerciseAttributeValue[] + attributes ExerciseAttribute[] + + @@map("exercise_attribute_names") +} + +model ExerciseAttributeValue { + id String @id @default(cuid()) + attributeNameId String + value ExerciseAttributeValueEnum + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + // Relations + attributeName ExerciseAttributeName @relation(fields: [attributeNameId], references: [id]) + attributes ExerciseAttribute[] + + @@unique([attributeNameId, value]) + @@map("exercise_attribute_values") +} + +model ExerciseAttribute { + id String @id @default(cuid()) + exerciseId String + attributeNameId String + attributeValueId String + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + // Relations + exercise Exercise @relation(fields: [exerciseId], references: [id], onDelete: Cascade) + attributeName ExerciseAttributeName @relation(fields: [attributeNameId], references: [id]) + attributeValue ExerciseAttributeValue @relation(fields: [attributeValueId], references: [id]) + + @@unique([exerciseId, attributeNameId, attributeValueId]) + @@map("exercise_attributes") +} + +// Enums +enum ExercisePrivacy { + PUBLIC + PRIVATE +} + +// Noms d'attributs +enum ExerciseAttributeNameEnum { + TYPE + PRIMARY_MUSCLE + SECONDARY_MUSCLE + EQUIPMENT + MECHANICS_TYPE +} + +// Toutes les valeurs possibles +enum ExerciseAttributeValueEnum { + // Types d'exercices + BODYWEIGHT + STRENGTH + POWERLIFTING + CALISTHENIC + PLYOMETRICS + STRETCHING + STRONGMAN + CARDIO + STABILIZATION + POWER + RESISTANCE + CROSSFIT + WEIGHTLIFTING + + // Groupes musculaires + BICEPS + SHOULDERS + CHEST + BACK + GLUTES + TRICEPS + HAMSTRINGS + QUADRICEPS + FOREARMS + CALVES + TRAPS + ABDOMINALS + NECK + LATS + ADDUCTORS + ABDUCTORS + OBLIQUES + GROIN + FULL_BODY + ROTATOR_CUFF + HIP_FLEXOR + ACHILLES_TENDON + FINGERS + + // Équipements + DUMBBELL + KETTLEBELLS + BARBELL + SMITH_MACHINE + BODY_ONLY + OTHER + BANDS + EZ_BAR + MACHINE + DESK + PULLUP_BAR + NONE + CABLE + MEDICINE_BALL + SWISS_BALL + FOAM_ROLL + WEIGHT_PLATE + TRX + BOX + ROPES + SPIN_BIKE + STEP + BOSU + TYRE + SANDBAG + POLE + BENCH + WALL + BAR + RACK + CAR + SLED + CHAIN + SKIERG + ROPE + NA + + // Types de mécanique + ISOLATION + COMPOUND +} diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..c89d2bb92b461ec5507768d48d4be6ece87d8700 GIT binary patch literal 15355 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

-hDcpX4Hbi(s&x^n~;H;P+TIE_m`6dw}?f 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 bK~w_(+5H{D+9a}m00000NkvXXu0mjf=lrLm literal 0 HcmV?d00001 diff --git a/public/images/default-og-image_en.jpg b/public/images/default-og-image_en.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c2f3374a44a969459c7b4d233cfb3102941198ed GIT binary patch literal 79850 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

O(F^{li6Ur7-_EqUkOB3u)VYRTjsw;A*3 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 WQBPatyc1D$#HJz6_8T~Vcl{5r{h1a3 literal 0 HcmV?d00001 diff --git a/public/images/default-og-image_fr.jpg b/public/images/default-og-image_fr.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c9a55da3b975cc40dc6c8c95445b49da6b8fb0e GIT binary patch literal 84328 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

jt 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

w^UN&{Yx52o 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 LJdk~Y_%-rBEM#Du literal 0 HcmV?d00001 diff --git a/public/images/equipment/band.png b/public/images/equipment/band.png new file mode 100644 index 0000000000000000000000000000000000000000..2527a2a05f88ca694a9bf159e9599d82615f2c27 GIT binary patch literal 6723 zcmV-J8ocF+P)EX>4Tx04R}tkv&MmP!xqvQ%glE4t5Z6$WWau6cusQDionYs1;guFnQ@8G-*gu zTpR`0f`dPcRREj=E{Svtpa#g^{ zv49#h$gUs!4}QJ}{ee5``6Cn5uTIO`ldWEcnkEcd2?%@_Kbs%6yeudEM{XawXCP!?eX*bfW=JAns5hJg}r*stI0H{S|8;O}o2 zk@6ykn*>7O4ln~u0oOq80_T8Bz*$WB?Op#I#YNt~(SM;zrBbQ74#zJKZ3WrqLH97Q z4cOzL$PRyhE679sxl|&J_9%spDq|8+?%3S+Miz!#^5*j(=2;s#Ge~S_I`c zH|zk}51asYBXR)PhcG5F2eFJeND3J&I|I|I0_mJvyyk$Dqt9_MSy9$YOQlk&RtqRM zZUZ^$VYwGL35){!fK$X$7V9Ay0kJq(T0M7dXan#J@KtrBDwRsL;y}4+2<&0tpkGel z5_t~z`x}uwATwx6EJaOSM^126JJK1jm6}y^V0Ml^C$s8ERVtNgz;y3VH*EqL2aX{e z!Eg{bDk2BK9?ZA<5<6%T0|_i`H{qfJf1Ve(Qh5USv4T{kQmK{&mYW{{IR=b_9Co)H z2gX2lq%Smpb%3l1#YTAprI73`MSU22p+2S{RjE{}-okPN$SDuW!@wcn5f9Jp3pTKc z!}QKF^6*qnE-y!;rcaG0cNC;5l}gp2roX){K*FQGQS}a!lOl2iWVGQ%HkTEfxJ(7+ zz^blqG_T_dQk6=jDhkYRJ@BAwIOVtp<_Ta73CC!dv}s(%Onr821Y(t#E5?n+Al0T% z?@*AcR4P>sEVm4SJ?@>xxL+Re;2de*+Ga^V4w@j5=#Y}t;6~?KK0TKE*`!jbRBK1~ zzrAIv&x(CCahD=;4A+NQZtYMc17+^EEtj)|VIiHqZfRM&YjgOEgb+_JwvE|6`kdTQ zN2*e(Rw*z?b_1tyMF~!Lr+FM?_u^KhNk8V|t-WehSW$>)3c+^|pdeMLR4d+LCc{Tg z`sLT0)078_m=HI#B-e)-i6;K6Wr-_NUobR(0(f0Ps#2*2AC}+Q6(HdO;3Oiayt_Q* zm-U5q;)j(;u6Th&N=(&4h_)E=Qm?(B$wn%bYS5thXIl^FK>3J+XZQ%N#%ZC(Fdc^( zlieyaRYf2gwzbtG3R0CywT!^rc9d)=$uW?RdU&oYypuTREOWD#s8nq+GzNRWVJX1H zbXY;EQmJ|j%k9G;kCK(ZOU7XyZwr`7@=ugFOn*N$6KXeAoypGoVJ>3mAZ+mw(BUsC zm1>Ea{q7zkGJgs;Ro8LcFp`tNxQOg;!xvC9b4esE3$fR3+3O)14L9!bF?IM$C-0-^ zaV2sScGvcYcJx^fs3TRWREuinJ3F?K)r;NlL3t2lzsUR%AZUB13&vzx4a=%}E{Q!r z!>;Y}l!8>HTI-JTdk+Ojyhnt+xDf1vxLHW{;pVzLM$tr{M)FmD(*Db4MGQ1LtLhm& z9XRcLTN$}U^{9eWrCPOs+-H!=h;xqY^ibUC9p!G2hk-pvyno3Dvw+QoWNQ+Cl#r@r zglFjM<@W9}Jf`ZM%1qqreDKIZP)Z*A@*^+J9;N z{YYGhR#~Z9Zf;uVHYN18QQr)SsBOVHT}ONM-`+hRT1$0`Mv;=0PHqk zk9T?{55rv!fKtYVPuDp>vfewyEeOLNhFd)(m!TE%V6>T|#QHF-t?joIts|>iF4a$P z9{cIc26r}{Z3dLMZZH{5F-*_2qjfnmQS+mCyQ40~Aa z2DTxwVNi#QS@$zM1*BwdG6koGUsZ!B?mna3>S9%pu4Prfe`pgmbxPBVcb5p8 z8d#c*EbMdJ;$f5DK5!1L_F@x}(cEK0Z9$NAxX$4Ex)S(->)#sk%dq!82V~f+mvV$Dl?^51d&fGA@|ljxP^~VBeh@n{NsA~bpvV&L)BUUXXqTKR2zJ+RB zo!C2mdTa<}4A=KH1|0G3@EEWIfe2J12SNcVk7-Tc zyxm>AeV-5AGC2cRfNh)L$WC7EYQWN-9v}8|3jR9q81N`=nwgEAebDZ?rlmk_S!R}4 zhL9(Hm~mkcKIc+GyUWo>I=JVyaMRZF?~BgtPO}Qgg!)? zK(Z1^>LkP1tqY&*IYWXl~=x-~LbB)!=J+6jA7%fb(=+;N<+P-?|MjM)L z;TxZRne%Of)Se#y4d8cyFMxbXuXL44rE0U;j&op4O5UYTF;`q;iP%X(sMXlPvKmVo zQmsardu+M)IyePEU4oABgAr1fX437XNdk%Z9FFw2L2l_eY`e3Ye*>QRy?1yM3J!m< zr^i1Ed`G~EL7X%)L z9*RL=Fn}@QSJq~=7ITNKo;6LOX8l-eYqKS`i$~J?;6|?j|6~l$KJ_+l<)0|Gfae3i z9{^7SAJuP%N~KbH5GKioX`Fx0K5+ z5hwOg4MVWDD{gca_&M;hF}x^Ze)7~iGMzm=*>o@E44_9#AYTK1K=V>_DwRsLYMf=w z3?mjdPBLam9cfV>l(9?PNwQhzt1kT7$(uDM1EvebdSC{T&Mw%%L0?3`*GyS`y-(;Z$0-Ur?T zehIt-=B=mRv3C~k=U&I3r)*D;?*je@H*ca!rBbb2VCLqpOo7>E`H(x3iDwu z>?$1%l~}M{O*l3%u5emFSId#ERySJvU*`>6BG5#s#Jd~TGchyE8BB2Y3vb8O?g6{C zBmK5QRHag_8097+mpG~ODsA-xRw9UEm$*|6C3TaPFm*G<0a@TRiK7gH<_@#@{yGEq zDsiJ90#|{Hz$IKkp=-d~zzs9B?KoMsWKB-yT&$iZ?x^pC6E2SxoGa$#AM4lQZvGW%O` zXSt>?3%y%RT;zv-xsqFV1I+c$y%H7ZkhCl25-yWWD6LYdR6SHO-ZBMcw9sKTtC^c5 z^i)Ea4~6+E%vWj)o%gExP3AI9)}I-4|EPlyu5AF|_kn2#KyK&Y_`j;vl`QAXTYUZMX5UWEFmL{g|zsWg<6R z#DTIBL8a4WHK$L^v3~tEB zG%yL~_7g8vC-s8uJxDL&<_T4)RH|CV(jX*Ttp748Oi=a7K1pWme6_e!>jtXQvUq{G zKFylYY>xq1`xylnBE195c{ezTiwfTI5WEfC^~-Iy&fIzY=arj!F%C9JUq>@{RjReC zw4l0VrSKvt6poFPc_@<_urbV4U50GSDl;9&Nn5YV_hBZEbLpYk^zJM!GBnZq*5OB#m!OL#U zA@_0phaWolG36gm15+P=aps0zAgW%;0NB&xF9DzE{%^*mevyi16-d{=ytR8@j&fN` zc)ucjJ-18yto{F-OM!xPAwJmA=S;F;b8}k~=hig{!&-5GjI0A=QtmEwn4x=~E}cc` z?EjVwtGMHr4}d9w%cZiJDVNQ3sbnrV*Jv(bO7|Z7>D`qxz)-bj94WwmbOutDO4adi z2M;k34@dFNu>my2hfoFA_ZY`VL(#LqfH4w4P% z7R3&ZRv?Te1EkFgsK-9^8pnN$m~4i>w!qltx0>BlO^VfT5*hy;*8gEEbi?}5*x;g8eZw$N08#+^ zhx`AF?ZclZC~8X;q$>ubwhnx0sMHUakUCdb7aC1Ml*#^+Lqu@~k=Q%UWcTiQA(wRO zp0~BzCFeH`7j_|bJf%|){%4&+w8^%yhvElyttAah$-g7KGN;!XS#X z{npH`(J5p)eNI+1L#A-`Pp^rC;~89X&N*P>lds(?Fs|{QUiT{1igTo2I#5FFWwsBG zQV!IScH(a0d_Q020woq-CB{QcAdbX=%{#m(lnjnmi2O8DX?RkyM3p!moJo6S30Fxk zK-woadJmV$dKS1Q!Z}>h&P6ciKk?estTrzy)fxmTfc@gbf5lMneYOp+T#)ADh-rqW zcX9dbPikM6ZXVazFz3=DzgcKqVoE+qMH~>tXKO}LwrLnj)A4+*8vI^4wSI$ir9iaF zG2g}2Og$$q>^kArnF}9(bxQ4`N~LNF(w)F1HkCKBX|cqk9)q+d(M9T#TF7OCN;YVH zkzGeN=jw9FDAmw4!PXB|NFXS(ND|2+pQXbjliol^-DtfkI6%HDB3FPnJuKhHlrKK^ z3myKUQmHxssfX#`0e{TaVHgg22hy|-Xs#Y;^4MneK?P}f*kp);6&DV5$t;qM-}3|7 zTV`tZJ2^$&XulvDUh5 z^{#%+RVr2ALF!@pEbwIvu&GSr@uiKdp}6YUkw9ph&N`8AFcU`^Mea6?gfR5|i?(Rv zy99@+fIiF7wK<7jC|%UmKN5rD_AD9;V*~{w8@GTlnyfWqwWyH`>bz zQSTa!0dluBpiD!i-77a(1flEDNCI881gr-2icPP}1H5^%Z+(HkC&6C!d87jnIY zOYpgH^gnOh(#u|@QmOh3QtwJ12VT5AY0drn(pF>NZHStZ!IVu3&wTc3(LG6zi{DE} zYg!&taI=S8C7YA-tOw@=a1~R&H2$M2>Lyhxm1+<{>S6lK^_%tw)k=3lx`jb%AQ%eV zlAD#LcoBwyccXLOMc%??xZd<|{7^*B0Fx#dzA*OugeLK*R4Ua<1}VVA=l1+V9P`zF zxlvOx3~d@}_)d$t!)0}&Qx1r77grp88ds5LPF%g$dtlCw{pi}fUWzJ}O0`Bn3UJ|x zJzod@64=vgH);Yyc~g18_{pVA#kK@DYJuCh1f2?QoMaVO2>m{AS={s2G3MHl=dWrd z9+gU^QjoR;>Tin3Zv&qJ9s|~Q(~ahpgmz8YB@uPWjb3m7l>5MSU=mk(=Qi-6bBtUB zW`Jvlp1*omFBz3erBZbbq*`sRH~)w Z{{cCfD>OjwUZwy5002ovPDHLkV1lI*p!5I$ literal 0 HcmV?d00001 diff --git a/public/images/equipment/barbell.png b/public/images/equipment/barbell.png new file mode 100644 index 0000000000000000000000000000000000000000..a4bda929841bc3f71d3171a2d35aedc9a10117b8 GIT binary patch literal 6398 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 QmvKP*jy~)?)FJvm05HiKP5=M^ literal 0 HcmV?d00001 diff --git a/public/images/equipment/bench.png b/public/images/equipment/bench.png new file mode 100644 index 0000000000000000000000000000000000000000..3a17453585373eb3d8c18d45c96fb19b05303c62 GIT binary patch literal 9557 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 literal 0 HcmV?d00001 diff --git a/public/images/equipment/bodyweight.png b/public/images/equipment/bodyweight.png new file mode 100644 index 0000000000000000000000000000000000000000..5821a01d3bc82928ed2e5ac933dd6bbe855f2845 GIT binary patch literal 8519 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%0Am&q0cp_roOa6vRIo#<3{EB%Gkr@L=MlEF6hT zcTO&2Wu#rL!=HG$r|mRY!VgjEKFwW^hFD19DkrWWZpT)Onnzp7my16z;>tG~7MeL4 z#_MjWTx{}tUT$|u$D8c!`+kP-i+MU;#*%`7pwd z8hYzcv3rBqG={16T4eG^UM~O5xqdkXR`!;?Z#wP}wm0{I%^ z{z17vm@(t^w+{?zs85ufRMFrmw^{8VE1b?ds2~-9M?v21<#q>Efd$~-JFrP3eXN=! zz^X-vGc1=UiGwL)ogm)=ZuN5c@d~1F=_X;r|bZE zmzUdJs8DarEx}{M5}okxMD?>x)n3Jt5zMM2dmuHH?IM2)&hL4-rz@U;Rn&9-w>BF+ z8(xQU16Bu7GJwHhEtWpw+7IhcR?#S=0A``$}UM~OT8a$oGN#T)A zSsk~RXka%X3}YDvUIJW|Kv$bDw$h37v{S%ZDbE7$@N)T|*4S;$m+-L{NpyC6qlR3A z>UAiuM!5#?Qo!0$z5?9i*Hr}A>cj_2o%}|~SAmatxqL&4m9}M%_&Wv$HPky$ z-jB|+@6i#=8V6bFF3!D<&6j*)_8x2GMcaC)7rr$tde*-|t=@&@wz581lEEs=ofNRj zWEA)!$d|m_?uJ+0?HC*4Zy#8vk=~8+VU!hf{-GzBHEz6Qlv>EyBm%w+eBR6D4>#*3 z9oO`Q2L`*XZ{Lk_H_BD>0+wp9VtEw!jF-#*qS-g<=rQfzJ8+#^y%XhjbdIWot{|%% z%!-S87Wps0=e%70pIUXpMbXlQhla9t%-)RE+kuUO3SomQ=J4J0k(teoGncPcYvKBKk#z9+j6%`8tJ*P=N{c6Ivx%Z>Nd4{ z1#m@Dr}c7_b z6Ib{dK{$(Y6yY4gK9u9)$g{X|FnjCX=Q_Eq{y$6fu BoW}qF literal 0 HcmV?d00001 diff --git a/public/images/equipment/dumbbell.png b/public/images/equipment/dumbbell.png new file mode 100644 index 0000000000000000000000000000000000000000..134e4f519cfcc0f609183b58ad07f9d037aa6015 GIT binary patch literal 3112 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 literal 0 HcmV?d00001 diff --git a/public/images/equipment/kettlebell.png b/public/images/equipment/kettlebell.png new file mode 100644 index 0000000000000000000000000000000000000000..1b6f5613d88e86925855063c15e6cff15a2bc610 GIT binary patch literal 8665 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 S*B5}d9i*zHrC6(A8U8=V5T{=N literal 0 HcmV?d00001 diff --git a/public/images/equipment/pull-up-bar.png b/public/images/equipment/pull-up-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..9668f9673832dc7c3835856e427f1d7d737cc8a1 GIT binary patch literal 2550 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 literal 0 HcmV?d00001 diff --git a/public/images/favicon-16x16.png b/public/images/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..a167fab7963d3d67f18b711d8ae14551a7dbeef7 GIT binary patch literal 760 zcmV$cE>(5}1j2O%kmK#Gtu zkuLhd$|O=`bBJydOi(EkC+3{Gv(xu}>B1X7_PpQoe$Vr~`wr(w;43iTRzjYJx+Sl> zH8g&!eK(M2k$ZLDeIt)T3IyDWYQsC7p$pI(G%e;Dn_PDFyq$A(yqFOnJ~p-NB8@x} z_bzFR?MHZ9@IaWz{6)jJnf$oAYR`x0p}eL0yAOm1SmsU{s?+5 zwpLU7G$I=@w79Y{(0Uw0-FX7Un{Q?#vK~WY+w_*3Ha(Z$h8c*4BQXT$*HB^KkK$7* zQYM-G{H95NhuEP~9|+mPbF(%u#*UhZ>GyZ%BB!Rs0E+_yB53@>6I-IBG#gdYa&} zETiPS9aF(o(QkW1!^@5VPx@w|>%h-n3vgDH!C){TCo2=l77I*@BDBY^XL;=ZFFt^R zA4isiVzul=TW1$EO~b^bA3ZO7VdMiyBoBFs6XF9lqdHbrqjZL~NCalH8CjW`D7F`& z+;I`tYioq|CmhAbW=wD@5*30`X8hHOuM;PZ9mS!82O!IPFgP@fF^>-)20xPxDu2C- zF&=}YL)V1DOKD*WuRyZZin;lDO!@<&FF2XUhj;}qEl3qR70U8aY?K q7XSeN|H4h|2><{921!IgR09B$NF-$3DZRS@0000aq_(R$PM z$o6F!^SZtYqFj_yqZI5KczkVcD+bi6lpT=V;hk|U7SS?Kk{$gO zl~x|Rcxw)<>_QyHkR?UqFf8P%=OFQD!)*kqM zPaj*e^v~ zreXXrUmV{UikV|tqiL1b=&TgV+15|BH*lWZ%oxW6pxHH9={COs(uD*eN@rAgQVd8h@R=yb* z*=*T+vJm0XnGACSM@||dy6O?@zI=n$Mux*$V2rxh?cvz*J$2B!^Fu=PGB z?yg z4O_OsVzJa4*?22E2OGbNMMUI6JS?i8vdnBdlTylTvZEk68c45Y7niNE_#BEmj@-O_ zf@o4rO$}UJT+k^v$j+ZrPzB9xnV~crFjv>&xw8)n7Nm8yY3+xFb7vvp*kKGFIKU24 zW36Lbdaa#JRx}%+>BF`F8N<1|yBk8gc0so;ozbOJNA&B{8)HU|#LA_gV(*S^m_02V zSCUhZl9rAW@uzrKQ< z599E$ANag4xOk?ZOq$lo1X0V#-Lqo%iKA2g)d6V;yIueU3>mv=&2KR0foe}KfZzhc>{HJncUoX9@A?dN#g zR&I!8F%-*#90yj5*JO5)5!{2f6tczdJ!egX26-ZGeF&0v_r|$hFDJspZ3sbk7DKsT zAXc1eQBCsk21sZc8gqqhpP_6*?FIzphXBgq!RE4;yACfS!YC1HNib1v7lST@YRMj3 z17v94GxmW`NbHQp-I_KR1fhdoXXyHWiQ*|2<)qvmowwTkrTh&50RR8g{yK>O000I_ cL_t&o098}P5%_io?f?J)07*qoM6N<$f*1o`H2?qr literal 0 HcmV?d00001 diff --git a/public/images/favicon.ico b/public/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0b8955c389dff0872652a002099bb53a2a5ad890 GIT binary patch literal 15406 zcmeHOX>?W96@FS<+x}2H{b>EeT3uBv3PB+A91@a{iG(CTN+v?4_g)|nW(om>GRYt_ zLIjy7kwFc!gc$0oOjPT``c%q zX`j7!ES4uMKe0UboQ3l)meQvz7JrMy(xr>*ch_H8EH(Vi&#$fi1&ihM?<|(C+=jbw z57&3j4FB2RzwxxKsdbpWv1Lg`Q|mIbgf?hfeT9Aog7zEqwB6Bi!q(VANM&d5Qu@q= zlsb8aCgB_EWIOZ`eH)!6@>}`&FDNplKLzxBk!DSwOf#w{&}-8sQK=15 z_IA?j*eXMWbLU8&TU z*Z)J%Q1`bvoD>xNs%VoK8_KxdmG+QF4ATVdprD?Fw%}RQpMNJ-j23M|`gEi9Z>^@l zSG!V9b}G%8SWP8{8aj)OPedj2wUyL$#|DIh537AM>@iEF+Km+U7e&Yu3AE&Z^Y?qrUZ^tnj zIBx}|{dJZ|DCg}wMyQk6=!3pu4`Tm1I((d_Pl%&@tV>?YdI?y-lss^o z8ohS-mh;xT6ws@if{im{+-Mu^+p|lg$>T@ydG?Z0FL^>A^fjUjOyF0ZzWWP4H^0+s zhkYB+$92bueHz%EPSzcxEt}R+W?DZ=Pwq=^ESyUh&Yz*w#3*kbxNqUUv-&(RCa}vJ zTKx2|v8Tn^*mgz$|G@kEXy&xZUN{*kvD9$!0>wwW?kOn)Ea9QE8pni_ZwEMp|x}SW|n!p z=9?NH<&EptQgOi$uQqW7!wm2l+WDfqwhq3yv)X9NF@^{Ap!}SHls6=uAnUTCp#*(q>*n=z=F|z= zyL%^<56`9d_rFX1dSJSS2C(MLsy1DN(668udGZyN zp5{Gv6Zr!_<8Mp6==6^bqxbghrVZ=XXmFs9uCG~5=g*#I{miXrNIo)VE$%RWDX#&k zcS<_QZKVZN_u&ym_r|wvTQ;yxK2hj%>b59DFD*U&d57^KgY3m`X=JeMjn~CEJ!RaF z_uY}hwYvCOi)!?-+mS!;haYYt|6cC-j1G0_;htl}?@41v(wNF}4Zr?;FRArn(9|T8 z^@nz`LvuCs^l;VR@E%bAMj13Tm}(wO@S$r;TK-HobN)(-Ow;ZwS+CBc2Bgx!xyxC< zb@P(9ObT-vasX)Uob6lc4kCevC{_=C?rsrA_%873@Bt;3Sk+ zDE$*kZOV6zER68^?p3e-g1u+-`>SQ?Q7(A*l!6}=jPu{EqbocZ;Nx8(WvYJHDg8XK zbicE#0(tLAI^x~p+0O|7xEnt((2vi~2OS>2_0j_h4Cvv;Kk=zI4S}zte=zUC;ekru z_Ypdfr(F1V`i$2Ve8@1gZ-iK5LpRq_@v)D{dg;qH znod#1x1pOp5Ni`{rQDH&mIk*C57^b8(a-s9@U3S(Igur5^pcU_r7&cLcxNX_QuvP zJ?FvbH|#pFTOpxr)Xwue-af#Rxau75PkyT|w>er`J^MZKZ-=uLw2j`MYCfuux!&Iu z4(H3Ak;MC(X{s@PEW0ECI|-X;E%}@}YA4|?%0ISmJXw98erdna{0!SqA5&_62AIHB z80lc4_@?t&wpk_Hnp&pv8pk=by`r)8u_Ry#OvVNe;KgV5iJmCG+#JVi`yA77a{4bP zpU;6#ZVPNDc(FFM##)#+vvE}3h0UY6ifvt9_l_Z7tiRwMd6=ZD`xwfKd1BsR8_^vD zkB$8h%)5_gB;f?^s`R^bHE>Ep#GjS>wKjg8sGft$t6%?`^@dCB_if=f z-)+8&$7t-_l3(~v@J<~+rh*pCok`=X>;xND1lu@d8@(JhbI>$=PkO8=zH2XmXE_F2 zV{<0+-tOIs`#hpX3L2zAYQq(Wf^)rsGEs)9zhc>F~i1sL9bldv@<&8%>7! z7<#=#NuwuHxo#Kr<9(60^SBqj4u9Kmr&_On z^BY@}vsR~Gp#hyUY1DYHy&A-GzI5??mi<+>7sl%HF8M-UJ$bAcXLfpmVOxK{7b&T7 zER|m{)^i1~4reWRFRuUQw=DmIX8gn65fUBhg$cjomB!07YDB45otkf1hF^B$+iU57 ziM<$YLn1?H_@O36e)_z%9t7{c@SnY8y)J*{#kq9)WF7U5@Yk)Ee5-TV_wU^PoUA2z zrhT#&t?e}aVW(E}Aj{>$^JvoeO4Ic$+sYhoq7`h1J$vRPg$Ej+tFWW!%U$X+KFS|& z_Aq_<;=CU_%1XO;Zl!a~Pd)ofV5_Ve*J5yTCX8%g)@i<9cJ^91$Y`e?M&E@bTjeP}5Y(JWnMjZ<@@3Z~PY@yRJ{4_nCraQVwI^7VPF2 zM0>6*pQC-9`=p@lH(s6()WdbbsNlAe?GHdlWl5jpzpu` z4~-}jtO@TpgM8;dW&BiK836~rvxZCcG;78b_MP}PPqC5y9ADGhkS6FR zvz}-y`;PGso4e5(!g)T@Rz%mXHVHp#?%)9;jz>KY0UXy87ZoV{gYXgIJc2HvZlf*- z@SNstJKSmfmz=ysF@pvf;sHB8CW!X$eMjhMo@WYth$rffQ9bK;I5TnPn(1&c+1Y${ z-s&{|@lMTJ@TRHnad`e2rpEdhO8acL5JaAp#%T(*dEGE)riX;<49Xw9mn>?d5M#I{KqG7sqeG8ODO-Ojq{ zp#Gzpv%xDidA)lfZ@oAb$&)(o$9s6^woOW`ow^QXymJtDCgo+GcTE29SBAw!>#hw? zKFoe&Z^*a^y>?-7QRco;MV`L%58D*t2tD8Jh}~2BqV)JN`-Z-VK~%Q^25d@tz7_3! z_|AXv@lQm&juxjIzlo1i&bmG9-$>Q)pl)YWj>;H7IqUaw?BG!^xkMxNl*mfkLCTu{r$;i@e%t=fgMo!ygG>ts;BoA3pH1^JcoCoMYeeGPXy? zm)SHJF8?t5LZxiHa^LtLeyCAH7q-3(_8;oW(HN_paqzq$-dr7f3wd?M`=wyd84dr? z>*|qaTuL32G9U4oK5OI791YH^mSs(l(D<`7xqK8#d(j< zy$o1V{=#=z5ub%+=lE|nc-|zhi2K7g)ZxBEOb>Kf+zER2Y+wOX z>95FKBL`u>g$3w1Q{pe}ONC zV;kD{AMrb^=zxR$Bon;e0gu9aU_f_D8Z(KC4mx~zckvqX@E>6u)<&n#{yVJ8;-lAu zPKtQa(3mix;~;Lw-{Ad)@!@_#To3di^oh_8A*?;HM`0vC#u>X|* zPRn=yY1^K{TtjZqcks728MBv)vpi)&wcDr4W$anRt`1tZQM5%LAJ&PQZr(4=`^Eo9z_rXPciH(d0~0$8WHYc*o;NEHm6kHNdtq58$O8b`7ifjD51W e{=SHxDXw=u`#2KrRA2(zkg*>tew08bNZ@~BvR^s? literal 0 HcmV?d00001 diff --git a/public/images/placeholders/coach-avatar.png b/public/images/placeholders/coach-avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..dba4158da4d7145caf24ae2a71533ae225d7525a GIT binary patch literal 115659 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 ~-40npsR}Bg}EoOXm>ItFMXS}e! z_-Zi41R=k!q`%xjVLl*ac$bQPy)kHv=_z&HFCox#0XNG8Gn*)|q?bFmwdPFAXqo*f5C0$BorY7LV?A&rw34|Ha%&!&FX zg!+4if6$UjZhWwJ-~(9Ty___sLUmzlOODLb3y3 zT7n4z6<424xM={(kXQfrYmY|A2jpr-{?rA~tf#U)#|#TOcceN@Ya zdoHqQF6c^~5_O5xnILRRqvW9hf+;a24FEi`E`-TQYgt5xWg>tlKKbEVrhCd@>0 zqzJ=bl6{*SM?o{CS2URAcK{Mq%$#DNPP_s3zAozjrT_@v7==U8-qbSZ-D71A>Qz`T zU=?yH2np;Zu*aSghk!H>1ObaiQI$Q*h(v}cIl`_3ymus#XhLOBLFc&d0=rl*@!;F* z9-{-vpC5D^cm&B zokJ6*9hibw9&Qqgo9X&yew2O_W8whv=HP@sQgTUAIiJT!=+iEz=3y@CVRW0ubF}riW>wV zDl&BT&`SWqx{&x4M}9FEZKaa4-NrKDrUgrivgd>AL@m24n5bpd&bv z*&kR*_LcZ6YvnA%Q;&&YNu{|jREB09225H^7hXN;i5*>3^J1-@!E`1j2xmi+0BE27 zAZNy7bmIV;)=YBEp4uq_?r@I@e@u@2EslTBsUVc3;{h~(UD zQJ>5|0e~8kh^jFuQRUC8;@MLFzd~BqZKC?GzJE%N-)?uNeex9QZ%qWaUl!~)oItjF zR<{soW5fuj4eqrbFlk|!D-#Nnqqm5*&UDTp-DSK!@9Oru$M@fK+8hD6KDxz*ZzZ58IrxCw@$-3G{9XlA~4^r?i5B;_g`YGio$j z`j4)J`(P$(Y!cg8dup&Uyd|dl!CgXg;0RQ&zdU{`_I-5>0O|*Nd8%k{dzt=2_xzy2 zKn#F8gZQ-WTuGAqxK#8cIg4fmP>6>zZd1qniAF-r*jymoMFr}3X3M1Zv*g6gEpe$; zUu5mCG6AvvBbRQq>3cv->rRpy5lGtzNLD|TX{a+#|N68gt1wa6V+QeixFrO;`wU(v zInQcZt1KE8S+Fd{!{nM(J>}4c$|;?eQ(_Q6x1ek?)e=!Bv{oLnU55*M2j9J}UVles z&%D#XN3{p6R(iKHjwhT@cE1?J<@f zWo0x9uABcvv^%@&Lp{VW=8E>oR{KlfAkUwO1iP zU8) zStT5SG8EWTLM`4OO9C(%lx`!QM3k?p0<0{mVMCB8x*F)rRcDY`S^ZtyL?B{bRbMKN zKWYV{>MWYvzzkIwBmzRkiv?Y7f7=6}-bm*DMK6jT>poH_2XGXiNCH5pbG~>C6h` z2NQeet(d^B!vCLKL}+l6Cef?`k1w5+CtR;dJR{X5ikMk0THClR{H)b?MSu-$Y^$Vg zbH`v-UlXJPn4Aeb1iW~Hn8O)U$39sY*;VQI*y^{iH3EOLN`XxvJ}UyvT7QiRIkLJ! zDIi#U;qjg3!ZwZ%?KleJv3%dRIif4;^ zycUksO1P;9ib7D<4M+7*3#C_B@J-YS&7@&8Qnw10fQ4|h%oDv))J#u{m69U!`mE=q z=mHR8*q|Z-K)+LU$p%iE?L}B;X$h>i^f_C*3j)O~vKP$vo)MsxVi-~Gt1B~0NW^Ap zT)7F6)MT=nj8&aV^2cbx+6knZn~}jF_79n(jVcQa*N&JPex$CeuU( z0unOTP`O@ma2!Ck)A)EO)J{*|eLoO{tfhj>?XQp;=FSM6;oYW44c(KH4~@h*be4qsuMRc z2y$m;4`TpF2jCYk3Rj8P+hEaFJ4NV1Fr;oNPg9LBNT8i*E;RFGFCTPur;{cs@I{1f z#iima|9Jq_h`T`P1n_7?khP(vjrX}V^7onrJA^9GD6)TOKu|8)zFjjR)DooT0XGKs zXSN9U(bOAmTK{?WMHiJ(=Yq_Y&9UT>DpF`v%?nnqX6MQB_A265qX4X+GFQ)1P=|5o zT&rhc9^`=R14{&vk7!j}rYZ=iMwXc0HKqty!sdn}4jiOTyDD;3)`nreW=GU=TJ)Ys zDry%*m>04*>Owz$lI_b(L8uv4(ecBMm#Ru03t8CpBsw$*Qx?ZNcrPdQvQtHzZp|tq zDvPQpl4AJOnhL(y9mhK=!y$UxO~QT#3q`mRfNX6ys}qbfNV#Gv-@8!MYajtVxh8^2 zkC>K3tADBA4`lw4iR8XOazaEHUSok@y?=6px4anrJZ0WA)x!~1o$#?q)`B@Ez*`jI z!6ASGL;!|%pa7uPUcg#m9Xm>>@hXJ%w8BlM9L5=bn32GV1hPz~z`92HIV}X@O`32T z4D1USlT1nhS%8N_Wj6@kb=-JNj2W8PA>`mGUpV0+!a%vnhE5G+NA%=EI~!R z#!{ijlCWznsr5|!223YHG(eg<_sn{G4#E}@$R<&mbrRN#y?ApyIBFkM>f5ORtaFaK z-%QGOXo89s*iRDl;Zw&;Abf*o33+^!b%iI%2~u>P!w9J%FDCd_21EvNC$);*bo_?K zxjTrP%@aX1gzfg_#I20DrZEy%vma76INJjuSb>CHz5sEsssEbj7%4$y@&GE3cmjpG zGxh}O!s`!DaQSpGtRgYakE2TtApw9^7v}Wc1rBJVR=atdbXIiF1%E8kvGGCFe%_=; z6DqWO#uw*GGgHbWRH67;N%Jby_aUdq52UhSXV0bAs96<^PRY|EI(y_3qz};slozj$ z3hT!hB(%{t*%Ua8A>{)(A!$Gxy%7Ka{6|axp}+VwHDuI3q8>1@hjzpkCpiIbBbFfK zNDLy5A1~Y!b5NzE$%`E{b%Rc=MeeMsU9CFF(bh#M$e6n%W2=<9#TCdz^XLIcmSFna zm8h~X@Mk=q<)X&p$BcOrWY1pL8NaVzG3cr7Vmq zq|e?QiSIK5yt6DT3v<+W1sVwghN|QwCqPH^_Pft(=U!(nk-RnzJ7TrO8?FbK z4U#y~#FVW?;{;$m$oUo|Bt9*{C2;ly7FEea>Zdf}EcVpydA4h5IUV+_LaCcv4h*{z z1T{#SGm*v6Xq6)25r}IQHxglP0FL{D;!VONp#IH=0lTbBkKaJYT;iWod&m0C4nn-s@lAt*`d zV6?9?y7fz#U&*bb3y`G&_20m`?g@T$n%Ysjkaj;MZZTAdm|JAheK~P~C{QUZ^5gU- zh6~s|7d6WTfU!z|k0rm4P>J};B7OB|FM3F^0h5#fj!HtlY zpgoerNL1`D(NDhXLOmenk*YEIKax+mB`9c+iB>6LI3$&vFo2L7Jp{A!XWv{;Q;<3O z=m2%IuK3|xo}G(98uZ8c!N~fjFx}F163P1#Q2#uH=)=4f2$XMHkwh{vdXZVWMZ@jQ z7k15*-H7P2H6WDZria5Ydp!k6`r%NkK=9f5A%;eZDOly21 zs8BCRsX*Kh_ktk1l5NL4u&G4|QGOP>%laUGyeN~`dxWM~;xT0c;K#^wE%XHJS*O{r zqLFl+x#}ujb!;opCC9Lwztk8U%Cu{!?675k^=Sh!dj3}MMG=L$d6NP*jDFFT8!Sm5g7N~-> zt2MuB9FOl`&`o2Qk5SzuYo*&-SVYBr$~1p61Deqw-VafMqS+1%@sP*ECz1>z-jMt> zcbQICF__ns1U3VGxD4x0Dh-i-DFm?T`17OJp$K39Yt^j^#Y9Ltu?H&JAkD|z9V7} zi4kNayN59fHdK>h1#NsS*`z1MJ=CYdh;XDjH2kMj4DEPtFpr?edQNk}_e`nVMjb0e zuiUXv87?8K#8w#EKE7lo-tg$%aU}Xj-R4V=>YhB;tG8a`7*l=+_xK~RpE*V#Y6X)f z!1c4?qd_CWM=C`#Jw(r8#1f-LrtNJIE8hO_Szls*3W+<24>^>xx`m4F zwn{Er&(N@h)QOdS5b&?YPSx~zbm=w@S(s2WvxtFSRzE+{#B`uNpbO884zpT&8G)(Q z2EVHiXR4%nwc>6-%y418)?CKm@|}1Mkc1WBQ>2JB@2t{=SffcF%|@kjHK{o{BnIY0 zkoHCGs9iM~g>8(Y1yti{sRg^5Ri;8hD~?nxHxIr)(tWemVJDVK7a9`o6ep|1MZj@7zJ3@L`eG$@p8OMyte|@t z{B`F(&q74m(wmFDt&`?WE+?q~U_hV0ev?g~=H9~LVe5n}Ct5tZ>@qF02%_uo|La4a zlM|p6khTNSfx3YN!i&^{jk;H=hWkntN>Mn}g(#Xn%W>lFs!p90jv1saohOVkF{qtc z2`EX6EX)(k6-ErpmrV=@P9l&Ha>}{`P|#~^Z&X>*+eebhBoH$BWgzqTW~W(SqvT(B zJOl3^HRQn(P_rUMH;hR~X55&8Ba4Mpi=24&d*X$hMl=e7{1$yGS4pe|+wNal+B{=~kP1cVlo8$h@_#&)PHj`mk&VVM#h2-$q~ zdlBgk-vS_qDYkK823J{|q-evCaFD9XwS^_SCZb1|E;QfMI<_Y@l-uG_sG5jxXD69g?f1}2~kvclCvKSMnI5Flf zWMpVeW{#q|SAO6`>tULozJJweR1<2ssO~HH%jrTTJsC8!TN3(WYZ2j3gH^#6hHE24 z0HBq+sYGch=0*UWi*Kqw%)=og#z=yf2nnuUT~nAA!hng@->lgbMZQ;3a*5z79Z;39 z1QSle%DfORcrYq0=#EFcQvm@RF5OLubA8yBJ@EsiCL#>C-dyF>FQDa=aZnGrb`Z+jd z(>d}VXOEUrtlvlC7beB+LA?ctz$cn_A0G*d)$}BQ<@G=;Je`>CD7PbfP6m;QZPU)6 zkaAYxO@I)rr3i8?;1%|Gz%f^e{$$YtkmWHNqn@8D`X$hLwU@KyURA`VObhOzoKP58 zUnT>3yGX3~W|rm;O*C+Z1R5*DLOrKCcN8bcY)@6qNWO)g%<40O;o;OEjuc7|93*_p z!3E?htL{J-R@EPZMoI3B##A!PP?45EGz~$qz|q!8N`@Z~9HLwve)jA*lE#Ilvr^a8 z$2nJX2v=3DzJta`!y#z0r>lBWjY$bc1c5(n;^r=cH<`eB&%Rt1SK?9k;wZ{ zSCwoF>Vj2pLsR<=?{LW~_HbwihRa@vputgL0Cri!Nu5z@F$Vb7JG~ac9JUtKXgk<| z4xU|9mH1ATV^V;IA4%L2F0L|+O!Q9!NDwRV<8WSLC2)}xbHtou>7@#oLbA-_Vs4M$ z++M*Iucr8JRwEC|KBDsh?Y*?k_B;>a_x%(nU$T)p*9ZddloqJ{9Plvbgijn#I+-0T zO)_v$`rYN*_YcgF;8CxUgYO6}C{1E#mww~Xvn>CpXHSM;aMtPFAy zoa=PhH#hvl{2rRnW{8aDs#NlM>&)*WhCn2!FzW=vg7%_g?8NdAYjD7oK*A|1&G2Hd zHGCTQ8FfKU#>xRv`zmlL6T>2)O}=tcoxg3^0@1z_1m_Gb0VNbnKA7dGVpXHY)6`Ji zh-ScOt?5aj$tnDNOBM%KTTR%>0l?IY?{75~mcZYgcwNILA&i!Q!HN4$wp#{*&~LO6 zk7x%r96*ZMbUFDO*_NOOj}b|z=Cp34+h<>7;h4O`?A2NmSDuBu5O&K+Y!9{hOM<14 zbeoq&GvO%gD%n)RVp-U2yP!Kgv68|hkEnlHjW|#Tc422SE2=_g=0{YB!o8DmCQ?+@ z*xzUjwDde!nH(S07+7D*bn#3XsmUg0DS0E@V=VAxtBvqts4-?W4UlvqJ{Ne2BBFwY+ z97*#(s`g1@(Kj`TL00-fLWxcMZH+ zq#mzf(OWZ!EB9Klej^Hd&Y-_1a6q1jYRK#+XI$BbhM1><$$lsl*iE-@9vm3|SGQ5H zk2-Ld>c%b_%?pwKWI2VD=nhKEG0RoJMih1V(Z1^3u@<}`KxSwe%Q z`chSITz8=u+f~&77$jODH4%v%N?Iw;Jn3f4g>$yV^T6_@@hy*cn$XXP>rN$XODlHa? zi{kYILZaLl`C|+ZX_D2xfCfSc6|Xrw5zRegV%NXvL9)=OPTXT%OOr#z5n)_MY(g{0 zivUDbzPZ&Hp~`5K#1>ZfC}&KTBhgDE!)CF%H~#c5hl(g=Ln###PtpK5 zrTn8uRa1|i8)#GrKxeQ90FPmCFET}3MB8&lsJ^C5vqi;CRELRV%S1EI5*3v7ZINlb z30PbuhgY=V>~e2b+XRzHx*N3+VTDvzg4I@=uPkpf*|^ZF#o9;R)`zyTp-A@j0S2~vn1fO}78Ap$nb!Bnhcept9y zSTJg?J9a`a>6i#8Byza3Uxj6AHZNBxS9@rT;!K^{{bC*&QieqazSE`^Jqg@0MHOT+ z-bV-yB7IC|h9YStWw+j9zas4u8p zDA~eG6?v_sB2uO<8EHQmJ5_#(w9=|>Vp@nQ5o?DzRbe4bH~C2}_`pFosT|QBa4am9 z0WeiS`G>sY8rkfLj{yWanB~%(AYzjqXc!nGs?z{CS@uM8oPT_T$Dcjht?R$r4S~`P zF(KagUx>P>3(O2Z&6j4Y(0SZ6=Z%OFq^^@*Z6Yc-PokZ0P}uRiCpXl*RO=0UeTCwY zQNg8Yk^>Z*n+uh+_^gbVOp#A~Z23|iYr(iWT!`Zk5S&_=arSYlL#(Ret6ohK?L;nS z;!nm`c%AB?Qo6ILD(_N`k*ZQgamW-e5CIeqw{6rA`g3l<&KaZ%3Piz+=nTRqmKM}U z4I(14LI2)V<5tTXS&prFvY9T+BcOsvQU9XAuFf4%Oq-OqZu4mBl0JL4DL#n8GY@j* znk2>;eparhhiEp~< zlFxN`r(mbj^a{~%mj|A!2#p~C^B(cBxH3qy^YbDIw29qUbiaypKDy>kfGSE3EjC}9 zfpaGc2Hi@#m(&rx?>cjaZNUU8(Cs#tgULXqpc7S%56y*yP7*{dNF^vNWcszl0cVh| zJsUEnH?8X9)-H8N7Wc6SoC)M!D0$hrOTdeRwvX}0LEGwgEp4jS6BBQ^1ww4H- zgZxuz7b4oQuq1sZh!o+sIYh^^+sCz!xJ}41D$f;iw2LddC8l?@Nlh;z0z zH8<4q*p&7#ze1yc1b#-Bg%I6IBr5d5=ba9<5`MOc00q1gbg(nWgV`PfNbo(uH(t#L zn#w25AO?gu+qz1HSHErgPZNaQ?})gY{v1HuNgR z&caaH>dCu?%mCTi^QKZE%rJ-Tbw9D86E>hQ!sJ?I>I#V%Zb(pvpKpjuXJQFWg|Rlp z5`uD69cETSqY+&w>`lyS?URLaIl^{NMRE6`V|QjJc^!o&8br*NldK#QC6N|#D+PwhDfg8ynDgmCcpaO2zsvig@XnzEI@7iy>z0b>NU)}F^;x{ zL3Tz4&%%=Z8ABxdt9L8#nm68le8>%)AAEE3utiTCk8&*%SW?7Y#bRj+vtk|O-p#-j zE~ZpSeuJR*!HgcRV!dFS08#|?6FFz@RKmsmaMs`rg{>(9s? zrC^w;ysYymS%dZJlucGcNm?v!#_mE@DtUz>BS0aK#)kjuGGdMzzQkV`PE?`5O%b#1 zN>MJs`Y?aqDV8dvQt)%BC@JQHv{V+1&&ciF>nC4i+@0m~AFf@~`G>AT!lX50jlyXugTy>|bGx{tXm`6`XR|$dXzMU$)g8CH8F`8GvSKa%u zzSxDBfR(4WGEZ?=k=WxZG#nV~k)Xdba)!;(uNdslIg_q+-#mTx;^9Mn zm{;%L_8Ri!UcM31Z*C6lY09q@4o*}Sod_C%{Q>29y8|$NIFA~UAi<%?1ZIea>}V5i zpS^lWsipkl{a?O$%y(kaP16alY`a>Q==t+Ze1kikBsi-6m!;*?z7)j=XeKD?*GxaP zi=Q&6M0~>fw4aRWH34@j2`&tdDcg+|gd&ULd<0GTkOex6`o%nwJEECD$}Q6P#()Hp znwS-0YA-QGV>F`k%iZK$QD3soq?nFuRyMi2mq+Kn6DY0Ms){|E)M$7c2oMvpT>V)w z`otY-A4t@^_GMM}Q$WA$9g#Sx zXUf=}1jXUz=i>4|%E9e(}xok`HG7mOC-S)%uH84=rP^F6=k0 zyf7TqbxByJt#w&R_;FDlUZWI6N*mL5nHK^6RnJ0B;Ce!B%0PG@iu@P5B-EhN)K#i< zP_IWn!~m7vDGNv8Mj?AS5l#^wNQ9`)T#BMh=-u(^_WhH@3w2-oaO-}-=nEWKCU7ut zhJZ(sLS~CS={Gxz$5KdekfxM5Lk_w4 zq}=ZKoA{YR>`rV;`**+f^(j>8Xwb*y$bm{^P2~gi3Zb!X{VW%6j?c#1?_O14S0z9B z?(LvnAhdlE0g{xD2So3Ne#f?7_H|1Ukm[_4fm8G|k|I487<1R>_>>FYT8a z((Uo;`nyN@IoG3*_bn&bNWy4}kcIbi(pGhV&n8aZ?yP`6bPn4HX zxVo;v1ywGdGc=LKz0*?EdRT<#sDFn&rrj*Q8?Rze+@=k%IN&b>#Z4s^B*0e zE)0kPX1EdB`b)24E|L`bFrbENIE=1mCB74f6`}&2^ zGKTAnq2)-TRBe%H3Lhv)P8%WHl(I%Z7+(%hmOlX98Sua5l7(8W09_P)&{4`&SW_gC9ZDrLW%0cLSpXPCS@f6K@!DuJ&A@W zGixQeUvJLQYta{)D=e6p^{q_QhgGzKsx;A25@^;RK89RWzdOGBLcI0m#hYhG5k&5Y z2z&UW{~aw6BeY;p3#g8_+XT@gK2s`oFuUB6@lqn1p8ohyT*`d$_`~sPn4W(B$iP~4 zT;9wKWkpPpC$4&|ck>FwFl=Sq>bgRmOp6xB(77pa-0 zWvVG!26M>r&?ZqRmz~I^gWQPf1!89!hbXG=X-tG-2fZC}L9+Qg&CPFo{nS*eB1A13 zJP!tz_pqq>sdIA6Y(i!4%*x-X9aKhbl#F1cW7`T3OIZ5CTi%!-j1G`z;4}t-`BUmEfs9?;8!M?y1p8oLU zp_;uOzxwbLFLV6xs74IN+bzbG3gfI>gXlsB*3sB@%yLW7GzdpNBws-zpC7gfVL^a)wjT2>=+HV0f@zLTOnlbK9)x?;VN z=2n*)#eMD($sXazK2NOJ=2I0mMuB^=lqg{Myc%dyY)VK%Tg?N@s_E6D6trd?P1P{k zAzz#_Vq}pLK&yK4{y0Om@p${<0knW zh8-tGsBv7)KT?w+@q6y=PADJs^v&<{h3Ye}K3ub{X#DtvOtx6Gif!8oN@_0CuhxPb z7U6jO#0R$SI67y6?If+1D$a&7zAg2;AQ?h}upIv3m{Eu+bGO80F7-le(5xWC-Xt7; z&Cm5E|Gv=3(bN=CR;ko(87pl!HvyLLAO|4g7CSw(J=t+yFx`O8LE(yFMGD>2THO(g z5(3|N=eU-Jsx-6Y-M7M>WzbA2cS&HUa~g(y0wA+oILbJw?$NAlh8>PqHqxaW}AFf_M zT;lo2LaMYn|;fNq`UnlKP~JkZlooM6hbLcH3${ zv)#Jd&wb$k|C0C4IWxh1-EFIg5_0dIIdkUBjISE5hA*58178{Fz^EXa;enI~-e(-{ zR?Mwgihzp59BruDfeK7Vn(cx1OXD^eEp0v)u^%ACVLoUCRtzC|RAb78DkJz0^$9HK zu3P6}5&+25;|(+@A*W=}s2vSS>b}xP^aN3L(VAsuA`HlolZce1f?s0Ubp)$KH9MuY zaw2BW7T4P?J2#D|&-Mj^xgXg)y(!1pIMz;*q7#D_RQ~1=v5ND}f~uyFt%R6S(qTZc z4xc8!Twd26Hj9f83Ed$8gs{TdA0u#%0RF~ z*PxXVLp9u#PEGp)14D2BUf(rh~^{6)82DYL=z|N)6fI z4QIg^@NsieOZN+JazhC;)Iz|K&Nle9#S|^yC9^x8KHYbqDwTJzcs7-Kfmqv#;<&@( zX9=r65*-fdg)A%#O!uRVQ5d4{ptub{${^XB+%HmWOn05f_a%l$yYIapzlmluy%TJ; zNer!>P2?Q&5YvH2YMK>-!E7M9`NP+|fOvtFq&^Wme@+$*1|Ay>sYYLs2U-L&zl*g+ zV;SB;w>cvq_i5dY4`lA1_lKrm8N6#R3JnASR-sZSWJaCHv5@mV0i1cU{ z2lp2Vh(q^7)AG`v$-V_$mU3^BQ-{;V(Q}x9>*-5q+~8r=1M72w8POL7kSb1vqlsQc$EdPK>0il!M9Y#QY7$7b!UazB*!4Ocp>aVg+A_N>RnbN=2y=DiKmW zq4pLD=mxy;yZnIXH;U4y7+j~i)8Y7Lf0p}(@GRovs6Rb*TzPh7sm?t!FnW%Bofy|p zZeWIpjdy&e%&o5<*d_HD-3obu$h~8xW4N^l_(|fk07q;J_mRItmaru?xT`v{mP#>1 z%u*3){^4ui@Pb5fp;sohX;w6}c))!*!;jL?5f5{vR4G>@l8GQG^7)PsE5e-l1!YBb zLp3-UXq!`TuC1?kwC1yWB1Gc{mlLqGvc_9?Sf|ep3V*{B@O$I?+)Ka;1=fZ!n;K+SL?6lnc@prF29NmA^_xw z-H~ap0mJ02{ULXcAr|!;#OYWpx3n|vq)3fA=>P_5ypi}9C0~r^g)*#@LxH=WX_ipY zHMgdp5_wwO*`W6)%URH(%VpG3-{_qktxcH6m_;5S|0UuG3D%(*au*&U4GGC`I>Xzk z)oXH9H9{lIpYXL?8mv~qG~gc$3zU6QI*8?v3V!7lZ)(T)laK^`2%Z0U@@wG}XQs9K z@o8DIaXfPWO#Q+lFdGDIA14NdtO7}NfMCpFK>-xR-o^FtK|_H{nl7#{5}h@&-E+TS ze0SU!=|U^R!41l;puAjp52-?Y25^j~`KBvPj*#rXHi-9irGT2H@EhVisxe3j_{<UFF?8oZvf^VC%*n4zoC{tqEAojg;GHTGj&Z&Dk1DMVd!h_iyM#GtU5Ie$9I!J zrF(1}J1$S37AZYk<=y2X zH!tdsM&Boisg0#uSh9^D+gkXRvxQ4h zTDBmjgR563GAk_e@B5W+(1WdC8+Ih&sxD-QYrF=c}EB!S6vbBv@C`Lr1YYx>V zazb<)5PVdt+bHyx0B0bc5>)3?w`C3386E0&wB;u6VmKnIHURuEUXI1xC}g43sZc^u zX-Ta3{i*|RdAI(Pjp+SV!&}0-M+08S=d&Nv`;kC({f=FGXG}kpP~W@2(Bb{ z_>DJ+dRqSLtiaRD3xav+)IuF_5YN9K@5`M|VF=UXXV-s~NhRjgI{!?V-q>0|1X@er zVcrBviDazIFqn@|7f&0cV4`BySiC7qQ;3AxqcEO)f9ca~(Nps;0DDf>0STh!-+ANz z)Qq#2`~4pc4|f%Tnj0ZVWD-~&Nh9tRY@Spw7hQLR?%kVc<{Yqc>!c%Uy#F(a5Ztbq z)l(E8O1YqHlC&VRRwL*ld(4jXg(l#Qd8k=AZ$XeJ^CBu~ipaQ4W|mbKp#6*_oTxDf^6P5#WOzg^UEE&`y&$&s?TF_cWV`$C zzWbRxMat^g==jy$cx>GP5`}#z|6!kL9sIy<(3mL!>z;Y#^!|9^{{npR^E^)vPD}I& z2%#lNUPrLVV)L>b?_ zi#A=TQypzJjr4jm+{bigL=V4@AVDVu_)H1o8{!da23%CV(1Z_vDDx zuCdWMntNzqiV(kUkOVlDVTh=d;l+69ike|NDG%y0OT{KveU&rm_?*a*;90k zX63GNd(OF!r>Bciis}|@z{gKty_=Tf*v8AsF%Q`(UR5LLBZY#W%;QX0uk@}@{l__~ zXe7)^)8F@BlpIkBOrb-ko#mO|FZ7O9-j>D^hc$YD{pcf#f4Kk!UFs$3vho1=CcH9N z^1zz=ku8zh3)q-Qmx=Md2Kt3TgL)cOPKT=t8VKF{eYT#|lx9&^N;cA%9eF>N2LWTk z6c?&&D0~$Q)*=RK1lp5pTHG~fI7rv3j;x_6Usy5{8BlqC5b2ik- z{>v9+UI6u9c%*R<0>RHDVZ5~|0h9I#@K@x8= zPwt-`Jo0gugx_%|Xz}KxAMZZC* z0gN#NbIkbNewVy~8L5Oqoo&Sl@O;l;>9vO6I9}a~VEc6E@w}zl>A~#?*ap#?>pr1G zk%0*_`5ZbXd*(mLKp@*fXuv3gg>0w~Da=MAP*wU4=r%Gd#YjPGOytLYn-L(2Lz4U$ zl+39HE~<0`7?q9&a-B2Um=xxywtqj)B$pR5xf8NVT>cE_C(!{ZZYpJd{aU=tUkvAy zC&~L^AXS6`R6v>=mP{aLO$?`TIUiqN9v_ct2*Gi~-3z`H^Y5W~Tn0T65v8DuVR`e^ zS9t2HUQOyP89yTPv8L z7&KKgqua>$_3-+#8~81J!rxHi@*s6hTLcrqsJl?^ug7%NnDfMM zZYYxTwF+IT5)18SrBJy5ui`Ti1nH;lYF4wEnX{V{836EeGCj55@4(WU`cEeWpwKrN zdpG+}BOXG=KE?jx;LXkVsaKX#Mi{FoBn(v_oOs@oartC=_u?{NJQZfkZOaspxbPp> zzE1>cVt6E)&mgn7#ia2tKCvrJ*{e%(7mS;ke?_5ZhMsM89JK3dtErrF zzN|(g&JzcV^h+1J$Z642T||ZxsU%pyPD6)9%7R8p@sCbdDY7ZA02-VfG@onj)5OIJ817*UX+Ba5^SIA$$3YpsC zv}8XA_V-}BUl}Ct;Y_>u{dk|LG;&F974rR&|LXMq`-wN1%;%GGQkLU!S-LMKlSvuh zy}P-5_Q*Ylr3=s}OY_5n#m#i=X$y(i<_B?3Jv>VJ?wH=a#y10hoN5Ti%l9q3H^;3f zBT{@AsbWLnU}Y0D{#AXaZ@L_%+3EiM%K2Bo!nc!VXiZQAFGzl3Rz1nD5gDcpVveGq zPKoJ8ZVjk8{Yi;Vj&SL1f%*Yzy2ul#qsgt z(VNrzch`4Q_i=J^cm3}E^uGu4a5Vb`ItzD4s=oaHHjazwTz>N&;lrM3MW7tmCJq>S z7dOXB#S`+WLr#6=Z;f@)T|Wa(fU`^sql%b((aKR>s3PNd^& zoKdLjVwsCys5?a$o zU}D{vz97p4d5BV95hMcp)P8mKXH%n6Q_TYsbShT&D5hlHGluY_}ItW{Lsy{-`*)mOgd ztLnPeMU__bwKssl8@{hX0qe{AQgVQ3<->|l424Jcmw+XGo&<*5GPz$IkDjp>a<{_H zAf{1{LpGCS=_VK0H^buKz80HbwMWOlzwpYfbPAMa!4hUBVFnH{Fe!PKNk|cTUU`2E zNME>!~>M^k1j3 zupOg&2=@=PP^22Ony;wBZJl4TCNpIeG<}4s2M4^dY(g-xC2UmXvXP#hDXL402X8n< zidfs&kkDtmOGO;|2U8M3(HUWmj}bSi6x9LG+D<7X>Agv%a?XEr{9;b+p0st1U?i6@wC?jTeA&a0MlgP<#an&CXE~mS4-Cv%wlSBysUo;a#!Pa zHSl`laPm{`84V7x6Y9DXq&p1$B6OtlEeHbjzyZ~>_e-Q=hNyBlw4K~s^wD)S(T3I{ zP2w;h(Hvh<)}Sdi?m;>9sfUGB4J?vO%^RM2o-C zLI(14&X63IC#USR5_XsB zhAGnORs#a=zHRowEPxpT`wcZ}%6+z~Bf2bX#r0b2_!u*kfmPO{z2GN!2aXD zZcQN9hy zH(SQB)3eb2-gx@%a)0qSmziXgOb}nObYHAegs3HrYK?rc*gyR~96#BjRsiI`5XhST z3DA{VUlH12w3&0?f8w1i7ME}G(af;>hBrgMjOuBz+tqw~W(5kP00S zPNEppKFnfTEi$Rc!u&ysZ8NjVi@L^iDZy{ieU5An*ypuZU3r&aohBo$<_ucqxJI}^b|3Ml+$z7a~nL29s`+ie!!ylf_ zYQ_HM^zvKl_^)INMF%E?a?vq2212gPqu>itz^%8H)(*}zydRbq<@ZYm_z!B&Y7Bkq zkiE&k`!pg0`RtkV`!5%-zE3X3L$|tH%p%V?R&I-z%6RZI%%Rs1Kw8sEe%PB{{P_C$ z`1Eo#f_9=_F`IHWW~#@*S)HYIJw8xY6(lR7v|+0)_ah}ZE|{uycXZ~Cm8{)HlR3UM z2f%vPH9P2=BTfNEX0RCPCNg*9n_-b}ir^;&wqsi%%~mlBnJVT|iwS$578QuBQ8bJz ztQ*gvTfeS&m@H)k53cVk-BeLW-Gbao4yooR^_7@1TjsV=?aiBmkE`{Ur(Io_FNcOzRg?IPj@|m;m`;YR`gM*moqtT<$qo)U>+U5PVH=o4s z6Lt*+(?@bqvd$Uwr#SG42sne7fk(1+8{p^B?fUIMwO4O`<*9){#=aZBGJ?QBk-cqQ z7-aXArd5-z$0pr{bt%s`&4uE9%NO}LgM~ghomKujH8V`(0Tn?3fTDUlbL91%pQxKL zLDRbmiL;p)BNY>%`H(WB1i(U;x(Om_;tG2+8(-1r%xCj|>SuJXq`rxs>-tH(a#W-I z&1L@KbNBY_>hO;zv3<}&BNZTXo!H$&KJ%#fptsI6`0eG&)i1K$;tS><#){bD?H;lh<3!Bg+SOFMe6UcQK77wtg;>o<`DS}<>V@^UQa2Z zzFO``PbGFdHd;h)?M2BYgh&bW?27( zL8kPY4>*Ppy`tDm0{x{kNY3{-R_guy$62S<>J84$&psBX&-U|3;bq+|8*Bi@VuA%E zL{P;{wdi`xHmSllKx>uwpv25K1m*J^WUG8bVOTvxHC1>h8dMZR9 zSB9!641Pq)D3fLcgD1r>#5a*v{8XCLhBhLKW>VAUBjWa{(PG%LBY#pThfv!7S)w&oX?w7U6z{ijbVun8pHB1i!P6iSN2elz61tx7Q zhj{9ox;yUUvXp#)a})2Ud&nzLAc%xd%&8NY9s&Z8ts`T+qT3TF9*Hw@Pl6Pt<=eA< zyEW+cm)+OvKaXF%nYn$e>W)JBydtvvkKW$Y*Q`K&R_O}l7LfhU<*WglyDg-QnI4#^ z3iZ@CxSQRe+pJqw&^8uqOG9jpR)BMFMND5Hv#-oup`cx9|9|fa+iO526=Mh@xZqx9 zMv*O3W~u(RV&{gK0d!B?G^)IpMWws#sh<~VUVroE_~YB7+s<;(Y4v)Y<@#W*{eL+o zz``;tSdg(?LuPzf11N~TG-arH-+&_@#c(Idp8S;sTlFat+9#MPU~)lVO{4(>tt-^F zQz7RK#(T&NB{HC3dDidsdi`#Yp>I{P%W}WIUlE4-u`%%HtFTAy zf3YKQ@dUL9!1<}ai}`$`YIh$7w#fYZ{=dJ4k6N_*x=4MMko&d)t4*rcgBNR}`RuII?6vy+PS5?_TfdwS zJym#d(5H?F5DPCymh*fw6na=~ze;^|tUUio*i@Qk0SfSpT#vB6iH(Ot;74?!yuX%< z5?DZzx<`Sr7kej1&--n+0o+Ho+wYzo-hTe}>asSfaw}rl3XR+ABnQa#sQa^sJ|zs4 z1*up(wXk*HurZHSj)g1IRM#T4vp7p>DD0)-19<*;=kaT6C|1X>XjIQj8Re%NR146~ zFffFKz}g}!1^|CsYzlTL-1!-_s#h>C#@v|9StB)zAbej64y(Q?%<9ZGvST-S-Z*{r z;po%Zs@dtaI^A}=)ob?px8LS_?CBSC_&1uu>}AT#v0@M7T(t1liwzlsfes1X#uSBy z7%T^2pPcbM=zS7|`KmDsN&m&!UM$T5q*<6&j%tVTgwu*+V21MUyx;3~Is>;0y1hZS z(_7wt8vOI>v>44C?h;r-FDNm&yz332JPs&UW+pX1wC6nkIqzs4yr6QlMFiNG3XCWW z2W)22CnS|7V-CWn5>IcU!Zuf}M!$my-OL5-Oic@RnYAM%RNAOPqo7p^#HvM=m>{f; ze5>>=%s-jZ5#O&{Av2vk+N7!AF=Z0G;>;Ur?201KU10X>*?+(NdA2@VE&IJzuhZ%D zd+mYy=jfxe0BVVOe#HjI+SDy%pr&)3&?6`ebR;lGe*{&RFmie99u#wah%}49Gzkn5 zgT7#xu~oRW4wAkD83qeJ=qagPis#=y^#;yL^;@k$YtZR;I^ACL=)C*q%i5bpK1vPI z<4=lI1S0&@ATaVW6_vQL3~s6tibmaHFna$~&S**_QjiJqE0+?6n^y2}u$Jk(J@Z1&<{eiFu&g9su11t^fp zV5&#C;v60*#)Bo~(iK#G9A$z@Mne#?rx1U+4w7d#A&w7uFpvnHB`;3DI%n1Dx7>E^ z%kn#0;IQl2?d{u-4iO4Jlq%TQbC_1ivPeyMRP6vDcul5O8ZKSg2aX=@6ldR-n;75s ztqhqrojxLE%>)o5xVKuWMQj}KqB0inN=(}UylQc&dVL4oQ>)%A*u35URiq5@8{7(< z?y%8cC$Ed__RP2UDa2&MKw+fZvJ8%N%m3>1`19eRTlAi+xoiOUG3d1Aud~&YJugAW zCUo?ZHT5XaW?fezW4D;vHsOhy5Q@q}mW*k6QIc@T5T&Cs9nSrt zJ#q5rH^ZUy7$UGo(lLw46$BUGKJ{Ad&YuGd%XCnt`BkMJ*s1|OKVw1XMrO(Le+}(|C)KhA(4Zg|N*hI7w zk)A~#6{V>Rj;x$QT~$eu8F;p&(AO#&x^yWE{b&h%H7td4tG2e74dbVchp3lhQbYF_#oscxy*WyqjMw`NFH?o)CVVQNbPpj z#gDbytT?3dY_Anh1$qq_!N9z zhiP|@21X45YJhygZ}Gx zB^$j8>I)Or^`XAQv>_pSyI~@XfOjx~tP!^fvLQ#w1303C45I)Y5e;Dps|3SP`-y5d z2~MG6+{rQ38MLSj6fbU%oU7{f+HSKtxY8MP;Je(_J3!Fu-maT}etY(+W}#QKTe{sR z1#NZeD}b*y$&Lr&qAHz_{gPTRSlB`0r?bNFw*T<8l#ZL}2C!JqH)*Hl#c`UoF^J>> zHtyutXIhX{CFzkudWiHWYfP)urRKV3yI@C+khJrVYs&R^xtQbh&4;VoGq=#KPG1~< zyXDMitJ4$o*YCFn;uO9tF3`zI@tl0@W$5k3X-?APInc3>Fc2vDk%$08##PplF@=Ou zFdZbIJA%E0;7_pfY%rd29EpSv0p?IV7)Qdm!G#HTU;DD|4zs$gilujG5F0`MckiWp zw7&ZA=D)Q@v^y&Bj?N%f%SnWnI{Uu!^aXP~h8zqL;HKxh=cQFqqK`UxB8x(~DCHAr zG8kb(5(YP)7Bkb^{Od#W^^uuzetSWXojCH)J4>v>eC=zchjVqe!v#sB==AjOv!=UAvieOBKXNC<{C6Z6 z5a;UtJG`2Qs{K=jk40LE_I@B09B3f0)i^DS?b(6lkq8vQ1fVN;NL!GgpELkKX5inN zOvJ1z3^X37{>2VRCjWeCI*a9;mHX2Y_~Lefdl!9Yxg;j&x4PYK?`&Ouzj>4Ik0LuQ zXg*=tLU(gEIHEI42q{0p|l68uQZ_&Q~ra{2R=v(o$+NOT`X#+-=~w) zzppy({BR3&+U~}+dxN$+K5iehB)}GY_5AhqI0LA|$X73mt1~io4uycEAA|{ z+s)MUZ<3!pH?rgA1l!UB4VJ%YiEULv`6tBq(yf|qt%qCj``ePIR#8@LA@o*gv*zLsL; z$^7K>`1lcYkJZiR!U%__svpHmRf&$APz%pyGk^hd#<%7v$_%2ik6s`pE;$X z$YuEuETpCk(M@B~7{fs22oP@b*KAVF;sb@(eBW9+nF}|4rwQpbQOr3HQCcDS>coT2 zjksMXY_lAezNSih2>nQ9Kn=8ikY2t!K^|TtSLN07W>50zEeWKM{R0Qo7eFQ3!X2Yt zx3~UGFcyG`^E4xvXdD2^~O|1yyDl`Gibs z!2;NPNdluxl#H_57sK(l^$Ibc3;yM5#Syq*Mp%qK*eu!xw}I#37K)PbWP5j0J9uh_ zex_$?mr#i+@BOdX+-QWfpd2?fKav({^dRIjNsw<)V1^T%>aKD)Bdz&`onFn<>gzsG zBx%V;-JpfKCMFh?&QCYGDOl@X7!;A8{0+e&eM=pYX}$iRTI1<)?Zx}@iAXr*wvU6m zqoqLq7Q+3OxKhahI*Z^=zPpXG5!$_OcXfNG2U|3|=m<@82XP*jJq8sZ-9aJg;)Fm! zZvYI*78!m{7)LfY%gFw^P>x|=5|UaB6g^^ZWzrD_32!ALsO7pcc#RyEn%RX#r&`DR&Y=2xa4nsvm%5-% zYFXt<+7?E?l2(O{XU`h`{^IfF-NoE{k3%FUA`b7*SI%Eb&aWxUEeELAc3vMwK}sX9@ZPs_h`4ZJz&_ zON(=G$!?eJ%`c{>j~Dy-EUncVeNv`9>V$gSGuU!x1IBiuBDq`6~YMDOA_iSi6XynBbSO z|IQVSM*EK+KYp73dUkpL{iH;{RRU{w6rOmO=T`&g?Au~JL88GQi1~N7&252J3)z6) z?T2y-%?C3xaU~05c?gpDHta=tJ5`CYgM^o8Yd}29_&+j6;s~-#I|qXw(5}I;jgq#R z(pk&~)Bp-zIGkUe3)qtYP$E`%FNQPXzT8%DJEJX+9K9VUUQ)?flD)W`OuyfszIx{G zA1n?I9`BD*F6GQH^|S)^K644Xlz&S44c5a4eUPRAfj|pY`f0}|`EH}tifYLl z{=Yvg9Z^&rej)1eRVspAQkbb>q#x~q0JT}@dtdiQ2aCnQ{Q4^VD}l>B0evlT1+7-IEos1xoTherATFTQ>2}|qOpOTupPy(TkM%K8unq`? ziDr@@;1Ccb`?X;(6(j-Y#W6`FCMDA+?IzBLObu$?5$Fao5g?x36NeW+*J7oFymVM! z?3a*O?wTDC6gSXvwyX^*ZV9*6lGF3mKqVom~w`PkmiA!$NWT* zHX_YxD!rt7a{bd_dQZ?r?My2n!sdTHikzVyGX;A1~0M@Y3BeVDQgG5mNy?u^bM;`SC%R zn6$?@9`WnwCX4|R;F&!OE%vPak;! z_fWe}c60gV-jhp{o#x>xSzP9BO6-+$+@q6sr@q?-`{{q3yUfvT5zH=*b1}<##L@7D zWFbtt8U*8()YXeNFQqkct{^vMfUt!*qJWB@DXQFGT75y8W(Di2|5M-6LWTv6NUZDT zs5e}g|7bsdbNb?LJC}Y8UYP7^9l0AJzX z!TRH0Q%(kgJd*>#sq+h&<)vaszb2UX$P~f~aJ@5a6cuW{57mDxILa(5l$axlHL&1# zN#ub8rjrG5X7htj60b0O(Q45ZNM2B+0YVPqoyc2QeYvz2CA>%(bSyoo!8N&!ka**A zGQZf~y|{Vh@Bcp9aA1tCO~a12Yyers`om}z+~ZjD z7+6K88UPb;!VSd;;ghoTrq?e{Ym0*%K{%|l7NPq_AR-`mpbRzHh&lCt^-PtktBmQu3*3CM&Hp2Q2RNmxkFp)fyTcX4YajIfelDCCscV*+Hi z!S?jis^g$*Tj&aR$!_uc1Mt`FPO~k*rtLt03v7F>)%u%trcRW+;>&w(BUw*VjHrS4 zayRkrW`A)I)udsg>0UXXf4_XZ7}5C_Ce$f* zT2fuPjd}8@NG&nI8v9M<4OmVh+aTY_1}Lm9EHVjsB{u7`zo~C>EN&GOXMxCEB=?H@8dReK{zSLUAkaqJV*9RGk;?2rmRp zNWa})eSJ3GhFS$=xj!t4^#7J$2#+2s{D)o7LhJ7XfQCb8AtUEAx9{)X_WI2HLI%{6ZA$V_V%NSUxO+`ehWtpT3`w`uEs*9m(r7}Z zhoO2G#5SI^Bb`j&U5=b9(1_2HK9%iHiP1I&0e0R2Ilh!>Cjh~Xd3b?=HLkcx&}<9s zSfNTlL@*esf+$tGFr^lZoIzBpJzBhxww#{M>fB26K2PQNgzXxQCtLC{p`N>Bp00by zrpRFtLKTpyJ!m4gMsB??_`n(2=JOxJJsx}w)p?o`oF^vUQo#m*W_7qI{)uCoGA%X% zG#{veDz(Vn#lbRxUSSYq+KVh;1p)sNUok1x%T9j)_$P5cX&_J-LTor3IM8k2K3_^0 zs}TpIK}}ug@asSam?wq`#3_Z_aXEdFF7g^9GT+Q~iVxNSrb6>Xz9!;Posp-z4U_W8 z5()}kw2^PR4G`sq`ba7o&1e)8azE-8L@GKf*tt^`gk*z2`usOP{?GNr#MxiLdTzlz zNu!2fRCI|T*I^?!HdoM~%A5Z6?X?(w@$(?fd(Z-PnjlvO5CgR&s%}a+xH`NUo5M$w zQ0omM&e~H3kIlfj#n>^%i#3*~K!oTkQ#>dMLW=%5CX}{I7GsNqKgY=!Xbm)vAU_ko z|LgOu#ILPZU-s*&*=~v-5M2ne!OrtH-MeTHfCN{a?^E83UE@*r#n!X-qcXJ`)cN0Q(^vVNGZl7*w~3<4Jk{rQem)J%G9Dt~#<2TG-1X z6BaH@IPR9H#5=v)8`dPT`3Olt?q8Lq8cRgnTjh+1NUR58P-W?~t)G-uyF(;wsax@WyGIJREzHjV!9cJ19u&`Q^ovhFj92|^5~`(?J|ep6$Cy?j2NXA zmEg0_k<@EBo8lt}K$yvWA+17c$G`68PxQX4U92RT!pT7M(f-#e{ z_CO$PtF1r=62ad3Scoj!`XTFB15+xfJ}C_BUNOHxpCxfgIk{iR2+J8&fvG|QeB?a6 zpmKBU4EY-yV8acdNx57iK{A2zuta=CwL>&xfTUBUK-7P7^!?R-=j=z|cEh95{bZ6k zN5$kgMH(TEC^XZV&SJ!kXXg%1=teoFdt39nPhDAZrp)B{Bb)*aAdg)g?!UcVwy-6@ z5B_~$N>1LhY>kL@s-iEx5^Z$CGCnh-TKmDZrfD}Fk$QrJ{2oinVog_x6f^-Vj2|P0 z!{`_guRpPyWvb^8NJ07wd}4g}Er`x7Fe4$!vPx#pzdq z=brv0iFJS`u?xL!@9>|?zn2sINiorS^9;D}IKg-oEm_d}_JCkraRu2+0zH|pgPN+vH z#a)+KA30*Z6wedf@FaJggvx}gMv6Ab_oNm9(Fzf`#PCle(HBcz$y};Zr@$j$Ja|i zux(@m-NH8|lZ{#t+1hT8d`e2{2}6mPfswYA=8$DC5~d&+K&z7kO)uoBR*w|N7bp2a zgZ%~y-@H5kpv3Jt>^`~#xP_L2w0u*ze?bqMyf z=kR;-`Akq06Dz&`;b|GNB}`>)==jmEg|U0K`;GtxxLxIeObSG#9jb@2WRQ%FGF^FM z%8-zQ=jp%U9g$07Q6%BlY8*ft8y=4@d3S} zW~S7Qd2}vHo%1FoEOuiRD%|X_9G)JG6x;IvD=|cjhciz*ztQhi_-=#qFAvvv;FStc z);Luvh_uk|BV{eYuHRgvSeyo>PG8g1CVc@dFWElCX2gRb%KGf~2aI}v2Cly%Xci?{ z8~(Hfc|9be1C$7Txw$xYfk4}GgT33gv8ekhIIe78paY*{Bl}q@s_sU&LJ(F?n6tye zKzmJbqD-KLWzdI*x+vr>QAMcjV%+ERe?Bcy`~w|e@9@X?~c5^84gvRn0V#)M~{6bY)t>Lp^wjfAVDzlQQ zg2PL5MU5Mx1_uNxBFGNBo^*~Gpzy5DNbooGm!t=v{=*;T*K>uY9s{w^IwtV6>@f>3 zyCSp93`P60iLJCssGIWTmsOAQ50ronzy}Yn}hNC|`bE$}VXEQ1_d!-ywgB z`OsOF6Tmj`D%+3Aa)};k+J8bRQoUGleP*m4TQ9MY?!8S9D5;C4#;kc&W&s)ls z(8XkV`1zvz{p+d^KBI+NVYm2DHE>h7-P>HAtvzK!Vdax;jEOoBDuWSYp8|H8W(uqYYmD2}nuSrB>lJw6^ zXl0Wd5_dEXUg;n$MXgm-7E&km(909bCW_Ove20EQY+6!&TrXRc(Lq#&+(~QD9*ECx z_eCFgbo-Z=JilF%D-w=-PXEMsd#UG zeFw~}No$xDZ|9W4u)4+y*k~_GI*vpK7PuQXF7FS}k&<17u@?m5=Q~IM7?>g}0F9^x zffW&C7!Vo0G)J-+>H^kq*oHtQqK)(L8^4ZU#bb4iv9}G0m1OsBGpZ=`XsWB{!ACn^ zQm!%Hb%-N6J^Arm4oGu=LR#7aN&}orXm*e#`g%RSxcsz~10}~v2=>FvGO?r%3;o%< zL-IE?+Odpw5~Q^kQ;w3by@bXLo;(xDVt6U>1>(>4&@aMTK!l;a3#5>| zf&Yj8r!RripoPK!AyNj&46VK{Cew=_w-OsPfdX3&2hNAU>ee5E13}3?%6>DcMWQxI zaEgAWLgB=0g4P(~*s}wC$ilyXw2aVJdnBCMM?49JlMi2)U3LT#!*zA^A{l;nMoJx- z3tw98X1m`~tusOb_cm9bzLmoYp$49r0SQ}y_7l1Q^f&dC76xkAvBlKoDVLO}EIdUbLbE3;r^;_^rBom=b*dX5z&v^-&f>LjcRU znPf|;Ze0h%=0>dJ9VXNJqbsqFEyjJ4S8G871TAG#vID)<>yPv4`1EKgL4qWWB+B~q z&zxjF7u4fv+PxxQK4Arz-0f|m&p>OCz;J<71zT1jWQPcC63Db+D4hW__6TJ_AzZ`w zmBS>G?d_ljaJl~I9=}|##LSBbNRpZ;avT86RQ--t>z~YB#8n2EWEmVgMjx@2O?9A{ zFw`=N%B|8}B$Mk$kCYPPg5^s0>q3L{L6|V3zb}CQAPK5*RB2IE>>>UwtO1FiT8GHg zTm|%li~BNGIzQwtRj(yLDnrdyrd*f4#Vls*q#x+(2zE%!v-j+9CAl<<{|6L-cBCq- z4RL6@zdU+7bqn?L(0#ja8G+u{%M#Z?LX|X)I3Le$mlxP)veUAiq&M>t6Oo$JhmjJw zSXEaT*sWFtA*_p9t~j}V`<$}%rucxt^Dp1W$yj35UbEAYupgTPMGoz@GTZEa@OjEi zNT{MP450!IRWTH7XcID5u;q=4jbJBmq3g=B$@OSoiN8X#J|+#P>({)ooPB2}ax6c% z0_Fk~=@sdNz+Z~}ls5*jWK4j;p+#C8-^_z8GwN7dPj_&jf1yxA?y@Hgm&Z4QzFi0o zMIPkA)FPo8CKvx4E?c6g?x_)w)<7+O*(Z4FHJ9fvyz%(m*Q=gBAWov)x*GyKdvKaw zNd32B(Op0t?_ggT7~D@Z&Q|lpBPh;)FHAJSTtyNgewZW@0!eQ=|7YFn3dt{8Mh8{? zKA49tEI2}mv%7wu&N=65 zKS5|oAd5EES$X%;mWzLF9EQvDjZy;miv%Azp_~~)Q3RR2AX%V3#JoYlXBDHj0u$ zF)aA%^&1ywPK0;?nihVg(>(l8PD3hrw6mM+Jnl|hn7%w`M^oy-7)0Y2&FRL>{{W|; zWGJYf5HpiZ%0@OYj(<|#tRYTmqJX8-Km0uRlIh7?DGp|BAT&Uo)?lFACG;-xHm`0^ zL#YLV?p!G$CM#5v5>&R{_A)9FwPh9M?TjM?8El;wc#JNDkbi5)7b*6Wz<~8WIl_RH z*dQIrKByH$3rJtq%eNh?4drSvA7vqau?>7z9?iG6`9mn6WF@uUZ!seG#9Ld z7ij2)d`j~6dB2Ced8di40N{c93J91>Z?6tNY!h!BzP%NVKvPhlln)Vu6TV(SNi1c5TwT3V)_dbbb8*Jrolh)DD}=XHBiI%{`xyX+9V zvd5A1ixIULV!;;ZZU+Jm7Za&u0?m*pAn4(aZohp2=Dj+lUV(au6hVJ=#e? za>RWw_I|#}xgqj&<1nE7kuPxE-QTrzrY&s!e^r(nq#$SDFhR~DF!$WX0o-oD1I##% zl^y|tEw<7OA=ML>Fif<%g5nHL_mZ==rw1`k%6Drkt8RkklU46S{Lx2=z0j(yZs&6{ z4TtXFNx`u5y-iq)qc0~iLoOt&P`WqFSRsli1;Js+{twnbL^W7KSBJ(9F^rXrVZxT7 zfx+#J{be~KN_vvJ*C{{0UO8Xy4tcxl_Tg&%Vf#Kz{(32yASq#JcO;i7N>Q*`16ngA zxtg8Ze=gp8TU05-a|Mc2!dTHCcdDn7$B=hAqe3LJ-5i>M6Pd`nMa?pIa*#JP^U`!# zoxa-&1r0yG77vkbq(8vM=pXJB_oRXv;tl=4j%7xi@q4Wt>%I#E%GZ?24n^R!M_DUL zUd7R|aefwWv9gc(p(K7U;k^{kH^H7rMD0FU2hxKFfIa9gyYJjjPRAc_o6 zhV#!D;7Xw`72qfxrPN54cZ<-Pje}_QWrHTv2FC0-7;EMQwh2wd0u>qsY#NwlI*?2j zYaDvVU#_HcC1gIr0i3yuONM{_IE3-1gkAcAh%8vd&I4z(+*>3`*!?jcdNFcYLQ;jE zYNSzYVrdPwB9TW3t<8m5DuXvSVO`sBax}9Zd?ItfiT{7 zS11>lz$rtejbatVi=ufk2^brDE3$D1V0>|O>(+drnZO>kwbTN_{EH5(-|G$zfBrRf zx2BB#UWv*YHbX+L+tc|}UP=os%$0for%A$L4@e6InvT|NUcfEsC3|wXR6wY=oGTGl zGe}^aL+K&nex@9*4%;SAau>RM{jrp%&G)~qI&2fx*F2DL7D5R01u)>P$j*KJu1p+! zPCVtI8NOl*14W@99YYQ;tG2ElBa~K$_GaKA0V(+z>-Oo-@?(VF%EqQu(o~S=_7cxt*&; zGVUzxDSAyZa;Bl#&uwg-s}j~+s85v-kFAmO2Jzd5QcxlNMj(Ow5$rw*0OW*agGe^e zNFMn3jY^8hB&s;bw>nh!S7UKHQB{0wGGCHyS)hG&*>fYvcDW&sS}NRKd0S>MGF84N zWy2jC1j&e}@F|o51L{AdWt248>bJfYLi`2eldCiFuT4ruTFdjdCsmzoh1|%gvo)wX zAC3W16qr#n5YSfO9c7u?R|r3~Q%D$F1+qd2cgg?zv_iIDkgD6A%XJQJcl`a+av%jP zZ3x@M`ww6P&^}fg;0`DdSgt?+HRNfg{A{O`XE3P4>9mhX5bND#?Lv~Mq)yKeN=iKE z2frWtM)q%*_030?{85F-2u}bslwhEyoL?a&V+;p37Dp;!P$@~==lgFa9&)HLQzYR- zM-)`(G>F-^!*W;24h5KZ27JX_?(qHOAYp|?DITMorL zmTwN1U5W)eGEk=X<>PP|8phOwzG^6WlVC&>wgN@cW!FezH()^1harT-feJ^&d}yUc z$a<#fB)uh`A4tsK>ny)~#K@^+{POimW<@CND}JiOF4yQDhv^5X7H^)dJzNyq*s_N~ z_OP>!MFP|eg{Wp`^#U8y7~s*r6X8Ar0fN4{aAN%p4?fYq)&mG8gn1wnNZcnC0(OYTfOnXu+cq67ec8Scf?DgI*^ zymjZf$)Ha1zip|o>NG|E-v*;5W)_)(<=^*XvEjqUVrtMrGlHR4 zwRg~V4mJ@;8$45P9f&qWeM5lW(d=VEM$UuLqU~UkCP*gl*3V^)r6G&}z2@zDIu_;O zbo%+ZxGPZuwj45SH$@uSMj$J3%%I0|5h;E9dRp$GDUERe7T5`ohJuA4%&dC_OVlV? zr(puCDgaF46B&@o+j{ZpKo(e1gBus~7rCtS25z3tU;f@85EO`*Z)&C`)_M_W2{da= zeCVg-heRcGa9{3uEQe7i6`H+;_|mH?TL@d+HEwsD799bMZJ>rPK?>>J?GjXpWcVNl zLo$GcRl=z_`|mudyN~_Vr~i$aHhbSWL|aj#jyvm{305%7v{hUT4XU;VQg?)OuZS&4 z_{2={;$fWtibI((=M$JPIKx4NM|Mvc->naqgFcWx7WVn;?{m2w$?*Q@O3T{B;tzz( z=nGAZ6gL`N43r93e*Gr1Z+4IsHb$%h2G+uAveH?@XO>jO9Cd|=SA?WM-fA}F{(Dop ze7BH-`vCOyKlxN*y-`k(N1IRs4_F|Ntgb)RXixz`u8Bamsh&PVZ zJtTx-)j}2DbK+L0UBRRtJR^Pqgp~GRZjt*Cfg{Pso2AV`*jE7+Vy)HH-4GeG^4-xH zGeWE(>fIjRU~hP8I@L>tl}#n-M#2?)GNZj${xH;hY^)6HZnLrsBv8K4UIU)n#+SlUbPBi zNN{{oCZXz<5U_65jRwl2@iGwFCP78P2ijYi5Q;yI;xT#l)*E{NJ6xfi29kbgs35vP z$pH^Yp?5To+G<^`U%Bu}IH>uhl#{nRDjsh4j=C>|?DK?JL!c6)oiEaCsK&(AH4ChZk=Za5pHGvY^1>}C`9yTGT7MkNZ}!5mcXej6pLV;6ND!8w zheVKsxJ?8($O@d@Wvm3yDtEm}2`3k_5k790+Z&z&keDfJjiISd^pxAc&fkv5Z+@qj z$2rHr-%tVoehBfO?tl$9z=jec89L_YMgxHOG59CSG6x8bZ!QwmNQX$AvJPK4*N@(wxFFPml#rIj!~kdkwHGr!g}9DxLW}X`vUz0~HVP1! zpfVqkV9Z>md+zY!!>3iZ2Lec1mbII=&!>`nb{k-R`n4(YpPqv+CE$|Kc`O+je5!jD@_h3uouTxy+&i9;pcK9UZMl<$6Pjo7Gby zPGUGC{6&U7_QC={+d?MGVg+p_F~47c|J_gy>eK22(``Tx3;*NOKjeN5VS+3*3kvBW zWZ82Cg4Q*v@%VcgfW1`wwyT_r8El1ywJMy)ipQ92j2c~PNC?sa)XSS&(4*)AN$RY_ za;g^70a6#@5WhQYg09X#UcBGRy&9L--CK9qm@EVkc>UvKt6k!)rGIR4A*}`uIN+no zx^QfaiAV9~knqKmy}%SBOcf;4;GfrM0@yMx|JA}jsf?#z@s-KjRmpD zn_Wao?kj4(A03yFJdNYQwQeLqayo&A%Utg5? z)#JGQe%R>>BZzoGGIFnfhEqt;5I{kS7!s~fU$2rR*5d_?5j>2C0Ypp!C^K~~wOKZ{ zgO!sv{p;oVN`QT@)$K|rn9kMfgGqu>w%cUy^HCF`^>zokRjC2O%p)cTDH{ZQkX&}R z_x5D!d8`6b$eL(QhynzxIr6F@rE0n_GxhiMxe99cI0j9gJN~}-l`HMzf<5->h#244_5ZhDLE| zUA`Ft=!iUb@BaF8-D67~xjF2$iFS+V4-4bjX8Ty#C#~g|pXHFJJelmTmjvV;`ia%+ ze&xfsm8s5dxw)6WxT|UXSj|?SRSXi}N%+Hh`2g z|LV&}$qwMS4lmcML0jdj(ErMS2!w=vszllFu0=sxXLKE`DkN|_p_Vgips54w5pqKi66C%L zOwz^WoJtfu@`gjJa*GGG7}lB10#w~8>KFp8BV)eC8&A%kw=ri)?x;xVB)*aiK&R5s zb=WfiRf4_M`Hj4iL?FZDf1j4<%Se;!o`3!iyDTC>!mu>i`2lsY=q&y)x5i0eVkFSE zhj<`(kfo7JAI2|VKZihB3jX`({OwSOGSI{L&!d+1HibXySZ6BfC zTyZct{VD~2BCL==84_!u(l}K|`y*Y{g1#M9Z>dSs*cDiH^O;6(sBzCvj?`GqVHh zX@ynss3d23$wbP9ko=Q16(=ytE6=Zc1AmRsCQe39v$cqpgF_gwv97Y92Nnncow@S@ zJv3fG*&KS9aStaj>dc?S#=$_=UMa{tY>{xwP)0WO{Nw9Yr^)`n$OFrS05sbX@YiOa z&?HtImiG(YOg5K4q4`rb9J+V=;i^Z27r^ytJ>O48t}ny3eMRl7m4L08Pem)$o* zYYnBfV`SZ&AL|@R?=OKy9kG^j1EtR<%I$$3Ed49D{~eGD3<|kXbd-TYfq%)k|i^tKz?aWWVOzEa9)6 z#lUd}c4>6WN#%Qavy;D04}6~qUkbnw^64i;hWbT~IYa(0%n*ypVfl0B2PG1Gdg;zw zRwZ~DEydcrN83XaFR&BpJpfCT$3ifwwG?(0AAwtGmWDATGp)1o`H4Aw+k!0IeXu7nk6 z2~3U!S10kzH2LRs7vish^Fm$8=N;YNmsl3DW!o3$&&4!|j=2XJcpp@zc!fb118_P5 zZqV<#PdaGz<->f>({6@nNDyoAN8?j9T(h7s#=H~WTpf%hOglgE6fnrvPsVo#X@vlk z`voCruHPQt)N-ynN<~2ljjA6>DI>4@e(m^rj27Qot4d7D-I!@t17t6BSVw}0HPn2S zgnh|g;%PMnoUl-KNNkT6pRNetI&Jd01Iz~yKZ~-O4(foYrgisTR71VN-!H~vE%8Xo zll39yvW5`ty|3GwVSUR(nBRk?=!$1$)K~huQ&9f;lY#)m_XoLg)GZ`uJtp zMGI4u{54$|xPCF;)9vI~a&R@dyIr1%Z0p8y%Lf_R%=Vch-KC3j!F)!ush5 z%0FfUsS4({;1&?Bh%z!hO)?7NI36{|I4`VOXUo?>&%8%=A6d&-iEZT1vqViBzsKQ< zOo{?FTXpW}2On|I6DVM~YsCdUX3B)}V9qD3UwULO7_`;L}pIDfZ1Y7W4+ zxv)!yj;_xCyi=KIphlIqD$&Ugn$Xa!g~63j0d7W0n;iw6Wf+c6K7MWXmqt*@F6|$_ znhaI89fy-=>s1HUfbc_Lf7@sh*YCF5f?P#B&>JW%)S_!x{e53<4OK%i?_$+01cAw3 z#h@{R8FKu25^A85fOsLJj%&{n4Z)@DOg4VED9rxD{BJB0AnP+y^DwIA6;qg+f!HvI ztT{ya^jNwwih_rMmDW(l;2qS!6ED$N1!$cT8>?lYFpfE8RlDutvZvQqO9;YoHbf7M z=_+D4`CzOiC|s{TWm zheRdpacpy78FZ1^3u3m1Ps(>cM1t01^d?)adHed!B(b@Z$@pY-MyS$)tes4uyeTOO zX|q>|Bscq_4`VwKw+pVmeDjz_iA}kn@p8;!@K{4aBIySjkT_F;MOIZnp}&oiaPr`z zkzaxRJg)=+)g$`78cRiB9OSU`3BJ{j3u+wYPan^<%a%FyFt9Ycbvw^!egIL#Y>8Zi zFpQx|27{YWgsqw)w*=$M!&TR21+t$C$^kHC1+9WOiqBbp;n17t8SWgy+2LJD^d*_7 z^8U+h6T`+Zs9Bcj?C56xUQKzB>}j-&`-X;4@Ck`(0Af@EfoF&6Ut2=O7;2MUyzAY{ zK*$z5z6#DfTi?t*WN!9E`ZD=^j`47?U^3oJ3dTF#j*JWH0N98eOmyr5A(-BfNT>T_ z{9aqr@G7>7jySGB2N@Esa_%L??)3F=_ZfRIvN0FCkD_>ea&sIB+cyFf9Hr{jM}UIx z3c2zC#0Sc-$tcTB6rR$f z20E67ZBM-E#kX}Aj&p#3zk}&;ZIRNzp?0J<@W3>}Z8H8+aKAiXjcsa=XyUJLkMKSAB{-N3$@dm&FHi?llk(=%;c`Hgzr2QA&f(>J z=&@&H;$`D+f3I3hT@Ad8o1Eouw?O z(ljNA7Q?E3B+;B!;w6=CSzI3(%uBLS~gcu%TqLb zA?V_73{@ZEZs%fsv>b2>92>x{Zf{>nJ)(+Eg7WfqMMu@9rlo}wE;S*PIbf6s+FmJF zfvGY=7$3eV_b63lek`mm#-ba3;Ts@Q(X0Z|<)co1SiY*SC@|ZK za%?%P>km^_B2wH-G=d%giOv-XslG)9OA0T*RwBg?RhXBR-iNi+|Fqb?PDWVt)~k0V zNg0IflWPY6q!p}ymKHWK$D1K(jM--hWn}vdnjC`G(zfEaALmoZIjq42vkqG1mawyi z%EFQmZLCZZmL$@Ng&O!kApp5S=9k9Ti_M6kAcOpotoI1aV6_8MaREvSj7HA%7nBO3 zj1a&;l;a2Q#!w}I@XD;!4yjAc0YO8Zut%geR;U^SSjGjLft!U1<1iRr{PVhrQV>>A zpcX(_U}&hNGO&etkrdx|ny{)U7M0HHuW#m+Xg*0M;o14Jg+YA+vYSZN{J1FJYqvd2 z5s-VmO;`Ym(l$1+$uK`Q(9r^na%C?}$J6JSXpYxxWA@AH=(&R*;g%x?-FvyXS~pS6 z1S^I#G2|b8nIMkFF~B8F48lOmm;oDyILPvR=}bwLlb}b92~j+D41g90lg?v87|t0X zjtVmlHIG@Or|B37BEn?e80G)(!^he~E-3b1Vu4zkYv6CR!Kg|bM{ z^D=tf3oA}gSAauywNpp%ptw4=5~$dc)+}}evMtYUdoY_2c(*ul4LFN~f$mU5Q|&V(?`Qhwmt`MWU=X|_6>YJ*U0d57viY3`H1aKY z6MWV`znRc;hg`i-D=U@Yv%H%nB&~;FXwZfQk+CH$)q|jzcz*MgOZo4G-FX6eEUi^v zGf((0f5EPT`>)1CB2+F}h@@n>NB2o;Fo}%~;xUJj3>5TL!Hxhxw(uI?{JnH>yRiPq z_&fVLkg*|x@%F z9E93eh1G2sz=GQ>g_Qx>c1y}|_DVAO=hF(VwcEm&Frisx^+2HYzzfSggqBYFt}~t% zfye;*s_yFhSP4_yr16KZ%`RHBHMPvN)qnlrVw^nT1_gj(k1&oI)X)|hResIW<*e^; zJpJ=)8;w0=5L6pUiL2KirD{aDBGG`w!@vGH?;+G9*(2L?fZi~eawWpx4hBg<*u;`y zs^0q)x*n}h+-q-5b!08;RDlwhvH=v9q=e9FWsi-@G6FyHs{upCSoega*`^~V{NVU$ z_(#?HZ$|vG_8?(wY!UUuspgYMFQ;P{0Af6*prd4G;@O3hXWd=ep3Z4yWd=*cGeRY5 zpEGto3pk(KL4cFDXGoTGAO=7MJ*W~uZrr880A#S`dU|chfBN`={<3%Y_GFxF)u)8R z>HL3d>B!0H9iqlxHdkNWnN5K0lw?PTPj-I*lZ)mnP&m0S_c+im3(I$J*H?YiC$=?; z@3p^tOr}a>pvrms;p?))o}ex9?dTTRL;NR~*~j_sbfru90B^H{IYMH?q_a?Gu=@M5 z+{ON(3cTIz*`sux?Fi-GWgJ|nvQ;$|V%UWC@kn?ihP~iu%gY1X0Q@i4%rK0?h@h~x zd1xgbd~BrCs9=D{{+zY;WO73r{u;zp6L_ok)F4n}0TOUbTf#_D`l8LZ@#}7Ii!ma+ zt;gMM02#8=fhwQ_UYNs{+A6USP}rtCpw$y6Uy6@J>r}Df$LrfAN(#|jQnt-9maCV5&V^ROGCSiHBemO4D!V9i1+}?fo#FoHF`JxmI zDGd>|!TJB14l4(sj}7GFA5|y;R5dT~UkoSyV0*;`9E|`G>@Xj4`g?i>+iW2sIpm^ge(Ln;TAWw+0o^EJPwsoaDi6&bG<~xXTMLiUk76WFd-PBfY`DDdYix>NVS8= z-CG=jh}dFvdo9D{$?_6eYU)BOmtrz}%(9vYT%d22?+g-ai>Mu}xgWgo@a4_|q}3jH zG#c$Z0V{*JHDDT2)eTWPDk*}+v_#@{%Ob@sgVQkB3BG7pF&RwTKEyN%NtS6ElLf7) zVvyd*8EnJU`_ZLnO1eOZq3;UnhcJ-+Ld`wk(DSxoA|tDEr1HwyiuLKmaH||?m<+wU z)#0+!?V^LbjBj&z;Ogt!>xtVPo@&~V3P?C)0_j4_Vq}ux&W0B+j?S;3J?WrJNx#+Y zE)UoDr-%;NPFTE|G>z_nQGoJwuv-7O zR0dV1ELv3?%s;wA^I%g2oOm{D2}RbSI4o@=Pwk8KHbl#rxU3zh0BGd@Klq<39XzU~ z4<4;DM%0Y)Y5qjB(>Ok%$J=Hlzd$II&Bn^MWV^hEu~O=qY$P`=N;dwEIbk4x5dikl z7q}yGDsv)Xv?vPlxFA))Hz5*VF4d`0w@*g}TBpKDoJ)^@sS6&Eh5O zP(}+gMEO4`ADxPh-v)Y1I09gs{?Ui=doLl5(lAwHY^`*q)=J@ERlpp^rWQy-9l}9I z!&EqKt>*W~z5)N;vgZ{RkpF7-n5uxP9bjc;k54aT$fqo__@K;V;##h88wS=MR53xo zEJlVlJDhtNpq7x0LaHvya>Kp%7vIjMxeC0$Wctxt3mvv_wW}`9t25zh8_l{k%4$ii!4eXdePJ2XRLo~CV5mSy!pb~3RUtzq^;MPs|1Y^Z&pxl9 zZ@M}~LJAz~9nRTj4|mm|x&YYW0s48MDFFEKKb#s5_Mf`wwv=y~$m^BNtxDy>TI5xC zhqOyZ?G7hpbr+4S;7H*FRagD~?AGG}$ybHYVeF5Vv%okLO5?Q&05of}-Z5r{>GI_u zhR&uwJ$n4=8WNa%w-@V2S0^jO;(-?k@hzSm9X)+mjNo5;uMjX1k|@1W=u=sAQ5vw*a8E?K z#5#I2kRx{vahi)?w`q0o=)1iuYy`#u^vM>sYR+253+Hk*@GMpVU;#XB3pP}^HwSNF zb9(#zY*Fo~1nJ+A@xiy%6{6CnL1M%mee(VNt6wTzSaxFynASj$nRWkG9z6YN0U#Me z-vVM^mc>WKx9fEC3!FzYZJob<^LgbgH3koc6Oea}VOZgVtb(8@_lU5GP=VT|;P$r@ zVq|7G=YRe_E{6p1(oc9i;UdpncIOSvsQnV~NSsQv74?gi*bFJ`(zG1^P9w-Tc=z7p z6$C&j=t$sfwmYbWwxuNT+VEfhyxU3T`U2)B4ozUI1{5TWi3{ArZR9Kvbu&Ia zPR8>;`!}(*rit#@c6y`pR75c5=5{zVO6AVEW9g%;3bcU>&SG|6#Py3$uMhgYyrH{` zs`=u>`K5sYc5)c(E++o7?d7^soLrDJRe=v=Dz%H7$9)Bf|C~KW^ZzSO^A~@ z2V(u|@1vvB5f;!;)tOfmx~lB;VQte20irDss8uwyF<#a{agf@P*#Zt%BK8FiQ{_>H z2v;Nlwv8ACV!pqgFc5_9qu13(m15&1~V{KByw6vvKwp~w^ zAg?8AX@id2#{Gk=a6mSE{?}r;s5TXB@M@gyzBoGN2x&3vWtKQP|MX+|E)5=5V%sJf z7LU{GZ*KrwK%~FUGZU&>16u3*k4`VY-z;oF@7VCYe79acU!9A$M3OD}_N}Z9TPp#q zeXaF3$r>97w~R1Cu&DVU5GQN=B_oZmzMn0v0ZqaRD2Je+j#67mxB8@Y&~#jav^?#m z^68K#jRZJgXZ~Y<`>y4?R}RjG+2GdQ@A$)?-GKrRwjUfmnvc!K%6-2|S?(tI=tqf@ zr+q3-L6VBTWOJ-eR9iuT!rhd;Vo1Q|m+gY|z}el=Fq@f`tkr)r{v(?O96w#F&`%|!)@J5XRAz zxx3i>;O$?xFQg8rGygxA{fPe68DBC5vy%XyJHQO{6tCreX23=+`x_R*v+s}QZWhx& zzm2*ie+xa1A#qBByh=HNohc?0wr*&`{Xeveps$9<|FNe!3oy^n0nUaqVQV-XhE=jX z6olKm|33RM$9mrdeLjBH9t&5zeeX>gT4`Qyr^wjUe?6Ekrg}8}0@!(5tVUemMv=(X z_}jQGw~RnzgfJYk_p0$m+Wdie`+x~s4FqJzFF`<7+}?hAaaw`rIMV~!z6TQXury9WG+%3fW688OkT!wMA`hVW9YPd$tfr`e;!feW+ z1h9)4^7TEKzz5n!3D~@wKUaA-+ujXakb8xoYJlya8U7z*kU!X#oOoMKqFZNQX_iv= z$Z_CYLY68R!6nZ4PUN?&i9ssANDM-71w%ZHu)z+1)ej1bM)w?ENK@tuDWxK3`s6EPgReuYYDgKdxeGia5rj&-(Ax z`RB9sdeJvZwvOkUakM`Ba(-HjY`wur1EOi3eLQ_@ku;lMqIVbb-(UUp`Fw=|c#Q?L ztSxhfmvP)M`n92;-D9?v8Zxh9H@hydI%)X@f(M&4)bXhe1mYhHpGpeyrG|3lhhjB4 zyG^T&Qyax;N-;ID-5+@+xT8HPpxdTn>qisa?BTg@hbr(N|E+-!;89a|^1e7UlkZ5?N!HyQ80AE?1y2>_yEJE6a5LNH4-`rZS5A%bK$7#Ub2H)lUA&QglMKdx>Y4i`H>AZj$(Y4PRF z%SC^-*%FS{)uZ3OLp-#HVmCl+3#C4J@%~~>2t^bfTs-=4^|3ycFG$QV2YRx>QPyp$ zPzC4Bqy}yJg*0N$)i0^m@FCBRv{!2c(Kz^Cmh){sp!~=&jo_(xo`qq2?wuVz}jg=2Sz@V5f*5Ne@5j;Z&0hB!UHA?3X-M} z?MlJYwRBi^c8E)Qd%pUx_hWsquKH$R{_W@0Xax`7o;^1~9G~8v|NM2a?*Ghu{QT4T zQJsyf_M=^cixkJ_Z=SCs8@{jC(d$2cyFDMBy7x<=JhK)zIE-R!EsW^&jP$`6%V*k| zs=dsUPoNhzy6oyeUphVcWIAEXg>n8gJ*NWglpN#v3wpH9y0B~;aT>*A@Fa$+9LS~V zFHes#iM`JS2yl?jg01lIXQG3WBOy0gQ;F`sJQ#F~Uf*?Uo5D9y{3F*xV1+w9CDehX zzp4a6C}udx`1;cee<+2bf>kgzS!~C8mboC5QB3CLp2lna`;}85n)^oE6fVMSyeV|z zz{%Co&#hMn*U81jxIDW$dS+JiZJiBa6m|UgYV_wHH-CIMJwNH6-pH!XnCjoqsnzKF zhl}-Mu~=XK^7iK0`B8JKEHFmQ)~VXb#faMYitQ+CeNpBzH_Oqg=NxFFi)AWy`_tcU zHSA=eyV}b?>MKo~w1~LsjH`syGYQDuG{nGa*0~arUoS z*xjKJ^c4_lfPo(r4uOBd{BZlhzmFdsNF~0^~1EsT7wP8kQ_Ax9*964 zMh14DCG)pmnp27AawA=+QLmZ!wzX!fjRt`&BJoy~8cYCUFajJ`BqM@%ZD>rUiobZ= z6sN1BFCTy2{3s6&%Il}A&*)5Q9UXDgjQaoRwE6t~`}fbI(~+Gmu#V_E`mb<$e)RnJ zXue!89{u&^`}fOdTplJo$>Av4pvkI!{T1xhw2f3Bqarp_GXttxtw;TRY=viGt#ah) z6o~C0JpK6BHB%H%xN>>Ax&O%c#c=@RR;BJ|Rf)^!onsWnMuFBUf&4EQXaDx8&s_mH zo6QCsV79gU-#=Ux;B~-*v!_eW_rNm}DP2NpS#di?;l-fc0+HxGk@u(Jhc5xwQvFR- zu+#k8eCVd_O|z@q8tc}m;SC)j4gp>e*#3+2OjNzhMd3y$Xyi7kZediMJ{z6CxP9~I z*`v4R=H}ULqe}vh28j8i=JeTWwXz4PFIRBI^jFR8?fW0gi*GOg{BBS?!tOaK&nvLAnOej~Etm}=n3m@pb&Jc}()*;IU1y0ub*+q1T}#MVN? zc@H5_&QXPI#CYcwD1~iYu4^Rp6UHnfunodRe{4U#ygkW&`*8f^)1`4vYt5S&B(*va zGQemX(b`I|`r`4=U!VW=>DlG&?d7Omooa#?$jC-XFlu^CNe>8YJa1d71|f45v6^zo zft*>=2jDE&5{W1cED}M0>ectN1Db7@-@1sx_q6NW{nic6HQe=8H$Xu=m`H3*#Ua^B zINO~B7}$%y-8(FJ1}Ri=0c?D08n>ktf)2QSb8%omj=*NYQ-cM#X8*2A@!F4-5kamq zW>ciU0PLaCy*tf_Xa4g1*@(l?kUoxG!~KHI3$3!b10xZ4X0_=oV`sT}*FDENnzS!;@ zeBa!~t}hpBc|^lypmxb|vWYWm0VI3E8l_ZR$6b zkAIa0h>ZeueI*gAGE5U@?MBh;f5OUUM^xY-!VPoH3fW${S?^EpO1?l1^XI>YR2?e;*zS*Gd=bKX2PYBD%J2 z-3dliaGoUYDlljy`6YxM{LHn&$SgTRWB4MrwelvGg51dDtunjd^ckJ++3Im&aeiFd z0LwO|iMhLL6o|-E5uz54Z{ugHxEXoC1M|d2$Gseysa)~|N^bJp<~;$%T0tD`4_utUhJSNxS*t0dAPRG6C&Z>blJ8~GSHUr47l z^X_uJy|;T0_SxRP`-P5!p$oWI1#I6<4$jPnK@U-e98OAr8yJb2NP*{uhe0nbC!k>g z5aq(a)iS!O`HxGR1IhMcQ+_rul>k9>CTIJmHm7-zvAFp2?Z_l*v`~OYu`oG!sfCJDR{4=bOJN4-H z_H_RsDxIfP`dD8mMU=YXpF3`W34!+*Xg$m&HNvdqBD6{PsEWRxU&f7lD5D3rTDox~ zMQ+3lkA1p!RRWaTF+M`_m2R6bkuiRl(njq`gA&$Co_2phb^au{h)__VED5x|5w0`{ zc{9gnYVlC;s^cjlNV4N8C(qE%8y7Ft#i-G6l2ilv+oJt!n-CTo7e3m6FK)(xCW zt5J2o+~OC1{62=-?~{PUDOVh-J5Hvscdx6GFdwQ2JFA@BtX#W}p_`_HRdVqBcsta7 zvwLU19RtvVxBh?9;D1exAMPzTBGBvjzq{5$9XfD>z2PrIK4gezbNl`@4c13#wf_72 zX#=N6luI6Vu!OTBu+6p2>HJ#V5-#+?HC)s>D*4=jJ9S<T7c1T%w6b)`XLxrG(5lp}I|qE|(Gv{DFU7bF@q&l<yg%k$ z+mw20lNE-xIirv%MwVo0C&2b>7yu1NKsXa1g#33GaGyP}x4VRFtEx`8gt|bQJxP+a zTA51?aD`iS8aq+tssg-hp)4+bKE}Qw*R5=C4T>=4aJ4#awSqQc$;Ia>1fb_$!GRQL z8G!KH&5njs0KDpZvCVAHx)c+6ev8h;Zi3PI$!~vtdUkZuj&k4h1sWx~3E%~K4O@{o z`)SOtt6yl3P5BDhS?9WDbd2QQl6d{WYj(zHFcND75h@_tepjcVyzu+Vf8N*cF9WrPFwUc zz24Q~umcA#*ZB*u!o5&?GOPJAI9r1+4QOK}UCyVi0s~pN`upkpdU^5a=lQ8|HDH)9 zi7X@v@C;j9tC?Tg>|b5w06a{i`WImMe?#4x7k8LptHe_l2V6%15Kzqv+Mtk$10eYL z=fy&P@u9H7Yt8+^s^AfsxP3Vbz$V%V#(bNV3Z969Z>(Pdq5QkQ4zw1wc8Bvp&0$~; z@TdD4U`LvIak&x)pP5Ml4%!%^!fG?}I<=Ej84oDS+|)W&Tiag*q$`uAEy6a(d)s0V zE-j{l;T<@EdR>qrB8^B~D6Y@WS3n=#2>Yn?Q@eBA8ZAOIz! zC=u73C**<|Q!kz#nRTq-R7F~KiD#IkstxS=M{ZXRe@^k+2r(TbpaB$nr>xet0A|DE zRx2>Md*qX?dlcdAJKmtLhUwvfGtI24H?6;8JWc@CIi)f$=^GRn>t?snIc2SM1W3$a z%eh~^{^*Ugm%&-g6u^Y^Ez&>SGwdyIU2LaJD1&wJ6o+jE+*1f=i)A)%8=Ssgtoz30 z`ND}XYHt0GwjS>E>d)U7ZQRGGPja9tu;)G!i3U`skCTi3Sj7a9;{)_E3o>VbZSYafQ&) zJHbf9BsY&NlY_nnnB6^N%7NKzKn8UJ=#%#WBmeAVdVCPcpN5tLa&MJ5=iB={H&;v( z9}spCk%#>8umsX7oE@9_o2yevXQ6}0TtUcA3klHeLD^HVIeC042=yU+EorW}p>=hj z;V_N>j?;~3Lm6m0ty)7_fV%|8`_=S%EMLv}+wWikDEt8j1P9?#Zre3vJ=BiqGqK2( zYskyNKqMC}JojEv-ez8b;xOdl7nzU?`}-G}dIUMjxAo_5%Pw?HOo5$P6}l*XLv9FF z8pQ6R@f!-`!?hJ*)n+4 zRMoxUNbDdhVyrtHLa>Xfm;sjxL=41XxiRgekjm3){qi_)e%lp9!HM zVQ^%B^dCbDZ{~Bi9dpJ}#5dcD!muLkr?UvLmpfCevBb zmw^2OpqB0zz!y#kV5b6avcMXGqgET%EWpkVYumQ509+7$kSLHO(HRY@j44jJ4syQ& zh!M>=-k=57=$r~6$3`3IU%B~(Uj+}HK z50>j+kNw0S^kAXrGu@zd0rx%;j*7dc;byTG#f(G8PJee)DxI9J`wEM55!dCep7;P+ zEh@PHuv8;6Rc7MC=~w%FR%3Nd>Tw1I9rMTt1%@=4Lnj4W(SUda1+r%aVFeBpN!+$p z2G=kTH*}$qqguQE%e~k-c*lIoP5`;n(p8f6q;n@Q4rA}s>^mW3lii2?9bz1ba_0gx zngYRDkePu-o=}^ZIBTHg7;!r^KB|d|)63s378vWe+lwB1=OkRc(UpQ%odALGVpL)J}1>)GKz0UD}6hX7{60fr|Zh(d#Yxc_l;v96qEqB~y3MaeJ`*4YsG@?&0r zAzR4ea5r(E3@+Bc-R9I#P4I=ubl_tKLaJKhvpqZJW7$8)_&=-mVuMqsTct*NC#83= z4ztJY+?z(zLA}3)cUw*2mH5@am+xf87WF59`-;h>hKoJJ8&a+>!T_Q0WEv;Q4NN^I z_e-PaOjDBkd|2Hp>k?A4oX^k)P_S?qiI}44asBN4f1@!829aA>xd2}_OJ-ygtn5mk z4WzOZ-cWK$>som{Pn1UUz3IITefQ+2VJU14B$4pRp$mAh{h$Awy;|GZuj{;%UvcDx zr~h6li$bkKvbK{j(MUFaFxfKg|4!rUmmlj`bWfKAQ73_ow-V6C77BpOMyEqA(f}7l zYdT>Daj~88ZnY7szoRm+av*OR%GqehIy?9~wfLFh6EG{tUc6o#uYTP3JA za27Vc|9fZy{<-;aFeKKwH&Cf8<+2RugKT$jRv&UK{b(plzdxi|`epI>R&6%pm)M0s zVu0}sctRA|!cL4C)Y9QoF~Y=wMWJCZ4@WYrqQ6QhzX4wS?8URU!+?vBT7_9um>UFAuSe>xOkyj2s*Ly zEX;tz^Hn`KPy@E^ZiLBh2$&kMpzX7#2d+>wdERraEbuRC;8X=|x=)=7!*1qQWqW z0@-v z`hYFn=@z0rv1&82M3cnXVOou{{_`-Q;fN|VII_RTyXgH<=DwN11(d&k);c$k3)bFM z0eGmZ!nrPrA10ESP<{c4Hn?ZHMrkhbSbyANCl|vu75K-~LM7fbtJ|Y*OMD^{&ox@F z|NJh6ir}5xoeDDLmrKQ&2@cT8!tH@lun|4H2I;3p9pzYt+7QYcUU?nSO*D!^;H+!8 z2OUxnM%=7EzfP)6G7MD${lZ0aKSAv58Nf@jyS>$$xZ-`d!#<>l%pYjzn}5J!KNfLw# z_8%Plc2uLQ&YH~Ufi2Tu6G@tF2I?H=$=GFWkI^c?wrE`z(3mj*3_yEpX}$6~aL4RX z#p=O{nr0-MsZLiU1(Sf)(dR!duw6*Sr`GK?j^6(KKC;LEO?w*)sm?wwTItV_pzxSV}_Kp1auiDKUU?_ z0&loN1io?qqEF7}2C0{NnBH}(j&jEZt^&2&Qt6lSZA~;9AiZg0o3lRw9!&lV0SFiV zEVP05P@j7vLtg}a5xABqKuM=ZSXt^u$#+Fy>B%fq9}42u%iM(PE3M|=zKcSGTYBx` zF8J_Uai@4VdpGSJ7T`{0XsD|weYwW*=E@=u)>yMTQLUg`fXTL^{mSIjefbfq$Z^u@y-Jh#7 z%-qLF#1Z&rGDWkm($FC0pqQC)M_C4^pFc%LuC4GTmo=mu*tvCSx;kM*9sZ5xZrFu$ zxN{+qJ(^9w0R9uU{>0%P6@|9zCq4_91rT5W1j2Ce!P(QbXq~9f@FYmEv~z%`99Dsn zj-98H1VjDd$KvAC?Wvb~Mv83-geg3Rr%(&TIUl#WHDw;^?RV~@xdNrXm}70|2jPa1 z)4(avN=<+>f36$B2^{@9{^I>bRBkpO%FPRonBVvRao+ z&XJ%}RLD>vt+2H18LGC-iH>en)C5+$orLnl$u#v8L;yUr`nW$ItN9iiD?D5EfB>zL zs_(?9TAB}=r?|$*8Y%T%z>Q9T`*Hw(;FC$9gw1Amv*7#GfqoU-ygfh??mR%--SRVq z^Mw*rHxm7-&WbL8gh)Xm*h%jWZmv#8(r`0(R|F4J5___vmdqU?er@5YD=@$eyvbrf zADSjHM)417yoI(SoAD1rd1xfc9k8Jw_${_lb+Nj-xwd*KlD)DWXC0l348+Uo;Ooef zj3H{kCYL!ut|4!jT<22!An;*$jqxu)PtM2@Dw4gNSf?Fs7sf<(6$A@cCZo{cvQ{q= zlIyB@JFbj*pH?Az#~7aGRBNYfBw=7FLAdK}DFZ8f5|b`4IHURg^uMM(_Ygr_0h4e7 z+{uN8m4b2H&0#`-cQ_ngVK+AYejT~RSwm? z)QPS;czUyY*XZ%nWHt%xfT@6>|2q12hsDtUIDWDW?vt1vbfOxqajrNoii@BvO9zM z>H1(Ji$N*R#kQ$+cxM_0od0&=gHvm>BX=!8$+`pSy1!4OV+#poLWyFb(YI~%JDFNU zd`w%J12O=>#0L8!eyhbtKm$b_htaQ+6w^BKFsoZ{Epn7*qBPeINjIPWURI8v1@cWY z3V++12sV(K9S^Z8^y0K5Oy0Xix)*%}UoyVD^s!)LSouWO7Uou>}W zRB8MG>gW-`_QWBKC>H_=n|N#yqJs3`ukZDM_cHwB4V2_IgZ|Uz812{_tbV)j`<}QC z+Hj5xAMZ7V{DN{Ye$9Cbu+~-!iN@SGdqW0cescMBzEQ??BXsr zeYNg=IR}947(<}Y%cat1zHEKGhn+g5%+{}!jPfzb(FUUr&?{{rofWOX$wG$nA~nkv zrC-3K??2{Z13K*J~2))8=@5#Y};RCpWs=eW{dj^>560@sG?)oaT)U<=k`DE4d(~K0=HRrFAm07m%Zg6$8-5p#Y}f3k)8;vC?PB!)t|A;^M-q&S&K8`N+8mpFa# zsPu0;0N7X1Udt@_g}d!rNE}an-aOdbb?M? z5lx^t+gO9vwq_D=`KekEc!76K5=2gNv@wQVg&1dHIZ%ykCo++YMs$8u zq4wP~sYdXsLb-~kaidq+8fK6qAIdO|(7C78L3b&ZFy{$~5JspNlLI|S*Is;l<-sdX z4s&Wgw^k>p)iq%78gXtROWe`HkSI{i-yT1>U*$Ohw5ujywsnsM7On?}1s>w zb-{`5pj z0}65wB`pB)7kwBdvsa#Ti;|)7p0*I3rI5lLw8#F5nQ~@zs8tFlKjn-V3Q=B&&LVK| z@_ec3stPb2>y`U8W5}4gSB%UWjhE4N3KB~g#JYP_|L*^~w|jTD52HW75C&TKPyx&W z4m7!m=JpJuPBF1ulAJ%pm8JlF*Z`;U4H>|JWC(~-hnlSSznqR5xqQ{S0APk&mEAZE zgUP;C#K?mR1Nu}t7tZ>WC71kQV%o<7rvT9^YY!c1M~!F$wib-B2{EwFPMc>JW4ruu z*|1~P%o4f^92C0awx)? z=b>7`BW0s}?)X|JR)=tC!%CoGqm9$X8fUq!Z{y#0lEIrZ^{BH_WLzSpxPdzfM*TgP zf|OYy^Lv}arRDm^%>yAn!&6uN$7A2}uF%?pdvink*YVS3HB^6ci7cx@vz!K|XG$n1 z!K)epX)>4&c^Ca3nLqk+TF3*^F1$u+O!omRWDSkLlZb~}5es5fW?n1+&D7f7fM!T? zG7vaQY1AaSWO=d1Gff?avvqy?;{8G81a@(ks%pNrAM<`4*hG~nOTV=i^S@384}ijD zg_;NAPi&k|`_9A|HR@ncp2P^ytPa6Stk4ytB1H4SMmEEAi;a}dk_M1&h0hhBK+!iW z*W*qCQAbrv06#M=w*pV-J5<36XvSojn^GCgLWjzL4lQ3E>*-MM?8^qMBFOSx44=e-5`QrKC@87@w z>t^rKt93LM$ZcC`9R26$lo>rcvlR>pRX}U077GPWp#uCO^N=zPBO0khL7@FucUglp zVYQT@x;9u^ZS4h8tX8myuijrToD#}Anx^IrlvW7{?A#4mJqJ(c|6ngxtuKxz z_gP`#V?zX{Tld<6009aLK7M=91zMK|kLZv*2EGza0Z}R@gV0f?aAfI$?ehk(fhCSN<|Fs_oJhgSi9WftxFS}d@e$(N&YA{ zYekxZVX3mka!7V}8d;+?64Al*fUT#8YR#P1vbBKlAdf6t6Q2*4@8keHxPL~eCoka; z(GhY$HEwIS1NKRr6q4W-z#s2FF}{9utm1A08QlIgwWn{tvvm(7nhaDi%N5-Yl!VR` z36p9_EKKA~QbwJuq(ut~kG|4H1q%RVGTkh%PMVR3{#s z>dmw7&tA#wKm*rrC#w+_61hAG`uo}BAvTtxFllQQuhNlPJvici6E)CyOSwzj`$8sz z))=DIF1B49@{rLJ|EainebNf^X1lyXePO&V`|CNuJ*rSRS zEy?Ol6SHNhULDV-6VCo{6>tGeX8{QuKmtjI3@SYPwpNQAP~McppU?z&Gj%5r)~En& zDtD5nGI|xWd~@#lIhiu&BHCoNOgC8%WP(U@EAn59siMF*SQr>D*3t=yZh?yc^`Kih z*eN2i31uWz8<_jiZwJ5^oK)5P;_->iabX@5@w4-vYo*-S%U(P^c{ZZXlgwL7D03dN zBx}UlinxlRp>;+};|w3qj6$W#)FT#el!foehZ3+`Qy>SfW5I6}_2`Ag$RtA*s8qAGg6$NYD9I+=zVkjFiBAjro917Wyd9B1Pw8tS+t zIDcqp=Chv=3s(lW(8ND7$ogKgU{bxi{_w)<`OFEPih<*-Zd~jy$#sBFDHR~yZrA(Y zYu(Noo*G=@6bN8Dsr$$atHWC)=>+b8iH-9xbpU>3!!i+5iX8 z#1TefD_a{4pX^$)aX!)RvVG|l83|12uI?WYuZK80r78(OlA~%A2kOa8tw$%K&5(0CO z(}sB~*5H5zVS-W@(iloChij^*Zqpy~>!)8{eHI)Zh29%EjI*VXl0|7HLCIP@hKK z!P~Q4yYeSi1oH6hf0_mk3t$pzfd1p-*Vkjed&Ed)c2=q9cYbOxE(=#w(ifiHT`*wc z{i{W>cLzVN9*KK2jUNMc2c0tH#A0I!gfZ*Ndny(ek&g3`iVsMVqOw}k_ z7))9DEqkua+bqNE>>GQlxuidUcCUynn|!T9yjYLtup;U*N$5QPQa zGy%G$=3q!D<0+sa(quHM7UioJ`o|Y&eInKrawTOkwdjLeJgjT6#gF;}$-|7i4Kp-2 zqRj5x6;kwYMW0t8Xe{ymuNs`^@eV4NyZb@_rgwL~l>oD?Da;T7!vh8|+rQ{E0_;N6 zE5y!9#Nz-D>%s@KmM5gdAzc~R0&a8O{|Afu5tjofx zCyA+X66We;DBp++*2a)-^0<-I0x>w56GRJ8vDsOBdj4}+RSu{n>(^f_!%5rOhVZA~ zpIncVPWcP-=ludewvy50ku`&~G*<)w-1N4U=`c=b1YP#GieioZ<;9{a;!vcZ0tu9D zVVVUcAhW$2h7=3sRG>srpWiI2kh3I#5GR0mcTNYXl;qiQ{-&ffLDt@(5OWX~dzUgA zFQ1-GIr*nH2%1a>L}<$i;u;z1pUGtJ`TU)(kxrJCP$;PZcN9*T4qS!Q6^W$}uH_rm zh2Ph>ZE^kE?MPX$n0bQMfwEZqq9oQuFlv)4XCZo}4URBjWyV^Fg~Q6pWG$SlQOI#{ z%e?(_{$Qb@i+$nSH_OyTc3m}p^(B_ELxHL1XmtB^F7wSQ8Lua|W-Q$lBRpXM?`+%0 zjfT%zCdN61eyc=#Gn+F3Nv2_d5@n=cQa>sp6R}8kRMkuanTv?bM)Q+FVaZ3Uqn8^i z?lz_K>N`F8v6L59lX1k$8pM?t$&T&{d5Pi9lvZJMn^YY6RCyEoS**}WUj$Bur#}b> z9vr`&566Ehmq(pBD)v-+`Uz9YD*#ee=Sj?I5Cn%)Xz}}pBPBy)-MOF~F{)vB9wFOT*gb1c-`}d8Xc{?|I$9^l77l3b7ABdbLyg#AuoRdUKq+hlU&0ht zXdpH=jVLOP_-H~%Z-`3P>iMzm-A+6QDSvwEpbt`txHYe*j65|MgxAEik zqdlJRbn3gD>p&;KWaei=U<>c=R~9*vR&G&4>N@{cLI`|7-}ka4bA%8kQ0ET8sY32e z!qOi>f1k6(4FvYOr|=q|8?b03?#UJ2A=uQe$0pMyk z_L<$!F%2GdeE-q+#V-n4w*Sp9M(3-{<=m&M??1m#;Iw#vFEB2=>t#!;fRsq6>1E}S}+yFi7gkxZWiv;riz5u|;hzs6RpSBunb_skv8 zo~6cEVdPp-@O7Tf>;ro-TiB`n!g0^YL>ABUA7|UszU}iiaF`2hX+2CeAJSp);O6z( z2&UHTZDdRyW|8(bb#kl(bV{WWB{e?LYZ2eVTn*B0Cy~)vxl{gX3xE(UJyGZQx9zA# z5yE^`7l9$DHpOea|JM+f=Dt<(Mw=BrI}eUEz@{&0rMEu$%?a%72Q#g3*I;yfUFr zjG(|Y0EO%<#U>SDJtjd$|239mjrai>)xhK5F6ggJ;V*~yQkLP7_*mw{1EfJ9A3Tk2 zC*A1?3{sp+3K*m+5_)Db*_%F`S_d$lOa%u`A3mIJY5Py7_ZdSs7jv1D`jw(tK&KIq z^&5;GWJXqMM3IL1Zz)=uw+EFJc$;YP?e-K!XzUGKAxz!F7M&4gWH7Ug18EV*N)&AQ ze1WFYhqsafh@Z*m2pUN}giEQ4u&bmIh_m|m{$M8&@vDC$$LsR=&o`sX%g3vqf4{ws z?64w(F{uuoUx7t%Ezu6z!9rI;_s_~?25d_s_is=X9(AGM8+?eMsJo<*Iih=+Dik@F zW*HbPS5qNTRJ}U?AofQk-$zgAfw=^xl_0on~wOF;s)uIbuT%; zD5Av=(lca_Y475w_5!?r6HGd<@Yq~)Q9IpTW@W&+C-$iQ7o8gRkjL)|t)tJ1b*e~p zm_x>r3u6;s{x%+$jQvTzur#=fw@;tGeH9(d$2)>dtchCu{{AXYd9lo-AP`7%wzhT>Li5-5rSAld{LHVl(DN?n(O?U0100P??vGTG0sdA5?ofzoppwJRsp3aIWjd_Xd+%*p-)OKIu?KC564 z#JSpwO_v|j+zhwuR=jt)5< zFx!7}F!u9XcR72SYoB}qssF-(?}yR7pvc6H?48p}Kaf`IKR&O(J&9DuQBVFb4vnJp zc5bygy&5llOr?FQ!?Yi_IF1C=K;nYt7`wKG$H-Cm2P%)SpgJ49`HG;WOEgzaf*E@v z=Ot>Fsys03;5LQ?N)VNSSB;yyIDwFvM|nKrSE>lxpedK z88RV_gjfdsgWsCohlZ#GkDsok0n~xXW8JAbklF_128JTrw zere~pa=$SPDzas02!;37qFxegl3OO&JmB z{MgID)%WKIot$+&84$>i+tglSsmHD1u(oC8PQq4jl^WrtkVMkRsAS{_jt{;a&kl6~ z%v1yRA8$D*pb-&2{&$$?l`i@N<4wg479o@;9LZuym7@K@phod`)fh%o6kF%U{y6l8&S6<{< z?tD90$3p7$OW3~Z>G_Anc*h`i&9dE(6aUjh?bPD!V+5?VV2DhvbA=`~c8=Gc^b~wc zK`~m)L+NERu|8V;#|CUNw8pv+Py0sxMYZNzqC&}C829-8TVI|oor;r$7nw3{H9rt6 zVo@?zVYg{&EJjd}iU(?rm|BroT;tsbDgtH`9RU5mI00AhSgQorC|ScvfwNN~YwkkfZ?AsG)WJM4Be~0?Rf7cZ zz$$uvtp48)fQJ-+(=B>JKw|L0-RVtb_7v6;C2sJ9JvG-2Nv4eXsxH`Ccc~0_7*;@H z;WfI0N##&b+RZP{A2*Wo)Gn7YXpbmAT*3s0zy^`SiVCbo+u0bQmi1b<+WDec5+387 zmlB`IlW7GV^p9uMUprD7*bW`l-#?f^MCz7T7H8q2H-6bIe*bhk8d>GZu)4*L44#*_ z8#ol<^oKHpJD?TUOI^NhI8&>~QVcuJ85&k9#CBwKcl%iOHLVL81zuil|2|g0LM7Y1 z3M(M_u2s5%$r2zfB0+DivtDW_?v)u`g`VjQjer!<+*u_A7INLpY zdC;Z)=*w`&Gi`J`mGrLr^A;ue!TGE$xP%PG7OEo_*FTRkc+^xsR`+JgZ8mg8uE`48 zgf3<1C`2ilvqKWXmw^ygd9&jr0`QNkFtugw`Z5_ZWfES4=!@d@;xvW2P4+?q zZRGa#;(SCJylAHkDR3%h*u>DO6>moaUIvBIIEWVl1BCuIQ_Y_{bXa%}4wMl*tbLHo zuu`^3+$p2elW&m>0Efg-_XY}9plZ2s?x-~T)8C*Bs(i(Us0!#r+p(22e|1BxH#~h? z0EYo5KiI%i0AeQt%(l;-E=4X(?~MKe2eon+q9hamou+=Fo=SpySm)>yV?gYrb48Y`>?PVRa@AOAQ?wU;q03w4erPl{_lrYI{_O7ThGD5&9@sAeA|$XWnnVy>T@w=DZm-{xXbSV(ue2`$@xUjK2}C1vuF@G6M2kfI^amLa9WBYE#mV8e%9YBC!%y zrX@Bv9*&BCEklv~=L_JXXYxgS#%I_eB!$3n!q9lX~mu?j8wuO;i5yujL zjj~#NUD=xpU(XGI_4a9E7K6A_BNkHK`6|fW zs9>imCNbHdV0h~kcLH2ox>;kg>6YJ^2gpULIL8zG^Mu#%%Q_@ zDeY3BLe5Z6q#ECma}Xu9y`5bd`VeljE?ta2T@EF+{*U$=`X(062K46gN+_H@;xhvF zi_$z887kacjDSppGB=vx{%D|T)U|}St;P$4cp0uUs`I1szcm5iKC`uq!P4C30Jymn zGAvg_fvy_WoS7U*TX&0s{VA}J^h@l`AUmiQm3e_YLOmNp=F^3%M=-aBWLu*Wgf^WFbknF2OPE_tI?DZctIvQI^Wq?qdHWejXUOg0j) zpA#jG+SdwJm=#{=G)RI*u2us{kF7Z|%yz}<-BDps8-S73w<3rT|4?`C)^MY{dbHedB z^&V1nNae$bB$A0r7vh5Tr*JG06EJYV{m!by8IHV6?0>QI>coiCP3Bi9!~lr(S@?jI zW^zBI$FPgPl{`<65fcen#I$ZA&eV`WZLMR#rB})z34B8Ae>3Hfo2&EXs$3}TRxB%< z2Q1!>Rz9r&W5kVE>_xYBZ|+3OjfT^Wngz80W`UW@V-B&Jj6mR(NxLK(sbDYhMKxur zsf0i)zdT=i8h~@El);vIo+Q&&_hS+9C%vcCa(<2i-1+34xU>J)`1_x;x7k-1Xj(M5@;fJPb(DoFrA5L>>Jkr5E$rVQL*CNSmt=Q*6;&|T%4 z3`)!kC9D>R(`x>1qAU?|Wx6B6cc$@sBP(X=bw)9nCM%jSHbMhi@j@Mp&s_=7-zuZg zXgsdmVb%JnG~J}{ULQT5l9Qj)D2R>3DDr=5c}HnDqvESUc&!Mg2IdXW zeXcMU`7w(w?mXn0TFsuo=<&Ex#6`Ft%W=7X{!C<&0(=i^_oDV84$0vfT3~c(1-;o_ z%JP;2V3g4ow2ZZav!M`8m~E^eq4 zY_CM#Je08A4i$M6xnmdmUX*~u$lYC}!D1P`I`e}6uoh)3B@GrMjH)uIkF?liwG{Lq0D_&5H1u25`s>HX?xfgo;)xTDc8h+n@J25e_MR)W zhr=C2p9DB0cZ>rKA&6V?$YjRb26<4f6M(V|OfeIVP|H%xv>@Z1N|7AYwf$MQSie6y zbs>Og$Jr1>rUSh3sS}3(n*P>p0JdrNq!X99RV`~=*~T&NYr!(}!nM$L)WwbJRyk5- z`RC`?l67~9%W~zyoTwkbrbkXDI`nk|R}S2E{zQBv;R^5%7!7To z{g}fvu>H)l+@vm;OCagdHi_X zQL4h1vO8e2SpU3i+*PKL&8R$GGDQWpI{sx4nv1V2o)XMqnSG&FQkpIPQk*${8szw4 z$smS#mnWMm4HxD^@%Yt7K~U~y#!#QQpwdIRf(l=~Rw?REqB^YHD6iKR4eI``ySs+_ zJ^gOJWjwIS-6dd9@S(;71`OWxO+bI4cd!gLf}bMmBDh=nUSHjZ6$hk}7!@Vj*eC44 zN5RKR@N=b^5x$mCN*33%kGj6qG8e!;@u+EH!hSMc+q}sHw+l(NdO9ERxyG9Wu7<)n zcJfv-&juz2e1j~`WcUtf-|A9`b(|0kWLLmg0(;$>X*#}GjYhR6gpG8aAl)9-lJzw* zg0w{%7fK%!iHTaTX%q*A<}-K9A{NXqM|9}Q@=2GQxQ&5r`e_bf_IjJ__S3;)C)JF- z($R~+kI*jb{ddZpPPSnEyYD@DDZDmPP)`!_{nUe1vO?#7n`-@hZx7th&i}(hfS_;* zSRZ(1R+=&$RfAE6QGl_`bo=trInc=I&-OQ>L|NREZi3^0Yz<|Alc^ZU zV-bzr6F8{CUF*b*X?1k=%UC2ky?G&>RUA(yt*PfjR9;)lJ#cVqf!`$fRs~w;XEc@i z{L!&r01qE>^KTu78^C_r+an&R^2t)y-95s@yS`426oQ`1umTcigSbl&xnjeA7U{q2 zKfE~jbPETv$wldwF|f!r1#!#V_Ic(hpGFK)iULF*Cu9TEkP9HXh&24}8OZrz?tNfD zurHL@mdiy7SwdqApbHI;*w^FhUq36>(uz>(Md3`LgKIIYEi{zm^syokcdw9rn#o33 z8OHLlX`DdR>No;9W_jUiCcQhB0#=_qJNafD1&7fRy}i=fBSV?KZg zFBs(`9Uy#}`L0z?8m6fiETjw01RaVNWOs*#u?-ASg$@M)>^ zwX$i|F@Qwa0whRI7gQm27#Lpb*3ME86a3RM7s%yvr3K7U1@dE0z7-L)@r5YXfCw-4 zWAxi%Jd|`oc4YcBR(Jz6`s6nMT8dutMvCLRmkueENYGev7bi!TXLauPA78Wky%#knGjr;neF z;MU6$M5KOPV8rA@WKE5SmL3xrE2?6uca7R`ijoZ6?sZ(+<=t#xVeIe%S+JzDXGR}2 zXD*5bIsG=Hld=3wJ@L5TPRr3PSG;XVpCH!GGYc7KR*|+$8ac%K*BOiKUE_JmZ#8W! zK7l3zN)MNxoOv+(YLJ=o7_m#!!`yXo`uF~UG6mxdxi@;R52@q2u_Fb1cS0hM6 zL~Sc^XDOZS?k9>RH_U&W+2r@(&2|O;&h_rLmJeA}2b${6PS?c+6YQ761cP-CAk7e)Xl6PhSCHQM^;o9EX&gE10Tpg>G@s6>%54QMn7%4%;^Ygw4t1b{_Ue|aTce(FO$=dc2|3V-8W z2fBs>pwD+n)dfC|lA8_MRG_F=We5bKbpG{h=G&jb@7@W}|JLm0sazCP8g=^4ofrP# z%}F)1cuJBe)v+WI_<(D|64u+`awaz$F0}RTm(}CPE{?3>LpSo)G7?COo=VQ(wWDoq zOniueE+%2>Y?6xHD9rgG8(pO`uZm!9dz- znyCN8`r=DH8nuOw)*ElIxSY*oD_26N%wrhf%dfSSGaUP>f248aW*jE6X_yiD6o{Ax z4TxJ$DK7wqVQTw2vE$|FRRq&DRoZs-ZfQU@v7X#exx3b5BB5tbN<`ks-O5XfoDQC| zUm90qr&;~jC>TvPm?IH|BpRxfnOe)|kSfCzDE-&^{`Puo8Jon~VASbjUVFxf1c3vz z2?b(Gre{?{6#4ib)L785X`bXIRC=D|yW{()6Cnb%%!FcT+j8Z?5QnSrhr!5L02E<#t&;&V1aClb z^4qn-Ks3~2b#|#tIIOn=6SOptApHqpu|9fdlMN$Twmpx<$4R1aP4*oM+~Ww?+T+>x zXFD6hIn>D)ooayV*>1*tJIGRk!W=V=+G#H31)5KX55)`Kn%0VMFJ>fDdUtPd%w?L zug4*iv;Pb2%pY8>+|)&Cpe(4;0c%)?jWph%mRasr@aRXWSIyi(Gp$-tA#JOfMG?5_ zIjj`E2)>3*m=N~=#PRvxzb`rg|9Ufl;-YdO{Uu(2q0Y2h7u#URjQck`DxFU16yXj8 zSG(0#Q-8Xwe?5i)bl7(Q{Q@}L>KnlRqlZ)L4EN5~kuMtjCtL%bisTPoPT!RHfGP4R z3hwmw<+aH>PZLX|X-Q-rSxKW9J$ZB6K%vZ44`)z$TLHg?#{h9M(Cz1pSH#1OYgquwrfj8Zgj3^bK2~ zL=SR`^ZIIcX^fBvcw{r4KR-WhM9YgANVd4QWU;0Qtpq|=e-L_u9w2j0Zv&MBs*1ya z;(ZfhFp@eYmo=#TuT=TvvK+1@fQ<9YPsf(hSLuC(u-*+RFo}nNNcRilC()cvd|{vA zX>tg8Yex?FjE)iykcq10qZu)!c(^0Fi7m+Fpbwu2zt?Ft`_=`Zcl)XZ&u0Yj(E4SfV zfFK@=NbOr^>@r;zn%D}<^RMnR{j5Iv8O`Uv%;)ygdcA&~-PZapt^0sFiolwM%;2T^WyuM-QAL`zJxb<-FkRrfJfa70(9}s1D zy^2vvaR65{SEf~%5Bk=x?p^;9FNqnNhG4$ok651h`pNPC`Eb3;-4#5Gq|NCR%?8)y{AW5ZzJP4zZ&f$Nz3iS>^i%yP&7F%ZWG<)v- z6%dJ00%Cbe`PP$xLu?=TD#tu^Cgz11bcZ*o~J5Z*OLH0@&`~+nerf9nuWw$JwK6%boF* znnW`n6@1-r(RY5Td%GYkScK%nyFm#_Qrs#vpa^2;^y~5La5uh$7Lp4E%;k?Gpo~C`WKD7q3|@wSce!Dvu`Q{|q5Leh0YzL$$RF!L=cAawy9oB0wFw4|7V4eE#=#DfaJ>2$yVp<{Qe8GI9P-BsaLUQ;Jln8RjrUzH17HI-&o%%9nDVHVtY<;HJ1cheCz$H_BgRG&0MRe}UO<4mK9`>l_(vAMHp!PJ1 z3`J*yxC`HbLZdhh^@Y!ff+j%1AxAlQ;s+odf?lW-61gK_s!`IY-Dq{~XR^Vwzb_iN ze2~Q`Hd3Mnqmdkacrx8S`)0aD>FVkF%_FuXE;g9A_A}2LG2TEUvQJ*|Dp*`-D8q^V4o`wOC zmR}WtJXcUgM7dx-JYGKO7r^eX<{R8U4hA`b1PfJmwzGiJ& z%S4(cKuj2lHmO(rs^W6#eOLxAC9~K#l-rH(c8rE{`Ap}soX;$s7uijoJ6%IKpgli^ zjusSGCFaLNjn@#?G{Hg>A7)tC)vlPKTw$r=r{_Pq#Tiv~u z;ZCsc;(?U?=(Mo)84vz&k43Pz#aw7Aj_}#VoXzd>(xeO(g!;ck+z$da1KOWD=@TZi zqdlouN&2KJN;%6_%cnP%S9bjJ=gCNSH>hqc0SC&9%>BS}iN<;N#RqC-v?ps=9sR8= zcNFA}CzDcO=+2v_cI|MZ5p1J5JR&4mJowB@q$fy5L~@gvm{zrsGi2Mw?)iuFRNfbk zK+65U-Rn%Ik-nHE^D&HCwDN{rF@7&*=vM>+K!dp)YrT2==6|QSw0^@PvJwkNFuEQ0 zn=(WNSDxZl`Xf$JVy2>D`mWa#tPze2$Gbz8a#uC>&X{se`qbApJ7fnp%cVaNk~4J zKqIRyg#YAkYv;Bx8PTEg{6Wf_*p3Q!cgQUT3T;Kfd(Kdye!xeQwPL7ReRF0BQVmNR z(#qLhL{=@gwis||Lnucf^;+yu8ifL}QUg=j=gIYD{E`HZ>2!NusrHuxkeGZ_0+nY6 zR1U&$@OScH@Y5mnvaJk7dD6L_IQ70gt(O0L+!uiRhkJW_`+EREeMNX^i=h9Fv4 z&bW};6F66OV5}Vn(Wa)~_tdpUs&Ecm@-~p`(}-ueJYzX$AmC&U)bYSF;2XZR{C!&G z(g>UM3{#)`XTfE_(E9?HCpc#+4s@%~))0FjPv`rlVGLcEEe>nZ6Qb3vTCp7>86_O`SssWKp(MwH!qa?JMCC7(qLKXuEVJ8S9T|c^+ zJ?yvt?&0j;=Z_Wo)o4ZsXI3F#9G4LL+HhAEl3`=UBJyuW)Qs>Mt%E#ne7R&M+rnzP zfrxLb!OZ(j^w%o4L_B1*0)hY<{Z8RA)&}F|;&MqCE(L$ycycMrw2(WHqn3C=aue8H z!_n4^m=ej(grO11vEUB51SJ5}qt%nc2@&4Yn{P{zZgisBZEToeCBOx%4TIOveu;PI zMPudkQE9a`FOXlP8_CP|wOT$o>remv{%PAqu(#De`-j#M_WOT2jdt*SOQO_y=|0tQ zzHcCdVYVEmJz^-jU@;ns25dtktq3s~H|hF+wEt(*{pTOfYh8k}gQPysMf|i1&)5?- z@R1a+hGY$0LnCx#_{tbkxFF3v_p}uaB6Tqj6zEd;Q$v~z%aqg_UCnsav_5et;PSZL zAkU23J1&B$UkeGGDsKd+t1r(XV0jPb^MZ|?`wRHcu%#ANvzZ}bi=Dw#$EUX+tOvxX z@A$#eVSa;GI?Y}zAfgKMHQnoFGIUz~;^>?U>=T-BO7pOU67O()Z_4rV(OG{099k>T zR{?ul{r?RLIP43<{q6ZUx@+$!E2H5ghu|H${b9VMt0f8eaQL=&=g~$lwqFFB^x}9I zKQiN=J|8`nuAZqM$f=m~tvz{RW-UW_*cosybGK^Df@OywW1QvKfU<1W6`d=mm5(#O z?Q4&CaTAZ$JzM#-WF47Wdom&0P+u0Zc9(%X_c@q^q~;>StIIJ zLBfTkENWx>b#R)U?M-)a@0?6;#&b#QHPrJr+<6NnSiFwm@Fqu&79`&82QP0g$~;jx zJe+Fz`o?Ae{Q{s4*s^}W)4KKsLprz-mkJPzQcpARtcr>g z%9$uoL&Ynp=5LSPplUWbe)8w7M3M9XN?L_SFC#dmD2%lEf?cR=+92HO{AHijiX4H_ zohh)R5U2oFXpgr6pr=g4;>8dFfW_7&->n{>akKy>b<=ZJ2wL{sCt~Tq0vfWz6a%T5 zpf~=5me8_B`3qzei|Ae$0vCF<1(ai$3~y$~>}c5j{@RFwqTsU!~HP$|281Ne(UAB^0F@N!rZ}65+PER60Mydtaj87`+)=+ zK1%ttW{}(()h}BQIRUUL-amWn(_dV`T9wh_>_}AUlNk@2$F);=3v_d`|5U%0Nr*#9 zzyqMyA`%pk5HL^_WR39(S$sP3gMo4DX{K%fkY!F(k=uCTxPTf2#l$M`2+_F**W+n` z(*bBtqbvc*5*@V6$u<#2Oh#V+H#|Lh|F4+@yY~O%h1d9M#H-Mhm3LHItnKey8q>t# zL0t^a(Mj-U(lHz^>;6JM_;J%e_7u$8Tg8<85^0~M*ofiNpPsI5?APz0N@LJ`)&_^<(P zcvy(L?Ey9@e|$FFsz=O(F6vrQ1QaE#%uRSnaUN1FMGtX4#Omsg2fMDU6v#T5?F-qyw-FMLkC)?tWVSdrB7CNIg9mR~H4)aRdgF)%9F=#=Z)cOkLxq+f zPWJ!(rXG#p`_M~6^~BZH?GwP(arBYPTV_Ix410}yBpi;3p3$L_|3-2!e0MF=1^0DTSXI#U+z<*T-Kn*^lZ^4DCI8B2^isqV6r`8nYp|L zaaijIPc05$t0KXfg2n08@jsJ?WOz-c5C1uSJztOu1LJb1(sa-?o4~Q1;um-($nK=r z+yn>7WV4Y;7+6gwuTDflR-1Lz!PlGVL%aW{HVt~XWzXIY1X~kN4&F)jm4-n?>byU` zIy2`TdB}>Iwn@TPch{m+Cx9!-ydO{vm|VX+w!{BW{sepf`gz${c9_kATEXSDJXD14 z*`19sY%T4zzwcUUYOV^JPdYu@iaNwiJ`GSNn>OYKoszX zW10dr!~=R#>(_hNKjtb!YPE*7^@%GL16W4(FoV%ALt7e{n?TEmk{||J;W4e2MS5sT zU=fWr7nbh?m+=mzP=Rw#tkyCoV%@VXDY#%HB$^0xLJe+8Bf{>bWQMiC`?lA=-Rv|3 zR3*3^fWx$lED(SE`tfC!w4e<)z^fJ_>b5J~f?!FQR6t1g{6^(yS&Fh3r^h7+w_yok4OAeM4{Eb;@YSzlKFT`=BO!5j ztwn`Nf%Y-1npJrs^ntp&^19T;Fa=iKxw6RyjHuJ#fvJV(QMCX+@wqCC6R>aA#z9{- z)KQj#c;8f=Mw_=iKi?Si2l#`LVHv!H zkSUBWAtUk2%JL-Fn(gDaw~wwk>8b+%>-|^HR(-I+k~?sJRSFJu4ymFCWSL7$qCqoC z&>P~r{;S&5X%++^P)z+EvS?-Yo`|_4!~R}%XOsdJ+sA6e`MUw@r*<)-Q-HYDnYf(r zJW!u3+IkhE+9izg8g9%c%^{=KL=Ir$1~&$mB*!8o(%Q3c{(Ki}nb^z5&Dh<%eSIka z4vw)p1NwRL^d-XaDN7YMj#u8|$H&o=2dSh((J96>C3yX|ynb<`%RfaUFvTD!nu0^b zgyjG{NTB|NGtE$WR0e2a9h>@FKnxN9Ikrq{JQ+bUvsUR*vJYBb?QSEgKq;|wN0#s8jT+ zF-xM%ZDcO9)R*}W|9N>lUY*68=9jP8GRg6Hcr<^plxxum)Wl~=K7-s6_$t~k5^GZ>nI%&|6?rQ#WYw4q23ZS;qdUn4}8uWSvmM zQ?JX)VSw>4N-9v8m!;tOYX0mP0If9%+;-PEawjc*qb{7@3yh=+nzRzha7A5PNvsLs zyqe!87tuE8p{n?z2Z&LyI)c~6|JHV`y>$!!8*D+2WGl=`o23IF z3Fe|Wvk1Gp-_rp&9GL}tUVkeg1x#SQlchJ;3{Y^K<>4(M9TGWiEwl)FRvOw;1p>r@ z7>doju57#&xqPfF42dz3JB1Gx`0t9 zA_p!oN>5^mEbaEMz4x#LaD8?<0^>=r5nhp+YvHsqm$t%kO@%)MSZVqE|9 z=Qjb%j?{R#(i=31qglwW7d##6!2q+nY4=2>+jitLn{0wzjJ#V{%5 zPe&mFE|d;936n6~=O`H+2Sx_~AlF%gGtGcmK zq`vHmWmN2p6dRuY@@5K9#@@;e%kQ^8UT9ah zz={&ozbW(|Ct|>b62S7yZraViKk2%)e9+aE;ZW=L5}5(!fSLg _=VG^5y-P?s{l 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 FV1fe#BKiOT literal 0 HcmV?d00001 diff --git a/public/images/placeholders/no-image.jpg b/public/images/placeholders/no-image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5aff37b1f174c8c44620eb726b92718c58e5fc66 GIT binary patch literal 19969 zcmeHP2Ut_d+CE7rN^vP-A+Sb35iq3COjaq1EKw1qSSTVT2m%R)An2mR-dj}g%2IX} zz2FiRRGI=76hy_2hzckmf~$a{fMEVpk`N@Au)F{B-~YJ@$IO|T?|bL{-uY(cK=R0c z!mkI$&5jKX1^^n(6c_>YzxZzfO~>fKur&Y*Pym~!0|37slN7>cM^Xs{MwGdK5Ho;o z9>|O!#QH}PNajQWFx@UT(myba&c+4MSA;TV7`!hmHo%1j%`jMO8IXN#L2OO1_)jG(jqaj_BMj3{dC36dP9sglk%=S=0?~p%vcQwbR3e2+vcd^o2HlOP+eJ};H3D6J2C^KBj^k^%~7ax5Hm0|h#DEfWHX~en32@r zKz}O>3oB5+pg>DJiA1--`v($(@bm!6G`giFF_>sW5u%Etf#aA5fk;jc4wjCNL~D}c zEGrUew#_t4E3zYrY(=rLu%=jAkcGZ9Mikqh5lDxaK)#{G2a_2t z%!vg;`nXxMpd7HlO<5eu2x7)WnLv|SBS*i2n|l3@;8Ks03WDC=8&ZfKgIW2LOX+05E(905cZ? zfD4~r18fGA6ciK`6_gYel}0Lo|5QgPDUDE7Q&CY>QBl)SgI^kIqkho%VU(J-_UO^t z+ImfeO`1q>Rc3^j_ifwyRs27p2<0~j%T6dI>V(jsHDi3^t7Yn0rbs0m;IGzJA437t_S z`{l$1niDl}CHu8Rt%BaW+8``iK?x1|2>MW(IMQ47qs1LpSa3lgT}(kB?tIV z0W}a5t%=bDmF~fp2=V2mTmiWPas}iH$Q6()Fr)(dfhRbUI#CsryOP?$Hq)b3mJ++v zawla->;M2ocdsUnq&`$a!+D&f4zMjV%ttZ@^0S2FL-^>pgdLUGrR2?h$dT9spfj?f z>?L+pu)Ow5>;M2yD_#iZ`dqg`-6)T$EP$SmcOKM(G(hs9Dh%=mcV93&!I2hP;{hMe zAWv_d2lnF`61X6iDksk023Tc0`$3NQoo~{l%^D?WF>a9Km{Rs#X^QG)n~90{S^wOs z{5lv&HJ~5_gD+ocKL{3XKzTgQPaCyVr%cq134O}qv~wS?$b*}P9qt3`{4}6#=ds(c z`*38&TntUxvRs(IsVh`UAc)~akGZ(m=FQeyog4tjHoL$9t_H6iHirJo{9=1zb;=n4 zI1v+`253EOgq1));T;8}JRo{7cdN%QSCmpX#k*vwRjA90wbwiklPn(ZP%1WX`7z*{&RndesgXt)~0JOojK^HWw9 zgU$(flle>ILt_K*b}H*G2X8#Eo8S#z7O3#WE;8-s@HQ*%4)3for!{n-hlRB69)`I;n>>=}P&RmJf)W^4Oarv+M&rp^B`zHpo#{tp_>EnqY$* zWfORg*fA=AP-&8Wgbo@FYLN0^BGE_M6M`fsX(x&#A7r&k>;VQPsL<>?Pa&9jFE~Q8 z0VT!a*?_vdB3D4JfLsB&0&)f93P@4_1Afjj0{kcjrHJMOs$X_JTlVtv z*t|=n@BV%z^3W!_EyfqO+O{ zFF|1V>nFcbx*4ZbVE;BgaOpH1&7ZCPHi-NmUpsmwgXA{1N#xyTm7`ZVreJn;cV{jcg9j_uSLLR zk8e39Zg{&#@85|WQP@Sv3k z^{QjByRp!uVb1QzIwJ%+4*emiOJiq87QUe;uP?4*?wV!134YZ3FZ@n@?ySS(o7NWlEmOJwf_dsg>lH8W zJDopXv=R<7U_{B4@XZrP%+wh2ZR1yeK7j0|7?j;aKCnA$^lu6De+4i7C*A@~=3(OB z^Sr;5*nI72EWRkY@+Nk5F)#f>O~f}>if3_4QhcluA9zk3m7aE@_64f=^ZZR2Att$> zIn2HXX)RtV5q))7KEQ6KCTtX$uCd5IICW(&tG}00)2hH-P<$wL3bX15}Zzc@|m=Q4@957%m?DuDO!JRQ|AK(Y`skr2o)OpvwGvx z@~m5P_TF`8z6WZ*oOHMm*w`JQrSoq-;1FqR+-JtMtD4~80>%3-S$X`v#K!H;i%#_^ zdLP%|W;n&X+Ane}MI7@cG@Cx_jjwy*O0vAZ>#XbB>y|~cL;#uyKs`8W8~5}zk@Ho7 zb853Wp=-pT%ucC#Z^W6%pJ9ySqLU z+H?fn%A#(Rpu704Cm-OP65#8K@Xe6n^Ibpc*wvY-SHJ>5C@2yN(m8yL^0G&IzZ)Gyh($sVKrlubrNq5)xAMPR6pbM3bSz zU`O2i+kPI+X=P-!O*om~^hbNjo{6HQ-CjBV)$|p++fyvA$Ntq@T~j34*RkM*P=$w6 zUqa1YMeQ8@7=C<6g_9TgUc&BwzM|rPqnDnFY^;K9Bb#Q#mGv@4+2);5ZQTVF^%t2V za2uswrb`q%OF4c%qT(aXIB|*M$I0F496yJ+rzM2M6zwb)2<&gG3YXv`6kLYdZa$;h z^q}tN4|>@pgkN3LrlPwac4c+U1&Y?#V&jgM5K>(?)=oL2+C1`cttnWT+^?Mq7BoJ9 z?`Q>zuua<7mpt7P!qy&g{U7Kq<}q{GE87$_9EQ9!uZp4>7~6oFl2mQP4eVY`MNTu} z_a=e4P{?gM!JMW!q>yE0ZW`UYpQkEmcf8z#movZpkqpnMghm;i6tv^lvq zr=#DV0Wvd65y@kaoSW~d%a9A2ThyuLRp~aI-ZKpu@bX1 zD=(i@U~ztqPfm&1Z&tnO6&KNYVMjvd?(71sbek);wyD(fb`PVX_r0ujRj<>j`Vr;3 z>bu2w*)t!s1drGpaB}*;CZ_Q{2C@h*w~;F#S3s_STmiWP{|yR6O8S!^pghzuswGhq zhanDaXUXjwC4$h5_DgP87=jE=a{EZhgK~!;DLEpV(MFntM-kQ#5pih>+%<#8Z5SdV zBko9}jzPg5EFU5wnvoW*VNkHfLq)`OHab{7h>R;3(V#}SWk1bW47?5zBn6B}vOSLL z+K+R@*%3CI4n`!|-oYqEgafLF_^tsXl5D?`HXX(>?11xOFKpH!Rdx#a=xN9m_)3-C zko&U{cb0&FblE9J2g;51(u`rwQe_8e7_n%EXe3gpvQt1B@N=_s1L!DCb_g6I4_ZQw z(qxBhAo5&V1Ei!B*|OwsRVy8s*{4?lR{Z@{I={tdVk*}nysBKx=CvdRu=4qo4v z-5ERJuaY~YX8SkfrDgj!^8a5~ds@<#j?~IlptaCE|HRw2QH9y9M;VnvSJP`1LXXBD zJCnHSKkV92YZQTv&tyMOK~=5xXvIe34Ob4g5_PBkc4Ap_pY2mk*UFZ059aG`<)s=P zkC>m7Q$l@rGdYkET~;oZ&LCmz*Q{W#<1v5QBR6kWVm z!1E6*T$=d#a0BkpgC31u)juz{r>-mu3ePPI6=ShOz#rkyAG)P}T2<9i z8=qh(v=0_&$);^P)I*R1@9Av{=n=2eiX|I(kg_r%Zch8YJQmbC;$|GkFk zzq^ygBg=IY3sa`b9P9Lsnwfn+{+9B;{ImUj>Q$OqC$gw3c%kspD``!f79puqp+13sm)vK2;X z;OsY`hf|EK!xl6?QF@oZ8db>i>g9+GwIpc z7fEN-AD-$^FR4{4OejQre~PrZHs;(bLCqr4rd0Pprdx^wV%zS$p=jE}eciZ39D>xf zr=*tbs)_Wr)odsV(bi7EBDCslFmZL0ji(E^TxKYB*Ug(BYmSiRJX8M&fYniOb=ieF z=5OeLC~w3yBM;lmIr8g6WRRA^V~UTE*w*rzt2{)lzV3*5=DR)7hz83}6Bj*FdD%6)_sf|aJ?&Jrfa(GKQ;jIZs!_B3#!%TD!Mr9{5j%T?XQM&0{ zz&&rh9BZ<=WzNHDPI!7vh8fbm-Z6jD%J33vw?FS>s;mEuL#*?!W$~zpLxbCawggrw zVpBHBz=wRt3o*)jfQdfxnmSNj*8xP_scKl3;~cds$pwQ)y-PDTz; zJvUd=M61d9rC?lLw@J4#vldWE{W19t7CeDe|K{kqBNksKSg^^kZ%sF5c zg;W~w^zXR_{1QEQl~zYG=tTp?1BmsY=W z=LQ~l^Lu1A9Q-11lGk&+a)tOO_UGy+c4C?O!%JDy+{?~f z$O0k`y(#J;3>Y|A!c7@G9PDAP!X9FfOTNP3|Jc`D5J2Q&VI{0CE&DGCcoKuWg2SDJ zxwzcj-8tQPI2~QAxwwUdgt(qO<$C&*15j|ddcxqQ9vm=NCcxn)!zB-COILFj8z;Dp zBa8vd)6~on0T+WnZZiDKS^^Gtu`&A(cbF@u>E#;)wh1Q~G?%G`D;GEC6KuB_7)1Y} z7nZPa#XkNcM8neg^5LH+dz(v1PNpudmYSYUmSPZfOIJsPi@D_`2W+E%nMk=Pq5&%ymfl5da=$|J4lZ~ty;KKKm?f^ZzW96T-#*atm0Pb6MJ3 zI#|Ns*hS+0cabd2h2b`Ed&~b?A_;r=|6C%l_k`_DVb)?04-N}UD^r9$90JvVIU>9~ z6-~`t85A9@9T_+nc>ga0`~-!XwFVF?8M zm7@z($rS#|#?+NT(#6!m#@x~rh7iRP|L@OW>t8Ow|Eoy`XY)U^{6Bi*Ve0hXjsYMO zzTCc!E}D*x_E0HPn42ksg`>Hcw1k|Kt-G$f`zu!lgsY{Cn3jZ;tBat7kgl5^gPDsd z%tEX+%o$1BWxfEghWf!I2P?v$}b24>@6 zYH#BTXOOYCv^Iso8I%yN=JueOlcNj#pQRGz`agU0f1QPYCI%=LpklcGqlm!6e^i+z z=pV!dD5@Z&4^V~-R}`crG(D2nrwQQXqlu71oswFw0=qA@CvY8vR9q&8!t@z=uRwmuBCxt|hN~yjzTb1gq zk=J=vOm}hF*OxuyVcMZTXul9axfh%yAJCBsZ2P4#&bPb!@6g}{HotsAb?g7fU%W&) z+vl1oohJt?KFG8}t``@QzUsSi=e^G_G`jm!FA_pKi9cvCSLq7LxN;0P-*c_V@*)|sw*?L!~(@CBW0${(i4JJmiE!srgl zKTWX+-Aa+W_dc&Zh3u~XYRNwDMe!?ds}tXuhBp@{d_I|XNQ1g}_6~#`_KDJROBRK@ zJkj;PUyj|WDyVO&Q`6GBbNJiMcuwy8o?i z%X5o3$8QHx*2#o1pVZY@IubY}Nek`Ng!VRFKi@2%(fXvse2}>#-WvU_vG;2++Gt@X zHSnS{EObiNrDXA?A9cqKJ`27tO}}_rH+QCjF4Dt74V7I=7cGiES`V>(?O16H|N0{e z<+~dd7aB^}_Fc>P&9<}XLdMqFiF2_ggmK_)g=AyxQ!*oQDq;c~gF_>Crqig{(9i&g zkfDoEZR(R}&a3gLi?c=u_i2Z`v~;B|OAW1&36)y-q&54+#O97-;g;vc_*HQzBV(Bc zL)C2FzVau-sA7TlH-c)%R>co}XPVF1dN~eBB11zNpS$?Z{dI_5^n;(7j!}(3UO{`W z?vlI@4b6mEcjuS+KO21@8=o2l8wo=$V1WJ=NL>@`Z$d*^b`q@{y(Su1djW)1INZts_K?m~0(WTY{AZVC|+qe41A z#Y~oFowsPf-U=V0%I8CSS;KYN#|!Hz`zez`L;tW=$l4OuZrr;!aK!PXQ>TwIAvAQV z*<|TxMf=l%JNnpK^IJR_De1L$wGqu`%F@#Ek5~AwzY`)Q6}tM)i|X=~a!V$iV9w@0P zcfB%2*383c?wm$_)vrvH_`l8bA{jXnnE=S1xAzP!#S=6Y+On@ z4QxsIZyI=pLnX#-TRII_4L|qVmsHkID$p8^%B0L_-K2MAtUD^KKdI4}B$LcXHWA$# zq26s{yg72@Yq^36W~{JumaBMaOS9L`&M}-0?bfnUtNrCLtjnjU{F=h5+IOA8z;*10)=bysr=4D15lnSwiLB6Vg744ytw``p?=DAHuN{995{Uo zi@Xrhkt>rtt+i60>d=SG?v%D7EWD9A4wI~fGt)dnKl?d`e^pHup4rvumR##=x|$iX z?Fq?T{ldibqHZCf7Y{DS7YDP}G0#A0K* z-RbGGlNTa-qqolL9=Px5c;ct8=4LTES*KD_#rw;cP`QwJ{$bxNkt6ESP7&cFn6mlq zw8~bjR*xWB(*MOLR+|uoc@*xG>R$lVNycg((|l#gS`#kbBHL+Zbd1IDe(I;75i<_Y zkL>QA=xfsb4+syBcRMv5n__aI9wpyv?;LWZ`$t)PWp^*|J|(J6m6W1=boTwn^bri- z@Yd5GOHxZCzqSPAsxPu+{*frRz1y7|c?z-w)r*Z%fyeL*MhZ!-WO13LQ zNT4<{jW(aA05D4r9sC&YN{uHv<&<1LcDYNxsIH_Z5g#c6&v z9X~Z$X~wfSZC0XTD7WUhg5wpH-9_c2qb}QtYVDPuk#`Q08E8EkKf`j-!Za0_llm8! zKxJiScccbR*LU9&at}txagJ3t*>Jq6(8$3Sx<*p@uP45db=I9XvE9ui{6Y$QCq_lG zj01VNDc{0u3)P7wtvUuL@y1Cu!<+B@pX->u&!-r*M^; z@_P({g;Gd8^+ahsnGY<6N4_XFF{HSTl+gc^HJ(>A0c!q@3!k-m<1d?Ws?^tEj55^I z@&a`QMMg;1$RCPEdmG|v{a2vX*GoN}@mD8jXGe?hRVt4clpyIeU3&koEH;WQt;Ja-U;_!}U zc;@MDx;p%8^5D!wFHOp`uw*u&qKx7E$l2<;kfCRA+Deuoh>XA9!j7RF$wQgQsfgbq ztz*(N5oEYo1`4$kWz|eR#2Rmp>PNFFGFP3)n)i$Uei$h{^RjA*WsKQKS`*UqERUS~g} zeP1F2Wh9Q~8hY6B6|RX2k*Z;`ccvPLr&_eciD!9?eD#hgfu-T}OV8skrps3i^cDz# zFf-nqjXu}IBuiGH4m>v>nxtLO8dcHXTN^Kq!db1=^&iiQy-hj}0q3yMVD!1ngIbvQ z(`)!1x5S_AGH)Ld3UA$3Ta>R7f~RIcVpGQY5GNUGu9@?CyK{XDDPwAxE-tZiUBRJ@ zC5YAbk#+@iy_CxBycG2DS>YV(@8_%L$Sh+lB&9u;a+Wd4 z(j*W*a-$Ca8-Cs!qT3sf#R6$(L(y{MLJBLVP}uIgDDe@i5#8OxLeVM=jwFeu!@BKy z;d^B|=|$1)nw5N77L2Hj__mIxV*#1x1)WjvQT4Rx;)#pijX-5;=|w~5H^6r=c!xX+ z_gf6@*zlR!xL>F3rmfQPvn3XnR4DBfd4Z&^e2=(^J$&WyJI-~k_PTvnQyD_#xm4PQ zG(>dZ!6>dWx;p>-A;vibvfxRyU zLbTUbo?8b+crgVGIEDC?4d%^;K7!Ywf7BtBjlyLybrndDMs3?e$1LN%qx1WyKO5>= zC0E6jm>5r3a`;s#Nj|pjB-=gUw?m$|CjT9en2Svf{WIL?dsDQxhGJgKi)c1YYPY~1 zFKtcQqS3k4W$vga<;rG1&IRV~X;|IwWQ8M)g0l2RDa`n)=w?mdr#y-s5umz8u0qz? zLPjW?Ap$bmijuych8epi9ytE|@pzSZIhQrcA?L4(O_p}IO-Uu!x`nTZkCPE40;oBJ zi(J^Ty`unP`Q`eouQBnd^->d)Z^M$m)Oi)ws7z2C&YnLyN;F%VTpvyjI~vih=i0L= z4!^0PC9BP}XK3hqSgp3$$tbk%8wJfTRbxl5&C(g^L}}&?SxpHk$(1Q61N%5!@lc8A zCV7j(n}EZOT{rEFkBuiCRiCIzPd=TRG9+D7U{^cBdD%R~Z`<;_rog0E5$ja^x6&txGOxpphQ#Um9xjZd?z33bK{4R!>J-t{u^FsGDc$^c9MxrK^k)Ez&|Zbu)8KT>|zzbT?!__tQ|fGWZ%iE98jmZGoDHl zu|~-C#SSkodM^bHPUxlyWRy@Q$WV+C(MIP`Gk>oZ4})_`n{dS*6^fcOfrCfnwb(iB zIep!2&?|niJlOWM)3ES6^|5e_h&;{IgR}2r$PH2p!$Ua)v*%2hheQdI(~guU#vLV2 zmPAz&yx04;KtCY1V|%;jEI-~0Rh_J70`ZA63?a-JWjlQ z_JP;?gIk3{{^^X7e9yd*m&KuPDh??ZdhHJ7Jq;ZH{ z!rEC>4e~V^-}Br^r8%;vi594@pIj$eJ5nCrS&V&N<-5;%#?ZF_qt34YJ$~blh8{~R zsh|1j99q2pq9eEXqa*p@fJMgG3*V{lH6P0L&$pi>iHxuL@!k|ZW{%k2PN%?hQ4!^L z-zh5M>R(VISDO6n=AwjOTN67*JOX=+PIPWHt1gu?_|cJYLuSJ;r{b{}ovglu#7&>C zO05CKF*w1FF^LJ&^1kKyRL~x2Wd_1$O0y+r@6M(Y$CMwVsXdo+><_QM{|IAQ#%!^; zP(Si0qrB?nC;RL4k^K!z2n9TXSD9z0WN%ci;%yX1Ol((y)2?X5+n$uf9~~piK)zsE z=?&-+qr`++X2)lF{4W#;8}kS{1C4L#c4qB%MM$z&7P=XOS519vFJ ziod*+7?rkB6ZV-OU&g8%Zk7Qxi8p!?ITj((yYYzuxJG1LKa;+9l-aX~(Wx*R8HuT9 z=vVSv$HuKCGap_O;IKA`_u4jhy&&h*JEKc_rL1yu+=@c%3oBs#;}3x+hQONA#^@br zO}3^xau1reUS>l&n>G0c*9b?9EwLGrOv~y-dOxN}arpvjMRj2R4TrE6FFTOht0kz= zI8YGQ{>n)>r{I;kCO<|L%}-<^3V(E-c2W#T)wwa zS>Pk>2Kukrp#@>wZkB8mQ%wG1R~&&!b9zVr^~Y%9DjzHFLuta%&-eV=-z zhS*(9aAKT?XbEduyRT?PQA7AFWe`fQ&9O?KjWkp@8ELHoTaUOA1Gt%P+DfQM$kGJ#mtE^xCCbc@LTr z7ma$;@5YKepTmBpug^XBT(F%;Di$nkF5&*ow~!D?_W1s(UDCr^=uGy3(rZWdw3VPh z(9o@$$98VA?)hc_=Lv6CM|7tW+<&prk&nJ61SV(S6Az3=NC(h<`(1@S()%G zTT#AwD?i&?I#k?&ywQg_SA8;rY+r6FUam~l2RM+bWyUa?@ee^KtR~fdmoVZx- zA5vp(q#b1ZvW>Y;FFswGE@FsM25O2!lj~P}5_h}|wsns2V{@4tJgL8z7m$Tx2dAjW`!1$xHrAi-8Nl%|1#y=1^$NDIC$ zRK(O^zv4`%{oUdj#Q?EW#@z?fTo3131T$aBJABy;5G?iQIH?YK2Sma*DGoFh#SW?N zBq$$#^ zUeKdkVTxZ)PIdyW`ITAWgKzai0)$XxOH5qcEwDdhhe@W8nJ7;|V0wb1GO$M&)05=o zAIZ2#OYe0*Ofmc90A<$vu@d9Vdljev;F3uk<6Jm>@;K#&d34!tb-BMQ$ri_}q@Lp%4d6 zYezph(3MnEbwWP#L3UfW8X-(&gTDiJ{imSW{uDmhX*nx>Do6-xS(VowzEKesajFoB5pyf<^Dq4>_?z~g16IWgb~o|e)o6E?V__75 zb2;8j>qXkeCtsnLiv>D3J5B%xdbRaa^2}|}-`YC(xBJkz^}af9JfFu(Edj-(WHVXs z9A1btcYKhy2L4Y#uek{3tfm3Xky%UR^UQi)TIgqKVY}on7gebFmaE12rDTM)R*Hvo zMn3yjDO+v_Nv1kwph{>D&uY#J2NWkv zv+vG^N_5g~qDz?vA|91Y|1{ortOCj}*zC?qDPN{3|AQe$X_@;>0oTf4=v&5oEMfZMlMZvDG1WvD=CefYyYhv6xOBirM{k(E6) zj^S!kA#t!nauUUBB7`e**hisP0HinNRTh+5<%XVRCxfQ4nn{fI)gIwu2yEhTHEN1% ztFt>dOeSTDQbr}ZQ{%0RRH9RHad963OefQ;((mi~=sNIP*r1P$bF7&QMv7<(fil&K z3b$GTc5K9G@$`|y(BC%Np?;;dm7DGZWo_hAP%X0U$!Afy*kP~`+!cGY9-Z7S%Tuwn zoC>r3Js)X1QCOr^^2@3~D?RiV8S(C3A;(dcWVkDB7gge#$NcP*nawoLgD@RbP(e#Ug?t1;x;-@mK=%cY!TNBYH~zS9wH*iV>f#6fm06F%v@r0 z>?FASwa?3C0|%tJExyh9gUuh7SI0J26H7hR@XN*u@}3Oq3+h%>u%EiW47rEbAVRsF z&+Mg$6;|U#)P1ySL?@Be!K1nDTg5!f?+}Yzke}`9Qc~xEEZWqC&tz}*$oSkjQI@7A ztouFZi3C_USb+IoM2s62`3br~KPWl{?6dy>F;&%kKd2r?HsH7B&bsQj}14vky zd@)Bhtc)O=A6g3RIkQmE&iO4cl%N+eXD-uRNM>Ntpqr54R_wH&DZDI#390@2*z0cE znnhf*yt#zH>nY!KNMTAaNoPRRGM9t?kOX35=sJ|&g5Ks2lY4}^Xn#|Q$p>YB^j2x? z;=|qeTA;PA@^h};Nc-mI+LFoY8S-fJrN+RKXTtKY=Yzw=pL(k8#LF9RK7<^UKSrcbhLEuK!58Xs z=T@BUc#%Z&hcvSB`^N#2Om;$8EUD2r^sl2TKf7dF-85@`GGT8NtQqh=;_WDROkGlQ z=WT}pHL9JYwtMt}2f^|D-7iMrgx2kl>&HIp?Huk|z*sVrAy~Y&CzKl3BZoXV5@)no za=%AwtS_P<2HnYwd)^<7(0!;^RjH{~n0hqpV>DjOW@bOx7_7H#xT=A>vu}fxuZS@-994oc?g%;@65i$-8BC@xH~;9TG<{`>?(jt~u(-2rd?<)?WX~UVC@wE zmQ}7^9sL*lyk8CImN$>8k5`I9e7qi=Ehw!^3%aXAMK2pPD>l5iSgtDC_DGqY?py|# zWL{RPmd&)H-^vQn7`n6uWUBD~ORELkTOiIs2STwD_w=})({o1u4 z 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 literal 0 HcmV?d00001 diff --git a/public/scripts/pixel.js b/public/scripts/pixel.js new file mode 100644 index 0000000..0699ae7 --- /dev/null +++ b/public/scripts/pixel.js @@ -0,0 +1,23 @@ +const PIXEL_ID = document.currentScript.getAttribute("data-pixel-id"); + +function initializeFacebookPixel(f, b, e, v, n, t, s) { + if (f.fbq) return; + n = f.fbq = function () { + // eslint-disable-next-line + n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments); + }; + if (!f._fbq) f._fbq = n; + n.push = n; + n.loaded = !0; + n.version = "2.0"; + n.queue = []; + t = b.createElement(e); + t.async = !0; + t.src = v; + s = b.getElementsByTagName(e)[0]; + s.parentNode.insertBefore(t, s); +} + +initializeFacebookPixel(window, document, "script", "https://connect.facebook.net/en_US/fbevents.js"); + +window.fbq("init", PIXEL_ID); diff --git a/scripts/import-exercises-with-attributes.ts b/scripts/import-exercises-with-attributes.ts new file mode 100644 index 0000000..38c9e36 --- /dev/null +++ b/scripts/import-exercises-with-attributes.ts @@ -0,0 +1,239 @@ +import path from "path"; +import fs from "fs"; + +import csv from "csv-parser"; +import { ExerciseAttributeNameEnum, ExerciseAttributeValueEnum, PrismaClient } from "@prisma/client"; + +const prisma = new PrismaClient(); + +interface ExerciseAttributeCSVRow { + id: string; + name: string; + name_en: string; + description: string; + description_en: string; + full_video_url: string; + full_video_image_url: string; + introduction: string; + introduction_en: string; + slug: string; + slug_en: string; + attribute_name: string; + attribute_value: string; +} + +function cleanValue(value: string): string | null { + if (!value || value === "NULL" || value.trim() === "") return null; + return value.trim(); +} + +function groupExercisesByOriginalId(rows: ExerciseAttributeCSVRow[]) { + const exercisesMap = new Map(); + + for (const row of rows) { + const exerciseId = row.id; + + if (!exercisesMap.has(exerciseId)) { + exercisesMap.set(exerciseId, { + originalId: exerciseId, + name: row.name, + nameEn: cleanValue(row.name_en), + description: cleanValue(row.description), + descriptionEn: cleanValue(row.description_en), + fullVideoUrl: cleanValue(row.full_video_url), + fullVideoImageUrl: cleanValue(row.full_video_image_url), + introduction: cleanValue(row.introduction), + introductionEn: cleanValue(row.introduction_en), + slug: cleanValue(row.slug), + slugEn: cleanValue(row.slug_en), + attributes: [], + }); + } + + const exercise = exercisesMap.get(exerciseId); + if (row.attribute_name && row.attribute_value) { + exercise.attributes.push({ + attributeName: row.attribute_name, + attributeValue: row.attribute_value, + }); + } + } + + return Array.from(exercisesMap.values()); +} + +async function ensureAttributeNameExists(name: ExerciseAttributeNameEnum) { + let attributeName = await prisma.exerciseAttributeName.findFirst({ + where: { name }, + }); + + if (!attributeName) { + attributeName = await prisma.exerciseAttributeName.create({ + data: { name }, + }); + } + + return attributeName; +} + +async function ensureAttributeValueExists(attributeNameId: string, value: ExerciseAttributeValueEnum) { + let attributeValue = await prisma.exerciseAttributeValue.findFirst({ + where: { + attributeNameId, + value, + }, + }); + + if (!attributeValue) { + attributeValue = await prisma.exerciseAttributeValue.create({ + data: { + attributeNameId, + value, + }, + }); + } + + return attributeValue; +} + +async function importExercisesFromCSV(filePath: string) { + const rows: ExerciseAttributeCSVRow[] = []; + + return new Promise((resolve, reject) => { + fs.createReadStream(filePath) + .pipe(csv()) + .on("data", (row: ExerciseAttributeCSVRow) => { + rows.push(row); + }) + .on("end", async () => { + console.log(`📋 ${rows.length} lines found in the CSV`); + + try { + const exercises = groupExercisesByOriginalId(rows); + console.log(`🏋️ ${exercises.length} unique exercises found`); + + let imported = 0; + let errors = 0; + + for (const exercise of exercises) { + try { + console.log(`\n🔄 Traitement de "${exercise.name}"...`); + + // Créer ou mettre à jour l'exercice (version simplifiée) + const createdExercise = await prisma.exercise.upsert({ + where: { slug: exercise.slug || `exercise-${exercise.originalId}` }, + update: { + name: exercise.name, + nameEn: exercise.nameEn, + description: exercise.description, + descriptionEn: exercise.descriptionEn, + fullVideoUrl: exercise.fullVideoUrl, + fullVideoImageUrl: exercise.fullVideoImageUrl, + introduction: exercise.introduction, + introductionEn: exercise.introductionEn, + slugEn: exercise.slugEn, + }, + create: { + name: exercise.name, + nameEn: exercise.nameEn, + description: exercise.description, + descriptionEn: exercise.descriptionEn, + fullVideoUrl: exercise.fullVideoUrl, + fullVideoImageUrl: exercise.fullVideoImageUrl, + introduction: exercise.introduction, + introductionEn: exercise.introductionEn, + slug: exercise.slug || `exercise-${exercise.originalId}`, + slugEn: exercise.slugEn, + }, + }); + + // Supprimer les anciens attributs + await prisma.exerciseAttribute.deleteMany({ + where: { exerciseId: createdExercise.id }, + }); + + // Créer les nouveaux attributs + for (const attr of exercise.attributes) { + try { + const attributeName = await ensureAttributeNameExists(attr.attributeName); + const attributeValue = await ensureAttributeValueExists(attributeName.id, attr.attributeValue); + + await prisma.exerciseAttribute.create({ + data: { + exerciseId: createdExercise.id, + attributeNameId: attributeName.id, + attributeValueId: attributeValue.id, + }, + }); + + console.log(` ✅ Attribute: ${attr.attributeName} = ${attr.attributeValue}`); + } catch (attrError) { + console.error(" ❌ Attribute error:", attrError); + } + } + + console.log(`✅ "${exercise.name}" imported with ${exercise.attributes.length} attributes`); + imported++; + } catch (error) { + console.error(`❌ Error for "${exercise.name}":`, error); + errors++; + } + } + + console.log("\n📊 Summary:"); + console.log(` ✅ Imported: ${imported}`); + console.log(` ❌ Errors: ${errors}`); + + resolve(); + } catch (error) { + reject(error); + } + }) + .on("error", reject); + }); +} + +async function main() { + try { + console.log("🚀 Import exercises (simplified version)...\n"); + + const csvFilePath = process.argv[2]; + + if (!csvFilePath) { + console.error("❌ Please provide a CSV file path as argument"); + console.log("Usage: npm run import:exercises-full "); + process.exit(1); + } + + if (!fs.existsSync(csvFilePath)) { + console.error(`❌ File not found: ${csvFilePath}`); + process.exit(1); + } + + if (path.extname(csvFilePath).toLowerCase() !== ".csv") { + console.error(`❌ File must be a CSV file, got: ${path.extname(csvFilePath)}`); + process.exit(1); + } + + console.log(`📁 Importing from: ${csvFilePath}`); + + await importExercisesFromCSV(csvFilePath); + + // Stats finales + const totalExercises = await prisma.exercise.count(); + const totalAttributes = await prisma.exerciseAttribute.count(); + + console.log("\n📈 Final database:"); + console.log(` 🏋️ Exercises: ${totalExercises}`); + console.log(` 🏷️ Attributes: ${totalAttributes}`); + + console.log("\n🎉 Import completed!"); + } catch (error) { + console.error("💥 Error:", error); + process.exit(1); + } finally { + await prisma.$disconnect(); + } +} + +main(); diff --git a/src/components/FacebookPixel.tsx b/src/components/FacebookPixel.tsx new file mode 100644 index 0000000..36b0c1f --- /dev/null +++ b/src/components/FacebookPixel.tsx @@ -0,0 +1,34 @@ +"use client"; + +import { useEffect, useState } from "react"; +import Script from "next/script"; +import { usePathname } from "next/navigation"; + +import * as pixel from "@/workoutcool/shared/lib/facebook/fb-pixel"; + +const FacebookPixel = () => { + const [loaded, setLoaded] = useState(false); + const pathname = usePathname(); + + useEffect(() => { + if (!loaded) return; + + // setTimeout(() => { + pixel.pageview(); + // }, 200); + }, [pathname, loaded]); + + return ( +

+