diff --git a/.dockerignore b/.dockerignore
index 636f6f165..d1595af42 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,19 +1,17 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
-**/node_modules
-**/.pnp
-**.pnp.js
+node_modules
+.pnp
+.pnp.js
# testing
-**/coverage
+coverage
# next.js
-**/.next/
-**/out/
-
-# production
-**/build
+.next/
+out/
+build
# misc
.DS_Store
@@ -23,16 +21,16 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
-.pnpm-debug.log*
# local env files
-.env*.local
+.env
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+# turbo
+.turbo
# vercel
.vercel
-
-# typescript
-*.tsbuildinfo
-next-env.d.ts
-.env
-.env.example
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 000000000..79621be8e
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,9 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+indent_style = space
+indent_size = 2
diff --git a/.env.example b/.env.example
index f5c2486fe..fea246621 100644
--- a/.env.example
+++ b/.env.example
@@ -1,54 +1,19 @@
-# Database
-# Option 1: You can use the provided remote test database, courtesy of the documenso team: postgres://documenso_test_user:GnmLG14u12sd9zHsd4vVWwP40WneFJMo@dpg-cf2hljh4reb5o45oqpq0-a.oregon-postgres.render.com/documenso_test_e2i3
-# Option 2: Set up a local Postgres SQL instance (RECOMMENDED)
-# Option 3: Use the provided dx setup (RECOMMENDED)
-# => postgres://documenso:password@127.0.0.1:54320/documenso
-#
-# ⚠ WARNING: The test database can be reset or taken offline at any point.
-# ⚠ WARNING: Please be aware that nothing written to the test database is private.
-DATABASE_URL=''
+NEXTAUTH_URL="http://localhost:3000"
+NEXTAUTH_SECRET="secret"
-# URL
-NEXT_PUBLIC_WEBAPP_URL='http://localhost:3000'
+NEXT_PUBLIC_SITE_URL="http://localhost:3000"
+NEXT_PUBLIC_APP_URL="http://localhost:3000"
-# AUTH
-# For more see here: https://next-auth.js.org
-NEXTAUTH_SECRET='lorem ipsum sit dolor random string for encryption this could literally be anything'
-NEXTAUTH_URL='http://localhost:3000'
+NEXT_PRIVATE_DATABASE_URL="postgres://documenso:password@127.0.0.1:54320/documenso"
-# SIGNING
-CERT_FILE_PATH=
-CERT_PASSPHRASE=
-CERT_FILE_ENCODING=
-
-# MAIL (NODEMAILER)
-# SENDGRID
-# Get a Sendgrid Api key here: https://signup.sendgrid.com
-SENDGRID_API_KEY=''
-
-# SMTP
-# Set SMTP credentials to use SMTP instead of the Sendgrid API.
-# If you're using the dx setup you can use the following values:
-#
-# SMTP_MAIL_HOST='127.0.0.1'
-# SMTP_MAIL_PORT='2500'
-# SMTP_MAIL_USER='documenso'
-# SMTP_MAIL_PASSWORD='documenso'
-SMTP_MAIL_HOST=''
-SMTP_MAIL_PORT=''
-SMTP_MAIL_USER=''
-SMTP_MAIL_PASSWORD=''
-
-# Sender for signing requests and completion mails.
-MAIL_FROM='documenso@localhost.com'
-
-# STRIPE
-STRIPE_API_KEY=
-STRIPE_WEBHOOK_SECRET=
NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID=
NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID=
-#FEATURE FLAGS
-# Allow users to register via the /signup page. Otherwise they will be redirect to the home page.
-NEXT_PUBLIC_ALLOW_SIGNUP=true
-NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS=false
+NEXT_PRIVATE_STRIPE_API_KEY=
+NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET=
+
+NEXT_PUBLIC_SUBSCRIPTIONS_ENABLED=false
+
+# This is only required for the marketing site
+NEXT_PRIVATE_REDIS_URL=
+NEXT_PRIVATE_REDIS_TOKEN=
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
new file mode 100644
index 000000000..8113ada52
--- /dev/null
+++ b/.eslintrc.cjs
@@ -0,0 +1,13 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ root: true,
+ extends: ['@documenso/eslint-config'],
+ rules: {
+ '@next/next/no-img-element': 'off',
+ },
+ settings: {
+ next: {
+ rootDir: ['apps/*/'],
+ },
+ },
+};
diff --git a/.gitignore b/.gitignore
index d7f66a11a..d1595af42 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,19 +1,17 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
-/node_modules
-/.pnp
+node_modules
+.pnp
.pnp.js
# testing
-/coverage
+coverage
# next.js
-/.next/
-/out/
-
-# production
-/build
+.next/
+out/
+build
# misc
.DS_Store
@@ -23,19 +21,16 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
-.pnpm-debug.log*
# local env files
-.env*.local
+.env
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+# turbo
+.turbo
# vercel
.vercel
-
-# typescript
-*.tsbuildinfo
-next-env.d.ts
-.env
-.env.example
-
-# turborepo
-.turbo
\ No newline at end of file
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 000000000..ded82e2f6
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+auto-install-peers = true
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 36b7f475c..38d6f1e73 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,25 +1,10 @@
{
- "files.autoSave": "afterDelay",
- "editor.formatOnSave": true,
- "editor.formatOnPaste": true,
- "editor.formatOnType": true,
- "editor.defaultFormatter": "esbenp.prettier-vscode",
- "[html]": {
- "editor.defaultFormatter": "vscode.html-language-features"
- },
- "[prisma]": {
- "editor.defaultFormatter": "Prisma.prisma"
- },
- "editor.codeActionsOnSave": {
- "source.removeUnusedImports": false
- },
"typescript.tsdk": "node_modules/typescript/lib",
- "spellright.language": [
- "de"
- ],
- "spellright.documentTypes": [
- "markdown",
- "latex",
- "plaintext"
- ]
+ "editor.codeActionsOnSave": {
+ "source.fixAll.eslint": true
+ },
+ "eslint.validate": ["typescript", "typescriptreact", "javascript", "javascriptreact"],
+ "javascript.preferences.importModuleSpecifier": "non-relative",
+ "javascript.preferences.useAliasesForRenames": false,
+ "typescript.enablePromptUseWorkspaceTsdk": true
}
diff --git a/README.md b/README.md
index 98f11d736..bfcd6aabf 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@
-
+
diff --git a/apps/marketing/README.md b/apps/marketing/README.md
new file mode 100644
index 000000000..950b58aee
--- /dev/null
+++ b/apps/marketing/README.md
@@ -0,0 +1 @@
+# @documenso/marketing
diff --git a/apps/marketing/next-env.d.ts b/apps/marketing/next-env.d.ts
new file mode 100644
index 000000000..fd36f9494
--- /dev/null
+++ b/apps/marketing/next-env.d.ts
@@ -0,0 +1,6 @@
+///
+///
+///
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/apps/marketing/next.config.js b/apps/marketing/next.config.js
new file mode 100644
index 000000000..b57b41780
--- /dev/null
+++ b/apps/marketing/next.config.js
@@ -0,0 +1,15 @@
+/* eslint-disable @typescript-eslint/no-var-requires */
+const path = require('path');
+
+const { parsed: env } = require('dotenv').config({
+ path: path.join(__dirname, '../../.env.local'),
+});
+
+/** @type {import('next').NextConfig} */
+const config = {
+ reactStrictMode: true,
+ transpilePackages: ['@documenso/lib', '@documenso/prisma', '@documenso/trpc', '@documenso/ui'],
+ env,
+};
+
+module.exports = config;
diff --git a/apps/marketing/package.json b/apps/marketing/package.json
new file mode 100644
index 000000000..e34c66b99
--- /dev/null
+++ b/apps/marketing/package.json
@@ -0,0 +1,37 @@
+{
+ "name": "@documenso/marketing",
+ "version": "0.1.0",
+ "private": true,
+ "license": "AGPL-3.0",
+ "scripts": {
+ "dev": "PORT=3001 next dev",
+ "build": "next build",
+ "start": "next start",
+ "lint": "next lint"
+ },
+ "dependencies": {
+ "@documenso/lib": "*",
+ "@documenso/tailwind-config": "*",
+ "@documenso/trpc": "*",
+ "@documenso/ui": "*",
+ "@hookform/resolvers": "^3.1.0",
+ "framer-motion": "^10.12.8",
+ "lucide-react": "^0.214.0",
+ "micro": "^10.0.1",
+ "next": "13.4.1",
+ "next-auth": "^4.22.1",
+ "next-plausible": "^3.7.2",
+ "perfect-freehand": "^1.2.0",
+ "react": "18.2.0",
+ "react-dom": "18.2.0",
+ "react-hook-form": "^7.43.9",
+ "react-icons": "^4.8.0",
+ "typescript": "5.0.4",
+ "zod": "^3.21.4"
+ },
+ "devDependencies": {
+ "@types/node": "20.1.0",
+ "@types/react": "18.2.6",
+ "@types/react-dom": "18.2.4"
+ }
+}
diff --git a/apps/marketing/postcss.config.js b/apps/marketing/postcss.config.js
new file mode 100644
index 000000000..12a703d90
--- /dev/null
+++ b/apps/marketing/postcss.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {},
+ },
+};
diff --git a/apps/marketing/process-env.d.ts b/apps/marketing/process-env.d.ts
new file mode 100644
index 000000000..ac170a616
--- /dev/null
+++ b/apps/marketing/process-env.d.ts
@@ -0,0 +1,13 @@
+declare namespace NodeJS {
+ export interface ProcessEnv {
+ NEXT_PUBLIC_SITE_URL?: string;
+
+ NEXT_PRIVATE_DATABASE_URL: string;
+
+ NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID: string;
+ NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID: string;
+
+ NEXT_PRIVATE_STRIPE_API_KEY: string;
+ NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET: string;
+ }
+}
diff --git a/apps/marketing/public/android-chrome-192x192.png b/apps/marketing/public/android-chrome-192x192.png
new file mode 100644
index 000000000..7613afd59
Binary files /dev/null and b/apps/marketing/public/android-chrome-192x192.png differ
diff --git a/apps/marketing/public/android-chrome-512x512.png b/apps/marketing/public/android-chrome-512x512.png
new file mode 100644
index 000000000..9d6675a6a
Binary files /dev/null and b/apps/marketing/public/android-chrome-512x512.png differ
diff --git a/apps/marketing/public/apple-touch-icon.png b/apps/marketing/public/apple-touch-icon.png
new file mode 100644
index 000000000..22b756a89
Binary files /dev/null and b/apps/marketing/public/apple-touch-icon.png differ
diff --git a/apps/marketing/public/documenso-supporter-pledge.pdf b/apps/marketing/public/documenso-supporter-pledge.pdf
new file mode 100644
index 000000000..5f675bd92
Binary files /dev/null and b/apps/marketing/public/documenso-supporter-pledge.pdf differ
diff --git a/apps/marketing/public/favicon-16x16.png b/apps/marketing/public/favicon-16x16.png
new file mode 100644
index 000000000..ddb28ae72
Binary files /dev/null and b/apps/marketing/public/favicon-16x16.png differ
diff --git a/apps/marketing/public/favicon-32x32.png b/apps/marketing/public/favicon-32x32.png
new file mode 100644
index 000000000..210dcb4d1
Binary files /dev/null and b/apps/marketing/public/favicon-32x32.png differ
diff --git a/apps/marketing/public/favicon.ico b/apps/marketing/public/favicon.ico
new file mode 100644
index 000000000..b29557483
Binary files /dev/null and b/apps/marketing/public/favicon.ico differ
diff --git a/apps/marketing/public/fonts/caveat.ttf b/apps/marketing/public/fonts/caveat.ttf
new file mode 100644
index 000000000..d0a6c3ffc
Binary files /dev/null and b/apps/marketing/public/fonts/caveat.ttf differ
diff --git a/apps/web/public/logo_h.png b/apps/marketing/public/logo.png
similarity index 100%
rename from apps/web/public/logo_h.png
rename to apps/marketing/public/logo.png
diff --git a/apps/marketing/public/next.svg b/apps/marketing/public/next.svg
new file mode 100644
index 000000000..5174b28c5
--- /dev/null
+++ b/apps/marketing/public/next.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/marketing/public/opengraph-image.jpg b/apps/marketing/public/opengraph-image.jpg
new file mode 100644
index 000000000..7be430000
Binary files /dev/null and b/apps/marketing/public/opengraph-image.jpg differ
diff --git a/apps/marketing/public/site.webmanifest b/apps/marketing/public/site.webmanifest
new file mode 100644
index 000000000..3746bdb41
--- /dev/null
+++ b/apps/marketing/public/site.webmanifest
@@ -0,0 +1,19 @@
+{
+ "name": "Documenso",
+ "short_name": "Documenso",
+ "icons": [
+ {
+ "src": "/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#A2E771",
+ "background_color": "#FFFFFF",
+ "display": "standalone"
+}
diff --git a/apps/marketing/public/vercel.svg b/apps/marketing/public/vercel.svg
new file mode 100644
index 000000000..d2f842227
--- /dev/null
+++ b/apps/marketing/public/vercel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/marketing/src/api/claim-plan/fetcher.ts b/apps/marketing/src/api/claim-plan/fetcher.ts
new file mode 100644
index 000000000..0e533be5e
--- /dev/null
+++ b/apps/marketing/src/api/claim-plan/fetcher.ts
@@ -0,0 +1,41 @@
+import { TClaimPlanRequestSchema, ZClaimPlanResponseSchema } from './types';
+
+export const claimPlan = async ({
+ name,
+ email,
+ planId,
+ signatureDataUrl,
+ signatureText,
+}: TClaimPlanRequestSchema) => {
+ const response = await fetch('/api/claim-plan', {
+ method: 'POST',
+ body: JSON.stringify({
+ name,
+ email,
+ planId,
+ signatureDataUrl,
+ signatureText,
+ }),
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ });
+
+ const body = await response.json();
+
+ if (response.status !== 200) {
+ throw new Error('Failed to claim plan');
+ }
+
+ const safeBody = ZClaimPlanResponseSchema.safeParse(body);
+
+ if (!safeBody.success) {
+ throw new Error('Failed to claim plan');
+ }
+
+ if ('error' in safeBody.data) {
+ throw new Error(safeBody.data.error);
+ }
+
+ return safeBody.data.redirectUrl;
+};
diff --git a/apps/marketing/src/api/claim-plan/types.ts b/apps/marketing/src/api/claim-plan/types.ts
new file mode 100644
index 000000000..103a1336c
--- /dev/null
+++ b/apps/marketing/src/api/claim-plan/types.ts
@@ -0,0 +1,37 @@
+import { z } from 'zod';
+
+export const ZClaimPlanRequestSchema = z
+ .object({
+ email: z
+ .string()
+ .email()
+ .transform((value) => value.toLowerCase()),
+ name: z.string(),
+ planId: z.string(),
+ })
+ .and(
+ z.union([
+ z.object({
+ signatureDataUrl: z.string().min(1),
+ signatureText: z.null(),
+ }),
+ z.object({
+ signatureDataUrl: z.null(),
+ signatureText: z.string().min(1),
+ }),
+ ]),
+ );
+
+export type TClaimPlanRequestSchema = z.infer;
+
+export const ZClaimPlanResponseSchema = z
+ .object({
+ redirectUrl: z.string(),
+ })
+ .or(
+ z.object({
+ error: z.string(),
+ }),
+ );
+
+export type TClaimPlanResponseSchema = z.infer;
diff --git a/apps/marketing/src/app/(marketing)/claimed/page.tsx b/apps/marketing/src/app/(marketing)/claimed/page.tsx
new file mode 100644
index 000000000..ce748006e
--- /dev/null
+++ b/apps/marketing/src/app/(marketing)/claimed/page.tsx
@@ -0,0 +1,173 @@
+import { Caveat } from 'next/font/google';
+import Link from 'next/link';
+import { redirect } from 'next/navigation';
+
+import { ArrowRight } from 'lucide-react';
+
+import { redis } from '@documenso/lib/server-only/redis';
+import { stripe } from '@documenso/lib/server-only/stripe';
+import { prisma } from '@documenso/prisma';
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+
+import { PasswordReveal } from '~/components/(marketing)/password-reveal';
+
+const fontCaveat = Caveat({
+ weight: ['500'],
+ subsets: ['latin'],
+ display: 'swap',
+});
+
+export type ClaimedPlanPageProps = {
+ searchParams?: {
+ sessionId?: string;
+ };
+};
+
+export default async function ClaimedPlanPage({ searchParams = {} }: ClaimedPlanPageProps) {
+ const { sessionId } = searchParams;
+
+ const session = await stripe.checkout.sessions.retrieve(sessionId as string);
+
+ const user = await prisma.user.findFirst({
+ where: {
+ id: Number(session.client_reference_id),
+ },
+ });
+
+ if (!user) {
+ redirect('/');
+ }
+
+ const signatureText = session.metadata?.signatureText || user.name;
+ let signatureDataUrl = '';
+
+ if (session.metadata?.signatureDataUrl) {
+ const result = await redis.get(`signature:${session.metadata.signatureDataUrl}`);
+
+ if (result) {
+ signatureDataUrl = result;
+ }
+ }
+
+ const password = await redis.get(`user:${user.id}:temp-password`);
+
+ return (
+
+
+ Welcome to the open signing revolution{' '}
+ {user.name}
+
+
+
+ It's not every day you get to be part of a revolution.
+
+
+
+ But today is that day, by signing up to Documenso, you're joining a movement of people who
+ want to make the world a better place.
+
+
+
+ We're going to change the way people sign documents. We're going to make it easier, faster,
+ and more secure. And we're going to do it together.
+
+
+
+
Let's do it together
+
+
+
+
+ Timur
+
+
+
+ Timur Ercan
+
+ -
+ Co Founder
+
+
+
+
+
+ Lucas
+
+
+
+ Lucas Smith
+
+ -
+ Co Founder
+
+
+
+
+ {signatureDataUrl && (
+
+ )}
+ {!signatureDataUrl && (
+
+ {signatureText}
+
+ )}
+
+
+ {user.name}
+
+ -
+ Our new favourite customer
+
+
+
+
+
+
+
Your sign in details
+
+
+
+ Email: {user.email}
+
+
+
+ Password: {' '}
+
+
+
+
+
+ This is a temporary password. Please change it as soon as possible.
+
+
+
+
+ Let's get started!
+
+
+
+
+
+ );
+}
diff --git a/apps/marketing/src/app/(marketing)/layout.tsx b/apps/marketing/src/app/(marketing)/layout.tsx
new file mode 100644
index 000000000..4a0c4ccd8
--- /dev/null
+++ b/apps/marketing/src/app/(marketing)/layout.tsx
@@ -0,0 +1,22 @@
+import React from 'react';
+
+import { Footer } from '~/components/(marketing)/footer';
+import { Header } from '~/components/(marketing)/header';
+
+export type MarketingLayoutProps = {
+ children: React.ReactNode;
+};
+
+export default function MarketingLayout({ children }: MarketingLayoutProps) {
+ return (
+
+
+
+
+
+
{children}
+
+
+
+ );
+}
diff --git a/apps/marketing/src/app/(marketing)/page.tsx b/apps/marketing/src/app/(marketing)/page.tsx
new file mode 100644
index 000000000..9992c51a4
--- /dev/null
+++ b/apps/marketing/src/app/(marketing)/page.tsx
@@ -0,0 +1,31 @@
+/* eslint-disable no-unused-vars, @typescript-eslint/no-unused-vars */
+import { Caveat } from 'next/font/google';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+import { Callout } from '~/components/(marketing)/callout';
+import { FasterSmarterBeautifulBento } from '~/components/(marketing)/faster-smarter-beautiful-bento';
+import { Hero } from '~/components/(marketing)/hero';
+import { OpenBuildTemplateBento } from '~/components/(marketing)/open-build-template-bento';
+import { ShareConnectPaidWidgetBento } from '~/components/(marketing)/share-connect-paid-widget-bento';
+
+const fontCaveat = Caveat({
+ weight: ['500'],
+ subsets: ['latin'],
+ display: 'swap',
+ variable: '--font-caveat',
+});
+
+export default async function IndexPage() {
+ return (
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/marketing/src/app/(marketing)/pricing/page.tsx b/apps/marketing/src/app/(marketing)/pricing/page.tsx
new file mode 100644
index 000000000..238fa11a4
--- /dev/null
+++ b/apps/marketing/src/app/(marketing)/pricing/page.tsx
@@ -0,0 +1,163 @@
+import Link from 'next/link';
+
+import {
+ Accordion,
+ AccordionContent,
+ AccordionItem,
+ AccordionTrigger,
+} from '@documenso/ui/primitives/accordion';
+
+import { PricingTable } from '~/components/(marketing)/pricing-table';
+
+export type PricingPageProps = {
+ searchParams?: {
+ planId?: string;
+ email?: string;
+ name?: string;
+ cancelled?: string;
+ };
+};
+
+export default function PricingPage() {
+ return (
+
+
+
Pricing
+
+
+ Designed for every stage of your journey.
+
+
Get started today.
+
+
+
+
+
+ {/* FAQ Section */}
+
+
FAQs
+
+
+
+
+ What is the difference between the plans?
+
+
+
+ You can self-host Documenso for free or use our ready-to-use hosted version. The
+ hosted version comes with additional support, painless scalability and more. Early
+ adopters of the community plan will get access to all features we build this year, for
+ no additional cost! Forever! Yes, that includes multiple users per account later. If
+ you want Documenso for your enterprise, we are happy to talk about your needs.
+
+
+
+
+
+ How do you handle my data?
+
+
+
+ Securely. Our data centers are located in Frankfurt (Germany), giving us the best
+ local privacy laws. We are very aware of the sensitive nature of our data and follow
+ best practices to ensure the security and integrity of the data entrusted to us.
+
+
+
+
+
+ Why should I use your hosting service?
+
+
+
+ Using our hosted version is the easiest way to get started, you can simply subscribe
+ and start signing your documents. We take care of the infrastructure, so you can focus
+ on your business. Additionally, when using our hosted version you benefit from our
+ trusted signing certificates which helps you to build trust with your customers.
+
+
+
+
+
+ How can I contribute?
+
+
+
+ That's awesome. You can take a look at the current{' '}
+
+ Issues
+ {' '}
+ and join our{' '}
+
+ Slack Community
+ {' '}
+ to keep up to date, on what the current priorities are. In any case, we are an open
+ community and welcome all input, technical and non-technical ❤️
+
+
+
+
+
+ Can I use Documenso commercially?
+
+
+
+ Yes! Documenso is offered under the GNU AGPL V3 open source license. This means you
+ can use it for free and even modify it to fit your needs, as long as you publish your
+ changes under the same license.
+
+
+
+
+
+ Why should I prefer Documenso over DocuSign or some other signing tool?
+
+
+
+ Documenso is a community effort to create an open and vibrant ecosystem around a tool,
+ everybody is free to use and adapt. By being truly open we want to create trusted
+ infrastructure for the future of the internet.
+
+
+
+
+
+ Where can I get support?
+
+
+
+ We are happy to assist you at{' '}
+
+ support@documenso.com
+ {' '}
+ or{' '}
+
+ in our Slack-Support-Channel
+ {' '}
+ please message either Lucas or Timur to get added to the channel if you are not
+ already a member.
+
+
+
+
+
+ );
+}
diff --git a/apps/marketing/src/app/globals.css b/apps/marketing/src/app/globals.css
new file mode 100644
index 000000000..044c9763f
--- /dev/null
+++ b/apps/marketing/src/app/globals.css
@@ -0,0 +1 @@
+@import '@documenso/ui/styles/theme.css';
diff --git a/apps/marketing/src/app/layout.tsx b/apps/marketing/src/app/layout.tsx
new file mode 100644
index 000000000..1517e4985
--- /dev/null
+++ b/apps/marketing/src/app/layout.tsx
@@ -0,0 +1,53 @@
+import { Inter } from 'next/font/google';
+
+import { Toaster } from '@documenso/ui/primitives/toaster';
+
+import { PlausibleProvider } from '~/providers/plausible';
+
+import './globals.css';
+
+const fontInter = Inter({ subsets: ['latin'], variable: '--font-sans' });
+
+export const metadata = {
+ title: 'Documenso - The Open Source DocuSign Alternative',
+ description:
+ 'Join Documenso, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.',
+ keywords:
+ 'Documenso, open source, DocuSign alternative, document signing, open signing infrastructure, open-source community, fast signing, beautiful signing, smart templates',
+ authors: { name: 'Documenso, Inc.' },
+ robots: 'index, follow',
+ openGraph: {
+ title: 'Documenso - The Open Source DocuSign Alternative',
+ description:
+ 'Join Documenso, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.',
+ type: 'website',
+ images: [`${process.env.NEXT_PUBLIC_SITE_URL}/opengraph-image.jpg`],
+ },
+ twitter: {
+ site: '@documenso',
+ card: 'summary_large_image',
+ images: [`${process.env.NEXT_PUBLIC_SITE_URL}/opengraph-image.jpg`],
+ description:
+ 'Join Documenso, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.',
+ },
+};
+
+export default function RootLayout({ children }: { children: React.ReactNode }) {
+ return (
+
+
+
+
+
+
+
+
+
+
+ {children}
+
+
+
+
+ );
+}
diff --git a/apps/marketing/src/assets/Group 1019.png b/apps/marketing/src/assets/Group 1019.png
new file mode 100644
index 000000000..ece154a4d
Binary files /dev/null and b/apps/marketing/src/assets/Group 1019.png differ
diff --git a/apps/marketing/src/assets/background-pattern.png b/apps/marketing/src/assets/background-pattern.png
new file mode 100644
index 000000000..a59b29233
Binary files /dev/null and b/apps/marketing/src/assets/background-pattern.png differ
diff --git a/apps/marketing/src/assets/card-beautiful-figure.png b/apps/marketing/src/assets/card-beautiful-figure.png
new file mode 100644
index 000000000..44b90fe51
Binary files /dev/null and b/apps/marketing/src/assets/card-beautiful-figure.png differ
diff --git a/apps/marketing/src/assets/card-build-figure.png b/apps/marketing/src/assets/card-build-figure.png
new file mode 100644
index 000000000..e760876d8
Binary files /dev/null and b/apps/marketing/src/assets/card-build-figure.png differ
diff --git a/apps/marketing/src/assets/card-connections-figure.png b/apps/marketing/src/assets/card-connections-figure.png
new file mode 100644
index 000000000..b226b7644
Binary files /dev/null and b/apps/marketing/src/assets/card-connections-figure.png differ
diff --git a/apps/marketing/src/assets/card-fast-figure.png b/apps/marketing/src/assets/card-fast-figure.png
new file mode 100644
index 000000000..312f2e1c1
Binary files /dev/null and b/apps/marketing/src/assets/card-fast-figure.png differ
diff --git a/apps/marketing/src/assets/card-open-figure.png b/apps/marketing/src/assets/card-open-figure.png
new file mode 100644
index 000000000..faadfd5da
Binary files /dev/null and b/apps/marketing/src/assets/card-open-figure.png differ
diff --git a/apps/marketing/src/assets/card-paid-figure.png b/apps/marketing/src/assets/card-paid-figure.png
new file mode 100644
index 000000000..a780fdc98
Binary files /dev/null and b/apps/marketing/src/assets/card-paid-figure.png differ
diff --git a/apps/marketing/src/assets/card-sharing-figure.png b/apps/marketing/src/assets/card-sharing-figure.png
new file mode 100644
index 000000000..94aca7828
Binary files /dev/null and b/apps/marketing/src/assets/card-sharing-figure.png differ
diff --git a/apps/marketing/src/assets/card-smart-figure.png b/apps/marketing/src/assets/card-smart-figure.png
new file mode 100644
index 000000000..3614af32d
Binary files /dev/null and b/apps/marketing/src/assets/card-smart-figure.png differ
diff --git a/apps/marketing/src/assets/card-template-figure.png b/apps/marketing/src/assets/card-template-figure.png
new file mode 100644
index 000000000..5d27c1763
Binary files /dev/null and b/apps/marketing/src/assets/card-template-figure.png differ
diff --git a/apps/marketing/src/assets/card-widget-figure.png b/apps/marketing/src/assets/card-widget-figure.png
new file mode 100644
index 000000000..4f0c4ab11
Binary files /dev/null and b/apps/marketing/src/assets/card-widget-figure.png differ
diff --git a/apps/marketing/src/assets/connections.png b/apps/marketing/src/assets/connections.png
new file mode 100644
index 000000000..8b264233f
Binary files /dev/null and b/apps/marketing/src/assets/connections.png differ
diff --git a/apps/marketing/src/components/(marketing)/callout.tsx b/apps/marketing/src/components/(marketing)/callout.tsx
new file mode 100644
index 000000000..30a1abdbf
--- /dev/null
+++ b/apps/marketing/src/components/(marketing)/callout.tsx
@@ -0,0 +1,56 @@
+'use client';
+
+import Link from 'next/link';
+
+import { Github } from 'lucide-react';
+import { usePlausible } from 'next-plausible';
+
+import { Button } from '@documenso/ui/primitives/button';
+
+export const Callout = () => {
+ const event = usePlausible();
+
+ const onSignUpClick = () => {
+ const el = document.getElementById('email');
+
+ if (el) {
+ const { top } = el.getBoundingClientRect();
+
+ window.scrollTo({
+ top: top - 120,
+ behavior: 'smooth',
+ });
+
+ setTimeout(() => {
+ el.focus();
+ }, 500);
+ }
+ };
+
+ return (
+
+
+ Get the Community Plan
+
+ $30/mo. forever!
+
+
+
+ event('view-github')}
+ >
+
+
+ Star on Github
+
+
+
+ );
+};
diff --git a/apps/marketing/src/components/(marketing)/claim-plan-dialog.tsx b/apps/marketing/src/components/(marketing)/claim-plan-dialog.tsx
new file mode 100644
index 000000000..06bfd5ced
--- /dev/null
+++ b/apps/marketing/src/components/(marketing)/claim-plan-dialog.tsx
@@ -0,0 +1,148 @@
+'use client';
+
+import React, { useState } from 'react';
+
+import { useSearchParams } from 'next/navigation';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { Info, Loader } from 'lucide-react';
+import { usePlausible } from 'next-plausible';
+import { useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+import {
+ Dialog,
+ DialogContent,
+ DialogDescription,
+ DialogHeader,
+ DialogTitle,
+ DialogTrigger,
+} from '@documenso/ui/primitives/dialog';
+import { Input } from '@documenso/ui/primitives/input';
+import { Label } from '@documenso/ui/primitives/label';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+import { claimPlan } from '~/api/claim-plan/fetcher';
+
+import { FormErrorMessage } from '../form/form-error-message';
+
+export const ZClaimPlanDialogFormSchema = z.object({
+ name: z.string().min(3),
+ email: z.string().email(),
+});
+
+export type TClaimPlanDialogFormSchema = z.infer;
+
+export type ClaimPlanDialogProps = {
+ className?: string;
+ planId: string;
+ children: React.ReactNode;
+};
+
+export const ClaimPlanDialog = ({ className, planId, children }: ClaimPlanDialogProps) => {
+ const params = useSearchParams();
+ const { toast } = useToast();
+ const event = usePlausible();
+
+ const [open, setOpen] = useState(() => params?.get('cancelled') === 'true');
+
+ const {
+ register,
+ handleSubmit,
+ formState: { errors, isSubmitting },
+ } = useForm({
+ mode: 'onBlur',
+ defaultValues: {
+ name: params?.get('name') ?? '',
+ email: params?.get('email') ?? '',
+ },
+ resolver: zodResolver(ZClaimPlanDialogFormSchema),
+ });
+
+ const onFormSubmit = async ({ name, email }: TClaimPlanDialogFormSchema) => {
+ try {
+ const delay = new Promise((resolve) => setTimeout(resolve, 1000));
+
+ const [redirectUrl] = await Promise.all([
+ claimPlan({ name, email, planId, signatureText: name, signatureDataUrl: null }),
+ delay,
+ ]);
+
+ event('claim-plan-pricing');
+
+ window.location.href = redirectUrl;
+ } catch (error) {
+ event('claim-plan-failed');
+
+ toast({
+ title: 'Something went wrong',
+ description: error instanceof Error ? error.message : 'Please try again later.',
+ variant: 'destructive',
+ });
+ }
+ };
+
+ return (
+
+ {children}
+
+
+
+ Claim your plan
+
+
+ We're almost there! Please enter your email address and name to claim your plan.
+
+
+
+
+
+
+ );
+};
diff --git a/apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx b/apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx
new file mode 100644
index 000000000..2cbaaef53
--- /dev/null
+++ b/apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx
@@ -0,0 +1,77 @@
+import { HTMLAttributes } from 'react';
+
+import Image from 'next/image';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Card, CardContent } from '@documenso/ui/primitives/card';
+
+import backgroundPattern from '~/assets/background-pattern.png';
+import cardBeautifulFigure from '~/assets/card-beautiful-figure.png';
+import cardFastFigure from '~/assets/card-fast-figure.png';
+import cardSmartFigure from '~/assets/card-smart-figure.png';
+
+export type FasterSmarterBeautifulBentoProps = HTMLAttributes;
+
+export const FasterSmarterBeautifulBento = ({
+ className,
+ ...props
+}: FasterSmarterBeautifulBentoProps) => {
+ return (
+
+
+
+
+
+ A 10x better signing experience.
+ Faster, smarter and more beautiful.
+
+
+
+
+
+
+ Fast.
+ When it comes to sending or receiving a contract, you can count on lightning-fast
+ speeds.
+
+
+
+
+
+
+
+
+
+
+
+ Beautiful.
+ Because signing should be celebrated. That’s why we care about the smallest detail in
+ our product.
+
+
+
+
+
+
+
+
+
+
+
+ Smart.
+ Our custom templates come with smart rules that can help you save time and energy.
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/apps/marketing/src/components/(marketing)/footer.tsx b/apps/marketing/src/components/(marketing)/footer.tsx
new file mode 100644
index 000000000..823ece92e
--- /dev/null
+++ b/apps/marketing/src/components/(marketing)/footer.tsx
@@ -0,0 +1,86 @@
+import { HTMLAttributes } from 'react';
+
+import Image from 'next/image';
+import Link from 'next/link';
+
+import { Github, Slack, Twitter } from 'lucide-react';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+export type FooterProps = HTMLAttributes;
+
+export const Footer = ({ className, ...props }: FooterProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Pricing
+
+
+
+ Status
+
+
+
+ Support
+
+
+ {/*
+ Privacy
+ */}
+
+
+
+
+ © {new Date().getFullYear()} Documenso, Inc. All rights reserved.
+
+
+
+ );
+};
diff --git a/apps/marketing/src/components/(marketing)/header.tsx b/apps/marketing/src/components/(marketing)/header.tsx
new file mode 100644
index 000000000..5a1fa3b89
--- /dev/null
+++ b/apps/marketing/src/components/(marketing)/header.tsx
@@ -0,0 +1,32 @@
+import { HTMLAttributes } from 'react';
+
+import Image from 'next/image';
+import Link from 'next/link';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+export type HeaderProps = HTMLAttributes;
+
+export const Header = ({ className, ...props }: HeaderProps) => {
+ return (
+
+ );
+};
diff --git a/apps/marketing/src/components/(marketing)/hero.tsx b/apps/marketing/src/components/(marketing)/hero.tsx
new file mode 100644
index 000000000..b406b51cc
--- /dev/null
+++ b/apps/marketing/src/components/(marketing)/hero.tsx
@@ -0,0 +1,217 @@
+'use client';
+
+import Image from 'next/image';
+import Link from 'next/link';
+
+import { Variants, motion } from 'framer-motion';
+import { Github } from 'lucide-react';
+import { usePlausible } from 'next-plausible';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+
+import backgroundPattern from '~/assets/background-pattern.png';
+
+import { Widget } from './widget';
+
+export type HeroProps = {
+ className?: string;
+ [key: string]: unknown;
+};
+
+const BackgroundPatternVariants: Variants = {
+ initial: {
+ opacity: 0,
+ },
+
+ animate: {
+ opacity: 1,
+
+ transition: {
+ delay: 1,
+ duration: 1.2,
+ },
+ },
+};
+
+const HeroTitleVariants: Variants = {
+ initial: {
+ opacity: 0,
+ y: 60,
+ },
+ animate: {
+ opacity: 1,
+ y: 0,
+ transition: {
+ duration: 0.5,
+ },
+ },
+};
+
+export const Hero = ({ className, ...props }: HeroProps) => {
+ const event = usePlausible();
+
+ const onSignUpClick = () => {
+ const el = document.getElementById('email');
+
+ if (el) {
+ const { top } = el.getBoundingClientRect();
+
+ window.scrollTo({
+ top: top - 120,
+ behavior: 'smooth',
+ });
+
+ requestAnimationFrame(() => {
+ el.focus();
+ });
+ }
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+ Document signing,
+ finally open source.
+
+
+
+
+ Get the Community Plan
+
+ $30/mo. forever!
+
+
+
+ event('view-github')}>
+
+
+ Star on Github
+
+
+
+
+
+
+
+
+
+
+
+
+ Documenso Supporter Pledge
+
+ Our mission is to create an open signing infrastructure that empowers the world,
+ enabling businesses to embrace openness, cooperation, and transparency. We believe
+ that signing, as a fundamental act, should embody these values. By offering an
+ open-source signing solution, we aim to make document signing accessible, transparent,
+ and trustworthy.
+
+
+
+ Through our platform, called Documenso, we strive to earn your trust by allowing
+ self-hosting and providing complete visibility into its inner workings. We value
+ inclusivity and foster an environment where diverse perspectives and contributions are
+ welcomed, even though we may not implement them all.
+
+
+
+ At Documenso, we envision a web-enabled future for business and contracts, and we are
+ committed to being the leading provider of open signing infrastructure. By combining
+ exceptional product design with open-source principles, we aim to deliver a robust and
+ well-designed application that exceeds your expectations.
+
+
+
+ We understand that exceptional products are born from exceptional communities, and we
+ invite you to join our open-source community. Your contributions, whether technical or
+ non-technical, will help shape the future of signing. Together, we can create a better
+ future for everyone.
+
+
+
+ Today we invite you to join us on this journey: By signing this mission statement you
+ signal your support of Documenso's mission{' '}
+
+ (in a non-legally binding, but heartfelt way)
+ {' '}
+ and lock in the early supporter plan for forever, including everything we build this
+ year.
+
+
+
+
+
+
Timur Ercan & Lucas Smith
+
Co-Founders, Documenso
+
+
+
+
+
+ );
+};
diff --git a/apps/marketing/src/components/(marketing)/open-build-template-bento.tsx b/apps/marketing/src/components/(marketing)/open-build-template-bento.tsx
new file mode 100644
index 000000000..e7920500b
--- /dev/null
+++ b/apps/marketing/src/components/(marketing)/open-build-template-bento.tsx
@@ -0,0 +1,74 @@
+import { HTMLAttributes } from 'react';
+
+import Image from 'next/image';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Card, CardContent } from '@documenso/ui/primitives/card';
+
+import backgroundPattern from '~/assets/background-pattern.png';
+import cardBuildFigure from '~/assets/card-build-figure.png';
+import cardOpenFigure from '~/assets/card-open-figure.png';
+import cardTemplateFigure from '~/assets/card-template-figure.png';
+
+export type OpenBuildTemplateBentoProps = HTMLAttributes;
+
+export const OpenBuildTemplateBento = ({ className, ...props }: OpenBuildTemplateBentoProps) => {
+ return (
+
+
+
+
+
+ Truly your own.
+ Customise and expand.
+
+
+
+
+
+
+ Open Source or Hosted.
+ It’s up to you. Either clone our repository or rely on our easy to use hosting
+ solution.
+
+
+
+
+
+
+
+
+
+
+
+ Build on top.
+ Make it your own through advanced customization and adjustability.
+
+
+
+
+
+
+
+
+
+
+
+ Template Store (Soon).
+ Choose a template from the community app store. Or submit your own template for others
+ to use.
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/apps/marketing/src/components/(marketing)/password-reveal.tsx b/apps/marketing/src/components/(marketing)/password-reveal.tsx
new file mode 100644
index 000000000..7e1cb72a3
--- /dev/null
+++ b/apps/marketing/src/components/(marketing)/password-reveal.tsx
@@ -0,0 +1,33 @@
+'use client';
+
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+import { useCopyToClipboard } from '~/hooks/use-copy-to-clipboard';
+
+export type PasswordRevealProps = {
+ password: string;
+};
+
+export const PasswordReveal = ({ password }: PasswordRevealProps) => {
+ const { toast } = useToast();
+ const [, copy] = useCopyToClipboard();
+
+ const onCopyClick = () => {
+ copy(password).then(() => {
+ toast({
+ title: 'Copied to clipboard',
+ description: 'Your password has been copied to your clipboard.',
+ });
+ });
+ };
+
+ return (
+
+ {password}
+
+ );
+};
diff --git a/apps/marketing/src/components/(marketing)/pricing-table.tsx b/apps/marketing/src/components/(marketing)/pricing-table.tsx
new file mode 100644
index 000000000..4d229ae98
--- /dev/null
+++ b/apps/marketing/src/components/(marketing)/pricing-table.tsx
@@ -0,0 +1,179 @@
+'use client';
+
+import { HTMLAttributes, useMemo, useState } from 'react';
+
+import Link from 'next/link';
+import { useSearchParams } from 'next/navigation';
+
+import { AnimatePresence, motion } from 'framer-motion';
+import { usePlausible } from 'next-plausible';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+
+import { ClaimPlanDialog } from './claim-plan-dialog';
+
+export type PricingTableProps = HTMLAttributes;
+
+const SELECTED_PLAN_BAR_LAYOUT_ID = 'selected-plan-bar';
+
+export const PricingTable = ({ className, ...props }: PricingTableProps) => {
+ const params = useSearchParams();
+ const event = usePlausible();
+
+ const [period, setPeriod] = useState<'MONTHLY' | 'YEARLY'>(() =>
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ params?.get('planId') === process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID
+ ? 'YEARLY'
+ : 'MONTHLY',
+ );
+
+ const planId = useMemo(() => {
+ if (period === 'MONTHLY') {
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ return process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID;
+ }
+
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ return process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID;
+ }, [period]);
+
+ return (
+
+
+
+ setPeriod('MONTHLY')}
+ >
+ Monthly
+ {period === 'MONTHLY' && (
+
+ )}
+
+
+ setPeriod('YEARLY')}
+ >
+ Yearly
+
+ Save $60
+
+ {period === 'YEARLY' && (
+
+ )}
+
+
+
+
+
+
+
Self Hosted
+
Free
+
+
+ For small teams and individuals who need a simple solution
+
+
+
event('view-github')}
+ >
+
View on Github
+
+
+
+
Host your own instance
+
Full Control
+
Customizability
+
Docker Ready
+
Community Support
+
Free, Forever
+
+
+
+
+
Community
+
+
+ {period === 'MONTHLY' && $30 }
+ {period === 'YEARLY' && $300 }
+
+
+
+
+ For fast-growing companies that aim to scale across multiple teams.
+
+
+
+ Signup Now
+
+
+
+
Documenso Early Adopter Deal:
+
Join the movement
+
Simple signing solution
+
Email and Slack assistance
+
+ Includes all upcoming features
+
+
Fixed, straightforward pricing
+
+
+
+
+
Enterprise
+
Pricing on request
+
+
+ For large organizations that need extra flexibility and control.
+
+
+
event('enterprise-contact')}
+ >
+
Contact Us
+
+
+
+
Everything in Community, plus:
+
Custom Subdomain
+
Compliance Check
+
Guaranteed Uptime
+
Reporting & Analysis
+
24/7 Support
+
+
+
+
+ );
+};
diff --git a/apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx b/apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx
new file mode 100644
index 000000000..05b6a3232
--- /dev/null
+++ b/apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx
@@ -0,0 +1,91 @@
+import { HTMLAttributes } from 'react';
+
+import Image from 'next/image';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Card, CardContent } from '@documenso/ui/primitives/card';
+
+import backgroundPattern from '~/assets/background-pattern.png';
+import cardConnectionsFigure from '~/assets/card-connections-figure.png';
+import cardPaidFigure from '~/assets/card-paid-figure.png';
+import cardSharingFigure from '~/assets/card-sharing-figure.png';
+import cardWidgetFigure from '~/assets/card-widget-figure.png';
+
+export type ShareConnectPaidWidgetBentoProps = HTMLAttributes;
+
+export const ShareConnectPaidWidgetBento = ({
+ className,
+ ...props
+}: ShareConnectPaidWidgetBentoProps) => {
+ return (
+
+
+
+
+
+ Integrates with all your favourite tools.
+ Send, connect, receive and embed everywhere.
+
+
+
+
+
+
+ Easy Sharing (Soon).
+ Receive your personal link to share with everyone you care about.
+
+
+
+
+
+
+
+
+
+
+
+ Connections (Soon).
+ Create connections and automations with Zapier and more to integrate with your
+ favorite tools.
+
+
+
+
+
+
+
+
+
+
+
+ Get paid (Soon).
+ Integrated payments with stripe so you don’t have to worry about getting paid.
+
+
+
+
+
+
+
+
+
+
+
+ React Widget (Soon).
+ Easily embed Documenso into your product. Simply copy and paste our react widget into
+ your application.
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/apps/marketing/src/components/(marketing)/widget.tsx b/apps/marketing/src/components/(marketing)/widget.tsx
new file mode 100644
index 000000000..8603ef576
--- /dev/null
+++ b/apps/marketing/src/components/(marketing)/widget.tsx
@@ -0,0 +1,400 @@
+'use client';
+
+import { HTMLAttributes, KeyboardEvent, useMemo, useState } from 'react';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { AnimatePresence, motion } from 'framer-motion';
+import { Loader } from 'lucide-react';
+import { usePlausible } from 'next-plausible';
+import { Controller, useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+import { Card, CardContent } from '@documenso/ui/primitives/card';
+import {
+ Dialog,
+ DialogContent,
+ DialogDescription,
+ DialogFooter,
+ DialogHeader,
+ DialogTitle,
+} from '@documenso/ui/primitives/dialog';
+import { Input } from '@documenso/ui/primitives/input';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+import { claimPlan } from '~/api/claim-plan/fetcher';
+
+import { FormErrorMessage } from '../form/form-error-message';
+import { SignaturePad } from '../signature-pad';
+
+const ZWidgetFormSchema = z
+ .object({
+ email: z.string().email({ message: 'Please enter a valid email address.' }),
+ name: z.string().min(3, { message: 'Please enter a valid name.' }),
+ })
+ .and(
+ z.union([
+ z.object({
+ signatureDataUrl: z.string().min(1),
+ signatureText: z.null().or(z.string().max(0)),
+ }),
+ z.object({
+ signatureDataUrl: z.null().or(z.string().max(0)),
+ signatureText: z.string().min(1),
+ }),
+ ]),
+ );
+
+export type TWidgetFormSchema = z.infer;
+
+export type WidgetProps = HTMLAttributes;
+
+export const Widget = ({ className, children, ...props }: WidgetProps) => {
+ const { toast } = useToast();
+ const event = usePlausible();
+
+ const [step, setStep] = useState<'EMAIL' | 'NAME' | 'SIGN'>('EMAIL');
+ const [showSigningDialog, setShowSigningDialog] = useState(false);
+ const [draftSignatureDataUrl, setDraftSignatureDataUrl] = useState(null);
+
+ const {
+ control,
+ register,
+ handleSubmit,
+ setValue,
+ trigger,
+ watch,
+ formState: { errors, isSubmitting, isValid },
+ } = useForm({
+ mode: 'onChange',
+ defaultValues: {
+ email: '',
+ name: '',
+ signatureDataUrl: null,
+ signatureText: '',
+ },
+ resolver: zodResolver(ZWidgetFormSchema),
+ });
+
+ const signatureDataUrl = watch('signatureDataUrl');
+ const signatureText = watch('signatureText');
+
+ const stepsRemaining = useMemo(() => {
+ if (step === 'NAME') {
+ return 2;
+ }
+
+ if (step === 'SIGN') {
+ return 1;
+ }
+
+ return 3;
+ }, [step]);
+
+ const onNextStepClick = () => {
+ if (step === 'EMAIL') {
+ setStep('NAME');
+
+ setTimeout(() => {
+ document.querySelector('#name')?.focus();
+ }, 0);
+ }
+
+ if (step === 'NAME') {
+ setStep('SIGN');
+
+ setTimeout(() => {
+ document.querySelector('#signatureText')?.focus();
+ }, 0);
+ }
+ };
+
+ const onEnterPress = (callback: () => void) => {
+ return (e: KeyboardEvent) => {
+ if (e.key === 'Enter') {
+ e.preventDefault();
+
+ callback();
+ }
+ };
+ };
+
+ const onSignatureConfirmClick = () => {
+ setValue('signatureDataUrl', draftSignatureDataUrl);
+ setValue('signatureText', '');
+
+ trigger('signatureDataUrl');
+ setShowSigningDialog(false);
+ };
+
+ const onFormSubmit = async ({
+ email,
+ name,
+ signatureDataUrl,
+ signatureText,
+ }: TWidgetFormSchema) => {
+ try {
+ const delay = new Promise((resolve) => setTimeout(resolve, 1000));
+
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ const planId = process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID;
+
+ const claimPlanInput = signatureDataUrl
+ ? {
+ name,
+ email,
+ planId,
+ signatureDataUrl: signatureDataUrl!,
+ signatureText: null,
+ }
+ : {
+ name,
+ email,
+ planId,
+ signatureDataUrl: null,
+ signatureText: signatureText!,
+ };
+
+ const [result] = await Promise.all([claimPlan(claimPlanInput), delay]);
+
+ event('claim-plan-widget');
+
+ window.location.href = result;
+ } catch (error) {
+ event('claim-plan-failed');
+
+ toast({
+ title: 'Something went wrong',
+ description: error instanceof Error ? error.message : 'Please try again later.',
+ variant: 'destructive',
+ });
+ }
+ };
+
+ return (
+ <>
+
+
+
+
+
+
+
+ Add your signature
+
+
+
+ By signing you signal your support of Documenso's mission in a
+ non-legally binding, but heartfelt way .
+ You also unlock the option to purchase the early supporter plan including
+ everything we build this year for fixed price.
+
+
+
+
+
+ setShowSigningDialog(false)}>
+ Cancel
+
+
+ onSignatureConfirmClick()}>Confirm
+
+
+
+ >
+ );
+};
diff --git a/apps/marketing/src/components/form/form-error-message.tsx b/apps/marketing/src/components/form/form-error-message.tsx
new file mode 100644
index 000000000..059a2eb83
--- /dev/null
+++ b/apps/marketing/src/components/form/form-error-message.tsx
@@ -0,0 +1,35 @@
+import { AnimatePresence, motion } from 'framer-motion';
+import { FieldError } from 'react-hook-form';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+export type FormErrorMessageProps = {
+ className?: string;
+ error: FieldError | undefined;
+};
+
+export const FormErrorMessage = ({ error, className }: FormErrorMessageProps) => {
+ return (
+
+ {error && (
+
+ {error.message}
+
+ )}
+
+ );
+};
diff --git a/apps/marketing/src/components/signature-pad/canvas.ts b/apps/marketing/src/components/signature-pad/canvas.ts
new file mode 100644
index 000000000..ef573152a
--- /dev/null
+++ b/apps/marketing/src/components/signature-pad/canvas.ts
@@ -0,0 +1,321 @@
+import { Point } from './point';
+
+export class Canvas {
+ private readonly $canvas: HTMLCanvasElement;
+ private readonly $offscreenCanvas: HTMLCanvasElement;
+
+ private currentCanvasWidth = 0;
+ private currentCanvasHeight = 0;
+
+ private points: Point[] = [];
+ private onChangeHandlers: Array<(_canvas: Canvas, _cleared: boolean) => void> = [];
+
+ private isPressed = false;
+ private lastVelocity = 0;
+
+ private readonly VELOCITY_FILTER_WEIGHT = 0.5;
+ private readonly DPI = 2;
+
+ constructor(canvas: HTMLCanvasElement) {
+ this.$canvas = canvas;
+ this.$offscreenCanvas = document.createElement('canvas');
+
+ const { width, height } = this.$canvas.getBoundingClientRect();
+
+ this.currentCanvasWidth = width * this.DPI;
+ this.currentCanvasHeight = height * this.DPI;
+
+ this.$canvas.width = this.currentCanvasWidth;
+ this.$canvas.height = this.currentCanvasHeight;
+
+ Object.assign(this.$canvas.style, {
+ touchAction: 'none',
+ msTouchAction: 'none',
+ userSelect: 'none',
+ });
+
+ window.addEventListener('resize', this.onResize.bind(this));
+
+ this.$canvas.addEventListener('mousedown', this.onMouseDown.bind(this));
+ this.$canvas.addEventListener('mousemove', this.onMouseMove.bind(this));
+ this.$canvas.addEventListener('mouseup', this.onMouseUp.bind(this));
+ this.$canvas.addEventListener('mouseenter', this.onMouseEnter.bind(this));
+ this.$canvas.addEventListener('mouseleave', this.onMouseLeave.bind(this));
+ this.$canvas.addEventListener('pointerdown', this.onMouseDown.bind(this));
+ this.$canvas.addEventListener('pointermove', this.onMouseMove.bind(this));
+ this.$canvas.addEventListener('pointerup', this.onMouseUp.bind(this));
+ }
+
+ /**
+ * Calculates the minimum stroke width as a percentage of the current canvas suitable for a signature.
+ */
+ private minStrokeWidth(): number {
+ return Math.min(this.currentCanvasWidth, this.currentCanvasHeight) * 0.005;
+ }
+
+ /**
+ * Calculates the maximum stroke width as a percentage of the current canvas suitable for a signature.
+ */
+ private maxStrokeWidth(): number {
+ return Math.min(this.currentCanvasWidth, this.currentCanvasHeight) * 0.035;
+ }
+
+ /**
+ * Retrieves the HTML canvas element.
+ */
+ public getCanvas(): HTMLCanvasElement {
+ return this.$canvas;
+ }
+
+ /**
+ * Retrieves the 2D rendering context of the canvas.
+ * Throws an error if the context is not available.
+ */
+ public getContext(): CanvasRenderingContext2D {
+ const ctx = this.$canvas.getContext('2d');
+
+ if (!ctx) {
+ throw new Error('Canvas context is not available.');
+ }
+
+ ctx.imageSmoothingEnabled = true;
+ ctx.imageSmoothingQuality = 'high';
+
+ return ctx;
+ }
+
+ /**
+ * Handles the resize event of the canvas.
+ * Adjusts the canvas size and preserves the content using image data.
+ */
+ private onResize(): void {
+ const { width, height } = this.$canvas.getBoundingClientRect();
+
+ const oldWidth = this.currentCanvasWidth;
+ const oldHeight = this.currentCanvasHeight;
+
+ const ctx = this.getContext();
+
+ const imageData = ctx.getImageData(0, 0, oldWidth, oldHeight);
+
+ this.$canvas.width = width * this.DPI;
+ this.$canvas.height = height * this.DPI;
+
+ this.currentCanvasWidth = width * this.DPI;
+ this.currentCanvasHeight = height * this.DPI;
+
+ ctx.putImageData(imageData, 0, 0, 0, 0, width * this.DPI, height * this.DPI);
+ }
+
+ /**
+ * Handles the mouse down event on the canvas.
+ * Adds the starting point for the signature.
+ */
+ private onMouseDown(event: MouseEvent | PointerEvent | TouchEvent): void {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ this.isPressed = true;
+
+ const point = Point.fromEvent(event, this.DPI);
+
+ this.addPoint(point);
+ }
+
+ /**
+ * Handles the mouse move event on the canvas.
+ * Adds a point to the signature if the mouse is pressed, based on the sample rate.
+ */
+ private onMouseMove(event: MouseEvent | PointerEvent | TouchEvent): void {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ if (!this.isPressed) {
+ return;
+ }
+
+ const point = Point.fromEvent(event, this.DPI);
+
+ if (point.distanceTo(this.points[this.points.length - 1]) > 10) {
+ this.addPoint(point);
+ }
+ }
+
+ /**
+ * Handles the mouse up event on the canvas.
+ * Adds the final point for the signature and resets the points array.
+ */
+ private onMouseUp(event: MouseEvent | PointerEvent | TouchEvent, addPoint = true): void {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ this.isPressed = false;
+
+ const point = Point.fromEvent(event, this.DPI);
+
+ if (addPoint) {
+ this.addPoint(point);
+ }
+
+ this.onChangeHandlers.forEach((handler) => handler(this, false));
+
+ this.points = [];
+ }
+
+ private onMouseEnter(event: MouseEvent): void {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ event.buttons === 1 && this.onMouseDown(event);
+ }
+
+ private onMouseLeave(event: MouseEvent): void {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ this.onMouseUp(event, false);
+ }
+
+ /**
+ * Adds a point to the signature and performs smoothing and drawing.
+ */
+ private addPoint(point: Point): void {
+ const lastPoint = this.points[this.points.length - 1] ?? point;
+
+ this.points.push(point);
+
+ const smoothedPoints = this.smoothSignature(this.points);
+
+ let velocity = point.velocityFrom(lastPoint);
+ velocity =
+ this.VELOCITY_FILTER_WEIGHT * velocity +
+ (1 - this.VELOCITY_FILTER_WEIGHT) * this.lastVelocity;
+
+ const newWidth =
+ velocity > 0 && this.lastVelocity > 0 ? this.strokeWidth(velocity) : this.minStrokeWidth();
+
+ this.drawSmoothSignature(smoothedPoints, newWidth);
+
+ this.lastVelocity = velocity;
+ }
+
+ /**
+ * Applies a smoothing algorithm to the signature points.
+ */
+ private smoothSignature(points: Point[]): Point[] {
+ const smoothedPoints: Point[] = [];
+
+ const startPoint = points[0];
+ const endPoint = points[points.length - 1];
+
+ smoothedPoints.push(startPoint);
+
+ for (let i = 0; i < points.length - 1; i++) {
+ const p0 = i > 0 ? points[i - 1] : startPoint;
+ const p1 = points[i];
+ const p2 = points[i + 1];
+ const p3 = i < points.length - 2 ? points[i + 2] : endPoint;
+
+ const cp1x = p1.x + (p2.x - p0.x) / 6;
+ const cp1y = p1.y + (p2.y - p0.y) / 6;
+
+ const cp2x = p2.x - (p3.x - p1.x) / 6;
+ const cp2y = p2.y - (p3.y - p1.y) / 6;
+
+ smoothedPoints.push(new Point(cp1x, cp1y));
+ smoothedPoints.push(new Point(cp2x, cp2y));
+ smoothedPoints.push(p2);
+ }
+
+ return smoothedPoints;
+ }
+
+ /**
+ * Draws the smoothed signature on the canvas.
+ */
+ private drawSmoothSignature(points: Point[], width: number): void {
+ const ctx = this.getContext();
+
+ ctx.lineCap = 'round';
+ ctx.lineJoin = 'round';
+
+ ctx.beginPath();
+
+ const startPoint = points[0];
+
+ ctx.moveTo(startPoint.x, startPoint.y);
+
+ ctx.lineWidth = width;
+
+ for (let i = 1; i < points.length; i += 3) {
+ const cp1 = points[i];
+ const cp2 = points[i + 1];
+ const endPoint = points[i + 2];
+
+ ctx.bezierCurveTo(cp1.x, cp1.y, cp2.x, cp2.y, endPoint.x, endPoint.y);
+ }
+
+ ctx.stroke();
+ ctx.closePath();
+ }
+
+ /**
+ * Calculates the stroke width based on the velocity.
+ */
+ private strokeWidth(velocity: number): number {
+ return Math.max(this.maxStrokeWidth() / (velocity + 1), this.minStrokeWidth());
+ }
+
+ public registerOnChangeHandler(handler: (_canvas: Canvas, _cleared: boolean) => void): void {
+ this.onChangeHandlers.push(handler);
+ }
+
+ public unregisterOnChangeHandler(handler: (_canvas: Canvas, _cleared: boolean) => void): void {
+ this.onChangeHandlers = this.onChangeHandlers.filter((l) => l !== handler);
+ }
+
+ /**
+ * Retrieves the signature as a data URL.
+ */
+ public toDataURL(type?: string, quality?: number): string {
+ return this.$canvas.toDataURL(type, quality);
+ }
+
+ /**
+ * Clears the signature from the canvas.
+ */
+ public clear(): void {
+ const ctx = this.getContext();
+
+ ctx.clearRect(0, 0, this.currentCanvasWidth, this.currentCanvasHeight);
+
+ this.onChangeHandlers.forEach((handler) => handler(this, true));
+
+ this.points = [];
+ }
+
+ /**
+ * Retrieves the signature as an image blob.
+ */
+ public toBlob(type?: string, quality?: number): Promise {
+ return new Promise((resolve, reject) => {
+ this.$canvas.toBlob(
+ (blob) => {
+ if (!blob) {
+ reject(new Error('Could not convert canvas to blob.'));
+ return;
+ }
+
+ resolve(blob);
+ },
+ type,
+ quality,
+ );
+ });
+ }
+}
diff --git a/apps/marketing/src/components/signature-pad/helper.ts b/apps/marketing/src/components/signature-pad/helper.ts
new file mode 100644
index 000000000..ec4c19a8e
--- /dev/null
+++ b/apps/marketing/src/components/signature-pad/helper.ts
@@ -0,0 +1,29 @@
+export const average = (a: number, b: number) => (a + b) / 2;
+
+export const getSvgPathFromStroke = (points: number[][], closed = true) => {
+ const len = points.length;
+
+ if (len < 4) {
+ return ``;
+ }
+
+ let a = points[0];
+ let b = points[1];
+ const c = points[2];
+
+ let result = `M${a[0].toFixed(2)},${a[1].toFixed(2)} Q${b[0].toFixed(2)},${b[1].toFixed(
+ 2,
+ )} ${average(b[0], c[0]).toFixed(2)},${average(b[1], c[1]).toFixed(2)} T`;
+
+ for (let i = 2, max = len - 1; i < max; i++) {
+ a = points[i];
+ b = points[i + 1];
+ result += `${average(a[0], b[0]).toFixed(2)},${average(a[1], b[1]).toFixed(2)} `;
+ }
+
+ if (closed) {
+ result += 'Z';
+ }
+
+ return result;
+};
diff --git a/apps/marketing/src/components/signature-pad/index.ts b/apps/marketing/src/components/signature-pad/index.ts
new file mode 100644
index 000000000..bfd777f1e
--- /dev/null
+++ b/apps/marketing/src/components/signature-pad/index.ts
@@ -0,0 +1 @@
+export * from './signature-pad';
diff --git a/apps/marketing/src/components/signature-pad/point.ts b/apps/marketing/src/components/signature-pad/point.ts
new file mode 100644
index 000000000..54322f2fb
--- /dev/null
+++ b/apps/marketing/src/components/signature-pad/point.ts
@@ -0,0 +1,98 @@
+import {
+ MouseEvent as ReactMouseEvent,
+ PointerEvent as ReactPointerEvent,
+ TouchEvent as ReactTouchEvent,
+} from 'react';
+
+export type PointLike = {
+ x: number;
+ y: number;
+ timestamp: number;
+};
+
+const isTouchEvent = (
+ event:
+ | ReactMouseEvent
+ | ReactPointerEvent
+ | ReactTouchEvent
+ | MouseEvent
+ | PointerEvent
+ | TouchEvent,
+): event is TouchEvent | ReactTouchEvent => {
+ return 'touches' in event;
+};
+
+export class Point implements PointLike {
+ public x: number;
+ public y: number;
+ public timestamp: number;
+
+ constructor(x: number, y: number, timestamp?: number) {
+ this.x = x;
+ this.y = y;
+ this.timestamp = timestamp ?? Date.now();
+ }
+
+ public distanceTo(point: PointLike): number {
+ return Math.sqrt(Math.pow(point.x - this.x, 2) + Math.pow(point.y - this.y, 2));
+ }
+
+ public equals(point: PointLike): boolean {
+ return this.x === point.x && this.y === point.y && this.timestamp === point.timestamp;
+ }
+
+ public velocityFrom(start: PointLike): number {
+ const timeDifference = this.timestamp - start.timestamp;
+
+ if (timeDifference !== 0) {
+ return this.distanceTo(start) / timeDifference;
+ }
+
+ return 0;
+ }
+
+ public static fromPointLike({ x, y, timestamp }: PointLike): Point {
+ return new Point(x, y, timestamp);
+ }
+
+ public static fromEvent(
+ event:
+ | ReactMouseEvent
+ | ReactPointerEvent
+ | ReactTouchEvent
+ | MouseEvent
+ | PointerEvent
+ | TouchEvent,
+ dpi = 1,
+ el?: HTMLElement | null,
+ ): Point {
+ const target = el ?? event.target;
+
+ if (!(target instanceof HTMLElement)) {
+ throw new Error('Event target is not an HTMLElement.');
+ }
+
+ const { top, bottom, left, right } = target.getBoundingClientRect();
+
+ let clientX, clientY;
+
+ if (isTouchEvent(event)) {
+ clientX = event.touches[0].clientX;
+ clientY = event.touches[0].clientY;
+ } else {
+ clientX = event.clientX;
+ clientY = event.clientY;
+ }
+
+ // create a new point snapping to the edge of the current target element if it exceeds
+ // the bounding box of the target element
+ let x = Math.min(Math.max(left, clientX), right) - left;
+ let y = Math.min(Math.max(top, clientY), bottom) - top;
+
+ // adjust for DPI
+ x *= dpi;
+ y *= dpi;
+
+ return new Point(x, y);
+ }
+}
diff --git a/apps/marketing/src/components/signature-pad/signature-pad.tsx b/apps/marketing/src/components/signature-pad/signature-pad.tsx
new file mode 100644
index 000000000..0478e83b2
--- /dev/null
+++ b/apps/marketing/src/components/signature-pad/signature-pad.tsx
@@ -0,0 +1,212 @@
+'use client';
+
+import {
+ HTMLAttributes,
+ MouseEvent,
+ PointerEvent,
+ TouchEvent,
+ useEffect,
+ useMemo,
+ useRef,
+ useState,
+} from 'react';
+
+import { StrokeOptions, getStroke } from 'perfect-freehand';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+import { getSvgPathFromStroke } from './helper';
+import { Point } from './point';
+
+const DPI = 2;
+
+export type SignaturePadProps = Omit, 'onChange'> & {
+ onChange?: (_signatureDataUrl: string | null) => void;
+};
+
+export const SignaturePad = ({ className, onChange, ...props }: SignaturePadProps) => {
+ const $el = useRef(null);
+
+ const [isPressed, setIsPressed] = useState(false);
+ const [points, setPoints] = useState([]);
+
+ const perfectFreehandOptions = useMemo(() => {
+ const size = $el.current ? Math.min($el.current.height, $el.current.width) * 0.03 : 10;
+
+ return {
+ size,
+ thinning: 0.25,
+ streamline: 0.5,
+ smoothing: 0.5,
+ end: {
+ taper: size * 2,
+ },
+ } satisfies StrokeOptions;
+ }, []);
+
+ const onMouseDown = (event: MouseEvent | PointerEvent | TouchEvent) => {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ setIsPressed(true);
+
+ const point = Point.fromEvent(event, DPI, $el.current);
+
+ const newPoints = [...points, point];
+
+ setPoints(newPoints);
+
+ if ($el.current) {
+ const ctx = $el.current.getContext('2d');
+
+ if (ctx) {
+ ctx.save();
+
+ ctx.imageSmoothingEnabled = true;
+ ctx.imageSmoothingQuality = 'high';
+
+ const pathData = new Path2D(
+ getSvgPathFromStroke(getStroke(newPoints, perfectFreehandOptions)),
+ );
+
+ ctx.fill(pathData);
+ }
+ }
+ };
+
+ const onMouseMove = (event: MouseEvent | PointerEvent | TouchEvent) => {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ if (!isPressed) {
+ return;
+ }
+
+ const point = Point.fromEvent(event, DPI, $el.current);
+
+ if (point.distanceTo(points[points.length - 1]) > 5) {
+ const newPoints = [...points, point];
+
+ setPoints(newPoints);
+
+ if ($el.current) {
+ const ctx = $el.current.getContext('2d');
+
+ if (ctx) {
+ ctx.restore();
+
+ ctx.imageSmoothingEnabled = true;
+ ctx.imageSmoothingQuality = 'high';
+
+ const pathData = new Path2D(
+ getSvgPathFromStroke(getStroke(points, perfectFreehandOptions)),
+ );
+
+ ctx.fill(pathData);
+ }
+ }
+ }
+ };
+
+ const onMouseUp = (event: MouseEvent | PointerEvent | TouchEvent, addPoint = true) => {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ setIsPressed(false);
+
+ const point = Point.fromEvent(event, DPI, $el.current);
+
+ const newPoints = [...points];
+
+ if (addPoint) {
+ newPoints.push(point);
+
+ setPoints(newPoints);
+ }
+
+ if ($el.current) {
+ const ctx = $el.current.getContext('2d');
+
+ if (ctx) {
+ ctx.restore();
+
+ ctx.imageSmoothingEnabled = true;
+ ctx.imageSmoothingQuality = 'high';
+
+ const pathData = new Path2D(
+ getSvgPathFromStroke(getStroke(newPoints, perfectFreehandOptions)),
+ );
+
+ ctx.fill(pathData);
+
+ ctx.save();
+ }
+
+ onChange?.($el.current.toDataURL());
+ }
+
+ setPoints([]);
+ };
+
+ const onMouseEnter = (event: MouseEvent | PointerEvent | TouchEvent) => {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ if ('buttons' in event && event.buttons === 1) {
+ onMouseDown(event);
+ }
+ };
+
+ const onMouseLeave = (event: MouseEvent | PointerEvent | TouchEvent) => {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ onMouseUp(event, false);
+ };
+
+ const onClearClick = () => {
+ if ($el.current) {
+ const ctx = $el.current.getContext('2d');
+
+ ctx?.clearRect(0, 0, $el.current.width, $el.current.height);
+ }
+
+ onChange?.(null);
+
+ setPoints([]);
+ };
+
+ useEffect(() => {
+ if ($el.current) {
+ $el.current.width = $el.current.clientWidth * DPI;
+ $el.current.height = $el.current.clientHeight * DPI;
+ }
+ }, []);
+
+ return (
+
+
onMouseMove(event)}
+ onPointerDown={(event) => onMouseDown(event)}
+ onPointerUp={(event) => onMouseUp(event)}
+ onPointerLeave={(event) => onMouseLeave(event)}
+ onPointerEnter={(event) => onMouseEnter(event)}
+ {...props}
+ />
+
+
+ onClearClick()}>
+ Clear Signature
+
+
+
+ );
+};
diff --git a/apps/marketing/src/components/ui/background.tsx b/apps/marketing/src/components/ui/background.tsx
new file mode 100644
index 000000000..5763967ec
--- /dev/null
+++ b/apps/marketing/src/components/ui/background.tsx
@@ -0,0 +1,72 @@
+import { SVGAttributes } from 'react';
+
+export type BackgroundProps = Omit, 'viewBox'>;
+
+export const Background = ({ ...props }: BackgroundProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/apps/marketing/src/hooks/use-copy-to-clipboard.ts b/apps/marketing/src/hooks/use-copy-to-clipboard.ts
new file mode 100644
index 000000000..d449ded16
--- /dev/null
+++ b/apps/marketing/src/hooks/use-copy-to-clipboard.ts
@@ -0,0 +1,28 @@
+import { useState } from 'react';
+
+export type CopiedValue = string | null;
+export type CopyFn = (_text: string) => Promise;
+
+export function useCopyToClipboard(): [CopiedValue, CopyFn] {
+ const [copiedText, setCopiedText] = useState(null);
+
+ const copy: CopyFn = async (text) => {
+ if (!navigator?.clipboard) {
+ console.warn('Clipboard not supported');
+ return false;
+ }
+
+ // Try to save to clipboard then save it in the state if worked
+ try {
+ await navigator.clipboard.writeText(text);
+ setCopiedText(text);
+ return true;
+ } catch (error) {
+ console.warn('Copy failed', error);
+ setCopiedText(null);
+ return false;
+ }
+ };
+
+ return [copiedText, copy];
+}
diff --git a/apps/marketing/src/pages/api/claim-plan/index.ts b/apps/marketing/src/pages/api/claim-plan/index.ts
new file mode 100644
index 000000000..a2e4108d2
--- /dev/null
+++ b/apps/marketing/src/pages/api/claim-plan/index.ts
@@ -0,0 +1,128 @@
+import { NextApiRequest, NextApiResponse } from 'next';
+
+import { randomUUID } from 'crypto';
+
+import { hashSync } from '@documenso/lib/server-only/auth/hash';
+import { redis } from '@documenso/lib/server-only/redis';
+import { stripe } from '@documenso/lib/server-only/stripe';
+import { prisma } from '@documenso/prisma';
+
+import { TClaimPlanResponseSchema, ZClaimPlanRequestSchema } from '~/api/claim-plan/types';
+
+export default async function handler(
+ req: NextApiRequest,
+ res: NextApiResponse,
+) {
+ try {
+ const { method } = req;
+
+ if (method?.toUpperCase() !== 'POST') {
+ return res.status(405).json({
+ error: 'Method not allowed',
+ });
+ }
+
+ const safeBody = ZClaimPlanRequestSchema.safeParse(req.body);
+
+ if (!safeBody.success) {
+ return res.status(400).json({
+ error: 'Bad request',
+ });
+ }
+
+ const { email, name, planId, signatureDataUrl, signatureText } = safeBody.data;
+
+ const user = await prisma.user.findFirst({
+ where: {
+ email: email.toLowerCase(),
+ },
+ include: {
+ Subscription: true,
+ },
+ });
+
+ if (user && user.Subscription.length > 0) {
+ return res.status(200).json({
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ redirectUrl: `${process.env.NEXT_PUBLIC_APP_URL}/login`,
+ });
+ }
+
+ const password = Math.random().toString(36).slice(2, 9);
+ const passwordHash = hashSync(password);
+
+ const { id: userId } = await prisma.user.upsert({
+ where: {
+ email: email.toLowerCase(),
+ },
+ create: {
+ email: email.toLowerCase(),
+ name,
+ password: passwordHash,
+ },
+ update: {
+ name,
+ password: passwordHash,
+ },
+ });
+
+ await redis.set(`user:${userId}:temp-password`, password, {
+ // expire in 24 hours
+ ex: 60 * 60 * 24,
+ });
+
+ const signatureDataUrlKey = randomUUID();
+
+ if (signatureDataUrl) {
+ await redis.set(`signature:${signatureDataUrlKey}`, signatureDataUrl, {
+ // expire in 7 days
+ ex: 60 * 60 * 24 * 7,
+ });
+ }
+
+ const metadata: Record = {
+ name,
+ email,
+ signatureText: signatureText || name,
+ source: 'landing',
+ };
+
+ if (signatureDataUrl) {
+ metadata.signatureDataUrl = signatureDataUrlKey;
+ }
+
+ const checkout = await stripe.checkout.sessions.create({
+ customer_email: email,
+ client_reference_id: userId.toString(),
+ payment_method_types: ['card'],
+ line_items: [
+ {
+ price: planId,
+ quantity: 1,
+ },
+ ],
+ mode: 'subscription',
+ metadata,
+ allow_promotion_codes: true,
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ success_url: `${process.env.NEXT_PUBLIC_SITE_URL}/claimed?sessionId={CHECKOUT_SESSION_ID}`,
+ cancel_url: `${process.env.NEXT_PUBLIC_SITE_URL}/pricing?email=${encodeURIComponent(
+ email,
+ )}&name=${encodeURIComponent(name)}&planId=${planId}&cancelled=true`,
+ });
+
+ if (!checkout.url) {
+ throw new Error('Checkout URL not found');
+ }
+
+ return res.json({
+ redirectUrl: checkout.url,
+ });
+ } catch (error) {
+ console.error(error);
+
+ return res.status(500).json({
+ error: 'Internal server error',
+ });
+ }
+}
diff --git a/apps/marketing/src/pages/api/stripe/webhook/index.ts b/apps/marketing/src/pages/api/stripe/webhook/index.ts
new file mode 100644
index 000000000..5db47c89a
--- /dev/null
+++ b/apps/marketing/src/pages/api/stripe/webhook/index.ts
@@ -0,0 +1,173 @@
+import { NextApiRequest, NextApiResponse } from 'next';
+
+import { randomBytes } from 'crypto';
+import { readFileSync } from 'fs';
+import { buffer } from 'micro';
+
+import { insertImageInPDF } from '@documenso/lib/server-only/pdf/insert-image-in-pdf';
+import { insertTextInPDF } from '@documenso/lib/server-only/pdf/insert-text-in-pdf';
+import { redis } from '@documenso/lib/server-only/redis';
+import { Stripe, stripe } from '@documenso/lib/server-only/stripe';
+import { prisma } from '@documenso/prisma';
+import {
+ DocumentStatus,
+ FieldType,
+ ReadStatus,
+ SendStatus,
+ SigningStatus,
+} from '@documenso/prisma/client';
+
+const log = (...args: any[]) => console.log('[stripe]', ...args);
+
+export const config = {
+ api: { bodyParser: false },
+};
+
+export default async function handler(req: NextApiRequest, res: NextApiResponse) {
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ // if (!process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS) {
+ // return res.status(500).json({
+ // success: false,
+ // message: 'Subscriptions are not enabled',
+ // });
+ // }
+
+ const sig =
+ typeof req.headers['stripe-signature'] === 'string' ? req.headers['stripe-signature'] : '';
+
+ if (!sig) {
+ return res.status(400).json({
+ success: false,
+ message: 'No signature found in request',
+ });
+ }
+
+ log('constructing body...');
+ const body = await buffer(req);
+ log('constructed body');
+
+ const event = stripe.webhooks.constructEvent(
+ body,
+ sig,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, turbo/no-undeclared-env-vars
+ process.env.NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET!,
+ );
+ log('event-type:', event.type);
+
+ if (event.type === 'checkout.session.completed') {
+ const session = event.data.object as Stripe.Checkout.Session;
+
+ if (session.metadata?.source === 'landing') {
+ const user = await prisma.user.findFirst({
+ where: {
+ id: Number(session.client_reference_id),
+ },
+ });
+
+ if (!user) {
+ return res.status(500).json({
+ success: false,
+ message: 'User not found',
+ });
+ }
+
+ const signatureText = session.metadata?.signatureText || user.name;
+ let signatureDataUrl = '';
+
+ if (session.metadata?.signatureDataUrl) {
+ const result = await redis.get(`signature:${session.metadata.signatureDataUrl}`);
+
+ if (result) {
+ signatureDataUrl = result;
+ }
+ }
+
+ const now = new Date();
+
+ const document = await prisma.document.create({
+ data: {
+ title: 'Documenso Supporter Pledge.pdf',
+ status: DocumentStatus.COMPLETED,
+ userId: user.id,
+ document: readFileSync('./public/documenso-supporter-pledge.pdf').toString('base64'),
+ created: now,
+ },
+ });
+
+ const recipient = await prisma.recipient.create({
+ data: {
+ name: user.name ?? '',
+ email: user.email,
+ token: randomBytes(16).toString('hex'),
+ signedAt: now,
+ readStatus: ReadStatus.OPENED,
+ sendStatus: SendStatus.SENT,
+ signingStatus: SigningStatus.SIGNED,
+ documentId: document.id,
+ },
+ });
+
+ const field = await prisma.field.create({
+ data: {
+ documentId: document.id,
+ recipientId: recipient.id,
+ type: FieldType.SIGNATURE,
+ page: 0,
+ positionX: 77,
+ positionY: 638,
+ inserted: false,
+ customText: '',
+ },
+ });
+
+ if (signatureDataUrl) {
+ document.document = await insertImageInPDF(
+ document.document,
+ signatureDataUrl,
+ field.positionX,
+ field.positionY,
+ field.page,
+ );
+ } else {
+ document.document = await insertTextInPDF(
+ document.document,
+ signatureText ?? '',
+ field.positionX,
+ field.positionY,
+ field.page,
+ );
+ }
+
+ await Promise.all([
+ prisma.signature.create({
+ data: {
+ fieldId: field.id,
+ recipientId: recipient.id,
+ signatureImageAsBase64: signatureDataUrl || undefined,
+ typedSignature: signatureDataUrl ? '' : signatureText,
+ },
+ }),
+ prisma.document.update({
+ where: {
+ id: document.id,
+ },
+ data: {
+ document: document.document,
+ },
+ }),
+ ]);
+ }
+
+ return res.status(200).json({
+ success: true,
+ message: 'Webhook received',
+ });
+ }
+
+ log('Unhandled webhook event', event.type);
+
+ return res.status(400).json({
+ success: false,
+ message: 'Unhandled webhook event',
+ });
+}
diff --git a/apps/marketing/src/providers/plausible.tsx b/apps/marketing/src/providers/plausible.tsx
new file mode 100644
index 000000000..dceaa4d93
--- /dev/null
+++ b/apps/marketing/src/providers/plausible.tsx
@@ -0,0 +1,13 @@
+'use client';
+
+import React from 'react';
+
+import NextPlausibleProvider from 'next-plausible';
+
+export type PlausibleProviderProps = {
+ children: React.ReactNode;
+};
+
+export const PlausibleProvider = ({ children }: PlausibleProviderProps) => {
+ return {children} ;
+};
diff --git a/apps/marketing/tailwind.config.js b/apps/marketing/tailwind.config.js
new file mode 100644
index 000000000..c7f6f1a19
--- /dev/null
+++ b/apps/marketing/tailwind.config.js
@@ -0,0 +1,11 @@
+/* eslint-disable @typescript-eslint/no-var-requires */
+const baseConfig = require('@documenso/tailwind-config');
+const path = require('path');
+
+module.exports = {
+ ...baseConfig,
+ content: [
+ ...baseConfig.content,
+ `${path.join(require.resolve('@documenso/ui'), '..')}/**/*.{ts,tsx}`,
+ ],
+};
diff --git a/apps/marketing/tsconfig.json b/apps/marketing/tsconfig.json
new file mode 100644
index 000000000..47acf99dc
--- /dev/null
+++ b/apps/marketing/tsconfig.json
@@ -0,0 +1,26 @@
+{
+ "extends": "@documenso/tsconfig/nextjs.json",
+ "compilerOptions": {
+ "allowJs": true,
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "paths": {
+ "~/*": [
+ "./src/*"
+ ]
+ },
+ "strictNullChecks": true
+ },
+ "include": [
+ "next-env.d.ts",
+ "**/*.ts",
+ "**/*.tsx",
+ ".next/types/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ]
+}
diff --git a/apps/web/.eslintrc.json b/apps/web/.eslintrc.json
deleted file mode 100644
index bd8a0104e..000000000
--- a/apps/web/.eslintrc.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": [
- "next/core-web-vitals"
- ],
- "rules": {
- "react/no-unescaped-entities": "off"
- }
-}
\ No newline at end of file
diff --git a/apps/web/.gitignore b/apps/web/.gitignore
deleted file mode 100644
index 5aad37adc..000000000
--- a/apps/web/.gitignore
+++ /dev/null
@@ -1,37 +0,0 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-
-# 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*
-
-# local env files
-.env*.local
-.env
-
-# vercel
-.vercel
-
-# typescript
-*.tsbuildinfo
-next-env.d.ts
diff --git a/apps/web/README.md b/apps/web/README.md
new file mode 100644
index 000000000..2df72cac5
--- /dev/null
+++ b/apps/web/README.md
@@ -0,0 +1 @@
+# @documenso/web
diff --git a/apps/web/components/billing-plans.tsx b/apps/web/components/billing-plans.tsx
deleted file mode 100644
index 4e7c6be3b..000000000
--- a/apps/web/components/billing-plans.tsx
+++ /dev/null
@@ -1,70 +0,0 @@
-import { useState } from "react";
-import { classNames } from "@documenso/lib";
-import { STRIPE_PLANS, fetchCheckoutSession, useSubscription } from "@documenso/lib/stripe";
-import { Button } from "@documenso/ui";
-import { Switch } from "@headlessui/react";
-
-export const BillingPlans = () => {
- const { subscription, isLoading } = useSubscription();
- const [isAnnual, setIsAnnual] = useState(false);
-
- return (
-
- {!subscription &&
- STRIPE_PLANS.map((plan) => (
-
-
{plan.name}
-
-
-
-
-
-
-
- Annual billing {" "}
- (Save $60)
-
-
-
-
-
- ${(isAnnual ? plan.prices.yearly.price : plan.prices.monthly.price).toFixed(2)}{" "}
- {isAnnual ? "/yr" : "/mo"}
-
-
-
- All you need for easy signing. Includes everything we build this year.
-
-
-
- fetchCheckoutSession({
- priceId: isAnnual ? plan.prices.yearly.priceId : plan.prices.monthly.priceId,
- }).then((res) => {
- if (res.success) {
- window.location.href = res.url;
- }
- })
- }>
- Subscribe
-
-
-
- ))}
-
- );
-};
diff --git a/apps/web/components/billing-warning.tsx b/apps/web/components/billing-warning.tsx
deleted file mode 100644
index bf68c44f2..000000000
--- a/apps/web/components/billing-warning.tsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import { useSubscription } from "@documenso/lib/stripe"
-import { PaperAirplaneIcon } from "@heroicons/react/24/outline";
-import { SubscriptionStatus } from '@prisma/client'
-import Link from "next/link";
-
-export const BillingWarning = () => {
- const { subscription } = useSubscription();
-
- return (
- <>
- {subscription?.status === SubscriptionStatus.PAST_DUE && (
-
-
-
-
-
-
- Your subscription is past due.{" "}
-
- Please update your payment information to avoid any service interruptions.
-
-
-
-
-
- )}
-
- {subscription?.status === SubscriptionStatus.INACTIVE && (
-
-
-
-
-
-
- Your subscription is inactive. You can continue to view and edit your documents,
- but you will not be able to send them or create new ones.{" "}
-
- You can update your payment information here
-
-
-
-
-
- )}
- >
- )
-}
\ No newline at end of file
diff --git a/apps/web/components/editor/editable-field.tsx b/apps/web/components/editor/editable-field.tsx
deleted file mode 100644
index 26444101f..000000000
--- a/apps/web/components/editor/editable-field.tsx
+++ /dev/null
@@ -1,86 +0,0 @@
-import React, { useState } from "react";
-import { IconButton } from "@documenso/ui";
-import Logo from "../logo";
-import { XCircleIcon } from "@heroicons/react/20/solid";
-import Draggable from "react-draggable";
-
-const stc = require("string-to-color");
-
-type FieldPropsType = {
- field: {
- color: string;
- type: string;
- position: any;
- positionX: number;
- positionY: number;
- id: string;
- Recipient: { name: ""; email: "" };
- };
- onPositionChanged: any;
- onDelete: any;
- hidden: boolean;
-};
-
-export default function EditableField(props: FieldPropsType) {
- const [field, setField]: any = useState(props.field);
- const [position, setPosition]: any = useState({
- x: props.field.positionX,
- y: props.field.positionY,
- });
- const nodeRef = React.createRef();
- const onControlledDrag = (e: any, position: any) => {
- const { x, y } = position;
- setPosition({ x, y });
- };
-
- const onDragStop = (e: any, position: any) => {
- if (!position) return;
- const { x, y } = position;
-
- props.onPositionChanged({ x, y }, props.field.id);
- };
-
- return (
- {
- e.preventDefault();
- e.stopPropagation();
- }}>
- {/* width: 192 height 96 */}
-
-
- {field.type}
- {field.type === "SIGNATURE" ? (
-
- {`${props.field.Recipient?.name} <${props.field.Recipient?.email}>`}
-
- ) : (
- ""
- )}
-
-
- {
- props.onDelete(props.field.id);
- }}>
-
-
-
- );
-}
diff --git a/apps/web/components/editor/field-type-selector.tsx b/apps/web/components/editor/field-type-selector.tsx
deleted file mode 100644
index c8a6ff454..000000000
--- a/apps/web/components/editor/field-type-selector.tsx
+++ /dev/null
@@ -1,68 +0,0 @@
-import { useEffect, useState } from "react";
-import { classNames } from "@documenso/lib";
-import { RadioGroup } from "@headlessui/react";
-import { FieldType } from "@prisma/client";
-
-const stc = require("string-to-color");
-
-export default function FieldTypeSelector(props: any) {
- const fieldTypes = [
- {
- name: "Signature",
- id: FieldType.SIGNATURE,
- },
- { name: "Date", id: FieldType.DATE },
- ];
-
- const [selectedFieldType, setSelectedFieldType] = useState(fieldTypes[0].id);
-
- useEffect(() => {
- props.onChange(selectedFieldType);
- }, [selectedFieldType]);
-
- return (
- {
- setSelectedFieldType(e);
- }}>
-
- {fieldTypes.map((fieldType) => (
- {
- if (e.button === 0) setSelectedFieldType(fieldType.id);
- }}
- key={fieldType.id}
- value={fieldType.id}
- className={({ checked, active }) =>
- classNames(
- checked ? "border-neon border-2" : "border-transparent",
- "relative block cursor-pointer select-none rounded-lg border bg-white px-3 py-2 hover:bg-slate-100 focus:outline-none sm:flex sm:justify-between"
- )
- }>
- {({ active, checked }) => (
- <>
-
-
-
-
-
- {" "}
- {fieldTypes.filter((e) => e.id === fieldType.id)[0].name}
-
-
-
-
- >
- )}
-
- ))}
-
-
- );
-}
diff --git a/apps/web/components/editor/pdf-editor.tsx b/apps/web/components/editor/pdf-editor.tsx
deleted file mode 100644
index c399148bd..000000000
--- a/apps/web/components/editor/pdf-editor.tsx
+++ /dev/null
@@ -1,120 +0,0 @@
-import { useState } from "react";
-import dynamic from "next/dynamic";
-import Link from "next/link";
-import { useRouter } from "next/router";
-import { createField } from "@documenso/features/editor";
-import { createOrUpdateField, deleteField } from "@documenso/lib/api";
-import { NEXT_PUBLIC_WEBAPP_URL } from "@documenso/lib/constants";
-import FieldTypeSelector from "./field-type-selector";
-import RecipientSelector from "./recipient-selector";
-import { InformationCircleIcon } from "@heroicons/react/24/outline";
-
-const stc = require("string-to-color");
-
-const PDFViewer = dynamic(() => import("./pdf-viewer"), {
- ssr: false,
-});
-
-export default function PDFEditor(props: any) {
- const router = useRouter();
- const [fields, setFields] = useState(props.document.Field);
- const [selectedRecipient, setSelectedRecipient]: any = useState();
- const [selectedFieldType, setSelectedFieldType] = useState();
- const noRecipients =
- props?.document.Recipient.length === 0 || props?.document.Recipient.every((e: any) => !e.email);
-
- function onPositionChangedHandler(position: any, id: any) {
- if (!position) return;
- const movedField = fields.find((e) => e.id == id);
- movedField.positionX = position.x.toFixed(0);
- movedField.positionY = position.y.toFixed(0);
- createOrUpdateField(props.document, movedField);
-
- // no instant redraw necessary, position information for saving or later rerender is enough
- // setFields(newFields);
- }
-
- function onDeleteHandler(id: any) {
- const field = fields.find((e) => e.id == id);
- const fieldIndex = fields.map((item) => item.id).indexOf(id);
- if (fieldIndex > -1) {
- const fieldWithoutRemoved = [...fields];
- const removedField = fieldWithoutRemoved.splice(fieldIndex, 1);
- setFields(fieldWithoutRemoved);
- deleteField(field).catch((err) => {
- setFields(fieldWithoutRemoved.concat(removedField));
- });
- }
- }
-
- return (
- <>
-
-
-
-
-
-
-
-
- This document does not have any recipients. Add recipients to create fields.
-
-
-
- Add Recipients
- →
-
-
-
-
-
-
{
- e.preventDefault();
- e.stopPropagation();
- }}
- onMouseDown={(e: any, page: number) => {
- if (e.button === 0) addField(e, page);
- }}>
-
-
-
-
-
-
- >
- );
-
- function addField(e: any, page: number) {
- if (!selectedRecipient) return;
- if (!selectedFieldType) return;
- if (noRecipients) return;
-
- const signatureField = createField(e, page, selectedRecipient, selectedFieldType);
-
- createOrUpdateField(props?.document, signatureField).then((res) => {
- setFields((prevState) => [...prevState, res]);
- });
- }
-}
diff --git a/apps/web/components/editor/pdf-signer.tsx b/apps/web/components/editor/pdf-signer.tsx
deleted file mode 100644
index 392dd0508..000000000
--- a/apps/web/components/editor/pdf-signer.tsx
+++ /dev/null
@@ -1,186 +0,0 @@
-import { useEffect, useState } from "react";
-import dynamic from "next/dynamic";
-import { useRouter } from "next/router";
-import { createField } from "@documenso/features/editor";
-import { createOrUpdateField, deleteField, signDocument } from "@documenso/lib/api";
-import { NEXT_PUBLIC_WEBAPP_URL } from "@documenso/lib/constants";
-import { Button } from "@documenso/ui";
-import Logo from "../logo";
-import SignatureDialog from "./signature-dialog";
-import { CheckBadgeIcon, InformationCircleIcon } from "@heroicons/react/24/outline";
-import { FieldType } from "@prisma/client";
-
-const PDFViewer = dynamic(() => import("./pdf-viewer"), {
- ssr: false,
-});
-
-export default function PDFSigner(props: any) {
- const router = useRouter();
- const [open, setOpen] = useState(false);
- const [signingDone, setSigningDone] = useState(false);
- const [localSignatures, setLocalSignatures] = useState([]);
- const [fields, setFields] = useState(props.fields);
- const signatureFields = fields.filter((field) => field.type === FieldType.SIGNATURE);
- const [dialogField, setDialogField] = useState();
-
- useEffect(() => {
- setSigningDone(checkIfSigningIsDone());
- }, [fields]);
-
- function onClick(item: any) {
- if (item.type === "SIGNATURE") {
- setDialogField(item);
- setOpen(true);
- }
- }
-
- function onDialogClose(dialogResult: any) {
- // todo handle signature removed from field, remove free field if dialogresult is empty (or the id )
- if (!dialogResult && dialogField.type === "FREE_SIGNATURE") {
- onDeleteHandler(dialogField.id);
- return;
- }
-
- if (!dialogResult) return;
-
- const signature = {
- fieldId: dialogField.id,
- type: dialogResult.type,
- typedSignature: dialogResult.typedSignature,
- signatureImage: dialogResult.signatureImage,
- };
-
- setLocalSignatures(localSignatures.concat(signature));
-
- fields.splice(
- fields.findIndex(function (i) {
- return i.id === signature.fieldId;
- }),
- 1
- );
- const signedField = { ...dialogField };
- signedField.signature = signature;
- setFields((prevState) => [...prevState, signedField]);
- setOpen(false);
- setDialogField(null);
- }
-
- return (
- <>
-
-
-
-
-
-
Documenso
-
-
-
-
- {props.document.User.name
- ? `${props.document.User.name} (${props.document.User.email})`
- : props.document.User.email}{" "}
- would like you to sign this document.
-
-
- {
- signDocument(props.document, localSignatures, `${router.query.token}`).then(
- () => {
- router.push(
- `/documents/${props.document.id}/signed?token=${router.query.token}`
- );
- }
- );
- }}>
- Done
-
-
-
-
-
- {signatureFields.length === 0 ? (
-
-
-
-
-
-
-
- You can sign this document anywhere you like, but maybe look for a signature line.
-
-
-
-
- ) : null}
- {}}
- onDelete={onDeleteHandler}>
- >
- );
-
- function checkIfSigningIsDone(): boolean {
- // Check if all fields are signed..
- if (signatureFields.length > 0) {
- // If there are no fields to sign at least one signature is enough
- return fields
- .filter((field) => field.type === FieldType.SIGNATURE)
- .every((field) => field.signature);
- } else {
- return localSignatures.length > 0;
- }
- }
-
- function addFreeSignature(e: any, page: number, recipient: any): any {
- const freeSignatureField = createField(e, page, recipient, FieldType.FREE_SIGNATURE);
-
- createOrUpdateField(props.document, freeSignatureField, recipient.token).then((res) => {
- setFields((prevState) => [...prevState, res]);
- setDialogField(res);
- setOpen(true);
- });
-
- return freeSignatureField;
- }
-
- function onDeleteHandler(id: any) {
- const field = fields.find((e) => e.id == id);
- const fieldIndex = fields.map((item) => item.id).indexOf(id);
- if (fieldIndex > -1) {
- const fieldWithoutRemoved = [...fields];
- const removedField = fieldWithoutRemoved.splice(fieldIndex, 1);
- setFields(fieldWithoutRemoved);
-
- const signaturesWithoutRemoved = [...localSignatures];
- const removedSignature = signaturesWithoutRemoved.splice(
- signaturesWithoutRemoved.findIndex(function (i) {
- return i.fieldId === id;
- }),
- 1
- );
-
- setLocalSignatures(signaturesWithoutRemoved);
- deleteField(field).catch((err) => {
- setFields(fieldWithoutRemoved.concat(removedField));
- setLocalSignatures(signaturesWithoutRemoved.concat(removedSignature));
- });
- }
- }
-}
diff --git a/apps/web/components/editor/pdf-viewer.jsx b/apps/web/components/editor/pdf-viewer.jsx
deleted file mode 100644
index 886c02206..000000000
--- a/apps/web/components/editor/pdf-viewer.jsx
+++ /dev/null
@@ -1,168 +0,0 @@
-import { Fragment, useState } from "react";
-import EditableField from "./editable-field";
-import SignableField from "./signable-field";
-import { FieldType } from "@prisma/client";
-import { Document, Page } from "react-pdf/dist/esm/entry.webpack5";
-import short from "short-uuid";
-
-export default function PDFViewer(props) {
- const [numPages, setNumPages] = useState(null);
- const [loading, setLoading] = useState(true);
- const [pageHeight, setPageHeight] = useState(0);
-
- function onPositionChangedHandler(position, id) {
- props.onPositionChanged(position, id);
- }
-
- function onDeleteHandler(id) {
- props.onDelete(id);
- }
-
- function onDocumentLoadSuccess({ numPages: nextNumPages }) {
- setNumPages(nextNumPages);
- }
-
- const options = {
- cMapUrl: "cmaps/",
- cMapPacked: true,
- standardFontDataUrl: "standard_fonts/",
- };
-
- return (
- <>
-
-
-
- {Array.from({ length: numPages }, (_, index) => (
-
- {
- if (e.button === 0) props.onMouseDown(e, index);
- }}
- onMouseUp={(e) => {
- if (e.button === 0) props.onMouseUp(e, index);
- }}
- key={short.generate().toString()}
- style={{
- position: "relative",
- ...props.style,
- }}
- className="mx-auto w-fit">
-
{
- if (e.height) setPageHeight(e.height);
- setLoading(false);
- }}
- onRenderError={() => setLoading(false)}>
- {props?.fields
- .filter((field) => field.page === index)
- .map((field) =>
- props.readonly ? (
-
- ) : (
-
- )
- )}
-
-
- ))}
-
-
-
- >
- );
-}
diff --git a/apps/web/components/editor/recipient-selector.tsx b/apps/web/components/editor/recipient-selector.tsx
deleted file mode 100644
index 30c90025d..000000000
--- a/apps/web/components/editor/recipient-selector.tsx
+++ /dev/null
@@ -1,93 +0,0 @@
-import { Fragment, useEffect, useState } from "react";
-import { classNames } from "@documenso/lib";
-import { Listbox, Transition } from "@headlessui/react";
-import { CheckIcon, ChevronUpDownIcon } from "@heroicons/react/24/outline";
-
-const stc = require("string-to-color");
-
-export default function RecipientSelector(props: any) {
- const [selectedRecipient, setSelectedRecipient]: any = useState(props?.recipients[0]);
-
- useEffect(() => {
- props.onChange(selectedRecipient);
- }, [selectedRecipient]);
-
- return (
- {
- setSelectedRecipient(e);
- }}>
- {({ open }) => (
-
-
-
-
-
- {`${selectedRecipient?.name} <${selectedRecipient?.email}>`}
-
-
-
-
-
-
-
-
-
- {props?.recipients.map((recipient: any) => (
-
- classNames(
- active ? "bg-neon-dark text-white" : "text-gray-900",
- "relative cursor-default select-none py-2 pl-3 pr-9 aria-disabled:opacity-50 aria-disabled:cursor-not-allowed"
- )
- }
- value={recipient}>
- {({ selected, active }) => (
- <>
-
-
-
- {`${recipient?.name} <${recipient?.email || 'unknown'}>`}
-
-
-
- {selected ? (
-
-
-
- ) : null}
- >
- )}
-
- ))}
-
-
-
- )}
-
- );
-}
diff --git a/apps/web/components/editor/signable-field.tsx b/apps/web/components/editor/signable-field.tsx
deleted file mode 100644
index 29a8559e9..000000000
--- a/apps/web/components/editor/signable-field.tsx
+++ /dev/null
@@ -1,90 +0,0 @@
-import React, { useState } from "react";
-import { classNames } from "@documenso/lib";
-import { IconButton } from "@documenso/ui";
-import { XCircleIcon } from "@heroicons/react/20/solid";
-import Draggable from "react-draggable";
-
-const stc = require("string-to-color");
-
-type FieldPropsType = {
- field: {
- color: string;
- type: string;
- position: any;
- positionX: number;
- positionY: number;
- id: string;
- Recipient: { name: ""; email: "" };
- };
- onClick: any;
- onDelete: any;
-};
-
-export default function SignableField(props: FieldPropsType) {
- const [field, setField]: any = useState(props.field);
- const [position, setPosition]: any = useState({
- x: props.field.positionX,
- y: props.field.positionY,
- });
- const nodeRef = React.createRef();
-
- return (
- {
- // e.preventDefault();
- e.stopPropagation();
- }}>
- {
- if (!field?.signature) props.onClick(props.field);
- }}
- ref={nodeRef}
- className={classNames(
- "absolute top-0 left-0 m-auto h-16 w-48 select-none flex-row-reverse text-center text-lg font-bold opacity-80",
- field.type === "SIGNATURE" ? "cursor-pointer hover:brightness-50" : "cursor-not-allowed"
- )}
- style={{
- background: stc(props.field.Recipient.email),
- }}>
-
- {field.type === "SIGNATURE" ? "SIGN HERE" : ""}
- {field.type === "DATE" ? Date (filled on sign) : ""}
-
-
- {field?.signature?.type === "type" ? (
-
{field?.signature.typedSignature}
- ) : (
- ""
- )}
-
- {field?.signature?.type === "draw" ? (
-
- ) : (
- ""
- )}
-
{
- event.preventDefault();
- event.stopPropagation();
- const newField = { ...field };
- newField.signature = null;
- setField(newField);
- // remove not only signature but whole field if it is a freely places signature
- if (field.type === "FREE_SIGNATURE") props.onDelete(field.id);
- }}
- />
-
-
-
- );
-}
diff --git a/apps/web/components/editor/signature-dialog.tsx b/apps/web/components/editor/signature-dialog.tsx
deleted file mode 100644
index 3a7b9f369..000000000
--- a/apps/web/components/editor/signature-dialog.tsx
+++ /dev/null
@@ -1,207 +0,0 @@
-import { Fragment, useEffect, useState } from "react";
-import { classNames } from "@documenso/lib";
-import { localStorage } from "@documenso/lib";
-import { Button, IconButton } from "@documenso/ui";
-import { Dialog, Transition } from "@headlessui/react";
-import { LanguageIcon, PencilIcon, TrashIcon } from "@heroicons/react/24/outline";
-import SignatureCanvas from "react-signature-canvas";
-import { useDebouncedValue } from "../../hooks/use-debounced-value";
-
-const tabs = [
- { name: "Type", icon: LanguageIcon, current: true },
- { name: "Draw", icon: PencilIcon, current: false },
-];
-
-export default function SignatureDialog(props: any) {
- const [currentTab, setCurrentTab] = useState(tabs[0]);
- const [typedSignature, setTypedSignature] = useState("");
- const [signatureEmpty, setSignatureEmpty] = useState(true);
- // This is a workaround to prevent the canvas from being rendered when the dialog is closed
- // we also need the debounce to avoid rendering while transitions are occurring.
- const showCanvas = useDebouncedValue(props.open, 1);
- let signCanvasRef: any | undefined;
-
- useEffect(() => {
- setTypedSignature(localStorage.getItem("typedSignature") || "");
- }, []);
-
- return (
- <>
-
- {
- props.setOpen(false);
- setCurrent(tabs[0]);
- }}>
-
-
-
-
-
-
-
-
-
-
- {isCurrentTab("Type") ? (
-
-
- {
- setTypedSignature(e.target.value);
- }}
- className={classNames(
- typedSignature ? "font-qwigley text-4xl" : "",
- "focus:border-neon focus:ring-neon mt-14 block h-10 w-full text-center align-bottom text-2xl leading-none"
- )}
- placeholder="Kindly type your name"
- />
-
-
- {
- props.onClose();
- props.setOpen(false);
- setCurrent(tabs[0]);
- }}>
- Cancel
-
- {
- localStorage.setItem("typedSignature", typedSignature);
- props.onClose({
- type: "type",
- typedSignature: typedSignature,
- });
- }}>
- Sign
-
-
-
- ) : (
- ""
- )}
- {isCurrentTab("Draw") ? (
-
- {showCanvas && (
-
{
- signCanvasRef = ref;
- }}
- canvasProps={{
- className: "sigCanvas border-b b-2 border-slate w-full h-full mb-3",
- }}
- clearOnResize={true}
- onEnd={() => {
- setSignatureEmpty(signCanvasRef?.isEmpty());
- }}
- />
- )}
-
-
-
{
- signCanvasRef?.clear();
- setSignatureEmpty(signCanvasRef?.isEmpty());
- }}
- />
-
-
- {
- props.onClose();
- props.setOpen(false);
- setCurrent(tabs[0]);
- }}>
- Cancel
-
-
- {
- props.onClose({
- type: "draw",
- signatureImage: signCanvasRef.toDataURL("image/png"),
- });
- }}
- disabled={signatureEmpty}>
- Sign
-
-
-
-
- ) : (
- ""
- )}
-
-
-
-
-
-
-
- >
- );
-
- function isCurrentTab(tabName: string): boolean {
- return currentTab.name === tabName;
- }
-
- function setCurrent(t: any) {
- tabs.forEach((tab) => {
- tab.current = tab.name === t.name;
- });
- setCurrentTab(t);
- }
-}
diff --git a/apps/web/components/layout.tsx b/apps/web/components/layout.tsx
deleted file mode 100644
index aa0fad8dc..000000000
--- a/apps/web/components/layout.tsx
+++ /dev/null
@@ -1,53 +0,0 @@
-import { useEffect } from "react";
-import Link from "next/link";
-import { useRouter } from "next/router";
-import { NEXT_PUBLIC_WEBAPP_URL } from "@documenso/lib/constants";
-import { useSubscription } from "@documenso/lib/stripe";
-import { BillingWarning } from "./billing-warning";
-import Navigation from "./navigation";
-import { PaperAirplaneIcon } from "@heroicons/react/24/outline";
-import { SubscriptionStatus } from "@prisma/client";
-import { useSession } from "next-auth/react";
-
-function useRedirectToLoginIfUnauthenticated() {
- const { data: session, status } = useSession();
- const loading = status === "loading";
- const router = useRouter();
-
- useEffect(() => {
- if (!loading && !session) {
- router.replace({
- pathname: "/login",
- query: {
- callbackUrl: `${NEXT_PUBLIC_WEBAPP_URL}/${location.pathname}${location.search}`,
- },
- });
- }
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [loading, session]);
-
- return {
- loading: loading && !session,
- session,
- };
-}
-
-export default function Layout({ children }: any) {
- useRedirectToLoginIfUnauthenticated();
-
- const { subscription } = useSubscription();
-
- return (
- <>
-
-
-
-
-
-
- {children}
-
-
- >
- );
-}
diff --git a/apps/web/components/login.tsx b/apps/web/components/login.tsx
deleted file mode 100644
index 6c1ec2896..000000000
--- a/apps/web/components/login.tsx
+++ /dev/null
@@ -1,169 +0,0 @@
-import { useState } from "react";
-import Link from "next/link";
-import { useRouter } from "next/router";
-import { NEXT_PUBLIC_WEBAPP_URL } from "@documenso/lib/constants";
-import { Button } from "@documenso/ui";
-import Logo from "./logo";
-import { LockClosedIcon } from "@heroicons/react/20/solid";
-import { signIn } from "next-auth/react";
-import { FormProvider, useForm } from "react-hook-form";
-import { toast } from "react-hot-toast";
-
-interface LoginValues {
- email: string;
- password: string;
- totpCode: string;
- csrfToken: string;
-}
-
-export default function Login(props: any) {
- const router = useRouter();
- const methods = useForm();
- const { register, formState } = methods;
- const [errorMessage, setErrorMessage] = useState(null);
- let callbackUrl = typeof router.query?.callbackUrl === "string" ? router.query.callbackUrl : "";
-
- // If not absolute URL, make it absolute
- if (!/^https?:\/\//.test(callbackUrl)) {
- callbackUrl = `${NEXT_PUBLIC_WEBAPP_URL}/${callbackUrl}`;
- }
-
- const onSubmit = async (values: LoginValues) => {
- setErrorMessage(null);
- const res = await toast.promise(
- signIn<"credentials">("credentials", {
- ...values,
- callbackUrl,
- redirect: false,
- }),
- {
- loading: "Logging in...",
- success: "Login successful.",
- error: "Could not log in :/",
- },
- {
- style: {
- minWidth: "200px",
- },
- }
- );
- if (!res) {
- setErrorMessage("Error");
- toast.dismiss();
- toast.error("Something went wrong.");
- } else if (!res.error) {
- // we're logged in, let's do a hard refresh to the original url
- router.push(callbackUrl);
- } else {
- toast.dismiss();
- if (res.status == 401) {
- toast.error("Invalid email or password.");
- } else {
- toast.error("Could not login.");
- }
- }
- };
-
- return (
- <>
-
-
-
-
-
- Sign in to your account
-
-
-
-
-
-
-
- {/* */}
- >
- );
-}
diff --git a/apps/web/components/logo.tsx b/apps/web/components/logo.tsx
deleted file mode 100644
index 2534c95e1..000000000
--- a/apps/web/components/logo.tsx
+++ /dev/null
@@ -1,80 +0,0 @@
-import Link from "next/link";
-import { classNames } from "@documenso/lib";
-
-export default function Logo(props: any) {
- return (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- );
-}
diff --git a/apps/web/components/navigation.tsx b/apps/web/components/navigation.tsx
deleted file mode 100644
index 7d0c4edfa..000000000
--- a/apps/web/components/navigation.tsx
+++ /dev/null
@@ -1,269 +0,0 @@
-import { Fragment, useEffect, useState } from "react";
-import Link from "next/link";
-import { useRouter } from "next/router";
-import { getUser } from "@documenso/lib/api";
-import Logo from "./logo";
-import { Disclosure, Menu, Transition } from "@headlessui/react";
-import {
- ArrowRightOnRectangleIcon,
- Bars3Icon,
- BellIcon,
- ChartBarIcon,
- DocumentTextIcon,
- UserCircleIcon,
- WrenchIcon,
- XMarkIcon,
-} from "@heroicons/react/24/outline";
-import avatarFromInitials from "avatar-from-initials";
-import { signOut, useSession } from "next-auth/react";
-import { toast } from "react-hot-toast";
-
-const navigation = [
- {
- name: "Dashboard",
- href: "/dashboard",
- current: false,
- icon: ChartBarIcon,
- },
- {
- name: "Documents",
- href: "/documents",
- current: false,
- icon: DocumentTextIcon,
- },
- {
- name: "Settings",
- href: "/settings/profile",
- current: true,
- icon: WrenchIcon,
- },
-];
-
-const userNavigation = [
- {
- name: "Your Profile",
- href: "/settings/profile",
- icon: UserCircleIcon,
- },
- {
- name: "Sign out",
- href: "",
- click: async (e: any) => {
- e.preventDefault();
- const res: any = await toast.promise(
- signOut({ callbackUrl: "/login" }),
- {
- loading: "Logging out...",
- success: "Your are logged out.",
- error: "Could not log out :/",
- },
- {
- style: {
- minWidth: "200px",
- },
- success: {
- duration: 10000,
- },
- }
- );
- },
- icon: ArrowRightOnRectangleIcon,
- },
-];
-
-function classNames(...classes: any) {
- return classes.filter(Boolean).join(" ");
-}
-
-type UserType = {
- id?: number | undefined;
- name?: string | null;
- email?: string | null;
- image?: string | null;
-};
-
-export default function TopNavigation() {
- const router = useRouter();
- const session = useSession();
- const [user, setUser] = useState({
- email: "",
- name: "",
- });
-
- useEffect(() => {
- getUser().then((res) => {
- res.json().then((j: any) => {
- setUser(j);
- });
- });
- }, [session]);
-
- navigation.forEach((element) => {
- element.current =
- router.route.endsWith("/" + element.href.split("/")[1]) ||
- router.route.includes(element.href.split("/")[1]);
- });
-
- return (
- <>
-
- {({ open, close }) => (
- <>
-
-
-
-
-
-
-
-
- {navigation.map((item) => (
-
-
- {item.name}
-
- ))}
-
-
-
{
- document?.getElementById("mb")?.click();
- }}
- className="hidden cursor-pointer px-3 hover:bg-gray-200 sm:ml-6 sm:flex sm:items-center">
-
- {user?.name || ""}
- {user?.email}
-
-
-
-
-
- {userNavigation.map((item) => (
-
- {({ active }) => (
-
-
- {item.name}
-
- )}
-
- ))}
-
-
-
-
-
- {/* Mobile menu button */}
-
- Open main menu
- {open ? (
-
- ) : (
-
- )}
-
-
-
-
-
-
-
- {navigation.map((item) => (
- {
- close();
- }}>
- {item.name}
-
- ))}
-
-
-
-
-
-
{user?.name || ""}
-
{user?.email}
-
-
-
- {userNavigation.map((item) => (
- {
- close();
- }
- : item.click
- }
- href={item.href}
- className="block px-4 py-2 text-base font-medium text-gray-500 hover:bg-gray-100 hover:text-gray-800">
- {item.name}
-
- ))}
-
-
-
- >
- )}
-
- {/* */}
- >
- );
-}
diff --git a/apps/web/components/settings.tsx b/apps/web/components/settings.tsx
deleted file mode 100644
index 9e958d82b..000000000
--- a/apps/web/components/settings.tsx
+++ /dev/null
@@ -1,297 +0,0 @@
-import { ChangeEvent, useEffect, useState } from "react";
-import Head from "next/head";
-import Link from "next/link";
-import { useRouter } from "next/router";
-import { updateUser } from "@documenso/features";
-import { getUser } from "@documenso/lib/api";
-import { fetchPortalSession, isSubscriptionsEnabled, useSubscription } from "@documenso/lib/stripe";
-import { Button } from "@documenso/ui";
-import { BillingPlans } from "./billing-plans";
-import { CreditCardIcon, KeyIcon, UserCircleIcon } from "@heroicons/react/24/outline";
-import { SubscriptionStatus } from "@prisma/client";
-import { useSession } from "next-auth/react";
-
-const subNavigation = [
- {
- name: "Profile",
- href: "/settings/profile",
- icon: UserCircleIcon,
- current: true,
- },
- {
- name: "Password",
- href: "/settings/password",
- icon: KeyIcon,
- current: false,
- },
-];
-
-if (process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS === "true") {
- subNavigation.push({
- name: "Billing",
- href: "/settings/billing",
- icon: CreditCardIcon,
- current: false,
- });
-}
-
-function classNames(...classes: any) {
- return classes.filter(Boolean).join(" ");
-}
-
-export default function Setttings() {
- const session = useSession();
- const { subscription, hasSubscription } = useSubscription();
- const [user, setUser] = useState({
- email: "",
- name: "",
- });
- useEffect(() => {
- getUser().then((res: any) => {
- res.json().then((j: any) => {
- setUser(j);
- });
- });
- }, [session]);
-
- const router = useRouter();
- subNavigation.forEach((element) => {
- element.current = element.href == router.route;
- });
-
- const [savingTimeout, setSavingTimeout] = useState();
- const [password, setPassword] = useState("");
- function handleNameChange(e: ChangeEvent): void {
- let u = { ...user };
- u.name = e.target.value;
- setUser(u);
- clearTimeout(savingTimeout);
- const t = setTimeout(() => {
- updateUser(u);
- }, 1000);
-
- setSavingTimeout(t);
- }
-
- const handleKeyPress = (event: any) => {
- if (event.key === "Enter") {
- clearTimeout(savingTimeout);
- updateUser(user);
- }
- };
-
- return (
-
-
-
Settings | Documenso
-
-
-
-
-
-
-
- {subNavigation.map((item) => (
-
-
- {item.name}
-
- ))}
-
-
-
-
-
-
e.current)[0]?.name !== subNavigation[1].name}
- className="min-h-[251px] divide-y divide-gray-200 lg:col-span-9">
- {/* Passwords section */}
-
-
-
Update Password
-
-
-
-
- New Password
-
-
- setPassword(e.target.value)}
- className="focus:border-neon focus:ring-neon mt-1 block w-full rounded-md border border-gray-300 py-2 px-3 shadow-sm focus:outline-none sm:text-sm"
- />
-
-
-
updateUser({ ...user, password })}>
- Save
-
-
-
-
-
-
e.current)?.name !== subNavigation.at(2)?.name
- }
- className="min-h-[251px] divide-y divide-gray-200 lg:col-span-9">
- {/* Billing section */}
-
-
-
Billing
-
- {!isSubscriptionsEnabled() && (
-
- Subscriptions are not enabled on this instance, you have nothing to do here.
-
- )}
-
- {isSubscriptionsEnabled() && (
- <>
-
- Your subscription is currently{" "}
-
- {subscription?.status &&
- subscription?.status !== SubscriptionStatus.INACTIVE
- ? "Active"
- : "Inactive"}
-
- .
-
-
- {subscription?.status === SubscriptionStatus.PAST_DUE && (
-
- Your subscription is past due. Please update your payment details to
- continue using the service without interruption.
-
- )}
-
-
-
-
-
-
- {subscription && (
-
{
- if (isSubscriptionsEnabled() && subscription?.customerId) {
- fetchPortalSession({
- id: subscription.customerId,
- }).then((res) => {
- if (res.success) {
- window.location.href = res.url;
- }
- });
- }
- }}>
- Manage my subscription
-
- )}
-
- >
- )}
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/apps/web/components/signup.tsx b/apps/web/components/signup.tsx
deleted file mode 100644
index 8092c0198..000000000
--- a/apps/web/components/signup.tsx
+++ /dev/null
@@ -1,200 +0,0 @@
-import Link from "next/link";
-import { signup } from "@documenso/lib/api";
-import { NEXT_PUBLIC_WEBAPP_URL } from "@documenso/lib/constants";
-import { Button } from "@documenso/ui";
-import { XCircleIcon } from "@heroicons/react/24/outline";
-import { signIn } from "next-auth/react";
-import { FormProvider, SubmitHandler, useForm } from "react-hook-form";
-import { toast } from "react-hot-toast";
-
-type FormValues = {
- email: string;
- password: string;
- apiError: string;
-};
-
-export default function Signup(props: { source: string }) {
- const form = useForm({});
- const {
- register,
- trigger,
- formState: { errors, isSubmitting },
- } = form;
-
- const handleErrors = async (resp: Response) => {
- if (!resp.ok) {
- const err = await resp.json();
- throw new Error(err.message);
- }
- };
-
- const signUp: SubmitHandler = async (data) => {
- await toast
- .promise(
- signup(props.source, data)
- .then(handleErrors)
- .then(async () => {
- await signIn<"credentials">("credentials", {
- ...data,
- callbackUrl: `${NEXT_PUBLIC_WEBAPP_URL}/dashboard`,
- });
- }),
- {
- loading: "Creating your account...",
- success: "Done!",
- error: (err) => err.message,
- },
- {
- style: {
- minWidth: "200px",
- },
- }
- )
- .catch((err) => {
- toast.dismiss();
- form.setError("apiError", { message: err.message });
- });
- };
-
- function renderApiError() {
- if (!errors.apiError) return;
- return (
-
-
-
-
-
-
-
- {errors.apiError && {errors.apiError?.message}
}
-
-
-
-
- );
- }
-
- function renderFormValidation() {
- if (!errors.password && !errors.email) return;
- return (
-
-
-
-
-
-
-
- {errors.password && {errors.password?.message}
}
-
-
- {errors.email && {errors.email?.message}
}
-
-
-
-
- );
- }
-
- return (
- <>
-
-
-
-
- Create a shiny, new Documenso Account{" "}
-
-
-
-
-
- Create your account and start using
- state-of-the-art document signing for free.
-
-
- {renderApiError()}
- {renderFormValidation()}
-
-
-
-
-
- >
- );
-}
diff --git a/apps/web/hooks/use-debounced-value.ts b/apps/web/hooks/use-debounced-value.ts
deleted file mode 100644
index eebbec716..000000000
--- a/apps/web/hooks/use-debounced-value.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { useEffect, useState } from "react";
-
-export function useDebouncedValue(value: T, delay: number) {
- // State and setters for debounced value
- const [debouncedValue, setDebouncedValue] = useState(value);
-
- useEffect(() => {
- const handler = setTimeout(() => {
- setDebouncedValue(value);
- }, delay);
-
- return () => {
- clearTimeout(handler);
- };
- }, [value, delay]);
-
- return debouncedValue;
-}
diff --git a/apps/web/next-env.d.ts b/apps/web/next-env.d.ts
new file mode 100644
index 000000000..fd36f9494
--- /dev/null
+++ b/apps/web/next-env.d.ts
@@ -0,0 +1,6 @@
+///
+///
+///
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/apps/web/next.config.js b/apps/web/next.config.js
index 1ea48cefb..b57b41780 100644
--- a/apps/web/next.config.js
+++ b/apps/web/next.config.js
@@ -1,18 +1,15 @@
-require("dotenv").config({ path: "../../.env" });
+/* eslint-disable @typescript-eslint/no-var-requires */
+const path = require('path');
+
+const { parsed: env } = require('dotenv').config({
+ path: path.join(__dirname, '../../.env.local'),
+});
/** @type {import('next').NextConfig} */
-const nextConfig = {
+const config = {
reactStrictMode: true,
- swcMinify: false,
- transpilePackages: [
- "@documenso/prisma",
- "@documenso/lib",
- "@documenso/ui",
- "@documenso/pdf",
- "@documenso/features",
- "@documenso/signing",
- "react-signature-canvas",
- ],
+ transpilePackages: ['@documenso/lib', '@documenso/prisma', '@documenso/trpc', '@documenso/ui'],
+ env,
};
-module.exports = nextConfig;
+module.exports = config;
diff --git a/apps/web/package-lock.json b/apps/web/package-lock.json
deleted file mode 100644
index ec9561629..000000000
--- a/apps/web/package-lock.json
+++ /dev/null
@@ -1,10729 +0,0 @@
-{
- "name": "@documenso/web",
- "version": "0.1.0",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "name": "@documenso/web",
- "version": "0.1.0",
- "dependencies": {
- "@headlessui/react": "^1.7.4",
- "@heroicons/react": "^2.0.13",
- "@tailwindcss/forms": "^0.5.3",
- "@types/node": "18.11.9",
- "@types/react": "18.0.25",
- "@types/react-dom": "18.0.9",
- "dotenv": "^16.0.3",
- "eslint": "8.27.0",
- "eslint-config-next": "13.0.3",
- "install": "^0.13.0",
- "next": "13.0.3",
- "next-auth": "^4.18.3",
- "next-transpile-modules": "^10.0.0",
- "npm": "^9.1.3",
- "react": "18.2.0",
- "react-dom": "18.2.0",
- "typescript": "4.8.4"
- },
- "devDependencies": {
- "autoprefixer": "^10.4.13",
- "postcss": "^8.4.19",
- "tailwindcss": "^3.2.4"
- }
- },
- "node_modules/@babel/runtime": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz",
- "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==",
- "dependencies": {
- "regenerator-runtime": "^0.13.11"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/runtime-corejs3": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz",
- "integrity": "sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==",
- "dependencies": {
- "core-js-pure": "^3.25.1",
- "regenerator-runtime": "^0.13.11"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
- "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.4.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@headlessui/react": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.7.tgz",
- "integrity": "sha512-BqDOd/tB9u2tA0T3Z0fn18ktw+KbVwMnkxxsGPIH2hzssrQhKB5n/6StZOyvLYP/FsYtvuXfi9I0YowKPv2c1w==",
- "dependencies": {
- "client-only": "^0.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "react": "^16 || ^17 || ^18",
- "react-dom": "^16 || ^17 || ^18"
- }
- },
- "node_modules/@heroicons/react": {
- "version": "2.0.13",
- "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.13.tgz",
- "integrity": "sha512-iSN5XwmagrnirWlYEWNPdCDj9aRYVD/lnK3JlsC9/+fqGF80k8C7rl+1HCvBX0dBoagKqOFBs6fMhJJ1hOg1EQ==",
- "peerDependencies": {
- "react": ">= 16"
- }
- },
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.11.8",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
- "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
- "dependencies": {
- "@humanwhocodes/object-schema": "^1.2.1",
- "debug": "^4.1.1",
- "minimatch": "^3.0.5"
- },
- "engines": {
- "node": ">=10.10.0"
- }
- },
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "engines": {
- "node": ">=12.22"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
- },
- "node_modules/@next/env": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-13.0.3.tgz",
- "integrity": "sha512-/4WzeG61Ot/PxsghXkSqQJ6UohFfwXoZ3dtsypmR9EBP+OIax9JRq0trq8Z/LCT9Aq4JbihVkaazRWguORjTAw=="
- },
- "node_modules/@next/eslint-plugin-next": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.0.3.tgz",
- "integrity": "sha512-slmTAHNKDyc7jhx4VF8lFbmOPWJ3PShtUUWpb6x9+ga59CyOxgP6AdcDhxfapnWYACKe/TwYiaveufu7LqXgZg==",
- "dependencies": {
- "glob": "7.1.7"
- }
- },
- "node_modules/@next/swc-android-arm-eabi": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.3.tgz",
- "integrity": "sha512-uxfUoj65CdFc1gX2q7GtBX3DhKv9Kn343LMqGNvXyuTpYTGMmIiVY7b9yF8oLWRV0gVKqhZBZifUmoPE8SJU6Q==",
- "cpu": [
- "arm"
- ],
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-android-arm64": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.3.tgz",
- "integrity": "sha512-t2k+WDfg7Cq2z/EnalKGsd/9E5F4Hdo1xu+UzZXYDpKUI9zgE6Bz8ajQb8m8txv3qOaWdKuDa5j5ziq9Acd1Xw==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-darwin-arm64": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.3.tgz",
- "integrity": "sha512-wV6j6SZ1bc/YHOLCLk9JVqaZTCCey6HBV7inl2DriHsHqIcO6F3+QiYf0KXwRP9BE0GSZZrYd5mZQm2JPTHdJA==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-darwin-x64": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.3.tgz",
- "integrity": "sha512-jaI2CMuYWvUtRixV3AIjUhnxUDU1FKOR+8hADMhYt3Yz+pCKuj4RZ0n0nY5qUf3qT1AtvnJXEgyatSFJhSp/wQ==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-freebsd-x64": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.3.tgz",
- "integrity": "sha512-nbyT0toBTJrcj5TCB9pVnQpGJ3utGyQj4CWegZs1ulaeUQ5Z7CS/qt8nRyYyOKYHtOdSCJ9Nw5F/RgKNkdpOdw==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-arm-gnueabihf": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.3.tgz",
- "integrity": "sha512-1naLxYvRUQCoFCU1nMkcQueRc0Iux9xBv1L5pzH2ejtIWFg8BrSgyuluJG4nyAhFCx4WG863IEIkAaefOowVdA==",
- "cpu": [
- "arm"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-arm64-gnu": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.3.tgz",
- "integrity": "sha512-3Z4A8JkuGWpMVbUhUPQInK/SLY+kijTT78Q/NZCrhLlyvwrVxaQALJNlXzxDLraUgv4oVH0Wz/FIw1W9PUUhxA==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-arm64-musl": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.3.tgz",
- "integrity": "sha512-MoYe9SM40UaunTjC+01c9OILLH3uSoeri58kDMu3KF/EFEvn1LZ6ODeDj+SLGlAc95wn46hrRJS2BPmDDE+jFQ==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-x64-gnu": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.3.tgz",
- "integrity": "sha512-z22T5WGnRanjLMXdF0NaNjSpBlEzzY43t5Ysp3nW1oI6gOkub6WdQNZeHIY7A2JwkgSWZmtjLtf+Fzzz38LHeQ==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-x64-musl": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.3.tgz",
- "integrity": "sha512-ZOMT7zjBFmkusAtr47k8xs/oTLsNlTH6xvYb+iux7yly2hZGwhfBLzPGBsbeMZukZ96IphJTagT+C033s6LNVA==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-arm64-msvc": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.3.tgz",
- "integrity": "sha512-Q4BM16Djl+Oah9UdGrvjFYgoftYB2jNd+rtRGPX5Mmxo09Ry/KiLbOZnoUyoIxKc1xPyfqMXuaVsAFQLYs0KEQ==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-ia32-msvc": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.3.tgz",
- "integrity": "sha512-Sa8yGkNeRUsic8Qjf7MLIAfP0p0+einK/wIqJ8UO1y76j+8rRQu42AMs5H4Ax1fm9GEYq6I8njHtY59TVpTtGQ==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-x64-msvc": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.3.tgz",
- "integrity": "sha512-IAptmSqA7k4tQzaw2NAkoEjj3+Dz9ceuvlEHwYh770MMDL4V0ku2m+UHrmn5HUCEDHhgwwjg2nyf6728q2jr1w==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@panva/hkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.0.2.tgz",
- "integrity": "sha512-MSAs9t3Go7GUkMhpKC44T58DJ5KGk2vBo+h1cqQeqlMfdGkxaVB78ZWpv9gYi/g2fa4sopag9gJsNvS8XGgWJA==",
- "funding": {
- "url": "https://github.com/sponsors/panva"
- }
- },
- "node_modules/@rushstack/eslint-patch": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz",
- "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg=="
- },
- "node_modules/@swc/helpers": {
- "version": "0.4.11",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz",
- "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@tailwindcss/forms": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz",
- "integrity": "sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==",
- "dependencies": {
- "mini-svg-data-uri": "^1.2.3"
- },
- "peerDependencies": {
- "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1"
- }
- },
- "node_modules/@types/json5": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
- },
- "node_modules/@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg=="
- },
- "node_modules/@types/prop-types": {
- "version": "15.7.5",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
- "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
- },
- "node_modules/@types/react": {
- "version": "18.0.25",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz",
- "integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==",
- "dependencies": {
- "@types/prop-types": "*",
- "@types/scheduler": "*",
- "csstype": "^3.0.2"
- }
- },
- "node_modules/@types/react-dom": {
- "version": "18.0.9",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz",
- "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==",
- "dependencies": {
- "@types/react": "*"
- }
- },
- "node_modules/@types/scheduler": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
- "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "5.48.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz",
- "integrity": "sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==",
- "dependencies": {
- "@typescript-eslint/scope-manager": "5.48.0",
- "@typescript-eslint/types": "5.48.0",
- "@typescript-eslint/typescript-estree": "5.48.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "5.48.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz",
- "integrity": "sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==",
- "dependencies": {
- "@typescript-eslint/types": "5.48.0",
- "@typescript-eslint/visitor-keys": "5.48.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "5.48.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.0.tgz",
- "integrity": "sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.48.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz",
- "integrity": "sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==",
- "dependencies": {
- "@typescript-eslint/types": "5.48.0",
- "@typescript-eslint/visitor-keys": "5.48.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.48.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz",
- "integrity": "sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==",
- "dependencies": {
- "@typescript-eslint/types": "5.48.0",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/acorn": {
- "version": "8.8.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
- "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/acorn-node": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
- "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
- "dependencies": {
- "acorn": "^7.0.0",
- "acorn-walk": "^7.0.0",
- "xtend": "^4.0.2"
- }
- },
- "node_modules/acorn-node/node_modules/acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
- "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/arg": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
- },
- "node_modules/aria-query": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
- "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
- "dependencies": {
- "@babel/runtime": "^7.10.2",
- "@babel/runtime-corejs3": "^7.10.2"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/array-includes": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
- "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "is-string": "^1.0.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/array.prototype.flat": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
- "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.flatmap": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
- "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.tosorted": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz",
- "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.1.3"
- }
- },
- "node_modules/ast-types-flow": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag=="
- },
- "node_modules/autoprefixer": {
- "version": "10.4.13",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz",
- "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/autoprefixer"
- }
- ],
- "dependencies": {
- "browserslist": "^4.21.4",
- "caniuse-lite": "^1.0.30001426",
- "fraction.js": "^4.2.0",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.0",
- "postcss-value-parser": "^4.2.0"
- },
- "bin": {
- "autoprefixer": "bin/autoprefixer"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/axe-core": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.2.tgz",
- "integrity": "sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/axobject-query": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
- "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA=="
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browserslist": {
- "version": "4.21.4",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
- "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- }
- ],
- "dependencies": {
- "caniuse-lite": "^1.0.30001400",
- "electron-to-chromium": "^1.4.251",
- "node-releases": "^2.0.6",
- "update-browserslist-db": "^1.0.9"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelcase-css": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001442",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz",
- "integrity": "sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- }
- ]
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/client-only": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
- "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
- },
- "node_modules/cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/core-js-pure": {
- "version": "3.27.1",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz",
- "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==",
- "hasInstallScript": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/csstype": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
- "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
- },
- "node_modules/damerau-levenshtein": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
- "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA=="
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
- },
- "node_modules/define-properties": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
- "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
- "dependencies": {
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/defined": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
- "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/detective": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
- "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
- "dependencies": {
- "acorn-node": "^1.8.2",
- "defined": "^1.0.0",
- "minimist": "^1.2.6"
- },
- "bin": {
- "detective": "bin/detective.js"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/didyoumean": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dlv": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
- },
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/dotenv": {
- "version": "16.0.3",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
- "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.284",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
- "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
- "dev": true
- },
- "node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
- },
- "node_modules/enhanced-resolve": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
- "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/es-abstract": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.0.tgz",
- "integrity": "sha512-GUGtW7eXQay0c+PRq0sGIKSdaBorfVqsCMhGHo4elP7YVqZu9nCZS4UkK4gv71gOWNMra/PaSKD3ao1oWExO0g==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "es-set-tostringtag": "^2.0.0",
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.1.3",
- "get-symbol-description": "^1.0.0",
- "globalthis": "^1.0.3",
- "gopd": "^1.0.1",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.4",
- "is-array-buffer": "^3.0.0",
- "is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "is-string": "^1.0.7",
- "is-typed-array": "^1.1.10",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.12.2",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trimend": "^1.0.6",
- "string.prototype.trimstart": "^1.0.6",
- "typed-array-length": "^1.0.4",
- "unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.9"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/es-set-tostringtag": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
- "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
- "dependencies": {
- "get-intrinsic": "^1.1.3",
- "has": "^1.0.3",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-shim-unscopables": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
- "dependencies": {
- "has": "^1.0.3"
- }
- },
- "node_modules/es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dependencies": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz",
- "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==",
- "dependencies": {
- "@eslint/eslintrc": "^1.3.3",
- "@humanwhocodes/config-array": "^0.11.6",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "ajv": "^6.10.0",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.1",
- "eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.3.0",
- "espree": "^9.4.0",
- "esquery": "^1.4.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.15.0",
- "grapheme-splitter": "^1.0.4",
- "ignore": "^5.2.0",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-sdsl": "^4.1.4",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "regexpp": "^3.2.0",
- "strip-ansi": "^6.0.1",
- "strip-json-comments": "^3.1.0",
- "text-table": "^0.2.0"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-config-next": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.0.3.tgz",
- "integrity": "sha512-i2JoQP8gGv303GjXTonA27fm1ckRRkRoAP1WYEQgN0D2DDoFeBPqlJgHlMHnXKWjmNct/sW8jQEvy9am2juc8g==",
- "dependencies": {
- "@next/eslint-plugin-next": "13.0.3",
- "@rushstack/eslint-patch": "^1.1.3",
- "@typescript-eslint/parser": "^5.42.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-import-resolver-typescript": "^2.7.1",
- "eslint-plugin-import": "^2.26.0",
- "eslint-plugin-jsx-a11y": "^6.5.1",
- "eslint-plugin-react": "^7.31.7",
- "eslint-plugin-react-hooks": "^4.5.0"
- },
- "peerDependencies": {
- "eslint": "^7.23.0 || ^8.0.0",
- "typescript": ">=3.3.1"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-import-resolver-node": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
- "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
- "dependencies": {
- "debug": "^3.2.7",
- "resolve": "^1.20.0"
- }
- },
- "node_modules/eslint-import-resolver-node/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-import-resolver-typescript": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz",
- "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==",
- "dependencies": {
- "debug": "^4.3.4",
- "glob": "^7.2.0",
- "is-glob": "^4.0.3",
- "resolve": "^1.22.0",
- "tsconfig-paths": "^3.14.1"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "*",
- "eslint-plugin-import": "*"
- }
- },
- "node_modules/eslint-import-resolver-typescript/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/eslint-module-utils": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
- "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
- "dependencies": {
- "debug": "^3.2.7"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependenciesMeta": {
- "eslint": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-module-utils/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-import": {
- "version": "2.26.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
- "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
- "dependencies": {
- "array-includes": "^3.1.4",
- "array.prototype.flat": "^1.2.5",
- "debug": "^2.6.9",
- "doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-module-utils": "^2.7.3",
- "has": "^1.0.3",
- "is-core-module": "^2.8.1",
- "is-glob": "^4.0.3",
- "minimatch": "^3.1.2",
- "object.values": "^1.1.5",
- "resolve": "^1.22.0",
- "tsconfig-paths": "^3.14.1"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "node_modules/eslint-plugin-jsx-a11y": {
- "version": "6.6.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz",
- "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==",
- "dependencies": {
- "@babel/runtime": "^7.18.9",
- "aria-query": "^4.2.2",
- "array-includes": "^3.1.5",
- "ast-types-flow": "^0.0.7",
- "axe-core": "^4.4.3",
- "axobject-query": "^2.2.0",
- "damerau-levenshtein": "^1.0.8",
- "emoji-regex": "^9.2.2",
- "has": "^1.0.3",
- "jsx-ast-utils": "^3.3.2",
- "language-tags": "^1.0.5",
- "minimatch": "^3.1.2",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=4.0"
- },
- "peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
- "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/eslint-plugin-react": {
- "version": "7.31.11",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz",
- "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==",
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "array.prototype.tosorted": "^1.1.1",
- "doctrine": "^2.1.0",
- "estraverse": "^5.3.0",
- "jsx-ast-utils": "^2.4.1 || ^3.0.0",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "object.hasown": "^1.1.2",
- "object.values": "^1.1.6",
- "prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.3",
- "semver": "^6.3.0",
- "string.prototype.matchall": "^4.0.8"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
- "node_modules/eslint-plugin-react-hooks": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
- "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/resolve": {
- "version": "2.0.0-next.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
- "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
- "dependencies": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/eslint-scope": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
- "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/eslint-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
- "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "dependencies": {
- "eslint-visitor-keys": "^2.0.0"
- },
- "engines": {
- "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- },
- "peerDependencies": {
- "eslint": ">=5"
- }
- },
- "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/espree": {
- "version": "9.4.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
- "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
- "dependencies": {
- "acorn": "^8.8.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "node_modules/fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
- },
- "node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dependencies": {
- "flat-cache": "^3.0.4"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dependencies": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
- },
- "node_modules/for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dependencies": {
- "is-callable": "^1.1.3"
- }
- },
- "node_modules/fraction.js": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
- "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
- "dev": true,
- "engines": {
- "node": "*"
- },
- "funding": {
- "type": "patreon",
- "url": "https://www.patreon.com/infusion"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "node_modules/function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
- "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
- "dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/globals": {
- "version": "13.19.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
- "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==",
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globalthis": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
- "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
- "dependencies": {
- "define-properties": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dependencies": {
- "get-intrinsic": "^1.1.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
- },
- "node_modules/grapheme-splitter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
- "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dependencies": {
- "get-intrinsic": "^1.1.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "node_modules/install": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz",
- "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/internal-slot": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz",
- "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==",
- "dependencies": {
- "get-intrinsic": "^1.1.3",
- "has": "^1.0.3",
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-array-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz",
- "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "is-typed-array": "^1.1.10"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dependencies": {
- "has-bigints": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-callable": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
- "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-typed-array": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
- "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
- },
- "node_modules/jose": {
- "version": "4.11.2",
- "resolved": "https://registry.npmjs.org/jose/-/jose-4.11.2.tgz",
- "integrity": "sha512-njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A==",
- "funding": {
- "url": "https://github.com/sponsors/panva"
- }
- },
- "node_modules/js-sdsl": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
- "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/js-sdsl"
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
- },
- "node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/jsx-ast-utils": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
- "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==",
- "dependencies": {
- "array-includes": "^3.1.5",
- "object.assign": "^4.1.3"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/language-subtag-registry": {
- "version": "0.3.22",
- "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
- "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w=="
- },
- "node_modules/language-tags": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz",
- "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==",
- "dependencies": {
- "language-subtag-registry": "^0.3.20"
- }
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/lilconfig": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
- "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
- },
- "node_modules/loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dependencies": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
- }
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mini-svg-data-uri": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
- "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==",
- "bin": {
- "mini-svg-data-uri": "cli.js"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
- "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "node_modules/nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
- },
- "node_modules/next": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/next/-/next-13.0.3.tgz",
- "integrity": "sha512-rFQeepcenRxKzeKlh1CsmEnxsJwhIERtbUjmYnKZyDInZsU06lvaGw5DT44rlNp1Rv2MT/e9vffZ8vK+ytwXHA==",
- "dependencies": {
- "@next/env": "13.0.3",
- "@swc/helpers": "0.4.11",
- "caniuse-lite": "^1.0.30001406",
- "postcss": "8.4.14",
- "styled-jsx": "5.1.0",
- "use-sync-external-store": "1.2.0"
- },
- "bin": {
- "next": "dist/bin/next"
- },
- "engines": {
- "node": ">=14.6.0"
- },
- "optionalDependencies": {
- "@next/swc-android-arm-eabi": "13.0.3",
- "@next/swc-android-arm64": "13.0.3",
- "@next/swc-darwin-arm64": "13.0.3",
- "@next/swc-darwin-x64": "13.0.3",
- "@next/swc-freebsd-x64": "13.0.3",
- "@next/swc-linux-arm-gnueabihf": "13.0.3",
- "@next/swc-linux-arm64-gnu": "13.0.3",
- "@next/swc-linux-arm64-musl": "13.0.3",
- "@next/swc-linux-x64-gnu": "13.0.3",
- "@next/swc-linux-x64-musl": "13.0.3",
- "@next/swc-win32-arm64-msvc": "13.0.3",
- "@next/swc-win32-ia32-msvc": "13.0.3",
- "@next/swc-win32-x64-msvc": "13.0.3"
- },
- "peerDependencies": {
- "fibers": ">= 3.1.0",
- "node-sass": "^6.0.0 || ^7.0.0",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "sass": "^1.3.0"
- },
- "peerDependenciesMeta": {
- "fibers": {
- "optional": true
- },
- "node-sass": {
- "optional": true
- },
- "sass": {
- "optional": true
- }
- }
- },
- "node_modules/next-auth": {
- "version": "4.18.8",
- "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.18.8.tgz",
- "integrity": "sha512-USP8ihmvB7iCGtkS0+toe2QPrzdbZfkydQZX56JOI9Ft5n/BardOXh3D4wQ2An+vpq/jDKojGlgfv21wVElW7A==",
- "dependencies": {
- "@babel/runtime": "^7.16.3",
- "@panva/hkdf": "^1.0.1",
- "cookie": "^0.5.0",
- "jose": "^4.9.3",
- "oauth": "^0.9.15",
- "openid-client": "^5.1.0",
- "preact": "^10.6.3",
- "preact-render-to-string": "^5.1.19",
- "uuid": "^8.3.2"
- },
- "engines": {
- "node": "^12.19.0 || ^14.15.0 || ^16.13.0 || ^18.12.0"
- },
- "peerDependencies": {
- "next": "^12.2.5 || ^13",
- "nodemailer": "^6.6.5",
- "react": "^17.0.2 || ^18",
- "react-dom": "^17.0.2 || ^18"
- },
- "peerDependenciesMeta": {
- "nodemailer": {
- "optional": true
- }
- }
- },
- "node_modules/next-transpile-modules": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/next-transpile-modules/-/next-transpile-modules-10.0.0.tgz",
- "integrity": "sha512-FyeJ++Lm2Fq31gbThiRCrJlYpIY9QaI7A3TjuhQLzOix8ChQrvn5ny4MhfIthS5cy6+uK1AhDRvxVdW17y3Xdw==",
- "deprecated": "All features of next-transpile-modules are now natively built-in Next.js 13.1. Please use Next's transpilePackages option :)",
- "dependencies": {
- "enhanced-resolve": "^5.10.0"
- }
- },
- "node_modules/next/node_modules/postcss": {
- "version": "8.4.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
- "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.4",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
- "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==",
- "dev": true
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/npm/-/npm-9.2.0.tgz",
- "integrity": "sha512-oypVdaWGHDuV79RXLvp+B9gh6gDyAmoHKrQ0/JBYTWWx5D8/+AAxFdZC84fSIiyDdyW4qfrSyYGKhekxDOaMXQ==",
- "bundleDependencies": [
- "@isaacs/string-locale-compare",
- "@npmcli/arborist",
- "@npmcli/config",
- "@npmcli/map-workspaces",
- "@npmcli/package-json",
- "@npmcli/run-script",
- "abbrev",
- "archy",
- "cacache",
- "chalk",
- "ci-info",
- "cli-columns",
- "cli-table3",
- "columnify",
- "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",
- "libnpmhook",
- "libnpmorg",
- "libnpmpack",
- "libnpmpublish",
- "libnpmsearch",
- "libnpmteam",
- "libnpmversion",
- "make-fetch-happen",
- "minimatch",
- "minipass",
- "minipass-pipeline",
- "mkdirp",
- "ms",
- "node-gyp",
- "nopt",
- "npm-audit-report",
- "npm-install-checks",
- "npm-package-arg",
- "npm-pick-manifest",
- "npm-profile",
- "npm-registry-fetch",
- "npm-user-validate",
- "npmlog",
- "p-map",
- "pacote",
- "parse-conflict-json",
- "proc-log",
- "qrcode-terminal",
- "read",
- "read-package-json",
- "read-package-json-fast",
- "rimraf",
- "semver",
- "ssri",
- "tar",
- "text-table",
- "tiny-relative-date",
- "treeverse",
- "validate-npm-package-name",
- "which",
- "write-file-atomic"
- ],
- "dependencies": {
- "@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/arborist": "^6.1.5",
- "@npmcli/config": "^6.1.0",
- "@npmcli/map-workspaces": "^3.0.0",
- "@npmcli/package-json": "^3.0.0",
- "@npmcli/run-script": "^6.0.0",
- "abbrev": "^2.0.0",
- "archy": "~1.0.0",
- "cacache": "^17.0.3",
- "chalk": "^4.1.2",
- "ci-info": "^3.7.0",
- "cli-columns": "^4.0.0",
- "cli-table3": "^0.6.3",
- "columnify": "^1.6.0",
- "fastest-levenshtein": "^1.0.16",
- "fs-minipass": "^2.1.0",
- "glob": "^8.0.1",
- "graceful-fs": "^4.2.10",
- "hosted-git-info": "^6.1.1",
- "ini": "^3.0.1",
- "init-package-json": "^4.0.1",
- "is-cidr": "^4.0.2",
- "json-parse-even-better-errors": "^3.0.0",
- "libnpmaccess": "^7.0.1",
- "libnpmdiff": "^5.0.6",
- "libnpmexec": "^5.0.6",
- "libnpmfund": "^4.0.6",
- "libnpmhook": "^9.0.1",
- "libnpmorg": "^5.0.1",
- "libnpmpack": "^5.0.6",
- "libnpmpublish": "^7.0.6",
- "libnpmsearch": "^6.0.1",
- "libnpmteam": "^5.0.1",
- "libnpmversion": "^4.0.1",
- "make-fetch-happen": "^11.0.2",
- "minimatch": "^5.1.1",
- "minipass": "^4.0.0",
- "minipass-pipeline": "^1.2.4",
- "mkdirp": "^1.0.4",
- "ms": "^2.1.2",
- "node-gyp": "^9.3.0",
- "nopt": "^7.0.0",
- "npm-audit-report": "^4.0.0",
- "npm-install-checks": "^6.0.0",
- "npm-package-arg": "^10.1.0",
- "npm-pick-manifest": "^8.0.1",
- "npm-profile": "^7.0.1",
- "npm-registry-fetch": "^14.0.3",
- "npm-user-validate": "^1.0.1",
- "npmlog": "^7.0.1",
- "p-map": "^4.0.0",
- "pacote": "^15.0.7",
- "parse-conflict-json": "^3.0.0",
- "proc-log": "^3.0.0",
- "qrcode-terminal": "^0.12.0",
- "read": "~1.0.7",
- "read-package-json": "^6.0.0",
- "read-package-json-fast": "^3.0.1",
- "rimraf": "^3.0.2",
- "semver": "^7.3.8",
- "ssri": "^10.0.1",
- "tar": "^6.1.13",
- "text-table": "~0.2.0",
- "tiny-relative-date": "^1.3.0",
- "treeverse": "^3.0.0",
- "validate-npm-package-name": "^5.0.0",
- "which": "^3.0.0",
- "write-file-atomic": "^5.0.0"
- },
- "bin": {
- "npm": "bin/npm-cli.js",
- "npx": "bin/npx-cli.js"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@colors/colors": {
- "version": "1.5.0",
- "inBundle": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/npm/node_modules/@gar/promisify": {
- "version": "1.1.3",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/@isaacs/string-locale-compare": {
- "version": "1.1.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/@npmcli/arborist": {
- "version": "6.1.5",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/fs": "^3.1.0",
- "@npmcli/installed-package-contents": "^2.0.0",
- "@npmcli/map-workspaces": "^3.0.0",
- "@npmcli/metavuln-calculator": "^5.0.0",
- "@npmcli/name-from-folder": "^1.0.1",
- "@npmcli/node-gyp": "^3.0.0",
- "@npmcli/package-json": "^3.0.0",
- "@npmcli/query": "^3.0.0",
- "@npmcli/run-script": "^6.0.0",
- "bin-links": "^4.0.1",
- "cacache": "^17.0.3",
- "common-ancestor-path": "^1.0.1",
- "hosted-git-info": "^6.1.1",
- "json-parse-even-better-errors": "^3.0.0",
- "json-stringify-nice": "^1.1.4",
- "minimatch": "^5.1.1",
- "nopt": "^7.0.0",
- "npm-install-checks": "^6.0.0",
- "npm-package-arg": "^10.1.0",
- "npm-pick-manifest": "^8.0.1",
- "npm-registry-fetch": "^14.0.3",
- "npmlog": "^7.0.1",
- "pacote": "^15.0.7",
- "parse-conflict-json": "^3.0.0",
- "proc-log": "^3.0.0",
- "promise-all-reject-late": "^1.0.0",
- "promise-call-limit": "^1.0.1",
- "read-package-json-fast": "^3.0.1",
- "semver": "^7.3.7",
- "ssri": "^10.0.1",
- "treeverse": "^3.0.0",
- "walk-up-path": "^1.0.0"
- },
- "bin": {
- "arborist": "bin/index.js"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/config": {
- "version": "6.1.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/map-workspaces": "^3.0.0",
- "ini": "^3.0.0",
- "nopt": "^7.0.0",
- "proc-log": "^3.0.0",
- "read-package-json-fast": "^3.0.0",
- "semver": "^7.3.5",
- "walk-up-path": "^1.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/disparity-colors": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "ansi-styles": "^4.3.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/fs": {
- "version": "3.1.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/git": {
- "version": "4.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/promise-spawn": "^6.0.0",
- "lru-cache": "^7.4.4",
- "mkdirp": "^1.0.4",
- "npm-pick-manifest": "^8.0.0",
- "proc-log": "^3.0.0",
- "promise-inflight": "^1.0.1",
- "promise-retry": "^2.0.1",
- "semver": "^7.3.5",
- "which": "^3.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/installed-package-contents": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-bundled": "^3.0.0",
- "npm-normalize-package-bin": "^3.0.0"
- },
- "bin": {
- "installed-package-contents": "lib/index.js"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/map-workspaces": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/name-from-folder": "^1.0.1",
- "glob": "^8.0.1",
- "minimatch": "^5.0.1",
- "read-package-json-fast": "^3.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/metavuln-calculator": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "cacache": "^17.0.0",
- "json-parse-even-better-errors": "^3.0.0",
- "pacote": "^15.0.0",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/name-from-folder": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/@npmcli/node-gyp": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/package-json": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "json-parse-even-better-errors": "^3.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/promise-spawn": {
- "version": "6.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "which": "^3.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/query": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "postcss-selector-parser": "^6.0.10"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@npmcli/run-script": {
- "version": "6.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/node-gyp": "^3.0.0",
- "@npmcli/promise-spawn": "^6.0.0",
- "node-gyp": "^9.0.0",
- "read-package-json-fast": "^3.0.0",
- "which": "^3.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/@tootallnate/once": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/npm/node_modules/abbrev": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/abort-controller": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "event-target-shim": "^5.0.0"
- },
- "engines": {
- "node": ">=6.5"
- }
- },
- "node_modules/npm/node_modules/agent-base": {
- "version": "6.0.2",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/npm/node_modules/agentkeepalive": {
- "version": "4.2.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.1.0",
- "depd": "^1.1.2",
- "humanize-ms": "^1.2.1"
- },
- "engines": {
- "node": ">= 8.0.0"
- }
- },
- "node_modules/npm/node_modules/aggregate-error": {
- "version": "3.1.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/ansi-regex": {
- "version": "5.0.1",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/ansi-styles": {
- "version": "4.3.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/npm/node_modules/aproba": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/archy": {
- "version": "1.0.0",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/are-we-there-yet": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^4.1.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/are-we-there-yet/node_modules/buffer": {
- "version": "6.0.3",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "node_modules/npm/node_modules/are-we-there-yet/node_modules/readable-stream": {
- "version": "4.2.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "abort-controller": "^3.0.0",
- "buffer": "^6.0.3",
- "events": "^3.3.0",
- "process": "^0.11.10"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/balanced-match": {
- "version": "1.0.2",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/base64-js": {
- "version": "1.5.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/bin-links": {
- "version": "4.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "cmd-shim": "^6.0.0",
- "npm-normalize-package-bin": "^3.0.0",
- "read-cmd-shim": "^4.0.0",
- "write-file-atomic": "^5.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/binary-extensions": {
- "version": "2.2.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/brace-expansion": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/npm/node_modules/builtins": {
- "version": "5.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.0.0"
- }
- },
- "node_modules/npm/node_modules/cacache": {
- "version": "17.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/fs": "^3.1.0",
- "fs-minipass": "^2.1.0",
- "glob": "^8.0.1",
- "lru-cache": "^7.7.1",
- "minipass": "^4.0.0",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "ssri": "^10.0.0",
- "tar": "^6.1.11",
- "unique-filename": "^3.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/chalk": {
- "version": "4.1.2",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/npm/node_modules/chownr": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/ci-info": {
- "version": "3.7.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/cidr-regex": {
- "version": "3.1.1",
- "inBundle": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "ip-regex": "^4.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/clean-stack": {
- "version": "2.2.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/npm/node_modules/cli-columns": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/npm/node_modules/cli-table3": {
- "version": "0.6.3",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "string-width": "^4.2.0"
- },
- "engines": {
- "node": "10.* || >= 12.*"
- },
- "optionalDependencies": {
- "@colors/colors": "1.5.0"
- }
- },
- "node_modules/npm/node_modules/clone": {
- "version": "1.0.4",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/npm/node_modules/cmd-shim": {
- "version": "6.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/color-convert": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/npm/node_modules/color-name": {
- "version": "1.1.4",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/color-support": {
- "version": "1.1.3",
- "inBundle": true,
- "license": "ISC",
- "bin": {
- "color-support": "bin.js"
- }
- },
- "node_modules/npm/node_modules/columnify": {
- "version": "1.6.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "strip-ansi": "^6.0.1",
- "wcwidth": "^1.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/npm/node_modules/common-ancestor-path": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/concat-map": {
- "version": "0.0.1",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/console-control-strings": {
- "version": "1.1.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/cssesc": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "MIT",
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/npm/node_modules/debug": {
- "version": "4.3.4",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/npm/node_modules/debug/node_modules/ms": {
- "version": "2.1.2",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/defaults": {
- "version": "1.0.3",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "clone": "^1.0.2"
- }
- },
- "node_modules/npm/node_modules/delegates": {
- "version": "1.0.0",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/depd": {
- "version": "1.1.2",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/npm/node_modules/diff": {
- "version": "5.1.0",
- "inBundle": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/npm/node_modules/emoji-regex": {
- "version": "8.0.0",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/encoding": {
- "version": "0.1.13",
- "inBundle": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "iconv-lite": "^0.6.2"
- }
- },
- "node_modules/npm/node_modules/env-paths": {
- "version": "2.2.1",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/npm/node_modules/err-code": {
- "version": "2.0.3",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/event-target-shim": {
- "version": "5.0.1",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/npm/node_modules/events": {
- "version": "3.3.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.x"
- }
- },
- "node_modules/npm/node_modules/fastest-levenshtein": {
- "version": "1.0.16",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4.9.1"
- }
- },
- "node_modules/npm/node_modules/fs-minipass": {
- "version": "2.1.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/fs-minipass/node_modules/minipass": {
- "version": "3.3.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/fs.realpath": {
- "version": "1.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/function-bind": {
- "version": "1.1.1",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/gauge": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/glob": {
- "version": "8.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/graceful-fs": {
- "version": "4.2.10",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/has": {
- "version": "1.0.3",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/npm/node_modules/has-flag": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/has-unicode": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/hosted-git-info": {
- "version": "6.1.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^7.5.1"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/http-cache-semantics": {
- "version": "4.1.0",
- "inBundle": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/npm/node_modules/http-proxy-agent": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/npm/node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/npm/node_modules/humanize-ms": {
- "version": "1.2.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.0.0"
- }
- },
- "node_modules/npm/node_modules/iconv-lite": {
- "version": "0.6.3",
- "inBundle": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm/node_modules/ieee754": {
- "version": "1.2.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "inBundle": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/npm/node_modules/ignore-walk": {
- "version": "6.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minimatch": "^5.0.1"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/imurmurhash": {
- "version": "0.1.4",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/npm/node_modules/indent-string": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/infer-owner": {
- "version": "1.0.4",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/inflight": {
- "version": "1.0.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/npm/node_modules/inherits": {
- "version": "2.0.4",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/ini": {
- "version": "3.0.1",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/init-package-json": {
- "version": "4.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-package-arg": "^10.0.0",
- "promzard": "^0.3.0",
- "read": "^1.0.7",
- "read-package-json": "^6.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4",
- "validate-npm-package-name": "^5.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/ip": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/ip-regex": {
- "version": "4.3.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/is-cidr": {
- "version": "4.0.2",
- "inBundle": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "cidr-regex": "^3.1.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/is-core-module": {
- "version": "2.10.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/npm/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/is-lambda": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/isexe": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/json-parse-even-better-errors": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/json-stringify-nice": {
- "version": "1.1.4",
- "inBundle": true,
- "license": "ISC",
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/jsonparse": {
- "version": "1.3.1",
- "engines": [
- "node >= 0.2.0"
- ],
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/just-diff": {
- "version": "5.1.1",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/just-diff-apply": {
- "version": "5.4.1",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/libnpmaccess": {
- "version": "7.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-package-arg": "^10.1.0",
- "npm-registry-fetch": "^14.0.3"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmdiff": {
- "version": "5.0.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/arborist": "^6.1.5",
- "@npmcli/disparity-colors": "^3.0.0",
- "@npmcli/installed-package-contents": "^2.0.0",
- "binary-extensions": "^2.2.0",
- "diff": "^5.1.0",
- "minimatch": "^5.1.1",
- "npm-package-arg": "^10.1.0",
- "pacote": "^15.0.7",
- "tar": "^6.1.13"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmexec": {
- "version": "5.0.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/arborist": "^6.1.5",
- "@npmcli/run-script": "^6.0.0",
- "chalk": "^4.1.0",
- "ci-info": "^3.7.0",
- "npm-package-arg": "^10.1.0",
- "npmlog": "^7.0.1",
- "pacote": "^15.0.7",
- "proc-log": "^3.0.0",
- "read": "^1.0.7",
- "read-package-json-fast": "^3.0.1",
- "semver": "^7.3.7",
- "walk-up-path": "^1.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmfund": {
- "version": "4.0.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/arborist": "^6.1.5"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmhook": {
- "version": "9.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^14.0.3"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmorg": {
- "version": "5.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^14.0.3"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmpack": {
- "version": "5.0.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/arborist": "^6.1.5",
- "@npmcli/run-script": "^6.0.0",
- "npm-package-arg": "^10.1.0",
- "pacote": "^15.0.7"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmpublish": {
- "version": "7.0.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "normalize-package-data": "^5.0.0",
- "npm-package-arg": "^10.1.0",
- "npm-registry-fetch": "^14.0.3",
- "semver": "^7.3.7",
- "ssri": "^10.0.1"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmsearch": {
- "version": "6.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-registry-fetch": "^14.0.3"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmteam": {
- "version": "5.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^14.0.3"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/libnpmversion": {
- "version": "4.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/git": "^4.0.1",
- "@npmcli/run-script": "^6.0.0",
- "json-parse-even-better-errors": "^3.0.0",
- "proc-log": "^3.0.0",
- "semver": "^7.3.7"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/lru-cache": {
- "version": "7.13.2",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/npm/node_modules/make-fetch-happen": {
- "version": "11.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "agentkeepalive": "^4.2.1",
- "cacache": "^17.0.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^5.0.0",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^7.7.1",
- "minipass": "^4.0.0",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^3.0.0",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.3",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^7.0.0",
- "ssri": "^10.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/minimatch": {
- "version": "5.1.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/minipass": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minipass-collect": {
- "version": "1.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/minipass-collect/node_modules/minipass": {
- "version": "3.3.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minipass-fetch": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^3.1.6",
- "minipass-sized": "^1.0.3",
- "minizlib": "^2.1.2"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- },
- "optionalDependencies": {
- "encoding": "^0.1.13"
- }
- },
- "node_modules/npm/node_modules/minipass-fetch/node_modules/minipass": {
- "version": "3.3.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minipass-flush": {
- "version": "1.0.5",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": {
- "version": "3.3.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minipass-json-stream": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "jsonparse": "^1.3.1",
- "minipass": "^3.0.0"
- }
- },
- "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": {
- "version": "3.3.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minipass-pipeline": {
- "version": "1.2.4",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": {
- "version": "3.3.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minipass-sized": {
- "version": "1.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": {
- "version": "3.3.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/minizlib": {
- "version": "2.1.2",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/minizlib/node_modules/minipass": {
- "version": "3.3.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/mkdirp": {
- "version": "1.0.4",
- "inBundle": true,
- "license": "MIT",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/ms": {
- "version": "2.1.3",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/mute-stream": {
- "version": "0.0.8",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/negotiator": {
- "version": "0.6.3",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/npm/node_modules/node-gyp": {
- "version": "9.3.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "env-paths": "^2.2.0",
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.6",
- "make-fetch-happen": "^10.0.3",
- "nopt": "^6.0.0",
- "npmlog": "^6.0.0",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "tar": "^6.1.2",
- "which": "^2.0.2"
- },
- "bin": {
- "node-gyp": "bin/node-gyp.js"
- },
- "engines": {
- "node": "^12.22 || ^14.13 || >=16"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/fs": {
- "version": "2.1.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@gar/promisify": "^1.1.3",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/move-file": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "mkdirp": "^1.0.4",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/abbrev": {
- "version": "1.1.1",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/are-we-there-yet": {
- "version": "3.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": {
- "version": "1.1.11",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/cacache": {
- "version": "16.1.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/fs": "^2.1.0",
- "@npmcli/move-file": "^2.0.0",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.1.0",
- "glob": "^8.0.1",
- "infer-owner": "^1.0.4",
- "lru-cache": "^7.7.1",
- "minipass": "^3.1.6",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "mkdirp": "^1.0.4",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^9.0.0",
- "tar": "^6.1.11",
- "unique-filename": "^2.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/brace-expansion": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/glob": {
- "version": "8.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minimatch": {
- "version": "5.1.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/gauge": {
- "version": "4.0.4",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/glob": {
- "version": "7.2.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": {
- "version": "10.2.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "agentkeepalive": "^4.2.1",
- "cacache": "^16.1.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^5.0.0",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^7.7.1",
- "minipass": "^3.1.6",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^2.0.3",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.3",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^7.0.0",
- "ssri": "^9.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": {
- "version": "3.1.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/minipass": {
- "version": "3.3.6",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/minipass-fetch": {
- "version": "2.1.2",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^3.1.6",
- "minipass-sized": "^1.0.3",
- "minizlib": "^2.1.2"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- },
- "optionalDependencies": {
- "encoding": "^0.1.13"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/nopt": {
- "version": "6.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "abbrev": "^1.0.0"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/npmlog": {
- "version": "6.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/ssri": {
- "version": "9.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.1.1"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/unique-filename": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "unique-slug": "^3.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/unique-slug": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/npm/node_modules/node-gyp/node_modules/which": {
- "version": "2.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/npm/node_modules/nopt": {
- "version": "7.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "abbrev": "^2.0.0"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/normalize-package-data": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "hosted-git-info": "^6.0.0",
- "is-core-module": "^2.8.1",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-audit-report": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "chalk": "^4.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-bundled": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-normalize-package-bin": "^3.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-install-checks": {
- "version": "6.0.0",
- "inBundle": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "semver": "^7.1.1"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-normalize-package-bin": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-package-arg": {
- "version": "10.1.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "hosted-git-info": "^6.0.0",
- "proc-log": "^3.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-name": "^5.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-packlist": {
- "version": "7.0.4",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "ignore-walk": "^6.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-pick-manifest": {
- "version": "8.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-install-checks": "^6.0.0",
- "npm-normalize-package-bin": "^3.0.0",
- "npm-package-arg": "^10.0.0",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-profile": {
- "version": "7.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-registry-fetch": "^14.0.0",
- "proc-log": "^3.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-registry-fetch": {
- "version": "14.0.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "make-fetch-happen": "^11.0.0",
- "minipass": "^4.0.0",
- "minipass-fetch": "^3.0.0",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.1.2",
- "npm-package-arg": "^10.0.0",
- "proc-log": "^3.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/npm-user-validate": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/npm/node_modules/npmlog": {
- "version": "7.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "are-we-there-yet": "^4.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^5.0.0",
- "set-blocking": "^2.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/once": {
- "version": "1.4.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/npm/node_modules/p-map": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "aggregate-error": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/npm/node_modules/pacote": {
- "version": "15.0.7",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/git": "^4.0.0",
- "@npmcli/installed-package-contents": "^2.0.1",
- "@npmcli/promise-spawn": "^6.0.1",
- "@npmcli/run-script": "^6.0.0",
- "cacache": "^17.0.0",
- "fs-minipass": "^2.1.0",
- "minipass": "^4.0.0",
- "npm-package-arg": "^10.0.0",
- "npm-packlist": "^7.0.0",
- "npm-pick-manifest": "^8.0.0",
- "npm-registry-fetch": "^14.0.0",
- "proc-log": "^3.0.0",
- "promise-retry": "^2.0.1",
- "read-package-json": "^6.0.0",
- "read-package-json-fast": "^3.0.0",
- "ssri": "^10.0.0",
- "tar": "^6.1.11"
- },
- "bin": {
- "pacote": "lib/bin.js"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/parse-conflict-json": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "json-parse-even-better-errors": "^3.0.0",
- "just-diff": "^5.0.1",
- "just-diff-apply": "^5.2.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/path-is-absolute": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm/node_modules/postcss-selector-parser": {
- "version": "6.0.10",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/npm/node_modules/proc-log": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/process": {
- "version": "0.11.10",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/npm/node_modules/promise-all-reject-late": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "ISC",
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/promise-call-limit": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "ISC",
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/promise-inflight": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/promise-retry": {
- "version": "2.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "err-code": "^2.0.2",
- "retry": "^0.12.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/promzard": {
- "version": "0.3.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "read": "1"
- }
- },
- "node_modules/npm/node_modules/qrcode-terminal": {
- "version": "0.12.0",
- "inBundle": true,
- "bin": {
- "qrcode-terminal": "bin/qrcode-terminal.js"
- }
- },
- "node_modules/npm/node_modules/read": {
- "version": "1.0.7",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "mute-stream": "~0.0.4"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/npm/node_modules/read-cmd-shim": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/read-package-json": {
- "version": "6.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^8.0.1",
- "json-parse-even-better-errors": "^3.0.0",
- "normalize-package-data": "^5.0.0",
- "npm-normalize-package-bin": "^3.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/read-package-json-fast": {
- "version": "3.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "json-parse-even-better-errors": "^3.0.0",
- "npm-normalize-package-bin": "^3.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/readable-stream": {
- "version": "3.6.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/npm/node_modules/retry": {
- "version": "0.12.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/npm/node_modules/rimraf": {
- "version": "3.0.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": {
- "version": "1.1.11",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/npm/node_modules/rimraf/node_modules/glob": {
- "version": "7.2.3",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/npm/node_modules/rimraf/node_modules/minimatch": {
- "version": "3.1.2",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/npm/node_modules/safe-buffer": {
- "version": "5.2.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/safer-buffer": {
- "version": "2.1.2",
- "inBundle": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/npm/node_modules/semver": {
- "version": "7.3.8",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/semver/node_modules/lru-cache": {
- "version": "6.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/set-blocking": {
- "version": "2.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/signal-exit": {
- "version": "3.0.7",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/smart-buffer": {
- "version": "4.2.0",
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 6.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/npm/node_modules/socks": {
- "version": "2.7.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ip": "^2.0.0",
- "smart-buffer": "^4.2.0"
- },
- "engines": {
- "node": ">= 10.13.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/npm/node_modules/socks-proxy-agent": {
- "version": "7.0.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.3",
- "socks": "^2.6.2"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/npm/node_modules/spdx-correct": {
- "version": "3.1.1",
- "inBundle": true,
- "license": "Apache-2.0",
- "dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/npm/node_modules/spdx-exceptions": {
- "version": "2.3.0",
- "inBundle": true,
- "license": "CC-BY-3.0"
- },
- "node_modules/npm/node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/npm/node_modules/spdx-license-ids": {
- "version": "3.0.11",
- "inBundle": true,
- "license": "CC0-1.0"
- },
- "node_modules/npm/node_modules/ssri": {
- "version": "10.0.1",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^4.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/string_decoder": {
- "version": "1.3.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/npm/node_modules/string-width": {
- "version": "4.2.3",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/strip-ansi": {
- "version": "6.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/supports-color": {
- "version": "7.2.0",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/npm/node_modules/tar": {
- "version": "6.1.13",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^4.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/npm/node_modules/text-table": {
- "version": "0.2.0",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/tiny-relative-date": {
- "version": "1.3.0",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/treeverse": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/unique-filename": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "unique-slug": "^4.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/unique-slug": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/util-deprecate": {
- "version": "1.0.2",
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/npm/node_modules/validate-npm-package-license": {
- "version": "3.0.4",
- "inBundle": true,
- "license": "Apache-2.0",
- "dependencies": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "node_modules/npm/node_modules/validate-npm-package-name": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "builtins": "^5.0.0"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/walk-up-path": {
- "version": "1.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/wcwidth": {
- "version": "1.0.1",
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "defaults": "^1.0.3"
- }
- },
- "node_modules/npm/node_modules/which": {
- "version": "3.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/which.js"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/wide-align": {
- "version": "1.1.5",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^1.0.2 || 2 || 3 || 4"
- }
- },
- "node_modules/npm/node_modules/wrappy": {
- "version": "1.0.2",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/npm/node_modules/write-file-atomic": {
- "version": "5.0.0",
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.7"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/npm/node_modules/yallist": {
- "version": "4.0.0",
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/oauth": {
- "version": "0.9.15",
- "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
- "integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA=="
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-hash": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
- "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
- "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "has-symbols": "^1.0.3",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.entries": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz",
- "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.fromentries": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz",
- "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.hasown": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz",
- "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==",
- "dependencies": {
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.values": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
- "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/oidc-token-hash": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz",
- "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==",
- "engines": {
- "node": "^10.13.0 || >=12.0.0"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/openid-client": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.3.1.tgz",
- "integrity": "sha512-RLfehQiHch9N6tRWNx68cicf3b1WR0x74bJWHRc25uYIbSRwjxYcTFaRnzbbpls5jroLAaB/bFIodTgA5LJMvw==",
- "dependencies": {
- "jose": "^4.10.0",
- "lru-cache": "^6.0.0",
- "object-hash": "^2.0.1",
- "oidc-token-hash": "^5.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/panva"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "dependencies": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
- "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.4",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-import": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
- "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
- "dependencies": {
- "postcss-value-parser": "^4.0.0",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
- },
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "postcss": "^8.0.0"
- }
- },
- "node_modules/postcss-js": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
- "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
- "dependencies": {
- "camelcase-css": "^2.0.1"
- },
- "engines": {
- "node": "^12 || ^14 || >= 16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.3.3"
- }
- },
- "node_modules/postcss-load-config": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
- "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
- "dependencies": {
- "lilconfig": "^2.0.5",
- "yaml": "^1.10.2"
- },
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/postcss-nested": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
- "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
- "dependencies": {
- "postcss-selector-parser": "^6.0.10"
- },
- "engines": {
- "node": ">=12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.2.14"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "6.0.11",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
- "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
- },
- "node_modules/preact": {
- "version": "10.11.3",
- "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz",
- "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/preact"
- }
- },
- "node_modules/preact-render-to-string": {
- "version": "5.2.6",
- "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz",
- "integrity": "sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==",
- "dependencies": {
- "pretty-format": "^3.8.0"
- },
- "peerDependencies": {
- "preact": ">=10"
- }
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/pretty-format": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz",
- "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew=="
- },
- "node_modules/prop-types": {
- "version": "15.8.1",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
- "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
- "dependencies": {
- "loose-envify": "^1.4.0",
- "object-assign": "^4.1.1",
- "react-is": "^16.13.1"
- }
- },
- "node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/react": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
- "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
- "dependencies": {
- "loose-envify": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/react-dom": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
- "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
- "dependencies": {
- "loose-envify": "^1.1.0",
- "scheduler": "^0.23.0"
- },
- "peerDependencies": {
- "react": "^18.2.0"
- }
- },
- "node_modules/react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
- },
- "node_modules/read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "dependencies": {
- "pify": "^2.3.0"
- }
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/regenerator-runtime": {
- "version": "0.13.11",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
- "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
- },
- "node_modules/regexp.prototype.flags": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
- "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- }
- },
- "node_modules/resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
- "dependencies": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "is-regex": "^1.1.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/scheduler": {
- "version": "0.23.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
- "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
- "dependencies": {
- "loose-envify": "^1.1.0"
- }
- },
- "node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/string.prototype.matchall": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz",
- "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "regexp.prototype.flags": "^1.4.3",
- "side-channel": "^1.0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimend": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
- "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
- "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/styled-jsx": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.0.tgz",
- "integrity": "sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==",
- "dependencies": {
- "client-only": "0.0.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- },
- "peerDependencies": {
- "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "babel-plugin-macros": {
- "optional": true
- }
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/tailwindcss": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz",
- "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==",
- "dependencies": {
- "arg": "^5.0.2",
- "chokidar": "^3.5.3",
- "color-name": "^1.1.4",
- "detective": "^5.2.1",
- "didyoumean": "^1.2.2",
- "dlv": "^1.1.3",
- "fast-glob": "^3.2.12",
- "glob-parent": "^6.0.2",
- "is-glob": "^4.0.3",
- "lilconfig": "^2.0.6",
- "micromatch": "^4.0.5",
- "normalize-path": "^3.0.0",
- "object-hash": "^3.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.4.18",
- "postcss-import": "^14.1.0",
- "postcss-js": "^4.0.0",
- "postcss-load-config": "^3.1.4",
- "postcss-nested": "6.0.0",
- "postcss-selector-parser": "^6.0.10",
- "postcss-value-parser": "^4.2.0",
- "quick-lru": "^5.1.1",
- "resolve": "^1.22.1"
- },
- "bin": {
- "tailwind": "lib/cli.js",
- "tailwindcss": "lib/cli.js"
- },
- "engines": {
- "node": ">=12.13.0"
- },
- "peerDependencies": {
- "postcss": "^8.0.9"
- }
- },
- "node_modules/tailwindcss/node_modules/object-hash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/tsconfig-paths": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
- "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
- "dependencies": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.1",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "node_modules/tslib": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
- "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
- },
- "node_modules/tsutils": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
- "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "dependencies": {
- "tslib": "^1.8.1"
- },
- "engines": {
- "node": ">= 6"
- },
- "peerDependencies": {
- "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
- }
- },
- "node_modules/tsutils/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typescript": {
- "version": "4.8.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
- "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/update-browserslist-db": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
- "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- }
- ],
- "dependencies": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "browserslist-lint": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/use-sync-external-store": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
- "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dependencies": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
- "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
- "node_modules/xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "engines": {
- "node": ">=0.4"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
- "node_modules/yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- }
- },
- "dependencies": {
- "@babel/runtime": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz",
- "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==",
- "requires": {
- "regenerator-runtime": "^0.13.11"
- }
- },
- "@babel/runtime-corejs3": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz",
- "integrity": "sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==",
- "requires": {
- "core-js-pure": "^3.25.1",
- "regenerator-runtime": "^0.13.11"
- }
- },
- "@eslint/eslintrc": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
- "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
- "requires": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.4.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- }
- },
- "@headlessui/react": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.7.tgz",
- "integrity": "sha512-BqDOd/tB9u2tA0T3Z0fn18ktw+KbVwMnkxxsGPIH2hzssrQhKB5n/6StZOyvLYP/FsYtvuXfi9I0YowKPv2c1w==",
- "requires": {
- "client-only": "^0.0.1"
- }
- },
- "@heroicons/react": {
- "version": "2.0.13",
- "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.13.tgz",
- "integrity": "sha512-iSN5XwmagrnirWlYEWNPdCDj9aRYVD/lnK3JlsC9/+fqGF80k8C7rl+1HCvBX0dBoagKqOFBs6fMhJJ1hOg1EQ==",
- "requires": {}
- },
- "@humanwhocodes/config-array": {
- "version": "0.11.8",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
- "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
- "requires": {
- "@humanwhocodes/object-schema": "^1.2.1",
- "debug": "^4.1.1",
- "minimatch": "^3.0.5"
- }
- },
- "@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="
- },
- "@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
- },
- "@next/env": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-13.0.3.tgz",
- "integrity": "sha512-/4WzeG61Ot/PxsghXkSqQJ6UohFfwXoZ3dtsypmR9EBP+OIax9JRq0trq8Z/LCT9Aq4JbihVkaazRWguORjTAw=="
- },
- "@next/eslint-plugin-next": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.0.3.tgz",
- "integrity": "sha512-slmTAHNKDyc7jhx4VF8lFbmOPWJ3PShtUUWpb6x9+ga59CyOxgP6AdcDhxfapnWYACKe/TwYiaveufu7LqXgZg==",
- "requires": {
- "glob": "7.1.7"
- }
- },
- "@next/swc-android-arm-eabi": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.3.tgz",
- "integrity": "sha512-uxfUoj65CdFc1gX2q7GtBX3DhKv9Kn343LMqGNvXyuTpYTGMmIiVY7b9yF8oLWRV0gVKqhZBZifUmoPE8SJU6Q==",
- "optional": true
- },
- "@next/swc-android-arm64": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.3.tgz",
- "integrity": "sha512-t2k+WDfg7Cq2z/EnalKGsd/9E5F4Hdo1xu+UzZXYDpKUI9zgE6Bz8ajQb8m8txv3qOaWdKuDa5j5ziq9Acd1Xw==",
- "optional": true
- },
- "@next/swc-darwin-arm64": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.3.tgz",
- "integrity": "sha512-wV6j6SZ1bc/YHOLCLk9JVqaZTCCey6HBV7inl2DriHsHqIcO6F3+QiYf0KXwRP9BE0GSZZrYd5mZQm2JPTHdJA==",
- "optional": true
- },
- "@next/swc-darwin-x64": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.3.tgz",
- "integrity": "sha512-jaI2CMuYWvUtRixV3AIjUhnxUDU1FKOR+8hADMhYt3Yz+pCKuj4RZ0n0nY5qUf3qT1AtvnJXEgyatSFJhSp/wQ==",
- "optional": true
- },
- "@next/swc-freebsd-x64": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.3.tgz",
- "integrity": "sha512-nbyT0toBTJrcj5TCB9pVnQpGJ3utGyQj4CWegZs1ulaeUQ5Z7CS/qt8nRyYyOKYHtOdSCJ9Nw5F/RgKNkdpOdw==",
- "optional": true
- },
- "@next/swc-linux-arm-gnueabihf": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.3.tgz",
- "integrity": "sha512-1naLxYvRUQCoFCU1nMkcQueRc0Iux9xBv1L5pzH2ejtIWFg8BrSgyuluJG4nyAhFCx4WG863IEIkAaefOowVdA==",
- "optional": true
- },
- "@next/swc-linux-arm64-gnu": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.3.tgz",
- "integrity": "sha512-3Z4A8JkuGWpMVbUhUPQInK/SLY+kijTT78Q/NZCrhLlyvwrVxaQALJNlXzxDLraUgv4oVH0Wz/FIw1W9PUUhxA==",
- "optional": true
- },
- "@next/swc-linux-arm64-musl": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.3.tgz",
- "integrity": "sha512-MoYe9SM40UaunTjC+01c9OILLH3uSoeri58kDMu3KF/EFEvn1LZ6ODeDj+SLGlAc95wn46hrRJS2BPmDDE+jFQ==",
- "optional": true
- },
- "@next/swc-linux-x64-gnu": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.3.tgz",
- "integrity": "sha512-z22T5WGnRanjLMXdF0NaNjSpBlEzzY43t5Ysp3nW1oI6gOkub6WdQNZeHIY7A2JwkgSWZmtjLtf+Fzzz38LHeQ==",
- "optional": true
- },
- "@next/swc-linux-x64-musl": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.3.tgz",
- "integrity": "sha512-ZOMT7zjBFmkusAtr47k8xs/oTLsNlTH6xvYb+iux7yly2hZGwhfBLzPGBsbeMZukZ96IphJTagT+C033s6LNVA==",
- "optional": true
- },
- "@next/swc-win32-arm64-msvc": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.3.tgz",
- "integrity": "sha512-Q4BM16Djl+Oah9UdGrvjFYgoftYB2jNd+rtRGPX5Mmxo09Ry/KiLbOZnoUyoIxKc1xPyfqMXuaVsAFQLYs0KEQ==",
- "optional": true
- },
- "@next/swc-win32-ia32-msvc": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.3.tgz",
- "integrity": "sha512-Sa8yGkNeRUsic8Qjf7MLIAfP0p0+einK/wIqJ8UO1y76j+8rRQu42AMs5H4Ax1fm9GEYq6I8njHtY59TVpTtGQ==",
- "optional": true
- },
- "@next/swc-win32-x64-msvc": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.3.tgz",
- "integrity": "sha512-IAptmSqA7k4tQzaw2NAkoEjj3+Dz9ceuvlEHwYh770MMDL4V0ku2m+UHrmn5HUCEDHhgwwjg2nyf6728q2jr1w==",
- "optional": true
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@panva/hkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.0.2.tgz",
- "integrity": "sha512-MSAs9t3Go7GUkMhpKC44T58DJ5KGk2vBo+h1cqQeqlMfdGkxaVB78ZWpv9gYi/g2fa4sopag9gJsNvS8XGgWJA=="
- },
- "@rushstack/eslint-patch": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz",
- "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg=="
- },
- "@swc/helpers": {
- "version": "0.4.11",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz",
- "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==",
- "requires": {
- "tslib": "^2.4.0"
- }
- },
- "@tailwindcss/forms": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz",
- "integrity": "sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==",
- "requires": {
- "mini-svg-data-uri": "^1.2.3"
- }
- },
- "@types/json5": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
- },
- "@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg=="
- },
- "@types/prop-types": {
- "version": "15.7.5",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
- "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
- },
- "@types/react": {
- "version": "18.0.25",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz",
- "integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==",
- "requires": {
- "@types/prop-types": "*",
- "@types/scheduler": "*",
- "csstype": "^3.0.2"
- }
- },
- "@types/react-dom": {
- "version": "18.0.9",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz",
- "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==",
- "requires": {
- "@types/react": "*"
- }
- },
- "@types/scheduler": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
- "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
- },
- "@typescript-eslint/parser": {
- "version": "5.48.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz",
- "integrity": "sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==",
- "requires": {
- "@typescript-eslint/scope-manager": "5.48.0",
- "@typescript-eslint/types": "5.48.0",
- "@typescript-eslint/typescript-estree": "5.48.0",
- "debug": "^4.3.4"
- }
- },
- "@typescript-eslint/scope-manager": {
- "version": "5.48.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz",
- "integrity": "sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==",
- "requires": {
- "@typescript-eslint/types": "5.48.0",
- "@typescript-eslint/visitor-keys": "5.48.0"
- }
- },
- "@typescript-eslint/types": {
- "version": "5.48.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.0.tgz",
- "integrity": "sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw=="
- },
- "@typescript-eslint/typescript-estree": {
- "version": "5.48.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz",
- "integrity": "sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==",
- "requires": {
- "@typescript-eslint/types": "5.48.0",
- "@typescript-eslint/visitor-keys": "5.48.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- }
- },
- "@typescript-eslint/visitor-keys": {
- "version": "5.48.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz",
- "integrity": "sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==",
- "requires": {
- "@typescript-eslint/types": "5.48.0",
- "eslint-visitor-keys": "^3.3.0"
- }
- },
- "acorn": {
- "version": "8.8.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
- "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA=="
- },
- "acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "requires": {}
- },
- "acorn-node": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
- "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
- "requires": {
- "acorn": "^7.0.0",
- "acorn-walk": "^7.0.0",
- "xtend": "^4.0.2"
- },
- "dependencies": {
- "acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
- }
- }
- },
- "acorn-walk": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
- "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "arg": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
- },
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
- },
- "aria-query": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
- "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
- "requires": {
- "@babel/runtime": "^7.10.2",
- "@babel/runtime-corejs3": "^7.10.2"
- }
- },
- "array-includes": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
- "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "is-string": "^1.0.7"
- }
- },
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
- },
- "array.prototype.flat": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
- "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- }
- },
- "array.prototype.flatmap": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
- "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- }
- },
- "array.prototype.tosorted": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz",
- "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.1.3"
- }
- },
- "ast-types-flow": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag=="
- },
- "autoprefixer": {
- "version": "10.4.13",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz",
- "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==",
- "dev": true,
- "requires": {
- "browserslist": "^4.21.4",
- "caniuse-lite": "^1.0.30001426",
- "fraction.js": "^4.2.0",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
- },
- "axe-core": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.2.tgz",
- "integrity": "sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg=="
- },
- "axobject-query": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
- "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA=="
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "browserslist": {
- "version": "4.21.4",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
- "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001400",
- "electron-to-chromium": "^1.4.251",
- "node-releases": "^2.0.6",
- "update-browserslist-db": "^1.0.9"
- }
- },
- "call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
- },
- "camelcase-css": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
- },
- "caniuse-lite": {
- "version": "1.0.30001442",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz",
- "integrity": "sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow=="
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "requires": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "fsevents": "~2.3.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "client-only": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
- "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
- },
- "cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
- },
- "core-js-pure": {
- "version": "3.27.1",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz",
- "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw=="
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
- },
- "csstype": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
- "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
- },
- "damerau-levenshtein": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
- "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA=="
- },
- "debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
- },
- "define-properties": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
- "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
- "requires": {
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- }
- },
- "defined": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
- "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q=="
- },
- "detective": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
- "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
- "requires": {
- "acorn-node": "^1.8.2",
- "defined": "^1.0.0",
- "minimist": "^1.2.6"
- }
- },
- "didyoumean": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "dlv": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
- },
- "doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "dotenv": {
- "version": "16.0.3",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
- "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
- },
- "electron-to-chromium": {
- "version": "1.4.284",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
- "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
- "dev": true
- },
- "emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
- },
- "enhanced-resolve": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
- "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "es-abstract": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.0.tgz",
- "integrity": "sha512-GUGtW7eXQay0c+PRq0sGIKSdaBorfVqsCMhGHo4elP7YVqZu9nCZS4UkK4gv71gOWNMra/PaSKD3ao1oWExO0g==",
- "requires": {
- "call-bind": "^1.0.2",
- "es-set-tostringtag": "^2.0.0",
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.1.3",
- "get-symbol-description": "^1.0.0",
- "globalthis": "^1.0.3",
- "gopd": "^1.0.1",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.4",
- "is-array-buffer": "^3.0.0",
- "is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "is-string": "^1.0.7",
- "is-typed-array": "^1.1.10",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.12.2",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trimend": "^1.0.6",
- "string.prototype.trimstart": "^1.0.6",
- "typed-array-length": "^1.0.4",
- "unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.9"
- }
- },
- "es-set-tostringtag": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
- "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
- "requires": {
- "get-intrinsic": "^1.1.3",
- "has": "^1.0.3",
- "has-tostringtag": "^1.0.0"
- }
- },
- "es-shim-unscopables": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
- "requires": {
- "has": "^1.0.3"
- }
- },
- "es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- }
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
- },
- "eslint": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz",
- "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==",
- "requires": {
- "@eslint/eslintrc": "^1.3.3",
- "@humanwhocodes/config-array": "^0.11.6",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "ajv": "^6.10.0",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.1",
- "eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.3.0",
- "espree": "^9.4.0",
- "esquery": "^1.4.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.15.0",
- "grapheme-splitter": "^1.0.4",
- "ignore": "^5.2.0",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-sdsl": "^4.1.4",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "regexpp": "^3.2.0",
- "strip-ansi": "^6.0.1",
- "strip-json-comments": "^3.1.0",
- "text-table": "^0.2.0"
- }
- },
- "eslint-config-next": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.0.3.tgz",
- "integrity": "sha512-i2JoQP8gGv303GjXTonA27fm1ckRRkRoAP1WYEQgN0D2DDoFeBPqlJgHlMHnXKWjmNct/sW8jQEvy9am2juc8g==",
- "requires": {
- "@next/eslint-plugin-next": "13.0.3",
- "@rushstack/eslint-patch": "^1.1.3",
- "@typescript-eslint/parser": "^5.42.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-import-resolver-typescript": "^2.7.1",
- "eslint-plugin-import": "^2.26.0",
- "eslint-plugin-jsx-a11y": "^6.5.1",
- "eslint-plugin-react": "^7.31.7",
- "eslint-plugin-react-hooks": "^4.5.0"
- }
- },
- "eslint-import-resolver-node": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
- "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
- "requires": {
- "debug": "^3.2.7",
- "resolve": "^1.20.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "eslint-import-resolver-typescript": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz",
- "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==",
- "requires": {
- "debug": "^4.3.4",
- "glob": "^7.2.0",
- "is-glob": "^4.0.3",
- "resolve": "^1.22.0",
- "tsconfig-paths": "^3.14.1"
- },
- "dependencies": {
- "glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- }
- }
- },
- "eslint-module-utils": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
- "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
- "requires": {
- "debug": "^3.2.7"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "eslint-plugin-import": {
- "version": "2.26.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
- "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
- "requires": {
- "array-includes": "^3.1.4",
- "array.prototype.flat": "^1.2.5",
- "debug": "^2.6.9",
- "doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-module-utils": "^2.7.3",
- "has": "^1.0.3",
- "is-core-module": "^2.8.1",
- "is-glob": "^4.0.3",
- "minimatch": "^3.1.2",
- "object.values": "^1.1.5",
- "resolve": "^1.22.0",
- "tsconfig-paths": "^3.14.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- }
- }
- },
- "eslint-plugin-jsx-a11y": {
- "version": "6.6.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz",
- "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==",
- "requires": {
- "@babel/runtime": "^7.18.9",
- "aria-query": "^4.2.2",
- "array-includes": "^3.1.5",
- "ast-types-flow": "^0.0.7",
- "axe-core": "^4.4.3",
- "axobject-query": "^2.2.0",
- "damerau-levenshtein": "^1.0.8",
- "emoji-regex": "^9.2.2",
- "has": "^1.0.3",
- "jsx-ast-utils": "^3.3.2",
- "language-tags": "^1.0.5",
- "minimatch": "^3.1.2",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "eslint-plugin-react": {
- "version": "7.31.11",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz",
- "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==",
- "requires": {
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "array.prototype.tosorted": "^1.1.1",
- "doctrine": "^2.1.0",
- "estraverse": "^5.3.0",
- "jsx-ast-utils": "^2.4.1 || ^3.0.0",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "object.hasown": "^1.1.2",
- "object.values": "^1.1.6",
- "prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.3",
- "semver": "^6.3.0",
- "string.prototype.matchall": "^4.0.8"
- },
- "dependencies": {
- "doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "resolve": {
- "version": "2.0.0-next.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
- "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
- "requires": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "eslint-plugin-react-hooks": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
- "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
- "requires": {}
- },
- "eslint-scope": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
- "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- }
- },
- "eslint-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
- "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "requires": {
- "eslint-visitor-keys": "^2.0.0"
- },
- "dependencies": {
- "eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw=="
- }
- }
- },
- "eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA=="
- },
- "espree": {
- "version": "9.4.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
- "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
- "requires": {
- "acorn": "^8.8.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.3.0"
- }
- },
- "esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
- "requires": {
- "estraverse": "^5.1.0"
- }
- },
- "esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "requires": {
- "estraverse": "^5.2.0"
- }
- },
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
- },
- "fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "requires": {
- "flat-cache": "^3.0.4"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "requires": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- }
- },
- "flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
- },
- "for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "requires": {
- "is-callable": "^1.1.3"
- }
- },
- "fraction.js": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
- "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
- "dev": true
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
- }
- },
- "functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
- },
- "get-intrinsic": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
- "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
- }
- },
- "get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- }
- },
- "glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "globals": {
- "version": "13.19.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
- "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==",
- "requires": {
- "type-fest": "^0.20.2"
- }
- },
- "globalthis": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
- "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
- "requires": {
- "define-properties": "^1.1.3"
- }
- },
- "globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- }
- },
- "gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "requires": {
- "get-intrinsic": "^1.1.3"
- }
- },
- "graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
- },
- "grapheme-splitter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
- "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ=="
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "requires": {
- "get-intrinsic": "^1.1.1"
- }
- },
- "has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg=="
- },
- "has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
- },
- "has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "requires": {
- "has-symbols": "^1.0.2"
- }
- },
- "ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ=="
- },
- "import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "install": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz",
- "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA=="
- },
- "internal-slot": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz",
- "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==",
- "requires": {
- "get-intrinsic": "^1.1.3",
- "has": "^1.0.3",
- "side-channel": "^1.0.4"
- }
- },
- "is-array-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz",
- "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==",
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "is-typed-array": "^1.1.10"
- }
- },
- "is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "requires": {
- "has-bigints": "^1.0.1"
- }
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-callable": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="
- },
- "is-core-module": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
- "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
- },
- "is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="
- },
- "is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "requires": {
- "call-bind": "^1.0.2"
- }
- },
- "is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "requires": {
- "has-symbols": "^1.0.2"
- }
- },
- "is-typed-array": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
- "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
- "requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "requires": {
- "call-bind": "^1.0.2"
- }
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
- },
- "jose": {
- "version": "4.11.2",
- "resolved": "https://registry.npmjs.org/jose/-/jose-4.11.2.tgz",
- "integrity": "sha512-njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A=="
- },
- "js-sdsl": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
- "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ=="
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
- },
- "json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "jsx-ast-utils": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
- "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==",
- "requires": {
- "array-includes": "^3.1.5",
- "object.assign": "^4.1.3"
- }
- },
- "language-subtag-registry": {
- "version": "0.3.22",
- "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
- "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w=="
- },
- "language-tags": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz",
- "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==",
- "requires": {
- "language-subtag-registry": "^0.3.20"
- }
- },
- "levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "requires": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- }
- },
- "lilconfig": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
- "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg=="
- },
- "locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
- },
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
- },
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- }
- },
- "mini-svg-data-uri": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
- "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg=="
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
- "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g=="
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
- },
- "next": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/next/-/next-13.0.3.tgz",
- "integrity": "sha512-rFQeepcenRxKzeKlh1CsmEnxsJwhIERtbUjmYnKZyDInZsU06lvaGw5DT44rlNp1Rv2MT/e9vffZ8vK+ytwXHA==",
- "requires": {
- "@next/env": "13.0.3",
- "@next/swc-android-arm-eabi": "13.0.3",
- "@next/swc-android-arm64": "13.0.3",
- "@next/swc-darwin-arm64": "13.0.3",
- "@next/swc-darwin-x64": "13.0.3",
- "@next/swc-freebsd-x64": "13.0.3",
- "@next/swc-linux-arm-gnueabihf": "13.0.3",
- "@next/swc-linux-arm64-gnu": "13.0.3",
- "@next/swc-linux-arm64-musl": "13.0.3",
- "@next/swc-linux-x64-gnu": "13.0.3",
- "@next/swc-linux-x64-musl": "13.0.3",
- "@next/swc-win32-arm64-msvc": "13.0.3",
- "@next/swc-win32-ia32-msvc": "13.0.3",
- "@next/swc-win32-x64-msvc": "13.0.3",
- "@swc/helpers": "0.4.11",
- "caniuse-lite": "^1.0.30001406",
- "postcss": "8.4.14",
- "styled-jsx": "5.1.0",
- "use-sync-external-store": "1.2.0"
- },
- "dependencies": {
- "postcss": {
- "version": "8.4.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
- "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
- "requires": {
- "nanoid": "^3.3.4",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- }
- }
- }
- },
- "next-auth": {
- "version": "4.18.8",
- "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.18.8.tgz",
- "integrity": "sha512-USP8ihmvB7iCGtkS0+toe2QPrzdbZfkydQZX56JOI9Ft5n/BardOXh3D4wQ2An+vpq/jDKojGlgfv21wVElW7A==",
- "requires": {
- "@babel/runtime": "^7.16.3",
- "@panva/hkdf": "^1.0.1",
- "cookie": "^0.5.0",
- "jose": "^4.9.3",
- "oauth": "^0.9.15",
- "openid-client": "^5.1.0",
- "preact": "^10.6.3",
- "preact-render-to-string": "^5.1.19",
- "uuid": "^8.3.2"
- }
- },
- "next-transpile-modules": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/next-transpile-modules/-/next-transpile-modules-10.0.0.tgz",
- "integrity": "sha512-FyeJ++Lm2Fq31gbThiRCrJlYpIY9QaI7A3TjuhQLzOix8ChQrvn5ny4MhfIthS5cy6+uK1AhDRvxVdW17y3Xdw==",
- "requires": {
- "enhanced-resolve": "^5.10.0"
- }
- },
- "node-releases": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
- "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==",
- "dev": true
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
- },
- "normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
- "dev": true
- },
- "npm": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/npm/-/npm-9.2.0.tgz",
- "integrity": "sha512-oypVdaWGHDuV79RXLvp+B9gh6gDyAmoHKrQ0/JBYTWWx5D8/+AAxFdZC84fSIiyDdyW4qfrSyYGKhekxDOaMXQ==",
- "requires": {
- "@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/arborist": "^6.1.5",
- "@npmcli/config": "^6.1.0",
- "@npmcli/map-workspaces": "^3.0.0",
- "@npmcli/package-json": "^3.0.0",
- "@npmcli/run-script": "^6.0.0",
- "abbrev": "^2.0.0",
- "archy": "~1.0.0",
- "cacache": "^17.0.3",
- "chalk": "^4.1.2",
- "ci-info": "^3.7.0",
- "cli-columns": "^4.0.0",
- "cli-table3": "^0.6.3",
- "columnify": "^1.6.0",
- "fastest-levenshtein": "^1.0.16",
- "fs-minipass": "^2.1.0",
- "glob": "^8.0.1",
- "graceful-fs": "^4.2.10",
- "hosted-git-info": "^6.1.1",
- "ini": "^3.0.1",
- "init-package-json": "^4.0.1",
- "is-cidr": "^4.0.2",
- "json-parse-even-better-errors": "^3.0.0",
- "libnpmaccess": "^7.0.1",
- "libnpmdiff": "^5.0.6",
- "libnpmexec": "^5.0.6",
- "libnpmfund": "^4.0.6",
- "libnpmhook": "^9.0.1",
- "libnpmorg": "^5.0.1",
- "libnpmpack": "^5.0.6",
- "libnpmpublish": "^7.0.6",
- "libnpmsearch": "^6.0.1",
- "libnpmteam": "^5.0.1",
- "libnpmversion": "^4.0.1",
- "make-fetch-happen": "^11.0.2",
- "minimatch": "^5.1.1",
- "minipass": "^4.0.0",
- "minipass-pipeline": "^1.2.4",
- "mkdirp": "^1.0.4",
- "ms": "^2.1.2",
- "node-gyp": "^9.3.0",
- "nopt": "^7.0.0",
- "npm-audit-report": "^4.0.0",
- "npm-install-checks": "^6.0.0",
- "npm-package-arg": "^10.1.0",
- "npm-pick-manifest": "^8.0.1",
- "npm-profile": "^7.0.1",
- "npm-registry-fetch": "^14.0.3",
- "npm-user-validate": "^1.0.1",
- "npmlog": "^7.0.1",
- "p-map": "^4.0.0",
- "pacote": "^15.0.7",
- "parse-conflict-json": "^3.0.0",
- "proc-log": "^3.0.0",
- "qrcode-terminal": "^0.12.0",
- "read": "~1.0.7",
- "read-package-json": "^6.0.0",
- "read-package-json-fast": "^3.0.1",
- "rimraf": "^3.0.2",
- "semver": "^7.3.8",
- "ssri": "^10.0.1",
- "tar": "^6.1.13",
- "text-table": "~0.2.0",
- "tiny-relative-date": "^1.3.0",
- "treeverse": "^3.0.0",
- "validate-npm-package-name": "^5.0.0",
- "which": "^3.0.0",
- "write-file-atomic": "^5.0.0"
- },
- "dependencies": {
- "@colors/colors": {
- "version": "1.5.0",
- "bundled": true,
- "optional": true
- },
- "@gar/promisify": {
- "version": "1.1.3",
- "bundled": true
- },
- "@isaacs/string-locale-compare": {
- "version": "1.1.0",
- "bundled": true
- },
- "@npmcli/arborist": {
- "version": "6.1.5",
- "bundled": true,
- "requires": {
- "@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/fs": "^3.1.0",
- "@npmcli/installed-package-contents": "^2.0.0",
- "@npmcli/map-workspaces": "^3.0.0",
- "@npmcli/metavuln-calculator": "^5.0.0",
- "@npmcli/name-from-folder": "^1.0.1",
- "@npmcli/node-gyp": "^3.0.0",
- "@npmcli/package-json": "^3.0.0",
- "@npmcli/query": "^3.0.0",
- "@npmcli/run-script": "^6.0.0",
- "bin-links": "^4.0.1",
- "cacache": "^17.0.3",
- "common-ancestor-path": "^1.0.1",
- "hosted-git-info": "^6.1.1",
- "json-parse-even-better-errors": "^3.0.0",
- "json-stringify-nice": "^1.1.4",
- "minimatch": "^5.1.1",
- "nopt": "^7.0.0",
- "npm-install-checks": "^6.0.0",
- "npm-package-arg": "^10.1.0",
- "npm-pick-manifest": "^8.0.1",
- "npm-registry-fetch": "^14.0.3",
- "npmlog": "^7.0.1",
- "pacote": "^15.0.7",
- "parse-conflict-json": "^3.0.0",
- "proc-log": "^3.0.0",
- "promise-all-reject-late": "^1.0.0",
- "promise-call-limit": "^1.0.1",
- "read-package-json-fast": "^3.0.1",
- "semver": "^7.3.7",
- "ssri": "^10.0.1",
- "treeverse": "^3.0.0",
- "walk-up-path": "^1.0.0"
- }
- },
- "@npmcli/config": {
- "version": "6.1.0",
- "bundled": true,
- "requires": {
- "@npmcli/map-workspaces": "^3.0.0",
- "ini": "^3.0.0",
- "nopt": "^7.0.0",
- "proc-log": "^3.0.0",
- "read-package-json-fast": "^3.0.0",
- "semver": "^7.3.5",
- "walk-up-path": "^1.0.0"
- }
- },
- "@npmcli/disparity-colors": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "ansi-styles": "^4.3.0"
- }
- },
- "@npmcli/fs": {
- "version": "3.1.0",
- "bundled": true,
- "requires": {
- "semver": "^7.3.5"
- }
- },
- "@npmcli/git": {
- "version": "4.0.3",
- "bundled": true,
- "requires": {
- "@npmcli/promise-spawn": "^6.0.0",
- "lru-cache": "^7.4.4",
- "mkdirp": "^1.0.4",
- "npm-pick-manifest": "^8.0.0",
- "proc-log": "^3.0.0",
- "promise-inflight": "^1.0.1",
- "promise-retry": "^2.0.1",
- "semver": "^7.3.5",
- "which": "^3.0.0"
- }
- },
- "@npmcli/installed-package-contents": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "npm-bundled": "^3.0.0",
- "npm-normalize-package-bin": "^3.0.0"
- }
- },
- "@npmcli/map-workspaces": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "@npmcli/name-from-folder": "^1.0.1",
- "glob": "^8.0.1",
- "minimatch": "^5.0.1",
- "read-package-json-fast": "^3.0.0"
- }
- },
- "@npmcli/metavuln-calculator": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "cacache": "^17.0.0",
- "json-parse-even-better-errors": "^3.0.0",
- "pacote": "^15.0.0",
- "semver": "^7.3.5"
- }
- },
- "@npmcli/name-from-folder": {
- "version": "1.0.1",
- "bundled": true
- },
- "@npmcli/node-gyp": {
- "version": "3.0.0",
- "bundled": true
- },
- "@npmcli/package-json": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "json-parse-even-better-errors": "^3.0.0"
- }
- },
- "@npmcli/promise-spawn": {
- "version": "6.0.1",
- "bundled": true,
- "requires": {
- "which": "^3.0.0"
- }
- },
- "@npmcli/query": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "postcss-selector-parser": "^6.0.10"
- }
- },
- "@npmcli/run-script": {
- "version": "6.0.0",
- "bundled": true,
- "requires": {
- "@npmcli/node-gyp": "^3.0.0",
- "@npmcli/promise-spawn": "^6.0.0",
- "node-gyp": "^9.0.0",
- "read-package-json-fast": "^3.0.0",
- "which": "^3.0.0"
- }
- },
- "@tootallnate/once": {
- "version": "2.0.0",
- "bundled": true
- },
- "abbrev": {
- "version": "2.0.0",
- "bundled": true
- },
- "abort-controller": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "event-target-shim": "^5.0.0"
- }
- },
- "agent-base": {
- "version": "6.0.2",
- "bundled": true,
- "requires": {
- "debug": "4"
- }
- },
- "agentkeepalive": {
- "version": "4.2.1",
- "bundled": true,
- "requires": {
- "debug": "^4.1.0",
- "depd": "^1.1.2",
- "humanize-ms": "^1.2.1"
- }
- },
- "aggregate-error": {
- "version": "3.1.0",
- "bundled": true,
- "requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "bundled": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "bundled": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "aproba": {
- "version": "2.0.0",
- "bundled": true
- },
- "archy": {
- "version": "1.0.0",
- "bundled": true
- },
- "are-we-there-yet": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^4.1.0"
- },
- "dependencies": {
- "buffer": {
- "version": "6.0.3",
- "bundled": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "readable-stream": {
- "version": "4.2.0",
- "bundled": true,
- "requires": {
- "abort-controller": "^3.0.0",
- "buffer": "^6.0.3",
- "events": "^3.3.0",
- "process": "^0.11.10"
- }
- }
- }
- },
- "balanced-match": {
- "version": "1.0.2",
- "bundled": true
- },
- "base64-js": {
- "version": "1.5.1",
- "bundled": true
- },
- "bin-links": {
- "version": "4.0.1",
- "bundled": true,
- "requires": {
- "cmd-shim": "^6.0.0",
- "npm-normalize-package-bin": "^3.0.0",
- "read-cmd-shim": "^4.0.0",
- "write-file-atomic": "^5.0.0"
- }
- },
- "binary-extensions": {
- "version": "2.2.0",
- "bundled": true
- },
- "brace-expansion": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "builtins": {
- "version": "5.0.1",
- "bundled": true,
- "requires": {
- "semver": "^7.0.0"
- }
- },
- "cacache": {
- "version": "17.0.3",
- "bundled": true,
- "requires": {
- "@npmcli/fs": "^3.1.0",
- "fs-minipass": "^2.1.0",
- "glob": "^8.0.1",
- "lru-cache": "^7.7.1",
- "minipass": "^4.0.0",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "ssri": "^10.0.0",
- "tar": "^6.1.11",
- "unique-filename": "^3.0.0"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "bundled": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "chownr": {
- "version": "2.0.0",
- "bundled": true
- },
- "ci-info": {
- "version": "3.7.0",
- "bundled": true
- },
- "cidr-regex": {
- "version": "3.1.1",
- "bundled": true,
- "requires": {
- "ip-regex": "^4.1.0"
- }
- },
- "clean-stack": {
- "version": "2.2.0",
- "bundled": true
- },
- "cli-columns": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- }
- },
- "cli-table3": {
- "version": "0.6.3",
- "bundled": true,
- "requires": {
- "@colors/colors": "1.5.0",
- "string-width": "^4.2.0"
- }
- },
- "clone": {
- "version": "1.0.4",
- "bundled": true
- },
- "cmd-shim": {
- "version": "6.0.0",
- "bundled": true
- },
- "color-convert": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "bundled": true
- },
- "color-support": {
- "version": "1.1.3",
- "bundled": true
- },
- "columnify": {
- "version": "1.6.0",
- "bundled": true,
- "requires": {
- "strip-ansi": "^6.0.1",
- "wcwidth": "^1.0.0"
- }
- },
- "common-ancestor-path": {
- "version": "1.0.1",
- "bundled": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true
- },
- "cssesc": {
- "version": "3.0.0",
- "bundled": true
- },
- "debug": {
- "version": "4.3.4",
- "bundled": true,
- "requires": {
- "ms": "2.1.2"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.2",
- "bundled": true
- }
- }
- },
- "defaults": {
- "version": "1.0.3",
- "bundled": true,
- "requires": {
- "clone": "^1.0.2"
- }
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true
- },
- "depd": {
- "version": "1.1.2",
- "bundled": true
- },
- "diff": {
- "version": "5.1.0",
- "bundled": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "bundled": true
- },
- "encoding": {
- "version": "0.1.13",
- "bundled": true,
- "optional": true,
- "requires": {
- "iconv-lite": "^0.6.2"
- }
- },
- "env-paths": {
- "version": "2.2.1",
- "bundled": true
- },
- "err-code": {
- "version": "2.0.3",
- "bundled": true
- },
- "event-target-shim": {
- "version": "5.0.1",
- "bundled": true
- },
- "events": {
- "version": "3.3.0",
- "bundled": true
- },
- "fastest-levenshtein": {
- "version": "1.0.16",
- "bundled": true
- },
- "fs-minipass": {
- "version": "2.1.0",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- },
- "dependencies": {
- "minipass": {
- "version": "3.3.6",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- }
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true
- },
- "function-bind": {
- "version": "1.1.1",
- "bundled": true
- },
- "gauge": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- }
- },
- "glob": {
- "version": "8.0.3",
- "bundled": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.10",
- "bundled": true
- },
- "has": {
- "version": "1.0.3",
- "bundled": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "bundled": true
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true
- },
- "hosted-git-info": {
- "version": "6.1.1",
- "bundled": true,
- "requires": {
- "lru-cache": "^7.5.1"
- }
- },
- "http-cache-semantics": {
- "version": "4.1.0",
- "bundled": true
- },
- "http-proxy-agent": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "https-proxy-agent": {
- "version": "5.0.1",
- "bundled": true,
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
- "humanize-ms": {
- "version": "1.2.1",
- "bundled": true,
- "requires": {
- "ms": "^2.0.0"
- }
- },
- "iconv-lite": {
- "version": "0.6.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- }
- },
- "ieee754": {
- "version": "1.2.1",
- "bundled": true
- },
- "ignore-walk": {
- "version": "6.0.0",
- "bundled": true,
- "requires": {
- "minimatch": "^5.0.1"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "bundled": true
- },
- "indent-string": {
- "version": "4.0.0",
- "bundled": true
- },
- "infer-owner": {
- "version": "1.0.4",
- "bundled": true
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "bundled": true
- },
- "ini": {
- "version": "3.0.1",
- "bundled": true
- },
- "init-package-json": {
- "version": "4.0.1",
- "bundled": true,
- "requires": {
- "npm-package-arg": "^10.0.0",
- "promzard": "^0.3.0",
- "read": "^1.0.7",
- "read-package-json": "^6.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4",
- "validate-npm-package-name": "^5.0.0"
- }
- },
- "ip": {
- "version": "2.0.0",
- "bundled": true
- },
- "ip-regex": {
- "version": "4.3.0",
- "bundled": true
- },
- "is-cidr": {
- "version": "4.0.2",
- "bundled": true,
- "requires": {
- "cidr-regex": "^3.1.1"
- }
- },
- "is-core-module": {
- "version": "2.10.0",
- "bundled": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "bundled": true
- },
- "is-lambda": {
- "version": "1.0.1",
- "bundled": true
- },
- "isexe": {
- "version": "2.0.0",
- "bundled": true
- },
- "json-parse-even-better-errors": {
- "version": "3.0.0",
- "bundled": true
- },
- "json-stringify-nice": {
- "version": "1.1.4",
- "bundled": true
- },
- "jsonparse": {
- "version": "1.3.1",
- "bundled": true
- },
- "just-diff": {
- "version": "5.1.1",
- "bundled": true
- },
- "just-diff-apply": {
- "version": "5.4.1",
- "bundled": true
- },
- "libnpmaccess": {
- "version": "7.0.1",
- "bundled": true,
- "requires": {
- "npm-package-arg": "^10.1.0",
- "npm-registry-fetch": "^14.0.3"
- }
- },
- "libnpmdiff": {
- "version": "5.0.6",
- "bundled": true,
- "requires": {
- "@npmcli/arborist": "^6.1.5",
- "@npmcli/disparity-colors": "^3.0.0",
- "@npmcli/installed-package-contents": "^2.0.0",
- "binary-extensions": "^2.2.0",
- "diff": "^5.1.0",
- "minimatch": "^5.1.1",
- "npm-package-arg": "^10.1.0",
- "pacote": "^15.0.7",
- "tar": "^6.1.13"
- }
- },
- "libnpmexec": {
- "version": "5.0.6",
- "bundled": true,
- "requires": {
- "@npmcli/arborist": "^6.1.5",
- "@npmcli/run-script": "^6.0.0",
- "chalk": "^4.1.0",
- "ci-info": "^3.7.0",
- "npm-package-arg": "^10.1.0",
- "npmlog": "^7.0.1",
- "pacote": "^15.0.7",
- "proc-log": "^3.0.0",
- "read": "^1.0.7",
- "read-package-json-fast": "^3.0.1",
- "semver": "^7.3.7",
- "walk-up-path": "^1.0.0"
- }
- },
- "libnpmfund": {
- "version": "4.0.6",
- "bundled": true,
- "requires": {
- "@npmcli/arborist": "^6.1.5"
- }
- },
- "libnpmhook": {
- "version": "9.0.1",
- "bundled": true,
- "requires": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^14.0.3"
- }
- },
- "libnpmorg": {
- "version": "5.0.1",
- "bundled": true,
- "requires": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^14.0.3"
- }
- },
- "libnpmpack": {
- "version": "5.0.6",
- "bundled": true,
- "requires": {
- "@npmcli/arborist": "^6.1.5",
- "@npmcli/run-script": "^6.0.0",
- "npm-package-arg": "^10.1.0",
- "pacote": "^15.0.7"
- }
- },
- "libnpmpublish": {
- "version": "7.0.6",
- "bundled": true,
- "requires": {
- "normalize-package-data": "^5.0.0",
- "npm-package-arg": "^10.1.0",
- "npm-registry-fetch": "^14.0.3",
- "semver": "^7.3.7",
- "ssri": "^10.0.1"
- }
- },
- "libnpmsearch": {
- "version": "6.0.1",
- "bundled": true,
- "requires": {
- "npm-registry-fetch": "^14.0.3"
- }
- },
- "libnpmteam": {
- "version": "5.0.1",
- "bundled": true,
- "requires": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^14.0.3"
- }
- },
- "libnpmversion": {
- "version": "4.0.1",
- "bundled": true,
- "requires": {
- "@npmcli/git": "^4.0.1",
- "@npmcli/run-script": "^6.0.0",
- "json-parse-even-better-errors": "^3.0.0",
- "proc-log": "^3.0.0",
- "semver": "^7.3.7"
- }
- },
- "lru-cache": {
- "version": "7.13.2",
- "bundled": true
- },
- "make-fetch-happen": {
- "version": "11.0.2",
- "bundled": true,
- "requires": {
- "agentkeepalive": "^4.2.1",
- "cacache": "^17.0.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^5.0.0",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^7.7.1",
- "minipass": "^4.0.0",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^3.0.0",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.3",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^7.0.0",
- "ssri": "^10.0.0"
- }
- },
- "minimatch": {
- "version": "5.1.1",
- "bundled": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- },
- "minipass": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minipass-collect": {
- "version": "1.0.2",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- },
- "dependencies": {
- "minipass": {
- "version": "3.3.6",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- }
- }
- },
- "minipass-fetch": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "encoding": "^0.1.13",
- "minipass": "^3.1.6",
- "minipass-sized": "^1.0.3",
- "minizlib": "^2.1.2"
- },
- "dependencies": {
- "minipass": {
- "version": "3.3.6",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- }
- }
- },
- "minipass-flush": {
- "version": "1.0.5",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- },
- "dependencies": {
- "minipass": {
- "version": "3.3.6",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- }
- }
- },
- "minipass-json-stream": {
- "version": "1.0.1",
- "bundled": true,
- "requires": {
- "jsonparse": "^1.3.1",
- "minipass": "^3.0.0"
- },
- "dependencies": {
- "minipass": {
- "version": "3.3.6",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- }
- }
- },
- "minipass-pipeline": {
- "version": "1.2.4",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- },
- "dependencies": {
- "minipass": {
- "version": "3.3.6",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- }
- }
- },
- "minipass-sized": {
- "version": "1.0.3",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- },
- "dependencies": {
- "minipass": {
- "version": "3.3.6",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- }
- }
- },
- "minizlib": {
- "version": "2.1.2",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- },
- "dependencies": {
- "minipass": {
- "version": "3.3.6",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- }
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "bundled": true
- },
- "ms": {
- "version": "2.1.3",
- "bundled": true
- },
- "mute-stream": {
- "version": "0.0.8",
- "bundled": true
- },
- "negotiator": {
- "version": "0.6.3",
- "bundled": true
- },
- "node-gyp": {
- "version": "9.3.0",
- "bundled": true,
- "requires": {
- "env-paths": "^2.2.0",
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.6",
- "make-fetch-happen": "^10.0.3",
- "nopt": "^6.0.0",
- "npmlog": "^6.0.0",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "tar": "^6.1.2",
- "which": "^2.0.2"
- },
- "dependencies": {
- "@npmcli/fs": {
- "version": "2.1.2",
- "bundled": true,
- "requires": {
- "@gar/promisify": "^1.1.3",
- "semver": "^7.3.5"
- }
- },
- "@npmcli/move-file": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "mkdirp": "^1.0.4",
- "rimraf": "^3.0.2"
- }
- },
- "abbrev": {
- "version": "1.1.1",
- "bundled": true
- },
- "are-we-there-yet": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "cacache": {
- "version": "16.1.3",
- "bundled": true,
- "requires": {
- "@npmcli/fs": "^2.1.0",
- "@npmcli/move-file": "^2.0.0",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.1.0",
- "glob": "^8.0.1",
- "infer-owner": "^1.0.4",
- "lru-cache": "^7.7.1",
- "minipass": "^3.1.6",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "mkdirp": "^1.0.4",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^9.0.0",
- "tar": "^6.1.11",
- "unique-filename": "^2.0.0"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "glob": {
- "version": "8.0.3",
- "bundled": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- }
- },
- "minimatch": {
- "version": "5.1.0",
- "bundled": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- }
- }
- },
- "gauge": {
- "version": "4.0.4",
- "bundled": true,
- "requires": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- }
- },
- "glob": {
- "version": "7.2.3",
- "bundled": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "make-fetch-happen": {
- "version": "10.2.1",
- "bundled": true,
- "requires": {
- "agentkeepalive": "^4.2.1",
- "cacache": "^16.1.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^5.0.0",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^7.7.1",
- "minipass": "^3.1.6",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^2.0.3",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.3",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^7.0.0",
- "ssri": "^9.0.0"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "bundled": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minipass": {
- "version": "3.3.6",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minipass-fetch": {
- "version": "2.1.2",
- "bundled": true,
- "requires": {
- "encoding": "^0.1.13",
- "minipass": "^3.1.6",
- "minipass-sized": "^1.0.3",
- "minizlib": "^2.1.2"
- }
- },
- "nopt": {
- "version": "6.0.0",
- "bundled": true,
- "requires": {
- "abbrev": "^1.0.0"
- }
- },
- "npmlog": {
- "version": "6.0.2",
- "bundled": true,
- "requires": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.0.0"
- }
- },
- "ssri": {
- "version": "9.0.1",
- "bundled": true,
- "requires": {
- "minipass": "^3.1.1"
- }
- },
- "unique-filename": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "unique-slug": "^3.0.0"
- }
- },
- "unique-slug": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "imurmurhash": "^0.1.4"
- }
- },
- "which": {
- "version": "2.0.2",
- "bundled": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "nopt": {
- "version": "7.0.0",
- "bundled": true,
- "requires": {
- "abbrev": "^2.0.0"
- }
- },
- "normalize-package-data": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "hosted-git-info": "^6.0.0",
- "is-core-module": "^2.8.1",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4"
- }
- },
- "npm-audit-report": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "chalk": "^4.0.0"
- }
- },
- "npm-bundled": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "npm-normalize-package-bin": "^3.0.0"
- }
- },
- "npm-install-checks": {
- "version": "6.0.0",
- "bundled": true,
- "requires": {
- "semver": "^7.1.1"
- }
- },
- "npm-normalize-package-bin": {
- "version": "3.0.0",
- "bundled": true
- },
- "npm-package-arg": {
- "version": "10.1.0",
- "bundled": true,
- "requires": {
- "hosted-git-info": "^6.0.0",
- "proc-log": "^3.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-name": "^5.0.0"
- }
- },
- "npm-packlist": {
- "version": "7.0.4",
- "bundled": true,
- "requires": {
- "ignore-walk": "^6.0.0"
- }
- },
- "npm-pick-manifest": {
- "version": "8.0.1",
- "bundled": true,
- "requires": {
- "npm-install-checks": "^6.0.0",
- "npm-normalize-package-bin": "^3.0.0",
- "npm-package-arg": "^10.0.0",
- "semver": "^7.3.5"
- }
- },
- "npm-profile": {
- "version": "7.0.1",
- "bundled": true,
- "requires": {
- "npm-registry-fetch": "^14.0.0",
- "proc-log": "^3.0.0"
- }
- },
- "npm-registry-fetch": {
- "version": "14.0.3",
- "bundled": true,
- "requires": {
- "make-fetch-happen": "^11.0.0",
- "minipass": "^4.0.0",
- "minipass-fetch": "^3.0.0",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.1.2",
- "npm-package-arg": "^10.0.0",
- "proc-log": "^3.0.0"
- }
- },
- "npm-user-validate": {
- "version": "1.0.1",
- "bundled": true
- },
- "npmlog": {
- "version": "7.0.1",
- "bundled": true,
- "requires": {
- "are-we-there-yet": "^4.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^5.0.0",
- "set-blocking": "^2.0.0"
- }
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "p-map": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "pacote": {
- "version": "15.0.7",
- "bundled": true,
- "requires": {
- "@npmcli/git": "^4.0.0",
- "@npmcli/installed-package-contents": "^2.0.1",
- "@npmcli/promise-spawn": "^6.0.1",
- "@npmcli/run-script": "^6.0.0",
- "cacache": "^17.0.0",
- "fs-minipass": "^2.1.0",
- "minipass": "^4.0.0",
- "npm-package-arg": "^10.0.0",
- "npm-packlist": "^7.0.0",
- "npm-pick-manifest": "^8.0.0",
- "npm-registry-fetch": "^14.0.0",
- "proc-log": "^3.0.0",
- "promise-retry": "^2.0.1",
- "read-package-json": "^6.0.0",
- "read-package-json-fast": "^3.0.0",
- "ssri": "^10.0.0",
- "tar": "^6.1.11"
- }
- },
- "parse-conflict-json": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "json-parse-even-better-errors": "^3.0.0",
- "just-diff": "^5.0.1",
- "just-diff-apply": "^5.2.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true
- },
- "postcss-selector-parser": {
- "version": "6.0.10",
- "bundled": true,
- "requires": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "proc-log": {
- "version": "3.0.0",
- "bundled": true
- },
- "process": {
- "version": "0.11.10",
- "bundled": true
- },
- "promise-all-reject-late": {
- "version": "1.0.1",
- "bundled": true
- },
- "promise-call-limit": {
- "version": "1.0.1",
- "bundled": true
- },
- "promise-inflight": {
- "version": "1.0.1",
- "bundled": true
- },
- "promise-retry": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "err-code": "^2.0.2",
- "retry": "^0.12.0"
- }
- },
- "promzard": {
- "version": "0.3.0",
- "bundled": true,
- "requires": {
- "read": "1"
- }
- },
- "qrcode-terminal": {
- "version": "0.12.0",
- "bundled": true
- },
- "read": {
- "version": "1.0.7",
- "bundled": true,
- "requires": {
- "mute-stream": "~0.0.4"
- }
- },
- "read-cmd-shim": {
- "version": "4.0.0",
- "bundled": true
- },
- "read-package-json": {
- "version": "6.0.0",
- "bundled": true,
- "requires": {
- "glob": "^8.0.1",
- "json-parse-even-better-errors": "^3.0.0",
- "normalize-package-data": "^5.0.0",
- "npm-normalize-package-bin": "^3.0.0"
- }
- },
- "read-package-json-fast": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "json-parse-even-better-errors": "^3.0.0",
- "npm-normalize-package-bin": "^3.0.0"
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "bundled": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "retry": {
- "version": "0.12.0",
- "bundled": true
- },
- "rimraf": {
- "version": "3.0.2",
- "bundled": true,
- "requires": {
- "glob": "^7.1.3"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "glob": {
- "version": "7.2.3",
- "bundled": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "bundled": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "safe-buffer": {
- "version": "5.2.1",
- "bundled": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "optional": true
- },
- "semver": {
- "version": "7.3.8",
- "bundled": true,
- "requires": {
- "lru-cache": "^6.0.0"
- },
- "dependencies": {
- "lru-cache": {
- "version": "6.0.0",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- }
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true
- },
- "signal-exit": {
- "version": "3.0.7",
- "bundled": true
- },
- "smart-buffer": {
- "version": "4.2.0",
- "bundled": true
- },
- "socks": {
- "version": "2.7.0",
- "bundled": true,
- "requires": {
- "ip": "^2.0.0",
- "smart-buffer": "^4.2.0"
- }
- },
- "socks-proxy-agent": {
- "version": "7.0.0",
- "bundled": true,
- "requires": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.3",
- "socks": "^2.6.2"
- }
- },
- "spdx-correct": {
- "version": "3.1.1",
- "bundled": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.3.0",
- "bundled": true
- },
- "spdx-expression-parse": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.11",
- "bundled": true
- },
- "ssri": {
- "version": "10.0.1",
- "bundled": true,
- "requires": {
- "minipass": "^4.0.0"
- }
- },
- "string_decoder": {
- "version": "1.3.0",
- "bundled": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- },
- "string-width": {
- "version": "4.2.3",
- "bundled": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "bundled": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "bundled": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "tar": {
- "version": "6.1.13",
- "bundled": true,
- "requires": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^4.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- }
- },
- "text-table": {
- "version": "0.2.0",
- "bundled": true
- },
- "tiny-relative-date": {
- "version": "1.3.0",
- "bundled": true
- },
- "treeverse": {
- "version": "3.0.0",
- "bundled": true
- },
- "unique-filename": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "unique-slug": "^4.0.0"
- }
- },
- "unique-slug": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "imurmurhash": "^0.1.4"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "bundled": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "validate-npm-package-name": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "builtins": "^5.0.0"
- }
- },
- "walk-up-path": {
- "version": "1.0.0",
- "bundled": true
- },
- "wcwidth": {
- "version": "1.0.1",
- "bundled": true,
- "requires": {
- "defaults": "^1.0.3"
- }
- },
- "which": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "wide-align": {
- "version": "1.1.5",
- "bundled": true,
- "requires": {
- "string-width": "^1.0.2 || 2 || 3 || 4"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true
- },
- "write-file-atomic": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.7"
- }
- },
- "yallist": {
- "version": "4.0.0",
- "bundled": true
- }
- }
- },
- "oauth": {
- "version": "0.9.15",
- "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
- "integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA=="
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
- },
- "object-hash": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
- "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw=="
- },
- "object-inspect": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
- "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
- },
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
- },
- "object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "has-symbols": "^1.0.3",
- "object-keys": "^1.1.1"
- }
- },
- "object.entries": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz",
- "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
- "object.fromentries": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz",
- "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
- "object.hasown": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz",
- "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==",
- "requires": {
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
- "object.values": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
- "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
- "oidc-token-hash": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz",
- "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ=="
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "requires": {
- "wrappy": "1"
- }
- },
- "openid-client": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.3.1.tgz",
- "integrity": "sha512-RLfehQiHch9N6tRWNx68cicf3b1WR0x74bJWHRc25uYIbSRwjxYcTFaRnzbbpls5jroLAaB/bFIodTgA5LJMvw==",
- "requires": {
- "jose": "^4.10.0",
- "lru-cache": "^6.0.0",
- "object-hash": "^2.0.1",
- "oidc-token-hash": "^5.0.1"
- }
- },
- "optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "requires": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
- }
- },
- "p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
- },
- "path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
- },
- "postcss": {
- "version": "8.4.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
- "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
- "requires": {
- "nanoid": "^3.3.4",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- }
- },
- "postcss-import": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
- "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
- "requires": {
- "postcss-value-parser": "^4.0.0",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
- }
- },
- "postcss-js": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
- "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
- "requires": {
- "camelcase-css": "^2.0.1"
- }
- },
- "postcss-load-config": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
- "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
- "requires": {
- "lilconfig": "^2.0.5",
- "yaml": "^1.10.2"
- }
- },
- "postcss-nested": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
- "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
- "requires": {
- "postcss-selector-parser": "^6.0.10"
- }
- },
- "postcss-selector-parser": {
- "version": "6.0.11",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
- "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
- "requires": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
- },
- "preact": {
- "version": "10.11.3",
- "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz",
- "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg=="
- },
- "preact-render-to-string": {
- "version": "5.2.6",
- "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz",
- "integrity": "sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==",
- "requires": {
- "pretty-format": "^3.8.0"
- }
- },
- "prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
- },
- "pretty-format": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz",
- "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew=="
- },
- "prop-types": {
- "version": "15.8.1",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
- "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
- "requires": {
- "loose-envify": "^1.4.0",
- "object-assign": "^4.1.1",
- "react-is": "^16.13.1"
- }
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
- },
- "quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="
- },
- "react": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
- "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
- "requires": {
- "loose-envify": "^1.1.0"
- }
- },
- "react-dom": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
- "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
- "requires": {
- "loose-envify": "^1.1.0",
- "scheduler": "^0.23.0"
- }
- },
- "react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
- },
- "read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "requires": {
- "pify": "^2.3.0"
- }
- },
- "readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "regenerator-runtime": {
- "version": "0.13.11",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
- "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
- },
- "regexp.prototype.flags": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
- "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
- }
- },
- "regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg=="
- },
- "resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
- "requires": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "is-regex": "^1.1.4"
- }
- },
- "scheduler": {
- "version": "0.23.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
- "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
- "requires": {
- "loose-envify": "^1.1.0"
- }
- },
- "semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
- },
- "side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- }
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
- },
- "source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
- },
- "string.prototype.matchall": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz",
- "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "regexp.prototype.flags": "^1.4.3",
- "side-channel": "^1.0.4"
- }
- },
- "string.prototype.trimend": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
- "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
- "string.prototype.trimstart": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
- "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
- },
- "strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
- },
- "styled-jsx": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.0.tgz",
- "integrity": "sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==",
- "requires": {
- "client-only": "0.0.1"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
- },
- "tailwindcss": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz",
- "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==",
- "requires": {
- "arg": "^5.0.2",
- "chokidar": "^3.5.3",
- "color-name": "^1.1.4",
- "detective": "^5.2.1",
- "didyoumean": "^1.2.2",
- "dlv": "^1.1.3",
- "fast-glob": "^3.2.12",
- "glob-parent": "^6.0.2",
- "is-glob": "^4.0.3",
- "lilconfig": "^2.0.6",
- "micromatch": "^4.0.5",
- "normalize-path": "^3.0.0",
- "object-hash": "^3.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.4.18",
- "postcss-import": "^14.1.0",
- "postcss-js": "^4.0.0",
- "postcss-load-config": "^3.1.4",
- "postcss-nested": "6.0.0",
- "postcss-selector-parser": "^6.0.10",
- "postcss-value-parser": "^4.2.0",
- "quick-lru": "^5.1.1",
- "resolve": "^1.22.1"
- },
- "dependencies": {
- "object-hash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="
- }
- }
- },
- "tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "tsconfig-paths": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
- "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
- "requires": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.1",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "tslib": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
- "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
- },
- "tsutils": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
- "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "requires": {
- "tslib": "^1.8.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
- }
- },
- "type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "requires": {
- "prelude-ls": "^1.2.1"
- }
- },
- "type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
- },
- "typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
- "requires": {
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
- }
- },
- "typescript": {
- "version": "4.8.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
- "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ=="
- },
- "unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "requires": {
- "call-bind": "^1.0.2",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
- }
- },
- "update-browserslist-db": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
- "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
- "dev": true,
- "requires": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- }
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "use-sync-external-store": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
- "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
- "requires": {}
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "requires": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- }
- },
- "which-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
- "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
- "requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.10"
- }
- },
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
- "yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
- },
- "yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
- }
- }
-}
diff --git a/apps/web/package.json b/apps/web/package.json
index 00ff86b9c..0af05f533 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -2,64 +2,42 @@
"name": "@documenso/web",
"version": "0.1.0",
"private": true,
+ "license": "AGPL-3.0",
"scripts": {
- "dev": "next dev",
+ "dev": "PORT=3000 next dev",
"build": "next build",
- "start": "next start -p $PORT",
- "lint": "next lint",
- "db-studio": "prisma db studio",
- "stripe:listen": "stripe listen --forward-to localhost:3000/api/stripe/webhook"
+ "start": "next start",
+ "lint": "next lint"
},
"dependencies": {
"@documenso/lib": "*",
- "@documenso/pdf": "*",
"@documenso/prisma": "*",
+ "@documenso/tailwind-config": "*",
+ "@documenso/trpc": "*",
"@documenso/ui": "*",
- "@headlessui/react": "^1.7.4",
- "@heroicons/react": "^2.0.13",
- "@pdf-lib/fontkit": "^1.1.1",
- "avatar-from-initials": "^1.0.3",
- "base64-arraybuffer": "^1.0.2",
- "bcryptjs": "^2.4.3",
- "formidable": "^3.2.5",
- "next": "13.2.4",
- "next-auth": "^4.22.0",
- "node-forge": "^1.3.1",
- "node-signpdf": "^1.5.0",
- "nodemailer": "^6.9.0",
- "nodemailer-sendgrid": "^1.0.3",
- "pdf-lib": "^1.17.1",
- "placeholder-loading": "^0.6.0",
+ "@hookform/resolvers": "^3.1.0",
+ "@tanstack/react-query": "^4.29.5",
+ "formidable": "^2.1.1",
+ "framer-motion": "^10.12.8",
+ "lucide-react": "^0.214.0",
+ "micro": "^10.0.1",
+ "next": "13.4.1",
+ "next-auth": "^4.22.1",
+ "next-plausible": "^3.7.2",
+ "perfect-freehand": "^1.2.0",
"react": "18.2.0",
+ "react-pdf": "^7.1.1",
"react-dom": "18.2.0",
- "react-draggable": "^4.4.5",
- "react-hook-form": "^7.41.5",
- "react-pdf": "^6.2.2",
- "react-resizable": "^3.0.4",
- "react-tooltip": "^5.7.2",
- "short-uuid": "^4.2.2",
- "string-to-color": "^2.2.2"
+ "react-dropzone": "^14.2.3",
+ "react-hook-form": "^7.43.9",
+ "react-icons": "^4.8.0",
+ "typescript": "5.0.4",
+ "zod": "^3.21.4"
},
"devDependencies": {
- "@tailwindcss/forms": "^0.5.3",
- "@types/bcryptjs": "^2.4.2",
- "@types/filesystem": "^0.0.32",
- "@types/formidable": "^2.0.5",
- "@types/node": "^18.11.18",
- "@types/nodemailer": "^6.4.7",
- "@types/nodemailer-sendgrid": "^1.0.0",
- "@types/react-dom": "18.0.9",
- "@types/react-pdf": "^6.2.0",
- "@types/react-resizable": "^3.0.3",
- "autoprefixer": "^10.4.13",
- "dotenv": "^16.0.3",
- "eslint": "8.27.0",
- "eslint-config-next": "13.0.3",
- "file-loader": "^6.2.0",
- "postcss": "^8.4.19",
- "sass": "^1.57.1",
- "stripe-cli": "^0.1.0",
- "tailwindcss": "^3.2.4",
- "typescript": "4.8.4"
+ "@types/formidable": "^2.0.6",
+ "@types/node": "20.1.0",
+ "@types/react": "18.2.6",
+ "@types/react-dom": "18.2.4"
}
}
diff --git a/apps/web/pages/404.jsx b/apps/web/pages/404.jsx
deleted file mode 100644
index 2c8ffe7ac..000000000
--- a/apps/web/pages/404.jsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Button } from "@documenso/ui";
-import Logo from "../components/logo";
-import { ArrowSmallLeftIcon } from "@heroicons/react/20/solid";
-import Link from "next/link";
-
-export default function Custom404() {
- return (
- <>
-
-
-
- Documenso
-
-
-
-
404
-
- Page not found
-
-
- Sorry, we couldn’t find the page you’re looking for.
-
-
-
- Back to home
-
-
-
-
- >
- );
-}
diff --git a/apps/web/pages/500.jsx b/apps/web/pages/500.jsx
deleted file mode 100644
index c90157fe4..000000000
--- a/apps/web/pages/500.jsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import Link from "next/link";
-import { Button } from "@documenso/ui";
-import Logo from "../components/logo";
-import { ArrowSmallLeftIcon } from "@heroicons/react/20/solid";
-import { EllipsisVerticalIcon } from "@heroicons/react/20/solid";
-
-export default function Custom500() {
- return (
- <>
-
-
-
-
Documenso
-
-
-
-
- 500
- | {" "}
-
- Something went wrong.
-
-
-
-
- Back to home
-
-
-
-
- >
- );
-}
diff --git a/apps/web/pages/Dockerfile b/apps/web/pages/Dockerfile
deleted file mode 100644
index 1a0c22991..000000000
--- a/apps/web/pages/Dockerfile
+++ /dev/null
@@ -1,30 +0,0 @@
-# Docker config for render.com
-# Be sure to add an .env config to your docker web service
-FROM node:19.5.0-alpine
-RUN apk add --no-cache openjdk11
-
-WORKDIR /app
-
-# Inserted from render.com ENV Group
-ARG DATABASE_URL
-ARG MAIL_FROM
-ARG NEXT_PUBLIC_WEBAPP_URL
-ARG NEXTAUTH_SECRET
-ARG NEXTAUTH_URL
-ARG SENDGRID_API_KEY
-
-# Fill docker ENV variables with render.com ENV Group - BUILD-TIME
-ENV DATABASE_URL=$DATABASE_URL \
- MAIL_FROM=$ \
- NEXT_PUBLIC_WEBAPP_URL=$NEXT_PUBLIC_WEBAPP_URL \
- NEXTAUTH_SECRET=&NEXTAUTH_SECRET \
- NEXTAUTH_URL=$NEXTAUTH_URL \
- SENDGRID_API_KEY=$SENDGRID_API_KEY
-
-COPY . /app
-RUN npm run build
-
-# No runtime ENV Variables set so far besides ENV
-ENV NODE_ENV production
-EXPOSE 3000
-CMD ["npm", "start"]
\ No newline at end of file
diff --git a/apps/web/pages/_app.tsx b/apps/web/pages/_app.tsx
deleted file mode 100644
index a1193a681..000000000
--- a/apps/web/pages/_app.tsx
+++ /dev/null
@@ -1,52 +0,0 @@
-import { ReactElement, ReactNode } from "react";
-import { NextPage } from "next";
-import type { AppProps } from "next/app";
-import { Montserrat, Qwigley } from "next/font/google";
-import { SubscriptionProvider } from "@documenso/lib/stripe/providers/subscription-provider";
-import "../../../node_modules/placeholder-loading/src/scss/placeholder-loading.scss";
-import "../../../node_modules/react-resizable/css/styles.css";
-import "../styles/tailwind.css";
-import { SessionProvider } from "next-auth/react";
-import { Toaster } from "react-hot-toast";
-import "react-tooltip/dist/react-tooltip.css";
-
-export { coloredConsole } from "@documenso/lib";
-
-const montserrat = Montserrat({
- subsets: ["latin"],
- weight: ["400", "700"],
- display: "swap",
- variable: "--font-sans",
-});
-
-const qwigley = Qwigley({
- subsets: ["latin"],
- weight: ["400"],
- display: "swap",
- variable: "--font-qwigley",
-});
-
-export type NextPageWithLayout = NextPage
& {
- getLayout?: (page: ReactElement) => ReactNode;
-};
-
-type AppPropsWithLayout = AppProps & {
- Component: NextPageWithLayout;
-};
-
-export default function App({
- Component,
- pageProps: { session, initialSubscription, ...pageProps },
-}: AppPropsWithLayout) {
- const getLayout = Component.getLayout || ((page: any) => page);
- return (
-
-
-
-
- {getLayout( )}
-
-
-
- );
-}
diff --git a/apps/web/pages/_document.tsx b/apps/web/pages/_document.tsx
deleted file mode 100644
index dcfd427cc..000000000
--- a/apps/web/pages/_document.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import { Head, Html, Main, NextScript } from "next/document";
-
-export default function Document() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/apps/web/pages/api/auth/[...nextauth].ts b/apps/web/pages/api/auth/[...nextauth].ts
deleted file mode 100644
index b03575dd1..000000000
--- a/apps/web/pages/api/auth/[...nextauth].ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { ErrorCode } from "@documenso/lib/auth";
-import { verifyPassword } from "@documenso/lib/auth";
-import prisma from "@documenso/prisma";
-import NextAuth, { Session } from "next-auth";
-import CredentialsProvider from "next-auth/providers/credentials";
-import GitHubProvider from "next-auth/providers/github";
-
-export default NextAuth({
- secret: process.env.AUTH_SECRET,
- pages: {
- signIn: "/login",
- signOut: "/login",
- error: "/auth/error", // Error code passed in query string as ?error=
- verifyRequest: "/auth/verify-request", // (used for check email message)
- },
- providers: [
- CredentialsProvider({
- id: "credentials",
- name: "Documenso.com Login",
- type: "credentials",
- credentials: {
- email: {
- label: "Email Address",
- type: "email",
- placeholder: "john.doe@example.com",
- },
- password: {
- label: "Password",
- type: "password",
- placeholder: "Select a password. Here is some inspiration: https://xkcd.com/936/",
- },
- },
- async authorize(credentials: any) {
- if (!credentials) {
- console.error("Credential missing in authorize()");
- throw new Error(ErrorCode.InternalServerError);
- }
-
- const user = await prisma.user.findUnique({
- where: {
- email: credentials.email.toLowerCase(),
- },
- select: {
- id: true,
- email: true,
- password: true,
- name: true,
- },
- });
-
- if (!user) {
- throw new Error(ErrorCode.UserNotFound);
- }
-
- if (!user.password) {
- throw new Error(ErrorCode.UserMissingPassword);
- }
-
- const isCorrectPassword = await verifyPassword(credentials.password, user.password);
-
- if (!isCorrectPassword) {
- throw new Error(ErrorCode.IncorrectPassword);
- }
-
- return {
- id: user.id,
- email: user.email,
- name: user.name,
- };
- },
- }),
- ],
- callbacks: {
- async jwt({ token, user, account }) {
- return {
- ...token,
- };
- },
- async session({ session, token }) {
- const documensoSession: Session = {
- ...session,
- user: {
- ...session.user,
- },
- };
-
- documensoSession.expires;
- return documensoSession;
- },
- },
-});
diff --git a/apps/web/pages/api/auth/signup.ts b/apps/web/pages/api/auth/signup.ts
deleted file mode 100644
index b67f1b50f..000000000
--- a/apps/web/pages/api/auth/signup.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { hashPassword } from "@documenso/lib/auth";
-import { defaultHandler, defaultResponder } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-import { IdentityProvider } from "@prisma/client";
-
-async function postHandler(req: NextApiRequest, res: NextApiResponse) {
- const { email, password, source } = req.body;
- const cleanEmail = email.toLowerCase();
-
- if (!cleanEmail || !/.+@.+/.test(cleanEmail)) {
- res.status(400).json({ message: "Invalid email" });
- return;
- }
-
- if (!password || password.trim().length < 7) {
- return res.status(400).json({
- message: "Password should be at least 7 characters long.",
- });
- }
-
- // User already exists if email already exists
- const existingUser = await prisma.user.findFirst({
- where: {
- email: cleanEmail,
- },
- });
-
- if (existingUser) {
- const message: string = "This email is already registered.";
- return res.status(409).json({ message });
- }
-
- const hashedPassword = await hashPassword(password);
-
- await prisma.user.upsert({
- where: { email: cleanEmail },
- update: {
- password: hashedPassword,
- emailVerified: new Date(Date.now()),
- identityProvider: IdentityProvider.DOCUMENSO,
- },
- create: {
- email: cleanEmail,
- password: hashedPassword,
- identityProvider: IdentityProvider.DOCUMENSO,
- source: source,
- },
- });
-
- res.status(201).end();
-}
-
-export default defaultHandler({
- POST: Promise.resolve({ default: defaultResponder(postHandler) }),
-});
diff --git a/apps/web/pages/api/documents/[id].ts b/apps/web/pages/api/documents/[id].ts
deleted file mode 100644
index 93e976f5f..000000000
--- a/apps/web/pages/api/documents/[id].ts
+++ /dev/null
@@ -1,95 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { getDocument } from "@documenso/lib/query";
-import { defaultHandler, defaultResponder, getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-import { addDigitalSignature } from "@documenso/signing/addDigitalSignature";
-import { Document as PrismaDocument } from "@prisma/client";
-
-async function getHandler(req: NextApiRequest, res: NextApiResponse) {
- const { id: documentId } = req.query;
- const { token: recipientToken } = req.query;
-
- if (!documentId) {
- return res.status(400).send("Missing parameter documentId.");
- }
-
- let user = null;
- let recipient = null;
- if (recipientToken) {
- // Request from signing page without login
- recipient = await prisma.recipient.findFirst({
- where: {
- token: recipientToken?.toString(),
- },
- include: {
- Document: { include: { User: true } },
- },
- });
- user = recipient?.Document.User;
- } else {
- // Request from editor with valid user login
- user = await getUserFromToken(req, res);
- }
-
- if (!user) return res.status(401).end();
-
- let document: PrismaDocument | null = null;
- if (recipientToken) {
- document = await prisma.document.findFirst({
- where: { id: recipient?.Document?.id },
- });
- } else {
- document = await getDocument(+documentId, req, res);
- }
-
- if (!document) res.status(404).end(`No document with id ${documentId} found.`);
-
- const signaturesCount = await prisma.signature.count({
- where: {
- Field: {
- documentId: document?.id,
- },
- },
- });
-
- let signedDocumentAsBase64 = document?.document || "";
-
- // No need to add a signature, if no one signed yet.
- if (signaturesCount > 0) {
- signedDocumentAsBase64 = await addDigitalSignature(document?.document || "");
- }
-
- const buffer: Buffer = Buffer.from(signedDocumentAsBase64, "base64");
- res.setHeader("Content-Type", "application/pdf");
- res.setHeader("Content-Length", buffer.length);
- res.setHeader("Content-Disposition", `attachment; filename=${document?.title}`);
-
- return res.status(200).send(buffer);
-}
-
-async function deleteHandler(req: NextApiRequest, res: NextApiResponse) {
- const user = await getUserFromToken(req, res);
- const { id: documentId } = req.query;
-
- if (!user) return;
-
- if (!documentId) {
- res.status(400).send("Missing parameter documentId.");
- return;
- }
-
- await prisma.document
- .delete({
- where: {
- id: +documentId,
- },
- })
- .then(() => {
- res.status(200).end();
- });
-}
-
-export default defaultHandler({
- GET: Promise.resolve({ default: defaultResponder(getHandler) }),
- DELETE: Promise.resolve({ default: defaultResponder(deleteHandler) }),
-});
diff --git a/apps/web/pages/api/documents/[id]/fields/[fid].ts b/apps/web/pages/api/documents/[id]/fields/[fid].ts
deleted file mode 100644
index b847a379e..000000000
--- a/apps/web/pages/api/documents/[id]/fields/[fid].ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { getDocument } from "@documenso/lib/query";
-import { defaultHandler, defaultResponder, getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-import { FieldType, Document as PrismaDocument } from "@prisma/client";
-import short from "short-uuid";
-
-async function deleteHandler(req: NextApiRequest, res: NextApiResponse) {
- const user = await getUserFromToken(req, res);
- const { fid: fieldId } = req.query;
- const body: {
- id: number;
- type: FieldType;
- page: number;
- position: { x: number; y: number };
- } = req.body;
-
- if (!user) return;
-
- if (!fieldId) {
- res.status(400).send("Missing parameter fieldId.");
- return;
- }
-
- await prisma.field.delete({ where: { id: +fieldId } });
-
- return res.status(200).end();
-}
-
-export default defaultHandler({
- DELETE: Promise.resolve({ default: defaultResponder(deleteHandler) }),
-});
diff --git a/apps/web/pages/api/documents/[id]/fields/index.ts b/apps/web/pages/api/documents/[id]/fields/index.ts
deleted file mode 100644
index 5d2743b16..000000000
--- a/apps/web/pages/api/documents/[id]/fields/index.ts
+++ /dev/null
@@ -1,101 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { getDocument } from "@documenso/lib/query";
-import { defaultHandler, defaultResponder, getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-import { FieldType, Document as PrismaDocument } from "@prisma/client";
-
-async function getHandler(req: NextApiRequest, res: NextApiResponse) {
- const user = await getUserFromToken(req, res);
- const { id: documentId } = req.query;
- const body: {
- id: number;
- type: FieldType;
- page: number;
- position: { x: number; y: number };
- } = req.body;
-
- if (!user) return;
-
- if (!documentId) {
- res.status(400).send("Missing parameter documentId.");
- return;
- }
-
- // todo entity ownerships checks
-
- const fields = await prisma.field.findMany({
- where: { documentId: +documentId },
- include: { Recipient: true },
- });
-
- return res.status(200).end(JSON.stringify(fields));
-}
-
-async function postHandler(req: NextApiRequest, res: NextApiResponse) {
- const { token: recipientToken } = req.query;
- let user = null;
- if (!recipientToken) user = await getUserFromToken(req, res);
- if (!user && !recipientToken) return res.status(401).end();
- const body: {
- id: number;
- type: FieldType;
- page: number;
- positionX: number;
- positionY: number;
- Recipient: { id: number };
- customText: string;
- } = req.body;
-
- const { id: documentId } = req.query;
- if (!documentId) {
- return res.status(400).send("Missing parameter documentId.");
- }
-
- if (recipientToken) {
- const recipient = await prisma.recipient.findFirst({
- where: { token: recipientToken?.toString() },
- });
-
- if (!recipient || recipient?.documentId !== +documentId)
- return res.status(401).send("Recipient does not have access to this document.");
- }
-
- if (user) {
- const document: PrismaDocument = await getDocument(+documentId, req, res);
- // todo entity ownerships checks
- if (document.userId !== user.id) {
- return res.status(401).send("User does not have access to this document.");
- }
- }
-
- const field = await prisma.field.upsert({
- where: {
- id: +body.id,
- },
- update: {
- positionX: +body.positionX,
- positionY: +body.positionY,
- customText: body.customText,
- },
- create: {
- documentId: +documentId,
- type: body.type,
- page: +body.page,
- inserted: false,
- positionX: +body.positionX,
- positionY: +body.positionY,
- customText: body.customText,
- recipientId: body.Recipient.id,
- },
- include: {
- Recipient: true,
- },
- });
-
- return res.status(201).end(JSON.stringify(field));
-}
-
-export default defaultHandler({
- GET: Promise.resolve({ default: defaultResponder(getHandler) }),
- POST: Promise.resolve({ default: defaultResponder(postHandler) }),
-});
diff --git a/apps/web/pages/api/documents/[id]/recipients/[rid].ts b/apps/web/pages/api/documents/[id]/recipients/[rid].ts
deleted file mode 100644
index dab82d077..000000000
--- a/apps/web/pages/api/documents/[id]/recipients/[rid].ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { getDocument } from "@documenso/lib/query";
-import { defaultHandler, defaultResponder, getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-import { Document as PrismaDocument } from "@prisma/client";
-import short from "short-uuid";
-
-async function deleteHandler(req: NextApiRequest, res: NextApiResponse) {
- const user = await getUserFromToken(req, res);
- const { id: documentId, rid: recipientId } = req.query;
- const body = req.body;
-
- if (!recipientId) {
- res.status(400).send("Missing parameter recipientId.");
- return;
- }
-
- await prisma.recipient.delete({
- where: {
- id: +recipientId,
- },
- });
-
- return res.status(200).end();
-}
-
-export default defaultHandler({
- DELETE: Promise.resolve({ default: defaultResponder(deleteHandler) }),
-});
diff --git a/apps/web/pages/api/documents/[id]/recipients/index.ts b/apps/web/pages/api/documents/[id]/recipients/index.ts
deleted file mode 100644
index 0fa29549a..000000000
--- a/apps/web/pages/api/documents/[id]/recipients/index.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { getDocument } from "@documenso/lib/query";
-import { defaultHandler, defaultResponder, getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-import { Document as PrismaDocument } from "@prisma/client";
-import short from "short-uuid";
-
-async function postHandler(req: NextApiRequest, res: NextApiResponse) {
- const user = await getUserFromToken(req, res);
- const { id: documentId } = req.query;
- const body: { name: string; email: string; id: string } = req.body;
-
- if (!user) return;
-
- if (!documentId) {
- res.status(400).send("Missing parameter documentId.");
- return;
- }
-
- const document: PrismaDocument = await getDocument(+documentId, req, res);
-
- // todo entity ownerships checks
- if (document.userId !== user.id) {
- return res.status(401).send("User does not have access to this document.");
- }
-
- const recipient = await prisma.recipient.upsert({
- where: {
- id: +body.id,
- },
- update: {
- email: body.email.toString(),
- name: body.name.toString(),
- },
- create: {
- documentId: +documentId,
- email: body.email.toString(),
- name: body.name.toString(),
- token: short.generate().toString(),
- },
- });
-
- return res.status(200).end(JSON.stringify(recipient));
-}
-
-export default defaultHandler({
- POST: Promise.resolve({ default: defaultResponder(postHandler) }),
-});
diff --git a/apps/web/pages/api/documents/[id]/send.ts b/apps/web/pages/api/documents/[id]/send.ts
deleted file mode 100644
index ed954d1a1..000000000
--- a/apps/web/pages/api/documents/[id]/send.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { sendSigningRequest } from "@documenso/lib/mail";
-import { getDocument } from "@documenso/lib/query";
-import { defaultHandler, defaultResponder, getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-import { Document as PrismaDocument, SendStatus } from "@prisma/client";
-
-async function postHandler(req: NextApiRequest, res: NextApiResponse) {
- try {
- const user = await getUserFromToken(req, res);
- const { id: documentId } = req.query;
- const { resendTo: resendTo = [] } = req.body;
-
- if (!user) {
- return res.status(401).send("Unauthorized");
- }
-
- if (!documentId) {
- return res.status(400).send("Missing parameter documentId.");
- }
-
- const document: PrismaDocument = await getDocument(+documentId, req, res);
-
- if (!document) {
- res.status(404).end(`No document with id ${documentId} found.`);
- }
-
- let recipientCondition: any = {
- documentId: +documentId,
- sendStatus: SendStatus.NOT_SENT,
- };
-
- if (resendTo.length) {
- recipientCondition = {
- documentId: +documentId,
- id: { in: resendTo },
- };
- }
-
- const recipients = await prisma.recipient.findMany({
- where: {
- ...recipientCondition,
- },
- });
-
- if (!recipients.length) {
- return res.status(200).send(recipients.length);
- }
-
- let sentRequests = 0;
-
- await Promise.all(
- recipients.map(async (recipient) => {
- await sendSigningRequest(recipient, document, user);
-
- sentRequests++;
- })
- );
-
- if (sentRequests === recipients.length) {
- return res.status(200).send(recipients.length);
- }
-
- return res.status(502).end("Could not send request for signing.");
- } catch (err) {
- return res.status(502).end("Could not send request for signing.");
- }
-}
-
-export default defaultHandler({
- POST: Promise.resolve({ default: defaultResponder(postHandler) }),
-});
diff --git a/apps/web/pages/api/documents/[id]/sign.ts b/apps/web/pages/api/documents/[id]/sign.ts
deleted file mode 100644
index 523bed2d4..000000000
--- a/apps/web/pages/api/documents/[id]/sign.ts
+++ /dev/null
@@ -1,191 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { sendSigningDoneMail } from "@documenso/lib/mail";
-import { getDocument } from "@documenso/lib/query";
-import { defaultHandler, defaultResponder } from "@documenso/lib/server";
-import { insertImageInPDF, insertTextInPDF } from "@documenso/pdf";
-import prisma from "@documenso/prisma";
-import { DocumentStatus, SigningStatus } from "@prisma/client";
-import { FieldType, Document as PrismaDocument } from "@prisma/client";
-
-async function postHandler(req: NextApiRequest, res: NextApiResponse) {
- const { token: recipientToken } = req.query;
- const { signatures: signaturesFromBody }: { signatures: any[] } = req.body;
-
- if (!recipientToken) {
- return res.status(401).send("Missing recipient token.");
- }
-
- // The recipient who received the signing request
- const recipient = await prisma.recipient.findFirstOrThrow({
- where: { token: recipientToken?.toString() },
- });
-
- if (!recipient) {
- return res.status(401).send("Recipient not found.");
- }
-
- const document: PrismaDocument = await prisma.document.findFirstOrThrow({
- where: {
- id: recipient.documentId,
- },
- include: {
- Recipient: {
- orderBy: {
- id: "asc",
- },
- },
- Field: { include: { Recipient: true, Signature: true } },
- },
- });
-
- if (!document) res.status(404).end(`No document found.`);
-
- let documentWithInserts = document.document;
- for (const signature of signaturesFromBody) {
- if (!signature.signatureImage && !signature.typedSignature) {
- documentWithInserts = document.document;
- throw new Error("Can't save invalid signature.");
- }
-
- await saveSignature(signature);
-
- const signedField = await prisma.field.findFirstOrThrow({
- where: { id: signature.fieldId },
- include: { Signature: true },
- });
-
- await insertSignatureInDocument(signedField);
- }
-
- await prisma.recipient.update({
- where: {
- id: recipient.id,
- },
- data: {
- signingStatus: SigningStatus.SIGNED,
- signedAt: new Date(),
- },
- });
-
- const unsignedRecipients = await prisma.recipient.findMany({
- where: {
- documentId: recipient.documentId,
- signingStatus: SigningStatus.NOT_SIGNED,
- },
- });
-
- const signedRecipients = await prisma.recipient.findMany({
- where: {
- documentId: recipient.documentId,
- signingStatus: SigningStatus.SIGNED,
- },
- });
-
- // Don't check for inserted, because currently no "sign again" scenarios exist and
- // this is probably the expected behaviour in unclean states.
- const nonSignatureFields = await prisma.field.findMany({
- where: {
- documentId: document.id,
- type: { in: [FieldType.DATE, FieldType.TEXT] },
- recipientId: { in: signedRecipients.map((r) => r.id) },
- },
- include: {
- Recipient: true,
- }
- });
-
- // Insert fields other than signatures
- for (const field of nonSignatureFields) {
- documentWithInserts = await insertTextInPDF(
- documentWithInserts,
- field.type === FieldType.DATE
- ? new Intl.DateTimeFormat("en-US", {
- month: "long",
- day: "numeric",
- year: "numeric",
- }).format(field.Recipient?.signedAt ?? new Date())
- : field.customText || "",
- field.positionX,
- field.positionY,
- field.page,
- false
- );
-
- await prisma.field.update({
- where: {
- id: field.id,
- },
- data: {
- inserted: true,
- },
- });
- }
-
- await prisma.document.update({
- where: {
- id: recipient.documentId,
- },
- data: {
- document: documentWithInserts,
- status: unsignedRecipients.length > 0 ? DocumentStatus.PENDING : DocumentStatus.COMPLETED,
- },
- });
-
- if (unsignedRecipients.length === 0) {
- const documentOwner = await prisma.user.findFirstOrThrow({
- where: { id: document.userId },
- select: { email: true, name: true },
- });
-
- document.document = documentWithInserts;
- if (documentOwner) await sendSigningDoneMail(document, documentOwner);
-
- for (const signer of signedRecipients) {
- await sendSigningDoneMail(document, signer);
- }
- }
-
- return res.status(200).end();
-
- async function insertSignatureInDocument(signedField: any) {
- if (signedField?.Signature?.signatureImageAsBase64) {
- documentWithInserts = await insertImageInPDF(
- documentWithInserts,
- signedField.Signature ? signedField.Signature?.signatureImageAsBase64 : "",
- signedField.positionX,
- signedField.positionY,
- signedField.page
- );
- } else if (signedField?.Signature?.typedSignature) {
- documentWithInserts = await insertTextInPDF(
- documentWithInserts,
- signedField.Signature.typedSignature,
- signedField.positionX,
- signedField.positionY,
- signedField.page
- );
- } else {
- documentWithInserts = document.document;
- throw new Error("Invalid signature could not be inserted.");
- }
- }
-
- async function saveSignature(signature: any) {
- await prisma.signature.upsert({
- where: {
- fieldId: signature.fieldId,
- },
- update: {},
- create: {
- recipientId: recipient.id,
- fieldId: signature.fieldId,
- signatureImageAsBase64: signature.signatureImage ? signature.signatureImage : null,
- typedSignature: signature.typedSignature ? signature.typedSignature : null,
- },
- });
- }
-}
-
-export default defaultHandler({
- POST: Promise.resolve({ default: defaultResponder(postHandler) }),
-});
diff --git a/apps/web/pages/api/documents/index.ts b/apps/web/pages/api/documents/index.ts
deleted file mode 100644
index 92958ba5c..000000000
--- a/apps/web/pages/api/documents/index.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { getDocumentsForUserFromToken } from "@documenso/lib/query";
-import { defaultHandler, defaultResponder } from "@documenso/lib/server";
-import { getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-import formidable from "formidable";
-import { isSubscribedServer } from "@documenso/lib/stripe";
-
-export const config = {
- api: {
- bodyParser: false,
- },
-};
-
-async function postHandler(req: NextApiRequest, res: NextApiResponse) {
- const form = formidable();
-
- const user = await getUserFromToken(req, res);
- if (!user) {
- return res.status(401).end();
- };
-
- const isSubscribed = await isSubscribedServer(req);
-
- if (!isSubscribed) {
- throw new Error("User is not subscribed.");
- }
-
-
- form.parse(req, async (err, fields, files) => {
- if (err) throw err;
-
- const uploadedDocument: any = files["document"];
- const title = uploadedDocument[0].originalFilename;
- const path = uploadedDocument[0].filepath;
- const fs = require("fs");
- const buffer = fs.readFileSync(path);
- const documentAsBase64EncodedString = buffer.toString("base64");
- await prisma
- .$transaction([
- prisma.document.create({
- data: {
- title: title,
- userId: user?.id,
- document: documentAsBase64EncodedString,
- },
- }),
- ])
- .then((document) => {
- return res.status(201).send(document[0].id);
- })
- .catch((err) => {
- throw err;
- });
- });
-}
-
-async function getHandler(req: NextApiRequest, res: NextApiResponse) {
- const user = await getUserFromToken(req, res);
- if (!user) return;
-
- const documents = await getDocumentsForUserFromToken({ req: req, res: res });
-
- return res.status(200).json(documents);
-}
-
-export default defaultHandler({
- GET: Promise.resolve({ default: defaultResponder(getHandler) }),
- POST: Promise.resolve({ default: defaultResponder(postHandler) }),
-});
diff --git a/apps/web/pages/api/health.ts b/apps/web/pages/api/health.ts
deleted file mode 100644
index ac444c77f..000000000
--- a/apps/web/pages/api/health.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import type { NextApiRequest, NextApiResponse } from "next";
-import { defaultHandler, defaultResponder } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-
-// Return a healthy 200 status code for uptime monitoring and render.com zero-downtime-deploy
-async function getHandler(req: NextApiRequest, res: NextApiResponse) {
- // Some generic database access to make sure the service is healthy.
- const users = await prisma.user.findFirst();
-
- return res.status(200).json({ message: "Api up and running :)" });
-}
-
-export default defaultHandler({
- GET: Promise.resolve({ default: defaultResponder(getHandler) }),
-});
diff --git a/apps/web/pages/api/stripe/checkout-session.ts b/apps/web/pages/api/stripe/checkout-session.ts
deleted file mode 100644
index 0d8cf2576..000000000
--- a/apps/web/pages/api/stripe/checkout-session.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { checkoutSessionHandler as default } from '@documenso/lib/stripe/handlers/checkout-session'
\ No newline at end of file
diff --git a/apps/web/pages/api/stripe/portal-session.ts b/apps/web/pages/api/stripe/portal-session.ts
deleted file mode 100644
index c2e39ff43..000000000
--- a/apps/web/pages/api/stripe/portal-session.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { portalSessionHandler as default } from "@documenso/lib/stripe/handlers/portal-session";
\ No newline at end of file
diff --git a/apps/web/pages/api/stripe/subscription.ts b/apps/web/pages/api/stripe/subscription.ts
deleted file mode 100644
index 0b619a222..000000000
--- a/apps/web/pages/api/stripe/subscription.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { getSubscriptionHandler as default } from '@documenso/lib/stripe/handlers/get-subscription'
\ No newline at end of file
diff --git a/apps/web/pages/api/stripe/webhook.ts b/apps/web/pages/api/stripe/webhook.ts
deleted file mode 100644
index ee57ed38c..000000000
--- a/apps/web/pages/api/stripe/webhook.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export const config = {
- api: { bodyParser: false },
-};
-
-export { webhookHandler as default } from "@documenso/lib/stripe/handlers/webhook";
diff --git a/apps/web/pages/api/test-sign/[id].ts b/apps/web/pages/api/test-sign/[id].ts
deleted file mode 100644
index 4d1305525..000000000
--- a/apps/web/pages/api/test-sign/[id].ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { getDocument } from "@documenso/lib/query";
-import { defaultHandler, defaultResponder, getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-import { addDigitalSignature } from "@documenso/signing/addDigitalSignature";
-import { Document as PrismaDocument } from "@prisma/client";
-
-// todo remove before launch
-
-async function getHandler(req: NextApiRequest, res: NextApiResponse) {
- const documentId = req.query.id || 1;
- const document: PrismaDocument = await getDocument(+documentId, req, res);
- const signedDocument = await addDigitalSignature(document.document);
- res.setHeader("Content-Type", "application/pdf");
- res.setHeader("Content-Length", signedDocument.length);
- res.setHeader("Content-Disposition", `attachment; filename=${document.title}`);
-
- return res.status(200).send(signedDocument);
-}
-
-export default defaultHandler({
- GET: Promise.resolve({ default: defaultResponder(getHandler) }),
-});
diff --git a/apps/web/pages/api/users/index.ts b/apps/web/pages/api/users/index.ts
deleted file mode 100644
index 616470de0..000000000
--- a/apps/web/pages/api/users/index.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import type { NextApiRequest, NextApiResponse } from "next";
-import { hashPassword } from "@documenso/lib/auth";
-import { defaultHandler, defaultResponder, getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-
-async function postHandler(req: NextApiRequest, res: NextApiResponse) {
- const { method, body } = req;
-
- if (!body.email) {
- return res.status(400).json({ message: "Email cannot be empty." });
- }
-
- let newUser: any;
- newUser = await prisma.user
- .create({
- data: { email: body.email },
- })
- .then(async () => {
- return res.status(201).send(newUser);
- });
-}
-
-async function patchHandler(req: NextApiRequest, res: NextApiResponse) {
- const user = await getUserFromToken(req, res);
- if (!user) return;
-
- const updatedUser = req.body;
-
- let password: string | undefined = undefined;
-
- if (typeof updatedUser.password === "string" && updatedUser.password.length >= 6) {
- password = await hashPassword(updatedUser.password);
- }
-
- await prisma.user
- .update({
- where: {
- id: user.id,
- },
- data: {
- name: updatedUser.name,
- password,
- },
- })
- .then(() => {
- return res.status(200).end();
- });
-}
-
-export default defaultHandler({
- POST: Promise.resolve({ default: defaultResponder(postHandler) }),
- PATCH: Promise.resolve({ default: defaultResponder(patchHandler) }),
-});
diff --git a/apps/web/pages/api/users/me.ts b/apps/web/pages/api/users/me.ts
deleted file mode 100644
index 7efce411d..000000000
--- a/apps/web/pages/api/users/me.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import type { NextApiRequest, NextApiResponse } from "next";
-import { defaultHandler, defaultResponder, getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-
-async function getHandler(req: NextApiRequest, res: NextApiResponse) {
- const user = await getUserFromToken(req, res);
-
- if (!user) return;
-
- return prisma.user.findFirstOrThrow({
- where: {
- id: user.id,
- },
- select: {
- email: true,
- name: true,
- },
- });
-}
-
-export default defaultHandler({
- GET: Promise.resolve({ default: defaultResponder(getHandler) }),
-});
diff --git a/apps/web/pages/dashboard.tsx b/apps/web/pages/dashboard.tsx
deleted file mode 100644
index 30905ab36..000000000
--- a/apps/web/pages/dashboard.tsx
+++ /dev/null
@@ -1,177 +0,0 @@
-import { ChangeEvent, ReactElement } from "react";
-import Head from "next/head";
-import Link from "next/link";
-import { uploadDocument } from "@documenso/features";
-import { getDocumentsForUserFromToken } from "@documenso/lib/query";
-import { getUserFromToken } from "@documenso/lib/server";
-import Layout from "../components/layout";
-import type { NextPageWithLayout } from "./_app";
-import {
- CheckBadgeIcon,
- DocumentIcon,
- ExclamationTriangleIcon,
- UsersIcon,
-} from "@heroicons/react/24/outline";
-import {
- DocumentStatus,
- Document as PrismaDocument,
- SendStatus,
- SigningStatus,
-} from "@prisma/client";
-import { truncate } from "fs";
-import { Tooltip as ReactTooltip } from "react-tooltip";
-import { useSubscription } from "@documenso/lib/stripe";
-
-type FormValues = {
- document: File;
-};
-
-const DashboardPage: NextPageWithLayout = (props: any) => {
- const { hasSubscription } = useSubscription();
-
- const stats = [
- {
- name: "Draft",
- stat: "0",
- icon: DocumentIcon,
- link: "/documents?filter=DRAFT",
- },
- {
- name: "Waiting for others",
- stat: "0",
- icon: UsersIcon,
- link: "/documents?filter=PENDING",
- },
- {
- name: "Completed",
- stat: "0",
- icon: CheckBadgeIcon,
- link: "/documents?filter=COMPLETED",
- },
- ];
-
- return (
- <>
-
- Dashboard | Documenso
-
-
-
-
-
- {stats.map((item) => (
-
-
-
-
- {item.name}
-
-
- {getStat(item.name, props)}
-
-
-
- ))}
-
-
-
- {
- uploadDocument(event);
- }}
- hidden
- />
-
-
{
- if (hasSubscription) {
- document?.getElementById("fileUploadHelper")?.click();
- }
- }}
- aria-disabled={!hasSubscription}
- className="group hover:border-neon-600 duration-200 relative block w-full cursor-pointer rounded-lg border-2 border-dashed border-gray-300 p-12 text-center focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 aria-disabled:opacity-50 aria-disabled:pointer-events-none">
-
-
-
-
-
-
- Add a new PDF document.
-
-
-
-
- >
- );
-};
-
-DashboardPage.getLayout = function getLayout(page: ReactElement) {
- return {page} ;
-};
-
-function getStat(name: string, props: any) {
- if (name === "Draft") return props.dashboard.drafts;
- if (name === "Waiting for others") return props.dashboard.waiting;
- if (name === "Completed") return props.dashboard.completed;
- return 0;
-}
-
-export async function getServerSideProps(context: any) {
- const user = await getUserFromToken(context.req, context.res);
- if (!user)
- return {
- redirect: {
- destination: "/login",
- permanent: false,
- },
- };
-
- const documents: any[] = await getDocumentsForUserFromToken(context);
-
- const drafts: PrismaDocument[] = documents.filter((d) => d.status === DocumentStatus.DRAFT);
-
- const waiting: any[] = documents.filter(
- (e) =>
- e.Recipient.length > 0 &&
- e.Recipient.some((r: any) => r.sendStatus === SendStatus.SENT) &&
- e.Recipient.some((r: any) => r.signingStatus === SigningStatus.NOT_SIGNED)
- );
-
- const completed: PrismaDocument[] = documents.filter(
- (d) => d.status === DocumentStatus.COMPLETED
- );
-
- return {
- props: {
- dashboard: {
- drafts: drafts.length,
- waiting: waiting.length,
- completed: completed.length,
- },
- },
- };
-}
-
-export default DashboardPage;
diff --git a/apps/web/pages/documents.tsx b/apps/web/pages/documents.tsx
deleted file mode 100644
index cea08623c..000000000
--- a/apps/web/pages/documents.tsx
+++ /dev/null
@@ -1,437 +0,0 @@
-import { ReactElement, useEffect, useState } from "react";
-import { NextPageContext } from "next";
-import Head from "next/head";
-import { useRouter } from "next/router";
-import { uploadDocument } from "@documenso/features";
-import { deleteDocument, getDocuments } from "@documenso/lib/api";
-import { useSubscription } from "@documenso/lib/stripe";
-import { Button, IconButton, SelectBox } from "@documenso/ui";
-import Layout from "../components/layout";
-import type { NextPageWithLayout } from "./_app";
-import {
- ArrowDownTrayIcon,
- CheckBadgeIcon,
- CheckIcon,
- DocumentPlusIcon,
- EnvelopeIcon,
- FunnelIcon,
- PencilSquareIcon,
- PlusIcon,
- TrashIcon,
-} from "@heroicons/react/24/outline";
-import { DocumentStatus } from "@prisma/client";
-import { Tooltip as ReactTooltip } from "react-tooltip";
-
-const DocumentsPage: NextPageWithLayout = (props: any) => {
- const router = useRouter();
- const { hasSubscription } = useSubscription();
- const [documents, setDocuments]: any[] = useState([]);
- const [filteredDocuments, setFilteredDocuments] = useState([]);
-
- const [loading, setLoading] = useState(true);
-
- type statusFilterType = {
- label: string;
- value: DocumentStatus | "ALL";
- };
-
- const statusFilters: statusFilterType[] = [
- { label: "All", value: "ALL" },
- { label: "Draft", value: "DRAFT" },
- { label: "Waiting for others", value: "PENDING" },
- { label: "Completed", value: "COMPLETED" },
- ];
- const createdFilter = [
- { label: "All Time", value: -1 },
- { label: "Last 24 hours", value: 1 },
- { label: "Last 7 days", value: 7 },
- { label: "Last 30 days", value: 30 },
- { label: "Last 3 months", value: 90 },
- { label: "Last 12 months", value: 366 },
- ];
-
- const [selectedStatusFilter, setSelectedStatusFilter] = useState(statusFilters[0]);
- const [selectedCreatedFilter, setSelectedCreatedFilter] = useState(createdFilter[0]);
-
- const loadDocuments = async () => {
- if (!documents.length) setLoading(true);
- getDocuments().then((res: any) => {
- res.json().then((j: any) => {
- setDocuments(j);
- setLoading(false);
- });
- });
- };
-
- useEffect(() => {
- loadDocuments().finally(() => {
- setSelectedStatusFilter(
- statusFilters.filter((status) => status.value === props.filter.toUpperCase())[0]
- );
- });
- }, []);
-
- useEffect(() => {
- setFilteredDocuments(filterDocumentes(documents));
- }, [documents, selectedStatusFilter, selectedCreatedFilter]);
-
- function showDocument(documentId: number) {
- router.push(`/documents/${documentId}/recipients`);
- }
-
- function filterDocumentes(documents: []): any {
- let filteredDocuments = documents.filter(
- (d: any) => d.status === selectedStatusFilter.value || selectedStatusFilter.value === "ALL"
- );
-
- filteredDocuments = filteredDocuments.filter((document: any) =>
- wasXDaysAgoOrLess(new Date(document.created), selectedCreatedFilter.value)
- );
-
- return filteredDocuments;
- }
-
- function handleStatusFilterChange(status: statusFilterType) {
- router.replace(
- {
- pathname: router.pathname,
- query: { filter: status.value },
- },
- undefined,
- {
- shallow: true, // Perform a shallow update, without reloading the page
- }
- );
- setSelectedStatusFilter(status);
- }
-
- function wasXDaysAgoOrLess(documentDate: Date, lastXDays: number): boolean {
- if (lastXDays < 0) return true;
-
- const millisecondsInDay = 24 * 60 * 60 * 1000; // Number of milliseconds in a day
- const today: Date = new Date(); // Today's date
-
- // Calculate the difference between the two dates in days
- const diffInDays = Math.floor((today.getTime() - documentDate.getTime()) / millisecondsInDay);
-
- console.log(diffInDays);
-
- // Check if the difference is letss or equal to lastXDays
- return diffInDays <= lastXDays;
- }
-
- return (
- <>
-
- Documents | Documenso
-
-
-
-
-
-
-
- {
- document?.getElementById("fileUploadHelper")?.click();
- }}>
- Add Document
-
-
-
-
-
-
-
- {filteredDocuments.length != 1 ? filteredDocuments.length + " Documents" : "1 Document"}
-
-
-
-
-
-
-
-
-
-
-
- Title
-
-
- Recipients
-
-
- Status
-
-
- Created
-
-
- Delete
-
-
-
-
- {filteredDocuments.map((document: any, index: number) => (
- showDocument(document.id)}>
-
- {document.title || "#" + document.id}
-
-
- {document.Recipient.map((item: any) => (
-
- {item.sendStatus === "NOT_SENT" ? (
-
- {item.name ? item.name + " <" + item.email + ">" : item.email}
-
- ) : (
- ""
- )}
- {item.sendStatus === "SENT" && item.readStatus !== "OPENED" ? (
-
-
-
- {item.name ? item.name + " <" + item.email + ">" : item.email}
-
-
- ) : (
- ""
- )}
- {item.readStatus === "OPENED" &&
- item.signingStatus === "NOT_SIGNED" ? (
-
-
-
-
- {item.name ? item.name + " <" + item.email + ">" : item.email}
-
-
- ) : (
- ""
- )}
- {item.signingStatus === "SIGNED" ? (
-
-
- {" "}
- {item.email}
-
-
- ) : (
- ""
- )}
-
- ))}
- {document.Recipient.length === 0 ? "-" : null}
-
-
-
-
-
- {formatDocumentStatus(document.status)}
-
-
- {document.Recipient.filter((r: any) => r.signingStatus === "SIGNED")
- .length || 0}
- /{document.Recipient.length || 0}
-
-
-
-
- {new Date(document.created).toLocaleDateString()}
-
-
-
- {
- event.preventDefault();
- event.stopPropagation();
- router.push("/documents/" + document.id);
- }}
- disabled={document.status === "COMPLETED"}
- />
- {
- event.preventDefault();
- event.stopPropagation();
- router.push("/api/documents/" + document.id);
- }}
- />
- {
- event.preventDefault();
- event.stopPropagation();
- if (confirm("Are you sure you want to delete this document")) {
- const documentsWithoutIndex = [...documents];
- const removedItem: any = documentsWithoutIndex.splice(index, 1);
- setDocuments(documentsWithoutIndex);
- deleteDocument(document.id)
- .catch((err) => {
- documentsWithoutIndex.splice(index, 0, removedItem);
- setDocuments(documentsWithoutIndex);
- })
- .then(() => {
- loadDocuments();
- });
- }
- }}>
- , {document.name}
-
-
-
- ))}
-
-
-
-
0} className="mx-auto mt-12 w-fit p-3">
- Nothing here. Maybe try a
- different filter.
-
-
-
-
-
- 0 || loading}>
-
-
-
-
-
No documents
-
- Get started by adding a document. Any PDF will do.
-
-
- {
- document?.getElementById("fileUploadHelper")?.click();
- }}>
- Add Document
-
- {
- uploadDocument(event);
- }}
- hidden
- />
-
-
-
- >
- );
-};
-
-function formatDocumentStatus(status: DocumentStatus) {
- switch (status) {
- case DocumentStatus.DRAFT:
- return "Draft";
-
- case DocumentStatus.PENDING:
- return "Waiting for others";
-
- case DocumentStatus.COMPLETED:
- return "Completed";
- }
-}
-
-export async function getServerSideProps(context: NextPageContext) {
- const filter = context.query["filter"];
-
- return {
- props: {
- filter: filter || "ALL",
- },
- };
-}
-
-DocumentsPage.getLayout = function getLayout(page: ReactElement) {
- return {page} ;
-};
-
-export default DocumentsPage;
diff --git a/apps/web/pages/documents/[id]/index.tsx b/apps/web/pages/documents/[id]/index.tsx
deleted file mode 100644
index dc6b435a3..000000000
--- a/apps/web/pages/documents/[id]/index.tsx
+++ /dev/null
@@ -1,130 +0,0 @@
-import { ReactElement } from "react";
-import Link from "next/link";
-import { useRouter } from "next/router";
-import { NEXT_PUBLIC_WEBAPP_URL } from "@documenso/lib";
-import { getDocument } from "@documenso/lib/query";
-import { getUserFromToken } from "@documenso/lib/server";
-import { useSubscription } from "@documenso/lib/stripe";
-import { Breadcrumb, Button } from "@documenso/ui";
-import PDFEditor from "../../../components/editor/pdf-editor";
-import Layout from "../../../components/layout";
-import { NextPageWithLayout } from "../../_app";
-import { InformationCircleIcon, PaperAirplaneIcon, UsersIcon } from "@heroicons/react/24/outline";
-import { DocumentStatus } from "@prisma/client";
-import { Document as PrismaDocument } from "@prisma/client";
-
-const DocumentsDetailPage: NextPageWithLayout = (props: any) => {
- const router = useRouter();
- const { hasSubscription } = useSubscription();
-
- return (
-
-
-
-
-
-
-
-
- {props.document.title}
-
-
-
-
-
-
- {props?.document?.Recipient?.length} Recipients
-
-
-
-
- {formatDocumentStatus(props.document.status)}
-
-
-
-
- {
- if (
- confirm(`Send document out to ${props?.document?.Recipient?.length} recipients?`)
- ) {
- }
- }}>
- Prepare to Send
-
-
-
-
-
-
- );
-};
-
-function formatDocumentStatus(status: DocumentStatus) {
- switch (status) {
- case DocumentStatus.DRAFT:
- return "Draft";
-
- case DocumentStatus.PENDING:
- return "Waiting for others";
-
- case DocumentStatus.COMPLETED:
- return "Completed";
- }
-}
-
-export async function getServerSideProps(context: any) {
- const user = await getUserFromToken(context.req, context.res);
- if (!user)
- return {
- redirect: {
- destination: "/login",
- permanent: false,
- },
- };
-
- const { id: documentId } = context.query;
-
- try {
- const document: PrismaDocument = await getDocument(+documentId, context.req, context.res);
-
- return {
- props: {
- document: JSON.parse(JSON.stringify({ ...document, document: "" })),
- },
- };
- } catch (error) {
- return {
- notFound: true,
- };
- }
-}
-
-DocumentsDetailPage.getLayout = function getLayout(page: ReactElement) {
- return {page} ;
-};
-
-export default DocumentsDetailPage;
diff --git a/apps/web/pages/documents/[id]/recipients.tsx b/apps/web/pages/documents/[id]/recipients.tsx
deleted file mode 100644
index 0572f2cf5..000000000
--- a/apps/web/pages/documents/[id]/recipients.tsx
+++ /dev/null
@@ -1,376 +0,0 @@
-import { ReactElement, useRef, useState } from "react";
-import Head from "next/head";
-import { NEXT_PUBLIC_WEBAPP_URL, classNames } from "@documenso/lib";
-import { createOrUpdateRecipient, deleteRecipient, sendSigningRequests } from "@documenso/lib/api";
-import { getDocument } from "@documenso/lib/query";
-import { getUserFromToken } from "@documenso/lib/server";
-import { Breadcrumb, Button, Dialog, IconButton, Tooltip } from "@documenso/ui";
-import Layout from "../../../components/layout";
-import { NextPageWithLayout } from "../../_app";
-import {
- ArrowDownTrayIcon,
- CheckBadgeIcon,
- CheckIcon,
- EnvelopeIcon,
- PaperAirplaneIcon,
- PencilSquareIcon,
- TrashIcon,
- UserPlusIcon,
- XMarkIcon,
-} from "@heroicons/react/24/outline";
-import { DocumentStatus, Document as PrismaDocument, Recipient } from "@prisma/client";
-import { FormProvider, useFieldArray, useForm, useWatch } from "react-hook-form";
-import { toast } from "react-hot-toast";
-import { useSubscription } from "@documenso/lib/stripe";
-
-export type FormValues = {
- signers: Array>;
-};
-
-type FormSigner = FormValues["signers"][number];
-
-const RecipientsPage: NextPageWithLayout = (props: any) => {
- const { hasSubscription } = useSubscription();
- const title: string = `"` + props?.document?.title + `"` + "Recipients | Documenso";
- const breadcrumbItems = [
- {
- title: "Documents",
- href: "/documents",
- },
- {
- title: props.document.title,
- href:
- props.document.status !== DocumentStatus.COMPLETED
- ? NEXT_PUBLIC_WEBAPP_URL + "/documents/" + props.document.id
- : NEXT_PUBLIC_WEBAPP_URL + "/documents/" + props.document.id + "/recipients",
- },
- {
- title: "Recipients",
- href: NEXT_PUBLIC_WEBAPP_URL + "/documents/" + props.document.id + "/recipients",
- },
- ];
-
- const [loading, setLoading] = useState(false);
- const [open, setOpen] = useState(false);
- const form = useForm({
- defaultValues: { signers: props?.document?.Recipient },
- });
- const {
- register,
- trigger,
- control,
- formState: { errors },
- } = form;
- const { fields, append, remove } = useFieldArray({
- keyName: "dieldArrayId",
- name: "signers",
- control,
- });
- const formValues = useWatch({ control, name: "signers" });
- const cancelButtonRef = useRef(null);
- const hasEmailError = (formValue: FormSigner): boolean => {
- const index = formValues.findIndex((e) => e.id === formValue.id);
- return !!errors?.signers?.[index]?.email;
- };
-
- return (
- <>
-
- {title}
-
-
-
-
-
-
-
-
- {props.document.title}
-
-
-
-
- Download
-
- {props.document.status !== DocumentStatus.COMPLETED && (
- <>
-
- Edit Document
-
- {
- formValues.some((r) => r.email && hasEmailError(r))
- ? toast.error("Please enter a valid email address.", { id: "invalid email" })
- : setOpen(true);
- }}
- disabled={
- !hasSubscription ||
- (formValues.length || 0) === 0 ||
- !formValues.some(
- (r) => r.email && !hasEmailError(r) && r.sendStatus === "NOT_SENT"
- ) ||
- loading
- }>
- Send
-
- >
- )}
-
-
-
-
-
Signers
-
- {props.document.status !== DocumentStatus.COMPLETED
- ? "The people who will sign the document."
- : "The people who signed the document."}
-
-
-
-
-
-
-
-
- }
- />
- >
- );
-};
-
-RecipientsPage.getLayout = function getLayout(page: ReactElement) {
- return {page} ;
-};
-
-export async function getServerSideProps(context: any) {
- const user = await getUserFromToken(context.req, context.res);
- if (!user)
- return {
- redirect: {
- destination: "/login",
- permanent: false,
- },
- };
-
- const { id: documentId } = context.query;
- const document: PrismaDocument = await getDocument(+documentId, context.req, context.res);
-
- return {
- props: {
- document: JSON.parse(JSON.stringify({ ...document, document: "" })),
- },
- };
-}
-
-export default RecipientsPage;
diff --git a/apps/web/pages/documents/[id]/sign.tsx b/apps/web/pages/documents/[id]/sign.tsx
deleted file mode 100644
index b13601541..000000000
--- a/apps/web/pages/documents/[id]/sign.tsx
+++ /dev/null
@@ -1,120 +0,0 @@
-import Head from "next/head";
-import Link from "next/link";
-import prisma from "@documenso/prisma";
-import PDFSigner from "../../../components/editor/pdf-signer";
-import { NextPageWithLayout } from "../../_app";
-import { ClockIcon } from "@heroicons/react/24/outline";
-import { ReadStatus } from "@prisma/client";
-import { DocumentStatus, FieldType } from "@prisma/client";
-
-const SignPage: NextPageWithLayout = (props: any) => {
- return (
- <>
-
- Sign | Documenso
-
- {!props.expired ? (
-
- ) : (
- <>
-
-
-
Time flies.
-
This signing link is expired.
-
- Please ask {props.document.User.name ? `${props.document.User.name}` : `the sender`}{" "}
- to resend it.
-
-
-
-
-
- Want to send of your own?{" "}
-
- Create your own Account
-
-
- >
- )}
- >
- );
-};
-
-export async function getServerSideProps(context: any) {
- const recipientToken: string = context.query["token"];
-
- await prisma.recipient.updateMany({
- where: {
- token: recipientToken,
- },
- data: {
- readStatus: ReadStatus.OPENED,
- },
- });
-
- const recipient = await prisma.recipient.findFirst({
- where: {
- token: recipientToken,
- },
- include: {
- Document: { include: { User: true } },
- },
- });
-
- if (!recipient) {
- return {
- redirect: {
- permanent: false,
- destination: "/404",
- },
- };
- }
-
- // Document is already signed
- if (recipient.Document.status === DocumentStatus.COMPLETED) {
- return {
- redirect: {
- permanent: false,
- destination: `/documents/${recipient.Document.id}/signed?token=${recipientToken}`,
- },
- };
- }
-
- // Clean up potential unsigned free place fields from UI from previous page visits
- await prisma.field.deleteMany({
- where: {
- type: { in: [FieldType.FREE_SIGNATURE] },
- Signature: { is: null },
- },
- });
-
- const unsignedFields = await prisma.field.findMany({
- where: {
- documentId: recipient.Document.id,
- recipientId: recipient.id,
- Signature: { is: null },
- },
- include: {
- Recipient: true,
- Signature: true,
- },
- });
-
- return {
- props: {
- recipient: JSON.parse(JSON.stringify(recipient)),
- document: JSON.parse(JSON.stringify({ ...recipient.Document, document: "" })),
- fields: JSON.parse(JSON.stringify(unsignedFields)),
- expired: recipient.expired ? new Date(recipient.expired) < new Date() : false,
- },
- };
-}
-
-export default SignPage;
diff --git a/apps/web/pages/documents/[id]/signed.tsx b/apps/web/pages/documents/[id]/signed.tsx
deleted file mode 100644
index 138f9e3e9..000000000
--- a/apps/web/pages/documents/[id]/signed.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import Head from "next/head";
-import Link from "next/link";
-import { useRouter } from "next/router";
-import prisma from "@documenso/prisma";
-import { Button, IconButton } from "@documenso/ui";
-import { NextPageWithLayout } from "../../_app";
-import { ArrowDownTrayIcon, CheckBadgeIcon } from "@heroicons/react/24/outline";
-import { truncate } from "@documenso/lib/helpers";
-
-const Signed: NextPageWithLayout = (props: any) => {
- const router = useRouter();
- const allRecipientsSigned = props.document.Recipient?.every(
- (r: any) => r.signingStatus === "SIGNED"
- );
-
- return (
- <>
-
- Sign | Documenso
-
-
-
-
It's done!
-
- You signed "{truncate(props.document.title)}"
-
-
- You will be notfied when all recipients have signed.
-
-
- All recipients signed.
-
-
- {
- event.preventDefault();
- event.stopPropagation();
- router.push(
- "/api/documents/" + props.document.id + "?token=" + props.recipient.token
- );
- }}>
- Download "{props.document.title}"
-
-
-
-
-
- Want to send slick signing links like this one?{" "}
-
- Hosted Documenso is here!
-
-
- >
- );
-};
-
-export async function getServerSideProps(context: any) {
- const recipientToken: string = context.query["token"];
-
- const recipient = await prisma.recipient.findFirstOrThrow({
- where: {
- token: recipientToken,
- },
- include: {
- Document: { include: { Recipient: true } },
- },
- });
-
- const fields = await prisma.field.findMany({
- where: {
- documentId: recipient.Document.id,
- },
- include: {
- Recipient: true,
- },
- });
-
- return {
- props: {
- document: JSON.parse(JSON.stringify(recipient.Document)),
- fields: JSON.parse(JSON.stringify(fields)),
- recipient: JSON.parse(JSON.stringify(recipient)),
- },
- };
-}
-
-export default Signed;
diff --git a/apps/web/pages/index.tsx b/apps/web/pages/index.tsx
deleted file mode 100644
index 61da3a327..000000000
--- a/apps/web/pages/index.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { NextPageContext } from "next";
-import { getSession } from "next-auth/react";
-
-function RedirectPage() {
- return;
-}
-
-export async function getServerSideProps(context: NextPageContext) {
- const session = await getSession(context);
-
- if (!session?.user?.email) {
- return { redirect: { permanent: false, destination: "/login" } };
- }
-
- return { redirect: { permanent: false, destination: "/dashboard" } };
-}
-
-export default RedirectPage;
diff --git a/apps/web/pages/login.tsx b/apps/web/pages/login.tsx
deleted file mode 100644
index f340a2d31..000000000
--- a/apps/web/pages/login.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import Head from "next/head";
-import { getUserFromToken } from "@documenso/lib/server";
-import Login from "../components/login";
-
-export default function LoginPage(props: any) {
- return (
- <>
-
- Login | Documenso
-
-
- >
- );
-}
-
-export async function getServerSideProps(context: any) {
- const user = await getUserFromToken(context.req, context.res);
- if (user)
- return {
- redirect: {
- source: "/login",
- destination: "/dashboard",
- permanent: false,
- },
- };
-
- const ALLOW_SIGNUP = process.env.NEXT_PUBLIC_ALLOW_SIGNUP === "true";
-
- return {
- props: {
- ALLOW_SIGNUP,
- },
- };
-}
diff --git a/apps/web/pages/settings/account.tsx b/apps/web/pages/settings/account.tsx
deleted file mode 100644
index fd60790e5..000000000
--- a/apps/web/pages/settings/account.tsx
+++ /dev/null
@@ -1,3 +0,0 @@
-import SettingsPage from ".";
-
-export default SettingsPage;
diff --git a/apps/web/pages/settings/billing.tsx b/apps/web/pages/settings/billing.tsx
deleted file mode 100644
index 49ca54654..000000000
--- a/apps/web/pages/settings/billing.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from ".";
\ No newline at end of file
diff --git a/apps/web/pages/settings/index.tsx b/apps/web/pages/settings/index.tsx
deleted file mode 100644
index 044e8c1f1..000000000
--- a/apps/web/pages/settings/index.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import type { ReactElement } from "react";
-import Layout from "../../components/layout";
-import Settings from "../../components/settings";
-import type { NextPageWithLayout } from "../_app";
-
-const SettingsPage: NextPageWithLayout = () => {
- return ;
-};
-
-SettingsPage.getLayout = function getLayout(page: ReactElement) {
- return {page} ;
-};
-
-export default SettingsPage;
diff --git a/apps/web/pages/settings/password.tsx b/apps/web/pages/settings/password.tsx
deleted file mode 100644
index fd60790e5..000000000
--- a/apps/web/pages/settings/password.tsx
+++ /dev/null
@@ -1,3 +0,0 @@
-import SettingsPage from ".";
-
-export default SettingsPage;
diff --git a/apps/web/pages/settings/profile.tsx b/apps/web/pages/settings/profile.tsx
deleted file mode 100644
index fd60790e5..000000000
--- a/apps/web/pages/settings/profile.tsx
+++ /dev/null
@@ -1,3 +0,0 @@
-import SettingsPage from ".";
-
-export default SettingsPage;
diff --git a/apps/web/pages/signup.tsx b/apps/web/pages/signup.tsx
deleted file mode 100644
index 2f020fa6e..000000000
--- a/apps/web/pages/signup.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import { NextPageContext } from "next";
-import Head from "next/head";
-import { getUserFromToken } from "@documenso/lib/server";
-import Signup from "../components/signup";
-
-export default function SignupPage(props: { source: string }) {
- return (
- <>
-
- Signup | Documenso
-
-
- >
- );
-}
-
-export async function getServerSideProps(context: any) {
- if (process.env.NEXT_PUBLIC_ALLOW_SIGNUP !== "true")
- return {
- redirect: {
- destination: "/login",
- permanent: false,
- },
- };
-
- const user = await getUserFromToken(context.req, context.res);
- if (user)
- return {
- redirect: {
- source: "/signup",
- destination: "/dashboard",
- permanent: false,
- },
- };
-
- const signupSource: string = context.query["source"];
- return {
- props: {
- source: signupSource ? signupSource : "",
- },
- };
-}
diff --git a/apps/web/process-env.d.ts b/apps/web/process-env.d.ts
index b54336d64..92a6401fc 100644
--- a/apps/web/process-env.d.ts
+++ b/apps/web/process-env.d.ts
@@ -1,24 +1,15 @@
declare namespace NodeJS {
export interface ProcessEnv {
- DATABASE_URL: string;
- NEXT_PUBLIC_WEBAPP_URL: string;
- NEXTAUTH_SECRET: string;
- NEXTAUTH_URL: string;
-
- SENDGRID_API_KEY?: string;
- SMTP_MAIL_HOST?: string;
- SMTP_MAIL_PORT?: string;
- SMTP_MAIL_USER?: string;
- SMTP_MAIL_PASSWORD?: string;
-
- MAIL_FROM: string;
+ NEXT_PUBLIC_SITE_URL?: string;
- STRIPE_API_KEY?: string;
- STRIPE_WEBHOOK_SECRET?: string;
- NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID?: string;
- NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID?: string;
-
- NEXT_PUBLIC_ALLOW_SIGNUP?: string;
- NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS?: string;
+ NEXT_PRIVATE_DATABASE_URL: string;
+
+ NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID: string;
+ NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID: string;
+
+ NEXT_PRIVATE_STRIPE_API_KEY: string;
+ NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET: string;
+
+ NEXT_PUBLIC_SUBSCRIPTIONS_ENABLED: string;
}
}
diff --git a/apps/web/public/documenso-supporter-pledge.pdf b/apps/web/public/documenso-supporter-pledge.pdf
new file mode 100644
index 000000000..5f675bd92
Binary files /dev/null and b/apps/web/public/documenso-supporter-pledge.pdf differ
diff --git a/apps/web/public/fonts/Qwigley-Regular.ttf b/apps/web/public/fonts/Qwigley-Regular.ttf
deleted file mode 100644
index e4e589068..000000000
Binary files a/apps/web/public/fonts/Qwigley-Regular.ttf and /dev/null differ
diff --git a/apps/web/public/fonts/caveat.ttf b/apps/web/public/fonts/caveat.ttf
new file mode 100644
index 000000000..d0a6c3ffc
Binary files /dev/null and b/apps/web/public/fonts/caveat.ttf differ
diff --git a/apps/web/public/fonts/montserrat.woff2 b/apps/web/public/fonts/montserrat.woff2
deleted file mode 100644
index 53d42ad51..000000000
Binary files a/apps/web/public/fonts/montserrat.woff2 and /dev/null differ
diff --git a/apps/web/public/images/signed_100.png b/apps/web/public/images/signed_100.png
deleted file mode 100644
index 32bfd1db7..000000000
Binary files a/apps/web/public/images/signed_100.png and /dev/null differ
diff --git a/apps/web/public/next.svg b/apps/web/public/next.svg
new file mode 100644
index 000000000..5174b28c5
--- /dev/null
+++ b/apps/web/public/next.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/web/public/opengraph-image.jpg b/apps/web/public/opengraph-image.jpg
new file mode 100644
index 000000000..7be430000
Binary files /dev/null and b/apps/web/public/opengraph-image.jpg differ
diff --git a/apps/web/public/vercel.svg b/apps/web/public/vercel.svg
new file mode 100644
index 000000000..d2f842227
--- /dev/null
+++ b/apps/web/public/vercel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/web/resources/certificate.p12 b/apps/web/resources/certificate.p12
deleted file mode 100644
index 532ee19ab..000000000
Binary files a/apps/web/resources/certificate.p12 and /dev/null differ
diff --git a/apps/web/resources/example.pdf b/apps/web/resources/example.pdf
deleted file mode 100644
index f908d84e1..000000000
Binary files a/apps/web/resources/example.pdf and /dev/null differ
diff --git a/apps/web/src/api/claim-plan/fetcher.ts b/apps/web/src/api/claim-plan/fetcher.ts
new file mode 100644
index 000000000..0e533be5e
--- /dev/null
+++ b/apps/web/src/api/claim-plan/fetcher.ts
@@ -0,0 +1,41 @@
+import { TClaimPlanRequestSchema, ZClaimPlanResponseSchema } from './types';
+
+export const claimPlan = async ({
+ name,
+ email,
+ planId,
+ signatureDataUrl,
+ signatureText,
+}: TClaimPlanRequestSchema) => {
+ const response = await fetch('/api/claim-plan', {
+ method: 'POST',
+ body: JSON.stringify({
+ name,
+ email,
+ planId,
+ signatureDataUrl,
+ signatureText,
+ }),
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ });
+
+ const body = await response.json();
+
+ if (response.status !== 200) {
+ throw new Error('Failed to claim plan');
+ }
+
+ const safeBody = ZClaimPlanResponseSchema.safeParse(body);
+
+ if (!safeBody.success) {
+ throw new Error('Failed to claim plan');
+ }
+
+ if ('error' in safeBody.data) {
+ throw new Error(safeBody.data.error);
+ }
+
+ return safeBody.data.redirectUrl;
+};
diff --git a/apps/web/src/api/claim-plan/types.ts b/apps/web/src/api/claim-plan/types.ts
new file mode 100644
index 000000000..103a1336c
--- /dev/null
+++ b/apps/web/src/api/claim-plan/types.ts
@@ -0,0 +1,37 @@
+import { z } from 'zod';
+
+export const ZClaimPlanRequestSchema = z
+ .object({
+ email: z
+ .string()
+ .email()
+ .transform((value) => value.toLowerCase()),
+ name: z.string(),
+ planId: z.string(),
+ })
+ .and(
+ z.union([
+ z.object({
+ signatureDataUrl: z.string().min(1),
+ signatureText: z.null(),
+ }),
+ z.object({
+ signatureDataUrl: z.null(),
+ signatureText: z.string().min(1),
+ }),
+ ]),
+ );
+
+export type TClaimPlanRequestSchema = z.infer;
+
+export const ZClaimPlanResponseSchema = z
+ .object({
+ redirectUrl: z.string(),
+ })
+ .or(
+ z.object({
+ error: z.string(),
+ }),
+ );
+
+export type TClaimPlanResponseSchema = z.infer;
diff --git a/apps/web/src/api/document/create/fetcher.ts b/apps/web/src/api/document/create/fetcher.ts
new file mode 100644
index 000000000..fdc23456c
--- /dev/null
+++ b/apps/web/src/api/document/create/fetcher.ts
@@ -0,0 +1,34 @@
+import { useMutation } from '@tanstack/react-query';
+
+import { TCreateDocumentRequestSchema, ZCreateDocumentResponseSchema } from './types';
+
+export const useCreateDocument = () => {
+ return useMutation(async ({ file }: TCreateDocumentRequestSchema) => {
+ const formData = new FormData();
+
+ formData.set('file', file);
+
+ const response = await fetch('/api/document/create', {
+ method: 'POST',
+ body: formData,
+ });
+
+ const body = await response.json();
+
+ if (response.status !== 200) {
+ throw new Error('Failed to create document');
+ }
+
+ const safeBody = ZCreateDocumentResponseSchema.safeParse(body);
+
+ if (!safeBody.success) {
+ throw new Error('Failed to create document');
+ }
+
+ if ('error' in safeBody.data) {
+ throw new Error(safeBody.data.error);
+ }
+
+ return safeBody.data;
+ });
+};
diff --git a/apps/web/src/api/document/create/types.ts b/apps/web/src/api/document/create/types.ts
new file mode 100644
index 000000000..07541a5dd
--- /dev/null
+++ b/apps/web/src/api/document/create/types.ts
@@ -0,0 +1,19 @@
+import { z } from 'zod';
+
+export const ZCreateDocumentRequestSchema = z.object({
+ file: z.instanceof(File),
+});
+
+export type TCreateDocumentRequestSchema = z.infer;
+
+export const ZCreateDocumentResponseSchema = z
+ .object({
+ id: z.number(),
+ })
+ .or(
+ z.object({
+ error: z.string(),
+ }),
+ );
+
+export type TCreateDocumentResponseSchema = z.infer;
diff --git a/apps/web/src/app/(dashboard)/dashboard/page.tsx b/apps/web/src/app/(dashboard)/dashboard/page.tsx
new file mode 100644
index 000000000..a97736bea
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/dashboard/page.tsx
@@ -0,0 +1,94 @@
+import Link from 'next/link';
+
+import { Clock, File, FileCheck } from 'lucide-react';
+
+import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session';
+import { findDocuments } from '@documenso/lib/server-only/document/find-documents';
+import { getStats } from '@documenso/lib/server-only/document/get-stats';
+import {
+ Table,
+ TableBody,
+ TableCell,
+ TableHead,
+ TableHeader,
+ TableRow,
+} from '@documenso/ui/primitives/table';
+
+import { CardMetric } from '~/components/(dashboard)/metric-card/metric-card';
+import { DocumentStatus } from '~/components/formatter/document-status';
+import { LocaleDate } from '~/components/formatter/locale-date';
+
+import { UploadDocument } from './upload-document';
+
+export default async function DashboardPage() {
+ const session = await getRequiredServerComponentSession();
+
+ const [stats, results] = await Promise.all([
+ getStats({
+ userId: session.id,
+ }),
+ findDocuments({
+ userId: session.id,
+ perPage: 10,
+ }).then((r) => ({ ...r, data: [] })),
+ ]);
+
+ return (
+
+
Dashboard
+
+
+
+
+
+
+
+
+
+
+
Recent Documents
+
+
+
+
+
+ ID
+ Title
+ Status
+ Created
+
+
+
+ {results.data.map((document) => (
+
+ {document.id}
+
+
+ {document.title}
+
+
+
+
+
+
+
+
+
+ ))}
+ {results.data.length === 0 && (
+
+
+ No results.
+
+
+ )}
+
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/(dashboard)/dashboard/upload-document.tsx b/apps/web/src/app/(dashboard)/dashboard/upload-document.tsx
new file mode 100644
index 000000000..36ea4df72
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/dashboard/upload-document.tsx
@@ -0,0 +1,58 @@
+'use client';
+
+import { useRouter } from 'next/navigation';
+
+import { Loader } from 'lucide-react';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+import { useCreateDocument } from '~/api/document/create/fetcher';
+import { DocumentDropzone } from '~/components/(dashboard)/document-dropzone/document-dropzone';
+
+export type UploadDocumentProps = {
+ className?: string;
+};
+
+export const UploadDocument = ({ className }: UploadDocumentProps) => {
+ const { toast } = useToast();
+ const router = useRouter();
+
+ const { isLoading, mutateAsync: createDocument } = useCreateDocument();
+
+ const onFileDrop = async (file: File) => {
+ try {
+ const { id } = await createDocument({
+ file: file,
+ });
+
+ toast({
+ title: 'Document uploaded',
+ description: 'Your document has been uploaded successfully.',
+ duration: 5000,
+ });
+
+ router.push(`/documents/${id}`);
+ } catch (error) {
+ console.error(error);
+
+ toast({
+ title: 'Error',
+ description: 'An error occurred while uploading your document.',
+ variant: 'destructive',
+ });
+ }
+ };
+
+ return (
+
+
+
+ {isLoading && (
+
+
+
+ )}
+
+ );
+};
diff --git a/apps/web/src/app/(dashboard)/documents/[id]/loadable-pdf-card.tsx b/apps/web/src/app/(dashboard)/documents/[id]/loadable-pdf-card.tsx
new file mode 100644
index 000000000..ff9459a97
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/documents/[id]/loadable-pdf-card.tsx
@@ -0,0 +1,37 @@
+'use client';
+
+import { Suspense } from 'react';
+
+import dynamic from 'next/dynamic';
+
+import { Loader } from 'lucide-react';
+
+import { Card, CardContent } from '@documenso/ui/primitives/card';
+
+import { PDFViewerProps } from '~/components/(dashboard)/pdf-viewer/pdf-viewer';
+
+export type LoadablePDFCard = PDFViewerProps & {
+ className?: string;
+ pdfClassName?: string;
+};
+
+const PDFCard = dynamic(async () => import('~/components/(dashboard)/pdf-viewer/pdf-viewer'), {
+ ssr: false,
+ loading: () => (
+
+
+
+
Loading document...
+
+ ),
+});
+
+export const LoadablePDFCard = ({ className, pdfClassName, ...props }: LoadablePDFCard) => {
+ return (
+
+
+
+
+
+ );
+};
diff --git a/apps/web/src/app/(dashboard)/documents/[id]/page.tsx b/apps/web/src/app/(dashboard)/documents/[id]/page.tsx
new file mode 100644
index 000000000..810a24caa
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/documents/[id]/page.tsx
@@ -0,0 +1,94 @@
+import Link from 'next/link';
+import { redirect } from 'next/navigation';
+
+import { ChevronLeft } from 'lucide-react';
+
+import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session';
+import { getDocumentById } from '@documenso/lib/server-only/document/get-document-by-id';
+import { Button } from '@documenso/ui/primitives/button';
+
+import { LoadablePDFCard } from './loadable-pdf-card';
+
+export type DocumentPageProps = {
+ params: {
+ id: string;
+ };
+};
+
+export default async function DocumentPage({ params }: DocumentPageProps) {
+ const { id } = params;
+
+ const documentId = Number(id);
+
+ if (!documentId || Number.isNaN(documentId)) {
+ redirect('/documents');
+ }
+
+ const session = await getRequiredServerComponentSession();
+
+ const document = await getDocumentById({
+ id: documentId,
+ userId: session.id,
+ }).catch(() => null);
+
+ if (!document) {
+ redirect('/documents');
+ }
+
+ return (
+
+
+
+ Dashboard
+
+
+
+ Document.pdf
+
+
+
+
+
+
+
+
Add Signers
+
+
Add the people who will sign the document.
+
+
+
+
+
+
+
Add Signers (1/3)
+
+
+
+
+
+ Go Back
+
+
+
+ Continue
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/(dashboard)/documents/data-table.tsx b/apps/web/src/app/(dashboard)/documents/data-table.tsx
new file mode 100644
index 000000000..58b6eb1ac
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/documents/data-table.tsx
@@ -0,0 +1,79 @@
+'use client';
+
+import { useTransition } from 'react';
+
+import Link from 'next/link';
+
+import { Loader } from 'lucide-react';
+
+import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-update-search-params';
+import { FindResultSet } from '@documenso/lib/types/find-result-set';
+import { Document } from '@documenso/prisma/client';
+import { DataTable } from '@documenso/ui/primitives/data-table';
+import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination';
+
+import { DocumentStatus } from '~/components/formatter/document-status';
+import { LocaleDate } from '~/components/formatter/locale-date';
+
+export type DocumentsDataTableProps = {
+ results: FindResultSet;
+};
+
+export const DocumentsDataTable = ({ results }: DocumentsDataTableProps) => {
+ const [isPending, startTransition] = useTransition();
+
+ const updateSearchParams = useUpdateSearchParams();
+
+ const onPaginationChange = (page: number, perPage: number) => {
+ startTransition(() => {
+ updateSearchParams({
+ page,
+ perPage,
+ });
+ });
+ };
+
+ return (
+
+
(
+
+ {row.original.title}
+
+ ),
+ },
+ {
+ header: 'Status',
+ accessorKey: 'status',
+ cell: ({ row }) => ,
+ },
+ {
+ header: 'Created',
+ accessorKey: 'created',
+ cell: ({ row }) => ,
+ },
+ ]}
+ data={results.data}
+ perPage={results.perPage}
+ currentPage={results.currentPage}
+ totalPages={results.totalPages}
+ onPaginationChange={onPaginationChange}
+ >
+ {(table) => }
+
+
+ {isPending && (
+
+
+
+ )}
+
+ );
+};
diff --git a/apps/web/src/app/(dashboard)/documents/page.tsx b/apps/web/src/app/(dashboard)/documents/page.tsx
new file mode 100644
index 000000000..c3f6d5cc4
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/documents/page.tsx
@@ -0,0 +1,136 @@
+import Link from 'next/link';
+
+import { CheckCircle, Clock, Plus } from 'lucide-react';
+
+import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session';
+import { findDocuments } from '@documenso/lib/server-only/document/find-documents';
+import { getStats } from '@documenso/lib/server-only/document/get-stats';
+import { isDocumentStatus } from '@documenso/lib/types/is-document-status';
+import { DocumentStatus as InternalDocumentStatus } from '@documenso/prisma/client';
+import { Button } from '@documenso/ui/primitives/button';
+import { Tabs, TabsList, TabsTrigger } from '@documenso/ui/primitives/tabs';
+
+import { DocumentDropzone } from '~/components/(dashboard)/document-dropzone/document-dropzone';
+import { PeriodSelector } from '~/components/(dashboard)/period-selector/period-selector';
+import {
+ PeriodSelectorValue,
+ isPeriodSelectorValue,
+} from '~/components/(dashboard)/period-selector/types';
+import { DocumentStatus } from '~/components/formatter/document-status';
+
+import { DocumentsDataTable } from './data-table';
+
+export type DocumentsPageProps = {
+ searchParams?: {
+ status?: InternalDocumentStatus | 'ALL';
+ period?: PeriodSelectorValue;
+ page?: string;
+ perPage?: string;
+ };
+};
+
+export default async function DocumentsPage({ searchParams = {} }: DocumentsPageProps) {
+ const session = await getRequiredServerComponentSession();
+
+ const stats = await getStats({
+ userId: session.id,
+ });
+
+ const status = isDocumentStatus(searchParams.status) ? searchParams.status : 'ALL';
+ const period = isPeriodSelectorValue(searchParams.period) ? searchParams.period : '';
+ const page = Number(searchParams.page) || 1;
+ const perPage = Number(searchParams.perPage) || 20;
+
+ const results = await findDocuments({
+ userId: session.id,
+ status: status === 'ALL' ? undefined : status,
+ orderBy: {
+ column: 'created',
+ direction: 'desc',
+ },
+ page,
+ perPage,
+ });
+
+ const isNoResults = status === 'ALL' && period === '' && results.data.length === 0;
+
+ const getTabHref = (value: typeof status) => {
+ const params = new URLSearchParams(searchParams);
+
+ params.set('status', value);
+
+ if (params.has('page')) {
+ params.delete('page');
+ }
+
+ if (value === 'ALL') {
+ params.delete('status');
+ }
+
+ return `/documents?${params.toString()}`;
+ };
+
+ return (
+
+
All Documents
+
+
+
+
+
+ All
+
+
+
+
+
+
+
+ {Math.min(stats.DRAFT, 99)}
+
+
+
+
+
+
+
+
+
+ {Math.min(stats.PENDING, 99)}
+
+
+
+
+
+
+
+
+
+ {Math.min(stats.COMPLETED, 99)}
+
+
+
+
+
+
+
+
+
+
+
+ Add Document
+
+
+
+
+
+ {/* If we're viewing all documents for all time and there's nuffin we should should an add document component instead */}
+ {isNoResults ? (
+
+ ) : (
+
+ )}
+
+
+ );
+}
diff --git a/apps/web/src/app/(dashboard)/layout.tsx b/apps/web/src/app/(dashboard)/layout.tsx
new file mode 100644
index 000000000..9659978ec
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/layout.tsx
@@ -0,0 +1,38 @@
+import React from 'react';
+
+import { redirect } from 'next/navigation';
+
+import { getServerSession } from 'next-auth';
+
+import { NEXT_AUTH_OPTIONS } from '@documenso/lib/next-auth/auth-options';
+import {
+ getRequiredServerComponentSession,
+ getServerComponentSession,
+} from '@documenso/lib/next-auth/get-server-session';
+
+import { Header } from '~/components/(dashboard)/layout/header';
+import { NextAuthProvider } from '~/providers/next-auth';
+
+export type AuthenticatedDashboardLayoutProps = {
+ children: React.ReactNode;
+};
+
+export default async function AuthenticatedDashboardLayout({
+ children,
+}: AuthenticatedDashboardLayoutProps) {
+ const session = await getServerSession(NEXT_AUTH_OPTIONS);
+
+ if (!session) {
+ redirect('/signin');
+ }
+
+ const user = await getRequiredServerComponentSession();
+
+ return (
+
+
+
+ {children}
+
+ );
+}
diff --git a/apps/web/src/app/(dashboard)/settings/billing/page.tsx b/apps/web/src/app/(dashboard)/settings/billing/page.tsx
new file mode 100644
index 000000000..76d9df688
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/settings/billing/page.tsx
@@ -0,0 +1,29 @@
+import { redirect } from 'next/navigation';
+
+import { IS_SUBSCRIPTIONS_ENABLED } from '@documenso/lib/constants/features';
+import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session';
+
+import { PasswordForm } from '~/components/forms/password';
+
+export default async function BillingSettingsPage() {
+ const user = await getRequiredServerComponentSession();
+
+ // Redirect if subscriptions are not enabled.
+ if (!IS_SUBSCRIPTIONS_ENABLED) {
+ redirect('/settings/profile');
+ }
+
+ return (
+
+
Billing
+
+
+ Here you can update and manage your subscription.
+
+
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/(dashboard)/settings/layout.tsx b/apps/web/src/app/(dashboard)/settings/layout.tsx
new file mode 100644
index 000000000..f682de242
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/settings/layout.tsx
@@ -0,0 +1,23 @@
+import React from 'react';
+
+import { DesktopNav } from '~/components/(dashboard)/settings/layout/desktop-nav';
+import { MobileNav } from '~/components/(dashboard)/settings/layout/mobile-nav';
+
+export type DashboardSettingsLayoutProps = {
+ children: React.ReactNode;
+};
+
+export default function DashboardSettingsLayout({ children }: DashboardSettingsLayoutProps) {
+ return (
+
+ );
+}
diff --git a/apps/web/src/app/(dashboard)/settings/page.tsx b/apps/web/src/app/(dashboard)/settings/page.tsx
new file mode 100644
index 000000000..d1c944938
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/settings/page.tsx
@@ -0,0 +1,8 @@
+import { redirect } from 'next/navigation';
+
+export default function SettingsPage() {
+ redirect('/settings/profile');
+
+ // Page is intentionally empty because it will be redirected to /settings/profile
+ return
;
+}
diff --git a/apps/web/src/app/(dashboard)/settings/password/page.tsx b/apps/web/src/app/(dashboard)/settings/password/page.tsx
new file mode 100644
index 000000000..305cc3d0c
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/settings/password/page.tsx
@@ -0,0 +1,19 @@
+import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session';
+
+import { PasswordForm } from '~/components/forms/password';
+
+export default async function PasswordSettingsPage() {
+ const user = await getRequiredServerComponentSession();
+
+ return (
+
+
Password
+
+
Here you can update your password.
+
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/(dashboard)/settings/profile/page.tsx b/apps/web/src/app/(dashboard)/settings/profile/page.tsx
new file mode 100644
index 000000000..ba461e871
--- /dev/null
+++ b/apps/web/src/app/(dashboard)/settings/profile/page.tsx
@@ -0,0 +1,19 @@
+import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session';
+
+import { ProfileForm } from '~/components/forms/profile';
+
+export default async function ProfileSettingsPage() {
+ const user = await getRequiredServerComponentSession();
+
+ return (
+
+
Profile
+
+
Here you can edit your personal details.
+
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/(unauthenticated)/signin/page.tsx b/apps/web/src/app/(unauthenticated)/signin/page.tsx
new file mode 100644
index 000000000..a3275d0b5
--- /dev/null
+++ b/apps/web/src/app/(unauthenticated)/signin/page.tsx
@@ -0,0 +1,37 @@
+import Image from 'next/image';
+import Link from 'next/link';
+
+import backgroundPattern from '~/assets/background-pattern.png';
+import connections from '~/assets/card-sharing-figure.png';
+import { SignInForm } from '~/components/forms/signin';
+
+export default function SignInPage() {
+ return (
+
+
+
+
+
+
+
+
Sign in to your account
+
+
Welcome back, we are lucky to have you.
+
+
+
+
+ Don't have an account?{' '}
+
+ Sign up
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/(unauthenticated)/signup/page.tsx b/apps/web/src/app/(unauthenticated)/signup/page.tsx
new file mode 100644
index 000000000..58bddea1a
--- /dev/null
+++ b/apps/web/src/app/(unauthenticated)/signup/page.tsx
@@ -0,0 +1,40 @@
+import Image from 'next/image';
+import Link from 'next/link';
+
+import backgroundPattern from '~/assets/background-pattern.png';
+import connections from '~/assets/connections.png';
+import { SignUpForm } from '~/components/forms/signup';
+
+export default function SignUpPage() {
+ return (
+
+
+
+
+
+
+
+
Create a shiny, new Documenso Account ✨
+
+
+ Create your account and start using state-of-the-art document signing. Open and
+ beautiful signing is within your grasp.
+
+
+
+
+
+ Already have an account?{' '}
+
+ Sign in instead
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/globals.css b/apps/web/src/app/globals.css
new file mode 100644
index 000000000..044c9763f
--- /dev/null
+++ b/apps/web/src/app/globals.css
@@ -0,0 +1 @@
+@import '@documenso/ui/styles/theme.css';
diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx
new file mode 100644
index 000000000..b4af6d7e5
--- /dev/null
+++ b/apps/web/src/app/layout.tsx
@@ -0,0 +1,54 @@
+import { Inter } from 'next/font/google';
+
+import { TrpcProvider } from '@documenso/trpc/react';
+import { Toaster } from '@documenso/ui/primitives/toaster';
+
+import { PlausibleProvider } from '~/providers/plausible';
+
+import './globals.css';
+
+const fontInter = Inter({ subsets: ['latin'], variable: '--font-sans' });
+
+export const metadata = {
+ title: 'Documenso - The Open Source DocuSign Alternative',
+ description:
+ 'Join Documenso, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.',
+ keywords:
+ 'Documenso, open source, DocuSign alternative, document signing, open signing infrastructure, open-source community, fast signing, beautiful signing, smart templates',
+ authors: { name: 'Documenso, Inc.' },
+ robots: 'index, follow',
+ openGraph: {
+ title: 'Documenso - The Open Source DocuSign Alternative',
+ description:
+ 'Join Documenso, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.',
+ type: 'website',
+ images: [`${process.env.NEXT_PUBLIC_SITE_URL}/opengraph-image.jpg`],
+ },
+ twitter: {
+ site: '@documenso',
+ card: 'summary_large_image',
+ images: [`${process.env.NEXT_PUBLIC_SITE_URL}/opengraph-image.jpg`],
+ description:
+ 'Join Documenso, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.',
+ },
+};
+
+export default function RootLayout({ children }: { children: React.ReactNode }) {
+ return (
+
+
+
+
+
+
+
+
+
+
+ {children}
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/page.tsx b/apps/web/src/app/page.tsx
new file mode 100644
index 000000000..03c6d04b3
--- /dev/null
+++ b/apps/web/src/app/page.tsx
@@ -0,0 +1,3 @@
+export default function DashboardPage() {
+ return hello world
;
+}
diff --git a/apps/web/src/assets/Group 1019.png b/apps/web/src/assets/Group 1019.png
new file mode 100644
index 000000000..ece154a4d
Binary files /dev/null and b/apps/web/src/assets/Group 1019.png differ
diff --git a/apps/web/src/assets/background-pattern.png b/apps/web/src/assets/background-pattern.png
new file mode 100644
index 000000000..a59b29233
Binary files /dev/null and b/apps/web/src/assets/background-pattern.png differ
diff --git a/apps/web/src/assets/card-beautiful-figure.png b/apps/web/src/assets/card-beautiful-figure.png
new file mode 100644
index 000000000..44b90fe51
Binary files /dev/null and b/apps/web/src/assets/card-beautiful-figure.png differ
diff --git a/apps/web/src/assets/card-build-figure.png b/apps/web/src/assets/card-build-figure.png
new file mode 100644
index 000000000..e760876d8
Binary files /dev/null and b/apps/web/src/assets/card-build-figure.png differ
diff --git a/apps/web/src/assets/card-connections-figure.png b/apps/web/src/assets/card-connections-figure.png
new file mode 100644
index 000000000..b226b7644
Binary files /dev/null and b/apps/web/src/assets/card-connections-figure.png differ
diff --git a/apps/web/src/assets/card-fast-figure.png b/apps/web/src/assets/card-fast-figure.png
new file mode 100644
index 000000000..312f2e1c1
Binary files /dev/null and b/apps/web/src/assets/card-fast-figure.png differ
diff --git a/apps/web/src/assets/card-open-figure.png b/apps/web/src/assets/card-open-figure.png
new file mode 100644
index 000000000..faadfd5da
Binary files /dev/null and b/apps/web/src/assets/card-open-figure.png differ
diff --git a/apps/web/src/assets/card-paid-figure.png b/apps/web/src/assets/card-paid-figure.png
new file mode 100644
index 000000000..a780fdc98
Binary files /dev/null and b/apps/web/src/assets/card-paid-figure.png differ
diff --git a/apps/web/src/assets/card-sharing-figure.png b/apps/web/src/assets/card-sharing-figure.png
new file mode 100644
index 000000000..94aca7828
Binary files /dev/null and b/apps/web/src/assets/card-sharing-figure.png differ
diff --git a/apps/web/src/assets/card-smart-figure.png b/apps/web/src/assets/card-smart-figure.png
new file mode 100644
index 000000000..3614af32d
Binary files /dev/null and b/apps/web/src/assets/card-smart-figure.png differ
diff --git a/apps/web/src/assets/card-template-figure.png b/apps/web/src/assets/card-template-figure.png
new file mode 100644
index 000000000..5d27c1763
Binary files /dev/null and b/apps/web/src/assets/card-template-figure.png differ
diff --git a/apps/web/src/assets/card-widget-figure.png b/apps/web/src/assets/card-widget-figure.png
new file mode 100644
index 000000000..4f0c4ab11
Binary files /dev/null and b/apps/web/src/assets/card-widget-figure.png differ
diff --git a/apps/web/src/assets/connections.png b/apps/web/src/assets/connections.png
new file mode 100644
index 000000000..8b264233f
Binary files /dev/null and b/apps/web/src/assets/connections.png differ
diff --git a/apps/web/src/components/(dashboard)/document-dropzone/document-dropzone.tsx b/apps/web/src/components/(dashboard)/document-dropzone/document-dropzone.tsx
new file mode 100644
index 000000000..2ce754e6c
--- /dev/null
+++ b/apps/web/src/components/(dashboard)/document-dropzone/document-dropzone.tsx
@@ -0,0 +1,151 @@
+'use client';
+
+import { Variants, motion } from 'framer-motion';
+import { Plus } from 'lucide-react';
+import { useDropzone } from 'react-dropzone';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Card, CardContent } from '@documenso/ui/primitives/card';
+
+const DocumentDropzoneContainerVariants: Variants = {
+ initial: {
+ scale: 1,
+ },
+ animate: {
+ scale: 1,
+ },
+ hover: {
+ transition: {
+ staggerChildren: 0.05,
+ },
+ },
+};
+
+const DocumentDropzoneCardLeftVariants: Variants = {
+ initial: {
+ x: 40,
+ y: -10,
+ rotate: -14,
+ },
+ animate: {
+ x: 40,
+ y: -10,
+ rotate: -14,
+ },
+ hover: {
+ x: -25,
+ y: -25,
+ rotate: -22,
+ },
+};
+
+const DocumentDropzoneCardRightVariants: Variants = {
+ initial: {
+ x: -40,
+ y: -10,
+ rotate: 14,
+ },
+ animate: {
+ x: -40,
+ y: -10,
+ rotate: 14,
+ },
+ hover: {
+ x: 25,
+ y: -25,
+ rotate: 22,
+ },
+};
+
+const DocumentDropzoneCardCenterVariants: Variants = {
+ initial: {
+ x: 0,
+ y: 0,
+ },
+ animate: {
+ x: 0,
+ y: 0,
+ },
+ hover: {
+ x: 0,
+ y: -25,
+ },
+};
+
+export type DocumentDropzoneProps = {
+ className: string;
+ onDrop?: (_file: File) => void | Promise;
+ [key: string]: unknown;
+};
+
+export const DocumentDropzone = ({ className, onDrop, ...props }: DocumentDropzoneProps) => {
+ const { getRootProps, getInputProps } = useDropzone({
+ accept: {
+ 'application/pdf': ['.pdf'],
+ },
+ multiple: false,
+ onDrop: ([acceptedFile]) => {
+ if (acceptedFile && onDrop) {
+ onDrop(acceptedFile);
+ }
+ },
+ });
+
+ return (
+
+
+
+ {/* */}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add a document
+
+ Drag & drop your document here.
+
+
+
+ );
+};
diff --git a/apps/web/src/components/(dashboard)/layout/desktop-nav.tsx b/apps/web/src/components/(dashboard)/layout/desktop-nav.tsx
new file mode 100644
index 000000000..97851a534
--- /dev/null
+++ b/apps/web/src/components/(dashboard)/layout/desktop-nav.tsx
@@ -0,0 +1,43 @@
+'use client';
+
+import { HTMLAttributes } from 'react';
+
+import Link from 'next/link';
+import { usePathname } from 'next/navigation';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+export type DesktopNavProps = HTMLAttributes;
+
+export const DesktopNav = ({ className, ...props }: DesktopNavProps) => {
+ const pathname = usePathname();
+
+ return (
+
+
+ Dashboard
+
+
+ Documents
+
+ {/*
+ Settings
+ */}
+
+ );
+};
diff --git a/apps/web/src/components/(dashboard)/layout/header.tsx b/apps/web/src/components/(dashboard)/layout/header.tsx
new file mode 100644
index 000000000..5a83ccbd8
--- /dev/null
+++ b/apps/web/src/components/(dashboard)/layout/header.tsx
@@ -0,0 +1,48 @@
+'use client';
+
+import { HTMLAttributes } from 'react';
+
+import Link from 'next/link';
+
+import { Menu } from 'lucide-react';
+
+import { User } from '@documenso/prisma/client';
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+
+import { Logo } from '~/components/branding/logo';
+
+import { DesktopNav } from './desktop-nav';
+import { ProfileDropdown } from './profile-dropdown';
+
+export type HeaderProps = HTMLAttributes & {
+ user: User;
+};
+
+export const Header = ({ className, user, ...props }: HeaderProps) => {
+ return (
+
+ );
+};
diff --git a/apps/web/src/components/(dashboard)/layout/mobile-nav.tsx b/apps/web/src/components/(dashboard)/layout/mobile-nav.tsx
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx
new file mode 100644
index 000000000..a69d547b9
--- /dev/null
+++ b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx
@@ -0,0 +1,93 @@
+'use client';
+
+import Link from 'next/link';
+
+import { CreditCard, Github, Key, LogOut, User as LucideUser } from 'lucide-react';
+import { signOut } from 'next-auth/react';
+
+import { IS_SUBSCRIPTIONS_ENABLED } from '@documenso/lib/constants/features';
+import { User } from '@documenso/prisma/client';
+import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar';
+import { Button } from '@documenso/ui/primitives/button';
+import {
+ DropdownMenu,
+ DropdownMenuContent,
+ DropdownMenuItem,
+ DropdownMenuLabel,
+ DropdownMenuSeparator,
+ DropdownMenuTrigger,
+} from '@documenso/ui/primitives/dropdown-menu';
+
+export type ProfileDropdownProps = {
+ user: User;
+};
+
+export const ProfileDropdown = ({ user }: ProfileDropdownProps) => {
+ const initials =
+ user.name
+ ?.split(' ')
+ .map((name) => name.slice(0, 1).toUpperCase())
+ .slice(0, 2)
+ .join('') ?? 'UK';
+
+ return (
+
+
+
+
+ {initials}
+
+
+
+
+
+ Account
+
+
+
+
+ Profile
+
+
+
+
+
+
+ Password
+
+
+
+ {IS_SUBSCRIPTIONS_ENABLED && (
+
+
+
+ Billing
+
+
+ )}
+
+
+
+
+
+
+ Star on Github
+
+
+
+
+
+
+ signOut({
+ callbackUrl: '/',
+ })
+ }
+ >
+
+ Sign Out
+
+
+
+ );
+};
diff --git a/apps/web/src/components/(dashboard)/metric-card/metric-card.tsx b/apps/web/src/components/(dashboard)/metric-card/metric-card.tsx
new file mode 100644
index 000000000..17e12e487
--- /dev/null
+++ b/apps/web/src/components/(dashboard)/metric-card/metric-card.tsx
@@ -0,0 +1,30 @@
+import React from 'react';
+
+import { LucideIcon } from 'lucide-react';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+export type CardMetricProps = {
+ icon?: LucideIcon;
+ title: string;
+ value: string | number;
+ className?: string;
+};
+
+export const CardMetric = ({ icon: Icon, title, value, className }: CardMetricProps) => {
+ return (
+
+
+
+ {Icon && }
+
+
{title}
+
+
+
+ {typeof value === 'number' ? value.toLocaleString('en-US') : value}
+
+
+
+ );
+};
diff --git a/apps/web/src/components/(dashboard)/pdf-viewer/pdf-viewer.tsx b/apps/web/src/components/(dashboard)/pdf-viewer/pdf-viewer.tsx
new file mode 100644
index 000000000..c125332d9
--- /dev/null
+++ b/apps/web/src/components/(dashboard)/pdf-viewer/pdf-viewer.tsx
@@ -0,0 +1,87 @@
+'use client';
+
+import { useEffect, useRef, useState } from 'react';
+
+import { Loader } from 'lucide-react';
+import { Document as PDFDocument, Page as PDFPage, pdfjs } from 'react-pdf';
+import 'react-pdf/dist/esm/Page/AnnotationLayer.css';
+import 'react-pdf/dist/esm/Page/TextLayer.css';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+type LoadedPDFDocument = pdfjs.PDFDocumentProxy;
+
+pdfjs.GlobalWorkerOptions.workerSrc = new URL(
+ 'pdfjs-dist/build/pdf.worker.min.js',
+ import.meta.url,
+).toString();
+
+export type PDFViewerProps = {
+ className?: string;
+ document: string;
+ [key: string]: unknown;
+};
+
+export const PDFViewer = ({ className, document, ...props }: PDFViewerProps) => {
+ const $el = useRef(null);
+
+ const [width, setWidth] = useState(0);
+ const [numPages, setNumPages] = useState(0);
+
+ const onDocumentLoaded = (doc: LoadedPDFDocument) => {
+ setNumPages(doc.numPages);
+ };
+
+ useEffect(() => {
+ if ($el.current) {
+ const $current = $el.current;
+
+ const { width } = $current.getBoundingClientRect();
+
+ setWidth(width);
+
+ const onResize = () => {
+ const { width } = $current.getBoundingClientRect();
+
+ setWidth(width);
+ };
+
+ window.addEventListener('resize', onResize);
+
+ return () => {
+ window.removeEventListener('resize', onResize);
+ };
+ }
+ }, []);
+
+ return (
+
+
onDocumentLoaded(d)}
+ externalLinkTarget="_blank"
+ loading={
+
+
+
+
Loading document...
+
+ }
+ >
+ {Array(numPages)
+ .fill(null)
+ .map((_, i) => (
+
+ ))}
+
+
+ );
+};
+
+export default PDFViewer;
diff --git a/apps/web/src/components/(dashboard)/period-selector/period-selector.tsx b/apps/web/src/components/(dashboard)/period-selector/period-selector.tsx
new file mode 100644
index 000000000..d56d90c7f
--- /dev/null
+++ b/apps/web/src/components/(dashboard)/period-selector/period-selector.tsx
@@ -0,0 +1,59 @@
+'use client';
+
+import { useMemo } from 'react';
+
+import { usePathname, useRouter, useSearchParams } from 'next/navigation';
+
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from '@documenso/ui/primitives/select';
+
+import { isPeriodSelectorValue } from './types';
+
+export const PeriodSelector = () => {
+ const pathname = usePathname();
+ const searchParams = useSearchParams();
+
+ const router = useRouter();
+
+ const period = useMemo(() => {
+ const p = searchParams?.get('period') ?? '';
+
+ return isPeriodSelectorValue(p) ? p : '';
+ }, [searchParams]);
+
+ const onPeriodChange = (newPeriod: string) => {
+ if (!pathname) {
+ return;
+ }
+
+ const params = new URLSearchParams(searchParams?.toString());
+
+ params.set('period', newPeriod);
+
+ if (newPeriod === '') {
+ params.delete('period');
+ }
+
+ router.push(`${pathname}?${params.toString()}`);
+ };
+
+ return (
+
+
+
+
+
+
+ All Time
+ Last 7 days
+ Last 14 days
+ Last 30 days
+
+
+ );
+};
diff --git a/apps/web/src/components/(dashboard)/period-selector/types.ts b/apps/web/src/components/(dashboard)/period-selector/types.ts
new file mode 100644
index 000000000..4ebfe47f1
--- /dev/null
+++ b/apps/web/src/components/(dashboard)/period-selector/types.ts
@@ -0,0 +1,5 @@
+export type PeriodSelectorValue = '' | '7d' | '14d' | '30d';
+
+export const isPeriodSelectorValue = (value: unknown): value is PeriodSelectorValue => {
+ return ['', '7d', '14d', '30d'].includes(value as string);
+};
diff --git a/apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx b/apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx
new file mode 100644
index 000000000..0c9e6eb19
--- /dev/null
+++ b/apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx
@@ -0,0 +1,63 @@
+'use client';
+
+import { HTMLAttributes } from 'react';
+
+import Link from 'next/link';
+import { usePathname } from 'next/navigation';
+
+import { CreditCard, Key, User } from 'lucide-react';
+
+import { IS_SUBSCRIPTIONS_ENABLED } from '@documenso/lib/constants/features';
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+
+export type DesktopNavProps = HTMLAttributes;
+
+export const DesktopNav = ({ className, ...props }: DesktopNavProps) => {
+ const pathname = usePathname();
+
+ return (
+
+
+
+
+ Profile
+
+
+
+
+
+
+ Password
+
+
+
+ {IS_SUBSCRIPTIONS_ENABLED && (
+
+
+
+ Billing
+
+
+ )}
+
+ );
+};
diff --git a/apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx b/apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx
new file mode 100644
index 000000000..0a2eb991f
--- /dev/null
+++ b/apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx
@@ -0,0 +1,66 @@
+'use client';
+
+import { HTMLAttributes } from 'react';
+
+import Link from 'next/link';
+import { usePathname } from 'next/navigation';
+
+import { CreditCard, Key, User } from 'lucide-react';
+
+import { IS_SUBSCRIPTIONS_ENABLED } from '@documenso/lib/constants/features';
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+
+export type MobileNavProps = HTMLAttributes;
+
+export const MobileNav = ({ className, ...props }: MobileNavProps) => {
+ const pathname = usePathname();
+
+ return (
+
+
+
+
+ Profile
+
+
+
+
+
+
+ Password
+
+
+
+ {IS_SUBSCRIPTIONS_ENABLED && (
+
+
+
+ Billing
+
+
+ )}
+
+ );
+};
diff --git a/apps/web/src/components/(marketing)/callout.tsx b/apps/web/src/components/(marketing)/callout.tsx
new file mode 100644
index 000000000..30a1abdbf
--- /dev/null
+++ b/apps/web/src/components/(marketing)/callout.tsx
@@ -0,0 +1,56 @@
+'use client';
+
+import Link from 'next/link';
+
+import { Github } from 'lucide-react';
+import { usePlausible } from 'next-plausible';
+
+import { Button } from '@documenso/ui/primitives/button';
+
+export const Callout = () => {
+ const event = usePlausible();
+
+ const onSignUpClick = () => {
+ const el = document.getElementById('email');
+
+ if (el) {
+ const { top } = el.getBoundingClientRect();
+
+ window.scrollTo({
+ top: top - 120,
+ behavior: 'smooth',
+ });
+
+ setTimeout(() => {
+ el.focus();
+ }, 500);
+ }
+ };
+
+ return (
+
+
+ Get the Community Plan
+
+ $30/mo. forever!
+
+
+
+ event('view-github')}
+ >
+
+
+ Star on Github
+
+
+
+ );
+};
diff --git a/apps/web/src/components/(marketing)/claim-plan-dialog.tsx b/apps/web/src/components/(marketing)/claim-plan-dialog.tsx
new file mode 100644
index 000000000..06bfd5ced
--- /dev/null
+++ b/apps/web/src/components/(marketing)/claim-plan-dialog.tsx
@@ -0,0 +1,148 @@
+'use client';
+
+import React, { useState } from 'react';
+
+import { useSearchParams } from 'next/navigation';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { Info, Loader } from 'lucide-react';
+import { usePlausible } from 'next-plausible';
+import { useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+import {
+ Dialog,
+ DialogContent,
+ DialogDescription,
+ DialogHeader,
+ DialogTitle,
+ DialogTrigger,
+} from '@documenso/ui/primitives/dialog';
+import { Input } from '@documenso/ui/primitives/input';
+import { Label } from '@documenso/ui/primitives/label';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+import { claimPlan } from '~/api/claim-plan/fetcher';
+
+import { FormErrorMessage } from '../form/form-error-message';
+
+export const ZClaimPlanDialogFormSchema = z.object({
+ name: z.string().min(3),
+ email: z.string().email(),
+});
+
+export type TClaimPlanDialogFormSchema = z.infer;
+
+export type ClaimPlanDialogProps = {
+ className?: string;
+ planId: string;
+ children: React.ReactNode;
+};
+
+export const ClaimPlanDialog = ({ className, planId, children }: ClaimPlanDialogProps) => {
+ const params = useSearchParams();
+ const { toast } = useToast();
+ const event = usePlausible();
+
+ const [open, setOpen] = useState(() => params?.get('cancelled') === 'true');
+
+ const {
+ register,
+ handleSubmit,
+ formState: { errors, isSubmitting },
+ } = useForm({
+ mode: 'onBlur',
+ defaultValues: {
+ name: params?.get('name') ?? '',
+ email: params?.get('email') ?? '',
+ },
+ resolver: zodResolver(ZClaimPlanDialogFormSchema),
+ });
+
+ const onFormSubmit = async ({ name, email }: TClaimPlanDialogFormSchema) => {
+ try {
+ const delay = new Promise((resolve) => setTimeout(resolve, 1000));
+
+ const [redirectUrl] = await Promise.all([
+ claimPlan({ name, email, planId, signatureText: name, signatureDataUrl: null }),
+ delay,
+ ]);
+
+ event('claim-plan-pricing');
+
+ window.location.href = redirectUrl;
+ } catch (error) {
+ event('claim-plan-failed');
+
+ toast({
+ title: 'Something went wrong',
+ description: error instanceof Error ? error.message : 'Please try again later.',
+ variant: 'destructive',
+ });
+ }
+ };
+
+ return (
+
+ {children}
+
+
+
+ Claim your plan
+
+
+ We're almost there! Please enter your email address and name to claim your plan.
+
+
+
+
+
+
+ );
+};
diff --git a/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx b/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx
new file mode 100644
index 000000000..2cbaaef53
--- /dev/null
+++ b/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx
@@ -0,0 +1,77 @@
+import { HTMLAttributes } from 'react';
+
+import Image from 'next/image';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Card, CardContent } from '@documenso/ui/primitives/card';
+
+import backgroundPattern from '~/assets/background-pattern.png';
+import cardBeautifulFigure from '~/assets/card-beautiful-figure.png';
+import cardFastFigure from '~/assets/card-fast-figure.png';
+import cardSmartFigure from '~/assets/card-smart-figure.png';
+
+export type FasterSmarterBeautifulBentoProps = HTMLAttributes;
+
+export const FasterSmarterBeautifulBento = ({
+ className,
+ ...props
+}: FasterSmarterBeautifulBentoProps) => {
+ return (
+
+
+
+
+
+ A 10x better signing experience.
+ Faster, smarter and more beautiful.
+
+
+
+
+
+
+ Fast.
+ When it comes to sending or receiving a contract, you can count on lightning-fast
+ speeds.
+
+
+
+
+
+
+
+
+
+
+
+ Beautiful.
+ Because signing should be celebrated. That’s why we care about the smallest detail in
+ our product.
+
+
+
+
+
+
+
+
+
+
+
+ Smart.
+ Our custom templates come with smart rules that can help you save time and energy.
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/apps/web/src/components/(marketing)/footer.tsx b/apps/web/src/components/(marketing)/footer.tsx
new file mode 100644
index 000000000..823ece92e
--- /dev/null
+++ b/apps/web/src/components/(marketing)/footer.tsx
@@ -0,0 +1,86 @@
+import { HTMLAttributes } from 'react';
+
+import Image from 'next/image';
+import Link from 'next/link';
+
+import { Github, Slack, Twitter } from 'lucide-react';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+export type FooterProps = HTMLAttributes;
+
+export const Footer = ({ className, ...props }: FooterProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Pricing
+
+
+
+ Status
+
+
+
+ Support
+
+
+ {/*
+ Privacy
+ */}
+
+
+
+
+ © {new Date().getFullYear()} Documenso, Inc. All rights reserved.
+
+
+
+ );
+};
diff --git a/apps/web/src/components/(marketing)/header.tsx b/apps/web/src/components/(marketing)/header.tsx
new file mode 100644
index 000000000..5a1fa3b89
--- /dev/null
+++ b/apps/web/src/components/(marketing)/header.tsx
@@ -0,0 +1,32 @@
+import { HTMLAttributes } from 'react';
+
+import Image from 'next/image';
+import Link from 'next/link';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+export type HeaderProps = HTMLAttributes;
+
+export const Header = ({ className, ...props }: HeaderProps) => {
+ return (
+
+ );
+};
diff --git a/apps/web/src/components/(marketing)/hero.tsx b/apps/web/src/components/(marketing)/hero.tsx
new file mode 100644
index 000000000..b406b51cc
--- /dev/null
+++ b/apps/web/src/components/(marketing)/hero.tsx
@@ -0,0 +1,217 @@
+'use client';
+
+import Image from 'next/image';
+import Link from 'next/link';
+
+import { Variants, motion } from 'framer-motion';
+import { Github } from 'lucide-react';
+import { usePlausible } from 'next-plausible';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+
+import backgroundPattern from '~/assets/background-pattern.png';
+
+import { Widget } from './widget';
+
+export type HeroProps = {
+ className?: string;
+ [key: string]: unknown;
+};
+
+const BackgroundPatternVariants: Variants = {
+ initial: {
+ opacity: 0,
+ },
+
+ animate: {
+ opacity: 1,
+
+ transition: {
+ delay: 1,
+ duration: 1.2,
+ },
+ },
+};
+
+const HeroTitleVariants: Variants = {
+ initial: {
+ opacity: 0,
+ y: 60,
+ },
+ animate: {
+ opacity: 1,
+ y: 0,
+ transition: {
+ duration: 0.5,
+ },
+ },
+};
+
+export const Hero = ({ className, ...props }: HeroProps) => {
+ const event = usePlausible();
+
+ const onSignUpClick = () => {
+ const el = document.getElementById('email');
+
+ if (el) {
+ const { top } = el.getBoundingClientRect();
+
+ window.scrollTo({
+ top: top - 120,
+ behavior: 'smooth',
+ });
+
+ requestAnimationFrame(() => {
+ el.focus();
+ });
+ }
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+ Document signing,
+ finally open source.
+
+
+
+
+ Get the Community Plan
+
+ $30/mo. forever!
+
+
+
+ event('view-github')}>
+
+
+ Star on Github
+
+
+
+
+
+
+
+
+
+
+
+
+ Documenso Supporter Pledge
+
+ Our mission is to create an open signing infrastructure that empowers the world,
+ enabling businesses to embrace openness, cooperation, and transparency. We believe
+ that signing, as a fundamental act, should embody these values. By offering an
+ open-source signing solution, we aim to make document signing accessible, transparent,
+ and trustworthy.
+
+
+
+ Through our platform, called Documenso, we strive to earn your trust by allowing
+ self-hosting and providing complete visibility into its inner workings. We value
+ inclusivity and foster an environment where diverse perspectives and contributions are
+ welcomed, even though we may not implement them all.
+
+
+
+ At Documenso, we envision a web-enabled future for business and contracts, and we are
+ committed to being the leading provider of open signing infrastructure. By combining
+ exceptional product design with open-source principles, we aim to deliver a robust and
+ well-designed application that exceeds your expectations.
+
+
+
+ We understand that exceptional products are born from exceptional communities, and we
+ invite you to join our open-source community. Your contributions, whether technical or
+ non-technical, will help shape the future of signing. Together, we can create a better
+ future for everyone.
+
+
+
+ Today we invite you to join us on this journey: By signing this mission statement you
+ signal your support of Documenso's mission{' '}
+
+ (in a non-legally binding, but heartfelt way)
+ {' '}
+ and lock in the early supporter plan for forever, including everything we build this
+ year.
+
+
+
+
+
+
Timur Ercan & Lucas Smith
+
Co-Founders, Documenso
+
+
+
+
+
+ );
+};
diff --git a/apps/web/src/components/(marketing)/open-build-template-bento.tsx b/apps/web/src/components/(marketing)/open-build-template-bento.tsx
new file mode 100644
index 000000000..e7920500b
--- /dev/null
+++ b/apps/web/src/components/(marketing)/open-build-template-bento.tsx
@@ -0,0 +1,74 @@
+import { HTMLAttributes } from 'react';
+
+import Image from 'next/image';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Card, CardContent } from '@documenso/ui/primitives/card';
+
+import backgroundPattern from '~/assets/background-pattern.png';
+import cardBuildFigure from '~/assets/card-build-figure.png';
+import cardOpenFigure from '~/assets/card-open-figure.png';
+import cardTemplateFigure from '~/assets/card-template-figure.png';
+
+export type OpenBuildTemplateBentoProps = HTMLAttributes;
+
+export const OpenBuildTemplateBento = ({ className, ...props }: OpenBuildTemplateBentoProps) => {
+ return (
+
+
+
+
+
+ Truly your own.
+ Customise and expand.
+
+
+
+
+
+
+ Open Source or Hosted.
+ It’s up to you. Either clone our repository or rely on our easy to use hosting
+ solution.
+
+
+
+
+
+
+
+
+
+
+
+ Build on top.
+ Make it your own through advanced customization and adjustability.
+
+
+
+
+
+
+
+
+
+
+
+ Template Store (Soon).
+ Choose a template from the community app store. Or submit your own template for others
+ to use.
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/apps/web/src/components/(marketing)/password-reveal.tsx b/apps/web/src/components/(marketing)/password-reveal.tsx
new file mode 100644
index 000000000..7e1cb72a3
--- /dev/null
+++ b/apps/web/src/components/(marketing)/password-reveal.tsx
@@ -0,0 +1,33 @@
+'use client';
+
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+import { useCopyToClipboard } from '~/hooks/use-copy-to-clipboard';
+
+export type PasswordRevealProps = {
+ password: string;
+};
+
+export const PasswordReveal = ({ password }: PasswordRevealProps) => {
+ const { toast } = useToast();
+ const [, copy] = useCopyToClipboard();
+
+ const onCopyClick = () => {
+ copy(password).then(() => {
+ toast({
+ title: 'Copied to clipboard',
+ description: 'Your password has been copied to your clipboard.',
+ });
+ });
+ };
+
+ return (
+
+ {password}
+
+ );
+};
diff --git a/apps/web/src/components/(marketing)/pricing-table.tsx b/apps/web/src/components/(marketing)/pricing-table.tsx
new file mode 100644
index 000000000..4d229ae98
--- /dev/null
+++ b/apps/web/src/components/(marketing)/pricing-table.tsx
@@ -0,0 +1,179 @@
+'use client';
+
+import { HTMLAttributes, useMemo, useState } from 'react';
+
+import Link from 'next/link';
+import { useSearchParams } from 'next/navigation';
+
+import { AnimatePresence, motion } from 'framer-motion';
+import { usePlausible } from 'next-plausible';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+
+import { ClaimPlanDialog } from './claim-plan-dialog';
+
+export type PricingTableProps = HTMLAttributes;
+
+const SELECTED_PLAN_BAR_LAYOUT_ID = 'selected-plan-bar';
+
+export const PricingTable = ({ className, ...props }: PricingTableProps) => {
+ const params = useSearchParams();
+ const event = usePlausible();
+
+ const [period, setPeriod] = useState<'MONTHLY' | 'YEARLY'>(() =>
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ params?.get('planId') === process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID
+ ? 'YEARLY'
+ : 'MONTHLY',
+ );
+
+ const planId = useMemo(() => {
+ if (period === 'MONTHLY') {
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ return process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID;
+ }
+
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ return process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID;
+ }, [period]);
+
+ return (
+
+
+
+ setPeriod('MONTHLY')}
+ >
+ Monthly
+ {period === 'MONTHLY' && (
+
+ )}
+
+
+ setPeriod('YEARLY')}
+ >
+ Yearly
+
+ Save $60
+
+ {period === 'YEARLY' && (
+
+ )}
+
+
+
+
+
+
+
Self Hosted
+
Free
+
+
+ For small teams and individuals who need a simple solution
+
+
+
event('view-github')}
+ >
+
View on Github
+
+
+
+
Host your own instance
+
Full Control
+
Customizability
+
Docker Ready
+
Community Support
+
Free, Forever
+
+
+
+
+
Community
+
+
+ {period === 'MONTHLY' && $30 }
+ {period === 'YEARLY' && $300 }
+
+
+
+
+ For fast-growing companies that aim to scale across multiple teams.
+
+
+
+ Signup Now
+
+
+
+
Documenso Early Adopter Deal:
+
Join the movement
+
Simple signing solution
+
Email and Slack assistance
+
+ Includes all upcoming features
+
+
Fixed, straightforward pricing
+
+
+
+
+
Enterprise
+
Pricing on request
+
+
+ For large organizations that need extra flexibility and control.
+
+
+
event('enterprise-contact')}
+ >
+
Contact Us
+
+
+
+
Everything in Community, plus:
+
Custom Subdomain
+
Compliance Check
+
Guaranteed Uptime
+
Reporting & Analysis
+
24/7 Support
+
+
+
+
+ );
+};
diff --git a/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx b/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx
new file mode 100644
index 000000000..05b6a3232
--- /dev/null
+++ b/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx
@@ -0,0 +1,91 @@
+import { HTMLAttributes } from 'react';
+
+import Image from 'next/image';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Card, CardContent } from '@documenso/ui/primitives/card';
+
+import backgroundPattern from '~/assets/background-pattern.png';
+import cardConnectionsFigure from '~/assets/card-connections-figure.png';
+import cardPaidFigure from '~/assets/card-paid-figure.png';
+import cardSharingFigure from '~/assets/card-sharing-figure.png';
+import cardWidgetFigure from '~/assets/card-widget-figure.png';
+
+export type ShareConnectPaidWidgetBentoProps = HTMLAttributes;
+
+export const ShareConnectPaidWidgetBento = ({
+ className,
+ ...props
+}: ShareConnectPaidWidgetBentoProps) => {
+ return (
+
+
+
+
+
+ Integrates with all your favourite tools.
+ Send, connect, receive and embed everywhere.
+
+
+
+
+
+
+ Easy Sharing (Soon).
+ Receive your personal link to share with everyone you care about.
+
+
+
+
+
+
+
+
+
+
+
+ Connections (Soon).
+ Create connections and automations with Zapier and more to integrate with your
+ favorite tools.
+
+
+
+
+
+
+
+
+
+
+
+ Get paid (Soon).
+ Integrated payments with stripe so you don’t have to worry about getting paid.
+
+
+
+
+
+
+
+
+
+
+
+ React Widget (Soon).
+ Easily embed Documenso into your product. Simply copy and paste our react widget into
+ your application.
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/apps/web/src/components/(marketing)/widget.tsx b/apps/web/src/components/(marketing)/widget.tsx
new file mode 100644
index 000000000..8603ef576
--- /dev/null
+++ b/apps/web/src/components/(marketing)/widget.tsx
@@ -0,0 +1,400 @@
+'use client';
+
+import { HTMLAttributes, KeyboardEvent, useMemo, useState } from 'react';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { AnimatePresence, motion } from 'framer-motion';
+import { Loader } from 'lucide-react';
+import { usePlausible } from 'next-plausible';
+import { Controller, useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+import { Card, CardContent } from '@documenso/ui/primitives/card';
+import {
+ Dialog,
+ DialogContent,
+ DialogDescription,
+ DialogFooter,
+ DialogHeader,
+ DialogTitle,
+} from '@documenso/ui/primitives/dialog';
+import { Input } from '@documenso/ui/primitives/input';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+import { claimPlan } from '~/api/claim-plan/fetcher';
+
+import { FormErrorMessage } from '../form/form-error-message';
+import { SignaturePad } from '../signature-pad';
+
+const ZWidgetFormSchema = z
+ .object({
+ email: z.string().email({ message: 'Please enter a valid email address.' }),
+ name: z.string().min(3, { message: 'Please enter a valid name.' }),
+ })
+ .and(
+ z.union([
+ z.object({
+ signatureDataUrl: z.string().min(1),
+ signatureText: z.null().or(z.string().max(0)),
+ }),
+ z.object({
+ signatureDataUrl: z.null().or(z.string().max(0)),
+ signatureText: z.string().min(1),
+ }),
+ ]),
+ );
+
+export type TWidgetFormSchema = z.infer;
+
+export type WidgetProps = HTMLAttributes;
+
+export const Widget = ({ className, children, ...props }: WidgetProps) => {
+ const { toast } = useToast();
+ const event = usePlausible();
+
+ const [step, setStep] = useState<'EMAIL' | 'NAME' | 'SIGN'>('EMAIL');
+ const [showSigningDialog, setShowSigningDialog] = useState(false);
+ const [draftSignatureDataUrl, setDraftSignatureDataUrl] = useState(null);
+
+ const {
+ control,
+ register,
+ handleSubmit,
+ setValue,
+ trigger,
+ watch,
+ formState: { errors, isSubmitting, isValid },
+ } = useForm({
+ mode: 'onChange',
+ defaultValues: {
+ email: '',
+ name: '',
+ signatureDataUrl: null,
+ signatureText: '',
+ },
+ resolver: zodResolver(ZWidgetFormSchema),
+ });
+
+ const signatureDataUrl = watch('signatureDataUrl');
+ const signatureText = watch('signatureText');
+
+ const stepsRemaining = useMemo(() => {
+ if (step === 'NAME') {
+ return 2;
+ }
+
+ if (step === 'SIGN') {
+ return 1;
+ }
+
+ return 3;
+ }, [step]);
+
+ const onNextStepClick = () => {
+ if (step === 'EMAIL') {
+ setStep('NAME');
+
+ setTimeout(() => {
+ document.querySelector('#name')?.focus();
+ }, 0);
+ }
+
+ if (step === 'NAME') {
+ setStep('SIGN');
+
+ setTimeout(() => {
+ document.querySelector('#signatureText')?.focus();
+ }, 0);
+ }
+ };
+
+ const onEnterPress = (callback: () => void) => {
+ return (e: KeyboardEvent) => {
+ if (e.key === 'Enter') {
+ e.preventDefault();
+
+ callback();
+ }
+ };
+ };
+
+ const onSignatureConfirmClick = () => {
+ setValue('signatureDataUrl', draftSignatureDataUrl);
+ setValue('signatureText', '');
+
+ trigger('signatureDataUrl');
+ setShowSigningDialog(false);
+ };
+
+ const onFormSubmit = async ({
+ email,
+ name,
+ signatureDataUrl,
+ signatureText,
+ }: TWidgetFormSchema) => {
+ try {
+ const delay = new Promise((resolve) => setTimeout(resolve, 1000));
+
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ const planId = process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID;
+
+ const claimPlanInput = signatureDataUrl
+ ? {
+ name,
+ email,
+ planId,
+ signatureDataUrl: signatureDataUrl!,
+ signatureText: null,
+ }
+ : {
+ name,
+ email,
+ planId,
+ signatureDataUrl: null,
+ signatureText: signatureText!,
+ };
+
+ const [result] = await Promise.all([claimPlan(claimPlanInput), delay]);
+
+ event('claim-plan-widget');
+
+ window.location.href = result;
+ } catch (error) {
+ event('claim-plan-failed');
+
+ toast({
+ title: 'Something went wrong',
+ description: error instanceof Error ? error.message : 'Please try again later.',
+ variant: 'destructive',
+ });
+ }
+ };
+
+ return (
+ <>
+
+
+
+
+
+
+
+ Add your signature
+
+
+
+ By signing you signal your support of Documenso's mission in a
+ non-legally binding, but heartfelt way .
+ You also unlock the option to purchase the early supporter plan including
+ everything we build this year for fixed price.
+
+
+
+
+
+ setShowSigningDialog(false)}>
+ Cancel
+
+
+ onSignatureConfirmClick()}>Confirm
+
+
+
+ >
+ );
+};
diff --git a/apps/web/src/components/branding/logo.tsx b/apps/web/src/components/branding/logo.tsx
new file mode 100644
index 000000000..6cd4c550c
--- /dev/null
+++ b/apps/web/src/components/branding/logo.tsx
@@ -0,0 +1,30 @@
+import { SVGAttributes } from 'react';
+
+export type LogoProps = SVGAttributes;
+
+export const Logo = ({ ...props }: LogoProps) => {
+ return (
+
+
+
+
+
+
+
+ );
+};
diff --git a/apps/web/src/components/form/form-error-message.tsx b/apps/web/src/components/form/form-error-message.tsx
new file mode 100644
index 000000000..059a2eb83
--- /dev/null
+++ b/apps/web/src/components/form/form-error-message.tsx
@@ -0,0 +1,35 @@
+import { AnimatePresence, motion } from 'framer-motion';
+import { FieldError } from 'react-hook-form';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+export type FormErrorMessageProps = {
+ className?: string;
+ error: FieldError | undefined;
+};
+
+export const FormErrorMessage = ({ error, className }: FormErrorMessageProps) => {
+ return (
+
+ {error && (
+
+ {error.message}
+
+ )}
+
+ );
+};
diff --git a/apps/web/src/components/formatter/document-status.tsx b/apps/web/src/components/formatter/document-status.tsx
new file mode 100644
index 000000000..54feb3bd5
--- /dev/null
+++ b/apps/web/src/components/formatter/document-status.tsx
@@ -0,0 +1,45 @@
+import { HTMLAttributes } from 'react';
+
+import { CheckCircle2, Clock, File, LucideIcon } from 'lucide-react';
+
+import { DocumentStatus as InternalDocumentStatus } from '@documenso/prisma/client';
+import { cn } from '@documenso/ui/lib/utils';
+
+type FriendlyStatus = {
+ label: string;
+ icon: LucideIcon;
+ color: string;
+};
+
+const FRIENDLY_STATUS_MAP: Record = {
+ DRAFT: {
+ label: 'Draft',
+ icon: File,
+ color: 'text-yellow-500',
+ },
+ PENDING: {
+ label: 'Pending',
+ icon: Clock,
+ color: 'text-blue-600',
+ },
+ COMPLETED: {
+ label: 'Completed',
+ icon: CheckCircle2,
+ color: 'text-green-500',
+ },
+};
+
+export type DocumentStatusProps = HTMLAttributes & {
+ status: InternalDocumentStatus;
+};
+
+export const DocumentStatus = ({ className, status, ...props }: DocumentStatusProps) => {
+ const { label, icon: Icon, color } = FRIENDLY_STATUS_MAP[status];
+
+ return (
+
+
+ {label}
+
+ );
+};
diff --git a/apps/web/src/components/formatter/locale-date.tsx b/apps/web/src/components/formatter/locale-date.tsx
new file mode 100644
index 000000000..837c6aa38
--- /dev/null
+++ b/apps/web/src/components/formatter/locale-date.tsx
@@ -0,0 +1,21 @@
+'use client';
+
+import { HTMLAttributes, useEffect, useState } from 'react';
+
+export type LocaleDateProps = HTMLAttributes & {
+ date: string | number | Date;
+};
+
+export const LocaleDate = ({ className, date, ...props }: LocaleDateProps) => {
+ const [localeDate, setLocaleDate] = useState(() => new Date(date).toISOString());
+
+ useEffect(() => {
+ setLocaleDate(new Date(date).toLocaleString());
+ }, [date]);
+
+ return (
+
+ {localeDate}
+
+ );
+};
diff --git a/apps/web/src/components/forms/password.tsx b/apps/web/src/components/forms/password.tsx
new file mode 100644
index 000000000..8c6c09e8d
--- /dev/null
+++ b/apps/web/src/components/forms/password.tsx
@@ -0,0 +1,120 @@
+'use client';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { Loader } from 'lucide-react';
+import { useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+import { User } from '@documenso/prisma/client';
+import { TRPCClientError } from '@documenso/trpc/client';
+import { trpc } from '@documenso/trpc/react';
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+import { Input } from '@documenso/ui/primitives/input';
+import { Label } from '@documenso/ui/primitives/label';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+import { FormErrorMessage } from '../form/form-error-message';
+
+export const ZPasswordFormSchema = z
+ .object({
+ password: z.string().min(6),
+ repeatedPassword: z.string().min(6),
+ })
+ .refine((data) => data.password === data.repeatedPassword, {
+ message: 'Passwords do not match',
+ path: ['repeatedPassword'],
+ });
+
+export type TPasswordFormSchema = z.infer;
+
+export type PasswordFormProps = {
+ className?: string;
+ user: User;
+};
+
+export const PasswordForm = ({ className }: PasswordFormProps) => {
+ const { toast } = useToast();
+
+ const {
+ register,
+ handleSubmit,
+ formState: { errors, isSubmitting },
+ } = useForm({
+ values: {
+ password: '',
+ repeatedPassword: '',
+ },
+ resolver: zodResolver(ZPasswordFormSchema),
+ });
+
+ const { mutateAsync: updatePassword } = trpc.profile.updatePassword.useMutation();
+
+ const onFormSubmit = async ({ password }: TPasswordFormSchema) => {
+ try {
+ await updatePassword({
+ password,
+ });
+
+ toast({
+ title: 'Password updated',
+ description: 'Your password has been updated successfully.',
+ duration: 5000,
+ });
+ } catch (err) {
+ if (err instanceof TRPCClientError && err.data?.code === 'BAD_REQUEST') {
+ toast({
+ title: 'An error occurred',
+ description: err.message,
+ variant: 'destructive',
+ });
+ } else {
+ toast({
+ title: 'An unknown error occurred',
+ variant: 'destructive',
+ description:
+ 'We encountered an unknown error while attempting to sign you In. Please try again later.',
+ });
+ }
+ }
+ };
+
+ return (
+
+ );
+};
diff --git a/apps/web/src/components/forms/profile.tsx b/apps/web/src/components/forms/profile.tsx
new file mode 100644
index 000000000..c619090fd
--- /dev/null
+++ b/apps/web/src/components/forms/profile.tsx
@@ -0,0 +1,130 @@
+'use client';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { Loader } from 'lucide-react';
+import { Controller, useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+import { User } from '@documenso/prisma/client';
+import { TRPCClientError } from '@documenso/trpc/client';
+import { trpc } from '@documenso/trpc/react';
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+import { Input } from '@documenso/ui/primitives/input';
+import { Label } from '@documenso/ui/primitives/label';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+import { FormErrorMessage } from '../form/form-error-message';
+import { SignaturePad } from '../signature-pad';
+
+export const ZProfileFormSchema = z.object({
+ name: z.string().min(1),
+ signature: z.string().min(1),
+});
+
+export type TProfileFormSchema = z.infer;
+
+export type ProfileFormProps = {
+ className?: string;
+ user: User;
+};
+
+export const ProfileForm = ({ className, user }: ProfileFormProps) => {
+ const { toast } = useToast();
+
+ const {
+ register,
+ control,
+ handleSubmit,
+ formState: { errors, isSubmitting },
+ } = useForm({
+ values: {
+ name: user.name ?? '',
+ signature: '',
+ },
+ resolver: zodResolver(ZProfileFormSchema),
+ });
+
+ const { mutateAsync: updateProfile } = trpc.profile.updateProfile.useMutation();
+
+ const onFormSubmit = async ({ name, signature }: TProfileFormSchema) => {
+ try {
+ await updateProfile({
+ name,
+ signature,
+ });
+
+ toast({
+ title: 'Profile updated',
+ description: 'Your profile has been updated successfully.',
+ duration: 5000,
+ });
+ } catch (err) {
+ if (err instanceof TRPCClientError && err.data?.code === 'BAD_REQUEST') {
+ toast({
+ title: 'An error occurred',
+ description: err.message,
+ variant: 'destructive',
+ });
+ } else {
+ toast({
+ title: 'An unknown error occurred',
+ variant: 'destructive',
+ description:
+ 'We encountered an unknown error while attempting to sign you In. Please try again later.',
+ });
+ }
+ }
+ };
+
+ return (
+
+ );
+};
diff --git a/apps/web/src/components/forms/signin.tsx b/apps/web/src/components/forms/signin.tsx
new file mode 100644
index 000000000..57600d143
--- /dev/null
+++ b/apps/web/src/components/forms/signin.tsx
@@ -0,0 +1,130 @@
+'use client';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { Loader } from 'lucide-react';
+import { signIn } from 'next-auth/react';
+import { useForm } from 'react-hook-form';
+import { FcGoogle } from 'react-icons/fc';
+import { z } from 'zod';
+
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+import { Input } from '@documenso/ui/primitives/input';
+import { Label } from '@documenso/ui/primitives/label';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+export const ZSignInFormSchema = z.object({
+ email: z.string().email().min(1),
+ password: z.string().min(1),
+});
+
+export type TSignInFormSchema = z.infer;
+
+export type SignInFormProps = {
+ className?: string;
+};
+
+export const SignInForm = ({ className }: SignInFormProps) => {
+ const { toast } = useToast();
+
+ const {
+ register,
+ handleSubmit,
+ formState: { errors, isSubmitting },
+ } = useForm({
+ values: {
+ email: '',
+ password: '',
+ },
+ resolver: zodResolver(ZSignInFormSchema),
+ });
+
+ const onFormSubmit = async ({ email, password }: TSignInFormSchema) => {
+ try {
+ await signIn('credentials', {
+ email,
+ password,
+ callbackUrl: '/dashboard',
+ }).catch((err) => {
+ console.error(err);
+ });
+
+ // throw new Error('Not implemented');
+ } catch (err) {
+ toast({
+ title: 'An unknown error occurred',
+ description:
+ 'We encountered an unknown error while attempting to sign you In. Please try again later.',
+ });
+ }
+ };
+
+ const onSignInWithGoogleClick = async () => {
+ try {
+ // await signIn('google', { callbackUrl: '/dashboard' });
+ throw new Error('Not implemented');
+ } catch (err) {
+ toast({
+ title: 'An unknown error occurred',
+ description:
+ 'We encountered an unknown error while attempting to sign you In. Please try again later.',
+ variant: 'destructive',
+ });
+ }
+ };
+
+ return (
+
+ );
+};
diff --git a/apps/web/src/components/forms/signup.tsx b/apps/web/src/components/forms/signup.tsx
new file mode 100644
index 000000000..2892d6856
--- /dev/null
+++ b/apps/web/src/components/forms/signup.tsx
@@ -0,0 +1,125 @@
+'use client';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { Loader } from 'lucide-react';
+import { signIn } from 'next-auth/react';
+import { useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+import { TRPCClientError } from '@documenso/trpc/client';
+import { trpc } from '@documenso/trpc/react';
+import { cn } from '@documenso/ui/lib/utils';
+import { Button } from '@documenso/ui/primitives/button';
+import { Input } from '@documenso/ui/primitives/input';
+import { Label } from '@documenso/ui/primitives/label';
+import { useToast } from '@documenso/ui/primitives/use-toast';
+
+import { SignaturePad } from '../signature-pad';
+
+export const ZSignUpFormSchema = z.object({
+ name: z.string().min(1),
+ email: z.string().email().min(1),
+ password: z.string().min(1),
+});
+
+export type TSignUpFormSchema = z.infer;
+
+export type SignUpFormProps = {
+ className?: string;
+};
+
+export const SignUpForm = ({ className }: SignUpFormProps) => {
+ const { toast } = useToast();
+
+ const {
+ register,
+ handleSubmit,
+ formState: { errors, isSubmitting },
+ } = useForm({
+ values: {
+ name: '',
+ email: '',
+ password: '',
+ },
+ resolver: zodResolver(ZSignUpFormSchema),
+ });
+
+ const { mutateAsync: signup } = trpc.auth.signup.useMutation();
+
+ const onFormSubmit = async ({ name, email, password }: TSignUpFormSchema) => {
+ try {
+ await signup({ name, email, password });
+
+ await signIn('credentials', {
+ email,
+ password,
+ callbackUrl: '/',
+ });
+ } catch (err) {
+ if (err instanceof TRPCClientError && err.data?.code === 'BAD_REQUEST') {
+ toast({
+ title: 'An error occurred',
+ description: err.message,
+ variant: 'destructive',
+ });
+ } else {
+ toast({
+ title: 'An unknown error occurred',
+ description:
+ 'We encountered an unknown error while attempting to sign you up. Please try again later.',
+ variant: 'destructive',
+ });
+ }
+ }
+ };
+
+ return (
+
+ );
+};
diff --git a/apps/web/src/components/signature-pad/canvas.ts b/apps/web/src/components/signature-pad/canvas.ts
new file mode 100644
index 000000000..ef573152a
--- /dev/null
+++ b/apps/web/src/components/signature-pad/canvas.ts
@@ -0,0 +1,321 @@
+import { Point } from './point';
+
+export class Canvas {
+ private readonly $canvas: HTMLCanvasElement;
+ private readonly $offscreenCanvas: HTMLCanvasElement;
+
+ private currentCanvasWidth = 0;
+ private currentCanvasHeight = 0;
+
+ private points: Point[] = [];
+ private onChangeHandlers: Array<(_canvas: Canvas, _cleared: boolean) => void> = [];
+
+ private isPressed = false;
+ private lastVelocity = 0;
+
+ private readonly VELOCITY_FILTER_WEIGHT = 0.5;
+ private readonly DPI = 2;
+
+ constructor(canvas: HTMLCanvasElement) {
+ this.$canvas = canvas;
+ this.$offscreenCanvas = document.createElement('canvas');
+
+ const { width, height } = this.$canvas.getBoundingClientRect();
+
+ this.currentCanvasWidth = width * this.DPI;
+ this.currentCanvasHeight = height * this.DPI;
+
+ this.$canvas.width = this.currentCanvasWidth;
+ this.$canvas.height = this.currentCanvasHeight;
+
+ Object.assign(this.$canvas.style, {
+ touchAction: 'none',
+ msTouchAction: 'none',
+ userSelect: 'none',
+ });
+
+ window.addEventListener('resize', this.onResize.bind(this));
+
+ this.$canvas.addEventListener('mousedown', this.onMouseDown.bind(this));
+ this.$canvas.addEventListener('mousemove', this.onMouseMove.bind(this));
+ this.$canvas.addEventListener('mouseup', this.onMouseUp.bind(this));
+ this.$canvas.addEventListener('mouseenter', this.onMouseEnter.bind(this));
+ this.$canvas.addEventListener('mouseleave', this.onMouseLeave.bind(this));
+ this.$canvas.addEventListener('pointerdown', this.onMouseDown.bind(this));
+ this.$canvas.addEventListener('pointermove', this.onMouseMove.bind(this));
+ this.$canvas.addEventListener('pointerup', this.onMouseUp.bind(this));
+ }
+
+ /**
+ * Calculates the minimum stroke width as a percentage of the current canvas suitable for a signature.
+ */
+ private minStrokeWidth(): number {
+ return Math.min(this.currentCanvasWidth, this.currentCanvasHeight) * 0.005;
+ }
+
+ /**
+ * Calculates the maximum stroke width as a percentage of the current canvas suitable for a signature.
+ */
+ private maxStrokeWidth(): number {
+ return Math.min(this.currentCanvasWidth, this.currentCanvasHeight) * 0.035;
+ }
+
+ /**
+ * Retrieves the HTML canvas element.
+ */
+ public getCanvas(): HTMLCanvasElement {
+ return this.$canvas;
+ }
+
+ /**
+ * Retrieves the 2D rendering context of the canvas.
+ * Throws an error if the context is not available.
+ */
+ public getContext(): CanvasRenderingContext2D {
+ const ctx = this.$canvas.getContext('2d');
+
+ if (!ctx) {
+ throw new Error('Canvas context is not available.');
+ }
+
+ ctx.imageSmoothingEnabled = true;
+ ctx.imageSmoothingQuality = 'high';
+
+ return ctx;
+ }
+
+ /**
+ * Handles the resize event of the canvas.
+ * Adjusts the canvas size and preserves the content using image data.
+ */
+ private onResize(): void {
+ const { width, height } = this.$canvas.getBoundingClientRect();
+
+ const oldWidth = this.currentCanvasWidth;
+ const oldHeight = this.currentCanvasHeight;
+
+ const ctx = this.getContext();
+
+ const imageData = ctx.getImageData(0, 0, oldWidth, oldHeight);
+
+ this.$canvas.width = width * this.DPI;
+ this.$canvas.height = height * this.DPI;
+
+ this.currentCanvasWidth = width * this.DPI;
+ this.currentCanvasHeight = height * this.DPI;
+
+ ctx.putImageData(imageData, 0, 0, 0, 0, width * this.DPI, height * this.DPI);
+ }
+
+ /**
+ * Handles the mouse down event on the canvas.
+ * Adds the starting point for the signature.
+ */
+ private onMouseDown(event: MouseEvent | PointerEvent | TouchEvent): void {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ this.isPressed = true;
+
+ const point = Point.fromEvent(event, this.DPI);
+
+ this.addPoint(point);
+ }
+
+ /**
+ * Handles the mouse move event on the canvas.
+ * Adds a point to the signature if the mouse is pressed, based on the sample rate.
+ */
+ private onMouseMove(event: MouseEvent | PointerEvent | TouchEvent): void {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ if (!this.isPressed) {
+ return;
+ }
+
+ const point = Point.fromEvent(event, this.DPI);
+
+ if (point.distanceTo(this.points[this.points.length - 1]) > 10) {
+ this.addPoint(point);
+ }
+ }
+
+ /**
+ * Handles the mouse up event on the canvas.
+ * Adds the final point for the signature and resets the points array.
+ */
+ private onMouseUp(event: MouseEvent | PointerEvent | TouchEvent, addPoint = true): void {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ this.isPressed = false;
+
+ const point = Point.fromEvent(event, this.DPI);
+
+ if (addPoint) {
+ this.addPoint(point);
+ }
+
+ this.onChangeHandlers.forEach((handler) => handler(this, false));
+
+ this.points = [];
+ }
+
+ private onMouseEnter(event: MouseEvent): void {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ event.buttons === 1 && this.onMouseDown(event);
+ }
+
+ private onMouseLeave(event: MouseEvent): void {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ this.onMouseUp(event, false);
+ }
+
+ /**
+ * Adds a point to the signature and performs smoothing and drawing.
+ */
+ private addPoint(point: Point): void {
+ const lastPoint = this.points[this.points.length - 1] ?? point;
+
+ this.points.push(point);
+
+ const smoothedPoints = this.smoothSignature(this.points);
+
+ let velocity = point.velocityFrom(lastPoint);
+ velocity =
+ this.VELOCITY_FILTER_WEIGHT * velocity +
+ (1 - this.VELOCITY_FILTER_WEIGHT) * this.lastVelocity;
+
+ const newWidth =
+ velocity > 0 && this.lastVelocity > 0 ? this.strokeWidth(velocity) : this.minStrokeWidth();
+
+ this.drawSmoothSignature(smoothedPoints, newWidth);
+
+ this.lastVelocity = velocity;
+ }
+
+ /**
+ * Applies a smoothing algorithm to the signature points.
+ */
+ private smoothSignature(points: Point[]): Point[] {
+ const smoothedPoints: Point[] = [];
+
+ const startPoint = points[0];
+ const endPoint = points[points.length - 1];
+
+ smoothedPoints.push(startPoint);
+
+ for (let i = 0; i < points.length - 1; i++) {
+ const p0 = i > 0 ? points[i - 1] : startPoint;
+ const p1 = points[i];
+ const p2 = points[i + 1];
+ const p3 = i < points.length - 2 ? points[i + 2] : endPoint;
+
+ const cp1x = p1.x + (p2.x - p0.x) / 6;
+ const cp1y = p1.y + (p2.y - p0.y) / 6;
+
+ const cp2x = p2.x - (p3.x - p1.x) / 6;
+ const cp2y = p2.y - (p3.y - p1.y) / 6;
+
+ smoothedPoints.push(new Point(cp1x, cp1y));
+ smoothedPoints.push(new Point(cp2x, cp2y));
+ smoothedPoints.push(p2);
+ }
+
+ return smoothedPoints;
+ }
+
+ /**
+ * Draws the smoothed signature on the canvas.
+ */
+ private drawSmoothSignature(points: Point[], width: number): void {
+ const ctx = this.getContext();
+
+ ctx.lineCap = 'round';
+ ctx.lineJoin = 'round';
+
+ ctx.beginPath();
+
+ const startPoint = points[0];
+
+ ctx.moveTo(startPoint.x, startPoint.y);
+
+ ctx.lineWidth = width;
+
+ for (let i = 1; i < points.length; i += 3) {
+ const cp1 = points[i];
+ const cp2 = points[i + 1];
+ const endPoint = points[i + 2];
+
+ ctx.bezierCurveTo(cp1.x, cp1.y, cp2.x, cp2.y, endPoint.x, endPoint.y);
+ }
+
+ ctx.stroke();
+ ctx.closePath();
+ }
+
+ /**
+ * Calculates the stroke width based on the velocity.
+ */
+ private strokeWidth(velocity: number): number {
+ return Math.max(this.maxStrokeWidth() / (velocity + 1), this.minStrokeWidth());
+ }
+
+ public registerOnChangeHandler(handler: (_canvas: Canvas, _cleared: boolean) => void): void {
+ this.onChangeHandlers.push(handler);
+ }
+
+ public unregisterOnChangeHandler(handler: (_canvas: Canvas, _cleared: boolean) => void): void {
+ this.onChangeHandlers = this.onChangeHandlers.filter((l) => l !== handler);
+ }
+
+ /**
+ * Retrieves the signature as a data URL.
+ */
+ public toDataURL(type?: string, quality?: number): string {
+ return this.$canvas.toDataURL(type, quality);
+ }
+
+ /**
+ * Clears the signature from the canvas.
+ */
+ public clear(): void {
+ const ctx = this.getContext();
+
+ ctx.clearRect(0, 0, this.currentCanvasWidth, this.currentCanvasHeight);
+
+ this.onChangeHandlers.forEach((handler) => handler(this, true));
+
+ this.points = [];
+ }
+
+ /**
+ * Retrieves the signature as an image blob.
+ */
+ public toBlob(type?: string, quality?: number): Promise {
+ return new Promise((resolve, reject) => {
+ this.$canvas.toBlob(
+ (blob) => {
+ if (!blob) {
+ reject(new Error('Could not convert canvas to blob.'));
+ return;
+ }
+
+ resolve(blob);
+ },
+ type,
+ quality,
+ );
+ });
+ }
+}
diff --git a/apps/web/src/components/signature-pad/helper.ts b/apps/web/src/components/signature-pad/helper.ts
new file mode 100644
index 000000000..ec4c19a8e
--- /dev/null
+++ b/apps/web/src/components/signature-pad/helper.ts
@@ -0,0 +1,29 @@
+export const average = (a: number, b: number) => (a + b) / 2;
+
+export const getSvgPathFromStroke = (points: number[][], closed = true) => {
+ const len = points.length;
+
+ if (len < 4) {
+ return ``;
+ }
+
+ let a = points[0];
+ let b = points[1];
+ const c = points[2];
+
+ let result = `M${a[0].toFixed(2)},${a[1].toFixed(2)} Q${b[0].toFixed(2)},${b[1].toFixed(
+ 2,
+ )} ${average(b[0], c[0]).toFixed(2)},${average(b[1], c[1]).toFixed(2)} T`;
+
+ for (let i = 2, max = len - 1; i < max; i++) {
+ a = points[i];
+ b = points[i + 1];
+ result += `${average(a[0], b[0]).toFixed(2)},${average(a[1], b[1]).toFixed(2)} `;
+ }
+
+ if (closed) {
+ result += 'Z';
+ }
+
+ return result;
+};
diff --git a/apps/web/src/components/signature-pad/index.ts b/apps/web/src/components/signature-pad/index.ts
new file mode 100644
index 000000000..bfd777f1e
--- /dev/null
+++ b/apps/web/src/components/signature-pad/index.ts
@@ -0,0 +1 @@
+export * from './signature-pad';
diff --git a/apps/web/src/components/signature-pad/point.ts b/apps/web/src/components/signature-pad/point.ts
new file mode 100644
index 000000000..54322f2fb
--- /dev/null
+++ b/apps/web/src/components/signature-pad/point.ts
@@ -0,0 +1,98 @@
+import {
+ MouseEvent as ReactMouseEvent,
+ PointerEvent as ReactPointerEvent,
+ TouchEvent as ReactTouchEvent,
+} from 'react';
+
+export type PointLike = {
+ x: number;
+ y: number;
+ timestamp: number;
+};
+
+const isTouchEvent = (
+ event:
+ | ReactMouseEvent
+ | ReactPointerEvent
+ | ReactTouchEvent
+ | MouseEvent
+ | PointerEvent
+ | TouchEvent,
+): event is TouchEvent | ReactTouchEvent => {
+ return 'touches' in event;
+};
+
+export class Point implements PointLike {
+ public x: number;
+ public y: number;
+ public timestamp: number;
+
+ constructor(x: number, y: number, timestamp?: number) {
+ this.x = x;
+ this.y = y;
+ this.timestamp = timestamp ?? Date.now();
+ }
+
+ public distanceTo(point: PointLike): number {
+ return Math.sqrt(Math.pow(point.x - this.x, 2) + Math.pow(point.y - this.y, 2));
+ }
+
+ public equals(point: PointLike): boolean {
+ return this.x === point.x && this.y === point.y && this.timestamp === point.timestamp;
+ }
+
+ public velocityFrom(start: PointLike): number {
+ const timeDifference = this.timestamp - start.timestamp;
+
+ if (timeDifference !== 0) {
+ return this.distanceTo(start) / timeDifference;
+ }
+
+ return 0;
+ }
+
+ public static fromPointLike({ x, y, timestamp }: PointLike): Point {
+ return new Point(x, y, timestamp);
+ }
+
+ public static fromEvent(
+ event:
+ | ReactMouseEvent
+ | ReactPointerEvent
+ | ReactTouchEvent
+ | MouseEvent
+ | PointerEvent
+ | TouchEvent,
+ dpi = 1,
+ el?: HTMLElement | null,
+ ): Point {
+ const target = el ?? event.target;
+
+ if (!(target instanceof HTMLElement)) {
+ throw new Error('Event target is not an HTMLElement.');
+ }
+
+ const { top, bottom, left, right } = target.getBoundingClientRect();
+
+ let clientX, clientY;
+
+ if (isTouchEvent(event)) {
+ clientX = event.touches[0].clientX;
+ clientY = event.touches[0].clientY;
+ } else {
+ clientX = event.clientX;
+ clientY = event.clientY;
+ }
+
+ // create a new point snapping to the edge of the current target element if it exceeds
+ // the bounding box of the target element
+ let x = Math.min(Math.max(left, clientX), right) - left;
+ let y = Math.min(Math.max(top, clientY), bottom) - top;
+
+ // adjust for DPI
+ x *= dpi;
+ y *= dpi;
+
+ return new Point(x, y);
+ }
+}
diff --git a/apps/web/src/components/signature-pad/signature-pad.tsx b/apps/web/src/components/signature-pad/signature-pad.tsx
new file mode 100644
index 000000000..71262d7bb
--- /dev/null
+++ b/apps/web/src/components/signature-pad/signature-pad.tsx
@@ -0,0 +1,216 @@
+'use client';
+
+import {
+ HTMLAttributes,
+ MouseEvent,
+ PointerEvent,
+ TouchEvent,
+ useEffect,
+ useMemo,
+ useRef,
+ useState,
+} from 'react';
+
+import { StrokeOptions, getStroke } from 'perfect-freehand';
+
+import { cn } from '@documenso/ui/lib/utils';
+
+import { getSvgPathFromStroke } from './helper';
+import { Point } from './point';
+
+const DPI = 2;
+
+export type SignaturePadProps = Omit, 'onChange'> & {
+ onChange?: (_signatureDataUrl: string | null) => void;
+};
+
+export const SignaturePad = ({ className, onChange, ...props }: SignaturePadProps) => {
+ const $el = useRef(null);
+
+ const [isPressed, setIsPressed] = useState(false);
+ const [points, setPoints] = useState([]);
+
+ const perfectFreehandOptions = useMemo(() => {
+ const size = $el.current ? Math.min($el.current.height, $el.current.width) * 0.03 : 10;
+
+ return {
+ size,
+ thinning: 0.25,
+ streamline: 0.5,
+ smoothing: 0.5,
+ end: {
+ taper: size * 2,
+ },
+ } satisfies StrokeOptions;
+ }, []);
+
+ const onMouseDown = (event: MouseEvent | PointerEvent | TouchEvent) => {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ setIsPressed(true);
+
+ const point = Point.fromEvent(event, DPI, $el.current);
+
+ const newPoints = [...points, point];
+
+ setPoints(newPoints);
+
+ if ($el.current) {
+ const ctx = $el.current.getContext('2d');
+
+ if (ctx) {
+ ctx.save();
+
+ ctx.imageSmoothingEnabled = true;
+ ctx.imageSmoothingQuality = 'high';
+
+ const pathData = new Path2D(
+ getSvgPathFromStroke(getStroke(newPoints, perfectFreehandOptions)),
+ );
+
+ ctx.fill(pathData);
+ }
+ }
+ };
+
+ const onMouseMove = (event: MouseEvent | PointerEvent | TouchEvent) => {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ if (!isPressed) {
+ return;
+ }
+
+ const point = Point.fromEvent(event, DPI, $el.current);
+
+ if (point.distanceTo(points[points.length - 1]) > 5) {
+ const newPoints = [...points, point];
+
+ setPoints(newPoints);
+
+ if ($el.current) {
+ const ctx = $el.current.getContext('2d');
+
+ if (ctx) {
+ ctx.restore();
+
+ ctx.imageSmoothingEnabled = true;
+ ctx.imageSmoothingQuality = 'high';
+
+ const pathData = new Path2D(
+ getSvgPathFromStroke(getStroke(points, perfectFreehandOptions)),
+ );
+
+ ctx.fill(pathData);
+ }
+ }
+ }
+ };
+
+ const onMouseUp = (event: MouseEvent | PointerEvent | TouchEvent, addPoint = true) => {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ setIsPressed(false);
+
+ const point = Point.fromEvent(event, DPI, $el.current);
+
+ const newPoints = [...points];
+
+ if (addPoint) {
+ newPoints.push(point);
+
+ setPoints(newPoints);
+ }
+
+ if ($el.current) {
+ const ctx = $el.current.getContext('2d');
+
+ if (ctx) {
+ ctx.restore();
+
+ ctx.imageSmoothingEnabled = true;
+ ctx.imageSmoothingQuality = 'high';
+
+ const pathData = new Path2D(
+ getSvgPathFromStroke(getStroke(newPoints, perfectFreehandOptions)),
+ );
+
+ ctx.fill(pathData);
+
+ ctx.save();
+ }
+
+ onChange?.($el.current.toDataURL());
+ }
+
+ setPoints([]);
+ };
+
+ const onMouseEnter = (event: MouseEvent | PointerEvent | TouchEvent) => {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ if ('buttons' in event && event.buttons === 1) {
+ onMouseDown(event);
+ }
+ };
+
+ const onMouseLeave = (event: MouseEvent | PointerEvent | TouchEvent) => {
+ if (event.cancelable) {
+ event.preventDefault();
+ }
+
+ onMouseUp(event, false);
+ };
+
+ const onClearClick = () => {
+ if ($el.current) {
+ const ctx = $el.current.getContext('2d');
+
+ ctx?.clearRect(0, 0, $el.current.width, $el.current.height);
+ }
+
+ onChange?.(null);
+
+ setPoints([]);
+ };
+
+ useEffect(() => {
+ if ($el.current) {
+ $el.current.width = $el.current.clientWidth * DPI;
+ $el.current.height = $el.current.clientHeight * DPI;
+ }
+ }, []);
+
+ return (
+
+
onMouseMove(event)}
+ onPointerDown={(event) => onMouseDown(event)}
+ onPointerUp={(event) => onMouseUp(event)}
+ onPointerLeave={(event) => onMouseLeave(event)}
+ onPointerEnter={(event) => onMouseEnter(event)}
+ {...props}
+ />
+
+
+ onClearClick()}
+ >
+ Clear Signature
+
+
+
+ );
+};
diff --git a/apps/web/src/components/ui/background.tsx b/apps/web/src/components/ui/background.tsx
new file mode 100644
index 000000000..5763967ec
--- /dev/null
+++ b/apps/web/src/components/ui/background.tsx
@@ -0,0 +1,72 @@
+import { SVGAttributes } from 'react';
+
+export type BackgroundProps = Omit, 'viewBox'>;
+
+export const Background = ({ ...props }: BackgroundProps) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/apps/web/src/hooks/use-copy-to-clipboard.ts b/apps/web/src/hooks/use-copy-to-clipboard.ts
new file mode 100644
index 000000000..d449ded16
--- /dev/null
+++ b/apps/web/src/hooks/use-copy-to-clipboard.ts
@@ -0,0 +1,28 @@
+import { useState } from 'react';
+
+export type CopiedValue = string | null;
+export type CopyFn = (_text: string) => Promise;
+
+export function useCopyToClipboard(): [CopiedValue, CopyFn] {
+ const [copiedText, setCopiedText] = useState(null);
+
+ const copy: CopyFn = async (text) => {
+ if (!navigator?.clipboard) {
+ console.warn('Clipboard not supported');
+ return false;
+ }
+
+ // Try to save to clipboard then save it in the state if worked
+ try {
+ await navigator.clipboard.writeText(text);
+ setCopiedText(text);
+ return true;
+ } catch (error) {
+ console.warn('Copy failed', error);
+ setCopiedText(null);
+ return false;
+ }
+ };
+
+ return [copiedText, copy];
+}
diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts
new file mode 100644
index 000000000..8aabb75ea
--- /dev/null
+++ b/apps/web/src/middleware.ts
@@ -0,0 +1,25 @@
+import { NextRequest, NextResponse } from 'next/server';
+
+export default async function middleware(req: NextRequest) {
+ if (req.nextUrl.pathname === '/') {
+ const redirectUrl = new URL('/dashboard', req.url);
+
+ return NextResponse.redirect(redirectUrl);
+ }
+
+ // if (req.nextUrl.pathname.startsWith('/dashboard')) {
+ // const token = await getToken({ req });
+
+ // console.log('token', token);
+
+ // if (!token) {
+ // console.log('has no token', req.url);
+ // const redirectUrl = new URL('/signin', req.url);
+ // redirectUrl.searchParams.set('callbackUrl', req.url);
+
+ // return NextResponse.redirect(redirectUrl);
+ // }
+ // }
+
+ return NextResponse.next();
+}
diff --git a/apps/web/src/pages/api/auth/[...nextauth].ts b/apps/web/src/pages/api/auth/[...nextauth].ts
new file mode 100644
index 000000000..4039703b8
--- /dev/null
+++ b/apps/web/src/pages/api/auth/[...nextauth].ts
@@ -0,0 +1,17 @@
+// import { NextApiRequest, NextApiResponse } from 'next';
+import NextAuth from 'next-auth';
+
+import { NEXT_AUTH_OPTIONS } from '@documenso/lib/next-auth/auth-options';
+
+export default NextAuth({
+ ...NEXT_AUTH_OPTIONS,
+ pages: {
+ signIn: '/signin',
+ signOut: '/signout',
+ error: '/signin',
+ },
+});
+
+// export default async function handler(_req: NextApiRequest, res: NextApiResponse) {
+// res.json({ hello: 'world' });
+// }
diff --git a/apps/web/src/pages/api/claim-plan/index.ts b/apps/web/src/pages/api/claim-plan/index.ts
new file mode 100644
index 000000000..a2e4108d2
--- /dev/null
+++ b/apps/web/src/pages/api/claim-plan/index.ts
@@ -0,0 +1,128 @@
+import { NextApiRequest, NextApiResponse } from 'next';
+
+import { randomUUID } from 'crypto';
+
+import { hashSync } from '@documenso/lib/server-only/auth/hash';
+import { redis } from '@documenso/lib/server-only/redis';
+import { stripe } from '@documenso/lib/server-only/stripe';
+import { prisma } from '@documenso/prisma';
+
+import { TClaimPlanResponseSchema, ZClaimPlanRequestSchema } from '~/api/claim-plan/types';
+
+export default async function handler(
+ req: NextApiRequest,
+ res: NextApiResponse,
+) {
+ try {
+ const { method } = req;
+
+ if (method?.toUpperCase() !== 'POST') {
+ return res.status(405).json({
+ error: 'Method not allowed',
+ });
+ }
+
+ const safeBody = ZClaimPlanRequestSchema.safeParse(req.body);
+
+ if (!safeBody.success) {
+ return res.status(400).json({
+ error: 'Bad request',
+ });
+ }
+
+ const { email, name, planId, signatureDataUrl, signatureText } = safeBody.data;
+
+ const user = await prisma.user.findFirst({
+ where: {
+ email: email.toLowerCase(),
+ },
+ include: {
+ Subscription: true,
+ },
+ });
+
+ if (user && user.Subscription.length > 0) {
+ return res.status(200).json({
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ redirectUrl: `${process.env.NEXT_PUBLIC_APP_URL}/login`,
+ });
+ }
+
+ const password = Math.random().toString(36).slice(2, 9);
+ const passwordHash = hashSync(password);
+
+ const { id: userId } = await prisma.user.upsert({
+ where: {
+ email: email.toLowerCase(),
+ },
+ create: {
+ email: email.toLowerCase(),
+ name,
+ password: passwordHash,
+ },
+ update: {
+ name,
+ password: passwordHash,
+ },
+ });
+
+ await redis.set(`user:${userId}:temp-password`, password, {
+ // expire in 24 hours
+ ex: 60 * 60 * 24,
+ });
+
+ const signatureDataUrlKey = randomUUID();
+
+ if (signatureDataUrl) {
+ await redis.set(`signature:${signatureDataUrlKey}`, signatureDataUrl, {
+ // expire in 7 days
+ ex: 60 * 60 * 24 * 7,
+ });
+ }
+
+ const metadata: Record = {
+ name,
+ email,
+ signatureText: signatureText || name,
+ source: 'landing',
+ };
+
+ if (signatureDataUrl) {
+ metadata.signatureDataUrl = signatureDataUrlKey;
+ }
+
+ const checkout = await stripe.checkout.sessions.create({
+ customer_email: email,
+ client_reference_id: userId.toString(),
+ payment_method_types: ['card'],
+ line_items: [
+ {
+ price: planId,
+ quantity: 1,
+ },
+ ],
+ mode: 'subscription',
+ metadata,
+ allow_promotion_codes: true,
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ success_url: `${process.env.NEXT_PUBLIC_SITE_URL}/claimed?sessionId={CHECKOUT_SESSION_ID}`,
+ cancel_url: `${process.env.NEXT_PUBLIC_SITE_URL}/pricing?email=${encodeURIComponent(
+ email,
+ )}&name=${encodeURIComponent(name)}&planId=${planId}&cancelled=true`,
+ });
+
+ if (!checkout.url) {
+ throw new Error('Checkout URL not found');
+ }
+
+ return res.json({
+ redirectUrl: checkout.url,
+ });
+ } catch (error) {
+ console.error(error);
+
+ return res.status(500).json({
+ error: 'Internal server error',
+ });
+ }
+}
diff --git a/apps/web/src/pages/api/document/create.ts b/apps/web/src/pages/api/document/create.ts
new file mode 100644
index 000000000..eca08b28f
--- /dev/null
+++ b/apps/web/src/pages/api/document/create.ts
@@ -0,0 +1,90 @@
+import { NextApiRequest, NextApiResponse } from 'next';
+
+import formidable from 'formidable';
+import { type File } from 'formidable';
+import { readFileSync } from 'fs';
+import { z } from 'zod';
+
+import { getServerSession } from '@documenso/lib/next-auth/get-server-session';
+import { prisma } from '@documenso/prisma';
+import { DocumentStatus } from '@documenso/prisma/client';
+
+import {
+ TCreateDocumentRequestSchema,
+ TCreateDocumentResponseSchema,
+} from '~/api/document/create/types';
+
+export const config = {
+ api: {
+ bodyParser: false,
+ },
+};
+
+export type TFormidableCreateDocumentRequestSchema = {
+ file: File;
+};
+
+export default async function handler(
+ req: NextApiRequest,
+ res: NextApiResponse,
+) {
+ const user = await getServerSession({ req, res });
+
+ if (!user) {
+ return res.status(401).json({
+ error: 'Unauthorized',
+ });
+ }
+
+ try {
+ const form = formidable();
+
+ const { file } = await new Promise(
+ (resolve, reject) => {
+ form.parse(req, (err, fields, files) => {
+ if (err) {
+ reject(err);
+ }
+
+ // We had intended to do this with Zod but we can only validate it
+ // as a persistent file which does not include the properties that we
+ // need.
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
+ resolve({ ...fields, ...files } as any);
+ });
+ },
+ );
+
+ const fileBuffer = readFileSync(file.filepath);
+
+ const document = await prisma.document.create({
+ data: {
+ title: file.originalFilename ?? file.newFilename,
+ status: DocumentStatus.DRAFT,
+ userId: user.id,
+ document: fileBuffer.toString('base64'),
+ created: new Date(),
+ },
+ });
+
+ return res.status(200).json({
+ id: document.id,
+ });
+ } catch (err) {
+ console.error(err);
+
+ return res.status(500).json({
+ error: 'Internal server error',
+ });
+ }
+}
+
+/**
+ * This is a hack to ensure that the types are correct.
+ */
+type FormidableSatisfiesCreateDocument =
+ keyof TCreateDocumentRequestSchema extends keyof TFormidableCreateDocumentRequestSchema
+ ? true
+ : never;
+
+true satisfies FormidableSatisfiesCreateDocument;
diff --git a/apps/web/src/pages/api/stripe/webhook/index.ts b/apps/web/src/pages/api/stripe/webhook/index.ts
new file mode 100644
index 000000000..5db47c89a
--- /dev/null
+++ b/apps/web/src/pages/api/stripe/webhook/index.ts
@@ -0,0 +1,173 @@
+import { NextApiRequest, NextApiResponse } from 'next';
+
+import { randomBytes } from 'crypto';
+import { readFileSync } from 'fs';
+import { buffer } from 'micro';
+
+import { insertImageInPDF } from '@documenso/lib/server-only/pdf/insert-image-in-pdf';
+import { insertTextInPDF } from '@documenso/lib/server-only/pdf/insert-text-in-pdf';
+import { redis } from '@documenso/lib/server-only/redis';
+import { Stripe, stripe } from '@documenso/lib/server-only/stripe';
+import { prisma } from '@documenso/prisma';
+import {
+ DocumentStatus,
+ FieldType,
+ ReadStatus,
+ SendStatus,
+ SigningStatus,
+} from '@documenso/prisma/client';
+
+const log = (...args: any[]) => console.log('[stripe]', ...args);
+
+export const config = {
+ api: { bodyParser: false },
+};
+
+export default async function handler(req: NextApiRequest, res: NextApiResponse) {
+ // eslint-disable-next-line turbo/no-undeclared-env-vars
+ // if (!process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS) {
+ // return res.status(500).json({
+ // success: false,
+ // message: 'Subscriptions are not enabled',
+ // });
+ // }
+
+ const sig =
+ typeof req.headers['stripe-signature'] === 'string' ? req.headers['stripe-signature'] : '';
+
+ if (!sig) {
+ return res.status(400).json({
+ success: false,
+ message: 'No signature found in request',
+ });
+ }
+
+ log('constructing body...');
+ const body = await buffer(req);
+ log('constructed body');
+
+ const event = stripe.webhooks.constructEvent(
+ body,
+ sig,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, turbo/no-undeclared-env-vars
+ process.env.NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET!,
+ );
+ log('event-type:', event.type);
+
+ if (event.type === 'checkout.session.completed') {
+ const session = event.data.object as Stripe.Checkout.Session;
+
+ if (session.metadata?.source === 'landing') {
+ const user = await prisma.user.findFirst({
+ where: {
+ id: Number(session.client_reference_id),
+ },
+ });
+
+ if (!user) {
+ return res.status(500).json({
+ success: false,
+ message: 'User not found',
+ });
+ }
+
+ const signatureText = session.metadata?.signatureText || user.name;
+ let signatureDataUrl = '';
+
+ if (session.metadata?.signatureDataUrl) {
+ const result = await redis.get(`signature:${session.metadata.signatureDataUrl}`);
+
+ if (result) {
+ signatureDataUrl = result;
+ }
+ }
+
+ const now = new Date();
+
+ const document = await prisma.document.create({
+ data: {
+ title: 'Documenso Supporter Pledge.pdf',
+ status: DocumentStatus.COMPLETED,
+ userId: user.id,
+ document: readFileSync('./public/documenso-supporter-pledge.pdf').toString('base64'),
+ created: now,
+ },
+ });
+
+ const recipient = await prisma.recipient.create({
+ data: {
+ name: user.name ?? '',
+ email: user.email,
+ token: randomBytes(16).toString('hex'),
+ signedAt: now,
+ readStatus: ReadStatus.OPENED,
+ sendStatus: SendStatus.SENT,
+ signingStatus: SigningStatus.SIGNED,
+ documentId: document.id,
+ },
+ });
+
+ const field = await prisma.field.create({
+ data: {
+ documentId: document.id,
+ recipientId: recipient.id,
+ type: FieldType.SIGNATURE,
+ page: 0,
+ positionX: 77,
+ positionY: 638,
+ inserted: false,
+ customText: '',
+ },
+ });
+
+ if (signatureDataUrl) {
+ document.document = await insertImageInPDF(
+ document.document,
+ signatureDataUrl,
+ field.positionX,
+ field.positionY,
+ field.page,
+ );
+ } else {
+ document.document = await insertTextInPDF(
+ document.document,
+ signatureText ?? '',
+ field.positionX,
+ field.positionY,
+ field.page,
+ );
+ }
+
+ await Promise.all([
+ prisma.signature.create({
+ data: {
+ fieldId: field.id,
+ recipientId: recipient.id,
+ signatureImageAsBase64: signatureDataUrl || undefined,
+ typedSignature: signatureDataUrl ? '' : signatureText,
+ },
+ }),
+ prisma.document.update({
+ where: {
+ id: document.id,
+ },
+ data: {
+ document: document.document,
+ },
+ }),
+ ]);
+ }
+
+ return res.status(200).json({
+ success: true,
+ message: 'Webhook received',
+ });
+ }
+
+ log('Unhandled webhook event', event.type);
+
+ return res.status(400).json({
+ success: false,
+ message: 'Unhandled webhook event',
+ });
+}
diff --git a/apps/web/src/pages/api/trpc/[trpc].ts b/apps/web/src/pages/api/trpc/[trpc].ts
new file mode 100644
index 000000000..1cd759201
--- /dev/null
+++ b/apps/web/src/pages/api/trpc/[trpc].ts
@@ -0,0 +1,12 @@
+import * as trpcNext from '@documenso/trpc/server/adapters/next';
+import { createTrpcContext } from '@documenso/trpc/server/context';
+import { appRouter } from '@documenso/trpc/server/router';
+
+export default trpcNext.createNextApiHandler({
+ router: appRouter,
+ createContext: ({ req, res }) => createTrpcContext({ req, res }),
+});
+
+// export default async function handler(_req: NextApiRequest, res: NextApiResponse) {
+// res.json({ hello: 'world' });
+// }
diff --git a/apps/web/src/providers/next-auth.tsx b/apps/web/src/providers/next-auth.tsx
new file mode 100644
index 000000000..8f7d099a5
--- /dev/null
+++ b/apps/web/src/providers/next-auth.tsx
@@ -0,0 +1,15 @@
+'use client';
+
+import React from 'react';
+
+import { Session } from 'next-auth';
+import { SessionProvider } from 'next-auth/react';
+
+export type NextAuthProviderProps = {
+ session?: Session | null;
+ children: React.ReactNode;
+};
+
+export const NextAuthProvider = ({ session, children }: NextAuthProviderProps) => {
+ return {children} ;
+};
diff --git a/apps/web/src/providers/plausible.tsx b/apps/web/src/providers/plausible.tsx
new file mode 100644
index 000000000..dceaa4d93
--- /dev/null
+++ b/apps/web/src/providers/plausible.tsx
@@ -0,0 +1,13 @@
+'use client';
+
+import React from 'react';
+
+import NextPlausibleProvider from 'next-plausible';
+
+export type PlausibleProviderProps = {
+ children: React.ReactNode;
+};
+
+export const PlausibleProvider = ({ children }: PlausibleProviderProps) => {
+ return {children} ;
+};
diff --git a/apps/web/styles/tailwind.css b/apps/web/styles/tailwind.css
deleted file mode 100644
index fcae13ac3..000000000
--- a/apps/web/styles/tailwind.css
+++ /dev/null
@@ -1,8 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-#__next {
- min-height: 100%;
-}
-
diff --git a/apps/web/tailwind.config.js b/apps/web/tailwind.config.js
index ee8e474dc..c7f6f1a19 100644
--- a/apps/web/tailwind.config.js
+++ b/apps/web/tailwind.config.js
@@ -1,84 +1,11 @@
-const defaultTheme = require("tailwindcss/defaultTheme");
-
-/** @type {import('tailwindcss').Config} */
-const colors = require("tailwindcss/colors");
+/* eslint-disable @typescript-eslint/no-var-requires */
+const baseConfig = require('@documenso/tailwind-config');
+const path = require('path');
module.exports = {
+ ...baseConfig,
content: [
- "./pages/**/*.{js,ts,jsx,tsx}",
- "./components/**/*.{js,ts,jsx,tsx}",
- "../../packages/ui/**/*.{js,ts,jsx,tsx}",
+ ...baseConfig.content,
+ `${path.join(require.resolve('@documenso/ui'), '..')}/**/*.{ts,tsx}`,
],
- theme: {
- extend: {
- fontFamily: {
- sans: ["var(--font-sans)", ...defaultTheme.fontFamily.sans],
- qwigley: ["var(--font-qwigley)", "serif"],
- },
- colors: {
- neon: {
- DEFAULT: "#37F095",
- 50: "#E2FDF0",
- 100: "#CFFBE5",
- 200: "#A9F9D1",
- 300: "#83F6BD",
- 400: "#5DF3A9",
- 500: "#37F095",
- 600: "#11DE79",
- 700: "#0DAA5D",
- 800: "#097640",
- 900: "#054224",
- 950: "#032816",
- },
- "neon-dark": {
- DEFAULT: "#2CC077",
- 50: "#B5EED2",
- 100: "#A5EAC8",
- 200: "#84E3B4",
- 300: "#62DBA0",
- 400: "#41D48B",
- 500: "#2CC077",
- 600: "#22925B",
- 700: "#17653E",
- 800: "#0D3722",
- 900: "#020906",
- 950: "#000000",
- },
- brown: {
- DEFAULT: "#353434",
- 50: "#918F8F",
- 100: "#878585",
- 200: "#737171",
- 300: "#5E5C5C",
- 400: "#4A4848",
- 500: "#353434",
- 600: "#191818",
- 700: "#000000",
- 800: "#000000",
- 900: "#000000",
- 950: "#000000",
- },
- brand: {
- DEFAULT: "#A2E771",
- 100: "#F4FCEE",
- 200: "#E8F9DC",
- 300: "#D1F3B9",
- 400: "#BBED96",
- 500: "#A2E771",
- 600: "#8DE151",
- 700: "#76DC2E",
- 800: "#63C021",
- 900: "#519D1B",
- 950: "#488C18",
- },
- },
- borderRadius: {
- "4xl": "2rem",
- },
- maxWidth: {
- "2xl": "40rem",
- },
- plugins: [require("@tailwindcss/forms")],
- },
- },
};
diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json
index 63ce8361b..47acf99dc 100644
--- a/apps/web/tsconfig.json
+++ b/apps/web/tsconfig.json
@@ -1,26 +1,26 @@
{
+ "extends": "@documenso/tsconfig/nextjs.json",
"compilerOptions": {
- "target": "es5",
- "lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
- "skipLibCheck": true,
- "strict": true,
- "forceConsistentCasingInFileNames": true,
- "noEmit": true,
- "esModuleInterop": true,
- "module": "esnext",
- "moduleResolution": "node",
- "resolveJsonModule": true,
- "isolatedModules": true,
- "jsx": "preserve",
- "incremental": true
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "paths": {
+ "~/*": [
+ "./src/*"
+ ]
+ },
+ "strictNullChecks": true
},
"include": [
"next-env.d.ts",
- "../../packages/types/*.d.ts",
- "../../packages/types/next-auth.d.ts",
"**/*.ts",
- "**/*.tsx"
-, "../../packages/lib/process-env.d.ts" ],
- "exclude": ["node_modules"]
+ "**/*.tsx",
+ ".next/types/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ]
}
diff --git a/package-lock.json b/package-lock.json
index 58413f46a..10b321418 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,131 +1,112 @@
{
- "name": "documenso-monorepo",
- "version": "0.0.0",
+ "name": "documenso.next",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
- "name": "documenso-monorepo",
- "version": "0.0.0",
+ "name": "documenso.next",
"workspaces": [
"apps/*",
"packages/*"
],
+ "devDependencies": {
+ "dotenv": "^16.0.3",
+ "dotenv-cli": "^7.2.1",
+ "eslint": "^7.32.0",
+ "eslint-config-custom": "*",
+ "prettier": "^2.5.1",
+ "turbo": "^1.9.3"
+ }
+ },
+ "apps/marketing": {
+ "name": "@documenso/marketing",
+ "version": "0.1.0",
+ "license": "AGPL-3.0",
"dependencies": {
- "@documenso/prisma": "*",
- "@headlessui/react": "^1.7.4",
- "@heroicons/react": "^2.0.13",
+ "@documenso/lib": "*",
+ "@documenso/tailwind-config": "*",
+ "@documenso/trpc": "*",
+ "@documenso/ui": "*",
"@hookform/resolvers": "^3.1.0",
- "avatar-from-initials": "^1.0.3",
- "bcryptjs": "^2.4.3",
- "next": "13.2.4",
- "next-auth": ">=4.20.1",
- "pdf-lib": "^1.17.1",
+ "framer-motion": "^10.12.8",
+ "lucide-react": "^0.214.0",
+ "micro": "^10.0.1",
+ "next": "13.4.1",
+ "next-auth": "^4.22.1",
+ "next-plausible": "^3.7.2",
+ "perfect-freehand": "^1.2.0",
"react": "18.2.0",
"react-dom": "18.2.0",
- "react-hook-form": "^7.41.5",
- "react-hot-toast": "^2.4.0",
- "react-signature-canvas": "^1.0.6",
+ "react-hook-form": "^7.43.9",
+ "react-icons": "^4.8.0",
+ "typescript": "5.0.4",
"zod": "^3.21.4"
},
"devDependencies": {
- "@changesets/cli": "^2.26.2",
- "@tailwindcss/forms": "^0.5.3",
- "@trivago/prettier-plugin-sort-imports": "^4.1.1",
- "@types/bcryptjs": "^2.4.2",
- "@types/node": "18.11.9",
- "@types/react-dom": "18.0.9",
- "@types/react-signature-canvas": "^1.0.2",
- "dotenv": "^16.0.3",
- "eslint": "8.27.0",
- "eslint-config-next": "13.0.3",
- "next-transpile-modules": "^10.0.0",
- "npm-run-all": "^4.1.5",
- "prettier": "^2.8.7",
- "prettier-plugin-tailwindcss": "^0.2.5",
- "turbo": "^1.9.9",
- "typescript": "4.8.4"
+ "@types/node": "20.1.0",
+ "@types/react": "18.2.6",
+ "@types/react-dom": "18.2.4"
}
},
"apps/web": {
"name": "@documenso/web",
"version": "0.1.0",
+ "license": "AGPL-3.0",
"dependencies": {
"@documenso/lib": "*",
- "@documenso/pdf": "*",
"@documenso/prisma": "*",
+ "@documenso/tailwind-config": "*",
+ "@documenso/trpc": "*",
"@documenso/ui": "*",
- "@headlessui/react": "^1.7.4",
- "@heroicons/react": "^2.0.13",
- "@pdf-lib/fontkit": "^1.1.1",
- "avatar-from-initials": "^1.0.3",
- "base64-arraybuffer": "^1.0.2",
- "bcryptjs": "^2.4.3",
- "formidable": "^3.2.5",
- "next": "13.2.4",
- "next-auth": "^4.22.0",
- "node-forge": "^1.3.1",
- "node-signpdf": "^1.5.0",
- "nodemailer": "^6.9.0",
- "nodemailer-sendgrid": "^1.0.3",
- "pdf-lib": "^1.17.1",
- "placeholder-loading": "^0.6.0",
+ "@hookform/resolvers": "^3.1.0",
+ "@tanstack/react-query": "^4.29.5",
+ "formidable": "^2.1.1",
+ "framer-motion": "^10.12.8",
+ "lucide-react": "^0.214.0",
+ "micro": "^10.0.1",
+ "next": "13.4.1",
+ "next-auth": "^4.22.1",
+ "next-plausible": "^3.7.2",
+ "perfect-freehand": "^1.2.0",
"react": "18.2.0",
"react-dom": "18.2.0",
- "react-draggable": "^4.4.5",
- "react-hook-form": "^7.41.5",
- "react-pdf": "^6.2.2",
- "react-resizable": "^3.0.4",
- "react-tooltip": "^5.7.2",
- "short-uuid": "^4.2.2",
- "string-to-color": "^2.2.2"
+ "react-dropzone": "^14.2.3",
+ "react-hook-form": "^7.43.9",
+ "react-icons": "^4.8.0",
+ "react-pdf": "^7.1.1",
+ "typescript": "5.0.4",
+ "zod": "^3.21.4"
},
"devDependencies": {
- "@tailwindcss/forms": "^0.5.3",
- "@types/bcryptjs": "^2.4.2",
- "@types/filesystem": "^0.0.32",
- "@types/formidable": "^2.0.5",
- "@types/node": "^18.11.18",
- "@types/nodemailer": "^6.4.7",
- "@types/nodemailer-sendgrid": "^1.0.0",
- "@types/react-dom": "18.0.9",
- "@types/react-pdf": "^6.2.0",
- "@types/react-resizable": "^3.0.3",
- "autoprefixer": "^10.4.13",
- "dotenv": "^16.0.3",
- "eslint": "8.27.0",
- "eslint-config-next": "13.0.3",
- "file-loader": "^6.2.0",
- "postcss": "^8.4.19",
- "sass": "^1.57.1",
- "stripe-cli": "^0.1.0",
- "tailwindcss": "^3.2.4",
- "typescript": "4.8.4"
+ "@types/formidable": "^2.0.6",
+ "@types/node": "20.1.0",
+ "@types/react": "18.2.6",
+ "@types/react-dom": "18.2.4"
}
},
- "apps/web/node_modules/@types/node": {
- "version": "18.15.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz",
- "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
- "dev": true
+ "node_modules/@alloc/quick-lru": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
"node_modules/@babel/code-frame": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz",
- "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==",
- "dev": true,
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dependencies": {
- "@babel/highlight": "^7.18.6"
- },
- "engines": {
- "node": ">=6.9.0"
+ "@babel/highlight": "^7.10.4"
}
},
"node_modules/@babel/generator": {
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
"integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
- "dev": true,
"dependencies": {
"@babel/types": "^7.17.0",
"jsesc": "^2.5.1",
@@ -135,20 +116,10 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/generator/node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@babel/helper-environment-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
- "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
- "dev": true,
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz",
+ "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==",
"engines": {
"node": ">=6.9.0"
}
@@ -157,7 +128,6 @@
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz",
"integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==",
- "dev": true,
"dependencies": {
"@babel/template": "^7.20.7",
"@babel/types": "^7.21.0"
@@ -167,12 +137,11 @@
}
},
"node_modules/@babel/helper-function-name/node_modules/@babel/types": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz",
- "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==",
- "dev": true,
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+ "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
"dependencies": {
- "@babel/helper-string-parser": "^7.19.4",
+ "@babel/helper-string-parser": "^7.21.5",
"@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
},
@@ -184,7 +153,6 @@
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
"integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
- "dev": true,
"dependencies": {
"@babel/types": "^7.18.6"
},
@@ -193,12 +161,11 @@
}
},
"node_modules/@babel/helper-hoist-variables/node_modules/@babel/types": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz",
- "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==",
- "dev": true,
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+ "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
"dependencies": {
- "@babel/helper-string-parser": "^7.19.4",
+ "@babel/helper-string-parser": "^7.21.5",
"@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
},
@@ -210,7 +177,6 @@
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
"integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
- "dev": true,
"dependencies": {
"@babel/types": "^7.18.6"
},
@@ -219,12 +185,11 @@
}
},
"node_modules/@babel/helper-split-export-declaration/node_modules/@babel/types": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz",
- "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==",
- "dev": true,
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+ "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
"dependencies": {
- "@babel/helper-string-parser": "^7.19.4",
+ "@babel/helper-string-parser": "^7.21.5",
"@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
},
@@ -233,10 +198,9 @@
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
- "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
- "dev": true,
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz",
+ "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==",
"engines": {
"node": ">=6.9.0"
}
@@ -245,7 +209,6 @@
"version": "7.19.1",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
"integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
- "dev": true,
"engines": {
"node": ">=6.9.0"
}
@@ -254,7 +217,6 @@
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
"integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
- "dev": true,
"dependencies": {
"@babel/helper-validator-identifier": "^7.18.6",
"chalk": "^2.0.0",
@@ -268,7 +230,6 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -280,7 +241,6 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -294,7 +254,6 @@
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
"dependencies": {
"color-name": "1.1.3"
}
@@ -302,14 +261,12 @@
"node_modules/@babel/highlight/node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
},
"node_modules/@babel/highlight/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
"engines": {
"node": ">=0.8.0"
}
@@ -318,7 +275,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -327,7 +283,6 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
"dependencies": {
"has-flag": "^3.0.0"
},
@@ -336,10 +291,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz",
- "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==",
- "dev": true,
+ "version": "7.21.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz",
+ "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -348,9 +302,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
- "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz",
+ "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==",
"dependencies": {
"regenerator-runtime": "^0.13.11"
},
@@ -362,7 +316,6 @@
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
"integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
- "dev": true,
"dependencies": {
"@babel/code-frame": "^7.18.6",
"@babel/parser": "^7.20.7",
@@ -372,13 +325,23 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/template/node_modules/@babel/types": {
+ "node_modules/@babel/template/node_modules/@babel/code-frame": {
"version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz",
- "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz",
+ "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==",
"dependencies": {
- "@babel/helper-string-parser": "^7.19.4",
+ "@babel/highlight": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template/node_modules/@babel/types": {
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+ "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.21.5",
"@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
},
@@ -390,7 +353,6 @@
"version": "7.17.3",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz",
"integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==",
- "dev": true,
"dependencies": {
"@babel/code-frame": "^7.16.7",
"@babel/generator": "^7.17.3",
@@ -407,11 +369,21 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/traverse/node_modules/@babel/code-frame": {
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz",
+ "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==",
+ "dependencies": {
+ "@babel/highlight": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/traverse/node_modules/globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -420,7 +392,6 @@
"version": "7.17.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
"integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
- "dev": true,
"dependencies": {
"@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0"
@@ -429,603 +400,36 @@
"node": ">=6.9.0"
}
},
- "node_modules/@changesets/apply-release-plan": {
- "version": "6.1.4",
- "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-6.1.4.tgz",
- "integrity": "sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.20.1",
- "@changesets/config": "^2.3.1",
- "@changesets/get-version-range-type": "^0.3.2",
- "@changesets/git": "^2.0.0",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "detect-indent": "^6.0.0",
- "fs-extra": "^7.0.1",
- "lodash.startcase": "^4.4.0",
- "outdent": "^0.5.0",
- "prettier": "^2.7.1",
- "resolve-from": "^5.0.0",
- "semver": "^7.5.3"
- }
- },
- "node_modules/@changesets/apply-release-plan/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@changesets/assemble-release-plan": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-5.2.4.tgz",
- "integrity": "sha512-xJkWX+1/CUaOUWTguXEbCDTyWJFECEhmdtbkjhn5GVBGxdP/JwaHBIU9sW3FR6gD07UwZ7ovpiPclQZs+j+mvg==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.20.1",
- "@changesets/errors": "^0.1.4",
- "@changesets/get-dependents-graph": "^1.3.6",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "semver": "^7.5.3"
- }
- },
- "node_modules/@changesets/changelog-git": {
- "version": "0.1.14",
- "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.1.14.tgz",
- "integrity": "sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==",
- "dev": true,
- "dependencies": {
- "@changesets/types": "^5.2.1"
- }
- },
- "node_modules/@changesets/cli": {
- "version": "2.26.2",
- "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.26.2.tgz",
- "integrity": "sha512-dnWrJTmRR8bCHikJHl9b9HW3gXACCehz4OasrXpMp7sx97ECuBGGNjJhjPhdZNCvMy9mn4BWdplI323IbqsRig==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.20.1",
- "@changesets/apply-release-plan": "^6.1.4",
- "@changesets/assemble-release-plan": "^5.2.4",
- "@changesets/changelog-git": "^0.1.14",
- "@changesets/config": "^2.3.1",
- "@changesets/errors": "^0.1.4",
- "@changesets/get-dependents-graph": "^1.3.6",
- "@changesets/get-release-plan": "^3.0.17",
- "@changesets/git": "^2.0.0",
- "@changesets/logger": "^0.0.5",
- "@changesets/pre": "^1.0.14",
- "@changesets/read": "^0.5.9",
- "@changesets/types": "^5.2.1",
- "@changesets/write": "^0.2.3",
- "@manypkg/get-packages": "^1.1.3",
- "@types/is-ci": "^3.0.0",
- "@types/semver": "^7.5.0",
- "ansi-colors": "^4.1.3",
- "chalk": "^2.1.0",
- "enquirer": "^2.3.0",
- "external-editor": "^3.1.0",
- "fs-extra": "^7.0.1",
- "human-id": "^1.0.2",
- "is-ci": "^3.0.1",
- "meow": "^6.0.0",
- "outdent": "^0.5.0",
- "p-limit": "^2.2.0",
- "preferred-pm": "^3.0.0",
- "resolve-from": "^5.0.0",
- "semver": "^7.5.3",
- "spawndamnit": "^2.0.0",
- "term-size": "^2.1.0",
- "tty-table": "^4.1.5"
- },
- "bin": {
- "changeset": "bin.js"
- }
- },
- "node_modules/@changesets/cli/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/cli/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/cli/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@changesets/cli/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "node_modules/@changesets/cli/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@changesets/cli/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/cli/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@changesets/cli/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@changesets/cli/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/config": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/@changesets/config/-/config-2.3.1.tgz",
- "integrity": "sha512-PQXaJl82CfIXddUOppj4zWu+987GCw2M+eQcOepxN5s+kvnsZOwjEJO3DH9eVy+OP6Pg/KFEWdsECFEYTtbg6w==",
- "dev": true,
- "dependencies": {
- "@changesets/errors": "^0.1.4",
- "@changesets/get-dependents-graph": "^1.3.6",
- "@changesets/logger": "^0.0.5",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "fs-extra": "^7.0.1",
- "micromatch": "^4.0.2"
- }
- },
- "node_modules/@changesets/errors": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.1.4.tgz",
- "integrity": "sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==",
- "dev": true,
- "dependencies": {
- "extendable-error": "^0.1.5"
- }
- },
- "node_modules/@changesets/get-dependents-graph": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-1.3.6.tgz",
- "integrity": "sha512-Q/sLgBANmkvUm09GgRsAvEtY3p1/5OCzgBE5vX3vgb5CvW0j7CEljocx5oPXeQSNph6FXulJlXV3Re/v3K3P3Q==",
- "dev": true,
- "dependencies": {
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "chalk": "^2.1.0",
- "fs-extra": "^7.0.1",
- "semver": "^7.5.3"
- }
- },
- "node_modules/@changesets/get-dependents-graph/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/get-dependents-graph/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/get-dependents-graph/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@changesets/get-dependents-graph/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "node_modules/@changesets/get-dependents-graph/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@changesets/get-dependents-graph/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/get-dependents-graph/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/get-release-plan": {
- "version": "3.0.17",
- "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.17.tgz",
- "integrity": "sha512-6IwKTubNEgoOZwDontYc2x2cWXfr6IKxP3IhKeK+WjyD6y3M4Gl/jdQvBw+m/5zWILSOCAaGLu2ZF6Q+WiPniw==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.20.1",
- "@changesets/assemble-release-plan": "^5.2.4",
- "@changesets/config": "^2.3.1",
- "@changesets/pre": "^1.0.14",
- "@changesets/read": "^0.5.9",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3"
- }
- },
- "node_modules/@changesets/get-version-range-type": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz",
- "integrity": "sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==",
- "dev": true
- },
- "node_modules/@changesets/git": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@changesets/git/-/git-2.0.0.tgz",
- "integrity": "sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.20.1",
- "@changesets/errors": "^0.1.4",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "is-subdir": "^1.1.1",
- "micromatch": "^4.0.2",
- "spawndamnit": "^2.0.0"
- }
- },
- "node_modules/@changesets/logger": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.0.5.tgz",
- "integrity": "sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.1.0"
- }
- },
- "node_modules/@changesets/logger/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/logger/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/logger/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@changesets/logger/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "node_modules/@changesets/logger/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@changesets/logger/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/logger/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/parse": {
- "version": "0.3.16",
- "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.3.16.tgz",
- "integrity": "sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==",
- "dev": true,
- "dependencies": {
- "@changesets/types": "^5.2.1",
- "js-yaml": "^3.13.1"
- }
- },
- "node_modules/@changesets/parse/node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/@changesets/parse/node_modules/js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/@changesets/pre": {
- "version": "1.0.14",
- "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-1.0.14.tgz",
- "integrity": "sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.20.1",
- "@changesets/errors": "^0.1.4",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "fs-extra": "^7.0.1"
- }
- },
- "node_modules/@changesets/read": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.5.9.tgz",
- "integrity": "sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.20.1",
- "@changesets/git": "^2.0.0",
- "@changesets/logger": "^0.0.5",
- "@changesets/parse": "^0.3.16",
- "@changesets/types": "^5.2.1",
- "chalk": "^2.1.0",
- "fs-extra": "^7.0.1",
- "p-filter": "^2.1.0"
- }
- },
- "node_modules/@changesets/read/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/read/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/read/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@changesets/read/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "node_modules/@changesets/read/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@changesets/read/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/read/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@changesets/types": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/@changesets/types/-/types-5.2.1.tgz",
- "integrity": "sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==",
- "dev": true
- },
- "node_modules/@changesets/write": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.2.3.tgz",
- "integrity": "sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.20.1",
- "@changesets/types": "^5.2.1",
- "fs-extra": "^7.0.1",
- "human-id": "^1.0.2",
- "prettier": "^2.7.1"
- }
- },
- "node_modules/@cspotcode/source-map-support": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
- "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
- "dev": true,
- "dependencies": {
- "@jridgewell/trace-mapping": "0.3.9"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@documenso/features": {
- "resolved": "packages/features",
+ "node_modules/@documenso/eslint-config": {
+ "resolved": "packages/eslint-config",
"link": true
},
"node_modules/@documenso/lib": {
"resolved": "packages/lib",
"link": true
},
- "node_modules/@documenso/pdf": {
- "resolved": "packages/pdf",
+ "node_modules/@documenso/marketing": {
+ "resolved": "apps/marketing",
+ "link": true
+ },
+ "node_modules/@documenso/prettier-config": {
+ "resolved": "packages/prettier-config",
"link": true
},
"node_modules/@documenso/prisma": {
"resolved": "packages/prisma",
"link": true
},
- "node_modules/@documenso/signing": {
- "resolved": "packages/signing",
+ "node_modules/@documenso/tailwind-config": {
+ "resolved": "packages/tailwind-config",
+ "link": true
+ },
+ "node_modules/@documenso/trpc": {
+ "resolved": "packages/trpc",
+ "link": true
+ },
+ "node_modules/@documenso/tsconfig": {
+ "resolved": "packages/tsconfig",
"link": true
},
"node_modules/@documenso/ui": {
@@ -1036,63 +440,110 @@
"resolved": "apps/web",
"link": true
},
- "node_modules/@eslint/eslintrc": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
- "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
- "dev": true,
+ "node_modules/@emotion/is-prop-valid": {
+ "version": "0.8.8",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
+ "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
+ "optional": true,
"dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.4.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
+ "@emotion/memoize": "0.7.4"
+ }
+ },
+ "node_modules/@emotion/memoize": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
+ "optional": true
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
+ "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
+ "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.1.1",
+ "espree": "^7.3.0",
+ "globals": "^13.9.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^3.13.1",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.40.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz",
+ "integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@floating-ui/core": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.4.tgz",
- "integrity": "sha512-SQOeVbMwb1di+mVWWJLpsUTToKfqVNioXys011beCAhyOIFtS+GQoW4EQSneuxzmQKddExDwQ+X0hLl4lJJaSQ=="
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.7.3.tgz",
+ "integrity": "sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg=="
},
"node_modules/@floating-ui/dom": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.3.tgz",
- "integrity": "sha512-lK9cZUrHSJLMVAdCvDqs6Ug8gr0wmqksYiaoj/bxj2gweRQkSuhg2/V6Jswz2KiQ0RAULbqw1oQDJIMpQ5GfGA==",
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.5.4.tgz",
+ "integrity": "sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==",
"dependencies": {
- "@floating-ui/core": "^1.2.2"
+ "@floating-ui/core": "^0.7.3"
}
},
- "node_modules/@headlessui/react": {
- "version": "1.7.13",
- "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.13.tgz",
- "integrity": "sha512-9n+EQKRtD9266xIHXdY5MfiXPDfYwl7zBM7KOx2Ae3Gdgxy8QML1FkCMjq6AsOf0l6N9uvI4HcFtuFlenaldKg==",
+ "node_modules/@floating-ui/react-dom": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-0.7.2.tgz",
+ "integrity": "sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==",
"dependencies": {
- "client-only": "^0.0.1"
- },
- "engines": {
- "node": ">=10"
+ "@floating-ui/dom": "^0.5.3",
+ "use-isomorphic-layout-effect": "^1.1.1"
},
"peerDependencies": {
- "react": "^16 || ^17 || ^18",
- "react-dom": "^16 || ^17 || ^18"
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
}
},
- "node_modules/@heroicons/react": {
- "version": "2.0.16",
- "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.16.tgz",
- "integrity": "sha512-x89rFxH3SRdYaA+JCXwfe+RkE1SFTo9GcOkZettHer71Y3T7V+ogKmfw5CjTazgS3d0ClJ7p1NA+SP7VQLQcLw==",
+ "node_modules/@hookform/resolvers": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.1.0.tgz",
+ "integrity": "sha512-z0A8K+Nxq+f83Whm/ajlwE6VtQlp/yPHZnXw7XWVPIGm1Vx0QV8KThU3BpbBRfAZ7/dYqCKKBNnQh85BkmBKkA==",
"peerDependencies": {
- "react": ">= 16"
+ "react-hook-form": "^7.0.0"
}
},
"node_modules/@hookform/resolvers": {
@@ -1104,14 +555,13 @@
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.11.8",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
- "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
- "dev": true,
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
+ "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
"dependencies": {
- "@humanwhocodes/object-schema": "^1.2.1",
+ "@humanwhocodes/object-schema": "^1.2.0",
"debug": "^4.1.1",
- "minimatch": "^3.0.5"
+ "minimatch": "^3.0.4"
},
"engines": {
"node": ">=10.10.0"
@@ -1121,7 +571,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
"integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true,
"engines": {
"node": ">=12.22"
},
@@ -1133,15 +582,12 @@
"node_modules/@humanwhocodes/object-schema": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "devOptional": true,
- "peer": true,
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
"dependencies": {
"@jridgewell/set-array": "^1.0.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
@@ -1155,7 +601,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
"integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
- "devOptional": true,
"engines": {
"node": ">=6.0.0"
}
@@ -1164,37 +609,55 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "devOptional": true,
- "peer": true,
"engines": {
"node": ">=6.0.0"
}
},
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
- "devOptional": true
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
- "devOptional": true,
+ "version": "0.3.18",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
+ "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
"dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
+ "@jridgewell/resolve-uri": "3.1.0",
+ "@jridgewell/sourcemap-codec": "1.4.14"
+ }
+ },
+ "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ },
+ "node_modules/@mapbox/node-pre-gyp": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz",
+ "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==",
+ "dependencies": {
+ "detect-libc": "^2.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.7",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ },
+ "bin": {
+ "node-pre-gyp": "bin/node-pre-gyp"
+ }
+ },
+ "node_modules/@next-auth/prisma-adapter": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@next-auth/prisma-adapter/-/prisma-adapter-1.0.6.tgz",
+ "integrity": "sha512-Z7agwfSZEeEcqKqrnisBun7VndRPshd6vyDsoRU68MXbkui8storkHgvN2hnNDrqr/hSCF9aRn56a1qpihaB4A==",
+ "peerDependencies": {
+ "@prisma/client": ">=2.26.0 || >=3",
+ "next-auth": "^4"
}
},
"node_modules/@manypkg/find-root": {
@@ -1316,23 +779,22 @@
}
},
"node_modules/@next/env": {
- "version": "13.2.4",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-13.2.4.tgz",
- "integrity": "sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA=="
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.1.tgz",
+ "integrity": "sha512-eD6WCBMFjLFooLM19SIhSkWBHtaFrZFfg2Cxnyl3vS3DAdFRfnx5TY2RxlkuKXdIRCC0ySbtK9JXXt8qLCqzZg=="
},
"node_modules/@next/eslint-plugin-next": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.0.3.tgz",
- "integrity": "sha512-slmTAHNKDyc7jhx4VF8lFbmOPWJ3PShtUUWpb6x9+ga59CyOxgP6AdcDhxfapnWYACKe/TwYiaveufu7LqXgZg==",
- "dev": true,
+ "version": "13.4.2",
+ "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.2.tgz",
+ "integrity": "sha512-ZeFWgrxwckxTpYM+ANeUL9E7LOGPbZKmI94LJIjbDU69iEIgqd4WD0l2pVbOJMr/+vgoZmJ9Dx1m0WJ7WScXHA==",
"dependencies": {
"glob": "7.1.7"
}
},
"node_modules/@next/swc-darwin-arm64": {
- "version": "13.2.4",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.2.4.tgz",
- "integrity": "sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2zQs4imqllJznVjFd1bXLx3Aa6A==",
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.1.tgz",
+ "integrity": "sha512-eF8ARHtYfnoYtDa6xFHriUKA/Mfj/cCbmKb3NofeKhMccs65G6/loZ15a6wYCCx4rPAd6x4t1WmVYtri7EdeBg==",
"cpu": [
"arm64"
],
@@ -1344,11 +806,130 @@
"node": ">= 10"
}
},
+ "node_modules/@next/swc-darwin-x64": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.1.tgz",
+ "integrity": "sha512-7cmDgF9tGWTgn5Gw+vP17miJbH4wcraMHDCOHTYWkO/VeKT73dUWG23TNRLfgtCNSPgH4V5B4uLHoZTanx9bAw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-gnu": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.1.tgz",
+ "integrity": "sha512-qwJqmCri2ie8aTtE5gjTSr8S6O8B67KCYgVZhv9gKH44yvc/zXbAY8u23QGULsYOyh1islWE5sWfQNLOj9iryg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-musl": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.1.tgz",
+ "integrity": "sha512-qcC54tWNGDv/VVIFkazxhqH1Bnagjfs4enzELVRlUOoJPD2BGJTPI7z08pQPbbgxLtRiu8gl2mXvpB8WlOkMeA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-gnu": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.1.tgz",
+ "integrity": "sha512-9TeWFlpLsBosZ+tsm/rWBaMwt5It9tPH8m3nawZqFUUrZyGRfGcI67js774vtx0k3rL9qbyY6+3pw9BCVpaYUA==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-musl": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.1.tgz",
+ "integrity": "sha512-sNDGaWmSqTS4QRUzw61wl4mVPeSqNIr1OOjLlQTRuyInxMxtqImRqdvzDvFTlDfdeUMU/DZhWGYoHrXLlZXe6A==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-arm64-msvc": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.1.tgz",
+ "integrity": "sha512-+CXZC7u1iXdLRudecoUYbhbsXpglYv8KFYsFxKBPn7kg+bk7eJo738wAA4jXIl8grTF2mPdmO93JOQym+BlYGA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-ia32-msvc": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.1.tgz",
+ "integrity": "sha512-vIoXVVc7UYO68VwVMDKwJC2+HqAZQtCYiVlApyKEeIPIQpz2gpufzGxk1z3/gwrJt/kJ5CDZjlhYDCzd3hdz+g==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-x64-msvc": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.1.tgz",
+ "integrity": "sha512-n8V5ImLQZibKTu10UUdI3nIeTLkliEXe628qxqW9v8My3BAH2a7H0SaCqkV2OgqFnn8sG1wxKYw9/SNJ632kSA==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@@ -1361,7 +942,6 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
"engines": {
"node": ">= 8"
}
@@ -1370,7 +950,6 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@@ -1380,9 +959,9 @@
}
},
"node_modules/@panva/hkdf": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.0.4.tgz",
- "integrity": "sha512-003xWiCuvePbLaPHT+CRuaV4GlyCAVm6XYSbBZDHoWZGn1mNkVKFaDbGJjjxmEFvizUwlCoM6O18FCBMMky2zQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.1.1.tgz",
+ "integrity": "sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA==",
"funding": {
"url": "https://github.com/sponsors/panva"
}
@@ -1411,13 +990,32 @@
"pako": "^1.0.10"
}
},
+ "node_modules/@pkgr/utils": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.0.tgz",
+ "integrity": "sha512-2OCURAmRtdlL8iUDTypMrrxfwe8frXTeXaxGsVOaYtc/wrUyk8Z/0OBetM7cdlsy7ZFWlMX72VogKeh+A4Xcjw==",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "fast-glob": "^3.2.12",
+ "is-glob": "^4.0.3",
+ "open": "^9.1.0",
+ "picocolors": "^1.0.0",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
"node_modules/@prisma/client": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.11.0.tgz",
- "integrity": "sha512-0INHYkQIqgAjrt7NzhYpeDQi8x3Nvylc2uDngKyFDDj1tTRQ4uV1HnVmd1sQEraeVAN63SOK0dgCKQHlvjL0KA==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.14.0.tgz",
+ "integrity": "sha512-MK/XaA2sFdfaOa7I9MjNKz6dxeIEdeZlnpNRoF2w3JuRLlFJLkpp6cD3yaqw2nUUhbrn3Iqe3ZpVV+VuGGil7Q==",
"hasInstallScript": true,
"dependencies": {
- "@prisma/engines-version": "4.11.0-57.8fde8fef4033376662cad983758335009d522acb"
+ "@prisma/engines-version": "4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c"
},
"engines": {
"node": ">=14.17"
@@ -1432,148 +1030,967 @@
}
},
"node_modules/@prisma/engines": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.11.0.tgz",
- "integrity": "sha512-0AEBi2HXGV02cf6ASsBPhfsVIbVSDC9nbQed4iiY5eHttW9ZtMxHThuKZE1pnESbr8HRdgmFSa/Kn4OSNYuibg==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.14.0.tgz",
+ "integrity": "sha512-PDNlhP/1vyTgmNyiucGqGCdXIp7HIkkvKO50si3y3PcceeHvqtiKPaH1iJdz63jCWMVMbj2MElSxXPOeBvEVIQ==",
"hasInstallScript": true
},
"node_modules/@prisma/engines-version": {
- "version": "4.11.0-57.8fde8fef4033376662cad983758335009d522acb",
- "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.11.0-57.8fde8fef4033376662cad983758335009d522acb.tgz",
- "integrity": "sha512-3Vd8Qq06d5xD8Ch5WauWcUUrsVPdMC6Ge8ILji8RFfyhUpqon6qSyGM0apvr1O8n8qH8cKkEFqRPsYjuz5r83g=="
+ "version": "4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c",
+ "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c.tgz",
+ "integrity": "sha512-3jum8/YSudeSN0zGW5qkpz+wAN2V/NYCQ+BPjvHYDfWatLWlQkqy99toX0GysDeaUoBIJg1vaz2yKqiA3CFcQw=="
+ },
+ "node_modules/@radix-ui/number": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz",
+ "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "node_modules/@radix-ui/primitive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz",
+ "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "node_modules/@radix-ui/react-accordion": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.1.1.tgz",
+ "integrity": "sha512-TQtyyRubYe8DD6DYCovNLTjd2D+TFrNCpr99T5M3cYUbR7BsRxWsxfInjbQ1nHsdy2uPTcnJS5npyXPVfP0piw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collapsible": "1.0.2",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-alert-dialog": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.0.3.tgz",
+ "integrity": "sha512-QXFy7+bhGi0u+paF2QbJeSCHZs4gLMJIPm6sajUamyW0fro6g1CaSGc5zmc4QmK2NlSGUrq8m+UsUqJYtzvXow==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dialog": "1.0.3",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-arrow": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.2.tgz",
+ "integrity": "sha512-fqYwhhI9IarZ0ll2cUSfKuXHlJK0qE4AfnRrPBbRwEH/4mGQn04/QFGomLi8TXWIdv9WJk//KgGm+aDxVIr1wA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-aspect-ratio": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.0.2.tgz",
+ "integrity": "sha512-YCujQYnwcVcakbdhE8eTjhh4QR8CsngEcRlSzIPWw1vp3KPC9orETo8CxuVM65j5HAp0oFoOlIy6v7SuF+9P+Q==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-avatar": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.0.2.tgz",
+ "integrity": "sha512-XRL8z2l9V7hRLCPjHWg/34RBPZUGpmOjmsRSNvIh2DI28GyIWDChbcsDUVc63MzOItk6Q83Ob2KK8k2FUlXlGA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-checkbox": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.3.tgz",
+ "integrity": "sha512-55B8/vKzTuzxllH5sGJO4zaBf9gYpJuJRRzaOKm+0oAefRnMvbf+Kgww7IOANVN0w3z7agFJgtnXaZl8Uj95AA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-use-size": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-collapsible": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.2.tgz",
+ "integrity": "sha512-QNiDT6Au8jUU0K1WV+HEd4loH7C5CKQjeXxskwqyiyAkyCmW7qlQM5vSSJCIoQC+OVPyhgafSmGudRP8Qm1/gA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-collection": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.2.tgz",
+ "integrity": "sha512-s8WdQQ6wNXpaxdZ308KSr8fEWGrg4un8i4r/w7fhiS4ElRNjk5rRcl0/C6TANG2LvLOGIxtzo/jAg6Qf73TEBw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-compose-refs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz",
+ "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-context": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz",
+ "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-context-menu": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.1.3.tgz",
+ "integrity": "sha512-T+Jpbl/L9eJmlNGdgrl39NUqYTrtHJz4FmjdSc2WDUiZXWMmokK+1K8t/xEcx9q2PvVYfL5UDy9dkzU9UouyGw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-menu": "2.0.4",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-dialog": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.3.tgz",
+ "integrity": "sha512-owNhq36kNPqC2/a+zJRioPg6HHnTn5B/sh/NjTY8r4W9g1L5VJlrzZIVcBr7R9Mg8iLjVmh6MGgMlfoVf/WO/A==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-focus-guards": "1.0.0",
+ "@radix-ui/react-focus-scope": "1.0.2",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.5"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-direction": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz",
+ "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-dismissable-layer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.3.tgz",
+ "integrity": "sha512-nXZOvFjOuHS1ovumntGV7NNoLaEp9JEvTht3MBjP44NSW5hUKj/8OnfN3+8WmB+CEhN44XaGhpHoSsUIEl5P7Q==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-escape-keydown": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-dropdown-menu": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.4.tgz",
+ "integrity": "sha512-y6AT9+MydyXcByivdK1+QpjWoKaC7MLjkS/cH1Q3keEyMvDkiY85m8o2Bi6+Z1PPUlCsMULopxagQOSfN0wahg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-menu": "2.0.4",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-focus-guards": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.0.tgz",
+ "integrity": "sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-focus-scope": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.2.tgz",
+ "integrity": "sha512-spwXlNTfeIprt+kaEWE/qYuYT3ZAqJiAGjN/JgdvgVDTu8yc+HuX+WOWXrKliKnLnwck0F6JDkqIERncnih+4A==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-hover-card": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.0.5.tgz",
+ "integrity": "sha512-jXRuZEkxSWdHZbVyL0J46cm7pQjmOMpwJEFKY+VqAJnV+FxS+zIZExI1OCeIiDwCBzUy6If1FfouOsfqBxr86g==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-popper": "1.1.1",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-id": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.0.tgz",
+ "integrity": "sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-label": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.1.tgz",
+ "integrity": "sha512-qcfbS3B8hTYmEO44RNcXB6pegkxRsJIbdxTMu0PEX0Luv5O2DvTIwwVYxQfUwLpM88EL84QRPLOLgwUSApMsLQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-menu": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.4.tgz",
+ "integrity": "sha512-mzKR47tZ1t193trEqlQoJvzY4u9vYfVH16ryBrVrCAGZzkgyWnMQYEZdUkM7y8ak9mrkKtJiqB47TlEnubeOFQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-focus-guards": "1.0.0",
+ "@radix-ui/react-focus-scope": "1.0.2",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-popper": "1.1.1",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-roving-focus": "1.0.3",
+ "@radix-ui/react-slot": "1.0.1",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.5"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-menubar": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-menubar/-/react-menubar-1.0.2.tgz",
+ "integrity": "sha512-woEg2ZODGoJHonr6ZwC01ZCpDifS6BapI5ythRfvWPBeL/80CX3u4sQKaF/58bbAZQsDnVwO5M9b0XVBN3jLhA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-menu": "2.0.4",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-roving-focus": "1.0.3",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-navigation-menu": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.1.2.tgz",
+ "integrity": "sha512-1fSjOAGTThYSgJ5pENG2V8we7+6KDbfbiyt66HmLTeo0W3PAmmciclm0o97VlcVZW7q5Vg2hN7Cbj4XKo5u2sw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-visually-hidden": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-popover": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.5.tgz",
+ "integrity": "sha512-GRHZ8yD12MrN2NLobHPE8Rb5uHTxd9x372DE9PPNnBjpczAQHcZ5ne0KXG4xpf+RDdXSzdLv9ym6mYJCDTaUZg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-focus-guards": "1.0.0",
+ "@radix-ui/react-focus-scope": "1.0.2",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-popper": "1.1.1",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.5"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-popper": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.1.tgz",
+ "integrity": "sha512-keYDcdMPNMjSC8zTsZ8wezUMiWM9Yj14wtF3s0PTIs9srnEPC9Kt2Gny1T3T81mmSeyDjZxsD9N5WCwNNb712w==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@floating-ui/react-dom": "0.7.2",
+ "@radix-ui/react-arrow": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0",
+ "@radix-ui/react-use-rect": "1.0.0",
+ "@radix-ui/react-use-size": "1.0.0",
+ "@radix-ui/rect": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-portal": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.2.tgz",
+ "integrity": "sha512-swu32idoCW7KA2VEiUZGBSu9nB6qwGdV6k6HYhUoOo3M1FFpD+VgLzUqtt3mwL1ssz7r2x8MggpLSQach2Xy/Q==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-presence": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz",
+ "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.2.tgz",
+ "integrity": "sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-progress": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.0.2.tgz",
+ "integrity": "sha512-c16RVM43ct2koRcMmPw4b47JWFNs89qe5p4Um9dwoPs0yi+d7It1MJ35EpsX+93o31Mqdwe4vQyu0SrHrygdCg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-radio-group": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.1.2.tgz",
+ "integrity": "sha512-S7K8upMjOkx1fTUzEugbfCYPwI9Yw4m2h2ZfJP+ZWP/Mzc/LE2T6QgiAMaSaC3vZSxU5Kk5Eb377zMklWeaaCQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-roving-focus": "1.0.3",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-use-size": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-roving-focus": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.3.tgz",
+ "integrity": "sha512-stjCkIoMe6h+1fWtXlA6cRfikdBzCLp3SnVk7c48cv/uy3DTGoXhN76YaOYUJuy3aEDvDIKwKR5KSmvrtPvQPQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-scroll-area": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.3.tgz",
+ "integrity": "sha512-sBX9j8Q+0/jReNObEAveKIGXJtk3xUoSIx4cMKygGtO128QJyVDn01XNOFsyvihKDCTcu7SINzQ2jPAZEhIQtw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/number": "1.0.0",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-select": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.1.tgz",
+ "integrity": "sha512-GULRMITaOHNj79BZvQs3iZO0+f2IgI8g5HDhMi7Bnc13t7IlG86NFtOCfTLme4PNZdEtU+no+oGgcl6IFiphpQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/number": "1.0.0",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-focus-guards": "1.0.0",
+ "@radix-ui/react-focus-scope": "1.0.2",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-popper": "1.1.1",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-visually-hidden": "1.0.2",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.5"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-separator": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.2.tgz",
+ "integrity": "sha512-lZoAG/rS2jzb/OSvyBrpN3dmikw20ewmWx1GkM1VldbDyD0DACCbH9LIXSrqyS/2mE1VYKOHmyq5W90Dx4ryqA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-slider": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.1.1.tgz",
+ "integrity": "sha512-0aswLpUKZIraPEOcXfwW25N1KPfLA6Mvm1TxogUChGsbLbys2ihd7uk9XAKsol9ZQPucxh2/mybwdRtAKrs/MQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/number": "1.0.0",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-use-size": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-slot": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz",
+ "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-switch": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.0.2.tgz",
+ "integrity": "sha512-BcG/LKehxt36NXG0wPnoCitIfSMtU9Xo7BmythYA1PAMLtsMvW7kALfBzmduQoHTWcKr0AVcFyh0gChBUp9TiQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-use-size": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-tabs": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.0.3.tgz",
+ "integrity": "sha512-4CkF/Rx1GcrusI/JZ1Rvyx4okGUs6wEenWA0RG/N+CwkRhTy7t54y7BLsWUXrAz/GRbBfHQg/Odfs/RoW0CiRA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-roving-focus": "1.0.3",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-toast": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.1.3.tgz",
+ "integrity": "sha512-yHFgpxi9wjbfPvpSPdYAzivCqw48eA1ofT8m/WqYOVTxKPdmQMuVKRYPlMmj4C1d6tJdFj/LBa1J4iY3fL4OwQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0",
+ "@radix-ui/react-visually-hidden": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-toggle": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.2.tgz",
+ "integrity": "sha512-1MhVrHjgdmYDBgBpmOB0sjK096gFrVqUocsHNapkOTkZIxOwjpGxnW9e24CjQQX9D/c57dI6E8zAAdeAeIdY8g==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-tooltip": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.0.5.tgz",
+ "integrity": "sha512-cDKVcfzyO6PpckZekODJZDe5ZxZ2fCZlzKzTmPhe4mX9qTHRfLcKgqb0OKf22xLwDequ2tVleim+ZYx3rabD5w==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-popper": "1.1.1",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-visually-hidden": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-callback-ref": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz",
+ "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-controllable-state": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.0.tgz",
+ "integrity": "sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-escape-keydown": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.2.tgz",
+ "integrity": "sha512-DXGim3x74WgUv+iMNCF+cAo8xUHHeqvjx8zs7trKf+FkQKPQXLk2sX7Gx1ysH7Q76xCpZuxIJE7HLPxRE+Q+GA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-layout-effect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz",
+ "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-previous": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.0.tgz",
+ "integrity": "sha512-RG2K8z/K7InnOKpq6YLDmT49HGjNmrK+fr82UCVKT2sW0GYfVnYp4wZWBooT/EYfQ5faA9uIjvsuMMhH61rheg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-rect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.0.tgz",
+ "integrity": "sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/rect": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-size": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.0.tgz",
+ "integrity": "sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-visually-hidden": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.2.tgz",
+ "integrity": "sha512-qirnJxtYn73HEk1rXL12/mXnu2rwsNHDID10th2JGtdK25T9wX+mxRmGt7iPSahw512GbZOc0syZX1nLQGoEOg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/rect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.0.tgz",
+ "integrity": "sha512-d0O68AYy/9oeEy1DdC07bz1/ZXX+DqCskRd3i4JzLSTXwefzaepQrKjXC7aNM8lTHjFLDO0pDgaEiQ7jEk+HVg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ }
},
"node_modules/@rushstack/eslint-patch": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz",
- "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==",
- "dev": true
- },
- "node_modules/@sendgrid/client": {
- "version": "6.5.5",
- "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-6.5.5.tgz",
- "integrity": "sha512-Nbfgo94gbWSL8PIgJfuHoifyOJJepvV8NQkkglctAEfb1hyozKhrzE6v1kPG/z4j0RodaTtXD5LJj/t0q/VhLA==",
- "dependencies": {
- "@sendgrid/helpers": "^6.5.5",
- "@types/request": "^2.48.4",
- "request": "^2.88.0"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@sendgrid/helpers": {
- "version": "6.5.5",
- "resolved": "https://registry.npmjs.org/@sendgrid/helpers/-/helpers-6.5.5.tgz",
- "integrity": "sha512-uRFEanalfss5hDsuzVXZ1wm7i7eEXHh1py80piOXjobiQ+MxmtR19EU+gDSXZ+uMcEehBGhxnb7QDNN0q65qig==",
- "dependencies": {
- "chalk": "^2.0.1",
- "deepmerge": "^4.2.2"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/@sendgrid/helpers/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@sendgrid/helpers/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@sendgrid/helpers/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@sendgrid/helpers/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- },
- "node_modules/@sendgrid/helpers/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@sendgrid/helpers/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@sendgrid/helpers/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@sendgrid/mail": {
- "version": "6.5.5",
- "resolved": "https://registry.npmjs.org/@sendgrid/mail/-/mail-6.5.5.tgz",
- "integrity": "sha512-DSu8oTPI0BJFH60jMOG9gM+oeNMoRALFmdAYg2PIXpL+Zbxd7L2GzQZtmf1jLy/8UBImkbB3D74TjiOBiLRK1w==",
- "dependencies": {
- "@sendgrid/client": "^6.5.5",
- "@sendgrid/helpers": "^6.5.5"
- },
- "engines": {
- "node": ">=6.0.0"
- }
+ "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg=="
},
"node_modules/@swc/helpers": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
- "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz",
+ "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==",
"dependencies": {
"tslib": "^2.4.0"
}
},
- "node_modules/@tailwindcss/forms": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz",
- "integrity": "sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==",
- "dev": true,
+ "node_modules/@tanstack/query-core": {
+ "version": "4.29.7",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.29.7.tgz",
+ "integrity": "sha512-GXG4b5hV2Loir+h2G+RXhJdoZhJLnrBWsuLB2r0qBRyhWuXq9w/dWxzvpP89H0UARlH6Mr9DiVj4SMtpkF/aUA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
+ "node_modules/@tanstack/react-query": {
+ "version": "4.29.7",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.29.7.tgz",
+ "integrity": "sha512-ijBWEzAIo09fB1yd22slRZzprrZ5zMdWYzBnCg5qiXuFbH78uGN1qtGz8+Ed4MuhaPaYSD+hykn+QEKtQviEtg==",
"dependencies": {
- "mini-svg-data-uri": "^1.2.3"
+ "@tanstack/query-core": "4.29.7",
+ "use-sync-external-store": "^1.2.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
},
"peerDependencies": {
- "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1"
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-native": "*"
+ },
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ },
+ "react-native": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@tanstack/react-table": {
+ "version": "8.9.1",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.9.1.tgz",
+ "integrity": "sha512-yHs2m6lk5J5RNcu2dNtsDGux66wNXZjEgzxos6MRCX8gL+nqxeW3ZglqP6eANN0bGElPnjvqiUHGQvdACOr3Cw==",
+ "dependencies": {
+ "@tanstack/table-core": "8.9.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "react": ">=16",
+ "react-dom": ">=16"
+ }
+ },
+ "node_modules/@tanstack/table-core": {
+ "version": "8.9.1",
+ "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.9.1.tgz",
+ "integrity": "sha512-2+R83n8vMZND0q3W1lSiF7co9nFbeWbjAErFf27xwbeA9E0wtUu5ZDfgj+TZ6JzdAEQAgfxkk/QNFAKiS8E4MA==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
}
},
"node_modules/@trivago/prettier-plugin-sort-imports": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.1.1.tgz",
"integrity": "sha512-dQ2r2uzNr1x6pJsuh/8x0IRA3CBUB+pWEW3J/7N98axqt7SQSm+2fy0FLNXvXGg77xEDC7KHxJlHfLYyi7PDcw==",
- "dev": true,
"dependencies": {
"@babel/generator": "7.17.7",
"@babel/parser": "^7.20.5",
@@ -1592,89 +2009,61 @@
}
}
},
- "node_modules/@tsconfig/node10": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
- "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
- "dev": true
- },
- "node_modules/@tsconfig/node12": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
- "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
- "dev": true
- },
- "node_modules/@tsconfig/node14": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
- "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
- "dev": true
- },
- "node_modules/@tsconfig/node16": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
- "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
- "dev": true
- },
- "node_modules/@types/bcryptjs": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz",
- "integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==",
- "dev": true
- },
- "node_modules/@types/caseless": {
- "version": "0.12.2",
- "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz",
- "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w=="
- },
- "node_modules/@types/eslint": {
- "version": "8.21.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.2.tgz",
- "integrity": "sha512-EMpxUyystd3uZVByZap1DACsMXvb82ypQnGn89e1Y0a+LYu3JJscUd/gqhRsVFDkaD2MIiWo0MT8EfXr3DGRKw==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
+ "node_modules/@trpc/client": {
+ "version": "10.26.0",
+ "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.26.0.tgz",
+ "integrity": "sha512-ojHxQFIE97rBEGPK8p1ijbzo0T1IdEBoJ9fFSgWWL9FMuEEA/DNQ9s0uuiOrDKhCCdTFT1unfRharoJhB2/O2w==",
+ "peerDependencies": {
+ "@trpc/server": "10.26.0"
}
},
- "node_modules/@types/eslint-scope": {
- "version": "3.7.4",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
- "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
- "devOptional": true,
- "peer": true,
+ "node_modules/@trpc/next": {
+ "version": "10.26.0",
+ "resolved": "https://registry.npmjs.org/@trpc/next/-/next-10.26.0.tgz",
+ "integrity": "sha512-p328crXBH6C228LKxjqbpDEXdLmy4+LdgsZuYK3oFMqaJEmCT22b+zcQ9IvQrcPfDxhKOpJym0QpuDNaWpG2qg==",
"dependencies": {
- "@types/eslint": "*",
- "@types/estree": "*"
+ "react-ssr-prepass": "^1.5.0"
+ },
+ "peerDependencies": {
+ "@tanstack/react-query": "^4.18.0",
+ "@trpc/client": "10.26.0",
+ "@trpc/react-query": "10.26.0",
+ "@trpc/server": "10.26.0",
+ "next": "*",
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
}
},
- "node_modules/@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
- "devOptional": true,
- "peer": true
+ "node_modules/@trpc/react-query": {
+ "version": "10.26.0",
+ "resolved": "https://registry.npmjs.org/@trpc/react-query/-/react-query-10.26.0.tgz",
+ "integrity": "sha512-n+enpalaCZhd3A/mbZmXeydRZHsAJo7mzc2ncgHn5S+C3SrfOM897uQdbHdj02Li25ULxzP1O92w+vZzmFbgkA==",
+ "peerDependencies": {
+ "@tanstack/react-query": "^4.18.0",
+ "@trpc/client": "10.26.0",
+ "@trpc/server": "10.26.0",
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
},
- "node_modules/@types/filesystem": {
- "version": "0.0.32",
- "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz",
- "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==",
+ "node_modules/@trpc/server": {
+ "version": "10.26.0",
+ "resolved": "https://registry.npmjs.org/@trpc/server/-/server-10.26.0.tgz",
+ "integrity": "sha512-+Wt0NFAeflVSNiUnHIDNN3C8jP7XIRmYrcgJ6IsAnm0lK4p/FkpCpeu1aig5qxrgZx30PHNDLZ/3FttVSEW2aQ=="
+ },
+ "node_modules/@types/bcrypt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.0.tgz",
+ "integrity": "sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw==",
"dev": true,
"dependencies": {
- "@types/filewriter": "*"
+ "@types/node": "*"
}
},
- "node_modules/@types/filewriter": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz",
- "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==",
- "dev": true
- },
"node_modules/@types/formidable": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-2.0.5.tgz",
- "integrity": "sha512-uvMcdn/KK3maPOaVUAc3HEYbCEhjaGFwww4EsX6IJfWIJ1tzHtDHczuImH3GKdusPnAAmzB07St90uabZeCKPA==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-2.0.6.tgz",
+ "integrity": "sha512-L4HcrA05IgQyNYJj6kItuIkXrInJvsXTPC5B1i64FggWKKqSL+4hgt7asiSNva75AoLQjq29oPxFfU4GAQ6Z2w==",
"dev": true,
"dependencies": {
"@types/node": "*"
@@ -1692,14 +2081,12 @@
"node_modules/@types/json-schema": {
"version": "7.0.11",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
- "devOptional": true
+ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
},
"node_modules/@types/json5": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
- "dev": true
+ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
},
"node_modules/@types/minimist": {
"version": "1.2.2",
@@ -1708,27 +2095,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg=="
- },
- "node_modules/@types/nodemailer": {
- "version": "6.4.7",
- "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.7.tgz",
- "integrity": "sha512-f5qCBGAn/f0qtRcd4SEn88c8Fp3Swct1731X4ryPKqS61/A3LmmzN8zaEz7hneJvpjFbUUgY7lru/B/7ODTazg==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/nodemailer-sendgrid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/nodemailer-sendgrid/-/nodemailer-sendgrid-1.0.0.tgz",
- "integrity": "sha512-7D3Ddd7vN4tTDNGUkv31zH+2Wr6a37V0ryk0v5dyyBow/NA5+Jx5L3HvN1xq2ArZ2DbL2/z0tR9rfJtnJZK/Gw==",
- "dev": true,
- "dependencies": {
- "@types/nodemailer": "*"
- }
+ "version": "20.1.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.0.tgz",
+ "integrity": "sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A=="
},
"node_modules/@types/normalize-package-data": {
"version": "2.4.1",
@@ -1742,9 +2111,9 @@
"integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
},
"node_modules/@types/react": {
- "version": "18.0.28",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz",
- "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.6.tgz",
+ "integrity": "sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==",
"dependencies": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -1752,85 +2121,65 @@
}
},
"node_modules/@types/react-dom": {
- "version": "18.0.9",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz",
- "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==",
+ "version": "18.2.4",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.4.tgz",
+ "integrity": "sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==",
"dev": true,
"dependencies": {
"@types/react": "*"
}
},
- "node_modules/@types/react-pdf": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@types/react-pdf/-/react-pdf-6.2.0.tgz",
- "integrity": "sha512-OSCYmrfaJvpXkM5V4seUMAhUDOAOqbGQf9kwv14INyTf7AjDs2ukfkkQrLWRQ8OjWrDklbXYWh5l7pT7l0N76g==",
- "dev": true,
- "dependencies": {
- "@types/react": "*",
- "pdfjs-dist": "^2.16.105"
- }
- },
- "node_modules/@types/react-resizable": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/react-resizable/-/react-resizable-3.0.3.tgz",
- "integrity": "sha512-W/QsUOZoXBAIBQNhNm95A5ohoaiUA874lWQytO2UP9dOjp5JHO9+a0cwYNabea7sA12ZDJnGVUFZxcNaNksAWA==",
- "dev": true,
- "dependencies": {
- "@types/react": "*"
- }
- },
- "node_modules/@types/react-signature-canvas": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@types/react-signature-canvas/-/react-signature-canvas-1.0.2.tgz",
- "integrity": "sha512-uDHDoo2JM/9qYS+U7PRKDLBgOnQOOUEkDdXjCxBvI19fWtOLqXisrjiquPu+enu5iu2oWIfU7cVhn1QJZPkLTg==",
- "dev": true,
- "dependencies": {
- "@types/react": "*",
- "@types/signature_pad": "*"
- }
- },
- "node_modules/@types/request": {
- "version": "2.48.8",
- "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz",
- "integrity": "sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==",
- "dependencies": {
- "@types/caseless": "*",
- "@types/node": "*",
- "@types/tough-cookie": "*",
- "form-data": "^2.5.0"
- }
- },
"node_modules/@types/scheduler": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
- "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
+ "version": "0.16.3",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
+ "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ=="
},
"node_modules/@types/semver": {
"version": "7.5.0",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
- "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
- "dev": true
+ "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw=="
},
- "node_modules/@types/signature_pad": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/@types/signature_pad/-/signature_pad-2.3.2.tgz",
- "integrity": "sha512-dDfWIgRcdzAaeVOpLRmLHIumGwc5inSD4Dj2Duis3yUEoSADZECLJHKkUQphbaANQ7kSC2bkf1JzyBPSmTlrPQ==",
- "dev": true
- },
- "node_modules/@types/tough-cookie": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz",
- "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw=="
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.6.tgz",
+ "integrity": "sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==",
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.4.0",
+ "@typescript-eslint/scope-manager": "5.59.6",
+ "@typescript-eslint/type-utils": "5.59.6",
+ "@typescript-eslint/utils": "5.59.6",
+ "debug": "^4.3.4",
+ "grapheme-splitter": "^1.0.4",
+ "ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^5.0.0",
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
},
"node_modules/@typescript-eslint/parser": {
- "version": "5.55.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.55.0.tgz",
- "integrity": "sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==",
- "dev": true,
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.6.tgz",
+ "integrity": "sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==",
"dependencies": {
- "@typescript-eslint/scope-manager": "5.55.0",
- "@typescript-eslint/types": "5.55.0",
- "@typescript-eslint/typescript-estree": "5.55.0",
+ "@typescript-eslint/scope-manager": "5.59.6",
+ "@typescript-eslint/types": "5.59.6",
+ "@typescript-eslint/typescript-estree": "5.59.6",
"debug": "^4.3.4"
},
"engines": {
@@ -1850,13 +2199,12 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "5.55.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz",
- "integrity": "sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw==",
- "dev": true,
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.6.tgz",
+ "integrity": "sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ==",
"dependencies": {
- "@typescript-eslint/types": "5.55.0",
- "@typescript-eslint/visitor-keys": "5.55.0"
+ "@typescript-eslint/types": "5.59.6",
+ "@typescript-eslint/visitor-keys": "5.59.6"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1866,11 +2214,36 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.6.tgz",
+ "integrity": "sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ==",
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "5.59.6",
+ "@typescript-eslint/utils": "5.59.6",
+ "debug": "^4.3.4",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@typescript-eslint/types": {
- "version": "5.55.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.55.0.tgz",
- "integrity": "sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug==",
- "dev": true,
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.6.tgz",
+ "integrity": "sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA==",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -1880,13 +2253,12 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.55.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz",
- "integrity": "sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ==",
- "dev": true,
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.6.tgz",
+ "integrity": "sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==",
"dependencies": {
- "@typescript-eslint/types": "5.55.0",
- "@typescript-eslint/visitor-keys": "5.55.0",
+ "@typescript-eslint/types": "5.59.6",
+ "@typescript-eslint/visitor-keys": "5.59.6",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -1906,13 +2278,37 @@
}
}
},
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.55.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz",
- "integrity": "sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw==",
- "dev": true,
+ "node_modules/@typescript-eslint/utils": {
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.6.tgz",
+ "integrity": "sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg==",
"dependencies": {
- "@typescript-eslint/types": "5.55.0",
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.59.6",
+ "@typescript-eslint/types": "5.59.6",
+ "@typescript-eslint/typescript-estree": "5.59.6",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.6.tgz",
+ "integrity": "sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q==",
+ "dependencies": {
+ "@typescript-eslint/types": "5.59.6",
"eslint-visitor-keys": "^3.3.0"
},
"engines": {
@@ -1923,186 +2319,23 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
- "devOptional": true,
- "peer": true,
+ "node_modules/@upstash/redis": {
+ "version": "1.20.6",
+ "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.20.6.tgz",
+ "integrity": "sha512-q1izaYEUsq/WiXNOjf4oOjFZe8fIeBSZN8d5cEyOD4nem+zxc4jccieorQQrNlEahKPE1ZYLzVEkMODRUfch2g==",
"dependencies": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
+ "isomorphic-fetch": "^3.0.0"
}
},
- "node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
- "devOptional": true,
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
- "devOptional": true,
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
- "devOptional": true,
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
- "devOptional": true,
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "node_modules/@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
- "devOptional": true,
- "peer": true
- },
- "node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "devOptional": true,
- "peer": true
- },
- "node_modules/@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "devOptional": true,
- "peer": true
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
"node_modules/acorn": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
- "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
- "devOptional": true,
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"bin": {
"acorn": "bin/acorn"
},
@@ -2110,55 +2343,23 @@
"node": ">=0.4.0"
}
},
- "node_modules/acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
- "devOptional": true,
- "peer": true,
- "peerDependencies": {
- "acorn": "^8"
- }
- },
"node_modules/acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
- "node_modules/acorn-node": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
- "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
- "dev": true,
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dependencies": {
- "acorn": "^7.0.0",
- "acorn-walk": "^7.0.0",
- "xtend": "^4.0.2"
- }
- },
- "node_modules/acorn-node/node_modules/acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
+ "debug": "4"
},
"engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
- "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
+ "node": ">= 6.0.0"
}
},
"node_modules/ajv": {
@@ -2176,38 +2377,18 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "devOptional": true,
- "peerDependencies": {
- "ajv": "^6.9.1"
- }
- },
"node_modules/ansi-colors": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
"integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true,
"engines": {
"node": ">=6"
}
},
- "node_modules/ansi-escapes": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
- "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -2216,7 +2397,6 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -2227,16 +2407,15 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/any-base": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz",
- "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg=="
+ "node_modules/any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
},
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "devOptional": true,
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -2245,23 +2424,51 @@
"node": ">= 8"
}
},
+ "node_modules/aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ },
+ "node_modules/are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/arg": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
- "dev": true
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
},
"node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/aria-hidden": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz",
+ "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
},
"node_modules/aria-query": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
"integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
- "dev": true,
"dependencies": {
"deep-equal": "^2.0.5"
}
@@ -2270,7 +2477,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
"integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"is-array-buffer": "^3.0.1"
@@ -2283,7 +2489,6 @@
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
"integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -2302,7 +2507,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -2311,7 +2515,6 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
"integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -2329,7 +2532,6 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
"integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -2347,7 +2549,6 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz",
"integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -2370,38 +2571,31 @@
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
},
- "node_modules/asn1": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
- "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
- "dependencies": {
- "safer-buffer": "~2.1.0"
- }
- },
- "node_modules/assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
- "engines": {
- "node": ">=0.8"
- }
- },
"node_modules/ast-types-flow": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==",
- "dev": true
+ "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag=="
},
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ "node_modules/astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/attr-accept": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz",
+ "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==",
+ "engines": {
+ "node": ">=4"
+ }
},
"node_modules/autoprefixer": {
"version": "10.4.14",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
"integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -2434,7 +2628,6 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -2442,33 +2635,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/avatar-from-initials": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/avatar-from-initials/-/avatar-from-initials-1.0.3.tgz",
- "integrity": "sha512-8gCqhVreUHUyXL78c0bDZB/lBEzEta9K2FUw4RvV37rzPXuCXZsPJDfka0NC+JMUC3ATGNDA5qOjobBhXYjJew==",
- "dependencies": {
- "string-to-color": "^2.2.2",
- "ui-avatar-svg": "^1.0.0"
- }
- },
- "node_modules/aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/aws4": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
- "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg=="
- },
"node_modules/axe-core": {
- "version": "4.6.3",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz",
- "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==",
- "dev": true,
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.1.tgz",
+ "integrity": "sha512-sCXXUhA+cljomZ3ZAwb8i1p3oOlkABzPy08ZDAoGcYuvtBPlQ1Ytde129ArXyHWDhfeewq7rlx9F+cUx2SSlkg==",
"engines": {
"node": ">=4"
}
@@ -2477,7 +2647,6 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz",
"integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==",
- "dev": true,
"dependencies": {
"deep-equal": "^2.0.5"
}
@@ -2485,65 +2654,52 @@
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
- "node_modules/base64-arraybuffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
- "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==",
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
+ "node_modules/bcrypt": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.0.tgz",
+ "integrity": "sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q==",
+ "hasInstallScript": true,
"dependencies": {
- "tweetnacl": "^0.14.3"
- }
- },
- "node_modules/bcryptjs": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
- "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
- },
- "node_modules/better-path-resolve": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz",
- "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==",
- "dev": true,
- "dependencies": {
- "is-windows": "^1.0.0"
+ "@mapbox/node-pre-gyp": "^1.0.10",
+ "node-addon-api": "^5.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">= 10.0.0"
}
},
- "node_modules/big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "devOptional": true,
+ "node_modules/big-integer": {
+ "version": "1.6.51",
+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
+ "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
"engines": {
- "node": "*"
+ "node": ">=0.6"
}
},
"node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "devOptional": true,
"engines": {
"node": ">=8"
}
},
+ "node_modules/bplist-parser": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
+ "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==",
+ "dependencies": {
+ "big-integer": "^1.6.44"
+ },
+ "engines": {
+ "node": ">= 5.10.0"
+ }
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -2553,7 +2709,6 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "devOptional": true,
"dependencies": {
"fill-range": "^7.0.1"
},
@@ -2574,7 +2729,6 @@
"version": "4.21.5",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
"integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
- "devOptional": true,
"funding": [
{
"type": "opencollective",
@@ -2598,12 +2752,30 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "devOptional": true,
- "peer": true
+ "node_modules/bundle-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz",
+ "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==",
+ "dependencies": {
+ "run-applescript": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/busboy": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
+ "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
+ "dependencies": {
+ "streamsearch": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=10.16.0"
+ }
},
"node_modules/bytes": {
"version": "3.1.0",
@@ -2629,7 +2801,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -2647,7 +2818,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "dev": true,
"engines": {
"node": ">= 6"
}
@@ -2679,9 +2849,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001467",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001467.tgz",
- "integrity": "sha512-cEdN/5e+RPikvl9AHm4uuLXxeCNq8rFsQ+lPHTfe/OtypP3WwnVVbjn+6uBV7PaFL6xUFzTh+sSCOz1rKhcO+Q==",
+ "version": "1.0.30001487",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001487.tgz",
+ "integrity": "sha512-83564Z3yWGqXsh2vaH/mhXfEM0wX+NlBCm1jYHOb97TrTWJEmPTccZgeLTPBUUb0PNVo+oomb7wkimZBIERClA==",
"funding": [
{
"type": "opencollective",
@@ -2690,35 +2860,32 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
]
},
- "node_modules/caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
- },
- "node_modules/cfonts": {
- "version": "2.10.1",
- "resolved": "https://registry.npmjs.org/cfonts/-/cfonts-2.10.1.tgz",
- "integrity": "sha512-l5IcLv4SaOdL/EGR6BpOF5SEro88VcGJJ6+xbvJb+wXi19YC6UeHE/brv7a4vIcLZopnt3Ys3zWeNnyfB04UPg==",
- "dev": true,
+ "node_modules/canvas": {
+ "version": "2.11.2",
+ "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.11.2.tgz",
+ "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==",
+ "hasInstallScript": true,
+ "optional": true,
"dependencies": {
- "chalk": "^4",
- "window-size": "^1.1.1"
- },
- "bin": {
- "cfonts": "bin/index.js"
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "nan": "^2.17.0",
+ "simple-get": "^3.0.3"
},
"engines": {
- "node": ">=10"
+ "node": ">=6"
}
},
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -2730,23 +2897,10 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/chance": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/chance/-/chance-1.1.11.tgz",
- "integrity": "sha512-kqTg3WWywappJPqtgrdvbA380VoXO2eu9VCV895JgbyHsaErXdyHK9LOZ911OvAk6L0obK7kDk9CGs8+oBawVA==",
- "dev": true
- },
- "node_modules/chardet": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
- "dev": true
- },
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "devOptional": true,
"funding": [
{
"type": "individual",
@@ -2769,87 +2923,33 @@
"fsevents": "~2.3.2"
}
},
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "devOptional": true,
+ "node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/class-variance-authority": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.6.0.tgz",
+ "integrity": "sha512-qdRDgfjx3GRb9fpwpSvn+YaidnT7IUJNe4wt5/SWwM+PmUwJUhQRk/8zAyNro0PmVfmen2635UboTjIBXXxy5A==",
"dependencies": {
- "is-glob": "^4.0.1"
+ "clsx": "1.2.1"
},
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/chrome-trace-event": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
- "devOptional": true,
- "peer": true,
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/ci-info": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
- "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/sibiraj-s"
+ "funding": {
+ "url": "https://joebell.co.uk"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.5.5 < 6"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
}
- ],
- "engines": {
- "node": ">=8"
}
},
- "node_modules/classnames": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
- "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
- },
- "node_modules/clear": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/clear/-/clear-0.1.0.tgz",
- "integrity": "sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/cli-color": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.3.2.tgz",
- "integrity": "sha512-Ys/nDhHNRcxrS4EUI2RS/QCUE+61AMuEOj3sWDX+EIHkJWj+4XkRbOdwdxJteAJKjXYBbeFJMtfaEPd1MBF9pQ==",
- "dev": true,
- "dependencies": {
- "d": "~0.1.1",
- "es5-ext": "~0.10.2",
- "memoizee": "0.3.x",
- "timers-ext": "0.1.x"
- }
- },
- "node_modules/cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==",
- "dev": true,
- "dependencies": {
- "restore-cursor": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/cli-width": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
- "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
- "dev": true
- },
"node_modules/client-only": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
@@ -2915,20 +3015,155 @@
"node": ">=6"
}
},
- "node_modules/clui": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/clui/-/clui-0.3.6.tgz",
- "integrity": "sha512-Z4UbgZILlIAjkEkZiDOa2aoYjohKx7fa6DxIh6cE9A6WNWZ61iXfQc6CmdC9SKdS5nO0P0UyQ+WfoXfB65e3HQ==",
- "dev": true,
+ "node_modules/cmdk": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/cmdk/-/cmdk-0.2.0.tgz",
+ "integrity": "sha512-JQpKvEOb86SnvMZbYaFKYhvzFntWBeSZdyii0rZPhKJj9uwJBxu4DaVYDrRN7r3mPop56oPhRw+JYWTKs66TYw==",
"dependencies": {
- "cli-color": "0.3.2"
+ "@radix-ui/react-dialog": "1.0.0",
+ "command-score": "0.1.2"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
+ }
+ },
+ "node_modules/cmdk/node_modules/@radix-ui/react-dialog": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.0.tgz",
+ "integrity": "sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.0",
+ "@radix-ui/react-focus-guards": "1.0.0",
+ "@radix-ui/react-focus-scope": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-portal": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.0",
+ "@radix-ui/react-slot": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.4"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/cmdk/node_modules/@radix-ui/react-dismissable-layer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.0.tgz",
+ "integrity": "sha512-n7kDRfx+LB1zLueRDvZ1Pd0bxdJWDUZNQ/GWoxDn2prnuJKRdxsjulejX/ePkOsLi2tTm6P24mDqlMSgQpsT6g==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.0",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-escape-keydown": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/cmdk/node_modules/@radix-ui/react-focus-scope": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.0.tgz",
+ "integrity": "sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.0",
+ "@radix-ui/react-use-callback-ref": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/cmdk/node_modules/@radix-ui/react-portal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.0.tgz",
+ "integrity": "sha512-a8qyFO/Xb99d8wQdu4o7qnigNjTPG123uADNecz0eX4usnQEj7o+cG4ZX4zkqq98NYekT7UoEQIjxBNWIFuqTA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/cmdk/node_modules/@radix-ui/react-primitive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.0.tgz",
+ "integrity": "sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/cmdk/node_modules/@radix-ui/react-slot": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.0.tgz",
+ "integrity": "sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/cmdk/node_modules/@radix-ui/react-use-escape-keydown": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.0.tgz",
+ "integrity": "sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/cmdk/node_modules/react-remove-scroll": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz",
+ "integrity": "sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==",
+ "dependencies": {
+ "react-remove-scroll-bar": "^2.3.3",
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
"dependencies": {
"color-name": "~1.1.4"
},
@@ -2939,54 +3174,35 @@
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
- "node_modules/colornames": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz",
- "integrity": "sha512-/pyV40IrsdulWv+wFPmERh9k/mjsPZ64yUMDmWrtj/k1nmgrzzIENWKdaVKyBbvFdQWqkcaRxr+polCo3VMe7A=="
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "bin": {
+ "color-support": "bin.js"
}
},
+ "node_modules/command-score": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/command-score/-/command-score-0.1.2.tgz",
+ "integrity": "sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w=="
+ },
"node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "devOptional": true,
- "peer": true
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
- "node_modules/configstore": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz",
- "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==",
- "dev": true,
- "dependencies": {
- "dot-prop": "^4.1.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^1.0.0",
- "unique-string": "^1.0.0",
- "write-file-atomic": "^2.0.0",
- "xdg-basedir": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
},
"node_modules/content-type": {
"version": "1.0.4",
@@ -3004,22 +3220,24 @@
"node": ">= 0.6"
}
},
- "node_modules/core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
- },
- "node_modules/create-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
- "dev": true
+ "node_modules/copy-anything": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.4.tgz",
+ "integrity": "sha512-MaQ9FwzlZ/KLeVCLhzI3rZw0EhrIryfZa3AyT4agVybR0DjlkDHA8898lamLD6kfkf9MMn8D+zDAUR4+GxaymQ==",
+ "dependencies": {
+ "is-what": "^4.1.8"
+ },
+ "engines": {
+ "node": ">=12.13"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mesqueeb"
+ }
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -3029,20 +3247,10 @@
"node": ">= 8"
}
},
- "node_modules/crypto-random-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
- "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
"bin": {
"cssesc": "bin/cssesc"
},
@@ -3051,74 +3259,34 @@
}
},
"node_modules/csstype": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
- "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
- },
- "node_modules/csv": {
- "version": "5.5.3",
- "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz",
- "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==",
- "dev": true,
- "dependencies": {
- "csv-generate": "^3.4.3",
- "csv-parse": "^4.16.3",
- "csv-stringify": "^5.6.5",
- "stream-transform": "^2.1.3"
- },
- "engines": {
- "node": ">= 0.1.90"
- }
- },
- "node_modules/csv-generate": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz",
- "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==",
- "dev": true
- },
- "node_modules/csv-parse": {
- "version": "4.16.3",
- "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz",
- "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==",
- "dev": true
- },
- "node_modules/csv-stringify": {
- "version": "5.6.5",
- "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz",
- "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==",
- "dev": true
- },
- "node_modules/d": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
- "integrity": "sha512-0SdM9V9pd/OXJHoWmTfNPTAeD+lw6ZqHg+isPyBFuJsZLSE0Ygg1cYZ/0l6DrKQXMOqGOu1oWupMoOfoRfMZrQ==",
- "dev": true,
- "dependencies": {
- "es5-ext": "~0.10.2"
- }
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
+ "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"node_modules/damerau-levenshtein": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
- "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
- "dev": true
+ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA=="
},
- "node_modules/dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+ "node_modules/date-fns": {
+ "version": "2.30.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
+ "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
"dependencies": {
- "assert-plus": "^1.0.0"
+ "@babel/runtime": "^7.21.0"
},
"engines": {
- "node": ">=0.10"
+ "node": ">=0.11"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/date-fns"
}
},
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
"dependencies": {
"ms": "2.1.2"
},
@@ -3131,51 +3299,29 @@
}
}
},
- "node_modules/decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/decamelize-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
- "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
- "dev": true,
+ "node_modules/decompress-response": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
+ "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
+ "optional": true,
"dependencies": {
- "decamelize": "^1.1.0",
- "map-obj": "^1.0.0"
+ "mimic-response": "^2.0.0"
},
"engines": {
- "node": ">=0.10.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/decamelize-keys/node_modules/map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
"node_modules/deep-equal": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz",
- "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==",
- "dev": true,
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz",
+ "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==",
"dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
"call-bind": "^1.0.2",
- "es-get-iterator": "^1.1.2",
- "get-intrinsic": "^1.1.3",
+ "es-get-iterator": "^1.1.3",
+ "get-intrinsic": "^1.2.0",
"is-arguments": "^1.1.1",
- "is-array-buffer": "^3.0.1",
+ "is-array-buffer": "^3.0.2",
"is-date-object": "^1.0.5",
"is-regex": "^1.1.4",
"is-shared-array-buffer": "^1.0.2",
@@ -3183,7 +3329,7 @@
"object-is": "^1.1.5",
"object-keys": "^1.1.1",
"object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
+ "regexp.prototype.flags": "^1.5.0",
"side-channel": "^1.0.4",
"which-boxed-primitive": "^1.0.2",
"which-collection": "^1.0.1",
@@ -3196,15 +3342,49 @@
"node_modules/deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
},
- "node_modules/deepmerge": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
- "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+ "node_modules/default-browser": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz",
+ "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==",
+ "dependencies": {
+ "bundle-name": "^3.0.0",
+ "default-browser-id": "^3.0.0",
+ "execa": "^7.1.1",
+ "titleize": "^3.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/default-browser-id": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz",
+ "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==",
+ "dependencies": {
+ "bplist-parser": "^0.2.0",
+ "untildify": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/define-lazy-prop": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
+ "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/defaults": {
@@ -3223,7 +3403,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
"integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
- "dev": true,
"dependencies": {
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
@@ -3235,34 +3414,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/define-property": {
+ "node_modules/delegates": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/defined": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
- "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "engines": {
- "node": ">=0.4.0"
- }
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
},
"node_modules/depd": {
"version": "1.1.2",
@@ -3272,36 +3427,23 @@
"node": ">= 0.6"
}
},
- "node_modules/detect-indent": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
- "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
- "dev": true,
+ "node_modules/detect-libc": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+ "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
"engines": {
"node": ">=8"
}
},
- "node_modules/detective": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
- "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
- "dev": true,
- "dependencies": {
- "acorn-node": "^1.8.2",
- "defined": "^1.0.0",
- "minimist": "^1.2.6"
- },
- "bin": {
- "detective": "bin/detective.js"
- },
- "engines": {
- "node": ">=0.8.0"
- }
+ "node_modules/detect-node-es": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
},
"node_modules/dezalgo": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
- "integrity": "sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+ "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
"dependencies": {
"asap": "^2.0.0",
"wrappy": "1"
@@ -3310,23 +3452,12 @@
"node_modules/didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
- "dev": true
- },
- "node_modules/diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true,
- "engines": {
- "node": ">=0.3.1"
- }
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
},
"node_modules/dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
"dependencies": {
"path-type": "^4.0.0"
},
@@ -3334,17 +3465,20 @@
"node": ">=8"
}
},
+ "node_modules/discontinuous-range": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz",
+ "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ=="
+ },
"node_modules/dlv": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
- "dev": true
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
},
"node_modules/doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
"dependencies": {
"esutils": "^2.0.2"
},
@@ -3352,24 +3486,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/dommatrix": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/dommatrix/-/dommatrix-1.0.3.tgz",
- "integrity": "sha512-l32Xp/TLgWb8ReqbVJAFIvXmY7go4nTxxlWiAFyhoQw9RKEOHBZNnyGvJWqDVSPmq3Y9HlM4npqF/T6VMOXhww==",
- "deprecated": "dommatrix is no longer maintained. Please use @thednp/dommatrix."
- },
- "node_modules/dot-prop": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz",
- "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==",
- "dev": true,
- "dependencies": {
- "is-obj": "^1.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/dotenv": {
"version": "16.0.3",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
@@ -3379,41 +3495,44 @@
"node": ">=12"
}
},
- "node_modules/ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+ "node_modules/dotenv-cli": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/dotenv-cli/-/dotenv-cli-7.2.1.tgz",
+ "integrity": "sha512-ODHbGTskqRtXAzZapDPvgNuDVQApu4oKX8lZW7Y0+9hKA6le1ZJlyRS687oU9FXjOVEDU/VFV6zI125HzhM1UQ==",
+ "dev": true,
"dependencies": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
+ "cross-spawn": "^7.0.3",
+ "dotenv": "^16.0.0",
+ "dotenv-expand": "^10.0.0",
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "dotenv": "cli.js"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz",
+ "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.332",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.332.tgz",
- "integrity": "sha512-c1Vbv5tuUlBFp0mb3mCIjw+REEsgthRgNE8BlbEDKmvzb8rxjcVki6OkQP83vLN34s0XCxpSkq7AZNep1a6xhw==",
- "devOptional": true
+ "version": "1.4.397",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.397.tgz",
+ "integrity": "sha512-jwnPxhh350Q/aMatQia31KAIQdhEsYS0fFZ0BQQlN9tfvOEwShu6ZNwI4kL/xBabjcB/nTy6lSt17kNIluJZ8Q=="
},
"node_modules/emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
- },
- "node_modules/emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "devOptional": true,
- "engines": {
- "node": ">= 4"
- }
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
},
"node_modules/enhanced-resolve": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
- "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
- "devOptional": true,
+ "version": "5.14.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz",
+ "integrity": "sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==",
"dependencies": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
@@ -3423,32 +3542,20 @@
}
},
"node_modules/enquirer": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
- "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==",
- "dev": true,
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
"dependencies": {
- "ansi-colors": "^4.1.1",
- "strip-ansi": "^6.0.1"
+ "ansi-colors": "^4.1.1"
},
"engines": {
"node": ">=8.6"
}
},
- "node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
"node_modules/es-abstract": {
"version": "1.21.2",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz",
"integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==",
- "dev": true,
"dependencies": {
"array-buffer-byte-length": "^1.0.0",
"available-typed-arrays": "^1.0.5",
@@ -3496,7 +3603,6 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
"integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.1.3",
@@ -3512,18 +3618,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
- "devOptional": true,
- "peer": true
- },
"node_modules/es-set-tostringtag": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
"integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
- "dev": true,
"dependencies": {
"get-intrinsic": "^1.1.3",
"has": "^1.0.3",
@@ -3537,7 +3635,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
"integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
- "dev": true,
"dependencies": {
"has": "^1.0.3"
}
@@ -3546,7 +3643,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
"integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
"dependencies": {
"is-callable": "^1.1.4",
"is-date-object": "^1.0.1",
@@ -3559,112 +3655,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/es5-ext": {
- "version": "0.10.62",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
- "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.3",
- "next-tick": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
- "dev": true,
- "dependencies": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "node_modules/es6-iterator/node_modules/d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dev": true,
- "dependencies": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "node_modules/es6-iterator/node_modules/type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
- "dev": true
- },
- "node_modules/es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
- "dev": true,
- "dependencies": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- }
- },
- "node_modules/es6-symbol/node_modules/d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dev": true,
- "dependencies": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "node_modules/es6-symbol/node_modules/type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
- "dev": true
- },
- "node_modules/es6-weak-map": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.4.tgz",
- "integrity": "sha512-P+N5Cd2TXeb7G59euFiM7snORspgbInS29Nbf3KNO2JQp/DyhvMCDWd58nsVAXwYJ6W3Bx7qDdy6QQ3PCJ7jKQ==",
- "dev": true,
- "dependencies": {
- "d": "~0.1.1",
- "es5-ext": "~0.10.6",
- "es6-iterator": "~0.1.3",
- "es6-symbol": "~2.0.1"
- }
- },
- "node_modules/es6-weak-map/node_modules/es6-iterator": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.3.tgz",
- "integrity": "sha512-6TOmbFM6OPWkTe+bQ3ZuUkvqcWUjAnYjKUCLdbvRsAUz2Pr+fYIibwNXNkLNtIK9PPFbNMZZddaRNkyJhlGJhA==",
- "dev": true,
- "dependencies": {
- "d": "~0.1.1",
- "es5-ext": "~0.10.5",
- "es6-symbol": "~2.0.1"
- }
- },
- "node_modules/es6-weak-map/node_modules/es6-symbol": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-2.0.1.tgz",
- "integrity": "sha512-wjobO4zO8726HVU7mI2OA/B6QszqwHJuKab7gKHVx+uRfVVYGcWJkCIFxV2Madqb9/RUSrhJ/r6hPfG7FsWtow==",
- "dev": true,
- "dependencies": {
- "d": "~0.1.1",
- "es5-ext": "~0.10.5"
- }
- },
"node_modules/escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "devOptional": true,
"engines": {
"node": ">=6"
}
@@ -3673,7 +3667,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
"engines": {
"node": ">=10"
},
@@ -3682,70 +3675,102 @@
}
},
"node_modules/eslint": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz",
- "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==",
- "dev": true,
+ "version": "7.32.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
+ "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
"dependencies": {
- "@eslint/eslintrc": "^1.3.3",
- "@humanwhocodes/config-array": "^0.11.6",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
+ "@babel/code-frame": "7.12.11",
+ "@eslint/eslintrc": "^0.4.3",
+ "@humanwhocodes/config-array": "^0.5.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
+ "debug": "^4.0.1",
"doctrine": "^3.0.0",
+ "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.1",
- "eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.3.0",
- "espree": "^9.4.0",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^2.0.0",
+ "espree": "^7.3.1",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.15.0",
- "grapheme-splitter": "^1.0.4",
- "ignore": "^5.2.0",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.1.2",
+ "globals": "^13.6.0",
+ "ignore": "^4.0.6",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-sdsl": "^4.1.4",
- "js-yaml": "^4.1.0",
+ "js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
"lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
+ "minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
- "regexpp": "^3.2.0",
- "strip-ansi": "^6.0.1",
+ "progress": "^2.0.0",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "text-table": "^0.2.0"
+ "table": "^6.0.9",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
},
"bin": {
"eslint": "bin/eslint.js"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^10.12.0 || >=12.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/eslint-config-next": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.0.3.tgz",
- "integrity": "sha512-i2JoQP8gGv303GjXTonA27fm1ckRRkRoAP1WYEQgN0D2DDoFeBPqlJgHlMHnXKWjmNct/sW8jQEvy9am2juc8g==",
+ "node_modules/eslint-config-custom": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-custom/-/eslint-config-custom-0.0.0.tgz",
+ "integrity": "sha512-kwCw78yisbgKdJBJ5qooPmpBYDphDfM2oxSROmtfOwBXBwXuRiSV3suO01W3mVLEFpmQZxMWd/qajKpJhkKSug==",
"dev": true,
"dependencies": {
- "@next/eslint-plugin-next": "13.0.3",
+ "eslint-config-next": "^12.0.8",
+ "eslint-config-prettier": "^8.3.0",
+ "eslint-plugin-react": "7.28.0"
+ }
+ },
+ "node_modules/eslint-config-custom/node_modules/@next/eslint-plugin-next": {
+ "version": "12.3.4",
+ "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.3.4.tgz",
+ "integrity": "sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og==",
+ "dev": true,
+ "dependencies": {
+ "glob": "7.1.7"
+ }
+ },
+ "node_modules/eslint-config-custom/node_modules/doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/eslint-config-custom/node_modules/eslint-config-next": {
+ "version": "12.3.4",
+ "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.3.4.tgz",
+ "integrity": "sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ==",
+ "dev": true,
+ "dependencies": {
+ "@next/eslint-plugin-next": "12.3.4",
"@rushstack/eslint-patch": "^1.1.3",
- "@typescript-eslint/parser": "^5.42.0",
+ "@typescript-eslint/parser": "^5.21.0",
"eslint-import-resolver-node": "^0.3.6",
"eslint-import-resolver-typescript": "^2.7.1",
"eslint-plugin-import": "^2.26.0",
@@ -3763,27 +3788,53 @@
}
}
},
- "node_modules/eslint-import-resolver-node": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
- "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
+ "node_modules/eslint-config-custom/node_modules/eslint-config-next/node_modules/eslint-plugin-react": {
+ "version": "7.32.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz",
+ "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==",
"dev": true,
"dependencies": {
- "debug": "^3.2.7",
- "is-core-module": "^2.11.0",
- "resolve": "^1.22.1"
+ "array-includes": "^3.1.6",
+ "array.prototype.flatmap": "^1.3.1",
+ "array.prototype.tosorted": "^1.1.1",
+ "doctrine": "^2.1.0",
+ "estraverse": "^5.3.0",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "minimatch": "^3.1.2",
+ "object.entries": "^1.1.6",
+ "object.fromentries": "^2.0.6",
+ "object.hasown": "^1.1.2",
+ "object.values": "^1.1.6",
+ "prop-types": "^15.8.1",
+ "resolve": "^2.0.0-next.4",
+ "semver": "^6.3.0",
+ "string.prototype.matchall": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
}
},
- "node_modules/eslint-import-resolver-node/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "node_modules/eslint-config-custom/node_modules/eslint-config-next/node_modules/resolve": {
+ "version": "2.0.0-next.4",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
+ "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
"dev": true,
"dependencies": {
- "ms": "^2.1.1"
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/eslint-import-resolver-typescript": {
+ "node_modules/eslint-config-custom/node_modules/eslint-import-resolver-typescript": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz",
"integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==",
@@ -3803,7 +3854,7 @@
"eslint-plugin-import": "*"
}
},
- "node_modules/eslint-import-resolver-typescript/node_modules/glob": {
+ "node_modules/eslint-config-custom/node_modules/eslint-import-resolver-typescript/node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
@@ -3823,11 +3874,183 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/eslint-module-utils": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
- "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
+ "node_modules/eslint-config-custom/node_modules/eslint-plugin-react": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz",
+ "integrity": "sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==",
"dev": true,
+ "dependencies": {
+ "array-includes": "^3.1.4",
+ "array.prototype.flatmap": "^1.2.5",
+ "doctrine": "^2.1.0",
+ "estraverse": "^5.3.0",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "minimatch": "^3.0.4",
+ "object.entries": "^1.1.5",
+ "object.fromentries": "^2.0.5",
+ "object.hasown": "^1.1.0",
+ "object.values": "^1.1.5",
+ "prop-types": "^15.7.2",
+ "resolve": "^2.0.0-next.3",
+ "semver": "^6.3.0",
+ "string.prototype.matchall": "^4.0.6"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
+ }
+ },
+ "node_modules/eslint-config-custom/node_modules/eslint-plugin-react/node_modules/resolve": {
+ "version": "2.0.0-next.4",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
+ "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/eslint-config-custom/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/eslint-config-next": {
+ "version": "13.4.2",
+ "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.2.tgz",
+ "integrity": "sha512-zjLJ9B9bbeWSo5q+iHfdt8gVYyT+y2BpWDfjR6XMBtFRSMKRGjllDKxnuKBV1q2Y/QpwLM2PXHJTMRyblCmRAg==",
+ "dependencies": {
+ "@next/eslint-plugin-next": "13.4.2",
+ "@rushstack/eslint-patch": "^1.1.3",
+ "@typescript-eslint/parser": "^5.42.0",
+ "eslint-import-resolver-node": "^0.3.6",
+ "eslint-import-resolver-typescript": "^3.5.2",
+ "eslint-plugin-import": "^2.26.0",
+ "eslint-plugin-jsx-a11y": "^6.5.1",
+ "eslint-plugin-react": "^7.31.7",
+ "eslint-plugin-react-hooks": "^4.5.0"
+ },
+ "peerDependencies": {
+ "eslint": "^7.23.0 || ^8.0.0",
+ "typescript": ">=3.3.1"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-config-prettier": {
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz",
+ "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==",
+ "bin": {
+ "eslint-config-prettier": "bin/cli.js"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint-config-turbo": {
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/eslint-config-turbo/-/eslint-config-turbo-1.9.6.tgz",
+ "integrity": "sha512-ZIIfcUZ3kW8owIdC1ykebSGJOmVjUidOin1j7ZxpFDGSGcRc2/r5MBNQ7z347lsJs0rNXk/LpOiFHNbdtE+n6w==",
+ "dependencies": {
+ "eslint-plugin-turbo": "1.9.6"
+ },
+ "peerDependencies": {
+ "eslint": ">6.6.0"
+ }
+ },
+ "node_modules/eslint-import-resolver-node": {
+ "version": "0.3.7",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
+ "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
+ "dependencies": {
+ "debug": "^3.2.7",
+ "is-core-module": "^2.11.0",
+ "resolve": "^1.22.1"
+ }
+ },
+ "node_modules/eslint-import-resolver-node/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-import-resolver-typescript": {
+ "version": "3.5.5",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz",
+ "integrity": "sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==",
+ "dependencies": {
+ "debug": "^4.3.4",
+ "enhanced-resolve": "^5.12.0",
+ "eslint-module-utils": "^2.7.4",
+ "get-tsconfig": "^4.5.0",
+ "globby": "^13.1.3",
+ "is-core-module": "^2.11.0",
+ "is-glob": "^4.0.3",
+ "synckit": "^0.8.5"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts"
+ },
+ "peerDependencies": {
+ "eslint": "*",
+ "eslint-plugin-import": "*"
+ }
+ },
+ "node_modules/eslint-import-resolver-typescript/node_modules/globby": {
+ "version": "13.1.4",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz",
+ "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==",
+ "dependencies": {
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.11",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint-import-resolver-typescript/node_modules/slash": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint-module-utils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz",
+ "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==",
"dependencies": {
"debug": "^3.2.7"
},
@@ -3844,7 +4067,6 @@
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
"dependencies": {
"ms": "^2.1.1"
}
@@ -3853,7 +4075,6 @@
"version": "2.27.5",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz",
"integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==",
- "dev": true,
"dependencies": {
"array-includes": "^3.1.6",
"array.prototype.flat": "^1.3.1",
@@ -3882,7 +4103,6 @@
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
"dependencies": {
"ms": "^2.1.1"
}
@@ -3891,7 +4111,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
"dependencies": {
"esutils": "^2.0.2"
},
@@ -3903,7 +4122,6 @@
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
"bin": {
"semver": "bin/semver.js"
}
@@ -3912,7 +4130,6 @@
"version": "6.7.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz",
"integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.20.7",
"aria-query": "^5.1.3",
@@ -3942,16 +4159,34 @@
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
"bin": {
"semver": "bin/semver.js"
}
},
+ "node_modules/eslint-plugin-prettier": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz",
+ "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==",
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.28.0",
+ "prettier": ">=2.0.0"
+ },
+ "peerDependenciesMeta": {
+ "eslint-config-prettier": {
+ "optional": true
+ }
+ }
+ },
"node_modules/eslint-plugin-react": {
"version": "7.32.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz",
"integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==",
- "dev": true,
"dependencies": {
"array-includes": "^3.1.6",
"array.prototype.flatmap": "^1.3.1",
@@ -3980,7 +4215,6 @@
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
"integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
- "dev": true,
"engines": {
"node": ">=10"
},
@@ -3992,7 +4226,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
"dependencies": {
"esutils": "^2.0.2"
},
@@ -4004,7 +4237,6 @@
"version": "2.0.0-next.4",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
"integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
- "dev": true,
"dependencies": {
"is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
@@ -4021,70 +4253,64 @@
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
"bin": {
"semver": "bin/semver.js"
}
},
+ "node_modules/eslint-plugin-turbo": {
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-turbo/-/eslint-plugin-turbo-1.9.6.tgz",
+ "integrity": "sha512-xxa+gfTg3CG7wKJbkOIqdZw2eXhriORjw/55GDjJiUrNhU4vo1tA+9HDo/glTQygZ22Pj3nxYhxINFnQ/IU3lg==",
+ "peerDependencies": {
+ "eslint": ">6.6.0"
+ }
+ },
"node_modules/eslint-scope": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
- "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
- "dev": true,
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dependencies": {
"esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
+ "estraverse": "^4.1.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-scope/node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "engines": {
+ "node": ">=4.0"
}
},
"node_modules/eslint-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
- "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "dev": true,
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
"dependencies": {
- "eslint-visitor-keys": "^2.0.0"
+ "eslint-visitor-keys": "^1.1.0"
},
"engines": {
- "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+ "node": ">=6"
},
"funding": {
"url": "https://github.com/sponsors/mysticatea"
- },
- "peerDependencies": {
- "eslint": ">=5"
}
},
"node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true,
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
"engines": {
- "node": ">=10"
+ "node": ">=4"
}
},
"node_modules/eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/espree": {
- "version": "9.5.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.0.tgz",
- "integrity": "sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==",
- "dev": true,
- "dependencies": {
- "acorn": "^8.8.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.3.0"
- },
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
+ "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -4092,11 +4318,47 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/eslint/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint/node_modules/ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/espree": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
+ "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "dependencies": {
+ "acorn": "^7.4.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^1.3.0"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/espree/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true,
"bin": {
"esparse": "bin/esparse.js",
"esvalidate": "bin/esvalidate.js"
@@ -4109,7 +4371,6 @@
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
"integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
- "dev": true,
"dependencies": {
"estraverse": "^5.1.0"
},
@@ -4121,7 +4382,6 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "devOptional": true,
"dependencies": {
"estraverse": "^5.2.0"
},
@@ -4133,7 +4393,6 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "devOptional": true,
"engines": {
"node": ">=4.0"
}
@@ -4142,99 +4401,46 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
- "dev": true,
+ "node_modules/execa": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz",
+ "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==",
"dependencies": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- },
- "node_modules/event-emitter/node_modules/d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dev": true,
- "dependencies": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "node_modules/event-emitter/node_modules/type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
- "dev": true
- },
- "node_modules/events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
- "devOptional": true,
- "peer": true,
- "engines": {
- "node": ">=0.8.x"
- }
- },
- "node_modules/ext": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
- "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
- "dev": true,
- "dependencies": {
- "type": "^2.7.2"
- }
- },
- "node_modules/extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- },
- "node_modules/extendable-error": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz",
- "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==",
- "dev": true
- },
- "node_modules/external-editor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
- "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
- "dev": true,
- "dependencies": {
- "chardet": "^0.7.0",
- "iconv-lite": "^0.4.24",
- "tmp": "^0.0.33"
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.1",
+ "human-signals": "^4.3.0",
+ "is-stream": "^3.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^5.1.0",
+ "onetime": "^6.0.0",
+ "signal-exit": "^3.0.7",
+ "strip-final-newline": "^3.0.0"
},
"engines": {
- "node": ">=4"
+ "node": "^14.18.0 || ^16.14.0 || >=18.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
- "node_modules/extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
- "engines": [
- "node >=0.6.0"
- ]
- },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
+ "node_modules/fast-diff": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w=="
+ },
"node_modules/fast-glob": {
"version": "3.2.12",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@@ -4246,18 +4452,6 @@
"node": ">=8.6.0"
}
},
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -4266,56 +4460,20 @@
"node_modules/fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
},
"node_modules/fastq": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
"integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dev": true,
"dependencies": {
"reusify": "^1.0.4"
}
},
- "node_modules/figlet": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.6.0.tgz",
- "integrity": "sha512-31EQGhCEITv6+hi2ORRPyn3bulaV9Fl4xOdR169cBzH/n1UqcxsiSB/noo6SJdD7Kfb1Ljit+IgR1USvF/XbdA==",
- "dev": true,
- "bin": {
- "figlet": "bin/index.js"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==",
- "dev": true,
- "dependencies": {
- "escape-string-regexp": "^1.0.5"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/figures/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
"dependencies": {
"flat-cache": "^3.0.4"
},
@@ -4323,31 +4481,21 @@
"node": "^10.12.0 || >=12.0.0"
}
},
- "node_modules/file-loader": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
- "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
- "devOptional": true,
+ "node_modules/file-selector": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz",
+ "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==",
"dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
+ "tslib": "^2.4.0"
},
"engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "node": ">= 12"
}
},
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "devOptional": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -4359,7 +4507,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
"dependencies": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@@ -4385,7 +4532,6 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
"integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
"dependencies": {
"flatted": "^3.1.0",
"rimraf": "^3.0.2"
@@ -4397,47 +4543,25 @@
"node_modules/flatted": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
- "dev": true
+ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
},
"node_modules/for-each": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
"integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dev": true,
"dependencies": {
"is-callable": "^1.1.3"
}
},
- "node_modules/forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/form-data": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 0.12"
- }
- },
"node_modules/formidable": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.2.5.tgz",
- "integrity": "sha512-GRGDJTWAZ3H+umZbF2bKcqjsTov25zgon1St05ziKdiSw3kxvI+meMJrXx3ylRmuSADOpviSakBuS4yvGCGnSg==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.1.tgz",
+ "integrity": "sha512-0EcS9wCFEzLvfiks7omJ+SiYJAiD+TzK4Pcw1UlUoGnhUxDcMKjt0P7x8wEb0u6OHu8Nb98WG3nxtlF5C7bvUQ==",
"dependencies": {
- "dezalgo": "1.0.3",
- "hexoid": "1.0.0",
- "once": "1.4.0"
+ "dezalgo": "^1.0.4",
+ "hexoid": "^1.0.0",
+ "once": "^1.4.0",
+ "qs": "^6.11.0"
},
"funding": {
"url": "https://ko-fi.com/tunnckoCore/commissions"
@@ -4447,7 +4571,6 @@
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
- "dev": true,
"engines": {
"node": "*"
},
@@ -4456,37 +4579,65 @@
"url": "https://www.patreon.com/infusion"
}
},
- "node_modules/fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
+ "node_modules/framer-motion": {
+ "version": "10.12.12",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.12.12.tgz",
+ "integrity": "sha512-DDCqp60U6hR7aUrXj/BXc/t0Sd/U4ep6w/NZQkw898K+u7s+Vv/P8yxq4WTNA86kU9QCsqOgn1Qhz2DpYK0Oag==",
"dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
+ "tslib": "^2.4.0"
+ },
+ "optionalDependencies": {
+ "@emotion/is-prop-valid": "^0.8.2"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "dependencies": {
+ "minipass": "^3.0.0"
},
"engines": {
- "node": ">=6 <7 || >=8"
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fs-minipass/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
- "peer": true,
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
@@ -4500,7 +4651,6 @@
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
"integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3",
@@ -4514,42 +4664,75 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
+ },
"node_modules/functions-have-names": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
"integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
+ "node_modules/gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ },
"engines": {
- "node": "6.* || 8.* || >= 10.*"
+ "node": ">=10"
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
- "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
+ "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
"dependencies": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
+ "has-proto": "^1.0.1",
"has-symbols": "^1.0.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/get-nonce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+ "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/get-symbol-description": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
"integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.1.1"
@@ -4561,19 +4744,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
- "dependencies": {
- "assert-plus": "^1.0.0"
+ "node_modules/get-tsconfig": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.5.0.tgz",
+ "integrity": "sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==",
+ "funding": {
+ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
}
},
"node_modules/glob": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -4590,29 +4772,20 @@
}
},
"node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dependencies": {
- "is-glob": "^4.0.3"
+ "is-glob": "^4.0.1"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">= 6"
}
},
- "node_modules/glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
- "devOptional": true,
- "peer": true
- },
"node_modules/globals": {
"version": "13.20.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
"integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
- "dev": true,
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -4627,7 +4800,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
"integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
- "dev": true,
"dependencies": {
"define-properties": "^1.1.3"
},
@@ -4642,7 +4814,6 @@
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
"integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
"dependencies": {
"array-union": "^2.1.0",
"dir-glob": "^3.0.1",
@@ -4658,19 +4829,10 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/goober": {
- "version": "2.1.12",
- "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.12.tgz",
- "integrity": "sha512-yXHAvO08FU1JgTXX6Zn6sYCUFfB/OJSX8HHjDSgerZHZmFKAb08cykp5LBw5QnmyMcZyPRMqkdyHUSSzge788Q==",
- "peerDependencies": {
- "csstype": "^3.0.10"
- }
- },
"node_modules/gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dev": true,
"dependencies": {
"get-intrinsic": "^1.1.3"
},
@@ -4681,35 +4843,12 @@
"node_modules/graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "devOptional": true
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
},
"node_modules/grapheme-splitter": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
- "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
- "dev": true
- },
- "node_modules/har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "deprecated": "this library is no longer supported",
- "dependencies": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
+ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
},
"node_modules/hard-rejection": {
"version": "2.1.0",
@@ -4735,7 +4874,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
"integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -4744,7 +4882,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "devOptional": true,
"engines": {
"node": ">=8"
}
@@ -4753,7 +4890,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
"integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dev": true,
"dependencies": {
"get-intrinsic": "^1.1.1"
},
@@ -4765,7 +4901,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
"integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -4788,7 +4923,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
"integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
"dependencies": {
"has-symbols": "^1.0.2"
},
@@ -4799,16 +4933,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/hex-rgb": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-4.3.0.tgz",
- "integrity": "sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==",
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
},
"node_modules/hexoid": {
"version": "1.0.0",
@@ -4818,12 +4946,6 @@
"node": ">=8"
}
},
- "node_modules/hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true
- },
"node_modules/http-errors": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
@@ -4839,18 +4961,24 @@
"node": ">= 0.6"
}
},
- "node_modules/http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dependencies": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
+ "agent-base": "6",
+ "debug": "4"
},
"engines": {
- "node": ">=0.8",
- "npm": ">=1.3.7"
+ "node": ">= 6"
+ }
+ },
+ "node_modules/human-signals": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
+ "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
+ "engines": {
+ "node": ">=14.18.0"
}
},
"node_modules/human-id": {
@@ -4874,22 +5002,14 @@
"version": "5.2.4",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
"integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "dev": true,
"engines": {
"node": ">= 4"
}
},
- "node_modules/immutable": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
- "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==",
- "devOptional": true
- },
"node_modules/import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -4905,7 +5025,6 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
"engines": {
"node": ">=0.8.19"
}
@@ -4923,7 +5042,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dev": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -4934,127 +5052,10 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
- "node_modules/inquirer": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
- "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
- "dev": true,
- "dependencies": {
- "ansi-escapes": "^3.2.0",
- "chalk": "^2.4.2",
- "cli-cursor": "^2.1.0",
- "cli-width": "^2.0.0",
- "external-editor": "^3.0.3",
- "figures": "^2.0.0",
- "lodash": "^4.17.12",
- "mute-stream": "0.0.7",
- "run-async": "^2.2.0",
- "rxjs": "^6.4.0",
- "string-width": "^2.1.0",
- "strip-ansi": "^5.1.0",
- "through": "^2.3.6"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/inquirer/node_modules/ansi-regex": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/inquirer/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/inquirer/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/inquirer/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/inquirer/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "node_modules/inquirer/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/inquirer/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/inquirer/node_modules/strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^4.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/inquirer/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/internal-slot": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
"integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
- "dev": true,
"dependencies": {
"get-intrinsic": "^1.2.0",
"has": "^1.0.3",
@@ -5064,23 +5065,18 @@
"node": ">= 0.4"
}
},
- "node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
"dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "loose-envify": "^1.0.0"
}
},
"node_modules/is-arguments": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
"integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
@@ -5096,7 +5092,6 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
"integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.2.0",
@@ -5106,17 +5101,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true
- },
"node_modules/is-bigint": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
"integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dev": true,
"dependencies": {
"has-bigints": "^1.0.1"
},
@@ -5128,7 +5116,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "devOptional": true,
"dependencies": {
"binary-extensions": "^2.0.0"
},
@@ -5140,7 +5127,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
"integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
@@ -5152,17 +5138,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
"node_modules/is-callable": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
"integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -5183,10 +5162,9 @@
}
},
"node_modules/is-core-module": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
- "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
- "dev": true,
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz",
+ "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==",
"dependencies": {
"has": "^1.0.3"
},
@@ -5194,23 +5172,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/is-date-object": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
"integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dev": true,
"dependencies": {
"has-tostringtag": "^1.0.0"
},
@@ -5221,43 +5186,40 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
+ "node_modules/is-docker": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
+ "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
+ "bin": {
+ "is-docker": "cli.js"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "devOptional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
- "dev": true,
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "devOptional": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -5265,11 +5227,27 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-inside-container": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
+ "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
+ "dependencies": {
+ "is-docker": "^3.0.0"
+ },
+ "bin": {
+ "is-inside-container": "cli.js"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-map": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
"integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -5278,7 +5256,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
"integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -5290,7 +5267,6 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "devOptional": true,
"engines": {
"node": ">=0.12.0"
}
@@ -5299,7 +5275,6 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
"integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dev": true,
"dependencies": {
"has-tostringtag": "^1.0.0"
},
@@ -5310,20 +5285,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/is-path-inside": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
"integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -5341,7 +5306,6 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
"integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
@@ -5357,7 +5321,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
"integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -5366,7 +5329,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
"integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2"
},
@@ -5374,11 +5336,21 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
+ "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-string": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
"integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dev": true,
"dependencies": {
"has-tostringtag": "^1.0.0"
},
@@ -5405,7 +5377,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
"integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dev": true,
"dependencies": {
"has-symbols": "^1.0.2"
},
@@ -5420,7 +5391,6 @@
"version": "1.1.10",
"resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
"integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
- "dev": true,
"dependencies": {
"available-typed-arrays": "^1.0.5",
"call-bind": "^1.0.2",
@@ -5435,16 +5405,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
- },
"node_modules/is-weakmap": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
"integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -5453,7 +5417,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
"integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2"
},
@@ -5465,7 +5428,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
"integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.1.1"
@@ -5474,82 +5436,86 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
- "dev": true,
+ "node_modules/is-what": {
+ "version": "4.1.9",
+ "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.9.tgz",
+ "integrity": "sha512-I3FU0rkVvwhgLLEs6iITwZ/JaLXe7tQcHyzupXky8jigt1vu4KM0UOqDr963j36JRvJ835EATVIm6MnGz/i1/g==",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=12.13"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mesqueeb"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-wsl/node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/isarray": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
},
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
- "node_modules/isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
+ "node_modules/isomorphic-fetch": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz",
+ "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==",
+ "dependencies": {
+ "node-fetch": "^2.6.1",
+ "whatwg-fetch": "^3.4.1"
+ }
},
"node_modules/javascript-natural-sort": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
- "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==",
- "dev": true
+ "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw=="
},
- "node_modules/jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/jest-worker/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
+ "node_modules/jiti": {
+ "version": "1.18.2",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
+ "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
+ "bin": {
+ "jiti": "bin/jiti.js"
}
},
"node_modules/jose": {
- "version": "4.13.1",
- "resolved": "https://registry.npmjs.org/jose/-/jose-4.13.1.tgz",
- "integrity": "sha512-MSJQC5vXco5Br38mzaQKiq9mwt7lwj2eXpgpRyQYNHYt2lq1PjkWa7DLXX0WVcQLE9HhMh3jPiufS7fhJf+CLQ==",
+ "version": "4.14.4",
+ "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz",
+ "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==",
"funding": {
"url": "https://github.com/sponsors/panva"
}
},
"node_modules/js-sdsl": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz",
- "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==",
- "dev": true,
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
+ "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/js-sdsl"
@@ -5561,27 +5527,21 @@
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dependencies": {
- "argparse": "^2.0.1"
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
},
"bin": {
"js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
- },
"node_modules/jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
"bin": {
"jsesc": "bin/jsesc"
},
@@ -5589,23 +5549,6 @@
"node": ">=4"
}
},
- "node_modules/json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
- "dev": true
- },
- "node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "devOptional": true
- },
- "node_modules/json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
- },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -5614,54 +5557,23 @@
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true
- },
- "node_modules/json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
},
"node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "devOptional": true,
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+ "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
"bin": {
"json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/jsprim": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
- "dependencies": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
- },
- "engines": {
- "node": ">=0.6.0"
}
},
"node_modules/jsx-ast-utils": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
"integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==",
- "dev": true,
"dependencies": {
"array-includes": "^3.1.5",
"object.assign": "^4.1.3"
@@ -5670,35 +5582,15 @@
"node": ">=4.0"
}
},
- "node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/kleur": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
- "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/language-subtag-registry": {
"version": "0.3.22",
"resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
- "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==",
- "dev": true
+ "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w=="
},
"node_modules/language-tags": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
"integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==",
- "dev": true,
"dependencies": {
"language-subtag-registry": "~0.3.2"
}
@@ -5707,7 +5599,6 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
"dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -5720,7 +5611,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
"integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "dev": true,
"engines": {
"node": ">=10"
}
@@ -5728,108 +5618,12 @@
"node_modules/lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true
- },
- "node_modules/load-json-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/load-json-file/node_modules/pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/load-yaml-file": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz",
- "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.5",
- "js-yaml": "^3.13.0",
- "pify": "^4.0.1",
- "strip-bom": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/load-yaml-file/node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/load-yaml-file/node_modules/js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/load-yaml-file/node_modules/pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/loader-runner": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
- "devOptional": true,
- "peer": true,
- "engines": {
- "node": ">=6.11.5"
- }
- },
- "node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "devOptional": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
},
"node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
"dependencies": {
"p-locate": "^5.0.0"
},
@@ -5843,41 +5637,17 @@
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "node_modules/lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
- "dev": true
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
},
- "node_modules/lodash.padend": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
- "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw=="
- },
- "node_modules/lodash.startcase": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz",
- "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==",
- "dev": true
- },
- "node_modules/lodash.trimstart": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz",
- "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ=="
- },
- "node_modules/lodash.words": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.words/-/lodash.words-4.2.0.tgz",
- "integrity": "sha512-mXxqd8Yx9BGPij3lZKFSdOsjOTbL4krbCCp9slEozaN4EMppA2dFmK/f8HeohodprY6W0vOdiQ5WFgPaTI75xQ=="
+ "node_modules/lodash.truncate": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+ "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw=="
},
"node_modules/loose-envify": {
"version": "1.4.0",
@@ -5901,141 +5671,56 @@
"node": ">=10"
}
},
- "node_modules/lru-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
- "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
- "dev": true,
- "dependencies": {
- "es5-ext": "~0.10.2"
+ "node_modules/lucide-react": {
+ "version": "0.214.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.214.0.tgz",
+ "integrity": "sha512-/vRi1wnFV2lqyIIkghQ3dDLu0eA9zykRQN9GZBwydzv+kB/2Q3S4X6OYB+aRqLXwl438vfVBqyYov2z0LJeoqA==",
+ "peerDependencies": {
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/make-cancellable-promise": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-1.2.1.tgz",
- "integrity": "sha512-nigEn7brgUhjUb2lEobWUW4ZiJdIZ/Wct0UsmDsqaZhgLMvY1OC6FGLa/5SU2RvnyuilkjM7g5JGxt6CJZQGNw==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-1.3.1.tgz",
+ "integrity": "sha512-DWOzWdO3xhY5ESjVR+wVFy03rpt0ZccS4bunccNwngoX6rllKlMZm6S9ZnJ5nMuDDweqDMjtaO0g6tZeh+cCUA==",
"funding": {
"url": "https://github.com/wojtekmaj/make-cancellable-promise?sponsor=1"
}
},
"node_modules/make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
- "dev": true,
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dependencies": {
- "pify": "^3.0.0"
+ "semver": "^6.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/make-dir/node_modules/pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
- "dev": true,
- "engines": {
- "node": ">=4"
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
}
},
- "node_modules/make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true
- },
"node_modules/make-event-props": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-1.4.2.tgz",
- "integrity": "sha512-ZOHqRpLn2htnMd9zqhE+wticVr31PdwrJXHcvEEdKgrfjCOuSDn8urG9SDzEIqzP1ayp1uTdDJcOiTlJhqWpEQ==",
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-1.6.1.tgz",
+ "integrity": "sha512-JhvWq/iz1BvlmnPvLJjXv+xnMPJZuychrDC68V+yCGQJn5chcA8rLGKo5EP1XwIKVrigSXKLmbeXAGkf36wdCQ==",
"funding": {
"url": "https://github.com/wojtekmaj/make-event-props?sponsor=1"
}
},
- "node_modules/map-obj": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
- "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/memoizee": {
- "version": "0.3.10",
- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.3.10.tgz",
- "integrity": "sha512-LLzVUuWwGBKK188spgOK/ukrp5zvd9JGsiLDH41pH9vt5jvhZfsu5pxDuAnYAMG8YEGce72KO07sSBy9KkvOfw==",
- "dev": true,
- "dependencies": {
- "d": "~0.1.1",
- "es5-ext": "~0.10.11",
- "es6-weak-map": "~0.1.4",
- "event-emitter": "~0.3.4",
- "lru-queue": "0.1",
- "next-tick": "~0.2.2",
- "timers-ext": "0.1"
- }
- },
- "node_modules/memoizee/node_modules/next-tick": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz",
- "integrity": "sha512-f7h4svPtl+QidoBv4taKXUjJ70G2asaZ8G28nS0OkqaalX8dwwrtWtyxEDPK62AC00ur/+/E0pUwBwY5EPn15Q==",
- "dev": true
- },
- "node_modules/memorystream": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
- "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
- "dev": true,
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/meow": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz",
- "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==",
- "dev": true,
- "dependencies": {
- "@types/minimist": "^1.2.0",
- "camelcase-keys": "^6.2.2",
- "decamelize-keys": "^1.1.0",
- "hard-rejection": "^2.1.0",
- "minimist-options": "^4.0.2",
- "normalize-package-data": "^2.5.0",
- "read-pkg-up": "^7.0.1",
- "redent": "^3.0.0",
- "trim-newlines": "^3.0.0",
- "type-fest": "^0.13.1",
- "yargs-parser": "^18.1.3"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/meow/node_modules/type-fest": {
- "version": "0.13.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
- "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/merge-refs": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.1.2.tgz",
- "integrity": "sha512-t+FvJw2LXHnNTMRmNB2HY04uVdvCW8AbfwZi0DgUxFEoP20rnvXxZmePRML1nDiLO5KKE0p4GDu1qHhrig/Jpg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.2.1.tgz",
+ "integrity": "sha512-pRPz39HQz2xzHdXAGvtJ9S8aEpNgpUjzb5yPC3ytozodmsHg+9nqgRs7/YOmn9fM/TLzntAC8AdGTidKxOq9TQ==",
"dependencies": {
"@types/react": "*"
},
@@ -6046,15 +5731,12 @@
"node_modules/merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "devOptional": true,
- "peer": true
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
},
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
"engines": {
"node": ">= 8"
}
@@ -6084,7 +5766,6 @@
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
"dependencies": {
"braces": "^3.0.2",
"picomatch": "^2.3.1"
@@ -6093,57 +5774,33 @@
"node": ">=8.6"
}
},
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
- "dev": true,
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
+ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
"engines": {
- "node": ">=4"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/min-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
- "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
- "dev": true,
+ "node_modules/mimic-response": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
+ "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==",
+ "optional": true,
"engines": {
- "node": ">=4"
- }
- },
- "node_modules/mini-svg-data-uri": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
- "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==",
- "dev": true,
- "bin": {
- "mini-svg-data-uri": "cli.js"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -6155,50 +5812,88 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/minimist-options": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
- "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
- "dev": true,
- "dependencies": {
- "arrify": "^1.0.1",
- "is-plain-obj": "^1.1.0",
- "kind-of": "^6.0.3"
- },
+ "node_modules/minipass": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"engines": {
- "node": ">= 6"
+ "node": ">=8"
}
},
- "node_modules/mixme": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.9.tgz",
- "integrity": "sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==",
- "dev": true,
+ "node_modules/minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
"engines": {
- "node": ">= 8.0.0"
+ "node": ">= 8"
}
},
+ "node_modules/minizlib/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/moo": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz",
+ "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q=="
+ },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
- "node_modules/mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==",
- "dev": true
+ "node_modules/mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "dependencies": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "node_modules/nan": {
+ "version": "2.17.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
+ "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==",
+ "optional": true
},
"node_modules/nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+ "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -6209,50 +5904,66 @@
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
},
- "node_modules/neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "devOptional": true,
- "peer": true
+ "node_modules/natural-compare-lite": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g=="
+ },
+ "node_modules/nearley": {
+ "version": "2.20.1",
+ "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz",
+ "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==",
+ "dependencies": {
+ "commander": "^2.19.0",
+ "moo": "^0.5.0",
+ "railroad-diagrams": "^1.0.0",
+ "randexp": "0.4.6"
+ },
+ "bin": {
+ "nearley-railroad": "bin/nearley-railroad.js",
+ "nearley-test": "bin/nearley-test.js",
+ "nearley-unparse": "bin/nearley-unparse.js",
+ "nearleyc": "bin/nearleyc.js"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://nearley.js.org/#give-to-nearley"
+ }
},
"node_modules/next": {
- "version": "13.2.4",
- "resolved": "https://registry.npmjs.org/next/-/next-13.2.4.tgz",
- "integrity": "sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==",
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/next/-/next-13.4.1.tgz",
+ "integrity": "sha512-JBw2kAIyhKDpjhEWvNVoFeIzNp9xNxg8wrthDOtMctfn3EpqGCmW0FSviNyGgOSOSn6zDaX48pmvbdf6X2W9xA==",
"dependencies": {
- "@next/env": "13.2.4",
- "@swc/helpers": "0.4.14",
+ "@next/env": "13.4.1",
+ "@swc/helpers": "0.5.1",
+ "busboy": "1.6.0",
"caniuse-lite": "^1.0.30001406",
"postcss": "8.4.14",
- "styled-jsx": "5.1.1"
+ "styled-jsx": "5.1.1",
+ "zod": "3.21.4"
},
"bin": {
"next": "dist/bin/next"
},
"engines": {
- "node": ">=14.6.0"
+ "node": ">=16.8.0"
},
"optionalDependencies": {
- "@next/swc-android-arm-eabi": "13.2.4",
- "@next/swc-android-arm64": "13.2.4",
- "@next/swc-darwin-arm64": "13.2.4",
- "@next/swc-darwin-x64": "13.2.4",
- "@next/swc-freebsd-x64": "13.2.4",
- "@next/swc-linux-arm-gnueabihf": "13.2.4",
- "@next/swc-linux-arm64-gnu": "13.2.4",
- "@next/swc-linux-arm64-musl": "13.2.4",
- "@next/swc-linux-x64-gnu": "13.2.4",
- "@next/swc-linux-x64-musl": "13.2.4",
- "@next/swc-win32-arm64-msvc": "13.2.4",
- "@next/swc-win32-ia32-msvc": "13.2.4",
- "@next/swc-win32-x64-msvc": "13.2.4"
+ "@next/swc-darwin-arm64": "13.4.1",
+ "@next/swc-darwin-x64": "13.4.1",
+ "@next/swc-linux-arm64-gnu": "13.4.1",
+ "@next/swc-linux-arm64-musl": "13.4.1",
+ "@next/swc-linux-x64-gnu": "13.4.1",
+ "@next/swc-linux-x64-musl": "13.4.1",
+ "@next/swc-win32-arm64-msvc": "13.4.1",
+ "@next/swc-win32-ia32-msvc": "13.4.1",
+ "@next/swc-win32-x64-msvc": "13.4.1"
},
"peerDependencies": {
- "@opentelemetry/api": "^1.4.0",
+ "@opentelemetry/api": "^1.1.0",
"fibers": ">= 3.1.0",
"node-sass": "^6.0.0 || ^7.0.0",
"react": "^18.2.0",
@@ -6275,9 +5986,9 @@
}
},
"node_modules/next-auth": {
- "version": "4.22.0",
- "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.22.0.tgz",
- "integrity": "sha512-08+kjnDoE7aQ52O996x6cwA3ffc2CbHIkrCgLYhbE+aDIJBKI0oA9UbIEIe19/+ODYJgpAHHOtJx4izmsgaVag==",
+ "version": "4.22.1",
+ "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.22.1.tgz",
+ "integrity": "sha512-NTR3f6W7/AWXKw8GSsgSyQcDW6jkslZLH8AiZa5PQ09w1kR8uHtR9rez/E9gAq/o17+p0JYHE8QjF3RoniiObA==",
"dependencies": {
"@babel/runtime": "^7.20.13",
"@panva/hkdf": "^1.0.2",
@@ -6301,20 +6012,17 @@
}
}
},
- "node_modules/next-tick": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
- "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
- "dev": true
- },
- "node_modules/next-transpile-modules": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/next-transpile-modules/-/next-transpile-modules-10.0.0.tgz",
- "integrity": "sha512-FyeJ++Lm2Fq31gbThiRCrJlYpIY9QaI7A3TjuhQLzOix8ChQrvn5ny4MhfIthS5cy6+uK1AhDRvxVdW17y3Xdw==",
- "deprecated": "All features of next-transpile-modules are now natively built-in Next.js 13.1. Please use Next's transpilePackages option :)",
- "dev": true,
- "dependencies": {
- "enhanced-resolve": "^5.10.0"
+ "node_modules/next-plausible": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/next-plausible/-/next-plausible-3.7.2.tgz",
+ "integrity": "sha512-9PqFiVtD1kZO5gHFYTcgilHhg2WhMzD6I4NK/RUh9DGavD1N11IhNAvyGLFmvB3f4FtHC9IoAsauYDtQBt+riA==",
+ "funding": {
+ "url": "https://github.com/4lejandrito/next-plausible?sponsor=1"
+ },
+ "peerDependencies": {
+ "next": "^11.1.0 || ^12.0.0 || ^13.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/next/node_modules/postcss": {
@@ -6340,79 +6048,64 @@
"node": "^10 || ^12 || >=14"
}
},
- "node_modules/nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "dev": true
+ "node_modules/node-addon-api": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz",
+ "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA=="
},
- "node_modules/node-forge": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
- "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
+ "node_modules/node-fetch": {
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
+ "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
"engines": {
- "node": ">= 6.13.0"
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
}
},
"node_modules/node-releases": {
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
- "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
- "devOptional": true
+ "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w=="
},
- "node_modules/node-signpdf": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/node-signpdf/-/node-signpdf-1.5.1.tgz",
- "integrity": "sha512-72pvjj87WOsasSaEXjZCJc4VCFCcAh5mRqznJNqZCqd34KsmwhxoeGA2u03QvQ/p1fm+dA3S17wXIaj7wQzEcQ==",
- "engines": {
- "node": ">=12"
+ "node_modules/node-sql-parser": {
+ "version": "4.6.6",
+ "resolved": "https://registry.npmjs.org/node-sql-parser/-/node-sql-parser-4.6.6.tgz",
+ "integrity": "sha512-zpash5xnRY6+0C9HFru32iRJV1LTkwtrVpO90i385tYVF6efyXK/B3Nsq/15Fuv2utxrqHNjKtL55OHb8sl+eQ==",
+ "dependencies": {
+ "big-integer": "^1.6.48"
},
- "peerDependencies": {
- "node-forge": "^1.2.1"
- }
- },
- "node_modules/nodemailer": {
- "version": "6.9.1",
- "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.1.tgz",
- "integrity": "sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA==",
"engines": {
- "node": ">=6.0.0"
+ "node": ">=8"
}
},
- "node_modules/nodemailer-sendgrid": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/nodemailer-sendgrid/-/nodemailer-sendgrid-1.0.3.tgz",
- "integrity": "sha512-To/veO2M4evjtv1XrY7BUgE+LDypgs/FBx4wOHb2UNTpvZhiARtvMaBI0685Yxkho0lIPJc4jS0cUE7v+XGNgg==",
+ "node_modules/nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
"dependencies": {
- "@sendgrid/mail": "^6.2.1"
- }
- },
- "node_modules/normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dev": true,
- "dependencies": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "node_modules/normalize-package-data/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
+ "abbrev": "1"
+ },
"bin": {
- "semver": "bin/semver"
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "devOptional": true,
"engines": {
"node": ">=0.10.0"
}
@@ -6421,172 +6114,44 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
"integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/npm-run-all": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
- "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
- "dev": true,
+ "node_modules/npm-run-path": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
+ "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
"dependencies": {
- "ansi-styles": "^3.2.1",
- "chalk": "^2.4.1",
- "cross-spawn": "^6.0.5",
- "memorystream": "^0.3.1",
- "minimatch": "^3.0.4",
- "pidtree": "^0.3.0",
- "read-pkg": "^3.0.0",
- "shell-quote": "^1.6.1",
- "string.prototype.padend": "^3.0.0"
- },
- "bin": {
- "npm-run-all": "bin/npm-run-all/index.js",
- "run-p": "bin/run-p/index.js",
- "run-s": "bin/run-s/index.js"
+ "path-key": "^4.0.0"
},
"engines": {
- "node": ">= 4"
- }
- },
- "node_modules/npm-run-all/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
- "engines": {
- "node": ">=4"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/npm-run-all/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "node_modules/npm-run-path/node_modules/path-key": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
+ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
+ "engines": {
+ "node": ">=12"
},
- "engines": {
- "node": ">=4"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/npm-run-all/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
+ "node_modules/npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
"dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/npm-run-all/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "node_modules/npm-run-all/node_modules/cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "dependencies": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "engines": {
- "node": ">=4.8"
- }
- },
- "node_modules/npm-run-all/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/npm-run-all/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/npm-run-all/node_modules/path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/npm-run-all/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/npm-run-all/node_modules/shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm-run-all/node_modules/shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm-run-all/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/npm-run-all/node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
}
},
"node_modules/oauth": {
@@ -6594,14 +6159,6 @@
"resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
"integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA=="
},
- "node_modules/oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "engines": {
- "node": "*"
- }
- },
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -6630,7 +6187,6 @@
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
"integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3"
@@ -6646,7 +6202,6 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
"engines": {
"node": ">= 0.4"
}
@@ -6655,7 +6210,6 @@
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
"integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -6673,7 +6227,6 @@
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz",
"integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -6687,7 +6240,6 @@
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz",
"integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -6704,7 +6256,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz",
"integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==",
- "dev": true,
"dependencies": {
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4"
@@ -6717,7 +6268,6 @@
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
"integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -6731,9 +6281,9 @@
}
},
"node_modules/oidc-token-hash": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz",
- "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.3.tgz",
+ "integrity": "sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==",
"engines": {
"node": "^10.13.0 || >=12.0.0"
}
@@ -6747,26 +6297,45 @@
}
},
"node_modules/onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==",
- "dev": true,
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
+ "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
"dependencies": {
- "mimic-fn": "^1.0.0"
+ "mimic-fn": "^4.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/open": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz",
+ "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==",
+ "dependencies": {
+ "default-browser": "^4.0.0",
+ "define-lazy-prop": "^3.0.0",
+ "is-inside-container": "^1.0.0",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/openid-client": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.4.0.tgz",
- "integrity": "sha512-hgJa2aQKcM2hn3eyVtN12tEA45ECjTJPXCgUh5YzTzy9qwapCvmDTVPWOcWVL0d34zeQoQ/hbG9lJhl3AYxJlQ==",
+ "version": "5.4.2",
+ "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.4.2.tgz",
+ "integrity": "sha512-lIhsdPvJ2RneBm3nGBBhQchpe3Uka//xf7WPHTIglery8gnckvW7Bd9IaQzekzXJvWthCMyi/xVEyGW0RFPytw==",
"dependencies": {
- "jose": "^4.10.0",
+ "jose": "^4.14.1",
"lru-cache": "^6.0.0",
- "object-hash": "^2.0.1",
- "oidc-token-hash": "^5.0.1"
+ "object-hash": "^2.2.0",
+ "oidc-token-hash": "^5.0.3"
},
"funding": {
"url": "https://github.com/sponsors/panva"
@@ -6776,7 +6345,6 @@
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
"integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "dev": true,
"dependencies": {
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
@@ -6789,38 +6357,10 @@
"node": ">= 0.8.0"
}
},
- "node_modules/os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/outdent": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz",
- "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==",
- "dev": true
- },
- "node_modules/p-filter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz",
- "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==",
- "dev": true,
- "dependencies": {
- "p-map": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -6835,7 +6375,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
"dependencies": {
"p-limit": "^3.0.2"
},
@@ -6873,7 +6412,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
"dependencies": {
"callsites": "^3.0.0"
},
@@ -6881,24 +6419,10 @@
"node": ">=6"
}
},
- "node_modules/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
- "dev": true,
- "dependencies": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -6907,7 +6431,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -6916,7 +6439,6 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -6924,14 +6446,20 @@
"node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
"node_modules/path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path2d-polyfill": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path2d-polyfill/-/path2d-polyfill-2.0.1.tgz",
+ "integrity": "sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==",
"engines": {
"node": ">=8"
}
@@ -6953,26 +6481,24 @@
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
},
"node_modules/pdfjs-dist": {
- "version": "2.16.105",
- "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.16.105.tgz",
- "integrity": "sha512-J4dn41spsAwUxCpEoVf6GVoz908IAA3mYiLmNxg8J9kfRXc2jxpbUepcP0ocp0alVNLFthTAM8DZ1RaHh8sU0A==",
+ "version": "3.6.172",
+ "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-3.6.172.tgz",
+ "integrity": "sha512-bfOhCg+S9DXh/ImWhWYTOiq3aVMFSCvzGiBzsIJtdMC71kVWDBw7UXr32xh0y56qc5wMVylIeqV3hBaRsu+e+w==",
"dependencies": {
- "dommatrix": "^1.0.3",
+ "path2d-polyfill": "^2.0.1",
"web-streams-polyfill": "^3.2.1"
},
- "peerDependencies": {
- "worker-loader": "^3.0.8"
+ "engines": {
+ "node": ">=16"
},
- "peerDependenciesMeta": {
- "worker-loader": {
- "optional": true
- }
+ "optionalDependencies": {
+ "canvas": "^2.11.2"
}
},
- "node_modules/performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
+ "node_modules/perfect-freehand": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/perfect-freehand/-/perfect-freehand-1.2.0.tgz",
+ "integrity": "sha512-h/0ikF1M3phW7CwpZ5MMvKnfpHficWoOEyr//KVNTxV4F6deRK1eYMtHyBKEAKFK0aXIEUK9oBvlF6PNXMDsAw=="
},
"node_modules/picocolors": {
"version": "1.0.0",
@@ -6983,7 +6509,6 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "devOptional": true,
"engines": {
"node": ">=8.6"
},
@@ -6991,101 +6516,26 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/pidtree": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
- "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
- "dev": true,
- "bin": {
- "pidtree": "bin/pidtree.js"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "dependencies": {
- "find-up": "^4.0.0"
- },
+ "node_modules/pirates": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
+ "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
"engines": {
- "node": ">=8"
+ "node": ">= 6"
}
},
- "node_modules/pkg-dir/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pkg-dir/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pkg-dir/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/pkg-dir/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/placeholder-loading": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/placeholder-loading/-/placeholder-loading-0.6.0.tgz",
- "integrity": "sha512-KdUnwa3AEuXlem7QeSi4qtny+QfiACUh0P0iYskJBwfg3LtAUMQFyd9L21ysdBQ65KbK6tZ4VsKPkcF3mULwMQ=="
- },
"node_modules/postcss": {
- "version": "8.4.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
- "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
- "dev": true,
+ "version": "8.4.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz",
+ "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==",
"funding": [
{
"type": "opencollective",
@@ -7094,10 +6544,14 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
- "nanoid": "^3.3.4",
+ "nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
@@ -7106,17 +6560,16 @@
}
},
"node_modules/postcss-import": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
- "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
- "dev": true,
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
"dependencies": {
"postcss-value-parser": "^4.0.0",
"read-cache": "^1.0.0",
"resolve": "^1.1.7"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=14.0.0"
},
"peerDependencies": {
"postcss": "^8.0.0"
@@ -7126,7 +6579,6 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
"integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
- "dev": true,
"dependencies": {
"camelcase-css": "^2.0.1"
},
@@ -7142,16 +6594,15 @@
}
},
"node_modules/postcss-load-config": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
- "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
- "dev": true,
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
+ "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
"dependencies": {
"lilconfig": "^2.0.5",
- "yaml": "^1.10.2"
+ "yaml": "^2.1.1"
},
"engines": {
- "node": ">= 10"
+ "node": ">= 14"
},
"funding": {
"type": "opencollective",
@@ -7171,12 +6622,11 @@
}
},
"node_modules/postcss-nested": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
- "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
- "dev": true,
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
+ "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
"dependencies": {
- "postcss-selector-parser": "^6.0.10"
+ "postcss-selector-parser": "^6.0.11"
},
"engines": {
"node": ">=12.0"
@@ -7190,10 +6640,9 @@
}
},
"node_modules/postcss-selector-parser": {
- "version": "6.0.11",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
- "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
- "dev": true,
+ "version": "6.0.13",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
+ "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -7205,13 +6654,12 @@
"node_modules/postcss-value-parser": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
},
"node_modules/preact": {
- "version": "10.13.1",
- "resolved": "https://registry.npmjs.org/preact/-/preact-10.13.1.tgz",
- "integrity": "sha512-KyoXVDU5OqTpG9LXlB3+y639JAGzl8JSBXLn1J9HTSB3gbKcuInga7bZnXLlxmK94ntTs1EFeZp0lrja2AuBYQ==",
+ "version": "10.14.1",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.14.1.tgz",
+ "integrity": "sha512-4XDSnUisk3YFBb3p9WeKeH1mKoxdFUsaXcvxs9wlpYR1wax/TWJVqhwmIWbByX0h7jMEJH6Zc5J6jqc58FKaNQ==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/preact"
@@ -7247,16 +6695,14 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/prettier": {
- "version": "2.8.7",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz",
- "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
- "dev": true,
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
"bin": {
"prettier": "bin-prettier.js"
},
@@ -7267,17 +6713,45 @@
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
+ "node_modules/prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "dependencies": {
+ "fast-diff": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/prettier-plugin-sql": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-sql/-/prettier-plugin-sql-0.14.0.tgz",
+ "integrity": "sha512-dRgINgNd3ZhBDuO/+EFalJjSlAqNXvXv9XDtSCeMufXaP6O64HHLBo1Szo+l+cfvXFxwvkTSGrS+sjpEpSchNA==",
+ "dependencies": {
+ "node-sql-parser": "^4.6.6",
+ "sql-formatter": "^12.2.0",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ },
+ "peerDependencies": {
+ "prettier": "^2.0.0"
+ }
+ },
"node_modules/prettier-plugin-tailwindcss": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.6.tgz",
- "integrity": "sha512-F+7XCl9RLF/LPrGdUMHWpsT6TM31JraonAUyE6eBmpqymFvDwyl0ETHsKFHP1NG+sEfv8bmKqnTxEbWQbHPlBA==",
- "dev": true,
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.8.tgz",
+ "integrity": "sha512-KgPcEnJeIijlMjsA6WwYgRs5rh3/q76oInqtMXBA/EMcamrcYJpyhtRhyX1ayT9hnHlHTuO8sIifHF10WuSDKg==",
"engines": {
"node": ">=12.17.0"
},
"peerDependencies": {
"@ianvs/prettier-plugin-sort-imports": "*",
- "@prettier/plugin-php": "*",
"@prettier/plugin-pug": "*",
"@shopify/prettier-plugin-liquid": "*",
"@shufo/prettier-plugin-blade": "*",
@@ -7297,9 +6771,6 @@
"@ianvs/prettier-plugin-sort-imports": {
"optional": true
},
- "@prettier/plugin-php": {
- "optional": true
- },
"@prettier/plugin-pug": {
"optional": true
},
@@ -7347,12 +6818,12 @@
"integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew=="
},
"node_modules/prisma": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.11.0.tgz",
- "integrity": "sha512-4zZmBXssPUEiX+GeL0MUq/Yyie4ltiKmGu7jCJFnYMamNrrulTBc+D+QwAQSJ01tyzeGHlD13kOnqPwRipnlNw==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.14.0.tgz",
+ "integrity": "sha512-+5dMl1uxMQb4RepndY6AwR9xi1cDcaGFICu+ws6/Nmgt93mFPNj8tYxSfTdmfg+rkNrUId9rk/Ac2vTgLe/oXA==",
"hasInstallScript": true,
"dependencies": {
- "@prisma/engines": "4.11.0"
+ "@prisma/engines": "4.14.0"
},
"bin": {
"prisma": "build/index.js",
@@ -7362,6 +6833,14 @@
"node": ">=14.17"
}
},
+ "node_modules/progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/prop-types": {
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
@@ -7372,17 +6851,6 @@
"react-is": "^16.13.1"
}
},
- "node_modules/pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==",
- "dev": true
- },
- "node_modules/psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
- },
"node_modules/punycode": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
@@ -7392,18 +6860,23 @@
}
},
"node_modules/qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+ "version": "6.11.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
+ "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
"engines": {
"node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -7419,26 +6892,21 @@
}
]
},
- "node_modules/quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "node_modules/railroad-diagrams": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
+ "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A=="
},
- "node_modules/randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "devOptional": true,
- "peer": true,
+ "node_modules/randexp": {
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz",
+ "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==",
"dependencies": {
- "safe-buffer": "^5.1.0"
+ "discontinuous-range": "1.0.0",
+ "ret": "~0.1.10"
+ },
+ "engines": {
+ "node": ">=0.12"
}
},
"node_modules/raw-body": {
@@ -7466,6 +6934,19 @@
"node": ">=0.10.0"
}
},
+ "node_modules/react-day-picker": {
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.7.1.tgz",
+ "integrity": "sha512-Gv426AW8b151CZfh3aP5RUGztLwHB/EyJgWZ5iMgtzbFBkjHfG6Y66CIQFMWGLnYjsQ9DYSJRmJ5S0Pg5HWKjA==",
+ "funding": {
+ "type": "individual",
+ "url": "https://github.com/sponsors/gpbl"
+ },
+ "peerDependencies": {
+ "date-fns": "^2.28.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/react-dom": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
@@ -7478,23 +6959,26 @@
"react": "^18.2.0"
}
},
- "node_modules/react-draggable": {
- "version": "4.4.5",
- "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.5.tgz",
- "integrity": "sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==",
+ "node_modules/react-dropzone": {
+ "version": "14.2.3",
+ "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz",
+ "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==",
"dependencies": {
- "clsx": "^1.1.1",
+ "attr-accept": "^2.2.2",
+ "file-selector": "^0.6.0",
"prop-types": "^15.8.1"
},
+ "engines": {
+ "node": ">= 10.13"
+ },
"peerDependencies": {
- "react": ">= 16.3.0",
- "react-dom": ">= 16.3.0"
+ "react": ">= 16.8 || 18.0.0"
}
},
"node_modules/react-hook-form": {
- "version": "7.43.6",
- "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.43.6.tgz",
- "integrity": "sha512-zEXpju7XnrszIW5AMIjGw3ta/NmhkXG02fnSbIt4MfCegdQhmLkAfeM8bba87Co3oyBDsp8wONP8POcRToPBVw==",
+ "version": "7.43.9",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.43.9.tgz",
+ "integrity": "sha512-AUDN3Pz2NSeoxQ7Hs6OhQhDr6gtF9YRuutGDwPQqhSUAHJSgGl2VeY3qN19MG0SucpjgDiuMJ4iC5T5uB+eaNQ==",
"engines": {
"node": ">=12.22.0"
},
@@ -7506,19 +6990,12 @@
"react": "^16.8.0 || ^17 || ^18"
}
},
- "node_modules/react-hot-toast": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.0.tgz",
- "integrity": "sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==",
- "dependencies": {
- "goober": "^2.1.10"
- },
- "engines": {
- "node": ">=10"
- },
+ "node_modules/react-icons": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.8.0.tgz",
+ "integrity": "sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg==",
"peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
+ "react": "*"
}
},
"node_modules/react-is": {
@@ -7527,16 +7004,15 @@
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"node_modules/react-pdf": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-6.2.2.tgz",
- "integrity": "sha512-huNWhzzTAb3t1mWA6WOR9yQRCbcZ6uXCGC46cEAgEhGqvXTB6RcHm+1DS2r9OdPNUZ9SZTuR6jZ1BNOJIiEing==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-7.1.1.tgz",
+ "integrity": "sha512-VOtv3d3lDY5gRpNgpySpJGYwIdZsqBmwvnPUZtvSeQfgtJQLXOCw2KVWFj15hHCIv1GJmSiojqNEDLsx+lOpgw==",
"dependencies": {
- "@babel/runtime": "^7.0.0",
"clsx": "^1.2.1",
"make-cancellable-promise": "^1.0.0",
- "make-event-props": "^1.1.0",
- "merge-refs": "^1.0.0",
- "pdfjs-dist": "2.16.105",
+ "make-event-props": "^1.5.0",
+ "merge-refs": "^1.1.3",
+ "pdfjs-dist": "3.6.172",
"prop-types": "^15.6.2",
"tiny-invariant": "^1.0.0",
"tiny-warning": "^1.0.0"
@@ -7545,217 +7021,104 @@
"url": "https://github.com/wojtekmaj/react-pdf?sponsor=1"
},
"peerDependencies": {
- "file-loader": "^6.0.0",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/react-remove-scroll": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
+ "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==",
+ "dependencies": {
+ "react-remove-scroll-bar": "^2.3.3",
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
},
"peerDependenciesMeta": {
- "file-loader": {
+ "@types/react": {
"optional": true
}
}
},
- "node_modules/react-resizable": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/react-resizable/-/react-resizable-3.0.4.tgz",
- "integrity": "sha512-StnwmiESiamNzdRHbSSvA65b0ZQJ7eVQpPusrSmcpyGKzC0gojhtO62xxH6YOBmepk9dQTBi9yxidL3W4s3EBA==",
+ "node_modules/react-remove-scroll-bar": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz",
+ "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==",
"dependencies": {
- "prop-types": "15.x",
- "react-draggable": "^4.0.3"
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
},
"peerDependencies": {
- "react": ">= 16.3"
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
}
},
- "node_modules/react-signature-canvas": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/react-signature-canvas/-/react-signature-canvas-1.0.6.tgz",
- "integrity": "sha512-NoMHomYu9HxFeLjUGbIeV9abPdWSROfFxFNDekGdwmmaIx+w5ziOEiU2C34X0Ao4GxFnwqyUy/BpYlA4lCD1CA==",
- "dependencies": {
- "signature_pad": "^2.3.2",
- "trim-canvas": "^0.1.0"
- },
+ "node_modules/react-ssr-prepass": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/react-ssr-prepass/-/react-ssr-prepass-1.5.0.tgz",
+ "integrity": "sha512-yFNHrlVEReVYKsLI5lF05tZoHveA5pGzjFbFJY/3pOqqjGOmMmqx83N4hIjN2n6E1AOa+eQEUxs3CgRnPmT0RQ==",
"peerDependencies": {
- "prop-types": "^15.5.8",
- "react": "0.14 - 18",
- "react-dom": "0.14 - 18"
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/react-tooltip": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.10.0.tgz",
- "integrity": "sha512-9qhzkWJNBXf/ajD84e4eIMUgpZW/x+q0QaVjBcELImrH8UHcW1nlIEQOeKsgKgZfqT2vrQho2Dhfh0eALcjTJQ==",
+ "node_modules/react-style-singleton": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
+ "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
"dependencies": {
- "@floating-ui/dom": "1.2.3",
- "classnames": "^2.3.2"
+ "get-nonce": "^1.0.0",
+ "invariant": "^2.2.4",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
},
"peerDependencies": {
- "react": ">=16.14.0",
- "react-dom": ">=16.14.0"
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
}
},
"node_modules/read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
"integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "dev": true,
"dependencies": {
"pify": "^2.3.0"
}
},
- "node_modules/read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
- "dev": true,
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dependencies": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
},
"engines": {
- "node": ">=4"
- }
- },
- "node_modules/read-pkg-up": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
- "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
- "dev": true,
- "dependencies": {
- "find-up": "^4.1.0",
- "read-pkg": "^5.2.0",
- "type-fest": "^0.8.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/read-pkg-up/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/read-pkg-up/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/read-pkg-up/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/read-pkg-up/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/read-pkg-up/node_modules/parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/read-pkg-up/node_modules/read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
- "dev": true,
- "dependencies": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/read-pkg-up/node_modules/read-pkg/node_modules/type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/read-pkg-up/node_modules/type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/read-pkg/node_modules/path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true,
- "dependencies": {
- "pify": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/read-pkg/node_modules/pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
- "dev": true,
- "engines": {
- "node": ">=4"
+ "node": ">= 6"
}
},
"node_modules/read-yaml-file": {
@@ -7808,7 +7171,6 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "devOptional": true,
"dependencies": {
"picomatch": "^2.2.1"
},
@@ -7835,14 +7197,13 @@
"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
},
"node_modules/regexp.prototype.flags": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
- "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
- "dev": true,
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz",
+ "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==",
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
+ "define-properties": "^1.2.0",
+ "functions-have-names": "^1.2.3"
},
"engines": {
"node": ">= 0.4"
@@ -7855,7 +7216,6 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
"integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true,
"engines": {
"node": ">=8"
},
@@ -7863,57 +7223,12 @@
"url": "https://github.com/sponsors/mysticatea"
}
},
- "node_modules/request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
- "dependencies": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"engines": {
- "node": ">= 6"
- }
- },
- "node_modules/request/node_modules/form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 0.12"
- }
- },
- "node_modules/request/node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
- "bin": {
- "uuid": "bin/uuid"
+ "node": ">=0.10.0"
}
},
"node_modules/require-directory": {
@@ -7932,12 +7247,11 @@
"dev": true
},
"node_modules/resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
- "dev": true,
+ "version": "1.22.2",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
+ "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
"dependencies": {
- "is-core-module": "^2.9.0",
+ "is-core-module": "^2.11.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -7952,47 +7266,31 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
"engines": {
"node": ">=4"
}
},
- "node_modules/restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==",
- "dev": true,
- "dependencies": {
- "onetime": "^2.0.0",
- "signal-exit": "^3.0.2"
- },
+ "node_modules/ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"engines": {
- "node": ">=4"
+ "node": ">=0.12"
}
},
"node_modules/reusify": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
}
},
- "node_modules/rgb-hex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/rgb-hex/-/rgb-hex-3.0.0.tgz",
- "integrity": "sha512-8h7ZcwxCBDKvchSWbWngJuSCqJGQ6nDuLLg+QcRyQDbX9jMWt+PpPeXAhSla0GOooEomk3lCprUpGkMdsLjKyg==",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
"dependencies": {
"glob": "^7.1.3"
},
@@ -8003,20 +7301,106 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/run-async": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
- "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
- "dev": true,
+ "node_modules/run-applescript": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz",
+ "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==",
+ "dependencies": {
+ "execa": "^5.0.0"
+ },
"engines": {
- "node": ">=0.12.0"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/run-applescript/node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/run-applescript/node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/run-applescript/node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/run-applescript/node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/run-applescript/node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/run-applescript/node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/run-applescript/node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -8035,24 +7419,6 @@
"queue-microtask": "^1.2.2"
}
},
- "node_modules/rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "dev": true,
- "dependencies": {
- "tslib": "^1.9.0"
- },
- "engines": {
- "npm": ">=2.0.0"
- }
- },
- "node_modules/rxjs/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -8076,7 +7442,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
"integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.1.3",
@@ -8091,23 +7456,6 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
- "node_modules/sass": {
- "version": "1.59.3",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.59.3.tgz",
- "integrity": "sha512-QCq98N3hX1jfTCoUAsF3eyGuXLsY7BCnCEg9qAact94Yc21npG2/mVOqoDvE0fCbWDqiM4WlcJQla0gWG2YlxQ==",
- "devOptional": true,
- "dependencies": {
- "chokidar": ">=3.0.0 <4.0.0",
- "immutable": "^4.0.0",
- "source-map-js": ">=0.6.2 <2.0.0"
- },
- "bin": {
- "sass": "sass.js"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
"node_modules/scheduler": {
"version": "0.23.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
@@ -8116,29 +7464,10 @@
"loose-envify": "^1.1.0"
}
},
- "node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "devOptional": true,
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+ "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -8149,15 +7478,10 @@
"node": ">=10"
}
},
- "node_modules/serialize-javascript": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
- "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "randombytes": "^2.1.0"
- }
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
},
"node_modules/set-blocking": {
"version": "2.0.0",
@@ -8174,7 +7498,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -8186,28 +7509,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shell-quote": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
- "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/short-uuid": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/short-uuid/-/short-uuid-4.2.2.tgz",
- "integrity": "sha512-IE7hDSGV2U/VZoCsjctKX6l5t5ak2jE0+aeGJi3KtvjIUNuZVmHVYUjNBhmo369FIWGDtaieRaO8A83Lvwfpqw==",
- "dependencies": {
- "any-base": "^1.1.0",
- "uuid": "^8.3.2"
- },
"engines": {
"node": ">=8"
}
@@ -8228,183 +7529,67 @@
"node_modules/signal-exit": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
},
- "node_modules/signature_pad": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-2.3.2.tgz",
- "integrity": "sha512-peYXLxOsIY6MES2TrRLDiNg2T++8gGbpP2yaC+6Ohtxr+a2dzoaqWosWDY9sWqTAAk6E/TyQO+LJw9zQwyu5kA=="
+ "node_modules/simple-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "optional": true
+ },
+ "node_modules/simple-get": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz",
+ "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==",
+ "optional": true,
+ "dependencies": {
+ "decompress-response": "^4.2.0",
+ "once": "^1.3.1",
+ "simple-concat": "^1.0.0"
+ }
},
"node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
"engines": {
"node": ">=8"
}
},
- "node_modules/smartwrap": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/smartwrap/-/smartwrap-2.0.2.tgz",
- "integrity": "sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==",
- "dev": true,
- "dependencies": {
- "array.prototype.flat": "^1.2.3",
- "breakword": "^1.0.5",
- "grapheme-splitter": "^1.0.4",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1",
- "yargs": "^15.1.0"
- },
- "bin": {
- "smartwrap": "src/terminal-adapter.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/smartwrap/node_modules/cliui": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
- }
- },
- "node_modules/smartwrap/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/smartwrap/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/smartwrap/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/smartwrap/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/smartwrap/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/smartwrap/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/smartwrap/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/smartwrap/node_modules/wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "dev": true,
+ "node_modules/slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dependencies": {
"ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
},
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/smartwrap/node_modules/y18n": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
- "dev": true
- },
- "node_modules/smartwrap/node_modules/yargs": {
- "version": "15.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
- "dev": true,
- "dependencies": {
- "cliui": "^6.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^4.1.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^4.2.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^18.1.2"
+ "node": ">=10"
},
- "engines": {
- "node": ">=8"
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
}
},
"node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "devOptional": true,
- "peer": true,
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
"engines": {
"node": ">=0.10.0"
}
@@ -8417,149 +7602,28 @@
"node": ">=0.10.0"
}
},
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/spawndamnit": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz",
- "integrity": "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^5.1.0",
- "signal-exit": "^3.0.2"
- }
- },
- "node_modules/spawndamnit/node_modules/cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "node_modules/spawndamnit/node_modules/lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "dev": true,
- "dependencies": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "node_modules/spawndamnit/node_modules/shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/spawndamnit/node_modules/shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/spawndamnit/node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "node_modules/spawndamnit/node_modules/yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
- "dev": true
- },
- "node_modules/spdx-correct": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
- "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
- "dev": true,
- "dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
- "dev": true
- },
- "node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dev": true,
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/spdx-license-ids": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
- "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
- "dev": true
- },
"node_modules/sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
},
- "node_modules/sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "node_modules/sql-formatter": {
+ "version": "12.2.0",
+ "resolved": "https://registry.npmjs.org/sql-formatter/-/sql-formatter-12.2.0.tgz",
+ "integrity": "sha512-wNsPUdOD6nnN9RUgHlNprQtm+iLW5LTOy/T0/2DDr2UeWSP8mvlQHrx6TY+IG1nfu5Kipq9GaOtS9SVq8s0Vig==",
"dependencies": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
+ "argparse": "^2.0.1",
+ "nearley": "^2.20.1"
},
"bin": {
- "sshpk-conv": "bin/sshpk-conv",
- "sshpk-sign": "bin/sshpk-sign",
- "sshpk-verify": "bin/sshpk-verify"
- },
- "engines": {
- "node": ">=0.10.0"
+ "sql-formatter": "bin/sql-formatter-cli.cjs"
}
},
+ "node_modules/sql-formatter/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
"node_modules/statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
@@ -8572,7 +7636,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
"integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
- "dev": true,
"dependencies": {
"internal-slot": "^1.0.4"
},
@@ -8580,67 +7643,44 @@
"node": ">= 0.4"
}
},
- "node_modules/stream-transform": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz",
- "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==",
- "dev": true,
- "dependencies": {
- "mixme": "^0.5.1"
+ "node_modules/streamsearch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
+ "engines": {
+ "node": ">=10.0.0"
}
},
- "node_modules/string-to-color": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/string-to-color/-/string-to-color-2.2.2.tgz",
- "integrity": "sha512-XeA2goP7PNsSlz8RRn6KhYswnMf5Tl+38ajfy8n4oZJyMGC4qqKgHNHsZ/3qwvr42NRIjf9eSr721SyetDeMkA==",
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dependencies": {
- "colornames": "^1.1.1",
- "hex-rgb": "^4.1.0",
- "lodash.padend": "^4.6.1",
- "lodash.trimstart": "^4.5.1",
- "lodash.words": "^4.2.0",
- "rgb-hex": "^3.0.0"
+ "safe-buffer": "~5.2.0"
}
},
"node_modules/string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dependencies": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
},
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
- "node_modules/string-width/node_modules/ansi-regex": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
- "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/string-width/node_modules/strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
+ "node_modules/string-width/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"node_modules/string.prototype.matchall": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz",
"integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -8655,28 +7695,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/string.prototype.padend": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz",
- "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/string.prototype.trim": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
"integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -8693,7 +7715,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
"integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -8707,7 +7728,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
"integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -8721,7 +7741,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -8733,28 +7752,25 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
"integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true,
"engines": {
"node": ">=4"
}
},
- "node_modules/strip-indent": {
+ "node_modules/strip-final-newline": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
- "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
- "dev": true,
- "dependencies": {
- "min-indent": "^1.0.0"
- },
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
+ "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
"engines": {
- "node": ">=8"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
"engines": {
"node": ">=8"
},
@@ -8763,9 +7779,9 @@
}
},
"node_modules/stripe": {
- "version": "12.4.0",
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-12.4.0.tgz",
- "integrity": "sha512-QjZRzKi3wf8TsuJf/fd6/ejfPgwNptDIzFogRWaRzP3oMJnSD73I2YxR0Eje5zfrU8FmddYWZYawoUejqN+o1w==",
+ "version": "12.7.0",
+ "resolved": "https://registry.npmjs.org/stripe/-/stripe-12.7.0.tgz",
+ "integrity": "sha512-4yY9gNFznBI6fZtR0B4y2a+o2EJe+s7p4DiHECKphwa36zYIczpWzO1g4dF0PF3lhTRw5FWTaHGBjwaD5FEiDQ==",
"dependencies": {
"@types/node": ">=8.1.0",
"qs": "^6.11.0"
@@ -8774,149 +7790,6 @@
"node": ">=12.*"
}
},
- "node_modules/stripe-cli": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/stripe-cli/-/stripe-cli-0.1.0.tgz",
- "integrity": "sha512-P7VrZrBDGh4z2Nu2+1t+XPJLqlbI1LtsUdhjd6HUOQ3O1VW6Vc9XaFiW1Kn779rwDLrU39OZi7Pq6x1ShCALnw==",
- "dev": true,
- "dependencies": {
- "cfonts": "^2.3.0",
- "chalk": "^2.4.1",
- "chance": "^1.0.17",
- "clear": "^0.1.0",
- "clui": "^0.3.6",
- "configstore": "^4.0.0",
- "figlet": "^1.2.1",
- "inquirer": "^6.2.1",
- "minimist": "^1.2.0",
- "stripe": "^6.17.0"
- }
- },
- "node_modules/stripe-cli/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/stripe-cli/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/stripe-cli/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/stripe-cli/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "node_modules/stripe-cli/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/stripe-cli/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/stripe-cli/node_modules/qs": {
- "version": "6.11.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz",
- "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==",
- "dev": true,
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/stripe-cli/node_modules/stripe": {
- "version": "6.36.0",
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-6.36.0.tgz",
- "integrity": "sha512-7vjyVO4NCWvX38CH1AuSQH16uRxcQN+UhUTBPs4UHsIl5+SJXLBvCsHrMgd+bY9k1YDliT0fQB1fH9OI3GrEhw==",
- "dev": true,
- "dependencies": {
- "lodash.isplainobject": "^4.0.6",
- "qs": "^6.6.0",
- "safe-buffer": "^5.1.1",
- "uuid": "^3.3.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/stripe-cli/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/stripe-cli/node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
- "dev": true,
- "bin": {
- "uuid": "bin/uuid"
- }
- },
- "node_modules/stripe/node_modules/qs": {
- "version": "6.11.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz",
- "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==",
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/styled-jsx": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz",
@@ -8939,11 +7812,69 @@
}
}
},
+ "node_modules/sucrase": {
+ "version": "3.32.0",
+ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz",
+ "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "commander": "^4.0.0",
+ "glob": "7.1.6",
+ "lines-and-columns": "^1.1.6",
+ "mz": "^2.7.0",
+ "pirates": "^4.0.1",
+ "ts-interface-checker": "^0.1.9"
+ },
+ "bin": {
+ "sucrase": "bin/sucrase",
+ "sucrase-node": "bin/sucrase-node"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/sucrase/node_modules/commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/sucrase/node_modules/glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/superjson": {
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/superjson/-/superjson-1.12.3.tgz",
+ "integrity": "sha512-0j+U70KUtP8+roVPbwfqkyQI7lBt7ETnuA7KXbTDX3mCKiD/4fXs2ldKSMdt0MCfpTwiMxo20yFU3vu6ewETpQ==",
+ "dependencies": {
+ "copy-anything": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -8955,7 +7886,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -8963,52 +7893,125 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/tailwindcss": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz",
- "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==",
- "dev": true,
+ "node_modules/synckit": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
+ "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==",
"dependencies": {
+ "@pkgr/utils": "^2.3.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
+ "node_modules/table": {
+ "version": "6.8.1",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
+ "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
+ "dependencies": {
+ "ajv": "^8.0.1",
+ "lodash.truncate": "^4.4.2",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/table/node_modules/ajv": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/table/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "node_modules/tailwind-merge": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.12.0.tgz",
+ "integrity": "sha512-Y17eDp7FtN1+JJ4OY0Bqv9OA41O+MS8c1Iyr3T6JFLnOgLg3EvcyMKZAnQ8AGyvB5Nxm3t9Xb5Mhe139m8QT/g==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/dcastil"
+ }
+ },
+ "node_modules/tailwindcss": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz",
+ "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==",
+ "dependencies": {
+ "@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
"chokidar": "^3.5.3",
- "color-name": "^1.1.4",
- "detective": "^5.2.1",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
"fast-glob": "^3.2.12",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
- "lilconfig": "^2.0.6",
+ "jiti": "^1.18.2",
+ "lilconfig": "^2.1.0",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
"object-hash": "^3.0.0",
"picocolors": "^1.0.0",
- "postcss": "^8.0.9",
- "postcss-import": "^14.1.0",
- "postcss-js": "^4.0.0",
- "postcss-load-config": "^3.1.4",
- "postcss-nested": "6.0.0",
+ "postcss": "^8.4.23",
+ "postcss-import": "^15.1.0",
+ "postcss-js": "^4.0.1",
+ "postcss-load-config": "^4.0.1",
+ "postcss-nested": "^6.0.1",
"postcss-selector-parser": "^6.0.11",
"postcss-value-parser": "^4.2.0",
- "quick-lru": "^5.1.1",
- "resolve": "^1.22.1"
+ "resolve": "^1.22.2",
+ "sucrase": "^3.32.0"
},
"bin": {
"tailwind": "lib/cli.js",
"tailwindcss": "lib/cli.js"
},
"engines": {
- "node": ">=12.13.0"
- },
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tailwindcss-animate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.5.tgz",
+ "integrity": "sha512-UU3qrOJ4lFQABY+MVADmBm+0KW3xZyhMdRvejwtXqYOL7YjHYxmuREFAZdmVG5LPe5E9CAst846SLC4j5I3dcw==",
"peerDependencies": {
- "postcss": "^8.0.9"
+ "tailwindcss": ">=3.0.0 || insiders"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
}
},
"node_modules/tailwindcss/node_modules/object-hash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
- "dev": true,
"engines": {
"node": ">= 6"
}
@@ -9017,108 +8020,48 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "devOptional": true,
"engines": {
"node": ">=6"
}
},
- "node_modules/term-size": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
- "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/terser": {
- "version": "5.16.6",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz",
- "integrity": "sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==",
- "devOptional": true,
- "peer": true,
+ "node_modules/tar": {
+ "version": "6.1.15",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
+ "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
"dependencies": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
- "node_modules/terser-webpack-plugin": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz",
- "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.17",
- "jest-worker": "^27.4.5",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.1",
- "terser": "^5.16.5"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.1.0"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- },
- "uglify-js": {
- "optional": true
- }
- }
- },
- "node_modules/terser-webpack-plugin/node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.17",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
- "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
- }
- },
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
},
- "node_modules/through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
- "dev": true
- },
- "node_modules/timers-ext": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
- "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
- "dev": true,
+ "node_modules/thenify": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
"dependencies": {
- "es5-ext": "~0.10.46",
- "next-tick": "1"
+ "any-promise": "^1.0.0"
+ }
+ },
+ "node_modules/thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "dependencies": {
+ "thenify": ">= 3.1.0 < 4"
+ },
+ "engines": {
+ "node": ">=0.8"
}
},
"node_modules/tiny-invariant": {
@@ -9131,23 +8074,21 @@
"resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
},
- "node_modules/tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true,
- "dependencies": {
- "os-tmpdir": "~1.0.2"
- },
+ "node_modules/titleize": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz",
+ "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==",
"engines": {
- "node": ">=0.6.0"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
"integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -9156,7 +8097,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "devOptional": true,
"dependencies": {
"is-number": "^7.0.0"
},
@@ -9172,95 +8112,20 @@
"node": ">=0.6"
}
},
- "node_modules/tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dependencies": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=0.8"
- }
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
- "node_modules/trim-canvas": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/trim-canvas/-/trim-canvas-0.1.2.tgz",
- "integrity": "sha512-nd4Ga3iLFV94mdhW9JFMLpQbHUyCQuhFOD71PEAt1NjtMD5wbZctzhX8c3agHNybMR5zXD1XTGoIEWk995E6pQ=="
- },
- "node_modules/trim-newlines": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
- "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ts-node": {
- "version": "10.9.1",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
- "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
- "dev": true,
- "dependencies": {
- "@cspotcode/source-map-support": "^0.8.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.1",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-cwd": "dist/bin-cwd.js",
- "ts-node-esm": "dist/bin-esm.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "peerDependencies": {
- "@swc/core": ">=1.2.50",
- "@swc/wasm": ">=1.2.50",
- "@types/node": "*",
- "typescript": ">=2.7"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "@swc/wasm": {
- "optional": true
- }
- }
- },
- "node_modules/ts-node/node_modules/acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/ts-node/node_modules/arg": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "dev": true
+ "node_modules/ts-interface-checker": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
},
"node_modules/tsconfig-paths": {
"version": "3.14.2",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz",
"integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==",
- "dev": true,
"dependencies": {
"@types/json5": "^0.0.29",
"json5": "^1.0.2",
@@ -9268,18 +8133,6 @@
"strip-bom": "^3.0.0"
}
},
- "node_modules/tsconfig-paths/node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
"node_modules/tslib": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
@@ -9289,7 +8142,6 @@
"version": "3.21.0",
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "dev": true,
"dependencies": {
"tslib": "^1.8.1"
},
@@ -9303,63 +8155,30 @@
"node_modules/tsutils/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "node_modules/tty-table": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/tty-table/-/tty-table-4.2.1.tgz",
- "integrity": "sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.1.2",
- "csv": "^5.5.3",
- "kleur": "^4.1.5",
- "smartwrap": "^2.0.2",
- "strip-ansi": "^6.0.1",
- "wcwidth": "^1.0.1",
- "yargs": "^17.7.1"
- },
- "bin": {
- "tty-table": "adapters/terminal-adapter.js"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
- }
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
},
"node_modules/turbo": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.10.1.tgz",
- "integrity": "sha512-wq0YeSv6P/eEDXOL42jkMUr+T4z34dM8mdHu5u6C6OOAq8JuLJ72F/v4EVR1JmY8icyTkFz10ICLV0haUUYhbQ==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.9.6.tgz",
+ "integrity": "sha512-mLbCIAYNbSm60kVhBiAr+YA1BYpPObS/y7rqw1hjh36ZdJDp35lUSeqdBs6oGt0Y4hnmN4ZeIXu8zMVRR03/vw==",
"dev": true,
"hasInstallScript": true,
"bin": {
"turbo": "bin/turbo"
},
"optionalDependencies": {
- "turbo-darwin-64": "1.10.1",
- "turbo-darwin-arm64": "1.10.1",
- "turbo-linux-64": "1.10.1",
- "turbo-linux-arm64": "1.10.1",
- "turbo-windows-64": "1.10.1",
- "turbo-windows-arm64": "1.10.1"
+ "turbo-darwin-64": "1.9.6",
+ "turbo-darwin-arm64": "1.9.6",
+ "turbo-linux-64": "1.9.6",
+ "turbo-linux-arm64": "1.9.6",
+ "turbo-windows-64": "1.9.6",
+ "turbo-windows-arm64": "1.9.6"
}
},
"node_modules/turbo-darwin-64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.10.1.tgz",
- "integrity": "sha512-isLLoPuAOMNsYovOq9BhuQOZWQuU13zYsW988KkkaA4OJqOn7qwa9V/KBYCJL8uVQqtG+/Y42J37lO8RJjyXuA==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.9.6.tgz",
+ "integrity": "sha512-9jmxyCAcPrJiPD/EmtK2tObrPGblmyORCgNgtcw1iozcfC7kqungWTfbnHrvTNUfUmVhH0sA3BGzshpuslbQHg==",
"cpu": [
"x64"
],
@@ -9370,9 +8189,9 @@
]
},
"node_modules/turbo-darwin-arm64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.10.1.tgz",
- "integrity": "sha512-x1nloPR10fLElNCv17BKr0kCx/O5gse/UXAcVscMZH2tvRUtXrdBmut62uw2YU3J9hli2fszYjUWXkulVpQvFA==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.9.6.tgz",
+ "integrity": "sha512-5f8ajEi8mOdAZ0AXavu/TzkHGEUi7tw+paefff7KK+XTUrdeyTlf8ULiTI+r97uH1jsYeTeL4JPu9IsEx+bL6g==",
"cpu": [
"arm64"
],
@@ -9383,9 +8202,9 @@
]
},
"node_modules/turbo-linux-64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.10.1.tgz",
- "integrity": "sha512-abV+ODCeOlz0503OZlHhPWdy3VwJZc1jObf1VQj7uQM+JqJ/kXbMyqJIMQVz+m7QJUFdferYPRxGhYT/NbYK7Q==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.9.6.tgz",
+ "integrity": "sha512-UrCDMl2Nqd/kxNEJonqvDg8nmZU4UggVQTmqcdYyuOiCA3H98jxggQqZh1VGeF23XDbCWHSQjnbkLeoUvQJWKw==",
"cpu": [
"x64"
],
@@ -9396,9 +8215,9 @@
]
},
"node_modules/turbo-linux-arm64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.10.1.tgz",
- "integrity": "sha512-zRC3nZbHQ63tofOmbuySzEn1ROISWTkemYYr1L98rpmT5aVa0kERlGiYcfDwZh3cBso/Ylg/wxexRAaPzcCJYQ==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.9.6.tgz",
+ "integrity": "sha512-oOxAT6lNiMpYVZPWzFNsUvC2LQgKYyH4aBnkeoBnjuAUk8BK5AhUWSWl4QlfTcBWW4LnjDPeZQKrbnxvHhPVsw==",
"cpu": [
"arm64"
],
@@ -9409,9 +8228,9 @@
]
},
"node_modules/turbo-windows-64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.10.1.tgz",
- "integrity": "sha512-Irqz8IU+o7Q/5V44qatZBTunk+FQAOII1hZTsEU54ah62f9Y297K6/LSp+yncmVQOZlFVccXb6MDqcETExIQtA==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.9.6.tgz",
+ "integrity": "sha512-65UxLL1vb5RItzJYNerO5c+yPMzSnD+GvJxfBZIvAwSnb+4ulhPRHzQOYinVq4PZ2DosBZOorWPRf97POmhvog==",
"cpu": [
"x64"
],
@@ -9422,9 +8241,9 @@
]
},
"node_modules/turbo-windows-arm64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.10.1.tgz",
- "integrity": "sha512-124IT15d2gyjC+NEn11pHOaVFvZDRHpxfF+LDUzV7YxfNIfV0mGkR3R/IyVXtQHOgqOdtQTbC4y411sm31+SEw==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.9.6.tgz",
+ "integrity": "sha512-aF9VzYT+vaKNbZGDccN7AYrNhph4gr6yOFN7GtTr777IwS5FGW7evku7RScsua5r2HwVKvBO2WjyadpbXuoOOQ==",
"cpu": [
"arm64"
],
@@ -9434,22 +8253,10 @@
"win32"
]
},
- "node_modules/tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
- },
- "node_modules/type": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
- "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==",
- "dev": true
- },
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
"dependencies": {
"prelude-ls": "^1.2.1"
},
@@ -9461,7 +8268,6 @@
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
"engines": {
"node": ">=10"
},
@@ -9473,7 +8279,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
"integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"for-each": "^0.3.3",
@@ -9484,28 +8289,21 @@
}
},
"node_modules/typescript": {
- "version": "4.8.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
- "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
- "dev": true,
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz",
+ "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
- "node": ">=4.2.0"
+ "node": ">=12.20"
}
},
- "node_modules/ui-avatar-svg": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/ui-avatar-svg/-/ui-avatar-svg-1.0.0.tgz",
- "integrity": "sha512-cNVWCu20do0jNT+OqSb0UWHPrRYE91VtyNVhd5EPb2Xp5A9o6d9tETGZs7JWAlgbJMuiQZkr+8HWxbc41vkEqA=="
- },
"node_modules/unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
"integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"has-bigints": "^1.0.2",
@@ -9516,27 +8314,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/unique-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
- "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==",
- "dev": true,
- "dependencies": {
- "crypto-random-string": "^1.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -9545,11 +8322,18 @@
"node": ">= 0.8"
}
},
+ "node_modules/untildify": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
+ "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/update-browserslist-db": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
- "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
- "devOptional": true,
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
+ "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
"funding": [
{
"type": "opencollective",
@@ -9558,6 +8342,10 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
@@ -9565,7 +8353,7 @@
"picocolors": "^1.0.0"
},
"bin": {
- "browserslist-lint": "cli.js"
+ "update-browserslist-db": "cli.js"
},
"peerDependencies": {
"browserslist": ">= 4.21.0"
@@ -9579,11 +8367,72 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/use-callback-ref": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz",
+ "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/use-isomorphic-layout-effect": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz",
+ "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/use-sidecar": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
+ "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "dependencies": {
+ "detect-node-es": "^1.1.0",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
+ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"node_modules/uuid": {
"version": "8.3.2",
@@ -9593,48 +8442,10 @@
"uuid": "dist/bin/uuid"
}
},
- "node_modules/v8-compile-cache-lib": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
- "dev": true
- },
- "node_modules/validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dev": true,
- "dependencies": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "node_modules/verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
- "engines": [
- "node >=0.6.0"
- ],
- "dependencies": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "node_modules/watchpack": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
- "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- },
- "engines": {
- "node": ">=10.13.0"
- }
+ "node_modules/v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="
},
"node_modules/wcwidth": {
"version": "1.0.1",
@@ -9653,93 +8464,29 @@
"node": ">= 8"
}
},
- "node_modules/webpack": {
- "version": "5.76.2",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.2.tgz",
- "integrity": "sha512-Th05ggRm23rVzEOlX8y67NkYCHa9nTNcwHPBhdg+lKG+mtiW7XgggjAeeLnADAe7mLjJ6LUNfgHAuRRh+Z6J7w==",
- "devOptional": true,
- "peer": true,
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "node_modules/whatwg-fetch": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz",
+ "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA=="
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dependencies": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.7.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.10.0",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-even-better-errors": "^2.3.1",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.4.0",
- "webpack-sources": "^3.2.3"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
- "devOptional": true,
- "peer": true,
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/webpack/node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "devOptional": true,
- "peer": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/webpack/node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "devOptional": true,
- "peer": true,
- "engines": {
- "node": ">=4.0"
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
}
},
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
"dependencies": {
"isexe": "^2.0.0"
},
@@ -9754,7 +8501,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
"integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dev": true,
"dependencies": {
"is-bigint": "^1.0.1",
"is-boolean-object": "^1.1.0",
@@ -9770,7 +8516,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
"integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
- "dev": true,
"dependencies": {
"is-map": "^2.0.1",
"is-set": "^2.0.1",
@@ -9804,7 +8549,6 @@
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
"integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
- "dev": true,
"dependencies": {
"available-typed-arrays": "^1.0.5",
"call-bind": "^1.0.2",
@@ -9820,51 +8564,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/window-size": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-1.1.1.tgz",
- "integrity": "sha512-5D/9vujkmVQ7pSmc0SCBmHXbkv6eaHwXEx65MywhmUMsI8sGqJ972APq1lotfcwMKPFLuCFfL8xGHLIp7jaBmA==",
- "dev": true,
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
"dependencies": {
- "define-property": "^1.0.0",
- "is-number": "^3.0.0"
- },
- "bin": {
- "window-size": "cli.js"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/window-size/node_modules/is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/window-size/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
+ "string-width": "^1.0.2 || 2 || 3 || 4"
}
},
"node_modules/word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -9920,141 +8631,23 @@
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
- "node_modules/write-file-atomic": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
- "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.11",
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.2"
- }
- },
- "node_modules/xdg-basedir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
- "integrity": "sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true,
- "engines": {
- "node": ">=0.4"
- }
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "dev": true,
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz",
+ "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==",
"engines": {
- "node": ">= 6"
- }
- },
- "node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "dev": true,
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs-parser": {
- "version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
- "dev": true,
- "dependencies": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/yargs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/yargs/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
+ "node": ">= 14"
}
},
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
"engines": {
"node": ">=10"
},
@@ -10070,106 +8663,348 @@
"url": "https://github.com/sponsors/colinhacks"
}
},
- "packages/features": {
- "name": "@documenso/features",
- "version": "0.0.0"
+ "packages/eslint-config": {
+ "name": "@documenso/eslint-config",
+ "version": "0.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "^5.59.2",
+ "@typescript-eslint/parser": "^5.59.2",
+ "eslint": "^8.40.0",
+ "eslint-config-next": "^13.4.1",
+ "eslint-config-prettier": "^8.8.0",
+ "eslint-config-turbo": "^1.9.3",
+ "eslint-plugin-prettier": "^4.2.1",
+ "eslint-plugin-react": "^7.32.2",
+ "typescript": "^5.0.4"
+ }
+ },
+ "packages/eslint-config/node_modules/@eslint/eslintrc": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
+ "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.5.2",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "packages/eslint-config/node_modules/@humanwhocodes/config-array": {
+ "version": "0.11.8",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
+ "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "packages/eslint-config/node_modules/acorn": {
+ "version": "8.8.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+ "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "packages/eslint-config/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "packages/eslint-config/node_modules/eslint": {
+ "version": "8.40.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz",
+ "integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.4.0",
+ "@eslint/eslintrc": "^2.0.3",
+ "@eslint/js": "8.40.0",
+ "@humanwhocodes/config-array": "^0.11.8",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.2.0",
+ "eslint-visitor-keys": "^3.4.1",
+ "espree": "^9.5.2",
+ "esquery": "^1.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "grapheme-splitter": "^1.0.4",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-sdsl": "^4.1.4",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "strip-ansi": "^6.0.1",
+ "strip-json-comments": "^3.1.0",
+ "text-table": "^0.2.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "packages/eslint-config/node_modules/eslint-scope": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
+ "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "packages/eslint-config/node_modules/espree": {
+ "version": "9.5.2",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
+ "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
+ "dependencies": {
+ "acorn": "^8.8.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "packages/eslint-config/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "packages/eslint-config/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
},
"packages/lib": {
"name": "@documenso/lib",
- "version": "0.0.0",
+ "version": "1.0.0",
+ "license": "MIT",
"dependencies": {
"@documenso/prisma": "*",
- "@prisma/client": "^4.8.1",
- "bcryptjs": "^2.4.3",
- "micro": "^10.0.1",
- "stripe": "^12.4.0"
+ "@next-auth/prisma-adapter": "^1.0.6",
+ "@pdf-lib/fontkit": "^1.1.1",
+ "@upstash/redis": "^1.20.6",
+ "bcrypt": "^5.1.0",
+ "next": "13.4.1",
+ "next-auth": "^4.22.1",
+ "pdf-lib": "^1.17.1",
+ "stripe": "^12.7.0"
+ },
+ "devDependencies": {
+ "@types/bcrypt": "^5.0.0"
}
},
- "packages/pdf": {
- "name": "@documenso/pdf",
- "version": "0.0.0"
+ "packages/prettier-config": {
+ "name": "@documenso/prettier-config",
+ "version": "0.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@trivago/prettier-plugin-sort-imports": "^4.1.1",
+ "prettier": "^2.8.8",
+ "prettier-plugin-sql": "^0.14.0",
+ "prettier-plugin-tailwindcss": "^0.2.8"
+ },
+ "devDependencies": {}
},
"packages/prisma": {
"name": "@documenso/prisma",
- "version": "0.0.0",
+ "version": "1.0.0",
+ "license": "MIT",
"dependencies": {
- "@prisma/client": "^4.8.1",
- "prisma": "^4.8.1"
- },
- "devDependencies": {
- "@types/node": "^18.11.18",
- "ts-node": "^10.9.1",
- "typescript": "4.8.4"
+ "@prisma/client": "^4.14.0",
+ "prisma": "^4.14.0"
}
},
- "packages/prisma/node_modules/@types/node": {
- "version": "18.15.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz",
- "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
- "dev": true
+ "packages/tailwind-config": {
+ "name": "@documenso/tailwind-config",
+ "version": "0.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "autoprefixer": "^10.4.13",
+ "eslint": "7.32.0",
+ "postcss": "^8.4.21",
+ "tailwindcss": "^3.2.7",
+ "tailwindcss-animate": "^1.0.5"
+ },
+ "devDependencies": {}
},
- "packages/signing": {
- "name": "@documenso/signing",
- "version": "0.0.0"
+ "packages/trpc": {
+ "name": "@documenso/trpc",
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@tanstack/react-query": "^4.29.5",
+ "@trpc/client": "^10.25.1",
+ "@trpc/next": "^10.25.1",
+ "@trpc/react-query": "^10.25.1",
+ "@trpc/server": "^10.25.1",
+ "superjson": "^1.12.3",
+ "zod": "^3.21.4"
+ }
+ },
+ "packages/tsconfig": {
+ "name": "@documenso/tsconfig",
+ "version": "0.0.0",
+ "license": "MIT"
},
"packages/ui": {
"name": "@documenso/ui",
"version": "0.0.0",
- "devDependencies": {}
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-accordion": "^1.1.1",
+ "@radix-ui/react-alert-dialog": "^1.0.3",
+ "@radix-ui/react-aspect-ratio": "^1.0.2",
+ "@radix-ui/react-avatar": "^1.0.2",
+ "@radix-ui/react-checkbox": "^1.0.3",
+ "@radix-ui/react-collapsible": "^1.0.2",
+ "@radix-ui/react-context-menu": "^2.1.3",
+ "@radix-ui/react-dialog": "^1.0.3",
+ "@radix-ui/react-dropdown-menu": "^2.0.4",
+ "@radix-ui/react-hover-card": "^1.0.5",
+ "@radix-ui/react-label": "^2.0.1",
+ "@radix-ui/react-menubar": "^1.0.2",
+ "@radix-ui/react-navigation-menu": "^1.1.2",
+ "@radix-ui/react-popover": "^1.0.5",
+ "@radix-ui/react-progress": "^1.0.2",
+ "@radix-ui/react-radio-group": "^1.1.2",
+ "@radix-ui/react-scroll-area": "^1.0.3",
+ "@radix-ui/react-select": "^1.2.1",
+ "@radix-ui/react-separator": "^1.0.2",
+ "@radix-ui/react-slider": "^1.1.1",
+ "@radix-ui/react-switch": "^1.0.2",
+ "@radix-ui/react-tabs": "^1.0.3",
+ "@radix-ui/react-toast": "^1.1.3",
+ "@radix-ui/react-toggle": "^1.0.2",
+ "@radix-ui/react-tooltip": "^1.0.5",
+ "@tanstack/react-table": "^8.9.1",
+ "class-variance-authority": "^0.6.0",
+ "clsx": "^1.2.1",
+ "cmdk": "^0.2.0",
+ "date-fns": "^2.30.0",
+ "framer-motion": "^10.12.8",
+ "lucide-react": "^0.214.0",
+ "react-day-picker": "^8.7.1",
+ "tailwind-merge": "^1.12.0",
+ "tailwindcss-animate": "^1.0.5"
+ },
+ "devDependencies": {
+ "@documenso/tsconfig": "*",
+ "@types/react": "18.2.6",
+ "@types/react-dom": "18.2.4",
+ "react": "18.2.0",
+ "typescript": "^5.0.4"
+ }
}
},
"dependencies": {
+ "@alloc/quick-lru": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="
+ },
"@babel/code-frame": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz",
- "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==",
- "dev": true,
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"requires": {
- "@babel/highlight": "^7.18.6"
+ "@babel/highlight": "^7.10.4"
}
},
"@babel/generator": {
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
"integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
- "dev": true,
"requires": {
"@babel/types": "^7.17.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
- "dev": true
- }
}
},
"@babel/helper-environment-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
- "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
- "dev": true
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz",
+ "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ=="
},
"@babel/helper-function-name": {
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz",
"integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==",
- "dev": true,
"requires": {
"@babel/template": "^7.20.7",
"@babel/types": "^7.21.0"
},
"dependencies": {
"@babel/types": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz",
- "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==",
- "dev": true,
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+ "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
"requires": {
- "@babel/helper-string-parser": "^7.19.4",
+ "@babel/helper-string-parser": "^7.21.5",
"@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
}
@@ -10180,18 +9015,16 @@
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
"integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
- "dev": true,
"requires": {
"@babel/types": "^7.18.6"
},
"dependencies": {
"@babel/types": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz",
- "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==",
- "dev": true,
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+ "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
"requires": {
- "@babel/helper-string-parser": "^7.19.4",
+ "@babel/helper-string-parser": "^7.21.5",
"@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
}
@@ -10202,18 +9035,16 @@
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
"integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
- "dev": true,
"requires": {
"@babel/types": "^7.18.6"
},
"dependencies": {
"@babel/types": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz",
- "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==",
- "dev": true,
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+ "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
"requires": {
- "@babel/helper-string-parser": "^7.19.4",
+ "@babel/helper-string-parser": "^7.21.5",
"@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
}
@@ -10221,1114 +9052,24 @@
}
},
"@babel/helper-string-parser": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
- "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
- "dev": true
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz",
+ "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w=="
},
"@babel/helper-validator-identifier": {
"version": "7.19.1",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
- "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
- "dev": true
+ "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w=="
},
"@babel/highlight": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
"integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
- "dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.18.6",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz",
- "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==",
- "dev": true
- },
- "@babel/runtime": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
- "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
- "requires": {
- "regenerator-runtime": "^0.13.11"
- }
- },
- "@babel/template": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
- "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.18.6",
- "@babel/parser": "^7.20.7",
- "@babel/types": "^7.20.7"
- },
- "dependencies": {
- "@babel/types": {
- "version": "7.21.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz",
- "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==",
- "dev": true,
- "requires": {
- "@babel/helper-string-parser": "^7.19.4",
- "@babel/helper-validator-identifier": "^7.19.1",
- "to-fast-properties": "^2.0.0"
- }
- }
- }
- },
- "@babel/traverse": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz",
- "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.3",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.17.3",
- "@babel/types": "^7.17.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "dependencies": {
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true
- }
- }
- },
- "@babel/types": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
- "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@changesets/apply-release-plan": {
- "version": "6.1.4",
- "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-6.1.4.tgz",
- "integrity": "sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.20.1",
- "@changesets/config": "^2.3.1",
- "@changesets/get-version-range-type": "^0.3.2",
- "@changesets/git": "^2.0.0",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "detect-indent": "^6.0.0",
- "fs-extra": "^7.0.1",
- "lodash.startcase": "^4.4.0",
- "outdent": "^0.5.0",
- "prettier": "^2.7.1",
- "resolve-from": "^5.0.0",
- "semver": "^7.5.3"
- },
- "dependencies": {
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true
- }
- }
- },
- "@changesets/assemble-release-plan": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-5.2.4.tgz",
- "integrity": "sha512-xJkWX+1/CUaOUWTguXEbCDTyWJFECEhmdtbkjhn5GVBGxdP/JwaHBIU9sW3FR6gD07UwZ7ovpiPclQZs+j+mvg==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.20.1",
- "@changesets/errors": "^0.1.4",
- "@changesets/get-dependents-graph": "^1.3.6",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "semver": "^7.5.3"
- }
- },
- "@changesets/changelog-git": {
- "version": "0.1.14",
- "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.1.14.tgz",
- "integrity": "sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==",
- "dev": true,
- "requires": {
- "@changesets/types": "^5.2.1"
- }
- },
- "@changesets/cli": {
- "version": "2.26.2",
- "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.26.2.tgz",
- "integrity": "sha512-dnWrJTmRR8bCHikJHl9b9HW3gXACCehz4OasrXpMp7sx97ECuBGGNjJhjPhdZNCvMy9mn4BWdplI323IbqsRig==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.20.1",
- "@changesets/apply-release-plan": "^6.1.4",
- "@changesets/assemble-release-plan": "^5.2.4",
- "@changesets/changelog-git": "^0.1.14",
- "@changesets/config": "^2.3.1",
- "@changesets/errors": "^0.1.4",
- "@changesets/get-dependents-graph": "^1.3.6",
- "@changesets/get-release-plan": "^3.0.17",
- "@changesets/git": "^2.0.0",
- "@changesets/logger": "^0.0.5",
- "@changesets/pre": "^1.0.14",
- "@changesets/read": "^0.5.9",
- "@changesets/types": "^5.2.1",
- "@changesets/write": "^0.2.3",
- "@manypkg/get-packages": "^1.1.3",
- "@types/is-ci": "^3.0.0",
- "@types/semver": "^7.5.0",
- "ansi-colors": "^4.1.3",
- "chalk": "^2.1.0",
- "enquirer": "^2.3.0",
- "external-editor": "^3.1.0",
- "fs-extra": "^7.0.1",
- "human-id": "^1.0.2",
- "is-ci": "^3.0.1",
- "meow": "^6.0.0",
- "outdent": "^0.5.0",
- "p-limit": "^2.2.0",
- "preferred-pm": "^3.0.0",
- "resolve-from": "^5.0.0",
- "semver": "^7.5.3",
- "spawndamnit": "^2.0.0",
- "term-size": "^2.1.0",
- "tty-table": "^4.1.5"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@changesets/config": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/@changesets/config/-/config-2.3.1.tgz",
- "integrity": "sha512-PQXaJl82CfIXddUOppj4zWu+987GCw2M+eQcOepxN5s+kvnsZOwjEJO3DH9eVy+OP6Pg/KFEWdsECFEYTtbg6w==",
- "dev": true,
- "requires": {
- "@changesets/errors": "^0.1.4",
- "@changesets/get-dependents-graph": "^1.3.6",
- "@changesets/logger": "^0.0.5",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "fs-extra": "^7.0.1",
- "micromatch": "^4.0.2"
- }
- },
- "@changesets/errors": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.1.4.tgz",
- "integrity": "sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==",
- "dev": true,
- "requires": {
- "extendable-error": "^0.1.5"
- }
- },
- "@changesets/get-dependents-graph": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-1.3.6.tgz",
- "integrity": "sha512-Q/sLgBANmkvUm09GgRsAvEtY3p1/5OCzgBE5vX3vgb5CvW0j7CEljocx5oPXeQSNph6FXulJlXV3Re/v3K3P3Q==",
- "dev": true,
- "requires": {
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "chalk": "^2.1.0",
- "fs-extra": "^7.0.1",
- "semver": "^7.5.3"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@changesets/get-release-plan": {
- "version": "3.0.17",
- "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.17.tgz",
- "integrity": "sha512-6IwKTubNEgoOZwDontYc2x2cWXfr6IKxP3IhKeK+WjyD6y3M4Gl/jdQvBw+m/5zWILSOCAaGLu2ZF6Q+WiPniw==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.20.1",
- "@changesets/assemble-release-plan": "^5.2.4",
- "@changesets/config": "^2.3.1",
- "@changesets/pre": "^1.0.14",
- "@changesets/read": "^0.5.9",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3"
- }
- },
- "@changesets/get-version-range-type": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz",
- "integrity": "sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==",
- "dev": true
- },
- "@changesets/git": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@changesets/git/-/git-2.0.0.tgz",
- "integrity": "sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.20.1",
- "@changesets/errors": "^0.1.4",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "is-subdir": "^1.1.1",
- "micromatch": "^4.0.2",
- "spawndamnit": "^2.0.0"
- }
- },
- "@changesets/logger": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.0.5.tgz",
- "integrity": "sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==",
- "dev": true,
- "requires": {
- "chalk": "^2.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@changesets/parse": {
- "version": "0.3.16",
- "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.3.16.tgz",
- "integrity": "sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==",
- "dev": true,
- "requires": {
- "@changesets/types": "^5.2.1",
- "js-yaml": "^3.13.1"
- },
- "dependencies": {
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- }
- }
- },
- "@changesets/pre": {
- "version": "1.0.14",
- "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-1.0.14.tgz",
- "integrity": "sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.20.1",
- "@changesets/errors": "^0.1.4",
- "@changesets/types": "^5.2.1",
- "@manypkg/get-packages": "^1.1.3",
- "fs-extra": "^7.0.1"
- }
- },
- "@changesets/read": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.5.9.tgz",
- "integrity": "sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.20.1",
- "@changesets/git": "^2.0.0",
- "@changesets/logger": "^0.0.5",
- "@changesets/parse": "^0.3.16",
- "@changesets/types": "^5.2.1",
- "chalk": "^2.1.0",
- "fs-extra": "^7.0.1",
- "p-filter": "^2.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@changesets/types": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/@changesets/types/-/types-5.2.1.tgz",
- "integrity": "sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==",
- "dev": true
- },
- "@changesets/write": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.2.3.tgz",
- "integrity": "sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.20.1",
- "@changesets/types": "^5.2.1",
- "fs-extra": "^7.0.1",
- "human-id": "^1.0.2",
- "prettier": "^2.7.1"
- }
- },
- "@cspotcode/source-map-support": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
- "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
- "dev": true,
- "requires": {
- "@jridgewell/trace-mapping": "0.3.9"
- }
- },
- "@documenso/features": {
- "version": "file:packages/features"
- },
- "@documenso/lib": {
- "version": "file:packages/lib",
- "requires": {
- "@documenso/prisma": "*",
- "@prisma/client": "^4.8.1",
- "bcryptjs": "^2.4.3",
- "micro": "^10.0.1",
- "stripe": "^12.4.0"
- }
- },
- "@documenso/pdf": {
- "version": "file:packages/pdf"
- },
- "@documenso/prisma": {
- "version": "file:packages/prisma",
- "requires": {
- "@prisma/client": "^4.8.1",
- "@types/node": "^18.11.18",
- "prisma": "^4.8.1",
- "ts-node": "^10.9.1",
- "typescript": "4.8.4"
- },
- "dependencies": {
- "@types/node": {
- "version": "18.15.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz",
- "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
- "dev": true
- }
- }
- },
- "@documenso/signing": {
- "version": "file:packages/signing"
- },
- "@documenso/ui": {
- "version": "file:packages/ui"
- },
- "@documenso/web": {
- "version": "file:apps/web",
- "requires": {
- "@documenso/lib": "*",
- "@documenso/pdf": "*",
- "@documenso/prisma": "*",
- "@documenso/ui": "*",
- "@headlessui/react": "^1.7.4",
- "@heroicons/react": "^2.0.13",
- "@pdf-lib/fontkit": "^1.1.1",
- "@tailwindcss/forms": "^0.5.3",
- "@types/bcryptjs": "^2.4.2",
- "@types/filesystem": "^0.0.32",
- "@types/formidable": "^2.0.5",
- "@types/node": "^18.11.18",
- "@types/nodemailer": "^6.4.7",
- "@types/nodemailer-sendgrid": "^1.0.0",
- "@types/react-dom": "18.0.9",
- "@types/react-pdf": "^6.2.0",
- "@types/react-resizable": "^3.0.3",
- "autoprefixer": "^10.4.13",
- "avatar-from-initials": "^1.0.3",
- "base64-arraybuffer": "^1.0.2",
- "bcryptjs": "^2.4.3",
- "dotenv": "^16.0.3",
- "eslint": "8.27.0",
- "eslint-config-next": "13.0.3",
- "file-loader": "^6.2.0",
- "formidable": "^3.2.5",
- "next": "13.2.4",
- "next-auth": "^4.22.0",
- "node-forge": "^1.3.1",
- "node-signpdf": "^1.5.0",
- "nodemailer": "^6.9.0",
- "nodemailer-sendgrid": "^1.0.3",
- "pdf-lib": "^1.17.1",
- "placeholder-loading": "^0.6.0",
- "postcss": "^8.4.19",
- "react": "18.2.0",
- "react-dom": "18.2.0",
- "react-draggable": "^4.4.5",
- "react-hook-form": "^7.41.5",
- "react-pdf": "^6.2.2",
- "react-resizable": "^3.0.4",
- "react-tooltip": "^5.7.2",
- "sass": "^1.57.1",
- "short-uuid": "^4.2.2",
- "string-to-color": "^2.2.2",
- "stripe-cli": "^0.1.0",
- "tailwindcss": "^3.2.4",
- "typescript": "4.8.4"
- },
- "dependencies": {
- "@types/node": {
- "version": "18.15.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz",
- "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
- "dev": true
- }
- }
- },
- "@eslint/eslintrc": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
- "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
- "dev": true,
- "requires": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.4.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- }
- },
- "@floating-ui/core": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.4.tgz",
- "integrity": "sha512-SQOeVbMwb1di+mVWWJLpsUTToKfqVNioXys011beCAhyOIFtS+GQoW4EQSneuxzmQKddExDwQ+X0hLl4lJJaSQ=="
- },
- "@floating-ui/dom": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.3.tgz",
- "integrity": "sha512-lK9cZUrHSJLMVAdCvDqs6Ug8gr0wmqksYiaoj/bxj2gweRQkSuhg2/V6Jswz2KiQ0RAULbqw1oQDJIMpQ5GfGA==",
- "requires": {
- "@floating-ui/core": "^1.2.2"
- }
- },
- "@headlessui/react": {
- "version": "1.7.13",
- "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.13.tgz",
- "integrity": "sha512-9n+EQKRtD9266xIHXdY5MfiXPDfYwl7zBM7KOx2Ae3Gdgxy8QML1FkCMjq6AsOf0l6N9uvI4HcFtuFlenaldKg==",
- "requires": {
- "client-only": "^0.0.1"
- }
- },
- "@heroicons/react": {
- "version": "2.0.16",
- "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.16.tgz",
- "integrity": "sha512-x89rFxH3SRdYaA+JCXwfe+RkE1SFTo9GcOkZettHer71Y3T7V+ogKmfw5CjTazgS3d0ClJ7p1NA+SP7VQLQcLw==",
- "requires": {}
- },
- "@hookform/resolvers": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.1.0.tgz",
- "integrity": "sha512-z0A8K+Nxq+f83Whm/ajlwE6VtQlp/yPHZnXw7XWVPIGm1Vx0QV8KThU3BpbBRfAZ7/dYqCKKBNnQh85BkmBKkA==",
- "requires": {}
- },
- "@humanwhocodes/config-array": {
- "version": "0.11.8",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
- "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
- "dev": true,
- "requires": {
- "@humanwhocodes/object-schema": "^1.2.1",
- "debug": "^4.1.1",
- "minimatch": "^3.0.5"
- }
- },
- "@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true
- },
- "@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true
- },
- "@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
- "@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
- "devOptional": true
- },
- "@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "devOptional": true,
- "peer": true
- },
- "@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
- "devOptional": true
- },
- "@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
- "devOptional": true,
- "requires": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "@manypkg/find-root": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz",
- "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.5.5",
- "@types/node": "^12.7.1",
- "find-up": "^4.1.0",
- "fs-extra": "^8.1.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "12.20.55",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
- "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==",
- "dev": true
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- }
- }
- },
- "@manypkg/get-packages": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz",
- "integrity": "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.5.5",
- "@changesets/types": "^4.0.1",
- "@manypkg/find-root": "^1.1.0",
- "fs-extra": "^8.1.0",
- "globby": "^11.0.0",
- "read-yaml-file": "^1.1.0"
- },
- "dependencies": {
- "@changesets/types": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz",
- "integrity": "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==",
- "dev": true
- },
- "fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- }
- }
- },
- "@next/env": {
- "version": "13.2.4",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-13.2.4.tgz",
- "integrity": "sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA=="
- },
- "@next/eslint-plugin-next": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.0.3.tgz",
- "integrity": "sha512-slmTAHNKDyc7jhx4VF8lFbmOPWJ3PShtUUWpb6x9+ga59CyOxgP6AdcDhxfapnWYACKe/TwYiaveufu7LqXgZg==",
- "dev": true,
- "requires": {
- "glob": "7.1.7"
- }
- },
- "@next/swc-darwin-arm64": {
- "version": "13.2.4",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.2.4.tgz",
- "integrity": "sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2zQs4imqllJznVjFd1bXLx3Aa6A==",
- "optional": true
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@panva/hkdf": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.0.4.tgz",
- "integrity": "sha512-003xWiCuvePbLaPHT+CRuaV4GlyCAVm6XYSbBZDHoWZGn1mNkVKFaDbGJjjxmEFvizUwlCoM6O18FCBMMky2zQ=="
- },
- "@pdf-lib/fontkit": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@pdf-lib/fontkit/-/fontkit-1.1.1.tgz",
- "integrity": "sha512-KjMd7grNapIWS/Dm0gvfHEilSyAmeLvrEGVcqLGi0VYebuqqzTbgF29efCx7tvx+IEbG3zQciRSWl3GkUSvjZg==",
- "requires": {
- "pako": "^1.0.6"
- }
- },
- "@pdf-lib/standard-fonts": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz",
- "integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==",
- "requires": {
- "pako": "^1.0.6"
- }
- },
- "@pdf-lib/upng": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz",
- "integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==",
- "requires": {
- "pako": "^1.0.10"
- }
- },
- "@prisma/client": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.11.0.tgz",
- "integrity": "sha512-0INHYkQIqgAjrt7NzhYpeDQi8x3Nvylc2uDngKyFDDj1tTRQ4uV1HnVmd1sQEraeVAN63SOK0dgCKQHlvjL0KA==",
- "requires": {
- "@prisma/engines-version": "4.11.0-57.8fde8fef4033376662cad983758335009d522acb"
- }
- },
- "@prisma/engines": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.11.0.tgz",
- "integrity": "sha512-0AEBi2HXGV02cf6ASsBPhfsVIbVSDC9nbQed4iiY5eHttW9ZtMxHThuKZE1pnESbr8HRdgmFSa/Kn4OSNYuibg=="
- },
- "@prisma/engines-version": {
- "version": "4.11.0-57.8fde8fef4033376662cad983758335009d522acb",
- "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.11.0-57.8fde8fef4033376662cad983758335009d522acb.tgz",
- "integrity": "sha512-3Vd8Qq06d5xD8Ch5WauWcUUrsVPdMC6Ge8ILji8RFfyhUpqon6qSyGM0apvr1O8n8qH8cKkEFqRPsYjuz5r83g=="
- },
- "@rushstack/eslint-patch": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz",
- "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==",
- "dev": true
- },
- "@sendgrid/client": {
- "version": "6.5.5",
- "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-6.5.5.tgz",
- "integrity": "sha512-Nbfgo94gbWSL8PIgJfuHoifyOJJepvV8NQkkglctAEfb1hyozKhrzE6v1kPG/z4j0RodaTtXD5LJj/t0q/VhLA==",
- "requires": {
- "@sendgrid/helpers": "^6.5.5",
- "@types/request": "^2.48.4",
- "request": "^2.88.0"
- }
- },
- "@sendgrid/helpers": {
- "version": "6.5.5",
- "resolved": "https://registry.npmjs.org/@sendgrid/helpers/-/helpers-6.5.5.tgz",
- "integrity": "sha512-uRFEanalfss5hDsuzVXZ1wm7i7eEXHh1py80piOXjobiQ+MxmtR19EU+gDSXZ+uMcEehBGhxnb7QDNN0q65qig==",
- "requires": {
- "chalk": "^2.0.1",
- "deepmerge": "^4.2.2"
- },
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
@@ -11381,37 +9122,1429 @@
}
}
},
- "@sendgrid/mail": {
- "version": "6.5.5",
- "resolved": "https://registry.npmjs.org/@sendgrid/mail/-/mail-6.5.5.tgz",
- "integrity": "sha512-DSu8oTPI0BJFH60jMOG9gM+oeNMoRALFmdAYg2PIXpL+Zbxd7L2GzQZtmf1jLy/8UBImkbB3D74TjiOBiLRK1w==",
+ "@babel/parser": {
+ "version": "7.21.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz",
+ "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA=="
+ },
+ "@babel/runtime": {
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz",
+ "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==",
"requires": {
- "@sendgrid/client": "^6.5.5",
- "@sendgrid/helpers": "^6.5.5"
+ "regenerator-runtime": "^0.13.11"
}
},
+ "@babel/template": {
+ "version": "7.20.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
+ "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
+ "requires": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz",
+ "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==",
+ "requires": {
+ "@babel/highlight": "^7.18.6"
+ }
+ },
+ "@babel/types": {
+ "version": "7.21.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz",
+ "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==",
+ "requires": {
+ "@babel/helper-string-parser": "^7.21.5",
+ "@babel/helper-validator-identifier": "^7.19.1",
+ "to-fast-properties": "^2.0.0"
+ }
+ }
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.17.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz",
+ "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==",
+ "requires": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.17.3",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-hoist-variables": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/parser": "^7.17.3",
+ "@babel/types": "^7.17.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz",
+ "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==",
+ "requires": {
+ "@babel/highlight": "^7.18.6"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
+ }
+ }
+ },
+ "@babel/types": {
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
+ "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@documenso/eslint-config": {
+ "version": "file:packages/eslint-config",
+ "requires": {
+ "@typescript-eslint/eslint-plugin": "^5.59.2",
+ "@typescript-eslint/parser": "^5.59.2",
+ "eslint": "^8.40.0",
+ "eslint-config-next": "^13.4.1",
+ "eslint-config-prettier": "^8.8.0",
+ "eslint-config-turbo": "^1.9.3",
+ "eslint-plugin-prettier": "^4.2.1",
+ "eslint-plugin-react": "^7.32.2",
+ "typescript": "^5.0.4"
+ },
+ "dependencies": {
+ "@eslint/eslintrc": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
+ "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
+ "requires": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.5.2",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ }
+ },
+ "@humanwhocodes/config-array": {
+ "version": "0.11.8",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
+ "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
+ "requires": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.5"
+ }
+ },
+ "acorn": {
+ "version": "8.8.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+ "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw=="
+ },
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "eslint": {
+ "version": "8.40.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz",
+ "integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==",
+ "requires": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.4.0",
+ "@eslint/eslintrc": "^2.0.3",
+ "@eslint/js": "8.40.0",
+ "@humanwhocodes/config-array": "^0.11.8",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.2.0",
+ "eslint-visitor-keys": "^3.4.1",
+ "espree": "^9.5.2",
+ "esquery": "^1.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "grapheme-splitter": "^1.0.4",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-sdsl": "^4.1.4",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "strip-ansi": "^6.0.1",
+ "strip-json-comments": "^3.1.0",
+ "text-table": "^0.2.0"
+ }
+ },
+ "eslint-scope": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
+ "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ }
+ },
+ "espree": {
+ "version": "9.5.2",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
+ "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
+ "requires": {
+ "acorn": "^8.8.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
+ }
+ },
+ "glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "requires": {
+ "is-glob": "^4.0.3"
+ }
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ }
+ }
+ },
+ "@documenso/lib": {
+ "version": "file:packages/lib",
+ "requires": {
+ "@documenso/prisma": "*",
+ "@next-auth/prisma-adapter": "^1.0.6",
+ "@pdf-lib/fontkit": "^1.1.1",
+ "@types/bcrypt": "^5.0.0",
+ "@upstash/redis": "^1.20.6",
+ "bcrypt": "^5.1.0",
+ "next": "13.4.1",
+ "next-auth": "^4.22.1",
+ "pdf-lib": "^1.17.1",
+ "stripe": "^12.7.0"
+ }
+ },
+ "@documenso/marketing": {
+ "version": "file:apps/marketing",
+ "requires": {
+ "@documenso/lib": "*",
+ "@documenso/tailwind-config": "*",
+ "@documenso/trpc": "*",
+ "@documenso/ui": "*",
+ "@hookform/resolvers": "^3.1.0",
+ "@types/node": "20.1.0",
+ "@types/react": "18.2.6",
+ "@types/react-dom": "18.2.4",
+ "framer-motion": "^10.12.8",
+ "lucide-react": "^0.214.0",
+ "micro": "^10.0.1",
+ "next": "13.4.1",
+ "next-auth": "^4.22.1",
+ "next-plausible": "^3.7.2",
+ "perfect-freehand": "^1.2.0",
+ "react": "18.2.0",
+ "react-dom": "18.2.0",
+ "react-hook-form": "^7.43.9",
+ "react-icons": "^4.8.0",
+ "typescript": "5.0.4",
+ "zod": "^3.21.4"
+ }
+ },
+ "@documenso/prettier-config": {
+ "version": "file:packages/prettier-config",
+ "requires": {
+ "@trivago/prettier-plugin-sort-imports": "^4.1.1",
+ "prettier": "^2.8.8",
+ "prettier-plugin-sql": "^0.14.0",
+ "prettier-plugin-tailwindcss": "^0.2.8"
+ }
+ },
+ "@documenso/prisma": {
+ "version": "file:packages/prisma",
+ "requires": {
+ "@prisma/client": "^4.14.0",
+ "prisma": "^4.14.0"
+ }
+ },
+ "@documenso/tailwind-config": {
+ "version": "file:packages/tailwind-config",
+ "requires": {
+ "autoprefixer": "^10.4.13",
+ "eslint": "7.32.0",
+ "postcss": "^8.4.21",
+ "tailwindcss": "^3.2.7",
+ "tailwindcss-animate": "^1.0.5"
+ }
+ },
+ "@documenso/trpc": {
+ "version": "file:packages/trpc",
+ "requires": {
+ "@tanstack/react-query": "^4.29.5",
+ "@trpc/client": "^10.25.1",
+ "@trpc/next": "^10.25.1",
+ "@trpc/react-query": "^10.25.1",
+ "@trpc/server": "^10.25.1",
+ "superjson": "^1.12.3",
+ "zod": "^3.21.4"
+ }
+ },
+ "@documenso/tsconfig": {
+ "version": "file:packages/tsconfig"
+ },
+ "@documenso/ui": {
+ "version": "file:packages/ui",
+ "requires": {
+ "@documenso/tsconfig": "*",
+ "@radix-ui/react-accordion": "^1.1.1",
+ "@radix-ui/react-alert-dialog": "^1.0.3",
+ "@radix-ui/react-aspect-ratio": "^1.0.2",
+ "@radix-ui/react-avatar": "^1.0.2",
+ "@radix-ui/react-checkbox": "^1.0.3",
+ "@radix-ui/react-collapsible": "^1.0.2",
+ "@radix-ui/react-context-menu": "^2.1.3",
+ "@radix-ui/react-dialog": "^1.0.3",
+ "@radix-ui/react-dropdown-menu": "^2.0.4",
+ "@radix-ui/react-hover-card": "^1.0.5",
+ "@radix-ui/react-label": "^2.0.1",
+ "@radix-ui/react-menubar": "^1.0.2",
+ "@radix-ui/react-navigation-menu": "^1.1.2",
+ "@radix-ui/react-popover": "^1.0.5",
+ "@radix-ui/react-progress": "^1.0.2",
+ "@radix-ui/react-radio-group": "^1.1.2",
+ "@radix-ui/react-scroll-area": "^1.0.3",
+ "@radix-ui/react-select": "^1.2.1",
+ "@radix-ui/react-separator": "^1.0.2",
+ "@radix-ui/react-slider": "^1.1.1",
+ "@radix-ui/react-switch": "^1.0.2",
+ "@radix-ui/react-tabs": "^1.0.3",
+ "@radix-ui/react-toast": "^1.1.3",
+ "@radix-ui/react-toggle": "^1.0.2",
+ "@radix-ui/react-tooltip": "^1.0.5",
+ "@tanstack/react-table": "^8.9.1",
+ "@types/react": "18.2.6",
+ "@types/react-dom": "18.2.4",
+ "class-variance-authority": "^0.6.0",
+ "clsx": "^1.2.1",
+ "cmdk": "^0.2.0",
+ "date-fns": "^2.30.0",
+ "framer-motion": "^10.12.8",
+ "lucide-react": "^0.214.0",
+ "react": "18.2.0",
+ "react-day-picker": "^8.7.1",
+ "tailwind-merge": "^1.12.0",
+ "tailwindcss-animate": "^1.0.5",
+ "typescript": "^5.0.4"
+ }
+ },
+ "@documenso/web": {
+ "version": "file:apps/web",
+ "requires": {
+ "@documenso/lib": "*",
+ "@documenso/prisma": "*",
+ "@documenso/tailwind-config": "*",
+ "@documenso/trpc": "*",
+ "@documenso/ui": "*",
+ "@hookform/resolvers": "^3.1.0",
+ "@tanstack/react-query": "^4.29.5",
+ "@types/formidable": "^2.0.6",
+ "@types/node": "20.1.0",
+ "@types/react": "18.2.6",
+ "@types/react-dom": "18.2.4",
+ "formidable": "^2.1.1",
+ "framer-motion": "^10.12.8",
+ "lucide-react": "^0.214.0",
+ "micro": "^10.0.1",
+ "next": "13.4.1",
+ "next-auth": "^4.22.1",
+ "next-plausible": "^3.7.2",
+ "perfect-freehand": "^1.2.0",
+ "react": "18.2.0",
+ "react-dom": "18.2.0",
+ "react-dropzone": "^14.2.3",
+ "react-hook-form": "^7.43.9",
+ "react-icons": "^4.8.0",
+ "react-pdf": "^7.1.1",
+ "typescript": "5.0.4",
+ "zod": "^3.21.4"
+ }
+ },
+ "@emotion/is-prop-valid": {
+ "version": "0.8.8",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
+ "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
+ "optional": true,
+ "requires": {
+ "@emotion/memoize": "0.7.4"
+ }
+ },
+ "@emotion/memoize": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
+ "optional": true
+ },
+ "@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "requires": {
+ "eslint-visitor-keys": "^3.3.0"
+ }
+ },
+ "@eslint-community/regexpp": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
+ "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ=="
+ },
+ "@eslint/eslintrc": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
+ "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
+ "requires": {
+ "ajv": "^6.12.4",
+ "debug": "^4.1.1",
+ "espree": "^7.3.0",
+ "globals": "^13.9.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^3.13.1",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "dependencies": {
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="
+ }
+ }
+ },
+ "@eslint/js": {
+ "version": "8.40.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz",
+ "integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA=="
+ },
+ "@floating-ui/core": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.7.3.tgz",
+ "integrity": "sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg=="
+ },
+ "@floating-ui/dom": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.5.4.tgz",
+ "integrity": "sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==",
+ "requires": {
+ "@floating-ui/core": "^0.7.3"
+ }
+ },
+ "@floating-ui/react-dom": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-0.7.2.tgz",
+ "integrity": "sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==",
+ "requires": {
+ "@floating-ui/dom": "^0.5.3",
+ "use-isomorphic-layout-effect": "^1.1.1"
+ }
+ },
+ "@hookform/resolvers": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.1.0.tgz",
+ "integrity": "sha512-z0A8K+Nxq+f83Whm/ajlwE6VtQlp/yPHZnXw7XWVPIGm1Vx0QV8KThU3BpbBRfAZ7/dYqCKKBNnQh85BkmBKkA==",
+ "requires": {}
+ },
+ "@humanwhocodes/config-array": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
+ "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
+ "requires": {
+ "@humanwhocodes/object-schema": "^1.2.0",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="
+ },
+ "@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
+ },
+ "@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "requires": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
+ },
+ "@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
+ },
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+ },
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.18",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
+ "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
+ "requires": {
+ "@jridgewell/resolve-uri": "3.1.0",
+ "@jridgewell/sourcemap-codec": "1.4.14"
+ },
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ }
+ }
+ },
+ "@mapbox/node-pre-gyp": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz",
+ "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==",
+ "requires": {
+ "detect-libc": "^2.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.7",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ }
+ },
+ "@next-auth/prisma-adapter": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@next-auth/prisma-adapter/-/prisma-adapter-1.0.6.tgz",
+ "integrity": "sha512-Z7agwfSZEeEcqKqrnisBun7VndRPshd6vyDsoRU68MXbkui8storkHgvN2hnNDrqr/hSCF9aRn56a1qpihaB4A==",
+ "requires": {}
+ },
+ "@next/env": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.1.tgz",
+ "integrity": "sha512-eD6WCBMFjLFooLM19SIhSkWBHtaFrZFfg2Cxnyl3vS3DAdFRfnx5TY2RxlkuKXdIRCC0ySbtK9JXXt8qLCqzZg=="
+ },
+ "@next/eslint-plugin-next": {
+ "version": "13.4.2",
+ "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.2.tgz",
+ "integrity": "sha512-ZeFWgrxwckxTpYM+ANeUL9E7LOGPbZKmI94LJIjbDU69iEIgqd4WD0l2pVbOJMr/+vgoZmJ9Dx1m0WJ7WScXHA==",
+ "requires": {
+ "glob": "7.1.7"
+ }
+ },
+ "@next/swc-darwin-arm64": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.1.tgz",
+ "integrity": "sha512-eF8ARHtYfnoYtDa6xFHriUKA/Mfj/cCbmKb3NofeKhMccs65G6/loZ15a6wYCCx4rPAd6x4t1WmVYtri7EdeBg==",
+ "optional": true
+ },
+ "@next/swc-darwin-x64": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.1.tgz",
+ "integrity": "sha512-7cmDgF9tGWTgn5Gw+vP17miJbH4wcraMHDCOHTYWkO/VeKT73dUWG23TNRLfgtCNSPgH4V5B4uLHoZTanx9bAw==",
+ "optional": true
+ },
+ "@next/swc-linux-arm64-gnu": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.1.tgz",
+ "integrity": "sha512-qwJqmCri2ie8aTtE5gjTSr8S6O8B67KCYgVZhv9gKH44yvc/zXbAY8u23QGULsYOyh1islWE5sWfQNLOj9iryg==",
+ "optional": true
+ },
+ "@next/swc-linux-arm64-musl": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.1.tgz",
+ "integrity": "sha512-qcC54tWNGDv/VVIFkazxhqH1Bnagjfs4enzELVRlUOoJPD2BGJTPI7z08pQPbbgxLtRiu8gl2mXvpB8WlOkMeA==",
+ "optional": true
+ },
+ "@next/swc-linux-x64-gnu": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.1.tgz",
+ "integrity": "sha512-9TeWFlpLsBosZ+tsm/rWBaMwt5It9tPH8m3nawZqFUUrZyGRfGcI67js774vtx0k3rL9qbyY6+3pw9BCVpaYUA==",
+ "optional": true
+ },
+ "@next/swc-linux-x64-musl": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.1.tgz",
+ "integrity": "sha512-sNDGaWmSqTS4QRUzw61wl4mVPeSqNIr1OOjLlQTRuyInxMxtqImRqdvzDvFTlDfdeUMU/DZhWGYoHrXLlZXe6A==",
+ "optional": true
+ },
+ "@next/swc-win32-arm64-msvc": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.1.tgz",
+ "integrity": "sha512-+CXZC7u1iXdLRudecoUYbhbsXpglYv8KFYsFxKBPn7kg+bk7eJo738wAA4jXIl8grTF2mPdmO93JOQym+BlYGA==",
+ "optional": true
+ },
+ "@next/swc-win32-ia32-msvc": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.1.tgz",
+ "integrity": "sha512-vIoXVVc7UYO68VwVMDKwJC2+HqAZQtCYiVlApyKEeIPIQpz2gpufzGxk1z3/gwrJt/kJ5CDZjlhYDCzd3hdz+g==",
+ "optional": true
+ },
+ "@next/swc-win32-x64-msvc": {
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.1.tgz",
+ "integrity": "sha512-n8V5ImLQZibKTu10UUdI3nIeTLkliEXe628qxqW9v8My3BAH2a7H0SaCqkV2OgqFnn8sG1wxKYw9/SNJ632kSA==",
+ "optional": true
+ },
+ "@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "requires": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
+ },
+ "@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ }
+ },
+ "@panva/hkdf": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.1.1.tgz",
+ "integrity": "sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA=="
+ },
+ "@pdf-lib/fontkit": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@pdf-lib/fontkit/-/fontkit-1.1.1.tgz",
+ "integrity": "sha512-KjMd7grNapIWS/Dm0gvfHEilSyAmeLvrEGVcqLGi0VYebuqqzTbgF29efCx7tvx+IEbG3zQciRSWl3GkUSvjZg==",
+ "requires": {
+ "pako": "^1.0.6"
+ }
+ },
+ "@pdf-lib/standard-fonts": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz",
+ "integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==",
+ "requires": {
+ "pako": "^1.0.6"
+ }
+ },
+ "@pdf-lib/upng": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz",
+ "integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==",
+ "requires": {
+ "pako": "^1.0.10"
+ }
+ },
+ "@pkgr/utils": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.0.tgz",
+ "integrity": "sha512-2OCURAmRtdlL8iUDTypMrrxfwe8frXTeXaxGsVOaYtc/wrUyk8Z/0OBetM7cdlsy7ZFWlMX72VogKeh+A4Xcjw==",
+ "requires": {
+ "cross-spawn": "^7.0.3",
+ "fast-glob": "^3.2.12",
+ "is-glob": "^4.0.3",
+ "open": "^9.1.0",
+ "picocolors": "^1.0.0",
+ "tslib": "^2.5.0"
+ }
+ },
+ "@prisma/client": {
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.14.0.tgz",
+ "integrity": "sha512-MK/XaA2sFdfaOa7I9MjNKz6dxeIEdeZlnpNRoF2w3JuRLlFJLkpp6cD3yaqw2nUUhbrn3Iqe3ZpVV+VuGGil7Q==",
+ "requires": {
+ "@prisma/engines-version": "4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c"
+ }
+ },
+ "@prisma/engines": {
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.14.0.tgz",
+ "integrity": "sha512-PDNlhP/1vyTgmNyiucGqGCdXIp7HIkkvKO50si3y3PcceeHvqtiKPaH1iJdz63jCWMVMbj2MElSxXPOeBvEVIQ=="
+ },
+ "@prisma/engines-version": {
+ "version": "4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c",
+ "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c.tgz",
+ "integrity": "sha512-3jum8/YSudeSN0zGW5qkpz+wAN2V/NYCQ+BPjvHYDfWatLWlQkqy99toX0GysDeaUoBIJg1vaz2yKqiA3CFcQw=="
+ },
+ "@radix-ui/number": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz",
+ "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/primitive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz",
+ "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-accordion": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.1.1.tgz",
+ "integrity": "sha512-TQtyyRubYe8DD6DYCovNLTjd2D+TFrNCpr99T5M3cYUbR7BsRxWsxfInjbQ1nHsdy2uPTcnJS5npyXPVfP0piw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collapsible": "1.0.2",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ }
+ },
+ "@radix-ui/react-alert-dialog": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.0.3.tgz",
+ "integrity": "sha512-QXFy7+bhGi0u+paF2QbJeSCHZs4gLMJIPm6sajUamyW0fro6g1CaSGc5zmc4QmK2NlSGUrq8m+UsUqJYtzvXow==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dialog": "1.0.3",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1"
+ }
+ },
+ "@radix-ui/react-arrow": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.2.tgz",
+ "integrity": "sha512-fqYwhhI9IarZ0ll2cUSfKuXHlJK0qE4AfnRrPBbRwEH/4mGQn04/QFGomLi8TXWIdv9WJk//KgGm+aDxVIr1wA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ }
+ },
+ "@radix-ui/react-aspect-ratio": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.0.2.tgz",
+ "integrity": "sha512-YCujQYnwcVcakbdhE8eTjhh4QR8CsngEcRlSzIPWw1vp3KPC9orETo8CxuVM65j5HAp0oFoOlIy6v7SuF+9P+Q==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ }
+ },
+ "@radix-ui/react-avatar": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.0.2.tgz",
+ "integrity": "sha512-XRL8z2l9V7hRLCPjHWg/34RBPZUGpmOjmsRSNvIh2DI28GyIWDChbcsDUVc63MzOItk6Q83Ob2KK8k2FUlXlGA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ }
+ },
+ "@radix-ui/react-checkbox": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.3.tgz",
+ "integrity": "sha512-55B8/vKzTuzxllH5sGJO4zaBf9gYpJuJRRzaOKm+0oAefRnMvbf+Kgww7IOANVN0w3z7agFJgtnXaZl8Uj95AA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-use-size": "1.0.0"
+ }
+ },
+ "@radix-ui/react-collapsible": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.2.tgz",
+ "integrity": "sha512-QNiDT6Au8jUU0K1WV+HEd4loH7C5CKQjeXxskwqyiyAkyCmW7qlQM5vSSJCIoQC+OVPyhgafSmGudRP8Qm1/gA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ }
+ },
+ "@radix-ui/react-collection": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.2.tgz",
+ "integrity": "sha512-s8WdQQ6wNXpaxdZ308KSr8fEWGrg4un8i4r/w7fhiS4ElRNjk5rRcl0/C6TANG2LvLOGIxtzo/jAg6Qf73TEBw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1"
+ }
+ },
+ "@radix-ui/react-compose-refs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz",
+ "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-context": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz",
+ "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-context-menu": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.1.3.tgz",
+ "integrity": "sha512-T+Jpbl/L9eJmlNGdgrl39NUqYTrtHJz4FmjdSc2WDUiZXWMmokK+1K8t/xEcx9q2PvVYfL5UDy9dkzU9UouyGw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-menu": "2.0.4",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ }
+ },
+ "@radix-ui/react-dialog": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.3.tgz",
+ "integrity": "sha512-owNhq36kNPqC2/a+zJRioPg6HHnTn5B/sh/NjTY8r4W9g1L5VJlrzZIVcBr7R9Mg8iLjVmh6MGgMlfoVf/WO/A==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-focus-guards": "1.0.0",
+ "@radix-ui/react-focus-scope": "1.0.2",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.5"
+ }
+ },
+ "@radix-ui/react-direction": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz",
+ "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-dismissable-layer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.3.tgz",
+ "integrity": "sha512-nXZOvFjOuHS1ovumntGV7NNoLaEp9JEvTht3MBjP44NSW5hUKj/8OnfN3+8WmB+CEhN44XaGhpHoSsUIEl5P7Q==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-escape-keydown": "1.0.2"
+ }
+ },
+ "@radix-ui/react-dropdown-menu": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.4.tgz",
+ "integrity": "sha512-y6AT9+MydyXcByivdK1+QpjWoKaC7MLjkS/cH1Q3keEyMvDkiY85m8o2Bi6+Z1PPUlCsMULopxagQOSfN0wahg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-menu": "2.0.4",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ }
+ },
+ "@radix-ui/react-focus-guards": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.0.tgz",
+ "integrity": "sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-focus-scope": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.2.tgz",
+ "integrity": "sha512-spwXlNTfeIprt+kaEWE/qYuYT3ZAqJiAGjN/JgdvgVDTu8yc+HuX+WOWXrKliKnLnwck0F6JDkqIERncnih+4A==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0"
+ }
+ },
+ "@radix-ui/react-hover-card": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.0.5.tgz",
+ "integrity": "sha512-jXRuZEkxSWdHZbVyL0J46cm7pQjmOMpwJEFKY+VqAJnV+FxS+zIZExI1OCeIiDwCBzUy6If1FfouOsfqBxr86g==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-popper": "1.1.1",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ }
+ },
+ "@radix-ui/react-id": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.0.tgz",
+ "integrity": "sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ }
+ },
+ "@radix-ui/react-label": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.1.tgz",
+ "integrity": "sha512-qcfbS3B8hTYmEO44RNcXB6pegkxRsJIbdxTMu0PEX0Luv5O2DvTIwwVYxQfUwLpM88EL84QRPLOLgwUSApMsLQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ }
+ },
+ "@radix-ui/react-menu": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.4.tgz",
+ "integrity": "sha512-mzKR47tZ1t193trEqlQoJvzY4u9vYfVH16ryBrVrCAGZzkgyWnMQYEZdUkM7y8ak9mrkKtJiqB47TlEnubeOFQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-focus-guards": "1.0.0",
+ "@radix-ui/react-focus-scope": "1.0.2",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-popper": "1.1.1",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-roving-focus": "1.0.3",
+ "@radix-ui/react-slot": "1.0.1",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.5"
+ }
+ },
+ "@radix-ui/react-menubar": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-menubar/-/react-menubar-1.0.2.tgz",
+ "integrity": "sha512-woEg2ZODGoJHonr6ZwC01ZCpDifS6BapI5ythRfvWPBeL/80CX3u4sQKaF/58bbAZQsDnVwO5M9b0XVBN3jLhA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-menu": "2.0.4",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-roving-focus": "1.0.3",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ }
+ },
+ "@radix-ui/react-navigation-menu": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.1.2.tgz",
+ "integrity": "sha512-1fSjOAGTThYSgJ5pENG2V8we7+6KDbfbiyt66HmLTeo0W3PAmmciclm0o97VlcVZW7q5Vg2hN7Cbj4XKo5u2sw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-visually-hidden": "1.0.2"
+ }
+ },
+ "@radix-ui/react-popover": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.5.tgz",
+ "integrity": "sha512-GRHZ8yD12MrN2NLobHPE8Rb5uHTxd9x372DE9PPNnBjpczAQHcZ5ne0KXG4xpf+RDdXSzdLv9ym6mYJCDTaUZg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-focus-guards": "1.0.0",
+ "@radix-ui/react-focus-scope": "1.0.2",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-popper": "1.1.1",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.5"
+ }
+ },
+ "@radix-ui/react-popper": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.1.tgz",
+ "integrity": "sha512-keYDcdMPNMjSC8zTsZ8wezUMiWM9Yj14wtF3s0PTIs9srnEPC9Kt2Gny1T3T81mmSeyDjZxsD9N5WCwNNb712w==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@floating-ui/react-dom": "0.7.2",
+ "@radix-ui/react-arrow": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0",
+ "@radix-ui/react-use-rect": "1.0.0",
+ "@radix-ui/react-use-size": "1.0.0",
+ "@radix-ui/rect": "1.0.0"
+ }
+ },
+ "@radix-ui/react-portal": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.2.tgz",
+ "integrity": "sha512-swu32idoCW7KA2VEiUZGBSu9nB6qwGdV6k6HYhUoOo3M1FFpD+VgLzUqtt3mwL1ssz7r2x8MggpLSQach2Xy/Q==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ }
+ },
+ "@radix-ui/react-presence": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz",
+ "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ }
+ },
+ "@radix-ui/react-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.2.tgz",
+ "integrity": "sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.1"
+ }
+ },
+ "@radix-ui/react-progress": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.0.2.tgz",
+ "integrity": "sha512-c16RVM43ct2koRcMmPw4b47JWFNs89qe5p4Um9dwoPs0yi+d7It1MJ35EpsX+93o31Mqdwe4vQyu0SrHrygdCg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2"
+ }
+ },
+ "@radix-ui/react-radio-group": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.1.2.tgz",
+ "integrity": "sha512-S7K8upMjOkx1fTUzEugbfCYPwI9Yw4m2h2ZfJP+ZWP/Mzc/LE2T6QgiAMaSaC3vZSxU5Kk5Eb377zMklWeaaCQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-roving-focus": "1.0.3",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-use-size": "1.0.0"
+ }
+ },
+ "@radix-ui/react-roving-focus": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.3.tgz",
+ "integrity": "sha512-stjCkIoMe6h+1fWtXlA6cRfikdBzCLp3SnVk7c48cv/uy3DTGoXhN76YaOYUJuy3aEDvDIKwKR5KSmvrtPvQPQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ }
+ },
+ "@radix-ui/react-scroll-area": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.3.tgz",
+ "integrity": "sha512-sBX9j8Q+0/jReNObEAveKIGXJtk3xUoSIx4cMKygGtO128QJyVDn01XNOFsyvihKDCTcu7SINzQ2jPAZEhIQtw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/number": "1.0.0",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ }
+ },
+ "@radix-ui/react-select": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.1.tgz",
+ "integrity": "sha512-GULRMITaOHNj79BZvQs3iZO0+f2IgI8g5HDhMi7Bnc13t7IlG86NFtOCfTLme4PNZdEtU+no+oGgcl6IFiphpQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/number": "1.0.0",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-focus-guards": "1.0.0",
+ "@radix-ui/react-focus-scope": "1.0.2",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-popper": "1.1.1",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-visually-hidden": "1.0.2",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.5"
+ }
+ },
+ "@radix-ui/react-separator": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.2.tgz",
+ "integrity": "sha512-lZoAG/rS2jzb/OSvyBrpN3dmikw20ewmWx1GkM1VldbDyD0DACCbH9LIXSrqyS/2mE1VYKOHmyq5W90Dx4ryqA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ }
+ },
+ "@radix-ui/react-slider": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.1.1.tgz",
+ "integrity": "sha512-0aswLpUKZIraPEOcXfwW25N1KPfLA6Mvm1TxogUChGsbLbys2ihd7uk9XAKsol9ZQPucxh2/mybwdRtAKrs/MQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/number": "1.0.0",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-use-size": "1.0.0"
+ }
+ },
+ "@radix-ui/react-slot": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz",
+ "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0"
+ }
+ },
+ "@radix-ui/react-switch": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.0.2.tgz",
+ "integrity": "sha512-BcG/LKehxt36NXG0wPnoCitIfSMtU9Xo7BmythYA1PAMLtsMvW7kALfBzmduQoHTWcKr0AVcFyh0gChBUp9TiQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-previous": "1.0.0",
+ "@radix-ui/react-use-size": "1.0.0"
+ }
+ },
+ "@radix-ui/react-tabs": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.0.3.tgz",
+ "integrity": "sha512-4CkF/Rx1GcrusI/JZ1Rvyx4okGUs6wEenWA0RG/N+CwkRhTy7t54y7BLsWUXrAz/GRbBfHQg/Odfs/RoW0CiRA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-roving-focus": "1.0.3",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ }
+ },
+ "@radix-ui/react-toast": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.1.3.tgz",
+ "integrity": "sha512-yHFgpxi9wjbfPvpSPdYAzivCqw48eA1ofT8m/WqYOVTxKPdmQMuVKRYPlMmj4C1d6tJdFj/LBa1J4iY3fL4OwQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-collection": "1.0.2",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0",
+ "@radix-ui/react-visually-hidden": "1.0.2"
+ }
+ },
+ "@radix-ui/react-toggle": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.2.tgz",
+ "integrity": "sha512-1MhVrHjgdmYDBgBpmOB0sjK096gFrVqUocsHNapkOTkZIxOwjpGxnW9e24CjQQX9D/c57dI6E8zAAdeAeIdY8g==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-controllable-state": "1.0.0"
+ }
+ },
+ "@radix-ui/react-tooltip": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.0.5.tgz",
+ "integrity": "sha512-cDKVcfzyO6PpckZekODJZDe5ZxZ2fCZlzKzTmPhe4mX9qTHRfLcKgqb0OKf22xLwDequ2tVleim+ZYx3rabD5w==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-popper": "1.1.1",
+ "@radix-ui/react-portal": "1.0.2",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "@radix-ui/react-visually-hidden": "1.0.2"
+ }
+ },
+ "@radix-ui/react-use-callback-ref": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz",
+ "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-use-controllable-state": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.0.tgz",
+ "integrity": "sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "1.0.0"
+ }
+ },
+ "@radix-ui/react-use-escape-keydown": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.2.tgz",
+ "integrity": "sha512-DXGim3x74WgUv+iMNCF+cAo8xUHHeqvjx8zs7trKf+FkQKPQXLk2sX7Gx1ysH7Q76xCpZuxIJE7HLPxRE+Q+GA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "1.0.0"
+ }
+ },
+ "@radix-ui/react-use-layout-effect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz",
+ "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-use-previous": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.0.tgz",
+ "integrity": "sha512-RG2K8z/K7InnOKpq6YLDmT49HGjNmrK+fr82UCVKT2sW0GYfVnYp4wZWBooT/EYfQ5faA9uIjvsuMMhH61rheg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-use-rect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.0.tgz",
+ "integrity": "sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/rect": "1.0.0"
+ }
+ },
+ "@radix-ui/react-use-size": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.0.tgz",
+ "integrity": "sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ }
+ },
+ "@radix-ui/react-visually-hidden": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.2.tgz",
+ "integrity": "sha512-qirnJxtYn73HEk1rXL12/mXnu2rwsNHDID10th2JGtdK25T9wX+mxRmGt7iPSahw512GbZOc0syZX1nLQGoEOg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ }
+ },
+ "@radix-ui/rect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.0.tgz",
+ "integrity": "sha512-d0O68AYy/9oeEy1DdC07bz1/ZXX+DqCskRd3i4JzLSTXwefzaepQrKjXC7aNM8lTHjFLDO0pDgaEiQ7jEk+HVg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@rushstack/eslint-patch": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz",
+ "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg=="
+ },
"@swc/helpers": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
- "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz",
+ "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==",
"requires": {
"tslib": "^2.4.0"
}
},
- "@tailwindcss/forms": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz",
- "integrity": "sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==",
- "dev": true,
+ "@tanstack/query-core": {
+ "version": "4.29.7",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.29.7.tgz",
+ "integrity": "sha512-GXG4b5hV2Loir+h2G+RXhJdoZhJLnrBWsuLB2r0qBRyhWuXq9w/dWxzvpP89H0UARlH6Mr9DiVj4SMtpkF/aUA=="
+ },
+ "@tanstack/react-query": {
+ "version": "4.29.7",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.29.7.tgz",
+ "integrity": "sha512-ijBWEzAIo09fB1yd22slRZzprrZ5zMdWYzBnCg5qiXuFbH78uGN1qtGz8+Ed4MuhaPaYSD+hykn+QEKtQviEtg==",
"requires": {
- "mini-svg-data-uri": "^1.2.3"
+ "@tanstack/query-core": "4.29.7",
+ "use-sync-external-store": "^1.2.0"
}
},
+ "@tanstack/react-table": {
+ "version": "8.9.1",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.9.1.tgz",
+ "integrity": "sha512-yHs2m6lk5J5RNcu2dNtsDGux66wNXZjEgzxos6MRCX8gL+nqxeW3ZglqP6eANN0bGElPnjvqiUHGQvdACOr3Cw==",
+ "requires": {
+ "@tanstack/table-core": "8.9.1"
+ }
+ },
+ "@tanstack/table-core": {
+ "version": "8.9.1",
+ "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.9.1.tgz",
+ "integrity": "sha512-2+R83n8vMZND0q3W1lSiF7co9nFbeWbjAErFf27xwbeA9E0wtUu5ZDfgj+TZ6JzdAEQAgfxkk/QNFAKiS8E4MA=="
+ },
"@trivago/prettier-plugin-sort-imports": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.1.1.tgz",
"integrity": "sha512-dQ2r2uzNr1x6pJsuh/8x0IRA3CBUB+pWEW3J/7N98axqt7SQSm+2fy0FLNXvXGg77xEDC7KHxJlHfLYyi7PDcw==",
- "dev": true,
"requires": {
"@babel/generator": "7.17.7",
"@babel/parser": "^7.20.5",
@@ -11421,89 +10554,44 @@
"lodash": "^4.17.21"
}
},
- "@tsconfig/node10": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
- "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==",
- "dev": true
+ "@trpc/client": {
+ "version": "10.26.0",
+ "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.26.0.tgz",
+ "integrity": "sha512-ojHxQFIE97rBEGPK8p1ijbzo0T1IdEBoJ9fFSgWWL9FMuEEA/DNQ9s0uuiOrDKhCCdTFT1unfRharoJhB2/O2w==",
+ "requires": {}
},
- "@tsconfig/node12": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
- "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
- "dev": true
- },
- "@tsconfig/node14": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
- "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
- "dev": true
- },
- "@tsconfig/node16": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
- "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
- "dev": true
- },
- "@types/bcryptjs": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz",
- "integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==",
- "dev": true
- },
- "@types/caseless": {
- "version": "0.12.2",
- "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz",
- "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w=="
- },
- "@types/eslint": {
- "version": "8.21.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.2.tgz",
- "integrity": "sha512-EMpxUyystd3uZVByZap1DACsMXvb82ypQnGn89e1Y0a+LYu3JJscUd/gqhRsVFDkaD2MIiWo0MT8EfXr3DGRKw==",
- "devOptional": true,
- "peer": true,
+ "@trpc/next": {
+ "version": "10.26.0",
+ "resolved": "https://registry.npmjs.org/@trpc/next/-/next-10.26.0.tgz",
+ "integrity": "sha512-p328crXBH6C228LKxjqbpDEXdLmy4+LdgsZuYK3oFMqaJEmCT22b+zcQ9IvQrcPfDxhKOpJym0QpuDNaWpG2qg==",
"requires": {
- "@types/estree": "*",
- "@types/json-schema": "*"
+ "react-ssr-prepass": "^1.5.0"
}
},
- "@types/eslint-scope": {
- "version": "3.7.4",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
- "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
+ "@trpc/react-query": {
+ "version": "10.26.0",
+ "resolved": "https://registry.npmjs.org/@trpc/react-query/-/react-query-10.26.0.tgz",
+ "integrity": "sha512-n+enpalaCZhd3A/mbZmXeydRZHsAJo7mzc2ncgHn5S+C3SrfOM897uQdbHdj02Li25ULxzP1O92w+vZzmFbgkA==",
+ "requires": {}
},
- "@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
- "devOptional": true,
- "peer": true
+ "@trpc/server": {
+ "version": "10.26.0",
+ "resolved": "https://registry.npmjs.org/@trpc/server/-/server-10.26.0.tgz",
+ "integrity": "sha512-+Wt0NFAeflVSNiUnHIDNN3C8jP7XIRmYrcgJ6IsAnm0lK4p/FkpCpeu1aig5qxrgZx30PHNDLZ/3FttVSEW2aQ=="
},
- "@types/filesystem": {
- "version": "0.0.32",
- "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz",
- "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==",
+ "@types/bcrypt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.0.tgz",
+ "integrity": "sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw==",
"dev": true,
"requires": {
- "@types/filewriter": "*"
+ "@types/node": "*"
}
},
- "@types/filewriter": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz",
- "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==",
- "dev": true
- },
"@types/formidable": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-2.0.5.tgz",
- "integrity": "sha512-uvMcdn/KK3maPOaVUAc3HEYbCEhjaGFwww4EsX6IJfWIJ1tzHtDHczuImH3GKdusPnAAmzB07St90uabZeCKPA==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-2.0.6.tgz",
+ "integrity": "sha512-L4HcrA05IgQyNYJj6kItuIkXrInJvsXTPC5B1i64FggWKKqSL+4hgt7asiSNva75AoLQjq29oPxFfU4GAQ6Z2w==",
"dev": true,
"requires": {
"@types/node": "*"
@@ -11521,14 +10609,12 @@
"@types/json-schema": {
"version": "7.0.11",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
- "devOptional": true
+ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
},
"@types/json5": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
- "dev": true
+ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
},
"@types/minimist": {
"version": "1.2.2",
@@ -11537,27 +10623,9 @@
"dev": true
},
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg=="
- },
- "@types/nodemailer": {
- "version": "6.4.7",
- "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.7.tgz",
- "integrity": "sha512-f5qCBGAn/f0qtRcd4SEn88c8Fp3Swct1731X4ryPKqS61/A3LmmzN8zaEz7hneJvpjFbUUgY7lru/B/7ODTazg==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/nodemailer-sendgrid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/nodemailer-sendgrid/-/nodemailer-sendgrid-1.0.0.tgz",
- "integrity": "sha512-7D3Ddd7vN4tTDNGUkv31zH+2Wr6a37V0ryk0v5dyyBow/NA5+Jx5L3HvN1xq2ArZ2DbL2/z0tR9rfJtnJZK/Gw==",
- "dev": true,
- "requires": {
- "@types/nodemailer": "*"
- }
+ "version": "20.1.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.0.tgz",
+ "integrity": "sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A=="
},
"@types/normalize-package-data": {
"version": "2.4.1",
@@ -11571,9 +10639,9 @@
"integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
},
"@types/react": {
- "version": "18.0.28",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz",
- "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.6.tgz",
+ "integrity": "sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==",
"requires": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -11581,112 +10649,84 @@
}
},
"@types/react-dom": {
- "version": "18.0.9",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz",
- "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==",
+ "version": "18.2.4",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.4.tgz",
+ "integrity": "sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==",
"dev": true,
"requires": {
"@types/react": "*"
}
},
- "@types/react-pdf": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@types/react-pdf/-/react-pdf-6.2.0.tgz",
- "integrity": "sha512-OSCYmrfaJvpXkM5V4seUMAhUDOAOqbGQf9kwv14INyTf7AjDs2ukfkkQrLWRQ8OjWrDklbXYWh5l7pT7l0N76g==",
- "dev": true,
- "requires": {
- "@types/react": "*",
- "pdfjs-dist": "^2.16.105"
- }
- },
- "@types/react-resizable": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/react-resizable/-/react-resizable-3.0.3.tgz",
- "integrity": "sha512-W/QsUOZoXBAIBQNhNm95A5ohoaiUA874lWQytO2UP9dOjp5JHO9+a0cwYNabea7sA12ZDJnGVUFZxcNaNksAWA==",
- "dev": true,
- "requires": {
- "@types/react": "*"
- }
- },
- "@types/react-signature-canvas": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@types/react-signature-canvas/-/react-signature-canvas-1.0.2.tgz",
- "integrity": "sha512-uDHDoo2JM/9qYS+U7PRKDLBgOnQOOUEkDdXjCxBvI19fWtOLqXisrjiquPu+enu5iu2oWIfU7cVhn1QJZPkLTg==",
- "dev": true,
- "requires": {
- "@types/react": "*",
- "@types/signature_pad": "*"
- }
- },
- "@types/request": {
- "version": "2.48.8",
- "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz",
- "integrity": "sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==",
- "requires": {
- "@types/caseless": "*",
- "@types/node": "*",
- "@types/tough-cookie": "*",
- "form-data": "^2.5.0"
- }
- },
"@types/scheduler": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
- "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
+ "version": "0.16.3",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
+ "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ=="
},
"@types/semver": {
"version": "7.5.0",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
- "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
- "dev": true
+ "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw=="
},
- "@types/signature_pad": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/@types/signature_pad/-/signature_pad-2.3.2.tgz",
- "integrity": "sha512-dDfWIgRcdzAaeVOpLRmLHIumGwc5inSD4Dj2Duis3yUEoSADZECLJHKkUQphbaANQ7kSC2bkf1JzyBPSmTlrPQ==",
- "dev": true
- },
- "@types/tough-cookie": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz",
- "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw=="
+ "@typescript-eslint/eslint-plugin": {
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.6.tgz",
+ "integrity": "sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==",
+ "requires": {
+ "@eslint-community/regexpp": "^4.4.0",
+ "@typescript-eslint/scope-manager": "5.59.6",
+ "@typescript-eslint/type-utils": "5.59.6",
+ "@typescript-eslint/utils": "5.59.6",
+ "debug": "^4.3.4",
+ "grapheme-splitter": "^1.0.4",
+ "ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ }
},
"@typescript-eslint/parser": {
- "version": "5.55.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.55.0.tgz",
- "integrity": "sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==",
- "dev": true,
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.6.tgz",
+ "integrity": "sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==",
"requires": {
- "@typescript-eslint/scope-manager": "5.55.0",
- "@typescript-eslint/types": "5.55.0",
- "@typescript-eslint/typescript-estree": "5.55.0",
+ "@typescript-eslint/scope-manager": "5.59.6",
+ "@typescript-eslint/types": "5.59.6",
+ "@typescript-eslint/typescript-estree": "5.59.6",
"debug": "^4.3.4"
}
},
"@typescript-eslint/scope-manager": {
- "version": "5.55.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz",
- "integrity": "sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw==",
- "dev": true,
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.6.tgz",
+ "integrity": "sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ==",
"requires": {
- "@typescript-eslint/types": "5.55.0",
- "@typescript-eslint/visitor-keys": "5.55.0"
+ "@typescript-eslint/types": "5.59.6",
+ "@typescript-eslint/visitor-keys": "5.59.6"
+ }
+ },
+ "@typescript-eslint/type-utils": {
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.6.tgz",
+ "integrity": "sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ==",
+ "requires": {
+ "@typescript-eslint/typescript-estree": "5.59.6",
+ "@typescript-eslint/utils": "5.59.6",
+ "debug": "^4.3.4",
+ "tsutils": "^3.21.0"
}
},
"@typescript-eslint/types": {
- "version": "5.55.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.55.0.tgz",
- "integrity": "sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug==",
- "dev": true
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.6.tgz",
+ "integrity": "sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA=="
},
"@typescript-eslint/typescript-estree": {
- "version": "5.55.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz",
- "integrity": "sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ==",
- "dev": true,
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.6.tgz",
+ "integrity": "sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==",
"requires": {
- "@typescript-eslint/types": "5.55.0",
- "@typescript-eslint/visitor-keys": "5.55.0",
+ "@typescript-eslint/types": "5.59.6",
+ "@typescript-eslint/visitor-keys": "5.59.6",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -11694,237 +10734,62 @@
"tsutils": "^3.21.0"
}
},
- "@typescript-eslint/visitor-keys": {
- "version": "5.55.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz",
- "integrity": "sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw==",
- "dev": true,
+ "@typescript-eslint/utils": {
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.6.tgz",
+ "integrity": "sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg==",
"requires": {
- "@typescript-eslint/types": "5.55.0",
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.59.6",
+ "@typescript-eslint/types": "5.59.6",
+ "@typescript-eslint/typescript-estree": "5.59.6",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "5.59.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.6.tgz",
+ "integrity": "sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q==",
+ "requires": {
+ "@typescript-eslint/types": "5.59.6",
"eslint-visitor-keys": "^3.3.0"
}
},
- "@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
- "devOptional": true,
- "peer": true,
+ "@upstash/redis": {
+ "version": "1.20.6",
+ "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.20.6.tgz",
+ "integrity": "sha512-q1izaYEUsq/WiXNOjf4oOjFZe8fIeBSZN8d5cEyOD4nem+zxc4jccieorQQrNlEahKPE1ZYLzVEkMODRUfch2g==",
"requires": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
+ "isomorphic-fetch": "^3.0.0"
}
},
- "@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
- "devOptional": true,
- "peer": true
- },
- "@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
- "devOptional": true,
- "peer": true
- },
- "@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
- "devOptional": true,
- "peer": true
- },
- "@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
- "devOptional": true,
- "peer": true
- },
- "@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
- }
- },
- "@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
- "devOptional": true,
- "peer": true
- },
- "@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "devOptional": true,
- "peer": true
- },
- "@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "devOptional": true,
- "peer": true
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
"acorn": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
- "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
- "devOptional": true
- },
- "acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
- "devOptional": true,
- "peer": true,
- "requires": {}
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
},
"acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
"requires": {}
},
- "acorn-node": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
- "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
- "dev": true,
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"requires": {
- "acorn": "^7.0.0",
- "acorn-walk": "^7.0.0",
- "xtend": "^4.0.2"
- },
- "dependencies": {
- "acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "dev": true
- }
+ "debug": "4"
}
},
- "acorn-walk": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
- "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
- "dev": true
- },
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -11936,72 +10801,77 @@
"uri-js": "^4.2.2"
}
},
- "ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "devOptional": true,
- "requires": {}
- },
"ansi-colors": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true
- },
- "ansi-escapes": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
- "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
- "dev": true
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="
},
"ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
"requires": {
"color-convert": "^2.0.1"
}
},
- "any-base": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz",
- "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg=="
+ "any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
},
"anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "devOptional": true,
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
}
},
+ "aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ },
+ "are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ }
+ },
"arg": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
- "dev": true
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
},
"argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "aria-hidden": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz",
+ "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
},
"aria-query": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
"integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
- "dev": true,
"requires": {
"deep-equal": "^2.0.5"
}
@@ -12010,7 +10880,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
"integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"is-array-buffer": "^3.0.1"
@@ -12020,7 +10889,6 @@
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
"integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -12032,14 +10900,12 @@
"array-union": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
},
"array.prototype.flat": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
"integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -12051,7 +10917,6 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
"integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -12063,7 +10928,6 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz",
"integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -12083,35 +10947,25 @@
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
},
- "asn1": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
- "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw=="
- },
"ast-types-flow": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==",
- "dev": true
+ "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag=="
},
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ=="
+ },
+ "attr-accept": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz",
+ "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg=="
},
"autoprefixer": {
"version": "10.4.14",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
"integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
- "dev": true,
"requires": {
"browserslist": "^4.21.5",
"caniuse-lite": "^1.0.30001464",
@@ -12124,39 +10978,17 @@
"available-typed-arrays": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "dev": true
- },
- "avatar-from-initials": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/avatar-from-initials/-/avatar-from-initials-1.0.3.tgz",
- "integrity": "sha512-8gCqhVreUHUyXL78c0bDZB/lBEzEta9K2FUw4RvV37rzPXuCXZsPJDfka0NC+JMUC3ATGNDA5qOjobBhXYjJew==",
- "requires": {
- "string-to-color": "^2.2.2",
- "ui-avatar-svg": "^1.0.0"
- }
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA=="
- },
- "aws4": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
- "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg=="
+ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
},
"axe-core": {
- "version": "4.6.3",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz",
- "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==",
- "dev": true
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.1.tgz",
+ "integrity": "sha512-sCXXUhA+cljomZ3ZAwb8i1p3oOlkABzPy08ZDAoGcYuvtBPlQ1Ytde129ArXyHWDhfeewq7rlx9F+cUx2SSlkg=="
},
"axobject-query": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz",
"integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==",
- "dev": true,
"requires": {
"deep-equal": "^2.0.5"
}
@@ -12164,53 +10996,39 @@
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
- "base64-arraybuffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
- "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
+ "bcrypt": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.0.tgz",
+ "integrity": "sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q==",
"requires": {
- "tweetnacl": "^0.14.3"
+ "@mapbox/node-pre-gyp": "^1.0.10",
+ "node-addon-api": "^5.0.0"
}
},
- "bcryptjs": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
- "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
- },
- "better-path-resolve": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz",
- "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==",
- "dev": true,
- "requires": {
- "is-windows": "^1.0.0"
- }
- },
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "devOptional": true
+ "big-integer": {
+ "version": "1.6.51",
+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
+ "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg=="
},
"binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "devOptional": true
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
+ },
+ "bplist-parser": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
+ "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==",
+ "requires": {
+ "big-integer": "^1.6.44"
+ }
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -12220,7 +11038,6 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "devOptional": true,
"requires": {
"fill-range": "^7.0.1"
}
@@ -12238,7 +11055,6 @@
"version": "4.21.5",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
"integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
- "devOptional": true,
"requires": {
"caniuse-lite": "^1.0.30001449",
"electron-to-chromium": "^1.4.284",
@@ -12246,12 +11062,21 @@
"update-browserslist-db": "^1.0.10"
}
},
- "buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "devOptional": true,
- "peer": true
+ "bundle-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz",
+ "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==",
+ "requires": {
+ "run-applescript": "^5.0.0"
+ }
+ },
+ "busboy": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
+ "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
+ "requires": {
+ "streamsearch": "^1.1.0"
+ }
},
"bytes": {
"version": "3.1.0",
@@ -12270,8 +11095,7 @@
"callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
},
"camelcase": {
"version": "5.3.1",
@@ -12282,8 +11106,7 @@
"camelcase-css": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "dev": true
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
},
"camelcase-keys": {
"version": "6.2.2",
@@ -12305,52 +11128,34 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001467",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001467.tgz",
- "integrity": "sha512-cEdN/5e+RPikvl9AHm4uuLXxeCNq8rFsQ+lPHTfe/OtypP3WwnVVbjn+6uBV7PaFL6xUFzTh+sSCOz1rKhcO+Q=="
+ "version": "1.0.30001487",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001487.tgz",
+ "integrity": "sha512-83564Z3yWGqXsh2vaH/mhXfEM0wX+NlBCm1jYHOb97TrTWJEmPTccZgeLTPBUUb0PNVo+oomb7wkimZBIERClA=="
},
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
- },
- "cfonts": {
- "version": "2.10.1",
- "resolved": "https://registry.npmjs.org/cfonts/-/cfonts-2.10.1.tgz",
- "integrity": "sha512-l5IcLv4SaOdL/EGR6BpOF5SEro88VcGJJ6+xbvJb+wXi19YC6UeHE/brv7a4vIcLZopnt3Ys3zWeNnyfB04UPg==",
- "dev": true,
+ "canvas": {
+ "version": "2.11.2",
+ "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.11.2.tgz",
+ "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==",
+ "optional": true,
"requires": {
- "chalk": "^4",
- "window-size": "^1.1.1"
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "nan": "^2.17.0",
+ "simple-get": "^3.0.3"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
- "chance": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/chance/-/chance-1.1.11.tgz",
- "integrity": "sha512-kqTg3WWywappJPqtgrdvbA380VoXO2eu9VCV895JgbyHsaErXdyHK9LOZ911OvAk6L0obK7kDk9CGs8+oBawVA==",
- "dev": true
- },
- "chardet": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
- "dev": true
- },
"chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "devOptional": true,
"requires": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -12360,70 +11165,21 @@
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "devOptional": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
}
},
- "chrome-trace-event": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
- "devOptional": true,
- "peer": true
+ "chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
},
- "ci-info": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
- "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
- "dev": true
- },
- "classnames": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
- "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
- },
- "clear": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/clear/-/clear-0.1.0.tgz",
- "integrity": "sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==",
- "dev": true
- },
- "cli-color": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.3.2.tgz",
- "integrity": "sha512-Ys/nDhHNRcxrS4EUI2RS/QCUE+61AMuEOj3sWDX+EIHkJWj+4XkRbOdwdxJteAJKjXYBbeFJMtfaEPd1MBF9pQ==",
- "dev": true,
+ "class-variance-authority": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.6.0.tgz",
+ "integrity": "sha512-qdRDgfjx3GRb9fpwpSvn+YaidnT7IUJNe4wt5/SWwM+PmUwJUhQRk/8zAyNro0PmVfmen2635UboTjIBXXxy5A==",
"requires": {
- "d": "~0.1.1",
- "es5-ext": "~0.10.2",
- "memoizee": "0.3.x",
- "timers-ext": "0.1.x"
+ "clsx": "1.2.1"
}
},
- "cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==",
- "dev": true,
- "requires": {
- "restore-cursor": "^2.0.0"
- }
- },
- "cli-width": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
- "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
- "dev": true
- },
"client-only": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
@@ -12476,20 +11232,115 @@
"resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz",
"integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg=="
},
- "clui": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/clui/-/clui-0.3.6.tgz",
- "integrity": "sha512-Z4UbgZILlIAjkEkZiDOa2aoYjohKx7fa6DxIh6cE9A6WNWZ61iXfQc6CmdC9SKdS5nO0P0UyQ+WfoXfB65e3HQ==",
- "dev": true,
+ "cmdk": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/cmdk/-/cmdk-0.2.0.tgz",
+ "integrity": "sha512-JQpKvEOb86SnvMZbYaFKYhvzFntWBeSZdyii0rZPhKJj9uwJBxu4DaVYDrRN7r3mPop56oPhRw+JYWTKs66TYw==",
"requires": {
- "cli-color": "0.3.2"
+ "@radix-ui/react-dialog": "1.0.0",
+ "command-score": "0.1.2"
+ },
+ "dependencies": {
+ "@radix-ui/react-dialog": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.0.tgz",
+ "integrity": "sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dismissable-layer": "1.0.0",
+ "@radix-ui/react-focus-guards": "1.0.0",
+ "@radix-ui/react-focus-scope": "1.0.0",
+ "@radix-ui/react-id": "1.0.0",
+ "@radix-ui/react-portal": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.0",
+ "@radix-ui/react-slot": "1.0.0",
+ "@radix-ui/react-use-controllable-state": "1.0.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "2.5.4"
+ }
+ },
+ "@radix-ui/react-dismissable-layer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.0.tgz",
+ "integrity": "sha512-n7kDRfx+LB1zLueRDvZ1Pd0bxdJWDUZNQ/GWoxDn2prnuJKRdxsjulejX/ePkOsLi2tTm6P24mDqlMSgQpsT6g==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.0",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-escape-keydown": "1.0.0"
+ }
+ },
+ "@radix-ui/react-focus-scope": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.0.tgz",
+ "integrity": "sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.0",
+ "@radix-ui/react-use-callback-ref": "1.0.0"
+ }
+ },
+ "@radix-ui/react-portal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.0.tgz",
+ "integrity": "sha512-a8qyFO/Xb99d8wQdu4o7qnigNjTPG123uADNecz0eX4usnQEj7o+cG4ZX4zkqq98NYekT7UoEQIjxBNWIFuqTA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.0"
+ }
+ },
+ "@radix-ui/react-primitive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.0.tgz",
+ "integrity": "sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.0"
+ }
+ },
+ "@radix-ui/react-slot": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.0.tgz",
+ "integrity": "sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0"
+ }
+ },
+ "@radix-ui/react-use-escape-keydown": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.0.tgz",
+ "integrity": "sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "1.0.0"
+ }
+ },
+ "react-remove-scroll": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz",
+ "integrity": "sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==",
+ "requires": {
+ "react-remove-scroll-bar": "^2.3.3",
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
+ }
+ }
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
"requires": {
"color-name": "~1.1.4"
}
@@ -12497,48 +11348,32 @@
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
- "colornames": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz",
- "integrity": "sha512-/pyV40IrsdulWv+wFPmERh9k/mjsPZ64yUMDmWrtj/k1nmgrzzIENWKdaVKyBbvFdQWqkcaRxr+polCo3VMe7A=="
+ "color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
},
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "requires": {
- "delayed-stream": "~1.0.0"
- }
+ "command-score": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/command-score/-/command-score-0.1.2.tgz",
+ "integrity": "sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w=="
},
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "devOptional": true,
- "peer": true
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
- "configstore": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz",
- "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==",
- "dev": true,
- "requires": {
- "dot-prop": "^4.1.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^1.0.0",
- "unique-string": "^1.0.0",
- "write-file-atomic": "^2.0.0",
- "xdg-basedir": "^3.0.0"
- }
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
},
"content-type": {
"version": "1.0.4",
@@ -12550,142 +11385,75 @@
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
},
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
- },
- "create-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
- "dev": true
+ "copy-anything": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.4.tgz",
+ "integrity": "sha512-MaQ9FwzlZ/KLeVCLhzI3rZw0EhrIryfZa3AyT4agVybR0DjlkDHA8898lamLD6kfkf9MMn8D+zDAUR4+GxaymQ==",
+ "requires": {
+ "is-what": "^4.1.8"
+ }
},
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
"requires": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
"which": "^2.0.1"
}
},
- "crypto-random-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
- "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==",
- "dev": true
- },
"cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
},
"csstype": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
- "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
- },
- "csv": {
- "version": "5.5.3",
- "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz",
- "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==",
- "dev": true,
- "requires": {
- "csv-generate": "^3.4.3",
- "csv-parse": "^4.16.3",
- "csv-stringify": "^5.6.5",
- "stream-transform": "^2.1.3"
- }
- },
- "csv-generate": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz",
- "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==",
- "dev": true
- },
- "csv-parse": {
- "version": "4.16.3",
- "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz",
- "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==",
- "dev": true
- },
- "csv-stringify": {
- "version": "5.6.5",
- "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz",
- "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==",
- "dev": true
- },
- "d": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
- "integrity": "sha512-0SdM9V9pd/OXJHoWmTfNPTAeD+lw6ZqHg+isPyBFuJsZLSE0Ygg1cYZ/0l6DrKQXMOqGOu1oWupMoOfoRfMZrQ==",
- "dev": true,
- "requires": {
- "es5-ext": "~0.10.2"
- }
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
+ "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"damerau-levenshtein": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
- "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
- "dev": true
+ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA=="
},
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+ "date-fns": {
+ "version": "2.30.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
+ "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
"requires": {
- "assert-plus": "^1.0.0"
+ "@babel/runtime": "^7.21.0"
}
},
"debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
"requires": {
"ms": "2.1.2"
}
},
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
- "dev": true
- },
- "decamelize-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
- "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
- "dev": true,
+ "decompress-response": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
+ "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
+ "optional": true,
"requires": {
- "decamelize": "^1.1.0",
- "map-obj": "^1.0.0"
- },
- "dependencies": {
- "map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
- "dev": true
- }
+ "mimic-response": "^2.0.0"
}
},
"deep-equal": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz",
- "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==",
- "dev": true,
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz",
+ "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==",
"requires": {
+ "array-buffer-byte-length": "^1.0.0",
"call-bind": "^1.0.2",
- "es-get-iterator": "^1.1.2",
- "get-intrinsic": "^1.1.3",
+ "es-get-iterator": "^1.1.3",
+ "get-intrinsic": "^1.2.0",
"is-arguments": "^1.1.1",
- "is-array-buffer": "^3.0.1",
+ "is-array-buffer": "^3.0.2",
"is-date-object": "^1.0.5",
"is-regex": "^1.1.4",
"is-shared-array-buffer": "^1.0.2",
@@ -12693,7 +11461,7 @@
"object-is": "^1.1.5",
"object-keys": "^1.1.1",
"object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
+ "regexp.prototype.flags": "^1.5.0",
"side-channel": "^1.0.4",
"which-boxed-primitive": "^1.0.2",
"which-collection": "^1.0.1",
@@ -12703,13 +11471,32 @@
"deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
},
- "deepmerge": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
- "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="
+ "default-browser": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz",
+ "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==",
+ "requires": {
+ "bundle-name": "^3.0.0",
+ "default-browser-id": "^3.0.0",
+ "execa": "^7.1.1",
+ "titleize": "^3.0.0"
+ }
+ },
+ "default-browser-id": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz",
+ "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==",
+ "requires": {
+ "bplist-parser": "^0.2.0",
+ "untildify": "^4.0.0"
+ }
+ },
+ "define-lazy-prop": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
+ "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="
},
"defaults": {
"version": "1.0.4",
@@ -12724,58 +11511,35 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
"integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
- "dev": true,
"requires": {
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
}
},
- "define-property": {
+ "delegates": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "defined": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
- "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
- "dev": true
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
},
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="
},
- "detect-indent": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
- "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
- "dev": true
+ "detect-libc": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+ "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w=="
},
- "detective": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
- "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
- "dev": true,
- "requires": {
- "acorn-node": "^1.8.2",
- "defined": "^1.0.0",
- "minimist": "^1.2.6"
- }
+ "detect-node-es": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
},
"dezalgo": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
- "integrity": "sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+ "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
"requires": {
"asap": "^2.0.0",
"wrappy": "1"
@@ -12784,120 +11548,89 @@
"didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
- "dev": true
- },
- "diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
},
"dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
"requires": {
"path-type": "^4.0.0"
}
},
+ "discontinuous-range": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz",
+ "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ=="
+ },
"dlv": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
- "dev": true
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
},
"doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
"requires": {
"esutils": "^2.0.2"
}
},
- "dommatrix": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/dommatrix/-/dommatrix-1.0.3.tgz",
- "integrity": "sha512-l32Xp/TLgWb8ReqbVJAFIvXmY7go4nTxxlWiAFyhoQw9RKEOHBZNnyGvJWqDVSPmq3Y9HlM4npqF/T6VMOXhww=="
- },
- "dot-prop": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz",
- "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==",
- "dev": true,
- "requires": {
- "is-obj": "^1.0.0"
- }
- },
"dotenv": {
"version": "16.0.3",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
"integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
"dev": true
},
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+ "dotenv-cli": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/dotenv-cli/-/dotenv-cli-7.2.1.tgz",
+ "integrity": "sha512-ODHbGTskqRtXAzZapDPvgNuDVQApu4oKX8lZW7Y0+9hKA6le1ZJlyRS687oU9FXjOVEDU/VFV6zI125HzhM1UQ==",
+ "dev": true,
"requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
+ "cross-spawn": "^7.0.3",
+ "dotenv": "^16.0.0",
+ "dotenv-expand": "^10.0.0",
+ "minimist": "^1.2.6"
}
},
+ "dotenv-expand": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz",
+ "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==",
+ "dev": true
+ },
"electron-to-chromium": {
- "version": "1.4.332",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.332.tgz",
- "integrity": "sha512-c1Vbv5tuUlBFp0mb3mCIjw+REEsgthRgNE8BlbEDKmvzb8rxjcVki6OkQP83vLN34s0XCxpSkq7AZNep1a6xhw==",
- "devOptional": true
+ "version": "1.4.397",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.397.tgz",
+ "integrity": "sha512-jwnPxhh350Q/aMatQia31KAIQdhEsYS0fFZ0BQQlN9tfvOEwShu6ZNwI4kL/xBabjcB/nTy6lSt17kNIluJZ8Q=="
},
"emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
- },
- "emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "devOptional": true
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
},
"enhanced-resolve": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
- "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
- "devOptional": true,
+ "version": "5.14.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz",
+ "integrity": "sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==",
"requires": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
}
},
"enquirer": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
- "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==",
- "dev": true,
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
"requires": {
- "ansi-colors": "^4.1.1",
- "strip-ansi": "^6.0.1"
- }
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
+ "ansi-colors": "^4.1.1"
}
},
"es-abstract": {
"version": "1.21.2",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz",
"integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==",
- "dev": true,
"requires": {
"array-buffer-byte-length": "^1.0.0",
"available-typed-arrays": "^1.0.5",
@@ -12939,7 +11672,6 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
"integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.1.3",
@@ -12952,18 +11684,10 @@
"stop-iteration-iterator": "^1.0.0"
}
},
- "es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
- "devOptional": true,
- "peer": true
- },
"es-set-tostringtag": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
"integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
- "dev": true,
"requires": {
"get-intrinsic": "^1.1.3",
"has": "^1.0.3",
@@ -12974,7 +11698,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
"integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
- "dev": true,
"requires": {
"has": "^1.0.3"
}
@@ -12983,197 +11706,269 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
"integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
"requires": {
"is-callable": "^1.1.4",
"is-date-object": "^1.0.1",
"is-symbol": "^1.0.2"
}
},
- "es5-ext": {
- "version": "0.10.62",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
- "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
- "dev": true,
- "requires": {
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.3",
- "next-tick": "^1.1.0"
- }
- },
- "es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- },
- "dependencies": {
- "d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dev": true,
- "requires": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
- "dev": true
- }
- }
- },
- "es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
- "dev": true,
- "requires": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- },
- "dependencies": {
- "d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dev": true,
- "requires": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
- "dev": true
- }
- }
- },
- "es6-weak-map": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.4.tgz",
- "integrity": "sha512-P+N5Cd2TXeb7G59euFiM7snORspgbInS29Nbf3KNO2JQp/DyhvMCDWd58nsVAXwYJ6W3Bx7qDdy6QQ3PCJ7jKQ==",
- "dev": true,
- "requires": {
- "d": "~0.1.1",
- "es5-ext": "~0.10.6",
- "es6-iterator": "~0.1.3",
- "es6-symbol": "~2.0.1"
- },
- "dependencies": {
- "es6-iterator": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.3.tgz",
- "integrity": "sha512-6TOmbFM6OPWkTe+bQ3ZuUkvqcWUjAnYjKUCLdbvRsAUz2Pr+fYIibwNXNkLNtIK9PPFbNMZZddaRNkyJhlGJhA==",
- "dev": true,
- "requires": {
- "d": "~0.1.1",
- "es5-ext": "~0.10.5",
- "es6-symbol": "~2.0.1"
- }
- },
- "es6-symbol": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-2.0.1.tgz",
- "integrity": "sha512-wjobO4zO8726HVU7mI2OA/B6QszqwHJuKab7gKHVx+uRfVVYGcWJkCIFxV2Madqb9/RUSrhJ/r6hPfG7FsWtow==",
- "dev": true,
- "requires": {
- "d": "~0.1.1",
- "es5-ext": "~0.10.5"
- }
- }
- }
- },
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "devOptional": true
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
},
"escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
},
"eslint": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz",
- "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==",
- "dev": true,
+ "version": "7.32.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
+ "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
"requires": {
- "@eslint/eslintrc": "^1.3.3",
- "@humanwhocodes/config-array": "^0.11.6",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
+ "@babel/code-frame": "7.12.11",
+ "@eslint/eslintrc": "^0.4.3",
+ "@humanwhocodes/config-array": "^0.5.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
+ "debug": "^4.0.1",
"doctrine": "^3.0.0",
+ "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.1",
- "eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.3.0",
- "espree": "^9.4.0",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^2.0.0",
+ "espree": "^7.3.1",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.15.0",
- "grapheme-splitter": "^1.0.4",
- "ignore": "^5.2.0",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.1.2",
+ "globals": "^13.6.0",
+ "ignore": "^4.0.6",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-sdsl": "^4.1.4",
- "js-yaml": "^4.1.0",
+ "js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
"lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
+ "minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
- "regexpp": "^3.2.0",
- "strip-ansi": "^6.0.1",
+ "progress": "^2.0.0",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
"strip-json-comments": "^3.1.0",
- "text-table": "^0.2.0"
+ "table": "^6.0.9",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw=="
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="
+ }
+ }
+ },
+ "eslint-config-custom": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-custom/-/eslint-config-custom-0.0.0.tgz",
+ "integrity": "sha512-kwCw78yisbgKdJBJ5qooPmpBYDphDfM2oxSROmtfOwBXBwXuRiSV3suO01W3mVLEFpmQZxMWd/qajKpJhkKSug==",
+ "dev": true,
+ "requires": {
+ "eslint-config-next": "^12.0.8",
+ "eslint-config-prettier": "^8.3.0",
+ "eslint-plugin-react": "7.28.0"
+ },
+ "dependencies": {
+ "@next/eslint-plugin-next": {
+ "version": "12.3.4",
+ "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.3.4.tgz",
+ "integrity": "sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og==",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.7"
+ }
+ },
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "eslint-config-next": {
+ "version": "12.3.4",
+ "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.3.4.tgz",
+ "integrity": "sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ==",
+ "dev": true,
+ "requires": {
+ "@next/eslint-plugin-next": "12.3.4",
+ "@rushstack/eslint-patch": "^1.1.3",
+ "@typescript-eslint/parser": "^5.21.0",
+ "eslint-import-resolver-node": "^0.3.6",
+ "eslint-import-resolver-typescript": "^2.7.1",
+ "eslint-plugin-import": "^2.26.0",
+ "eslint-plugin-jsx-a11y": "^6.5.1",
+ "eslint-plugin-react": "^7.31.7",
+ "eslint-plugin-react-hooks": "^4.5.0"
+ },
+ "dependencies": {
+ "eslint-plugin-react": {
+ "version": "7.32.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz",
+ "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.1.6",
+ "array.prototype.flatmap": "^1.3.1",
+ "array.prototype.tosorted": "^1.1.1",
+ "doctrine": "^2.1.0",
+ "estraverse": "^5.3.0",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "minimatch": "^3.1.2",
+ "object.entries": "^1.1.6",
+ "object.fromentries": "^2.0.6",
+ "object.hasown": "^1.1.2",
+ "object.values": "^1.1.6",
+ "prop-types": "^15.8.1",
+ "resolve": "^2.0.0-next.4",
+ "semver": "^6.3.0",
+ "string.prototype.matchall": "^4.0.8"
+ }
+ },
+ "resolve": {
+ "version": "2.0.0-next.4",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
+ "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "eslint-import-resolver-typescript": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz",
+ "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.3.4",
+ "glob": "^7.2.0",
+ "is-glob": "^4.0.3",
+ "resolve": "^1.22.0",
+ "tsconfig-paths": "^3.14.1"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
+ }
+ },
+ "eslint-plugin-react": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz",
+ "integrity": "sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.1.4",
+ "array.prototype.flatmap": "^1.2.5",
+ "doctrine": "^2.1.0",
+ "estraverse": "^5.3.0",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "minimatch": "^3.0.4",
+ "object.entries": "^1.1.5",
+ "object.fromentries": "^2.0.5",
+ "object.hasown": "^1.1.0",
+ "object.values": "^1.1.5",
+ "prop-types": "^15.7.2",
+ "resolve": "^2.0.0-next.3",
+ "semver": "^6.3.0",
+ "string.prototype.matchall": "^4.0.6"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "2.0.0-next.4",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
+ "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
}
},
"eslint-config-next": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.0.3.tgz",
- "integrity": "sha512-i2JoQP8gGv303GjXTonA27fm1ckRRkRoAP1WYEQgN0D2DDoFeBPqlJgHlMHnXKWjmNct/sW8jQEvy9am2juc8g==",
- "dev": true,
+ "version": "13.4.2",
+ "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.2.tgz",
+ "integrity": "sha512-zjLJ9B9bbeWSo5q+iHfdt8gVYyT+y2BpWDfjR6XMBtFRSMKRGjllDKxnuKBV1q2Y/QpwLM2PXHJTMRyblCmRAg==",
"requires": {
- "@next/eslint-plugin-next": "13.0.3",
+ "@next/eslint-plugin-next": "13.4.2",
"@rushstack/eslint-patch": "^1.1.3",
"@typescript-eslint/parser": "^5.42.0",
"eslint-import-resolver-node": "^0.3.6",
- "eslint-import-resolver-typescript": "^2.7.1",
+ "eslint-import-resolver-typescript": "^3.5.2",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-react": "^7.31.7",
"eslint-plugin-react-hooks": "^4.5.0"
}
},
+ "eslint-config-prettier": {
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz",
+ "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==",
+ "requires": {}
+ },
+ "eslint-config-turbo": {
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/eslint-config-turbo/-/eslint-config-turbo-1.9.6.tgz",
+ "integrity": "sha512-ZIIfcUZ3kW8owIdC1ykebSGJOmVjUidOin1j7ZxpFDGSGcRc2/r5MBNQ7z347lsJs0rNXk/LpOiFHNbdtE+n6w==",
+ "requires": {
+ "eslint-plugin-turbo": "1.9.6"
+ }
+ },
"eslint-import-resolver-node": {
"version": "0.3.7",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
"integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
- "dev": true,
"requires": {
"debug": "^3.2.7",
"is-core-module": "^2.11.0",
@@ -13184,7 +11979,6 @@
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
"requires": {
"ms": "^2.1.1"
}
@@ -13192,39 +11986,43 @@
}
},
"eslint-import-resolver-typescript": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz",
- "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==",
- "dev": true,
+ "version": "3.5.5",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz",
+ "integrity": "sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==",
"requires": {
"debug": "^4.3.4",
- "glob": "^7.2.0",
+ "enhanced-resolve": "^5.12.0",
+ "eslint-module-utils": "^2.7.4",
+ "get-tsconfig": "^4.5.0",
+ "globby": "^13.1.3",
+ "is-core-module": "^2.11.0",
"is-glob": "^4.0.3",
- "resolve": "^1.22.0",
- "tsconfig-paths": "^3.14.1"
+ "synckit": "^0.8.5"
},
"dependencies": {
- "glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
+ "globby": {
+ "version": "13.1.4",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz",
+ "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==",
"requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.11",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^4.0.0"
}
+ },
+ "slash": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew=="
}
}
},
"eslint-module-utils": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
- "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
- "dev": true,
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz",
+ "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==",
"requires": {
"debug": "^3.2.7"
},
@@ -13233,7 +12031,6 @@
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
"requires": {
"ms": "^2.1.1"
}
@@ -13244,7 +12041,6 @@
"version": "2.27.5",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz",
"integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==",
- "dev": true,
"requires": {
"array-includes": "^3.1.6",
"array.prototype.flat": "^1.3.1",
@@ -13267,7 +12063,6 @@
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
"requires": {
"ms": "^2.1.1"
}
@@ -13276,7 +12071,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
"requires": {
"esutils": "^2.0.2"
}
@@ -13284,8 +12078,7 @@
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
}
},
@@ -13293,7 +12086,6 @@
"version": "6.7.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz",
"integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==",
- "dev": true,
"requires": {
"@babel/runtime": "^7.20.7",
"aria-query": "^5.1.3",
@@ -13316,16 +12108,22 @@
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
}
},
+ "eslint-plugin-prettier": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz",
+ "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==",
+ "requires": {
+ "prettier-linter-helpers": "^1.0.0"
+ }
+ },
"eslint-plugin-react": {
"version": "7.32.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz",
"integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==",
- "dev": true,
"requires": {
"array-includes": "^3.1.6",
"array.prototype.flatmap": "^1.3.1",
@@ -13348,7 +12146,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
"requires": {
"esutils": "^2.0.2"
}
@@ -13357,7 +12154,6 @@
"version": "2.0.0-next.4",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
"integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
- "dev": true,
"requires": {
"is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
@@ -13367,8 +12163,7 @@
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
}
},
@@ -13376,64 +12171,76 @@
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
"integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
- "dev": true,
+ "requires": {}
+ },
+ "eslint-plugin-turbo": {
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-turbo/-/eslint-plugin-turbo-1.9.6.tgz",
+ "integrity": "sha512-xxa+gfTg3CG7wKJbkOIqdZw2eXhriORjw/55GDjJiUrNhU4vo1tA+9HDo/glTQygZ22Pj3nxYhxINFnQ/IU3lg==",
"requires": {}
},
"eslint-scope": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
- "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
- "dev": true,
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"requires": {
"esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
+ "estraverse": "^4.1.1"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
+ }
}
},
"eslint-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
- "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "dev": true,
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
"requires": {
- "eslint-visitor-keys": "^2.0.0"
+ "eslint-visitor-keys": "^1.1.0"
},
"dependencies": {
"eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ=="
}
}
},
"eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
- "dev": true
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
+ "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA=="
},
"espree": {
- "version": "9.5.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.0.tgz",
- "integrity": "sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==",
- "dev": true,
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
+ "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
"requires": {
- "acorn": "^8.8.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.3.0"
+ "acorn": "^7.4.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^1.3.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ=="
+ }
}
},
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
},
"esquery": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
"integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
- "dev": true,
"requires": {
"estraverse": "^5.1.0"
}
@@ -13442,7 +12249,6 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "devOptional": true,
"requires": {
"estraverse": "^5.2.0"
}
@@ -13450,113 +12256,49 @@
"estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "devOptional": true
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
},
"esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
},
- "event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
- "dev": true,
+ "execa": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz",
+ "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==",
"requires": {
- "d": "1",
- "es5-ext": "~0.10.14"
- },
- "dependencies": {
- "d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dev": true,
- "requires": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
- "dev": true
- }
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.1",
+ "human-signals": "^4.3.0",
+ "is-stream": "^3.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^5.1.0",
+ "onetime": "^6.0.0",
+ "signal-exit": "^3.0.7",
+ "strip-final-newline": "^3.0.0"
}
},
- "events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
- "devOptional": true,
- "peer": true
- },
- "ext": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
- "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
- "dev": true,
- "requires": {
- "type": "^2.7.2"
- }
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- },
- "extendable-error": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz",
- "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==",
- "dev": true
- },
- "external-editor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
- "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
- "dev": true,
- "requires": {
- "chardet": "^0.7.0",
- "iconv-lite": "^0.4.24",
- "tmp": "^0.0.33"
- }
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g=="
- },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
+ "fast-diff": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w=="
+ },
"fast-glob": {
"version": "3.2.12",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
"requires": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
"glob-parent": "^5.1.2",
"merge2": "^1.3.0",
"micromatch": "^4.0.4"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
}
},
"fast-json-stable-stringify": {
@@ -13567,65 +12309,36 @@
"fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
},
"fastq": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
"integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dev": true,
"requires": {
"reusify": "^1.0.4"
}
},
- "figlet": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.6.0.tgz",
- "integrity": "sha512-31EQGhCEITv6+hi2ORRPyn3bulaV9Fl4xOdR169cBzH/n1UqcxsiSB/noo6SJdD7Kfb1Ljit+IgR1USvF/XbdA==",
- "dev": true
- },
- "figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.5"
- },
- "dependencies": {
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- }
- }
- },
"file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
"requires": {
"flat-cache": "^3.0.4"
}
},
- "file-loader": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
- "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
- "devOptional": true,
+ "file-selector": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz",
+ "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==",
"requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
+ "tslib": "^2.4.0"
}
},
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "devOptional": true,
"requires": {
"to-regex-range": "^5.0.1"
}
@@ -13634,7 +12347,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
"requires": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@@ -13654,7 +12366,6 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
"integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
"requires": {
"flatted": "^3.1.0",
"rimraf": "^3.0.2"
@@ -13663,48 +12374,58 @@
"flatted": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
- "dev": true
+ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
},
"for-each": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
"integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dev": true,
"requires": {
"is-callable": "^1.1.3"
}
},
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw=="
- },
- "form-data": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
"formidable": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.2.5.tgz",
- "integrity": "sha512-GRGDJTWAZ3H+umZbF2bKcqjsTov25zgon1St05ziKdiSw3kxvI+meMJrXx3ylRmuSADOpviSakBuS4yvGCGnSg==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.1.tgz",
+ "integrity": "sha512-0EcS9wCFEzLvfiks7omJ+SiYJAiD+TzK4Pcw1UlUoGnhUxDcMKjt0P7x8wEb0u6OHu8Nb98WG3nxtlF5C7bvUQ==",
"requires": {
- "dezalgo": "1.0.3",
- "hexoid": "1.0.0",
- "once": "1.4.0"
+ "dezalgo": "^1.0.4",
+ "hexoid": "^1.0.0",
+ "once": "^1.4.0",
+ "qs": "^6.11.0"
}
},
"fraction.js": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
- "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
- "dev": true
+ "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA=="
+ },
+ "framer-motion": {
+ "version": "10.12.12",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.12.12.tgz",
+ "integrity": "sha512-DDCqp60U6hR7aUrXj/BXc/t0Sd/U4ep6w/NZQkw898K+u7s+Vv/P8yxq4WTNA86kU9QCsqOgn1Qhz2DpYK0Oag==",
+ "requires": {
+ "@emotion/is-prop-valid": "^0.8.2",
+ "tslib": "^2.4.0"
+ }
+ },
+ "fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "requires": {
+ "minipass": "^3.0.0"
+ },
+ "dependencies": {
+ "minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ }
+ }
},
"fs-extra": {
"version": "7.0.1",
@@ -13720,16 +12441,13 @@
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
"fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "optional": true,
- "peer": true
+ "optional": true
},
"function-bind": {
"version": "1.1.1",
@@ -13740,7 +12458,6 @@
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
"integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3",
@@ -13748,11 +12465,31 @@
"functions-have-names": "^1.2.2"
}
},
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
+ },
"functions-have-names": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "dev": true
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
+ },
+ "gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "requires": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ }
},
"get-caller-file": {
"version": "2.0.5",
@@ -13761,38 +12498,44 @@
"dev": true
},
"get-intrinsic": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
- "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
+ "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
+ "has-proto": "^1.0.1",
"has-symbols": "^1.0.3"
}
},
+ "get-nonce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+ "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="
+ },
+ "get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
+ },
"get-symbol-description": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
"integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.1.1"
}
},
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
- "requires": {
- "assert-plus": "^1.0.0"
- }
+ "get-tsconfig": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.5.0.tgz",
+ "integrity": "sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ=="
},
"glob": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -13803,26 +12546,17 @@
}
},
"glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"requires": {
- "is-glob": "^4.0.3"
+ "is-glob": "^4.0.1"
}
},
- "glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
- "devOptional": true,
- "peer": true
- },
"globals": {
"version": "13.20.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
"integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
- "dev": true,
"requires": {
"type-fest": "^0.20.2"
}
@@ -13831,7 +12565,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
"integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
- "dev": true,
"requires": {
"define-properties": "^1.1.3"
}
@@ -13840,7 +12573,6 @@
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
"integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
"requires": {
"array-union": "^2.1.0",
"dir-glob": "^3.0.1",
@@ -13850,17 +12582,10 @@
"slash": "^3.0.0"
}
},
- "goober": {
- "version": "2.1.12",
- "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.12.tgz",
- "integrity": "sha512-yXHAvO08FU1JgTXX6Zn6sYCUFfB/OJSX8HHjDSgerZHZmFKAb08cykp5LBw5QnmyMcZyPRMqkdyHUSSzge788Q==",
- "requires": {}
- },
"gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dev": true,
"requires": {
"get-intrinsic": "^1.1.3"
}
@@ -13868,28 +12593,12 @@
"graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "devOptional": true
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
},
"grapheme-splitter": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
- "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
- "dev": true
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q=="
- },
- "har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "requires": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- }
+ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
},
"hard-rejection": {
"version": "2.1.0",
@@ -13908,20 +12617,17 @@
"has-bigints": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "dev": true
+ "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ=="
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "devOptional": true
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"has-property-descriptors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
"integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dev": true,
"requires": {
"get-intrinsic": "^1.1.1"
}
@@ -13929,8 +12635,7 @@
"has-proto": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "dev": true
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg=="
},
"has-symbols": {
"version": "1.0.3",
@@ -13941,27 +12646,20 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
"integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
"requires": {
"has-symbols": "^1.0.2"
}
},
- "hex-rgb": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-4.3.0.tgz",
- "integrity": "sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw=="
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
},
"hexoid": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
"integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g=="
},
- "hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
- "dev": true
- },
"http-errors": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
@@ -13974,21 +12672,19 @@
"toidentifier": "1.0.0"
}
},
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
+ "agent-base": "6",
+ "debug": "4"
}
},
- "human-id": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz",
- "integrity": "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==",
- "dev": true
+ "human-signals": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
+ "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ=="
},
"iconv-lite": {
"version": "0.4.24",
@@ -14001,20 +12697,12 @@
"ignore": {
"version": "5.2.4",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "dev": true
- },
- "immutable": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
- "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==",
- "devOptional": true
+ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ=="
},
"import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
"requires": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -14023,8 +12711,7 @@
"imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="
},
"indent-string": {
"version": "4.0.0",
@@ -14036,7 +12723,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
@@ -14047,125 +12733,28 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
- "inquirer": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
- "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
- "dev": true,
- "requires": {
- "ansi-escapes": "^3.2.0",
- "chalk": "^2.4.2",
- "cli-cursor": "^2.1.0",
- "cli-width": "^2.0.0",
- "external-editor": "^3.0.3",
- "figures": "^2.0.0",
- "lodash": "^4.17.12",
- "mute-stream": "0.0.7",
- "run-async": "^2.2.0",
- "rxjs": "^6.4.0",
- "string-width": "^2.1.0",
- "strip-ansi": "^5.1.0",
- "through": "^2.3.6"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
"internal-slot": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
"integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
- "dev": true,
"requires": {
"get-intrinsic": "^1.2.0",
"has": "^1.0.3",
"side-channel": "^1.0.4"
}
},
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
"requires": {
- "kind-of": "^6.0.0"
+ "loose-envify": "^1.0.0"
}
},
"is-arguments": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
"integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
@@ -14175,24 +12764,16 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
"integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.2.0",
"is-typed-array": "^1.1.10"
}
},
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true
- },
"is-bigint": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
"integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dev": true,
"requires": {
"has-bigints": "^1.0.1"
}
@@ -14201,7 +12782,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "devOptional": true,
"requires": {
"binary-extensions": "^2.0.0"
}
@@ -14210,23 +12790,15 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
"integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
}
},
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
"is-callable": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "dev": true
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="
},
"is-ci": {
"version": "3.0.1",
@@ -14238,102 +12810,79 @@
}
},
"is-core-module": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
- "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
- "dev": true,
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz",
+ "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==",
"requires": {
"has": "^1.0.3"
}
},
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
"is-date-object": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
"integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dev": true,
"requires": {
"has-tostringtag": "^1.0.0"
}
},
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
+ "is-docker": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
+ "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "devOptional": true
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
- "dev": true
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
},
"is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "devOptional": true,
"requires": {
"is-extglob": "^2.1.1"
}
},
+ "is-inside-container": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
+ "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
+ "requires": {
+ "is-docker": "^3.0.0"
+ }
+ },
"is-map": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
- "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
- "dev": true
+ "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg=="
},
"is-negative-zero": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "dev": true
+ "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
},
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "devOptional": true
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
},
"is-number-object": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
"integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dev": true,
"requires": {
"has-tostringtag": "^1.0.0"
}
},
- "is-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==",
- "dev": true
- },
"is-path-inside": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="
},
"is-plain-obj": {
"version": "1.1.0",
@@ -14345,7 +12894,6 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
"integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
@@ -14354,23 +12902,25 @@
"is-set": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
- "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
- "dev": true
+ "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g=="
},
"is-shared-array-buffer": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
"integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2"
}
},
+ "is-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
+ "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA=="
+ },
"is-string": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
"integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dev": true,
"requires": {
"has-tostringtag": "^1.0.0"
}
@@ -14388,7 +12938,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
"integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dev": true,
"requires": {
"has-symbols": "^1.0.2"
}
@@ -14397,7 +12946,6 @@
"version": "1.1.10",
"resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
"integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
- "dev": true,
"requires": {
"available-typed-arrays": "^1.0.5",
"call-bind": "^1.0.2",
@@ -14406,22 +12954,15 @@
"has-tostringtag": "^1.0.0"
}
},
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
- },
"is-weakmap": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
- "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
- "dev": true
+ "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA=="
},
"is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
"integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2"
}
@@ -14430,75 +12971,69 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
"integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.1.1"
}
},
- "is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
- "dev": true
+ "is-what": {
+ "version": "4.1.9",
+ "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.9.tgz",
+ "integrity": "sha512-I3FU0rkVvwhgLLEs6iITwZ/JaLXe7tQcHyzupXky8jigt1vu4KM0UOqDr963j36JRvJ835EATVIm6MnGz/i1/g=="
+ },
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "requires": {
+ "is-docker": "^2.0.0"
+ },
+ "dependencies": {
+ "is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="
+ }
+ }
},
"isarray": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
},
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
+ "isomorphic-fetch": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz",
+ "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==",
+ "requires": {
+ "node-fetch": "^2.6.1",
+ "whatwg-fetch": "^3.4.1"
+ }
},
"javascript-natural-sort": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
- "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==",
- "dev": true
+ "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw=="
},
- "jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
+ "jiti": {
+ "version": "1.18.2",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
+ "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg=="
},
"jose": {
- "version": "4.13.1",
- "resolved": "https://registry.npmjs.org/jose/-/jose-4.13.1.tgz",
- "integrity": "sha512-MSJQC5vXco5Br38mzaQKiq9mwt7lwj2eXpgpRyQYNHYt2lq1PjkWa7DLXX0WVcQLE9HhMh3jPiufS7fhJf+CLQ=="
+ "version": "4.14.4",
+ "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz",
+ "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g=="
},
"js-sdsl": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz",
- "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==",
- "dev": true
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
+ "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg=="
},
"js-tokens": {
"version": "4.0.0",
@@ -14506,41 +13041,18 @@
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"requires": {
- "argparse": "^2.0.1"
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
}
},
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
- },
"jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
- "dev": true
- },
- "json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "devOptional": true
- },
- "json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
},
"json-schema-traverse": {
"version": "0.4.1",
@@ -14550,73 +13062,34 @@
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
},
"json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "devOptional": true
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+ "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "jsprim": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
+ "minimist": "^1.2.0"
}
},
"jsx-ast-utils": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
"integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==",
- "dev": true,
"requires": {
"array-includes": "^3.1.5",
"object.assign": "^4.1.3"
}
},
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true
- },
- "kleur": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
- "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
- "dev": true
- },
"language-subtag-registry": {
"version": "0.3.22",
"resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
- "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==",
- "dev": true
+ "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w=="
},
"language-tags": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
"integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==",
- "dev": true,
"requires": {
"language-subtag-registry": "~0.3.2"
}
@@ -14625,7 +13098,6 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
"requires": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -14634,97 +13106,17 @@
"lilconfig": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "dev": true
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="
},
"lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true
- },
- "load-json-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
- "dev": true
- }
- }
- },
- "load-yaml-file": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz",
- "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.5",
- "js-yaml": "^3.13.0",
- "pify": "^4.0.1",
- "strip-bom": "^3.0.0"
- },
- "dependencies": {
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- }
- }
- },
- "loader-runner": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
- "devOptional": true,
- "peer": true
- },
- "loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "devOptional": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
},
"locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
"requires": {
"p-locate": "^5.0.0"
}
@@ -14732,41 +13124,17 @@
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
- "dev": true
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
},
- "lodash.padend": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
- "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw=="
- },
- "lodash.startcase": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz",
- "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==",
- "dev": true
- },
- "lodash.trimstart": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz",
- "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ=="
- },
- "lodash.words": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.words/-/lodash.words-4.2.0.tgz",
- "integrity": "sha512-mXxqd8Yx9BGPij3lZKFSdOsjOTbL4krbCCp9slEozaN4EMppA2dFmK/f8HeohodprY6W0vOdiQ5WFgPaTI75xQ=="
+ "lodash.truncate": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+ "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw=="
},
"loose-envify": {
"version": "1.4.0",
@@ -14784,82 +13152,36 @@
"yallist": "^4.0.0"
}
},
- "lru-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
- "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
- "dev": true,
- "requires": {
- "es5-ext": "~0.10.2"
- }
+ "lucide-react": {
+ "version": "0.214.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.214.0.tgz",
+ "integrity": "sha512-/vRi1wnFV2lqyIIkghQ3dDLu0eA9zykRQN9GZBwydzv+kB/2Q3S4X6OYB+aRqLXwl438vfVBqyYov2z0LJeoqA==",
+ "requires": {}
},
"make-cancellable-promise": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-1.2.1.tgz",
- "integrity": "sha512-nigEn7brgUhjUb2lEobWUW4ZiJdIZ/Wct0UsmDsqaZhgLMvY1OC6FGLa/5SU2RvnyuilkjM7g5JGxt6CJZQGNw=="
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-1.3.1.tgz",
+ "integrity": "sha512-DWOzWdO3xhY5ESjVR+wVFy03rpt0ZccS4bunccNwngoX6rllKlMZm6S9ZnJ5nMuDDweqDMjtaO0g6tZeh+cCUA=="
},
"make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
- "dev": true,
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"requires": {
- "pify": "^3.0.0"
+ "semver": "^6.0.0"
},
"dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
- "dev": true
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
}
},
- "make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true
- },
"make-event-props": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-1.4.2.tgz",
- "integrity": "sha512-ZOHqRpLn2htnMd9zqhE+wticVr31PdwrJXHcvEEdKgrfjCOuSDn8urG9SDzEIqzP1ayp1uTdDJcOiTlJhqWpEQ=="
- },
- "map-obj": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
- "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
- "dev": true
- },
- "memoizee": {
- "version": "0.3.10",
- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.3.10.tgz",
- "integrity": "sha512-LLzVUuWwGBKK188spgOK/ukrp5zvd9JGsiLDH41pH9vt5jvhZfsu5pxDuAnYAMG8YEGce72KO07sSBy9KkvOfw==",
- "dev": true,
- "requires": {
- "d": "~0.1.1",
- "es5-ext": "~0.10.11",
- "es6-weak-map": "~0.1.4",
- "event-emitter": "~0.3.4",
- "lru-queue": "0.1",
- "next-tick": "~0.2.2",
- "timers-ext": "0.1"
- },
- "dependencies": {
- "next-tick": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz",
- "integrity": "sha512-f7h4svPtl+QidoBv4taKXUjJ70G2asaZ8G28nS0OkqaalX8dwwrtWtyxEDPK62AC00ur/+/E0pUwBwY5EPn15Q==",
- "dev": true
- }
- }
- },
- "memorystream": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
- "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
- "dev": true
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-1.6.1.tgz",
+ "integrity": "sha512-JhvWq/iz1BvlmnPvLJjXv+xnMPJZuychrDC68V+yCGQJn5chcA8rLGKo5EP1XwIKVrigSXKLmbeXAGkf36wdCQ=="
},
"meow": {
"version": "6.1.1",
@@ -14889,9 +13211,9 @@
}
},
"merge-refs": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.1.2.tgz",
- "integrity": "sha512-t+FvJw2LXHnNTMRmNB2HY04uVdvCW8AbfwZi0DgUxFEoP20rnvXxZmePRML1nDiLO5KKE0p4GDu1qHhrig/Jpg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.2.1.tgz",
+ "integrity": "sha512-pRPz39HQz2xzHdXAGvtJ9S8aEpNgpUjzb5yPC3ytozodmsHg+9nqgRs7/YOmn9fM/TLzntAC8AdGTidKxOq9TQ==",
"requires": {
"@types/react": "*"
}
@@ -14899,15 +13221,12 @@
"merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "devOptional": true,
- "peer": true
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
},
"merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
},
"micro": {
"version": "10.0.1",
@@ -14930,48 +13249,26 @@
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
"requires": {
"braces": "^3.0.2",
"picomatch": "^2.3.1"
}
},
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
- },
- "mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "requires": {
- "mime-db": "1.52.0"
- }
- },
"mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
- "dev": true
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
+ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="
},
- "min-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
- "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
- "dev": true
- },
- "mini-svg-data-uri": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
- "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==",
- "dev": true
+ "mimic-response": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
+ "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==",
+ "optional": true
},
"minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -14979,8 +13276,41 @@
"minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
+ },
+ "minipass": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ=="
+ },
+ "minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "requires": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "dependencies": {
+ "minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
+ },
+ "moo": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz",
+ "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q=="
},
"minimist-options": {
"version": "4.1.0",
@@ -15002,56 +13332,71 @@
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
- "mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==",
- "dev": true
+ "mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "requires": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "nan": {
+ "version": "2.17.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
+ "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==",
+ "optional": true
},
"nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+ "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
},
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
},
- "neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "devOptional": true,
- "peer": true
+ "natural-compare-lite": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g=="
+ },
+ "nearley": {
+ "version": "2.20.1",
+ "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz",
+ "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==",
+ "requires": {
+ "commander": "^2.19.0",
+ "moo": "^0.5.0",
+ "railroad-diagrams": "^1.0.0",
+ "randexp": "0.4.6"
+ }
},
"next": {
- "version": "13.2.4",
- "resolved": "https://registry.npmjs.org/next/-/next-13.2.4.tgz",
- "integrity": "sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==",
+ "version": "13.4.1",
+ "resolved": "https://registry.npmjs.org/next/-/next-13.4.1.tgz",
+ "integrity": "sha512-JBw2kAIyhKDpjhEWvNVoFeIzNp9xNxg8wrthDOtMctfn3EpqGCmW0FSviNyGgOSOSn6zDaX48pmvbdf6X2W9xA==",
"requires": {
- "@next/env": "13.2.4",
- "@next/swc-android-arm-eabi": "13.2.4",
- "@next/swc-android-arm64": "13.2.4",
- "@next/swc-darwin-arm64": "13.2.4",
- "@next/swc-darwin-x64": "13.2.4",
- "@next/swc-freebsd-x64": "13.2.4",
- "@next/swc-linux-arm-gnueabihf": "13.2.4",
- "@next/swc-linux-arm64-gnu": "13.2.4",
- "@next/swc-linux-arm64-musl": "13.2.4",
- "@next/swc-linux-x64-gnu": "13.2.4",
- "@next/swc-linux-x64-musl": "13.2.4",
- "@next/swc-win32-arm64-msvc": "13.2.4",
- "@next/swc-win32-ia32-msvc": "13.2.4",
- "@next/swc-win32-x64-msvc": "13.2.4",
- "@swc/helpers": "0.4.14",
+ "@next/env": "13.4.1",
+ "@next/swc-darwin-arm64": "13.4.1",
+ "@next/swc-darwin-x64": "13.4.1",
+ "@next/swc-linux-arm64-gnu": "13.4.1",
+ "@next/swc-linux-arm64-musl": "13.4.1",
+ "@next/swc-linux-x64-gnu": "13.4.1",
+ "@next/swc-linux-x64-musl": "13.4.1",
+ "@next/swc-win32-arm64-msvc": "13.4.1",
+ "@next/swc-win32-ia32-msvc": "13.4.1",
+ "@next/swc-win32-x64-msvc": "13.4.1",
+ "@swc/helpers": "0.5.1",
+ "busboy": "1.6.0",
"caniuse-lite": "^1.0.30001406",
"postcss": "8.4.14",
- "styled-jsx": "5.1.1"
+ "styled-jsx": "5.1.1",
+ "zod": "3.21.4"
},
"dependencies": {
"postcss": {
@@ -15067,9 +13412,9 @@
}
},
"next-auth": {
- "version": "4.22.0",
- "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.22.0.tgz",
- "integrity": "sha512-08+kjnDoE7aQ52O996x6cwA3ffc2CbHIkrCgLYhbE+aDIJBKI0oA9UbIEIe19/+ODYJgpAHHOtJx4izmsgaVag==",
+ "version": "4.22.1",
+ "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.22.1.tgz",
+ "integrity": "sha512-NTR3f6W7/AWXKw8GSsgSyQcDW6jkslZLH8AiZa5PQ09w1kR8uHtR9rez/E9gAq/o17+p0JYHE8QjF3RoniiObA==",
"requires": {
"@babel/runtime": "^7.20.13",
"@panva/hkdf": "^1.0.2",
@@ -15082,223 +13427,87 @@
"uuid": "^8.3.2"
}
},
- "next-tick": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
- "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
- "dev": true
+ "next-plausible": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/next-plausible/-/next-plausible-3.7.2.tgz",
+ "integrity": "sha512-9PqFiVtD1kZO5gHFYTcgilHhg2WhMzD6I4NK/RUh9DGavD1N11IhNAvyGLFmvB3f4FtHC9IoAsauYDtQBt+riA==",
+ "requires": {}
},
- "next-transpile-modules": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/next-transpile-modules/-/next-transpile-modules-10.0.0.tgz",
- "integrity": "sha512-FyeJ++Lm2Fq31gbThiRCrJlYpIY9QaI7A3TjuhQLzOix8ChQrvn5ny4MhfIthS5cy6+uK1AhDRvxVdW17y3Xdw==",
- "dev": true,
+ "node-addon-api": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz",
+ "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA=="
+ },
+ "node-fetch": {
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
+ "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
"requires": {
- "enhanced-resolve": "^5.10.0"
+ "whatwg-url": "^5.0.0"
}
},
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "dev": true
- },
- "node-forge": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
- "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="
- },
"node-releases": {
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
- "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
- "devOptional": true
+ "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w=="
},
- "node-signpdf": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/node-signpdf/-/node-signpdf-1.5.1.tgz",
- "integrity": "sha512-72pvjj87WOsasSaEXjZCJc4VCFCcAh5mRqznJNqZCqd34KsmwhxoeGA2u03QvQ/p1fm+dA3S17wXIaj7wQzEcQ==",
- "requires": {}
- },
- "nodemailer": {
- "version": "6.9.1",
- "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.1.tgz",
- "integrity": "sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA=="
- },
- "nodemailer-sendgrid": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/nodemailer-sendgrid/-/nodemailer-sendgrid-1.0.3.tgz",
- "integrity": "sha512-To/veO2M4evjtv1XrY7BUgE+LDypgs/FBx4wOHb2UNTpvZhiARtvMaBI0685Yxkho0lIPJc4jS0cUE7v+XGNgg==",
+ "node-sql-parser": {
+ "version": "4.6.6",
+ "resolved": "https://registry.npmjs.org/node-sql-parser/-/node-sql-parser-4.6.6.tgz",
+ "integrity": "sha512-zpash5xnRY6+0C9HFru32iRJV1LTkwtrVpO90i385tYVF6efyXK/B3Nsq/15Fuv2utxrqHNjKtL55OHb8sl+eQ==",
"requires": {
- "@sendgrid/mail": "^6.2.1"
+ "big-integer": "^1.6.48"
}
},
- "normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dev": true,
+ "nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
"requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
+ "abbrev": "1"
}
},
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "devOptional": true
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
},
"normalize-range": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
- "dev": true
+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="
},
- "npm-run-all": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
- "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
- "dev": true,
+ "npm-run-path": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
+ "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
"requires": {
- "ansi-styles": "^3.2.1",
- "chalk": "^2.4.1",
- "cross-spawn": "^6.0.5",
- "memorystream": "^0.3.1",
- "minimatch": "^3.0.4",
- "pidtree": "^0.3.0",
- "read-pkg": "^3.0.0",
- "shell-quote": "^1.6.1",
- "string.prototype.padend": "^3.0.0"
+ "path-key": "^4.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true
- },
"path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
- "dev": true
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
- "dev": true,
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
+ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="
}
}
},
+ "npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "requires": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ },
"oauth": {
"version": "0.9.15",
"resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
"integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA=="
},
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
- },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -15318,7 +13527,6 @@
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
"integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3"
@@ -15327,14 +13535,12 @@
"object-keys": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
},
"object.assign": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
"integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -15346,7 +13552,6 @@
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz",
"integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -15357,7 +13562,6 @@
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz",
"integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -15368,7 +13572,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz",
"integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==",
- "dev": true,
"requires": {
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4"
@@ -15378,7 +13581,6 @@
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
"integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -15386,9 +13588,9 @@
}
},
"oidc-token-hash": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz",
- "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ=="
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.3.tgz",
+ "integrity": "sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw=="
},
"once": {
"version": "1.4.0",
@@ -15399,30 +13601,39 @@
}
},
"onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==",
- "dev": true,
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
+ "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
"requires": {
- "mimic-fn": "^1.0.0"
+ "mimic-fn": "^4.0.0"
+ }
+ },
+ "open": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz",
+ "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==",
+ "requires": {
+ "default-browser": "^4.0.0",
+ "define-lazy-prop": "^3.0.0",
+ "is-inside-container": "^1.0.0",
+ "is-wsl": "^2.2.0"
}
},
"openid-client": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.4.0.tgz",
- "integrity": "sha512-hgJa2aQKcM2hn3eyVtN12tEA45ECjTJPXCgUh5YzTzy9qwapCvmDTVPWOcWVL0d34zeQoQ/hbG9lJhl3AYxJlQ==",
+ "version": "5.4.2",
+ "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.4.2.tgz",
+ "integrity": "sha512-lIhsdPvJ2RneBm3nGBBhQchpe3Uka//xf7WPHTIglery8gnckvW7Bd9IaQzekzXJvWthCMyi/xVEyGW0RFPytw==",
"requires": {
- "jose": "^4.10.0",
+ "jose": "^4.14.1",
"lru-cache": "^6.0.0",
- "object-hash": "^2.0.1",
- "oidc-token-hash": "^5.0.1"
+ "object-hash": "^2.2.0",
+ "oidc-token-hash": "^5.0.3"
}
},
"optionator": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
"integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "dev": true,
"requires": {
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
@@ -15432,32 +13643,10 @@
"word-wrap": "^1.2.3"
}
},
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
- "dev": true
- },
- "outdent": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz",
- "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==",
- "dev": true
- },
- "p-filter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz",
- "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==",
- "dev": true,
- "requires": {
- "p-map": "^2.0.0"
- }
- },
"p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
"requires": {
"yocto-queue": "^0.1.0"
}
@@ -15466,7 +13655,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
"requires": {
"p-limit": "^3.0.2"
}
@@ -15492,50 +13680,39 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
"requires": {
"callsites": "^3.0.0"
}
},
- "parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
- "dev": true,
- "requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- }
- },
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
},
"path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
},
"path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
"path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
+ },
+ "path2d-polyfill": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path2d-polyfill/-/path2d-polyfill-2.0.1.tgz",
+ "integrity": "sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA=="
},
"pdf-lib": {
"version": "1.17.1",
@@ -15556,18 +13733,19 @@
}
},
"pdfjs-dist": {
- "version": "2.16.105",
- "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.16.105.tgz",
- "integrity": "sha512-J4dn41spsAwUxCpEoVf6GVoz908IAA3mYiLmNxg8J9kfRXc2jxpbUepcP0ocp0alVNLFthTAM8DZ1RaHh8sU0A==",
+ "version": "3.6.172",
+ "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-3.6.172.tgz",
+ "integrity": "sha512-bfOhCg+S9DXh/ImWhWYTOiq3aVMFSCvzGiBzsIJtdMC71kVWDBw7UXr32xh0y56qc5wMVylIeqV3hBaRsu+e+w==",
"requires": {
- "dommatrix": "^1.0.3",
+ "canvas": "^2.11.2",
+ "path2d-polyfill": "^2.0.1",
"web-streams-polyfill": "^3.2.1"
}
},
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
+ "perfect-freehand": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/perfect-freehand/-/perfect-freehand-1.2.0.tgz",
+ "integrity": "sha512-h/0ikF1M3phW7CwpZ5MMvKnfpHficWoOEyr//KVNTxV4F6deRK1eYMtHyBKEAKFK0aXIEUK9oBvlF6PNXMDsAw=="
},
"picocolors": {
"version": "1.0.0",
@@ -15577,90 +13755,32 @@
"picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "devOptional": true
- },
- "pidtree": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
- "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
- "dev": true
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
},
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
},
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- }
- }
- },
- "placeholder-loading": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/placeholder-loading/-/placeholder-loading-0.6.0.tgz",
- "integrity": "sha512-KdUnwa3AEuXlem7QeSi4qtny+QfiACUh0P0iYskJBwfg3LtAUMQFyd9L21ysdBQ65KbK6tZ4VsKPkcF3mULwMQ=="
+ "pirates": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
+ "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ=="
},
"postcss": {
- "version": "8.4.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
- "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
- "dev": true,
+ "version": "8.4.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz",
+ "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==",
"requires": {
- "nanoid": "^3.3.4",
+ "nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
}
},
"postcss-import": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
- "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
- "dev": true,
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
"requires": {
"postcss-value-parser": "^4.0.0",
"read-cache": "^1.0.0",
@@ -15671,35 +13791,31 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
"integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
- "dev": true,
"requires": {
"camelcase-css": "^2.0.1"
}
},
"postcss-load-config": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
- "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
- "dev": true,
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
+ "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
"requires": {
"lilconfig": "^2.0.5",
- "yaml": "^1.10.2"
+ "yaml": "^2.1.1"
}
},
"postcss-nested": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
- "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
- "dev": true,
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
+ "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
"requires": {
- "postcss-selector-parser": "^6.0.10"
+ "postcss-selector-parser": "^6.0.11"
}
},
"postcss-selector-parser": {
- "version": "6.0.11",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
- "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
- "dev": true,
+ "version": "6.0.13",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
+ "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
"requires": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -15708,13 +13824,12 @@
"postcss-value-parser": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
},
"preact": {
- "version": "10.13.1",
- "resolved": "https://registry.npmjs.org/preact/-/preact-10.13.1.tgz",
- "integrity": "sha512-KyoXVDU5OqTpG9LXlB3+y639JAGzl8JSBXLn1J9HTSB3gbKcuInga7bZnXLlxmK94ntTs1EFeZp0lrja2AuBYQ=="
+ "version": "10.14.1",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.14.1.tgz",
+ "integrity": "sha512-4XDSnUisk3YFBb3p9WeKeH1mKoxdFUsaXcvxs9wlpYR1wax/TWJVqhwmIWbByX0h7jMEJH6Zc5J6jqc58FKaNQ=="
},
"preact-render-to-string": {
"version": "5.2.6",
@@ -15739,20 +13854,35 @@
"prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
},
"prettier": {
- "version": "2.8.7",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz",
- "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
- "dev": true
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="
+ },
+ "prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "requires": {
+ "fast-diff": "^1.1.2"
+ }
+ },
+ "prettier-plugin-sql": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-sql/-/prettier-plugin-sql-0.14.0.tgz",
+ "integrity": "sha512-dRgINgNd3ZhBDuO/+EFalJjSlAqNXvXv9XDtSCeMufXaP6O64HHLBo1Szo+l+cfvXFxwvkTSGrS+sjpEpSchNA==",
+ "requires": {
+ "node-sql-parser": "^4.6.6",
+ "sql-formatter": "^12.2.0",
+ "tslib": "^2.5.0"
+ }
},
"prettier-plugin-tailwindcss": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.6.tgz",
- "integrity": "sha512-F+7XCl9RLF/LPrGdUMHWpsT6TM31JraonAUyE6eBmpqymFvDwyl0ETHsKFHP1NG+sEfv8bmKqnTxEbWQbHPlBA==",
- "dev": true,
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.8.tgz",
+ "integrity": "sha512-KgPcEnJeIijlMjsA6WwYgRs5rh3/q76oInqtMXBA/EMcamrcYJpyhtRhyX1ayT9hnHlHTuO8sIifHF10WuSDKg==",
"requires": {}
},
"pretty-format": {
@@ -15761,13 +13891,18 @@
"integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew=="
},
"prisma": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.11.0.tgz",
- "integrity": "sha512-4zZmBXssPUEiX+GeL0MUq/Yyie4ltiKmGu7jCJFnYMamNrrulTBc+D+QwAQSJ01tyzeGHlD13kOnqPwRipnlNw==",
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.14.0.tgz",
+ "integrity": "sha512-+5dMl1uxMQb4RepndY6AwR9xi1cDcaGFICu+ws6/Nmgt93mFPNj8tYxSfTdmfg+rkNrUId9rk/Ac2vTgLe/oXA==",
"requires": {
- "@prisma/engines": "4.11.0"
+ "@prisma/engines": "4.14.0"
}
},
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
+ },
"prop-types": {
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
@@ -15778,47 +13913,36 @@
"react-is": "^16.13.1"
}
},
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==",
- "dev": true
- },
- "psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
- },
"punycode": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
},
"qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA=="
+ "version": "6.11.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
+ "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
},
"queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
},
- "quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
- "dev": true
+ "railroad-diagrams": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
+ "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A=="
},
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "devOptional": true,
- "peer": true,
+ "randexp": {
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz",
+ "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==",
"requires": {
- "safe-buffer": "^5.1.0"
+ "discontinuous-range": "1.0.0",
+ "ret": "~0.1.10"
}
},
"raw-body": {
@@ -15840,6 +13964,12 @@
"loose-envify": "^1.1.0"
}
},
+ "react-day-picker": {
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.7.1.tgz",
+ "integrity": "sha512-Gv426AW8b151CZfh3aP5RUGztLwHB/EyJgWZ5iMgtzbFBkjHfG6Y66CIQFMWGLnYjsQ9DYSJRmJ5S0Pg5HWKjA==",
+ "requires": {}
+ },
"react-dom": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
@@ -15849,28 +13979,27 @@
"scheduler": "^0.23.0"
}
},
- "react-draggable": {
- "version": "4.4.5",
- "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.5.tgz",
- "integrity": "sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==",
+ "react-dropzone": {
+ "version": "14.2.3",
+ "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz",
+ "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==",
"requires": {
- "clsx": "^1.1.1",
+ "attr-accept": "^2.2.2",
+ "file-selector": "^0.6.0",
"prop-types": "^15.8.1"
}
},
"react-hook-form": {
- "version": "7.43.6",
- "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.43.6.tgz",
- "integrity": "sha512-zEXpju7XnrszIW5AMIjGw3ta/NmhkXG02fnSbIt4MfCegdQhmLkAfeM8bba87Co3oyBDsp8wONP8POcRToPBVw==",
+ "version": "7.43.9",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.43.9.tgz",
+ "integrity": "sha512-AUDN3Pz2NSeoxQ7Hs6OhQhDr6gtF9YRuutGDwPQqhSUAHJSgGl2VeY3qN19MG0SucpjgDiuMJ4iC5T5uB+eaNQ==",
"requires": {}
},
- "react-hot-toast": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.0.tgz",
- "integrity": "sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==",
- "requires": {
- "goober": "^2.1.10"
- }
+ "react-icons": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.8.0.tgz",
+ "integrity": "sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg==",
+ "requires": {}
},
"react-is": {
"version": "16.13.1",
@@ -15878,83 +14007,73 @@
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"react-pdf": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-6.2.2.tgz",
- "integrity": "sha512-huNWhzzTAb3t1mWA6WOR9yQRCbcZ6uXCGC46cEAgEhGqvXTB6RcHm+1DS2r9OdPNUZ9SZTuR6jZ1BNOJIiEing==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-7.1.1.tgz",
+ "integrity": "sha512-VOtv3d3lDY5gRpNgpySpJGYwIdZsqBmwvnPUZtvSeQfgtJQLXOCw2KVWFj15hHCIv1GJmSiojqNEDLsx+lOpgw==",
"requires": {
- "@babel/runtime": "^7.0.0",
"clsx": "^1.2.1",
"make-cancellable-promise": "^1.0.0",
- "make-event-props": "^1.1.0",
- "merge-refs": "^1.0.0",
- "pdfjs-dist": "2.16.105",
+ "make-event-props": "^1.5.0",
+ "merge-refs": "^1.1.3",
+ "pdfjs-dist": "3.6.172",
"prop-types": "^15.6.2",
"tiny-invariant": "^1.0.0",
"tiny-warning": "^1.0.0"
}
},
- "react-resizable": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/react-resizable/-/react-resizable-3.0.4.tgz",
- "integrity": "sha512-StnwmiESiamNzdRHbSSvA65b0ZQJ7eVQpPusrSmcpyGKzC0gojhtO62xxH6YOBmepk9dQTBi9yxidL3W4s3EBA==",
+ "react-remove-scroll": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
+ "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==",
"requires": {
- "prop-types": "15.x",
- "react-draggable": "^4.0.3"
+ "react-remove-scroll-bar": "^2.3.3",
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
}
},
- "react-signature-canvas": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/react-signature-canvas/-/react-signature-canvas-1.0.6.tgz",
- "integrity": "sha512-NoMHomYu9HxFeLjUGbIeV9abPdWSROfFxFNDekGdwmmaIx+w5ziOEiU2C34X0Ao4GxFnwqyUy/BpYlA4lCD1CA==",
+ "react-remove-scroll-bar": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz",
+ "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==",
"requires": {
- "signature_pad": "^2.3.2",
- "trim-canvas": "^0.1.0"
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.0.0"
}
},
- "react-tooltip": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.10.0.tgz",
- "integrity": "sha512-9qhzkWJNBXf/ajD84e4eIMUgpZW/x+q0QaVjBcELImrH8UHcW1nlIEQOeKsgKgZfqT2vrQho2Dhfh0eALcjTJQ==",
+ "react-ssr-prepass": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/react-ssr-prepass/-/react-ssr-prepass-1.5.0.tgz",
+ "integrity": "sha512-yFNHrlVEReVYKsLI5lF05tZoHveA5pGzjFbFJY/3pOqqjGOmMmqx83N4hIjN2n6E1AOa+eQEUxs3CgRnPmT0RQ==",
+ "requires": {}
+ },
+ "react-style-singleton": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
+ "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
"requires": {
- "@floating-ui/dom": "1.2.3",
- "classnames": "^2.3.2"
+ "get-nonce": "^1.0.0",
+ "invariant": "^2.2.4",
+ "tslib": "^2.0.0"
}
},
"read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
"integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "dev": true,
"requires": {
"pify": "^2.3.0"
}
},
- "read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
- "dev": true,
+ "readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"requires": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
- },
- "dependencies": {
- "path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- }
- },
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
- "dev": true
- }
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
}
},
"read-pkg-up": {
@@ -16088,7 +14207,6 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "devOptional": true,
"requires": {
"picomatch": "^2.2.1"
}
@@ -16109,65 +14227,24 @@
"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
},
"regexp.prototype.flags": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
- "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
- "dev": true,
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz",
+ "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==",
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
+ "define-properties": "^1.2.0",
+ "functions-have-names": "^1.2.3"
}
},
"regexpp": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg=="
},
- "request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
- }
- }
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
},
"require-directory": {
"version": "2.1.1",
@@ -16182,12 +14259,11 @@
"dev": true
},
"resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
- "dev": true,
+ "version": "1.22.2",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
+ "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
"requires": {
- "is-core-module": "^2.9.0",
+ "is-core-module": "^2.11.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
}
@@ -16195,71 +14271,96 @@
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
},
- "restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==",
- "dev": true,
- "requires": {
- "onetime": "^2.0.0",
- "signal-exit": "^3.0.2"
- }
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
},
"reusify": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "rgb-hex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/rgb-hex/-/rgb-hex-3.0.0.tgz",
- "integrity": "sha512-8h7ZcwxCBDKvchSWbWngJuSCqJGQ6nDuLLg+QcRyQDbX9jMWt+PpPeXAhSla0GOooEomk3lCprUpGkMdsLjKyg=="
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
},
"rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
"requires": {
"glob": "^7.1.3"
}
},
- "run-async": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
- "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
- "dev": true
+ "run-applescript": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz",
+ "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==",
+ "requires": {
+ "execa": "^5.0.0"
+ },
+ "dependencies": {
+ "execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "requires": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
+ },
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
+ }
+ }
},
"run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
"requires": {
"queue-microtask": "^1.2.2"
}
},
- "rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
- "dev": true,
- "requires": {
- "tslib": "^1.9.0"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
- }
- },
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -16269,7 +14370,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
"integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.1.3",
@@ -16281,17 +14381,6 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
- "sass": {
- "version": "1.59.3",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.59.3.tgz",
- "integrity": "sha512-QCq98N3hX1jfTCoUAsF3eyGuXLsY7BCnCEg9qAact94Yc21npG2/mVOqoDvE0fCbWDqiM4WlcJQla0gWG2YlxQ==",
- "devOptional": true,
- "requires": {
- "chokidar": ">=3.0.0 <4.0.0",
- "immutable": "^4.0.0",
- "source-map-js": ">=0.6.2 <2.0.0"
- }
- },
"scheduler": {
"version": "0.23.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
@@ -16300,35 +14389,18 @@
"loose-envify": "^1.1.0"
}
},
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "devOptional": true,
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- },
"semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+ "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
"requires": {
"lru-cache": "^6.0.0"
}
},
- "serialize-javascript": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
- "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "randombytes": "^2.1.0"
- }
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
},
"set-blocking": {
"version": "2.0.0",
@@ -16345,7 +14417,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
"requires": {
"shebang-regex": "^3.0.0"
}
@@ -16353,23 +14424,7 @@
"shebang-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "shell-quote": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
- "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
- "dev": true
- },
- "short-uuid": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/short-uuid/-/short-uuid-4.2.2.tgz",
- "integrity": "sha512-IE7hDSGV2U/VZoCsjctKX6l5t5ak2jE0+aeGJi3KtvjIUNuZVmHVYUjNBhmo369FIWGDtaieRaO8A83Lvwfpqw==",
- "requires": {
- "any-base": "^1.1.0",
- "uuid": "^8.3.2"
- }
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
},
"side-channel": {
"version": "1.0.4",
@@ -16384,19 +14439,39 @@
"signal-exit": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
},
- "signature_pad": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-2.3.2.tgz",
- "integrity": "sha512-peYXLxOsIY6MES2TrRLDiNg2T++8gGbpP2yaC+6Ohtxr+a2dzoaqWosWDY9sWqTAAk6E/TyQO+LJw9zQwyu5kA=="
+ "simple-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+ "optional": true
+ },
+ "simple-get": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz",
+ "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==",
+ "optional": true,
+ "requires": {
+ "decompress-response": "^4.2.0",
+ "once": "^1.3.1",
+ "simple-concat": "^1.0.0"
+ }
},
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
+ },
+ "slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ }
},
"smartwrap": {
"version": "2.0.2",
@@ -16522,143 +14597,34 @@
}
},
"source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "devOptional": true,
- "peer": true
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
},
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
},
- "source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "spawndamnit": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz",
- "integrity": "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==",
- "dev": true,
- "requires": {
- "cross-spawn": "^5.1.0",
- "signal-exit": "^3.0.2"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==",
- "dev": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
- "dev": true,
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
- "dev": true
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
- "dev": true
- }
- }
- },
- "spdx-correct": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
- "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
- "dev": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dev": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
- "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
- "dev": true
- },
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
},
- "sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "sql-formatter": {
+ "version": "12.2.0",
+ "resolved": "https://registry.npmjs.org/sql-formatter/-/sql-formatter-12.2.0.tgz",
+ "integrity": "sha512-wNsPUdOD6nnN9RUgHlNprQtm+iLW5LTOy/T0/2DDr2UeWSP8mvlQHrx6TY+IG1nfu5Kipq9GaOtS9SVq8s0Vig==",
"requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
+ "argparse": "^2.0.1",
+ "nearley": "^2.20.1"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ }
}
},
"statuses": {
@@ -16670,57 +14636,37 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
"integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
- "dev": true,
"requires": {
"internal-slot": "^1.0.4"
}
},
- "stream-transform": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz",
- "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==",
- "dev": true,
- "requires": {
- "mixme": "^0.5.1"
- }
+ "streamsearch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg=="
},
- "string-to-color": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/string-to-color/-/string-to-color-2.2.2.tgz",
- "integrity": "sha512-XeA2goP7PNsSlz8RRn6KhYswnMf5Tl+38ajfy8n4oZJyMGC4qqKgHNHsZ/3qwvr42NRIjf9eSr721SyetDeMkA==",
+ "string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"requires": {
- "colornames": "^1.1.1",
- "hex-rgb": "^4.1.0",
- "lodash.padend": "^4.6.1",
- "lodash.trimstart": "^4.5.1",
- "lodash.words": "^4.2.0",
- "rgb-hex": "^3.0.0"
+ "safe-buffer": "~5.2.0"
}
},
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
- "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
}
}
},
@@ -16728,7 +14674,6 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz",
"integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -16740,22 +14685,10 @@
"side-channel": "^1.0.4"
}
},
- "string.prototype.padend": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz",
- "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
"string.prototype.trim": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
"integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -16766,7 +14699,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
"integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -16777,7 +14709,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
"integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -16788,7 +14719,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
"requires": {
"ansi-regex": "^5.0.1"
}
@@ -16796,8 +14726,12 @@
"strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
+ },
+ "strip-final-newline": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
+ "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="
},
"strip-indent": {
"version": "3.0.0",
@@ -16811,129 +14745,15 @@
"strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
},
"stripe": {
- "version": "12.4.0",
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-12.4.0.tgz",
- "integrity": "sha512-QjZRzKi3wf8TsuJf/fd6/ejfPgwNptDIzFogRWaRzP3oMJnSD73I2YxR0Eje5zfrU8FmddYWZYawoUejqN+o1w==",
+ "version": "12.7.0",
+ "resolved": "https://registry.npmjs.org/stripe/-/stripe-12.7.0.tgz",
+ "integrity": "sha512-4yY9gNFznBI6fZtR0B4y2a+o2EJe+s7p4DiHECKphwa36zYIczpWzO1g4dF0PF3lhTRw5FWTaHGBjwaD5FEiDQ==",
"requires": {
"@types/node": ">=8.1.0",
"qs": "^6.11.0"
- },
- "dependencies": {
- "qs": {
- "version": "6.11.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz",
- "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==",
- "requires": {
- "side-channel": "^1.0.4"
- }
- }
- }
- },
- "stripe-cli": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/stripe-cli/-/stripe-cli-0.1.0.tgz",
- "integrity": "sha512-P7VrZrBDGh4z2Nu2+1t+XPJLqlbI1LtsUdhjd6HUOQ3O1VW6Vc9XaFiW1Kn779rwDLrU39OZi7Pq6x1ShCALnw==",
- "dev": true,
- "requires": {
- "cfonts": "^2.3.0",
- "chalk": "^2.4.1",
- "chance": "^1.0.17",
- "clear": "^0.1.0",
- "clui": "^0.3.6",
- "configstore": "^4.0.0",
- "figlet": "^1.2.1",
- "inquirer": "^6.2.1",
- "minimist": "^1.2.0",
- "stripe": "^6.17.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true
- },
- "qs": {
- "version": "6.11.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz",
- "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==",
- "dev": true,
- "requires": {
- "side-channel": "^1.0.4"
- }
- },
- "stripe": {
- "version": "6.36.0",
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-6.36.0.tgz",
- "integrity": "sha512-7vjyVO4NCWvX38CH1AuSQH16uRxcQN+UhUTBPs4UHsIl5+SJXLBvCsHrMgd+bY9k1YDliT0fQB1fH9OI3GrEhw==",
- "dev": true,
- "requires": {
- "lodash.isplainobject": "^4.0.6",
- "qs": "^6.6.0",
- "safe-buffer": "^5.1.1",
- "uuid": "^3.3.2"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true
- }
}
},
"styled-jsx": {
@@ -16944,11 +14764,52 @@
"client-only": "0.0.1"
}
},
+ "sucrase": {
+ "version": "3.32.0",
+ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz",
+ "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==",
+ "requires": {
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "commander": "^4.0.0",
+ "glob": "7.1.6",
+ "lines-and-columns": "^1.1.6",
+ "mz": "^2.7.0",
+ "pirates": "^4.0.1",
+ "ts-interface-checker": "^0.1.9"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
+ }
+ },
+ "superjson": {
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/superjson/-/superjson-1.12.3.tgz",
+ "integrity": "sha512-0j+U70KUtP8+roVPbwfqkyQI7lBt7ETnuA7KXbTDX3mCKiD/4fXs2ldKSMdt0MCfpTwiMxo20yFU3vu6ewETpQ==",
+ "requires": {
+ "copy-anything": "^3.0.2"
+ }
+ },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
"requires": {
"has-flag": "^4.0.0"
}
@@ -16956,120 +14817,140 @@
"supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
+ },
+ "synckit": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
+ "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==",
+ "requires": {
+ "@pkgr/utils": "^2.3.1",
+ "tslib": "^2.5.0"
+ }
+ },
+ "table": {
+ "version": "6.8.1",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
+ "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
+ "requires": {
+ "ajv": "^8.0.1",
+ "lodash.truncate": "^4.4.2",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ }
+ }
+ },
+ "tailwind-merge": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.12.0.tgz",
+ "integrity": "sha512-Y17eDp7FtN1+JJ4OY0Bqv9OA41O+MS8c1Iyr3T6JFLnOgLg3EvcyMKZAnQ8AGyvB5Nxm3t9Xb5Mhe139m8QT/g=="
},
"tailwindcss": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz",
- "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==",
- "dev": true,
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz",
+ "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==",
"requires": {
+ "@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
"chokidar": "^3.5.3",
- "color-name": "^1.1.4",
- "detective": "^5.2.1",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
"fast-glob": "^3.2.12",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
- "lilconfig": "^2.0.6",
+ "jiti": "^1.18.2",
+ "lilconfig": "^2.1.0",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
"object-hash": "^3.0.0",
"picocolors": "^1.0.0",
- "postcss": "^8.0.9",
- "postcss-import": "^14.1.0",
- "postcss-js": "^4.0.0",
- "postcss-load-config": "^3.1.4",
- "postcss-nested": "6.0.0",
+ "postcss": "^8.4.23",
+ "postcss-import": "^15.1.0",
+ "postcss-js": "^4.0.1",
+ "postcss-load-config": "^4.0.1",
+ "postcss-nested": "^6.0.1",
"postcss-selector-parser": "^6.0.11",
"postcss-value-parser": "^4.2.0",
- "quick-lru": "^5.1.1",
- "resolve": "^1.22.1"
+ "resolve": "^1.22.2",
+ "sucrase": "^3.32.0"
},
"dependencies": {
+ "glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "requires": {
+ "is-glob": "^4.0.3"
+ }
+ },
"object-hash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
- "dev": true
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="
}
}
},
+ "tailwindcss-animate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.5.tgz",
+ "integrity": "sha512-UU3qrOJ4lFQABY+MVADmBm+0KW3xZyhMdRvejwtXqYOL7YjHYxmuREFAZdmVG5LPe5E9CAst846SLC4j5I3dcw==",
+ "requires": {}
+ },
"tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "devOptional": true
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
},
- "term-size": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
- "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
- "dev": true
- },
- "terser": {
- "version": "5.16.6",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz",
- "integrity": "sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==",
- "devOptional": true,
- "peer": true,
+ "tar": {
+ "version": "6.1.15",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
+ "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
"requires": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- }
- },
- "terser-webpack-plugin": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz",
- "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@jridgewell/trace-mapping": "^0.3.17",
- "jest-worker": "^27.4.5",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.1",
- "terser": "^5.16.5"
- },
- "dependencies": {
- "@jridgewell/trace-mapping": {
- "version": "0.3.17",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
- "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
- }
- }
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
}
},
"text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
},
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
- "dev": true
- },
- "timers-ext": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
- "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
- "dev": true,
+ "thenify": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
"requires": {
- "es5-ext": "~0.10.46",
- "next-tick": "1"
+ "any-promise": "^1.0.0"
+ }
+ },
+ "thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "requires": {
+ "thenify": ">= 3.1.0 < 4"
}
},
"tiny-invariant": {
@@ -17082,26 +14963,20 @@
"resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
},
- "tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true,
- "requires": {
- "os-tmpdir": "~1.0.2"
- }
+ "titleize": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz",
+ "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ=="
},
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "dev": true
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
},
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "devOptional": true,
"requires": {
"is-number": "^7.0.0"
}
@@ -17111,82 +14986,25 @@
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
},
- "tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "requires": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- }
+ "tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
- "trim-canvas": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/trim-canvas/-/trim-canvas-0.1.2.tgz",
- "integrity": "sha512-nd4Ga3iLFV94mdhW9JFMLpQbHUyCQuhFOD71PEAt1NjtMD5wbZctzhX8c3agHNybMR5zXD1XTGoIEWk995E6pQ=="
- },
- "trim-newlines": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
- "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
- "dev": true
- },
- "ts-node": {
- "version": "10.9.1",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz",
- "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
- "dev": true,
- "requires": {
- "@cspotcode/source-map-support": "^0.8.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.1",
- "yn": "3.1.1"
- },
- "dependencies": {
- "acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
- "dev": true
- },
- "arg": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "dev": true
- }
- }
+ "ts-interface-checker": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
},
"tsconfig-paths": {
"version": "3.14.2",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz",
"integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==",
- "dev": true,
"requires": {
"@types/json5": "^0.0.29",
"json5": "^1.0.2",
"minimist": "^1.2.6",
"strip-bom": "^3.0.0"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- }
}
},
"tslib": {
@@ -17198,7 +15016,6 @@
"version": "3.21.0",
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "dev": true,
"requires": {
"tslib": "^1.8.1"
},
@@ -17206,106 +15023,70 @@
"tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
}
}
},
- "tty-table": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/tty-table/-/tty-table-4.2.1.tgz",
- "integrity": "sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==",
- "dev": true,
- "requires": {
- "chalk": "^4.1.2",
- "csv": "^5.5.3",
- "kleur": "^4.1.5",
- "smartwrap": "^2.0.2",
- "strip-ansi": "^6.0.1",
- "wcwidth": "^1.0.1",
- "yargs": "^17.7.1"
- }
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
"turbo": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.10.1.tgz",
- "integrity": "sha512-wq0YeSv6P/eEDXOL42jkMUr+T4z34dM8mdHu5u6C6OOAq8JuLJ72F/v4EVR1JmY8icyTkFz10ICLV0haUUYhbQ==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.9.6.tgz",
+ "integrity": "sha512-mLbCIAYNbSm60kVhBiAr+YA1BYpPObS/y7rqw1hjh36ZdJDp35lUSeqdBs6oGt0Y4hnmN4ZeIXu8zMVRR03/vw==",
"dev": true,
"requires": {
- "turbo-darwin-64": "1.10.1",
- "turbo-darwin-arm64": "1.10.1",
- "turbo-linux-64": "1.10.1",
- "turbo-linux-arm64": "1.10.1",
- "turbo-windows-64": "1.10.1",
- "turbo-windows-arm64": "1.10.1"
+ "turbo-darwin-64": "1.9.6",
+ "turbo-darwin-arm64": "1.9.6",
+ "turbo-linux-64": "1.9.6",
+ "turbo-linux-arm64": "1.9.6",
+ "turbo-windows-64": "1.9.6",
+ "turbo-windows-arm64": "1.9.6"
}
},
"turbo-darwin-64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.10.1.tgz",
- "integrity": "sha512-isLLoPuAOMNsYovOq9BhuQOZWQuU13zYsW988KkkaA4OJqOn7qwa9V/KBYCJL8uVQqtG+/Y42J37lO8RJjyXuA==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.9.6.tgz",
+ "integrity": "sha512-9jmxyCAcPrJiPD/EmtK2tObrPGblmyORCgNgtcw1iozcfC7kqungWTfbnHrvTNUfUmVhH0sA3BGzshpuslbQHg==",
"dev": true,
"optional": true
},
"turbo-darwin-arm64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.10.1.tgz",
- "integrity": "sha512-x1nloPR10fLElNCv17BKr0kCx/O5gse/UXAcVscMZH2tvRUtXrdBmut62uw2YU3J9hli2fszYjUWXkulVpQvFA==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.9.6.tgz",
+ "integrity": "sha512-5f8ajEi8mOdAZ0AXavu/TzkHGEUi7tw+paefff7KK+XTUrdeyTlf8ULiTI+r97uH1jsYeTeL4JPu9IsEx+bL6g==",
"dev": true,
"optional": true
},
"turbo-linux-64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.10.1.tgz",
- "integrity": "sha512-abV+ODCeOlz0503OZlHhPWdy3VwJZc1jObf1VQj7uQM+JqJ/kXbMyqJIMQVz+m7QJUFdferYPRxGhYT/NbYK7Q==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.9.6.tgz",
+ "integrity": "sha512-UrCDMl2Nqd/kxNEJonqvDg8nmZU4UggVQTmqcdYyuOiCA3H98jxggQqZh1VGeF23XDbCWHSQjnbkLeoUvQJWKw==",
"dev": true,
"optional": true
},
"turbo-linux-arm64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.10.1.tgz",
- "integrity": "sha512-zRC3nZbHQ63tofOmbuySzEn1ROISWTkemYYr1L98rpmT5aVa0kERlGiYcfDwZh3cBso/Ylg/wxexRAaPzcCJYQ==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.9.6.tgz",
+ "integrity": "sha512-oOxAT6lNiMpYVZPWzFNsUvC2LQgKYyH4aBnkeoBnjuAUk8BK5AhUWSWl4QlfTcBWW4LnjDPeZQKrbnxvHhPVsw==",
"dev": true,
"optional": true
},
"turbo-windows-64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.10.1.tgz",
- "integrity": "sha512-Irqz8IU+o7Q/5V44qatZBTunk+FQAOII1hZTsEU54ah62f9Y297K6/LSp+yncmVQOZlFVccXb6MDqcETExIQtA==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.9.6.tgz",
+ "integrity": "sha512-65UxLL1vb5RItzJYNerO5c+yPMzSnD+GvJxfBZIvAwSnb+4ulhPRHzQOYinVq4PZ2DosBZOorWPRf97POmhvog==",
"dev": true,
"optional": true
},
"turbo-windows-arm64": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.10.1.tgz",
- "integrity": "sha512-124IT15d2gyjC+NEn11pHOaVFvZDRHpxfF+LDUzV7YxfNIfV0mGkR3R/IyVXtQHOgqOdtQTbC4y411sm31+SEw==",
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.9.6.tgz",
+ "integrity": "sha512-aF9VzYT+vaKNbZGDccN7AYrNhph4gr6yOFN7GtTr777IwS5FGW7evku7RScsua5r2HwVKvBO2WjyadpbXuoOOQ==",
"dev": true,
"optional": true
},
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
- },
- "type": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
- "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==",
- "dev": true
- },
"type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
"requires": {
"prelude-ls": "^1.2.1"
}
@@ -17313,14 +15094,12 @@
"type-fest": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
},
"typed-array-length": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
"integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"for-each": "^0.3.3",
@@ -17328,21 +15107,14 @@
}
},
"typescript": {
- "version": "4.8.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
- "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
- "dev": true
- },
- "ui-avatar-svg": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/ui-avatar-svg/-/ui-avatar-svg-1.0.0.tgz",
- "integrity": "sha512-cNVWCu20do0jNT+OqSb0UWHPrRYE91VtyNVhd5EPb2Xp5A9o6d9tETGZs7JWAlgbJMuiQZkr+8HWxbc41vkEqA=="
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz",
+ "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw=="
},
"unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
"integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"has-bigints": "^1.0.2",
@@ -17350,31 +15122,20 @@
"which-boxed-primitive": "^1.0.2"
}
},
- "unique-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
- "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==",
- "dev": true,
- "requires": {
- "crypto-random-string": "^1.0.0"
- }
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- },
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
},
+ "untildify": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
+ "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw=="
+ },
"update-browserslist-db": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
- "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
- "devOptional": true,
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
+ "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
"requires": {
"escalade": "^3.1.1",
"picocolors": "^1.0.0"
@@ -17388,53 +15149,49 @@
"punycode": "^2.1.0"
}
},
+ "use-callback-ref": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz",
+ "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
+ },
+ "use-isomorphic-layout-effect": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz",
+ "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==",
+ "requires": {}
+ },
+ "use-sidecar": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
+ "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "requires": {
+ "detect-node-es": "^1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "use-sync-external-store": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
+ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "requires": {}
+ },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
},
- "v8-compile-cache-lib": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
- "dev": true
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dev": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "watchpack": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
- "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- }
+ "v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="
},
"wcwidth": {
"version": "1.0.1",
@@ -17450,71 +15207,29 @@
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
"integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q=="
},
- "webpack": {
- "version": "5.76.2",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.2.tgz",
- "integrity": "sha512-Th05ggRm23rVzEOlX8y67NkYCHa9nTNcwHPBhdg+lKG+mtiW7XgggjAeeLnADAe7mLjJ6LUNfgHAuRRh+Z6J7w==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.7.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.10.0",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-even-better-errors": "^2.3.1",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.4.0",
- "webpack-sources": "^3.2.3"
- },
- "dependencies": {
- "eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "devOptional": true,
- "peer": true,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- }
- },
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "devOptional": true,
- "peer": true
- }
- }
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
- "webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
- "devOptional": true,
- "peer": true
+ "whatwg-fetch": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz",
+ "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA=="
+ },
+ "whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "requires": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
},
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
"requires": {
"isexe": "^2.0.0"
}
@@ -17523,7 +15238,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
"integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dev": true,
"requires": {
"is-bigint": "^1.0.1",
"is-boolean-object": "^1.1.0",
@@ -17536,7 +15250,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
"integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
- "dev": true,
"requires": {
"is-map": "^2.0.1",
"is-set": "^2.0.1",
@@ -17564,7 +15277,6 @@
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
"integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
- "dev": true,
"requires": {
"available-typed-arrays": "^1.0.5",
"call-bind": "^1.0.2",
@@ -17574,41 +15286,18 @@
"is-typed-array": "^1.1.10"
}
},
- "window-size": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-1.1.1.tgz",
- "integrity": "sha512-5D/9vujkmVQ7pSmc0SCBmHXbkv6eaHwXEx65MywhmUMsI8sGqJ972APq1lotfcwMKPFLuCFfL8xGHLIp7jaBmA==",
- "dev": true,
+ "wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
"requires": {
- "define-property": "^1.0.0",
- "is-number": "^3.0.0"
- },
- "dependencies": {
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "string-width": "^1.0.2 || 2 || 3 || 4"
}
},
"word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
},
"wrap-ansi": {
"version": "7.0.0",
@@ -17651,113 +15340,20 @@
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
- "write-file-atomic": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
- "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.11",
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.2"
- }
- },
- "xdg-basedir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
- "integrity": "sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==",
- "dev": true
- },
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true
- },
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "dev": true
- },
- "yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "dev": true,
- "requires": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "dependencies": {
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "dev": true
- }
- }
- },
- "yargs-parser": {
- "version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- },
- "yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz",
+ "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA=="
},
"yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
},
"zod": {
"version": "3.21.4",
diff --git a/package.json b/package.json
index f1ea184e0..428819000 100644
--- a/package.json
+++ b/package.json
@@ -1,63 +1,24 @@
{
- "name": "documenso-monorepo",
- "version": "0.0.0",
+ "private": true,
"scripts": {
- "changeset": "changeset",
- "publish": "changeset publish",
- "version": "changeset version",
- "dev": "turbo run dev --filter=web",
- "build": "turbo run build --filter=web",
- "start": "turbo run start --filter=web",
- "db-migrate:dev": "prisma migrate dev",
- "db-seed": "prisma db seed",
- "db-studio": "prisma studio",
- "docker:compose-up": "docker compose -p documenso -f ./docker/compose-without-app.yml up -d || docker-compose -p documenso -f ./docker/compose-without-app.yml up -d",
- "docker:compose-down": "docker compose -p documenso -f ./docker/compose-without-app.yml down || docker-compose -p documenso -f ./docker/compose-without-app.yml down",
- "stripe:listen": "stripe listen --forward-to localhost:3000/api/stripe/webhook",
- "dx": "npm install && run-s docker:compose-up db-migrate:dev",
- "d": "npm install && run-s docker:compose-up db-migrate:dev && npm run db-seed && npm run dev"
+ "build": "turbo run build",
+ "dev": "turbo run dev --filter=@documenso/{web,marketing}",
+ "start": "cd apps && cd web && next start",
+ "lint": "turbo run lint",
+ "format": "prettier --write \"**/*.{ts,tsx,md}\""
},
+ "devDependencies": {
+ "dotenv": "^16.0.3",
+ "dotenv-cli": "^7.2.1",
+ "eslint": "^7.32.0",
+ "eslint-config-custom": "*",
+ "prettier": "^2.5.1",
+ "turbo": "^1.9.3"
+ },
+ "name": "documenso.next",
+ "packageManager": "npm@8.19.2",
"workspaces": [
"apps/*",
"packages/*"
- ],
- "prisma": {
- "schema": "packages/prisma/schema.prisma",
- "seed": "ts-node --transpile-only ./packages/prisma/seed.ts"
- },
- "dependencies": {
- "@documenso/prisma": "*",
- "@headlessui/react": "^1.7.4",
- "@heroicons/react": "^2.0.13",
- "@hookform/resolvers": "^3.1.0",
- "avatar-from-initials": "^1.0.3",
- "bcryptjs": "^2.4.3",
- "next": "13.2.4",
- "next-auth": ">=4.20.1",
- "pdf-lib": "^1.17.1",
- "react": "18.2.0",
- "react-dom": "18.2.0",
- "react-hook-form": "^7.41.5",
- "react-hot-toast": "^2.4.0",
- "react-signature-canvas": "^1.0.6",
- "zod": "^3.21.4"
- },
- "devDependencies": {
- "@changesets/cli": "^2.26.2",
- "@tailwindcss/forms": "^0.5.3",
- "@trivago/prettier-plugin-sort-imports": "^4.1.1",
- "@types/bcryptjs": "^2.4.2",
- "@types/node": "18.11.9",
- "@types/react-dom": "18.0.9",
- "@types/react-signature-canvas": "^1.0.2",
- "dotenv": "^16.0.3",
- "eslint": "8.27.0",
- "eslint-config-next": "13.0.3",
- "next-transpile-modules": "^10.0.0",
- "npm-run-all": "^4.1.5",
- "prettier": "^2.8.7",
- "prettier-plugin-tailwindcss": "^0.2.5",
- "turbo": "^1.9.9",
- "typescript": "4.8.4"
- }
+ ]
}
diff --git a/packages/eslint-config/index.cjs b/packages/eslint-config/index.cjs
new file mode 100644
index 000000000..b4b32404c
--- /dev/null
+++ b/packages/eslint-config/index.cjs
@@ -0,0 +1,42 @@
+module.exports = {
+ extends: [
+ 'next',
+ 'turbo',
+ 'prettier',
+ 'eslint:recommended',
+ 'plugin:@typescript-eslint/recommended',
+ 'plugin:prettier/recommended',
+ ],
+
+ plugins: ['prettier'],
+
+ env: {
+ node: true,
+ browser: true,
+ es6: true,
+ },
+
+ parser: '@typescript-eslint/parser',
+
+ parserOptions: {
+ ecmaVersion: 2022,
+ ecmaFeatures: {
+ jsx: true,
+ },
+ sourceType: 'module',
+ },
+
+ rules: {
+ 'react/no-unescaped-entities': 'off',
+
+ 'no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
+ '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
+
+ // We never want to use `as` but are required to on occasion to handle
+ // shortcomings in third-party and generated types.
+ //
+ // To handle this we want this rule to catch usages and highlight them as
+ // warnings so we can write appropriate interfaces and guards later.
+ '@typescript-eslint/consistent-type-assertions': ['warn', { assertionStyle: 'never' }],
+ },
+};
diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json
new file mode 100644
index 000000000..01a40f4d0
--- /dev/null
+++ b/packages/eslint-config/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "@documenso/eslint-config",
+ "version": "0.0.0",
+ "main": "./index.cjs",
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "^5.59.2",
+ "@typescript-eslint/parser": "^5.59.2",
+ "eslint": "^8.40.0",
+ "eslint-config-next": "^13.4.1",
+ "eslint-config-prettier": "^8.8.0",
+ "eslint-plugin-prettier": "^4.2.1",
+ "eslint-plugin-react": "^7.32.2",
+ "eslint-config-turbo": "^1.9.3",
+ "typescript": "^5.0.4"
+ }
+}
diff --git a/packages/features/editor/createField.ts b/packages/features/editor/createField.ts
deleted file mode 100644
index c66c16691..000000000
--- a/packages/features/editor/createField.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { FieldType } from "@prisma/client";
-
-export const createField = (
- e: any,
- page: number,
- selectedRecipient: any,
- type: FieldType = FieldType.SIGNATURE,
- customText = ""
-): any => {
- var rect = e.target.getBoundingClientRect();
- const fieldSize = { width: 192, height: 64 };
- var newFieldX = e.clientX - rect.left - fieldSize.width / 2; //x position within the element.
- var newFieldY = e.clientY - rect.top - fieldSize.height / 2; //y position within the element.
- if (newFieldX < 0) newFieldX = 0;
- if (newFieldY < 0) newFieldY = 0;
-
- if (newFieldX + fieldSize.width > rect.width) newFieldX = rect.width - fieldSize.width;
- if (newFieldY + fieldSize.height > rect.height) newFieldY = rect.height - fieldSize.height;
-
- const signatureField = {
- id: -1,
- page: page,
- type: type,
- positionX: newFieldX.toFixed(0),
- positionY: newFieldY.toFixed(0),
- Recipient: selectedRecipient,
- customText: customText,
- };
-
- return signatureField;
-};
diff --git a/packages/features/editor/index.ts b/packages/features/editor/index.ts
deleted file mode 100644
index d47dd4c65..000000000
--- a/packages/features/editor/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { createField } from "./createField";
diff --git a/packages/features/ee/LICENSE b/packages/features/ee/LICENSE
deleted file mode 100644
index cc97e3a10..000000000
--- a/packages/features/ee/LICENSE
+++ /dev/null
@@ -1,40 +0,0 @@
-The Documenso Commercial License (the “Commercial License”)
-Copyright (c) 2023 Documenso, Inc
-
-With regard to the Documenso Software:
-
-This software and associated documentation files (the "Software") may only be
-used in production, if you (and any entity that you represent) have agreed to,
-and are in compliance with, an agreement governing
-the use of the Software, as mutually agreed by you and Documenso, Inc ("Documenso"),
-and otherwise have a valid Documenso Enterprise Edition subscription ("Commercial Subscription").
-Subject to the foregoing sentence, you are free to modify this Software and publish patches to the Software.
-You agree that Documenso and/or its licensors (as applicable) retain all right, title and interest in
-and to all such modifications and/or patches, and all such modifications and/or
-patches may only be used, copied, modified, displayed, distributed, or otherwise
-exploited with a valid Commercial Subscription for the correct number of hosts.
-Notwithstanding the foregoing, you may copy and modify the Software for development
-and testing purposes, without requiring a subscription. You agree that Documenso and/or
-its licensors (as applicable) retain all right, title and interest in and to all such
-modifications. You are not granted any other rights beyond what is expressly stated herein.
-Subject to the foregoing, it is forbidden to copy, merge, publish, distribute, sublicense,
-and/or sell the Software.
-
-This Commercial License applies only to the part of this Software that is not distributed under
-the AGPLv3 license. Any part of this Software distributed under the MIT license or which
-is served client-side as an image, font, cascading stylesheet (CSS), file which produces
-or is compiled, arranged, augmented, or combined into client-side JavaScript, in whole or
-in part, is copyrighted under the AGPLv3 license. The full text of this Commercial License shall
-be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-For all third party components incorporated into the Documenso Software, those
-components are licensed under the original license provided by the owner of the
-applicable component.
diff --git a/packages/features/ee/README.md b/packages/features/ee/README.md
deleted file mode 100644
index 33ff3d265..000000000
--- a/packages/features/ee/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-# Enterprise Edition
-
-Welcome to the Enterprise Edition ("/ee") of Documenso.com.
-
-The [/ee](https://github.com/documenso/documenso/tree/main/packages/features/ee) subfolder is the home of all the **Enterprise Edition** features from our [hosted](https://documenso.com/pricing) plan. To use this code in production you need and valid Enterprise License.
-
-> IMPORTANT: This subfolder is licensed differently than the rest of our [main repo](https://github.com/documenso/documenso). [Contact us](https://dub.sh/documenso-enterprise) to learn more.
diff --git a/packages/features/index.ts b/packages/features/index.ts
deleted file mode 100644
index b3ae60abc..000000000
--- a/packages/features/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { uploadDocument } from "./uploadDocument";
-export { updateUser } from "./updateUser";
diff --git a/packages/features/package.json b/packages/features/package.json
deleted file mode 100644
index 36ed5449b..000000000
--- a/packages/features/package.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "@documenso/features",
- "description": "Main features of documenso in one neat package.",
- "version": "0.0.0",
- "private": true,
- "main": "index.ts",
- "dependencies": {}
-}
diff --git a/packages/features/updateUser.ts b/packages/features/updateUser.ts
deleted file mode 100644
index a09793363..000000000
--- a/packages/features/updateUser.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import toast from "react-hot-toast";
-
-export const updateUser = async (user: any) => {
- if (!user) return;
- toast.promise(
- fetch("/api/users", {
- method: "PATCH",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify(user),
- }),
- {
- loading: "Saving Changes...",
- success: `Saved!`,
- error: "Changes could not save user :/",
- }
- );
-};
diff --git a/packages/features/uploadDocument.ts b/packages/features/uploadDocument.ts
deleted file mode 100644
index 1369e8bd5..000000000
--- a/packages/features/uploadDocument.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { ChangeEvent } from "react";
-import router from "next/router";
-import { NEXT_PUBLIC_WEBAPP_URL } from "../lib/constants";
-import toast from "react-hot-toast";
-
-export const uploadDocument = async (event: ChangeEvent) => {
- if (event.target instanceof HTMLInputElement && event.target?.files && event.target.files[0]) {
- const body = new FormData();
- const document = event.target.files[0];
- const fileName: string = event.target.files[0].name;
-
- if (!fileName.endsWith(".pdf")) {
- toast.error("Non-PDF documents are not supported yet.");
- return;
- }
-
- body.append("document", document || "");
-
- await toast.promise(
- fetch("/api/documents", {
- method: "POST",
- body,
- }).then((response: Response) => {
- if (!response.ok) {
- throw new Error("Could not upload document");
- }
-
- response.json().then((createdDocumentIdFromBody) => {
- router.push(
- `${NEXT_PUBLIC_WEBAPP_URL}/documents/${createdDocumentIdFromBody}/recipients`
- );
- });
- }),
- {
- loading: "Uploading document...",
- success: `${fileName} uploaded successfully.`,
- error: "Could not upload document :/",
- }
- ).catch((_err) => {
- // Do nothing
- });
- }
-};
diff --git a/packages/lib/api/createOrUpdateField.ts b/packages/lib/api/createOrUpdateField.ts
deleted file mode 100644
index 62cccb3ce..000000000
--- a/packages/lib/api/createOrUpdateField.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import toast from "react-hot-toast";
-
-export const createOrUpdateField = async (
- document: any,
- field: any,
- recipientToken: string = ""
-): Promise => {
- try {
- const created = await toast.promise(
- fetch("/api/documents/" + document.id + "/fields?token=" + recipientToken, {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify(field),
- }).then((res) => {
- if (!res.ok) {
- throw new Error(res.status.toString());
- }
- return res.json();
- }),
- {
- loading: field?.id !== -1 ? "Saving..." : "Adding...",
- success: field?.id !== -1 ? "Saved." : "Added.",
- error: field?.id !== -1 ? "Could not save :/" : "Could not add :/",
- },
- {
- id: "saving field",
- style: {
- minWidth: "200px",
- },
- }
- );
- return created;
- } catch (error) {}
-};
diff --git a/packages/lib/api/createOrUpdateRecipient.ts b/packages/lib/api/createOrUpdateRecipient.ts
deleted file mode 100644
index 6c1e87b9c..000000000
--- a/packages/lib/api/createOrUpdateRecipient.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import toast from "react-hot-toast";
-
-export const createOrUpdateRecipient = async (recipient: any): Promise => {
- try {
- const created = await toast.promise(
- fetch("/api/documents/" + recipient.documentId + "/recipients", {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify(recipient),
- }).then((res) => {
- if (!res.ok) {
- throw new Error(res.status.toString());
- }
- return res.json();
- }),
- {
- loading: "Saving...",
- success: "Saved.",
- error: "Could not save :/",
- },
- {
- id: "saving",
- style: {
- minWidth: "200px",
- },
- }
- );
- return created;
- } catch (error) {}
-};
diff --git a/packages/lib/api/deleteDocument.ts b/packages/lib/api/deleteDocument.ts
deleted file mode 100644
index 44b874bf3..000000000
--- a/packages/lib/api/deleteDocument.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export const deleteDocument = (documentId: number): Promise => {
- return fetch(`/api/documents/${documentId}`, {
- method: "DELETE",
- });
-};
diff --git a/packages/lib/api/deleteField.ts b/packages/lib/api/deleteField.ts
deleted file mode 100644
index 516d234b3..000000000
--- a/packages/lib/api/deleteField.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import toast from "react-hot-toast";
-
-export const deleteField = async (field: any) => {
- if (!field.id) {
- return;
- }
-
- try {
- const deleted = toast.promise(
- fetch("/api/documents/" + 0 + "/fields/" + field.id, {
- method: "DELETE",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify(field),
- }).then((res) => {
- if (!res.ok) {
- throw new Error(res.status.toString());
- }
- return res;
- }),
- {
- loading: "Deleting...",
- success: "Deleted.",
- error: "Could not delete :/",
- },
- {
- id: "delete",
- style: {
- minWidth: "200px",
- },
- }
- );
- return deleted;
- } catch (error) {}
-};
diff --git a/packages/lib/api/deleteRecipient.ts b/packages/lib/api/deleteRecipient.ts
deleted file mode 100644
index bf73b2b84..000000000
--- a/packages/lib/api/deleteRecipient.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import toast from "react-hot-toast";
-
-export const deleteRecipient = (recipient: any) => {
- if (!recipient.id) {
- return;
- }
-
- return toast.promise(
- fetch("/api/documents/" + recipient.documentId + "/recipients/" + recipient.id, {
- method: "DELETE",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify(recipient),
- }),
- {
- loading: "Deleting...",
- success: "Deleted.",
- error: "Could not delete :/",
- },
- {
- id: "delete",
- style: {
- minWidth: "200px",
- },
- }
- );
-};
diff --git a/packages/lib/api/getDocuments.ts b/packages/lib/api/getDocuments.ts
deleted file mode 100644
index 2ed085f46..000000000
--- a/packages/lib/api/getDocuments.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export const getDocuments = (): Promise => {
- return fetch("/api/documents", {
- headers: {
- "Content-Type": "application/json",
- },
- });
-};
diff --git a/packages/lib/api/getUser.ts b/packages/lib/api/getUser.ts
deleted file mode 100644
index 130c88b82..000000000
--- a/packages/lib/api/getUser.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export const getUser = (): Promise => {
- return fetch("/api/users/me");
-};
diff --git a/packages/lib/api/index.ts b/packages/lib/api/index.ts
deleted file mode 100644
index ef9139868..000000000
--- a/packages/lib/api/index.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-export { createOrUpdateField } from "./createOrUpdateField";
-export { deleteField } from "./deleteField";
-export { signDocument } from "./signDocument";
-export { getUser } from "./getUser";
-export { signup } from "./signup";
-export { getDocuments } from "./getDocuments";
-export { deleteDocument } from "./deleteDocument";
-export { deleteRecipient } from "./deleteRecipient";
-export { createOrUpdateRecipient } from "./createOrUpdateRecipient";
-export { sendSigningRequests } from "./sendSigningRequests";
diff --git a/packages/lib/api/sendSigningRequests.ts b/packages/lib/api/sendSigningRequests.ts
deleted file mode 100644
index dda1520e2..000000000
--- a/packages/lib/api/sendSigningRequests.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import toast from "react-hot-toast";
-
-export const sendSigningRequests = async (document: any, resendTo: number[] = []) => {
- if (!document || !document.id) return;
- try {
- const sent = await toast.promise(
- fetch(`/api/documents/${document.id}/send`, {
- body: JSON.stringify({ resendTo: resendTo }),
- headers: { "Content-Type": "application/json" },
- method: "POST",
- })
- .then((res: any) => {
- if (!res.ok) {
- throw new Error(res.status.toString());
- }
- })
- .finally(() => {
- location.reload();
- }),
- {
- loading: "Sending...",
- success: `Sent!`,
- error: "Could not send :/",
- }
- );
- } catch (err) {
- console.log(err);
- }
-};
diff --git a/packages/lib/api/signDocument.ts b/packages/lib/api/signDocument.ts
deleted file mode 100644
index 017a29623..000000000
--- a/packages/lib/api/signDocument.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { useRouter } from "next/router";
-import toast from "react-hot-toast";
-
-export const signDocument = (document: any, signatures: any[], token: string): Promise => {
- const body = { documentId: document.id, signatures };
-
- return toast.promise(
- fetch(`/api/documents/${document.id}/sign?token=${token}`, {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify(body),
- }),
- {
- loading: "Signing...",
- success: `"${document.title}" signed successfully.`,
- error: "Could not sign :/",
- }
- );
-};
diff --git a/packages/lib/api/signup.ts b/packages/lib/api/signup.ts
deleted file mode 100644
index 291b097dd..000000000
--- a/packages/lib/api/signup.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-export const signup = (source: any, data: any): Promise => {
- return fetch("/api/auth/signup", {
- body: JSON.stringify({
- source: source,
- ...data,
- }),
- headers: {
- "Content-Type": "application/json",
- },
- method: "POST",
- });
-};
diff --git a/packages/lib/auth.ts b/packages/lib/auth.ts
deleted file mode 100644
index 71efa1fbf..000000000
--- a/packages/lib/auth.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-import type { NextApiRequest } from "next";
-import { HttpError } from "@documenso/lib/server";
-import { compare, hash } from "bcryptjs";
-import type { Session } from "next-auth";
-import { GetSessionParams, getSession as getSessionInner } from "next-auth/react";
-
-export async function hashPassword(password: string) {
- const hashedPassword = await hash(password, 12);
- return hashedPassword;
-}
-
-export async function verifyPassword(password: string, hashedPassword: string) {
- const isValid = await compare(password, hashedPassword);
- return isValid;
-}
-
-export function validPassword(password: string) {
- if (password.length < 7) return false;
-
- if (!/[A-Z]/.test(password) || !/[a-z]/.test(password)) return false;
-
- if (!/\d+/.test(password)) return false;
-
- return true;
-}
-
-export async function getSession(options: GetSessionParams): Promise {
- const session = await getSessionInner(options);
-
- // that these are equal are ensured in `[...nextauth]`'s callback
- return session as Session | null;
-}
-
-export function isPasswordValid(password: string): boolean;
-export function isPasswordValid(
- password: string,
- breakdown: boolean,
- strict?: boolean
-): { caplow: boolean; num: boolean; min: boolean; admin_min: boolean };
-export function isPasswordValid(password: string, breakdown?: boolean, strict?: boolean) {
- let cap = false, // Has uppercase characters
- low = false, // Has lowercase characters
- num = false, // At least one number
- min = false, // Eight characters, or fifteen in strict mode.
- admin_min = false;
- if (password.length > 7 && (!strict || password.length > 14)) min = true;
- if (strict && password.length > 14) admin_min = true;
- for (let i = 0; i < password.length; i++) {
- if (!isNaN(parseInt(password[i]))) num = true;
- else {
- if (password[i] === password[i].toUpperCase()) cap = true;
- if (password[i] === password[i].toLowerCase()) low = true;
- }
- }
-
- if (!breakdown) return cap && low && num && min && (strict ? admin_min : true);
-
- let errors: Record = { caplow: cap && low, num, min };
- // Only return the admin key if strict mode is enabled.
- if (strict) errors = { ...errors, admin_min };
-
- return errors;
-}
-
-type CtxOrReq =
- | { req: NextApiRequest; ctx?: never }
- | { ctx: { req: NextApiRequest }; req?: never };
-
-export const ensureSession = async (ctxOrReq: CtxOrReq) => {
- const session = await getSession(ctxOrReq);
- if (!session?.user) throw new HttpError({ statusCode: 401, message: "Unauthorized" });
- return session;
-};
-
-export enum ErrorCode {
- UserNotFound = "user-not-found",
- IncorrectPassword = "incorrect-password",
- UserMissingPassword = "missing-password",
- TwoFactorDisabled = "two-factor-disabled",
- TwoFactorAlreadyEnabled = "two-factor-already-enabled",
- TwoFactorSetupRequired = "two-factor-setup-required",
- SecondFactorRequired = "second-factor-required",
- IncorrectTwoFactorCode = "incorrect-two-factor-code",
- InternalServerError = "internal-server-error",
- NewPasswordMatchesOld = "new-password-matches-old",
- ThirdPartyIdentityProviderEnabled = "third-party-identity-provider-enabled",
- RateLimitExceeded = "rate-limit-exceeded",
- SocialIdentityProviderRequired = "social-identity-provider-required",
-}
diff --git a/packages/lib/classNames.ts b/packages/lib/classNames.ts
deleted file mode 100644
index fa17f266a..000000000
--- a/packages/lib/classNames.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export default function classNames(...classes: unknown[]) {
- return classes.filter(Boolean).join(" ");
-}
diff --git a/packages/lib/client-only/hooks/use-update-search-params.ts b/packages/lib/client-only/hooks/use-update-search-params.ts
new file mode 100644
index 000000000..0522f634a
--- /dev/null
+++ b/packages/lib/client-only/hooks/use-update-search-params.ts
@@ -0,0 +1,21 @@
+import { usePathname, useRouter, useSearchParams } from 'next/navigation';
+
+export const useUpdateSearchParams = () => {
+ const router = useRouter();
+ const pathname = usePathname();
+ const searchParams = useSearchParams();
+
+ return (params: Record) => {
+ const nextSearchParams = new URLSearchParams(searchParams?.toString() ?? '');
+
+ Object.entries(params).forEach(([key, value]) => {
+ if (value === undefined || value === null) {
+ nextSearchParams.delete(key);
+ } else {
+ nextSearchParams.set(key, String(value));
+ }
+ });
+
+ router.push(`${pathname}?${nextSearchParams.toString()}`);
+ };
+};
diff --git a/packages/lib/coloredConsole.ts b/packages/lib/coloredConsole.ts
deleted file mode 100644
index 37edebd81..000000000
--- a/packages/lib/coloredConsole.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-// https://stackoverflow.com/questions/9781218/how-to-change-node-jss-console-font-color
-
-export class coloredConsole {
- public static setupColoredConsole(): void {
- let infoLog = console.info;
- let logLog = console.log;
- let errorLog = console.error;
- let warnLog = console.warn;
-
- let colors = {
- Reset: "\x1b[0m",
- Red: "\x1b[31m",
- Green: "\x1b[32m",
- Yellow: "\x1b[33m",
- };
-
- console.info = function (args: any) {
- let copyArgs = Array.prototype.slice.call(arguments);
- copyArgs.unshift(colors.Green);
- copyArgs.push(colors.Reset);
- infoLog.apply(null, copyArgs);
- };
-
- console.warn = function (args: any) {
- let copyArgs = Array.prototype.slice.call(arguments);
- copyArgs.unshift(colors.Yellow);
- copyArgs.push(colors.Reset);
- warnLog.apply(null, copyArgs);
- };
-
- console.error = function (args: any) {
- let copyArgs = Array.prototype.slice.call(arguments);
- copyArgs.unshift(colors.Red);
- copyArgs.push(colors.Reset);
- errorLog.apply(null, copyArgs);
- };
- }
-}
-
-coloredConsole.setupColoredConsole();
diff --git a/packages/lib/constants.ts b/packages/lib/constants.ts
deleted file mode 100644
index 9d27dd873..000000000
--- a/packages/lib/constants.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export const NEXT_PUBLIC_WEBAPP_URL =
- process.env.IS_PULL_REQUEST === "true"
- ? process.env.RENDER_EXTERNAL_URL
- : process.env.NEXT_PUBLIC_WEBAPP_URL;
\ No newline at end of file
diff --git a/packages/lib/constants/auth.ts b/packages/lib/constants/auth.ts
new file mode 100644
index 000000000..a79293b38
--- /dev/null
+++ b/packages/lib/constants/auth.ts
@@ -0,0 +1 @@
+export const SALT_ROUNDS = 12;
diff --git a/packages/lib/constants/features.ts b/packages/lib/constants/features.ts
new file mode 100644
index 000000000..11c6b2dad
--- /dev/null
+++ b/packages/lib/constants/features.ts
@@ -0,0 +1,5 @@
+/* eslint-disable turbo/no-undeclared-env-vars */
+export const IS_SUBSCRIPTIONS_ENABLED = process.env.NEXT_PUBLIC_SUBSCRIPTIONS_ENABLED === 'true';
+
+export const isSubscriptionsEnabled = () =>
+ process.env.NEXT_PUBLIC_SUBSCRIPTIONS_ENABLED === 'true';
diff --git a/packages/lib/env.ts b/packages/lib/env.ts
deleted file mode 100644
index ba56e8fe1..000000000
--- a/packages/lib/env.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const isENVProd = process.env.NODE_ENV === "production";
diff --git a/packages/lib/errors/user-exists.ts b/packages/lib/errors/user-exists.ts
new file mode 100644
index 000000000..51728b5b7
--- /dev/null
+++ b/packages/lib/errors/user-exists.ts
@@ -0,0 +1,5 @@
+export class UserExistsError extends Error {
+ constructor() {
+ super('User already exists');
+ }
+}
diff --git a/packages/lib/getSafeRedirectUrl.ts b/packages/lib/getSafeRedirectUrl.ts
deleted file mode 100644
index 59c1e9cff..000000000
--- a/packages/lib/getSafeRedirectUrl.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-// It ensures that redirection URL safe where it is accepted through a query params or other means where user can change it.
-export const getSafeRedirectUrl = (url = "") => {
- if (!url) {
- return null;
- }
-
- //It is important that this fn is given absolute URL because urls that don't start with HTTP can still deceive browser into redirecting to another domain
- if (url.search(/^https?:\/\//) === -1) {
- throw new Error("Pass an absolute URL");
- }
-
- const urlParsed = new URL(url);
-
- // Avoid open redirection security vulnerability
- if (
- !["CONSOLE_URL", "WEBAPP_URL", "WEBSITE_URL"].some(
- (u) => new URL(u).origin === urlParsed.origin
- )
- ) {
- url = `${"WEBAPP_URL"}/`;
- }
-
- return url;
-};
diff --git a/packages/lib/helpers/index.ts b/packages/lib/helpers/index.ts
deleted file mode 100644
index cf29797bb..000000000
--- a/packages/lib/helpers/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './strings';
\ No newline at end of file
diff --git a/packages/lib/helpers/strings.ts b/packages/lib/helpers/strings.ts
deleted file mode 100644
index eaf45b7f1..000000000
--- a/packages/lib/helpers/strings.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Truncates a title to a given max length substituting the middle with an ellipsis.
- */
-export const truncate = (str: string, maxLength: number = 20) => {
- if (str.length <= maxLength) {
- return str;
- }
-
- const startLength = Math.ceil((maxLength - 3) / 2);
- const endLength = Math.floor((maxLength - 3) / 2);
-
- return `${str.slice(0, startLength)}...${str.slice(-endLength)}`;
-};
diff --git a/packages/lib/index.ts b/packages/lib/index.ts
index ca7795fab..cb0ff5c3b 100644
--- a/packages/lib/index.ts
+++ b/packages/lib/index.ts
@@ -1,5 +1 @@
-export { coloredConsole } from "./coloredConsole";
-export { default as classNames } from "./classNames";
-export { NEXT_PUBLIC_WEBAPP_URL } from "./constants";
-export { localStorage } from "./webstorage";
-export { isENVProd } from "./env";
+export {};
diff --git a/packages/lib/mail/baseTemplate.ts b/packages/lib/mail/baseTemplate.ts
deleted file mode 100644
index 6e18c7114..000000000
--- a/packages/lib/mail/baseTemplate.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { NEXT_PUBLIC_WEBAPP_URL } from "../constants";
-
-export const baseEmailTemplate = (message: string, content: string) => {
- const html = `
-
-
-
- ${message}
- ${content}
-
- `;
-
- const footer = `
-
-
- Do not forward.
-
- This email gives access to a secure document. Keep it secret and do not forward this email.
-
-
-
-
- Easy and beautiful document signing by Documenso.
-
-
-
- `;
-
- return html + footer;
-};
-
-export default baseEmailTemplate;
diff --git a/packages/lib/mail/index.ts b/packages/lib/mail/index.ts
deleted file mode 100644
index e4d66dc44..000000000
--- a/packages/lib/mail/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-export { signingRequestTemplate } from "./signingRequestTemplate";
-export { signingCompleteTemplate } from "./signingCompleteTemplate";
-export { sendSigningRequest as sendSigningRequest } from "./sendSigningRequest";
-export { sendSigningDoneMail } from "./sendSigningDoneMail";
-export { resetPasswordTemplate } from "./resetPasswordTemplate";
-export { sendResetPassword } from "./sendResetPassword";
-export { resetPasswordSuccessTemplate } from "./resetPasswordSuccessTemplate";
-export { sendResetPasswordSuccessMail } from "./sendResetPasswordSuccessMail";
diff --git a/packages/lib/mail/sendMail.ts b/packages/lib/mail/sendMail.ts
deleted file mode 100644
index fd7c6fb61..000000000
--- a/packages/lib/mail/sendMail.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import nodemailer from "nodemailer";
-import nodemailerSendgrid from "nodemailer-sendgrid";
-
-export const sendMail = async (
- to: string,
- subject: string,
- body: string,
- attachments: {
- filename: string;
- content: string | Buffer;
- }[] = []
-) => {
- let transport;
- if (process.env.SENDGRID_API_KEY)
- transport = nodemailer.createTransport(
- nodemailerSendgrid({
- apiKey: process.env.SENDGRID_API_KEY || "",
- })
- );
-
- if (process.env.SMTP_MAIL_HOST)
- transport = nodemailer.createTransport({
- host: process.env.SMTP_MAIL_HOST || "",
- port: Number(process.env.SMTP_MAIL_PORT) || 587,
- auth: {
- user: process.env.SMTP_MAIL_USER || "",
- pass: process.env.SMTP_MAIL_PASSWORD || "",
- },
- });
-
- if (!transport)
- throw new Error(
- "No valid transport for NodeMailer found. Probably Sendgrid API Key nor SMTP Mail host was set."
- );
-
- await transport
- .sendMail({
- from: process.env.MAIL_FROM,
- to: to,
- subject: subject,
- html: body,
- attachments: attachments,
- })
- .catch((err) => {
- throw err;
- });
-};
diff --git a/packages/lib/mail/sendSigningDoneMail.ts b/packages/lib/mail/sendSigningDoneMail.ts
deleted file mode 100644
index c7b35bf93..000000000
--- a/packages/lib/mail/sendSigningDoneMail.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { signingCompleteTemplate } from "@documenso/lib/mail";
-import { addDigitalSignature } from "@documenso/signing/addDigitalSignature";
-import { sendMail } from "./sendMail";
-import { Document as PrismaDocument } from "@prisma/client";
-
-export const sendSigningDoneMail = async (document: PrismaDocument, user: any) => {
- await sendMail(
- user.email,
- `Completed: "${document.title}"`,
- signingCompleteTemplate(`All recipients have signed "${document.title}".`),
- [
- {
- filename: document.title,
- content: Buffer.from(await addDigitalSignature(document.document), "base64"),
- },
- ]
- );
-};
diff --git a/packages/lib/mail/sendSigningRequest.ts b/packages/lib/mail/sendSigningRequest.ts
deleted file mode 100644
index 13cf52ecb..000000000
--- a/packages/lib/mail/sendSigningRequest.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { signingRequestTemplate } from "@documenso/lib/mail";
-import prisma from "@documenso/prisma";
-import { NEXT_PUBLIC_WEBAPP_URL } from "../constants";
-import { sendMail } from "./sendMail";
-import { DocumentStatus, ReadStatus, SendStatus } from "@prisma/client";
-
-export const sendSigningRequest = async (recipient: any, document: any, user: any) => {
- const signingRequestMessage = user.name
- ? `${user.name} (${user.email}) has sent you a document to sign. `
- : `${user.email} has sent you a document to sign. `;
-
- await sendMail(
- recipient.email,
- `Please sign ${document.title}`,
- signingRequestTemplate(
- signingRequestMessage,
- document,
- recipient,
- `${NEXT_PUBLIC_WEBAPP_URL}/documents/${document.id}/sign?token=${recipient.token}`,
- `Sign Document`,
- user
- )
- ).catch((err) => {
- throw err;
- });
-
- const expiryDate = new Date();
- expiryDate.setDate(expiryDate.getDate() + 60);
-
- await prisma.recipient.update({
- where: {
- id: recipient.id,
- },
- data: {
- sendStatus: SendStatus.SENT,
- readStatus: ReadStatus.NOT_OPENED,
- expired: expiryDate,
- },
- });
-
- await prisma.document.update({
- where: {
- id: document.id,
- },
- data: { status: DocumentStatus.PENDING },
- });
-};
diff --git a/packages/lib/mail/signingCompleteTemplate.ts b/packages/lib/mail/signingCompleteTemplate.ts
deleted file mode 100644
index e32162906..000000000
--- a/packages/lib/mail/signingCompleteTemplate.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { NEXT_PUBLIC_WEBAPP_URL } from "../constants";
-import { baseEmailTemplate } from "./baseTemplate";
-
-export const signingCompleteTemplate = (message: string) => {
- const customContent = `
-
-
-
-
-
- A copy of the signed document has been attached to this email.
-
-
- Like Documenso? Hosted Documenso is here! .
-
`;
-
- const html = baseEmailTemplate(message, customContent);
-
- return html;
-};
-
-export default signingCompleteTemplate;
diff --git a/packages/lib/mail/signingRequestTemplate.ts b/packages/lib/mail/signingRequestTemplate.ts
deleted file mode 100644
index 0ce2c0cb5..000000000
--- a/packages/lib/mail/signingRequestTemplate.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import { NEXT_PUBLIC_WEBAPP_URL } from "../constants";
-import { baseEmailTemplate } from "./baseTemplate";
-import { Document as PrismaDocument } from "@prisma/client";
-
-export const signingRequestTemplate = (
- message: string,
- document: any,
- recipient: any,
- ctaLink: string,
- ctaLabel: string,
- user: any
-) => {
- const customContent = `
-
-
- ${ctaLabel}
-
-
-
- Click the button to view "${document.title}".
- If you have questions about this document, you should ask ${user.name ?? user.email}.
-
-
- Want to send you own signing links? Hosted Documenso is here! .
-
`;
-
- const html = baseEmailTemplate(message, customContent);
-
- return html;
-};
-
-export default signingRequestTemplate;
\ No newline at end of file
diff --git a/packages/lib/next-auth/auth-options.ts b/packages/lib/next-auth/auth-options.ts
new file mode 100644
index 000000000..4d3c9fa4d
--- /dev/null
+++ b/packages/lib/next-auth/auth-options.ts
@@ -0,0 +1,59 @@
+import { PrismaAdapter } from '@next-auth/prisma-adapter';
+import { compare } from 'bcrypt';
+import { AuthOptions, User } from 'next-auth';
+import CredentialsProvider from 'next-auth/providers/credentials';
+
+import { prisma } from '@documenso/prisma';
+
+import { getUserByEmail } from '../server-only/user/get-user-by-email';
+
+export const NEXT_AUTH_OPTIONS: AuthOptions = {
+ adapter: PrismaAdapter(prisma),
+ secret: process.env.NEXTAUTH_SECRET ?? 'secret',
+ session: {
+ strategy: 'jwt',
+ },
+ providers: [
+ CredentialsProvider({
+ name: 'Credentials',
+ credentials: {
+ email: { label: 'Email', type: 'email' },
+ password: { label: 'Password', type: 'password' },
+ },
+ authorize: async (credentials, _req) => {
+ if (!credentials) {
+ return null;
+ }
+
+ const { email, password } = credentials;
+
+ const user = await getUserByEmail({ email }).catch(() => null);
+
+ if (!user || !user.password) {
+ console.log('no user');
+ return null;
+ }
+
+ const isPasswordsSame = compare(password, user.password);
+
+ if (!isPasswordsSame) {
+ return null;
+ }
+
+ return {
+ id: String(user.id) as any,
+ email: user.email,
+ name: user.name,
+ image: '',
+ } satisfies User;
+ },
+ }),
+ ],
+ // callbacks: {
+ // jwt: async ({ token, user: _user }) => {
+ // return {
+ // ...token,
+ // };
+ // },
+ // },
+};
diff --git a/packages/lib/next-auth/get-server-session.ts b/packages/lib/next-auth/get-server-session.ts
new file mode 100644
index 000000000..56df8e7eb
--- /dev/null
+++ b/packages/lib/next-auth/get-server-session.ts
@@ -0,0 +1,54 @@
+import { GetServerSidePropsContext, NextApiRequest, NextApiResponse } from 'next';
+
+import { getServerSession as getNextAuthServerSession } from 'next-auth';
+
+import { prisma } from '@documenso/prisma';
+
+import { NEXT_AUTH_OPTIONS } from './auth-options';
+
+export interface GetServerSessionOptions {
+ req: NextApiRequest | GetServerSidePropsContext['req'];
+ res: NextApiResponse | GetServerSidePropsContext['res'];
+}
+
+export const getServerSession = async ({ req, res }: GetServerSessionOptions) => {
+ const session = await getNextAuthServerSession(req, res, NEXT_AUTH_OPTIONS);
+
+ if (!session || !session.user?.email) {
+ return null;
+ }
+
+ const user = await prisma.user.findFirstOrThrow({
+ where: {
+ email: session.user.email,
+ },
+ });
+
+ return user;
+};
+
+export const getServerComponentSession = async () => {
+ const session = await getNextAuthServerSession(NEXT_AUTH_OPTIONS);
+
+ if (!session || !session.user?.email) {
+ return null;
+ }
+
+ const user = await prisma.user.findFirstOrThrow({
+ where: {
+ email: session.user.email,
+ },
+ });
+
+ return user;
+};
+
+export const getRequiredServerComponentSession = async () => {
+ const session = await getServerComponentSession();
+
+ if (!session) {
+ throw new Error('No session found');
+ }
+
+ return session;
+};
diff --git a/packages/lib/package.json b/packages/lib/package.json
index 2c6b26121..202a37fe0 100644
--- a/packages/lib/package.json
+++ b/packages/lib/package.json
@@ -1,13 +1,29 @@
{
"name": "@documenso/lib",
- "version": "0.0.0",
- "private": true,
- "main": "index.ts",
+ "version": "1.0.0",
+ "main": "./index.ts",
+ "types": "./index.ts",
+ "license": "MIT",
+ "files": [
+ "client-only/",
+ "server-only/",
+ "universal/",
+ "next-auth/"
+ ],
+ "scripts": {
+ },
"dependencies": {
"@documenso/prisma": "*",
- "@prisma/client": "^4.8.1",
- "bcryptjs": "^2.4.3",
- "micro": "^10.0.1",
- "stripe": "^12.4.0"
+ "@pdf-lib/fontkit": "^1.1.1",
+ "@next-auth/prisma-adapter": "^1.0.6",
+ "@upstash/redis": "^1.20.6",
+ "bcrypt": "^5.1.0",
+ "pdf-lib": "^1.17.1",
+ "next": "13.4.1",
+ "next-auth": "^4.22.1",
+ "stripe": "^12.7.0"
+ },
+ "devDependencies": {
+ "@types/bcrypt": "^5.0.0"
}
-}
\ No newline at end of file
+}
diff --git a/packages/lib/process-env.d.ts b/packages/lib/process-env.d.ts
deleted file mode 100644
index 2babed253..000000000
--- a/packages/lib/process-env.d.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-declare namespace NodeJS {
- export interface ProcessEnv {
- DATABASE_URL: string;
- NEXT_PUBLIC_WEBAPP_URL: string;
- NEXTAUTH_SECRET: string;
- NEXTAUTH_URL: string;
-
- SENDGRID_API_KEY?: string;
- SMTP_MAIL_HOST?: string;
- SMTP_MAIL_PORT?: string;
- SMTP_MAIL_USER?: string;
- SMTP_MAIL_PASSWORD?: string;
-
- MAIL_FROM: string;
-
- STRIPE_API_KEY?: string;
- STRIPE_WEBHOOK_SECRET?: string;
- STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID?: string;
- STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID?: string;
-
- NEXT_PUBLIC_ALLOW_SIGNUP?: string;
- NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS?: string;
- }
-}
diff --git a/packages/lib/query/getDocument.ts b/packages/lib/query/getDocument.ts
deleted file mode 100644
index db658794c..000000000
--- a/packages/lib/query/getDocument.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-import { Document as PrismaDocument } from "@prisma/client";
-
-export const getDocument = async (
- documentId: number,
- req: any,
- res: any
-): Promise => {
- const user = await getUserFromToken(req, res);
- if (!user) return Promise.reject("Invalid user or token.");
- if (!documentId) Promise.reject("No documentId");
- if (!req || !res) Promise.reject("No res or req");
-
- const document: PrismaDocument = await prisma.document.findFirstOrThrow({
- where: {
- id: documentId,
- userId: user.id,
- },
- include: {
- Recipient: {
- orderBy: {
- id: "asc",
- },
- },
- Field: { include: { Recipient: true, Signature: true } },
- },
- });
-
- return document;
-};
diff --git a/packages/lib/query/getDocumentsForUserFromToken.ts b/packages/lib/query/getDocumentsForUserFromToken.ts
deleted file mode 100644
index 819b414c1..000000000
--- a/packages/lib/query/getDocumentsForUserFromToken.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { getUserFromToken } from "@documenso/lib/server";
-import prisma from "@documenso/prisma";
-
-export const getDocumentsForUserFromToken = async (context: any): Promise => {
- const user = await getUserFromToken(context.req, context.res);
- if (!user) return Promise.reject("Invalid user or token.");
-
- const documents = await prisma.document.findMany({
- where: {
- userId: user.id,
- },
- include: {
- Recipient: true,
- },
- orderBy: {
- created: "desc",
- },
- });
-
- return documents.map((e) => ({ ...e, document: "" }));
-};
diff --git a/packages/lib/query/index.ts b/packages/lib/query/index.ts
deleted file mode 100644
index 02394631d..000000000
--- a/packages/lib/query/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { getDocumentsForUserFromToken } from "./getDocumentsForUserFromToken";
-export { getDocument } from "./getDocument";
diff --git a/packages/lib/server-only/auth/hash.ts b/packages/lib/server-only/auth/hash.ts
new file mode 100644
index 000000000..1de2ac458
--- /dev/null
+++ b/packages/lib/server-only/auth/hash.ts
@@ -0,0 +1,10 @@
+import { hashSync as bcryptHashSync } from 'bcrypt';
+
+import { SALT_ROUNDS } from '../../constants/auth';
+
+/**
+ * @deprecated Use the methods built into `bcrypt` instead
+ */
+export const hashSync = (password: string) => {
+ return bcryptHashSync(password, SALT_ROUNDS);
+};
diff --git a/packages/lib/server-only/document/find-documents.ts b/packages/lib/server-only/document/find-documents.ts
new file mode 100644
index 000000000..627ceee8b
--- /dev/null
+++ b/packages/lib/server-only/document/find-documents.ts
@@ -0,0 +1,66 @@
+import { prisma } from '@documenso/prisma';
+import { Document, DocumentStatus, Prisma } from '@documenso/prisma/client';
+
+import { FindResultSet } from '../../types/find-result-set';
+
+export interface FindDocumentsOptions {
+ userId: number;
+ term?: string;
+ status?: DocumentStatus;
+ page?: number;
+ perPage?: number;
+ orderBy?: {
+ column: keyof Omit;
+ direction: 'asc' | 'desc';
+ };
+}
+
+export const findDocuments = async ({
+ userId,
+ term,
+ status,
+ page = 1,
+ perPage = 10,
+ orderBy,
+}: FindDocumentsOptions): Promise> => {
+ const orderByColumn = orderBy?.column ?? 'created';
+ const orderByDirection = orderBy?.direction ?? 'desc';
+
+ const filters: Prisma.DocumentWhereInput = {
+ status,
+ userId,
+ };
+
+ if (term) {
+ filters.title = {
+ contains: term,
+ mode: 'insensitive',
+ };
+ }
+
+ const [data, count] = await Promise.all([
+ prisma.document.findMany({
+ where: {
+ ...filters,
+ },
+ skip: Math.max(page - 1, 0) * perPage,
+ take: perPage,
+ orderBy: {
+ [orderByColumn]: orderByDirection,
+ },
+ }),
+ prisma.document.count({
+ where: {
+ ...filters,
+ },
+ }),
+ ]);
+
+ return {
+ data,
+ count,
+ currentPage: Math.max(page, 1),
+ perPage,
+ totalPages: Math.ceil(count / perPage),
+ };
+};
diff --git a/packages/lib/server-only/document/get-document-by-id.ts b/packages/lib/server-only/document/get-document-by-id.ts
new file mode 100644
index 000000000..12b0d03f9
--- /dev/null
+++ b/packages/lib/server-only/document/get-document-by-id.ts
@@ -0,0 +1,15 @@
+import { prisma } from '@documenso/prisma';
+
+export interface GetDocumentByIdOptions {
+ id: number;
+ userId: number;
+}
+
+export const getDocumentById = async ({ id, userId }: GetDocumentByIdOptions) => {
+ return await prisma.document.findFirstOrThrow({
+ where: {
+ id,
+ userId,
+ },
+ });
+};
diff --git a/packages/lib/server-only/document/get-stats.ts b/packages/lib/server-only/document/get-stats.ts
new file mode 100644
index 000000000..25754d7bc
--- /dev/null
+++ b/packages/lib/server-only/document/get-stats.ts
@@ -0,0 +1,30 @@
+import { prisma } from '@documenso/prisma';
+import { DocumentStatus } from '@documenso/prisma/client';
+
+export type GetStatsInput = {
+ userId: number;
+};
+
+export const getStats = async ({ userId }: GetStatsInput) => {
+ const result = await prisma.document.groupBy({
+ by: ['status'],
+ _count: {
+ _all: true,
+ },
+ where: {
+ userId,
+ },
+ });
+
+ const stats: Record = {
+ [DocumentStatus.DRAFT]: 0,
+ [DocumentStatus.PENDING]: 0,
+ [DocumentStatus.COMPLETED]: 0,
+ };
+
+ result.forEach((stat) => {
+ stats[stat.status] = stat._count._all;
+ });
+
+ return stats;
+};
diff --git a/packages/lib/server-only/headers/get-locale.tsx b/packages/lib/server-only/headers/get-locale.tsx
new file mode 100644
index 000000000..417d86e43
--- /dev/null
+++ b/packages/lib/server-only/headers/get-locale.tsx
@@ -0,0 +1,11 @@
+import { headers } from 'next/headers';
+
+export const getLocale = () => {
+ const headerItems = headers();
+
+ const locales = headerItems.get('accept-language') ?? 'en-US';
+
+ const [locale] = locales.split(',');
+
+ return locale;
+};
diff --git a/packages/pdf/insertImageInPDF.ts b/packages/lib/server-only/pdf/insert-image-in-pdf.ts
similarity index 84%
rename from packages/pdf/insertImageInPDF.ts
rename to packages/lib/server-only/pdf/insert-image-in-pdf.ts
index 3476964fe..b3c1df517 100644
--- a/packages/pdf/insertImageInPDF.ts
+++ b/packages/lib/server-only/pdf/insert-image-in-pdf.ts
@@ -1,11 +1,11 @@
-import { PDFDocument } from "pdf-lib";
+import { PDFDocument } from 'pdf-lib';
export async function insertImageInPDF(
pdfAsBase64: string,
image: string | Uint8Array | ArrayBuffer,
positionX: number,
positionY: number,
- page: number = 0
+ page = 0,
): Promise {
const existingPdfBytes = pdfAsBase64;
const pdfDoc = await PDFDocument.load(existingPdfBytes);
@@ -22,5 +22,5 @@ export async function insertImageInPDF(
});
const pdfAsUint8Array = await pdfDoc.save();
- return Buffer.from(pdfAsUint8Array).toString("base64");
+ return Buffer.from(pdfAsUint8Array).toString('base64');
}
diff --git a/packages/pdf/insertTextInPDF.ts b/packages/lib/server-only/pdf/insert-text-in-pdf.ts
similarity index 78%
rename from packages/pdf/insertTextInPDF.ts
rename to packages/lib/server-only/pdf/insert-text-in-pdf.ts
index b24a920c5..229806554 100644
--- a/packages/pdf/insertTextInPDF.ts
+++ b/packages/lib/server-only/pdf/insert-text-in-pdf.ts
@@ -1,16 +1,16 @@
-import fontkit from "@pdf-lib/fontkit";
-import * as fs from "fs";
-import { PDFDocument, StandardFonts, rgb } from "pdf-lib";
+import fontkit from '@pdf-lib/fontkit';
+import * as fs from 'fs';
+import { PDFDocument, StandardFonts, rgb } from 'pdf-lib';
export async function insertTextInPDF(
pdfAsBase64: string,
text: string,
positionX: number,
positionY: number,
- page: number = 0,
- useHandwritingFont = true
+ page = 0,
+ useHandwritingFont = true,
): Promise {
- const fontBytes = fs.readFileSync("public/fonts/Qwigley-Regular.ttf");
+ const fontBytes = fs.readFileSync('./public/fonts/caveat.ttf');
const pdfDoc = await PDFDocument.load(pdfAsBase64);
@@ -24,7 +24,7 @@ export async function insertTextInPDF(
const textSize = useHandwritingFont ? 50 : 15;
const textWidth = font.widthOfTextAtSize(text, textSize);
const textHeight = font.heightAtSize(textSize);
- const fieldSize = { width: 192, height: 64 };
+ const fieldSize = { width: 250, height: 64 };
// Because pdf-lib use a bottom-left coordinate system, we need to invert the y position
// we then center the text in the middle by adding half the height of the text
@@ -45,5 +45,6 @@ export async function insertTextInPDF(
});
const pdfAsUint8Array = await pdfDoc.save();
- return Buffer.from(pdfAsUint8Array).toString("base64");
+
+ return Buffer.from(pdfAsUint8Array).toString('base64');
}
diff --git a/packages/lib/server-only/redis/index.ts b/packages/lib/server-only/redis/index.ts
new file mode 100644
index 000000000..1d607d45d
--- /dev/null
+++ b/packages/lib/server-only/redis/index.ts
@@ -0,0 +1,8 @@
+/* eslint-disable turbo/no-undeclared-env-vars */
+import { Redis } from '@upstash/redis';
+
+// !: We're null coalescing here because we don't want local builds to fail.
+export const redis = new Redis({
+ url: process.env.NEXT_PRIVATE_REDIS_URL ?? '',
+ token: process.env.NEXT_PRIVATE_REDIS_TOKEN ?? '',
+});
diff --git a/packages/lib/server-only/stripe/index.ts b/packages/lib/server-only/stripe/index.ts
new file mode 100644
index 000000000..b2ab59fb9
--- /dev/null
+++ b/packages/lib/server-only/stripe/index.ts
@@ -0,0 +1,9 @@
+import Stripe from 'stripe';
+
+// eslint-disable-next-line turbo/no-undeclared-env-vars
+export const stripe = new Stripe(process.env.NEXT_PRIVATE_STRIPE_API_KEY!, {
+ apiVersion: '2022-11-15',
+ typescript: true,
+});
+
+export { Stripe };
diff --git a/packages/lib/server-only/user/create-user.ts b/packages/lib/server-only/user/create-user.ts
new file mode 100644
index 000000000..5a971562b
--- /dev/null
+++ b/packages/lib/server-only/user/create-user.ts
@@ -0,0 +1,35 @@
+import { hash } from 'bcrypt';
+
+import { prisma } from '@documenso/prisma';
+import { IdentityProvider } from '@documenso/prisma/client';
+
+import { SALT_ROUNDS } from '../../constants/auth';
+
+export interface CreateUserOptions {
+ name: string;
+ email: string;
+ password: string;
+}
+
+export const createUser = async ({ name, email, password }: CreateUserOptions) => {
+ const hashedPassword = await hash(password, SALT_ROUNDS);
+
+ const userExists = await prisma.user.findFirst({
+ where: {
+ email: email.toLowerCase(),
+ },
+ });
+
+ if (userExists) {
+ throw new Error('User already exists');
+ }
+
+ return await prisma.user.create({
+ data: {
+ name,
+ email: email.toLowerCase(),
+ password: hashedPassword,
+ identityProvider: IdentityProvider.DOCUMENSO,
+ },
+ });
+};
diff --git a/packages/lib/server-only/user/get-user-by-email.ts b/packages/lib/server-only/user/get-user-by-email.ts
new file mode 100644
index 000000000..0a2ef8d16
--- /dev/null
+++ b/packages/lib/server-only/user/get-user-by-email.ts
@@ -0,0 +1,13 @@
+import { prisma } from '@documenso/prisma';
+
+export interface GetUserByEmailOptions {
+ email: string;
+}
+
+export const getUserByEmail = async ({ email }: GetUserByEmailOptions) => {
+ return await prisma.user.findFirstOrThrow({
+ where: {
+ email: email.toLowerCase(),
+ },
+ });
+};
diff --git a/packages/lib/server-only/user/get-user-by-id.ts b/packages/lib/server-only/user/get-user-by-id.ts
new file mode 100644
index 000000000..a01447206
--- /dev/null
+++ b/packages/lib/server-only/user/get-user-by-id.ts
@@ -0,0 +1,13 @@
+import { prisma } from '@documenso/prisma';
+
+export interface GetUserByIdOptions {
+ id: number;
+}
+
+export const getUserById = async ({ id }: GetUserByIdOptions) => {
+ return await prisma.user.findFirstOrThrow({
+ where: {
+ id,
+ },
+ });
+};
diff --git a/packages/lib/server-only/user/update-password.ts b/packages/lib/server-only/user/update-password.ts
new file mode 100644
index 000000000..d3ff9070f
--- /dev/null
+++ b/packages/lib/server-only/user/update-password.ts
@@ -0,0 +1,32 @@
+import { hash } from 'bcrypt';
+
+import { prisma } from '@documenso/prisma';
+
+import { SALT_ROUNDS } from '../../constants/auth';
+
+export type UpdatePasswordOptions = {
+ userId: number;
+ password: string;
+};
+
+export const updatePassword = async ({ userId, password }: UpdatePasswordOptions) => {
+ // Existence check
+ await prisma.user.findFirstOrThrow({
+ where: {
+ id: userId,
+ },
+ });
+
+ const hashedPassword = await hash(password, SALT_ROUNDS);
+
+ const updatedUser = await prisma.user.update({
+ where: {
+ id: userId,
+ },
+ data: {
+ password: hashedPassword,
+ },
+ });
+
+ return updatedUser;
+};
diff --git a/packages/lib/server-only/user/update-profile.ts b/packages/lib/server-only/user/update-profile.ts
new file mode 100644
index 000000000..437f366fa
--- /dev/null
+++ b/packages/lib/server-only/user/update-profile.ts
@@ -0,0 +1,33 @@
+import { prisma } from '@documenso/prisma';
+
+export type UpdateProfileOptions = {
+ userId: number;
+ name: string;
+ signature: string;
+};
+
+export const updateProfile = async ({
+ userId,
+ name,
+ // TODO: Actually use signature
+ signature: _signature,
+}: UpdateProfileOptions) => {
+ // Existence check
+ await prisma.user.findFirstOrThrow({
+ where: {
+ id: userId,
+ },
+ });
+
+ const updatedUser = await prisma.user.update({
+ where: {
+ id: userId,
+ },
+ data: {
+ name,
+ // signature,
+ },
+ });
+
+ return updatedUser;
+};
diff --git a/packages/lib/server/defaultHandler.ts b/packages/lib/server/defaultHandler.ts
deleted file mode 100644
index 69d466648..000000000
--- a/packages/lib/server/defaultHandler.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import type { NextApiHandler, NextApiRequest, NextApiResponse } from "next";
-
-type Handlers = {
- [method in "GET" | "POST" | "PATCH" | "PUT" | "DELETE"]?: Promise<{
- default: NextApiHandler;
- }>;
-};
-
-/** Allows us to split big API handlers by method */
-export const defaultHandler =
- (handlers: Handlers) => async (req: NextApiRequest, res: NextApiResponse) => {
- const handler = (await handlers[req.method as keyof typeof handlers])?.default;
- // auto catch unsupported methods.
- if (!handler) {
- return res.status(405).json({
- message: `Method Not Allowed (Allow: ${Object.keys(handlers).join(",")})`,
- });
- }
-
- try {
- await handler(req, res);
- return;
- } catch (error) {
- console.error(error);
- return res.status(500).json({ message: "Something went wrong" });
- }
- };
diff --git a/packages/lib/server/defaultResponder.ts b/packages/lib/server/defaultResponder.ts
deleted file mode 100644
index 796bbe90b..000000000
--- a/packages/lib/server/defaultResponder.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import type { NextApiRequest, NextApiResponse } from "next";
-import { getServerErrorFromUnknown } from "@documenso/lib/server";
-
-type Handle = (req: NextApiRequest, res: NextApiResponse) => Promise;
-
-/** Allows us to get type inference from API handler responses */
-export function defaultResponder(f: Handle) {
- return async (req: NextApiRequest, res: NextApiResponse) => {
- try {
- const result = await f(req, res);
- if (result) res.json(result);
- } catch (err) {
- console.error(err);
- const error = getServerErrorFromUnknown(err);
- res.statusCode = error.statusCode;
- res.json({ message: error.message });
- }
- };
-}
diff --git a/packages/lib/server/getServerErrorFromUnknown.ts b/packages/lib/server/getServerErrorFromUnknown.ts
deleted file mode 100644
index b4240a9a1..000000000
--- a/packages/lib/server/getServerErrorFromUnknown.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { HttpError } from "@documenso/lib/server";
-import { PrismaClientKnownRequestError } from "@prisma/client/runtime/library";
-
-export function getServerErrorFromUnknown(cause: unknown): HttpError {
- // Error was manually thrown and does not need to be parsed.
- if (cause instanceof HttpError) {
- return cause;
- }
-
- if (cause instanceof SyntaxError) {
- return new HttpError({
- statusCode: 500,
- message: "Unexpected error, please reach out for our customer support.",
- });
- }
-
- if (cause instanceof PrismaClientKnownRequestError) {
- return new HttpError({ statusCode: 400, message: cause.message, cause });
- }
-
- if (cause instanceof PrismaClientKnownRequestError) {
- return new HttpError({ statusCode: 404, message: cause.message, cause });
- }
-
- if (cause instanceof Error) {
- return new HttpError({ statusCode: 500, message: cause.message, cause });
- }
-
- if (typeof cause === "string") {
- // @ts-expect-error https://github.com/tc39/proposal-error-cause
- return new Error(cause, { cause });
- }
-
- // Catch-All if none of the above triggered and something (even more) unexpected happened
- return new HttpError({
- statusCode: 500,
- message: `Unhandled error of type '${typeof cause}'. Please reach out for our customer support.`,
- });
-}
diff --git a/packages/lib/server/getUserFromToken.ts b/packages/lib/server/getUserFromToken.ts
deleted file mode 100644
index f38c4abd1..000000000
--- a/packages/lib/server/getUserFromToken.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { GetServerSidePropsContext, NextApiRequest, NextApiResponse } from "next";
-import { NextRequest } from "next/server";
-import prisma from "@documenso/prisma";
-import { User as PrismaUser } from "@prisma/client";
-import { getToken } from "next-auth/jwt";
-
-export async function getUserFromToken(
- req: GetServerSidePropsContext["req"] | NextRequest | NextApiRequest,
- res?: NextApiResponse // TODO: Remove this optional parameter
-): Promise {
- const token = await getToken({ req });
- const tokenEmail = token?.email?.toString();
-
- if (!token || !tokenEmail) {
- return null;
- }
-
- const user = await prisma.user.findFirst({
- where: { email: tokenEmail },
- });
-
- if (!user) {
- return null;
- }
-
- return user;
-}
diff --git a/packages/lib/server/http-error.ts b/packages/lib/server/http-error.ts
deleted file mode 100644
index b73b23f9d..000000000
--- a/packages/lib/server/http-error.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-export class HttpError extends Error {
- public readonly cause?: Error;
- public readonly statusCode: TCode;
- public readonly message: string;
- public readonly url: string | undefined;
- public readonly method: string | undefined;
-
- constructor(opts: {
- url?: string;
- method?: string;
- message?: string;
- statusCode: TCode;
- cause?: Error;
- }) {
- super(opts.message ?? `HTTP Error ${opts.statusCode} `);
-
- Object.setPrototypeOf(this, HttpError.prototype);
- this.name = HttpError.prototype.constructor.name;
-
- this.cause = opts.cause;
- this.statusCode = opts.statusCode;
- this.url = opts.url;
- this.method = opts.method;
- this.message = opts.message ?? `HTTP Error ${opts.statusCode}`;
-
- if (opts.cause instanceof Error && opts.cause.stack) {
- this.stack = opts.cause.stack;
- }
- }
-
- public static fromRequest(request: Request, response: Response) {
- return new HttpError({
- message: response.statusText,
- url: response.url,
- method: request.method,
- statusCode: response.status,
- });
- }
-}
diff --git a/packages/lib/server/index.ts b/packages/lib/server/index.ts
deleted file mode 100644
index 7eeac617a..000000000
--- a/packages/lib/server/index.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export { defaultHandler } from "./defaultHandler";
-export { defaultResponder } from "./defaultResponder";
-export { HttpError } from "./http-error";
-export { getServerErrorFromUnknown } from "./getServerErrorFromUnknown";
-export { getUserFromToken } from "./getUserFromToken";
diff --git a/packages/lib/stripe/client.ts b/packages/lib/stripe/client.ts
deleted file mode 100644
index d78571d59..000000000
--- a/packages/lib/stripe/client.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import Stripe from 'stripe';
-
-
-export const stripe = new Stripe(process.env.STRIPE_API_KEY!, {
- apiVersion: "2022-11-15",
- typescript: true,
-});
\ No newline at end of file
diff --git a/packages/lib/stripe/data/plans.ts b/packages/lib/stripe/data/plans.ts
deleted file mode 100644
index 1b4b392f8..000000000
--- a/packages/lib/stripe/data/plans.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-export const STRIPE_PLANS = [
- {
- name: "Community Plan",
- prices: {
- monthly: {
- price: 30,
- priceId: process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID ?? "",
- },
- yearly: {
- price: 300,
- priceId: process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID ?? "",
- },
- },
- },
-];
diff --git a/packages/lib/stripe/fetchers/checkout-session.ts b/packages/lib/stripe/fetchers/checkout-session.ts
deleted file mode 100644
index 2f8151ba6..000000000
--- a/packages/lib/stripe/fetchers/checkout-session.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { CheckoutSessionRequest, CheckoutSessionResponse } from "../handlers/checkout-session"
-
-export type FetchCheckoutSessionOptions = CheckoutSessionRequest['body']
-
-export const fetchCheckoutSession = async ({
- id,
- priceId
-}: FetchCheckoutSessionOptions) => {
- const response = await fetch('/api/stripe/checkout-session', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify({
- id,
- priceId
- })
- });
-
- const json: CheckoutSessionResponse = await response.json();
-
- return json;
-}
\ No newline at end of file
diff --git a/packages/lib/stripe/fetchers/get-subscription.ts b/packages/lib/stripe/fetchers/get-subscription.ts
deleted file mode 100644
index 874771e34..000000000
--- a/packages/lib/stripe/fetchers/get-subscription.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { GetSubscriptionResponse } from "../handlers/get-subscription";
-
-export const fetchSubscription = async () => {
- const response = await fetch("/api/stripe/subscription", {
- method: "GET",
- headers: {
- "Content-Type": "application/json",
- },
- });
-
- const json: GetSubscriptionResponse = await response.json();
-
- return json;
-};
diff --git a/packages/lib/stripe/fetchers/portal-session.ts b/packages/lib/stripe/fetchers/portal-session.ts
deleted file mode 100644
index 23719c500..000000000
--- a/packages/lib/stripe/fetchers/portal-session.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { PortalSessionRequest, PortalSessionResponse } from "../handlers/portal-session";
-
-export type FetchPortalSessionOptions = PortalSessionRequest["body"];
-
-export const fetchPortalSession = async ({ id }: FetchPortalSessionOptions) => {
- const response = await fetch("/api/stripe/portal-session", {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify({
- id,
- }),
- });
-
- const json: PortalSessionResponse = await response.json();
-
- return json;
-};
diff --git a/packages/lib/stripe/guards/subscriptions.ts b/packages/lib/stripe/guards/subscriptions.ts
deleted file mode 100644
index c801549b0..000000000
--- a/packages/lib/stripe/guards/subscriptions.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { GetServerSideProps, GetServerSidePropsContext, NextApiRequest } from "next";
-import { SubscriptionStatus } from "@prisma/client";
-import { getToken } from "next-auth/jwt";
-
-export const isSubscriptionsEnabled = () => {
- return process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS === "true";
-};
-
-export const isSubscribedServer = async (
- req: NextApiRequest | GetServerSidePropsContext["req"]
-) => {
- const { default: prisma } = await import("@documenso/prisma");
-
- if (!isSubscriptionsEnabled()) {
- return true;
- }
-
- const token = await getToken({
- req,
- });
-
- if (!token || !token.email) {
- return false;
- }
-
- const subscription = await prisma.subscription.findFirst({
- where: {
- User: {
- email: token.email,
- },
- },
- });
-
- return subscription !== null && subscription.status !== SubscriptionStatus.INACTIVE;
-};
diff --git a/packages/lib/stripe/handlers/checkout-session.ts b/packages/lib/stripe/handlers/checkout-session.ts
deleted file mode 100644
index 2654d03f6..000000000
--- a/packages/lib/stripe/handlers/checkout-session.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import prisma from "@documenso/prisma";
-import { stripe } from "../client";
-import { getToken } from "next-auth/jwt";
-
-export type CheckoutSessionRequest = {
- body: {
- id?: string;
- priceId: string;
- };
-};
-
-export type CheckoutSessionResponse =
- | {
- success: false;
- message: string;
- }
- | {
- success: true;
- url: string;
- };
-
-export const checkoutSessionHandler = async (req: NextApiRequest, res: NextApiResponse) => {
- if (!process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS) {
- return res.status(500).json({
- success: false,
- message: "Subscriptions are not enabled",
- });
- }
-
- if (req.method !== "POST") {
- return res.status(405).json({
- success: false,
- message: "Method not allowed",
- });
- }
-
- const token = await getToken({
- req,
- });
-
- if (!token || !token.email) {
- return res.status(401).json({
- success: false,
- message: "Unauthorized",
- });
- }
-
- const user = await prisma.user.findFirst({
- where: {
- email: token.email,
- },
- });
-
- if (!user) {
- return res.status(404).json({
- success: false,
- message: "No user found",
- });
- }
-
- const { id, priceId } = req.body;
-
- if (typeof priceId !== "string") {
- return res.status(400).json({
- success: false,
- message: "No id or priceId found in request",
- });
- }
-
- const session = await stripe.checkout.sessions.create({
- customer: id,
- customer_email: user.email,
- client_reference_id: String(user.id),
- payment_method_types: ["card"],
- line_items: [
- {
- price: priceId,
- quantity: 1,
- },
- ],
- mode: "subscription",
- allow_promotion_codes: true,
- success_url: `${process.env.NEXT_PUBLIC_WEBAPP_URL}/settings/billing?success=true`,
- cancel_url: `${process.env.NEXT_PUBLIC_WEBAPP_URL}/settings/billing?canceled=true`,
- });
-
- return res.status(200).json({
- success: true,
- url: session.url,
- });
-};
diff --git a/packages/lib/stripe/handlers/get-subscription.ts b/packages/lib/stripe/handlers/get-subscription.ts
deleted file mode 100644
index 0617f3cc8..000000000
--- a/packages/lib/stripe/handlers/get-subscription.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import prisma from "@documenso/prisma";
-import { Subscription } from "@prisma/client";
-import { getToken } from "next-auth/jwt";
-
-export type GetSubscriptionRequest = never;
-
-export type GetSubscriptionResponse =
- | {
- success: false;
- message: string;
- }
- | {
- success: true;
- subscription: Subscription;
- };
-
-export const getSubscriptionHandler = async (req: NextApiRequest, res: NextApiResponse) => {
- if (!process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS) {
- return res.status(500).json({
- success: false,
- message: "Subscriptions are not enabled",
- });
- }
-
- if (req.method !== "GET") {
- return res.status(405).json({
- success: false,
- message: "Method not allowed",
- });
- }
-
- const token = await getToken({
- req,
- });
-
- if (!token || !token.email) {
- return res.status(401).json({
- success: false,
- message: "Unauthorized",
- });
- }
-
- const subscription = await prisma.subscription.findFirst({
- where: {
- User: {
- email: token.email,
- },
- },
- });
-
- if (!subscription) {
- return res.status(404).json({
- success: false,
- message: "No subscription found",
- });
- }
-
- return res.status(200).json({
- success: true,
- subscription,
- });
-};
diff --git a/packages/lib/stripe/handlers/portal-session.ts b/packages/lib/stripe/handlers/portal-session.ts
deleted file mode 100644
index 21f724b63..000000000
--- a/packages/lib/stripe/handlers/portal-session.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { stripe } from "../client";
-
-
-export type PortalSessionRequest = {
- body: {
- id: string;
- };
-};
-
-export type PortalSessionResponse =
- | {
- success: false;
- message: string;
- }
- | {
- success: true;
- url: string;
- };
-
-export const portalSessionHandler = async (req: NextApiRequest, res: NextApiResponse) => {
- if (!process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS) {
- return res.status(500).json({
- success: false,
- message: "Subscriptions are not enabled",
- });
- }
-
- if (req.method !== "POST") {
- return res.status(405).json({
- success: false,
- message: "Method not allowed",
- });
- }
-
- const { id } = req.body;
-
- if (typeof id !== "string") {
- return res.status(400).json({
- success: false,
- message: "No id found in request",
- });
- }
-
- const session = await stripe.billingPortal.sessions.create({
- customer: id,
- return_url: `${process.env.NEXT_PUBLIC_WEBAPP_URL}/settings/billing`,
- });
-
- return res.status(200).json({
- success: true,
- url: session.url,
- });
-};
\ No newline at end of file
diff --git a/packages/lib/stripe/handlers/webhook.ts b/packages/lib/stripe/handlers/webhook.ts
deleted file mode 100644
index 609e652fe..000000000
--- a/packages/lib/stripe/handlers/webhook.ts
+++ /dev/null
@@ -1,201 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import prisma from "@documenso/prisma";
-import { stripe } from "../client";
-import { SubscriptionStatus } from "@prisma/client";
-import { buffer } from "micro";
-import Stripe from "stripe";
-
-const log = (...args: any[]) => console.log("[stripe]", ...args);
-
-export const webhookHandler = async (req: NextApiRequest, res: NextApiResponse) => {
- if (!process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS) {
- return res.status(500).json({
- success: false,
- message: "Subscriptions are not enabled",
- });
- }
-
- const sig =
- typeof req.headers["stripe-signature"] === "string" ? req.headers["stripe-signature"] : "";
-
- if (!sig) {
- return res.status(400).json({
- success: false,
- message: "No signature found in request",
- });
- }
-
- const body = await buffer(req);
-
- const event = stripe.webhooks.constructEvent(body, sig, process.env.STRIPE_WEBHOOK_SECRET!);
- log("event-type:", event.type);
-
- if (event.type === "checkout.session.completed") {
- const session = event.data.object as Stripe.Checkout.Session;
-
- const subscription = await stripe.subscriptions.retrieve(session.subscription as string);
-
- const customerId =
- typeof subscription.customer === "string" ? subscription.customer : subscription.customer?.id;
-
- await prisma.subscription.upsert({
- where: {
- customerId,
- },
- create: {
- customerId,
- status: SubscriptionStatus.ACTIVE,
- planId: subscription.id,
- priceId: subscription.items.data[0].price.id,
- periodEnd: new Date(subscription.current_period_end * 1000),
- userId: Number(session.client_reference_id as string),
- },
- update: {
- customerId,
- status: SubscriptionStatus.ACTIVE,
- planId: subscription.id,
- priceId: subscription.items.data[0].price.id,
- periodEnd: new Date(subscription.current_period_end * 1000),
- },
- });
-
- return res.status(200).json({
- success: true,
- message: "Webhook received",
- });
- }
-
- if (event.type === "invoice.payment_succeeded") {
- const invoice = event.data.object as Stripe.Invoice;
-
- if (invoice.billing_reason !== "subscription_cycle") {
- return res.status(200).json({
- success: true,
- message: "Webhook received",
- });
- }
-
- const customerId =
- typeof invoice.customer === "string" ? invoice.customer : invoice.customer?.id;
-
- const subscription = await stripe.subscriptions.retrieve(invoice.subscription as string);
-
- const hasSubscription = await prisma.subscription.findFirst({
- where: {
- customerId,
- },
- });
-
- if (hasSubscription) {
- await prisma.subscription.update({
- where: {
- customerId,
- },
- data: {
- status: SubscriptionStatus.ACTIVE,
- planId: subscription.id,
- priceId: subscription.items.data[0].price.id,
- periodEnd: new Date(subscription.current_period_end * 1000),
- },
- });
- }
-
- return res.status(200).json({
- success: true,
- message: "Webhook received",
- });
- }
-
- if (event.type === "invoice.payment_failed") {
- const failedInvoice = event.data.object as Stripe.Invoice;
-
- const customerId = failedInvoice.customer as string;
-
- const hasSubscription = await prisma.subscription.findFirst({
- where: {
- customerId,
- },
- });
-
- if (hasSubscription) {
- await prisma.subscription.update({
- where: {
- customerId,
- },
- data: {
- status: SubscriptionStatus.PAST_DUE,
- },
- });
- }
-
- return res.status(200).json({
- success: true,
- message: "Webhook received",
- });
- }
-
- if (event.type === "customer.subscription.updated") {
- const updatedSubscription = event.data.object as Stripe.Subscription;
-
- const customerId = updatedSubscription.customer as string;
-
- const hasSubscription = await prisma.subscription.findFirst({
- where: {
- customerId,
- },
- });
-
- if (hasSubscription) {
- await prisma.subscription.update({
- where: {
- customerId,
- },
- data: {
- status: SubscriptionStatus.ACTIVE,
- planId: updatedSubscription.id,
- priceId: updatedSubscription.items.data[0].price.id,
- periodEnd: new Date(updatedSubscription.current_period_end * 1000),
- },
- });
- }
-
- return res.status(200).json({
- success: true,
- message: "Webhook received",
- });
- }
-
- if (event.type === "customer.subscription.deleted") {
- const deletedSubscription = event.data.object as Stripe.Subscription;
-
- const customerId = deletedSubscription.customer as string;
-
- const hasSubscription = await prisma.subscription.findFirst({
- where: {
- customerId,
- },
- });
-
- if (hasSubscription) {
- await prisma.subscription.update({
- where: {
- customerId,
- },
- data: {
- status: SubscriptionStatus.INACTIVE,
- },
- });
- }
-
- return res.status(200).json({
- success: true,
- message: "Webhook received",
- });
- }
-
- log("Unhandled webhook event", event.type);
- return res.status(400).json({
- success: false,
- message: "Unhandled webhook event",
- });
-};
diff --git a/packages/lib/stripe/index.ts b/packages/lib/stripe/index.ts
deleted file mode 100644
index b24d812db..000000000
--- a/packages/lib/stripe/index.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export * from './data/plans'
-export * from './fetchers/checkout-session'
-export * from './fetchers/get-subscription'
-export * from './fetchers/portal-session'
-export * from './guards/subscriptions'
-export * from './providers/subscription-provider'
diff --git a/packages/lib/stripe/providers/subscription-provider.tsx b/packages/lib/stripe/providers/subscription-provider.tsx
deleted file mode 100644
index 78291fcc8..000000000
--- a/packages/lib/stripe/providers/subscription-provider.tsx
+++ /dev/null
@@ -1,89 +0,0 @@
-import React, { createContext, useContext, useEffect, useMemo, useState } from "react";
-import { fetchSubscription } from "../fetchers/get-subscription";
-import { Subscription, SubscriptionStatus } from "@prisma/client";
-import { useSession } from "next-auth/react";
-
-
-export type SubscriptionContextValue = {
- subscription: Subscription | null;
- hasSubscription: boolean;
- isLoading: boolean;
-};
-
-const SubscriptionContext = createContext({
- subscription: null,
- hasSubscription: false,
- isLoading: false,
-});
-
-export const useSubscription = () => {
- const context = useContext(SubscriptionContext);
-
- if (!context) {
- throw new Error(`useSubscription must be used within a SubscriptionProvider`);
- }
-
- return context;
-};
-
-export interface SubscriptionProviderProps {
- children: React.ReactNode;
- initialSubscription?: Subscription;
-}
-
-export const SubscriptionProvider = ({
- children,
- initialSubscription,
-}: SubscriptionProviderProps) => {
- const session = useSession();
-
- const [isLoading, setIsLoading] = useState(false);
- const [subscription, setSubscription] = useState(
- initialSubscription || null
- );
-
- const hasSubscription = useMemo(() => {
- console.log({
- "process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS": process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS,
- enabled: process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS === "true",
- "subscription.status": subscription?.status,
- "subscription.periodEnd": subscription?.periodEnd,
- });
-
- if (process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS === "true") {
- return (
- subscription?.status === SubscriptionStatus.ACTIVE &&
- !!subscription?.periodEnd &&
- new Date(subscription.periodEnd) > new Date()
- );
- }
-
- return true;
- }, [subscription]);
-
- useEffect(() => {
- if (process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS === "true" && session.data) {
- setIsLoading(true);
- fetchSubscription().then((res) => {
- if (res.success) {
- setSubscription(res.subscription);
- } else {
- setSubscription(null);
- }
-
- setIsLoading(false);
- });
- }
- }, [session.data]);
-
- return (
-
- {children}
-
- );
-};
\ No newline at end of file
diff --git a/packages/lib/types/find-result-set.ts b/packages/lib/types/find-result-set.ts
new file mode 100644
index 000000000..13eab7bbd
--- /dev/null
+++ b/packages/lib/types/find-result-set.ts
@@ -0,0 +1,7 @@
+export type FindResultSet = {
+ data: T[];
+ count: number;
+ currentPage: number;
+ perPage: number;
+ totalPages: number;
+};
diff --git a/packages/lib/types/is-document-status.ts b/packages/lib/types/is-document-status.ts
new file mode 100644
index 000000000..0666308a5
--- /dev/null
+++ b/packages/lib/types/is-document-status.ts
@@ -0,0 +1,5 @@
+import { DocumentStatus } from '@documenso/prisma/client';
+
+export const isDocumentStatus = (value: unknown): value is DocumentStatus => {
+ return Object.values(DocumentStatus).includes(value as DocumentStatus);
+};
diff --git a/packages/lib/universal/get-base-url.ts b/packages/lib/universal/get-base-url.ts
new file mode 100644
index 000000000..aa8884088
--- /dev/null
+++ b/packages/lib/universal/get-base-url.ts
@@ -0,0 +1,16 @@
+/* eslint-disable turbo/no-undeclared-env-vars */
+export const getBaseUrl = () => {
+ if (typeof window !== 'undefined') {
+ return '';
+ }
+
+ if (process.env.VERCEL_URL) {
+ return `https://${process.env.VERCEL_URL}`;
+ }
+
+ if (process.env.NEXT_PUBLIC_SITE_URL) {
+ return `https://${process.env.NEXT_PUBLIC_SITE_URL}`;
+ }
+
+ return `http://localhost:${process.env.PORT ?? 3000}`;
+};
diff --git a/packages/lib/webstorage.ts b/packages/lib/webstorage.ts
deleted file mode 100644
index dee4c5b20..000000000
--- a/packages/lib/webstorage.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-export const localStorage = {
- getItem(key: string) {
- try {
- return window.localStorage.getItem(key);
- } catch (e) {
- // In case storage is restricted. Possible reasons
- // 1. Chrome/Firefox/... Incognito mode.
- return null;
- }
- },
- setItem(key: string, value: string) {
- try {
- window.localStorage.setItem(key, value);
- } catch (e) {
- // In case storage is restricted. Possible reasons
- // 1. Chrome/Firefox/... Incognito mode.
- // 2. Storage limit reached
- return;
- }
- },
-};
diff --git a/packages/pdf/index.ts b/packages/pdf/index.ts
deleted file mode 100644
index 574128097..000000000
--- a/packages/pdf/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { insertTextInPDF } from "./insertTextInPDF";
-export { insertImageInPDF } from "./insertImageInPDF";
diff --git a/packages/pdf/package.json b/packages/pdf/package.json
deleted file mode 100644
index eabd3e608..000000000
--- a/packages/pdf/package.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "name": "@documenso/pdf",
- "version": "0.0.0",
- "private": true,
- "main": "index.ts",
- "dependencies": {}
-}
diff --git a/packages/prettier-config/index.cjs b/packages/prettier-config/index.cjs
new file mode 100644
index 000000000..3cc9e6fed
--- /dev/null
+++ b/packages/prettier-config/index.cjs
@@ -0,0 +1,41 @@
+/** @type {import('prettier').Config} */
+module.exports = {
+ arrowParens: 'always',
+ printWidth: 100,
+ semi: true,
+ singleQuote: true,
+ tabWidth: 2,
+ trailingComma: 'all',
+
+ importOrder: [
+ '^server-only|client-only$',
+ '^react$',
+ '^next(/.*)?$',
+ '',
+ '^@documenso/(.*)$',
+ '^~/(.*)$',
+ '^[./]',
+ ],
+ importOrderSeparation: true,
+ importOrderSortSpecifiers: true,
+ // !: Waiting for these to make it upstream
+ // importOrderMergeDuplicateImports: true,
+ // importOrderCombineTypeAndValueImports: true,
+
+ plugins: [
+ '@trivago/prettier-plugin-sort-imports',
+ 'prettier-plugin-sql',
+ 'prettier-plugin-tailwindcss',
+ ],
+
+ overrides: [
+ {
+ files: ['*.sql'],
+ options: {
+ language: 'postgresql',
+ keywordCase: 'upper',
+ expressionWidth: 60,
+ },
+ },
+ ],
+};
diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json
new file mode 100644
index 000000000..d66524a29
--- /dev/null
+++ b/packages/prettier-config/package.json
@@ -0,0 +1,13 @@
+{
+ "name": "@documenso/prettier-config",
+ "version": "0.0.0",
+ "main": "./index.cjs",
+ "license": "MIT",
+ "dependencies": {
+ "@trivago/prettier-plugin-sort-imports": "^4.1.1",
+ "prettier": "^2.8.8",
+ "prettier-plugin-sql": "^0.14.0",
+ "prettier-plugin-tailwindcss": "^0.2.8"
+ },
+ "devDependencies": {}
+}
diff --git a/packages/prisma/.gitignore b/packages/prisma/.gitignore
deleted file mode 100644
index 11ddd8dbe..000000000
--- a/packages/prisma/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-node_modules
-# Keep environment variables out of version control
-.env
diff --git a/packages/prisma/client.ts b/packages/prisma/client.ts
new file mode 100644
index 000000000..b329db54e
--- /dev/null
+++ b/packages/prisma/client.ts
@@ -0,0 +1 @@
+export * from '@prisma/client';
diff --git a/packages/prisma/index.ts b/packages/prisma/index.ts
index 3a76d6bca..93a334caa 100644
--- a/packages/prisma/index.ts
+++ b/packages/prisma/index.ts
@@ -1,16 +1,15 @@
-import { isENVProd } from "@documenso/lib";
-import { Document, PrismaClient, User } from "@prisma/client";
+import { PrismaClient } from '@prisma/client';
declare global {
- var client: PrismaClient | undefined;
+ // We need `var` to declare a global variable in TypeScript
+ // eslint-disable-next-line no-var
+ var prisma: PrismaClient | undefined;
}
-// Instanciate new client if non exists
-const prisma = globalThis.client || new PrismaClient();
-
-// Save for reuse in dev environment to avoid many client instances in dev where restart and reloads
-if (!isENVProd) {
- globalThis.client = prisma;
+if (!globalThis.prisma) {
+ globalThis.prisma = new PrismaClient();
}
-export default prisma;
+export const prisma = globalThis.prisma || new PrismaClient();
+
+export const getPrismaClient = () => prisma;
diff --git a/packages/prisma/package-lock.json b/packages/prisma/package-lock.json
deleted file mode 100644
index af65fcec3..000000000
--- a/packages/prisma/package-lock.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- "name": "@documenso/prisma",
- "version": "0.0.0",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "name": "@documenso/prisma",
- "version": "0.0.0",
- "dependencies": {
- "@prisma/client": "^4.8.0",
- "prisma": "^4.8.0"
- },
- "devDependencies": {}
- },
- "node_modules/@prisma/client": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.8.1.tgz",
- "integrity": "sha512-d4xhZhETmeXK/yZ7K0KcVOzEfI5YKGGEr4F5SBV04/MU4ncN/HcE28sy3e4Yt8UFW0ZuImKFQJE+9rWt9WbGSQ==",
- "hasInstallScript": true,
- "dependencies": {
- "@prisma/engines-version": "4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe"
- },
- "engines": {
- "node": ">=14.17"
- },
- "peerDependencies": {
- "prisma": "*"
- },
- "peerDependenciesMeta": {
- "prisma": {
- "optional": true
- }
- }
- },
- "node_modules/@prisma/engines": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.8.1.tgz",
- "integrity": "sha512-93tctjNXcIS+i/e552IO6tqw17sX8liivv8WX9lDMCpEEe3ci+nT9F+1oHtAafqruXLepKF80i/D20Mm+ESlOw==",
- "hasInstallScript": true
- },
- "node_modules/@prisma/engines-version": {
- "version": "4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe",
- "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe.tgz",
- "integrity": "sha512-MHSOSexomRMom8QN4t7bu87wPPD+pa+hW9+71JnVcF3DqyyO/ycCLhRL1we3EojRpZxKvuyGho2REQsMCvxcJw=="
- },
- "node_modules/prisma": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.8.1.tgz",
- "integrity": "sha512-ZMLnSjwulIeYfaU1O6/LF6PEJzxN5par5weykxMykS9Z6ara/j76JH3Yo2AH3bgJbPN4Z6NeCK9s5fDkzf33cg==",
- "hasInstallScript": true,
- "dependencies": {
- "@prisma/engines": "4.8.1"
- },
- "bin": {
- "prisma": "build/index.js",
- "prisma2": "build/index.js"
- },
- "engines": {
- "node": ">=14.17"
- }
- }
- },
- "dependencies": {
- "@prisma/client": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.8.1.tgz",
- "integrity": "sha512-d4xhZhETmeXK/yZ7K0KcVOzEfI5YKGGEr4F5SBV04/MU4ncN/HcE28sy3e4Yt8UFW0ZuImKFQJE+9rWt9WbGSQ==",
- "requires": {
- "@prisma/engines-version": "4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe"
- }
- },
- "@prisma/engines": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.8.1.tgz",
- "integrity": "sha512-93tctjNXcIS+i/e552IO6tqw17sX8liivv8WX9lDMCpEEe3ci+nT9F+1oHtAafqruXLepKF80i/D20Mm+ESlOw=="
- },
- "@prisma/engines-version": {
- "version": "4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe",
- "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe.tgz",
- "integrity": "sha512-MHSOSexomRMom8QN4t7bu87wPPD+pa+hW9+71JnVcF3DqyyO/ycCLhRL1we3EojRpZxKvuyGho2REQsMCvxcJw=="
- },
- "prisma": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.8.1.tgz",
- "integrity": "sha512-ZMLnSjwulIeYfaU1O6/LF6PEJzxN5par5weykxMykS9Z6ara/j76JH3Yo2AH3bgJbPN4Z6NeCK9s5fDkzf33cg==",
- "requires": {
- "@prisma/engines": "4.8.1"
- }
- }
- }
-}
diff --git a/packages/prisma/package.json b/packages/prisma/package.json
index fceb9a046..d9788f964 100644
--- a/packages/prisma/package.json
+++ b/packages/prisma/package.json
@@ -1,22 +1,18 @@
{
"name": "@documenso/prisma",
- "version": "0.0.0",
- "private": true,
- "main": "index.ts",
+ "version": "1.0.0",
+ "main": "./index.ts",
+ "types": "./index.ts",
+ "license": "MIT",
"scripts": {
- "db-studio": "prisma studio",
- "db-seed": "prisma db seed"
+ "build": "prisma generate",
+ "format": "prisma format",
+ "prisma:generate": "prisma generate",
+ "prisma:migrate-dev": "prisma migrate dev",
+ "prisma:migrate-deploy": "prisma migrate deploy"
},
"dependencies": {
- "@prisma/client": "^4.8.1",
- "prisma": "^4.8.1"
- },
- "devDependencies": {
- "@types/node": "^18.11.18",
- "ts-node": "^10.9.1",
- "typescript": "4.8.4"
- },
- "prisma": {
- "seed": "ts-node --transpile-only ./seed.ts"
+ "@prisma/client": "^4.14.0",
+ "prisma": "^4.14.0"
}
-}
\ No newline at end of file
+}
diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma
index fc8463c9b..0c35d6002 100644
--- a/packages/prisma/schema.prisma
+++ b/packages/prisma/schema.prisma
@@ -4,7 +4,7 @@ generator client {
datasource db {
provider = "postgresql"
- url = env("DATABASE_URL")
+ url = env("NEXT_PRIVATE_DATABASE_URL")
}
enum IdentityProvider {
diff --git a/packages/prisma/seed.ts b/packages/prisma/seed.ts
deleted file mode 100644
index d686e02ac..000000000
--- a/packages/prisma/seed.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { coloredConsole } from "@documenso/lib";
-import { hashPassword } from "@documenso/lib/auth";
-import prisma from "@documenso/prisma";
-import { IdentityProvider } from "@prisma/client";
-
-async function createUser(userData: { email: string; password: string }) {
- try {
- const user = await prisma.user.create({
- data: {
- email: userData.email,
- password: userData.password,
- identityProvider: IdentityProvider.DOCUMENSO,
- },
- });
-
- return user;
- } catch (error) {
- console.info(
- `WARN: Could not create user "${userData.email}". Maybe the email is already taken?`
- );
- }
-}
-
-async function main() {
- console.info("Start seeding...");
- const password = "123456789";
- const email = "example@documenso.com";
- const user = await createUser({
- email: email,
- password: await hashPassword(password),
- });
-
- if (!user) return;
- console.log(`Created user '${user.email}' with password: ${password}`);
-
- const document = await prisma.document.create({
- data: {
- title: "Open Source Waiver (Example PDF)",
- userId: user?.id,
- document: examplePDF,
- },
- });
-
- if (document) console.log(`Created example pdf for user '${user.email}'`);
-}
-
-main()
- .then(() => {
- coloredConsole.setupColoredConsole();
- console.info("Finished seeding 🌱");
- })
- .catch((e) => {
- console.error(e);
- process.exit(1);
- })
- .finally(async () => {
- await prisma.$disconnect();
- });
-
-const examplePDF =
- "JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PC9UaXRsZSAoT1BFTiBTT1VSQ0UgUFJJTkNJUExFUyBXQUlWRVIpCi9Qcm9kdWNlciAoU2tpYS9QREYgbTExNCBHb29nbGUgRG9jcyBSZW5kZXJlcik+PgplbmRvYmoKMyAwIG9iago8PC9jYSAxCi9CTSAvTm9ybWFsPj4KZW5kb2JqCjYgMCBvYmoKPDwvVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL1dpZHRoIDIwNDgKL0hlaWdodCAyMDkKL0NvbG9yU3BhY2UgL0RldmljZVJHQgovU01hc2sgNyAwIFIKL0JpdHNQZXJDb21wb25lbnQgOAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDEyNjc+PiBzdHJlYW0KeJztwYEAAAAAw6D5U9/gBFUBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAMmR0AAQplbmRzdHJlYW0KZW5kb2JqCjcgMCBvYmoKPDwvVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL1dpZHRoIDIwNDgKL0hlaWdodCAyMDkKL0NvbG9yU3BhY2UgL0RldmljZUdyYXkKL0JpdHNQZXJDb21wb25lbnQgOAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDI0MjU4Pj4gc3RyZWFtCnic7Z13YBTFF8fvLj2BhBBKQgeR3ntvUpSOIuUnUgVUQAFBwAIIqCAiKE2Q3kEUAanSkQ7Se+8lEEhPrv7Sb8vM7pvd2WuZz5/JzpvZcvOd8uY9nc41yVO+5ajf9t58GmtLIfnemi6l9AotGSJq9Ji+/crTmMhb+xYOa1WjRIhSS26AT0jEa5XqNHtv9Ky/Tj0Z6uzWMBgMBoNBxJt/XH1usvF4sraEEkv6Zn/eiuWYscY+uLR7fCM/2i12Nt7FGvf8av7OU5duPYpKsKTf69Mczm4Vg8FgMBhQ/KpPemRD8fyjXKS28nc/gTRli98/pXPNCPdeCPDOVahMzabt+309d9PJRxbUXY5y7xtkMBgMRjai4Z5XaMm22cwHw8hstb9ixtmy2SwxD46MKeOOCulVqGGvcYv3Xb3zMDI6ESn8GZzJ7eymMhgMBoMBwLvOUqOEntmu1SMwVmKhlKkMHq79tFkhze6HGl65ilZs0Kb7x+N/3XjsbhLgvtJIbu3sdjMYDAaDIU/g4jgZRYuuCzbW9LkVJJLWxKgTQyM0vCtV6CPq95qw8sjDyJcxCUapuT6SE85uPoPBYDAYcnh1viqvaI8awoz59nlOIpTmKwv71gzU9v6g6HMVq9rsnX6fTV709/E7CaSSz6ets2+GwWAwGAxpApZLbNbbiS4CstZfch8BhdUY+3srb41vUpqASu+MWfxvZEJSsskMW7yQY6uvU2+IwWAwGAxp9I1PAiXtEMAJ0OtjhfPmyO2TOhbV/m6z0IcUr9HqvSHjZ63Zdfqeyrk+iqjSDrwZBoPBYDAI0TePlRezDObJ++y3UCWl18cU9jZoeK96g5e3d1i9XpPWnZHzd1DNfO3ug8FgMBgMlfhMTIZLmuV9uQHAazdVqqbl1uaxb+anfZc5StRu2+fzqfPX7zl58yWd9X1ZjOVo3wWDwWAwGJQI2kqkaVdldgACD9HRzrNfVwr2UxcgwODjHxQcWrBR32/XnsLGNdCUGe4Y4YDBYDAY2YGQbWSSZp0qbW8gwWKCNJYH+xcMbhSq4J4Ci9ftOHDsnNVbD118EOuguT6S6yGK3gmDwWAwGBpT9B6xqFWXsvdaPGUJtZyf0b543pw+Mvfh5Z8zLLxwqeYDJq89Hkm5CSoYTvFVMRgMBoNBi4jj5Jq2xAtvL/gf+hpqs8XfOrZl3pju9YoEiGsMLFq38+BvF2/cc+LKwxjiGD1aE+3I8wwMBoPBYMAodV+Bpj3NgzfYGxRGQDHWF+f3bFj0848TU/hh5pK/9l6O0bQ+9XzjuJfJYDAYDAaMiLOKNA3vAVA2irJ8uj3X5TYuGAwGg8FwMMUvK9O0ZFxmO78NdMXTExjp0FfKYDAYDIYcuY4rdY1/B2OxdSJV6fQI4lkQQAaDwWC4Evn/Vaxpc9AWCzyiqJsew8+Ofa0MBoPBYEhh2KjcWf4I2uJsiqrpOcQUcPCbZTAYDAYDS46lKiTtFTJTX3mipL/Zh/2IU4tuxzsLKTDr58kTvxrRv0ubxjXLhrPkiAwGg+EMJqo6qNcAYdH7NC3B9DAsbzv87dLnO5oPxJgQ+/LZ3b0z+lR09m0xGAxGNsP7U3VRcYeJTeo/pKQOnse/HjDVpan/HOJOLPy09esSAaUYDAaDQZM3VEbpXSA26XeVjiJ4INaJjn/DtNFI/1Ofjinh/vTKLFESg8FgOIAGanfqD4lMGn6mIgaeSWxNJ7xkumin/2lYbq36qDwbAzAYDIa25L6ktru+KLLZmIIIeC5/OeEt00Vj/U/jSldn3yWDwWB4NLm2qu6pxfr/N4X+33OxfOiE90wVR+i/zfZsaVeWMZnBYDA0gsZK/b9Cox3U2/RoIks541VTxDH6n8LTEaEGZ98sg8FgeCTvUEiZJ/T/e+2FepsejXWtm29uO0z/bdZ7v1Z29t0yGAyGB1KBRobeAQKjP1Cw6eEMd+9ZreP0PwXr8hIsbSKDwWDQxaB+8z+lfy7CN1ruJQWjHk5kVee8cEo4VP9ttmcryjr7jhkMBsOjMAyh0Tvf4hsNPEvDqKdzMNA5r5wODtZ/m808KcLNt0wYDAbDlWiQTKNvXs032ovGloLn8wsya4Kb4HD9t1muD3XnB8ZgMBguhdc2Kl1zX57RnFeoGPV44to56a3TwPH6n8KxGmwJgMFgMKgwmspMPSGMa9OwgIbN7EBkdWe9d/U4Rf9tz6cGOfvGGQwGwxOoaaTRKVtH8ozWo3CeMJtwPK+TXrx6nKP/Ntvhmiw5EIPBYKhmC5Uu+XqwBkazBZZ1bnsI0Fn6b3s1wtm3zmAwGO6OfjCdHnkSd1NW34eO0WzCGHedzTpN/23WZUXkm8dgMBgMPFXonNKP5S1iF71DxagbQ7SnEt/aWW9fJc7Tf5v1Wnln3z2DwWC4M4Z1VHpjU0+e1WlWKlbdC8vL22f2bVz606gP2tUs4jeT5BEktnTS61eJE/XfZovq5uzbZzAYDDdmiIVKX3wsB9foGyaJS60eNzaw3tk1b2SnSnlz5Qz0887cBsl7ncTEnVAnvHv1OFX/bcmj2EFABoPBUEj5Z3S64ve5RsNO4S+0bqm4h06VTsX8/Nqx7atmTxrW860aRfxQT1Y/jMjghdcc88Lp4lz9tyV979bRExkMBsOJrKXTER/kTcSGSMzwp3rrBtGp0zlYHu6d91m7Mn7eXl4G6dmn13kiw/s1fc8a4WT9t1n/QI69GAwGgyGNfiCd1f+XvBA29WKxFz7skvL/FlTqdByWF1cPbVw09fN+nRqVDyfQm7pknpU7Iyi/XQfgbP23mRbkkG8lg8FgMASUfEinF97ADcme4wj2uhNpnXUXOpVqisVsTE5MuLt77rCUub7Cp+u1lKzOde53CtDp+m+zrfF39kNgMBgMt8Owmo4rnqkG1+pwnPNf0vT8qf/3Xk6lUo2IunJw/dwJQ95rXa8cyVwfSfg1oqqtq9zOCdAF9N+0kAUDZjAYjBRJD6k0ftuZw7Oahsi7RusHUOqCl3KtVsVtKcQPSm9SGVeLDGxKiot+8fTKtlnD2penO5lsnkTWkoXutpvtAvpvs81iCQEZDAajxpKMU2eWK2NlN0aL36XT/0ZV5RjNsRdz1cWG6Re8dotOreqxvrqyb82M0X06NatRKjxAi9cR8Dthi/7Io0UztMMl9D9huLMfA4PBYDiZ/NO5ify2ymiJDyXff8tMzvzLMBxzVVSpjFo30qlVGVZjXNST+zfP/DXj0/aVcmr3JjLJ95iwgWsd0CiKuIT+22xdWRwABoORndG3u8jfzt8nOQDQD6az+W+dx506t8SseCe9m3HBd1RyDZMTe3Xvyqmfdn2zfqUS+Rx4aPztBMJ27gh3XOPU4yL6/6iSsx8Eg8FgOA9Db5HU7MslcX2x23T63oNhHKM5DmOu2pKhudXoVArCGPPs3rVzh9dOHdK+srM863yJwysfdKe8Ni6i/7ZnBZ39JBgMBsNZeI2JF3eL833w11NK0HupANfqTIzz3+NMUfuJTq3SJFzbvfS7D9s0qFamSFiAk5eGc58jbf0lN5rMuor+25Y5+0kwGAyGs+iACroTWxV3uZ5SEL5XjbhW22OuSnwn44IASi6HKCLPHv5n6bcftauSx6V2g1sixmXSPG1icHajoUD1//mCOVgWr9yw68jZWy9VhaKy9HGbZ8ZgMBhUKYaO478Td32+e2p6Wzv9uDFrDGcxV2VFaZ1Ap1Yk34c6e66PxPtb4jt58b68WdcAqv9ngyXNGAJCC5ap99mOROJHlUVCE8fcMYPBYLgWvn+ge0VrAfT1gX8r72m55udzjfotwlx2LdMRsUoylWrRfKXxM1aK/m9iR0vrt24S04aS/mfi1+a3k0rHAPvcLXYCQ3P8c4bly5c72J/ivMAQEJxiM28I+9rQeAflypv2fBw3F/MOzJkrT758+cJC/LPrImAZXKj5xujrP6Hj+/+YF7K+O8ZoQuvMK1ZTqRWDq+q/rjQ+HwIO094websuAGX9TyG49CxlJ0Qs31G/u9AKLXoOGPH5hAnffD58wPvNyzs1PKN/iUbd+g8d8c2Eb0YM/eCdesWYAEkRXH/w3C3nbt6+d//+3Ts3T2/4qWcp1doQ/MbIudsvpdm8f+fGhS0/f1DNgZGnvMJrdOg3aMS4CakfQO82dYq6WtQrnzJdv1t76NqtO/fTns+5v6f3q6pxRPPCbT+Ztv7k9Vu376a+k3t3bl49/ueM4W1LOnIYkLN0k+4DPk19L6NHDOzzVpV8zliE/h7XKzZBXl6QTgyeF7W5RvNcwly2yDf9Au9RdEYdGFxW/3VtFUQ8PF7L2a2GQF//U8gz7qySIUBCbXnTEPShFd8a8O2Kg/eMoiqS7+5fNqFfq/IhdGoCtSasaofBP204+1L427G+OPXHtMFtKisbKPrUrQehJonNKiCT9WQaXBRmpRCuvPfr7casu4FwJnl54Lt3KigTTZ8ybUdvvI2wmXBsds9a2obsCCjVvM+EFYceiaKqmx7/98fUD9tWzau6ioKwR47tkfT5GvSfcwQ1y0k6NrdXbQ2ej1+p1iMW/vsC1xUYr2ye1r9lOS1fTFDp5r3GLtp9Q3y+2/z46JrJH7ermsdxo5AQrI9ZRdTl3sdwlxNh/YJndA/msrOZM5X2KrZ3Abiu/uvGKbiduAHObjUATfRfp8/ZnzBwchpbaNxRuQknI2Okt6mSYyKPfPG6Q4b5xcYej4zF5dNIxRj7/L/RxckN54+Jh3CXxOYJkMn49tJWvoVZGYUuHTLqyivxuC0Tc8yVQeTBP8KGnovG27TE3Zuu2ZHdkPc3P4lOkpo2pXwAp78qp+5jHAZ75A/RgubdamtkAr6JlvhHs4upap6ImrNuvpLfSU6OebptIGb/WyVFhu59Jv1aUt/LuR+Jhs8qGIlrxStkWNvBss8OxFlefKG+mDlbQqv0/+vbPqVTLQ4X1v+cSoIeJs8t7Ox2y6KN/qdQ4Eey5MmpWD9UdzM5GoxYD3aLtdxc9WkdLdfgvcr2W3gF2JZrS/uWI1tqDZcaVNh5RmLzPKy1naSt/ACzgvi164v3/1v+sE304rYkKaML9toQJ2szcXtf+kKTv8OUf4Fnh6x3lg6oqnw/4HNYLS8Q+h/UcuYt+VVd056PilMaL+fvMP0KwTKy+cJvA2rQ/Jl6Vf1oyWXw8uTTTV+8IRWEhw7YqDu2lajLA+gIcQxv4Skn+gCCzfZzxotvpnXaHxfWf53XaSV3dDmfs9sth2b6r9OXwG0n4XmMXRQGUOiHSBPZ/pTV9Oyb3CpqlMLnnePJJK2xJl/oQSIAHqj/YYviYU/MfL81VIwM3yfBjqVaooeRPCp5yq2MI9oEsxovv4+P9iKNcv1vdxvYSGvMtzRSq4XNjCfeGrQaI3+kFR4s8LOHRsJNbNPL+WUo1Y6jGm6EaqyLuDrnAdIniGY812jwLsxV+9I3/w2dceMDariy/usakPsAphA90sW9vLTT/5RP6hvSEaPlc4W3oS81dLeSHQebLXnboBIKK8Xj3eTn2wracndOG/CxEY/T/6qzCDoY485OkMFSickk6TsufUiyriCFvtSIw0o8YB7OfVNRGjOF+h/cHzvvRHFnTAS6eijeby6LVvBUUrEcm9zSV13tOl1Enz+IY7mkYTzyZRUtPSEX4io+h3JU+lhiABP1z0notOMVr0vvjxkmJzdI/39T+UU0tbi0/usaKjv6eMa1A9tqqf8pg6ZXhE8rWpHHj77wBjVJKczrClH1BTDUu6q4LdebAPsZD9N//0mw+7GzQXZZ1tCHdEh4qSiND0GfZyXpzdg5X0WB15ki/dcXBb5vOw+qqng++iJHSOvjEzvcV031oT/jfUAAHFR//gRHEWyOmZ8QdRa9j22jaVG+lJ5hCqgzjK3PNVrhCfoq65j0FjR6BLGpDtfWf8MoZXd1S4HDkuPQVv915Y8SPq2l5Jug3u1+V7Q2w+HlmjbURgABPXarypB1dDjoQIBH6b9PN1zgMQlufSQ9IWy0j/y00ouvVacRN9RdSO75wmVPd+KFdiX6n2e2Ajk0zVd8hLb0AmVzby5Ra7op64d0urrzSDO5iu59Ry+NziNglcVSQXxxAH4n2jQ7bQOpUCTkdpZwP4acZzBXZcQfLErnvKE0rq3/Ot1vCgPc/hPhulEtNNZ/nc82sk44shxhBV6VTpC/EQT/VaRyHNu70kXVTbndBLBp5En6HzhX2bnixRIja//RymxK51yVRZ9nkfr8qPuKES42k+u/voHCQcqrGoqeix9ufZmUR31DyIfqhojfqVR+q5nqPQgE/vtx9a1D3Oog7PeV/EX6Z6OH+KrFlOYaHYHpTcx10v4duB1gUTWurv+BSg4BpPL4S5ddAtBa/3V5MYEtMVi/JjNfbZXSHUUh0SurKLxFDqWXk6aLRmH+p6XsiNGD9L866SJRJtaT2PNZxf5WugR/Tk3cjtCv7iislkf0dLKgEMT6HzgWe/RejkdDFAyUK+9QtfbOxXp9xuuEtYdPVzv3zyR5R2v6fgBFcX1GAqJHisC+uORvM0YLeoB/oLkX12hlzNsxD0/7t5dDkv65vP7rcl9QGv/obFWlrr0ao7n+6/TriR7aC5I1tpBRNCNSmL9RedIn8FNKkxyb6ftQmVmOx+i/VzNSJxEODyugB0oVbii3aWypdC/Iu/Jl5dXyedSARGdI9T/nYhWB3CxfkvZlPk2fK68OgWl6EYKn4/cezU7CsiQ/7cAh03B1HRL7o4b8i7vYPC7z7b4OGNvt5e4x5cUtoW5Nf8y11W1oQXF5/dcVU7BNmU7MMteMBaC9/uvyEzkZ274BG9a/eZz8RUhhPtVRzU5Ntb3UJjkp09CO0pV5jP73UiH/NtvLdxEt0L+tylvpmcwN4vD5iaKP9MtpBL84Qv0vhDvrBcP4G1lyE/0Uir+LdB7OBZ8UrrpD2cEgLLcG0Q3cHIz1i/hYfPFA3Oq/eUXWqGys/ODO3JZjU/8lLu5/+lJYMDCKiVpcX/91FZR3LPEfaXXUXA0O0H9dINGo6TI0HGqu72nNtu0Ypyne/g3oGkW1KdZvJYMUe4j+e3+oMqR4TFPRkM3QXPHidjpWmbEXmurX1dUqZDv8VAqZ/keoHTZbppGcas5NZ+9dQOJIUGyVoJ6qhpdotiiI14mnO66a++Lpf2msa9+qrAl9BGCxZRl3/eQtzP6DdUDaB2iAaoRa3ED/dXWUDwBM5/q4XnpjR+i/rg6JS1RyE5jRykfpy38Kx5ABt+XxWaDe74uP6aCUL6SH6H8PtUc3bFFvCRvQXXWX/6Q6yWNLwzCQ1h5zFpfB+TCI9L+gUncLO+bZcD84f/LsqbA2XB4ov1gXvE6TTuJ2V3o9uWE5phLLUPHtHMK16HrWMXNvnD0Oj7nxrvPipme700d5hfHnDeniDvqva60mDNLBJlr4j6rBIfqve5/EK24ZxKJfJ9AhFwUk9lKyvFeazikEPncb4LsZj9B/Q0flB+WzuC9wB6tK4ahyHOLglSQ5v9NAaGLbALe5SfQ/bC+FlhmHQAUwzz4K1aFZKqv/De5qVHXSGGpBgf1wHqMPXxNd+yHu53Lbvh1SHTD6/ZH75H7CfLnWjMg/mizfoHAL/de1VLPMG/tvA2e3n49j9F83n+AZJUKijE3QLhVVwq/kg7Tq2pyPjcJPcTxC/8s+hF0rzXneXnBVTCQTMg6SOYLk3UV79SeNlz1g1RPofxDZeRwccV1gLdOv1mQCnobcSUT9B3TdDnlspOUE0B5XwzpRDeVx0m60e8EYVsq3/T5ni1XfHrM8Y56QfkFjeXuUcA/9172r6qsy/9XQldYAHKT/JUgyVmAyw3HIvUDJoweznDTISSu6W/92EgbhPhZP0P8CxAHo0Czg9JSBe+nYXEwShKfwVjqVirD2AY1D4Prv9TWlgcpDUKAOv6l0akMxV6Zu3+GUHf/4nKGTFEB/AVeB6PBfMPZc3xD7OlEb+X7BxP0B58b9Bk+lr3B4rZZ/FJRwE/3XtVfn5htzqL58HY7CQfqva0zgAnxQzr04xx5NZltZWM6TBW3urt35GNNYjAB4gP77rIJdKYtpUFbl+pWU5pumbvDn9hq2D1dNDOgsAlz/e1JzxT8AmQB30m6Z7r7MMqH/EmUB28HcFK/PK6A6zvwm0aUf4X7yv9vlP9dJ+YYf5jgWe8/CXJQ5SChOK76KPO6i/7ouKl19LFs6Kg6jSRlH6b/3BvjjeSKTjT2/uuNLEHbnJ7i3dloej00ajva19gD9f4eaODzMmov1oWXSdg16DkVXXGVce0lMbeUbANf/EiriIgiZIO+cUFxD17Hp0isjAdO0nSOk8AzsnynBFxjjyS2EV1bG/VyiOKmr3wZ0C604RnvghsuzMx6v0ph3CnAb/dc1UxvlLfnOKNfYBXCU/uvqwx+OtZ2kpaAj2jgU85pwA57qrKlqF3ZJMmJwCXF//X9dfTz4LDJ9Rn2ohN9LZxPQ+S6/otTgYB4BvkSo/ntj/ccV8Fx2AdxvB8XqBCRJPxa/5dr5HWTxgMI5QJx75HnhafGcezBXvmxovyg3YHy3hmM0L27l6k5GuJqq2ve1WbiP/uuaq+9n7k6spWVKSSAO03/db/BHs07KTsg2RY+blB1QB99aVHzYJHjZHlWt2+v/uCWw60BY2qRV7U/HuS2d+Gagh5ZH6+/xtrzKAPX/5VCqDdssFwewLcURngDE4TguPj9QOFgiz/3KoE9Eghy4TYrBwisH4AY0v3AWQn6Ub/OLShyj63FXfZ5xvuN7eYPUcCP911WjsHaZdO4tpwcEcJz+F4C7TRol8rDrVztoRHoA5gAWprX822ymJoh63V7/V1H1zjqRtqf5NtVJ3zbIM/OlOeRAs1a2EUD9Nz6g2i6rzOkEPbVoyGKko4Tpxztg9p/KBZJASCjGYQzfFOahrINzOjvJSRVR7J58k7nOsr1xF2V2fgYNX6EIx+i/3j93nhzqZ97lTlG4Y8vZSQ2Ik31SxXH6D4lLkQleYbwnKXrQCjD/ABmcBTsiM9ZpRDYYt9d/usO4pDdTajYAEp8QYGkt/8j0n2vsZZaCeYzcIQCg/tMGEZ+ey8caVj1a8sf5rgZB/9DsIEvUJMQX5103THBhAC5HYFQJzlW/yDf4Fce52he3ih2bGf/qbcAjoIb2+u/dcPKhtDUp45nZLVVuwIdTOWecMtLrpzrluAocp/8kB0mnYY28pblXj50hgJsCLLhR4Lh4pdXt9Z8y/6XU3I+yzXPyv8xulKtEYmos0won6b+lqVSjgrUIiZXBQ8nDB7UduGmN76ogNMCsU7wQ+lYMw/3cv+RMZevLj0VNnH2FgL9xVy3O0MZgiu408mir/4ZKo//hxYyL2ftNdTXr72G0Vv4iNw2v6CxXAAfqv9cx8BPZihub1XXcaRSb7WUduVvSY91n6WL+XFQ1038Bb+sKUQj8xyNONlhXEYr+9BL8KzNXcZL+205LtasejVTYaJJRWZ+yCAWcgaOGqZ8aDRmNsbpecF1NXPX7OLX7ATxRbnHymwzAXRSZmYO1iwMHUtrqv1cRZCTobcVUCK/3cmqTUet/3UN9neEM4ED917UFf00XMc53ftjsl5pwRm6JKJ9jun+bLbGYsGqm/wI2e/ejPhibL/PAvP6hXSOG76X7Bmfpv03qcOJS7ao9JeWc67VCu4oRPCkr85FIsRttM14QWsAXd+L5ETcKUwP5uDTmDvbL89/GXGTsnXGF4SDkAVBDQ/0vsxizIxS3SEUUB5/RFFejX+z7qT0FkSXEkfofAV5NikVn9/Sa59DxqM22RNq9x89xh2NPCvcZmf4LeFSIhkcOn2jpHHOGUdRrxBBbU7IhTtP/5fjpU34C539z9IP7zwkcKbpLPAv9IPLbUMW+QMl3I0UoJhrTCsEtfYKp2jqBc5XPGfm2/m6/3B+bBfJcRnwgA251QiM003+/tyXisxq7qYjk3I5uhGnzhq6FQ+hml5bBkfrvA4+Sijzypuug7KkqR+YIGHYBjT6WDwR1M/0XslkDm+J9Fy4FSOOAWWKfP75/7+a9B09fJpANZddKLgA4Tf/v4CfivWAWLC9Pjaqb7t7iU6L9179feRYnu4yzV+pZhGmV8wfLN2S5IjiMRxtMFqS0bIA7KrOPGykVEPoqrq798kG4x2zM9DapiQxsEndu/64z1KJIctFK/3MslpymJywWhlqAY6hLKYR5FrHnNnzVQnmDSHGk/us+Aj8FpFeNl9q85eScz4lqSAaBFx3WDvOq8oLKmf47gsNSHoDeZCf/rRd+6Fz7tdRtPu+A/GUb951HEhwvuaXUI3ea/lvb4JqETWvL5/lX5fm+rV4F63affEyyw46TGpX7bKFyYyQ8LiX1biQIwJzHvMFfUfDCnTF6xc2AFHBYvqVL7aPICFweW+tvGVf4ikO2Jlz4Ni0rgb6lFjHPNNL/QrLrIltUJHPMu1sDFzDL2eldyhcJka9dNQ7V/yLg7ZIDiNKGyQqfphpm4Bc4DQ4TOvPNt0W1M/13BE9el7jRHiSWnm+uJ5zC+3U6CO9GL0qNRJ2m/7bduHWJnCBv32PF0KULDD/2CPuB75calPWidmtw/pILhIShDsZDUvADG4p7Ej9zl4q7yncI1+06F4J9Pa8y4gMZpoiEbVfTLAMzZCsjRxv9DwN4g54oqtx+6Hht0kwZnyxygEOgQ/VfB96hjUPIbh3tT1qLeYYf29fXZBEMgWl0uLh2pv+OwCIRitqbwM08cUYF1EAyoDb4DFFyB0T5TJyn/2a0p07K9wnZG9mOj+JjKPbWUnSMNZOUL4T+LN37A2F9X6JFEgxG7wGd5l9VDbdTdIEbOiZMfifaMtB++Se4qZh1SsYVbwq9CSMHc/Y5hsjWRo4m+l/4JqTqTdKRLCQx9NIoBNw/Hqf/48D3jkgBtFjBI7Q+u35q56r5M+at3n7qWqSSlZrfsC9BsX+zyWgi2PxN3oocnDL9dwi/4u+zL9iI5Wxj3FdkeA/qFLtL4qSS8/Tf1gXTpHKAtb6XVaW/pMBBRxCOW4skSug/U3AL1qibZ/asXTBjzvItJ648VhI4+KjU4gwetPuwVRD75y9MpQm8vReArx5nM7PsC9xFpzMWV/IIjzbdqct1c5gpXx0xmug/bDvI+qeaQI4V/9PgaXii/jcFK7B4i686+XHiJzNalcmf8T3rA/KXafML+QlxYyPMvRSOIbZlM/+3YGj7hnXr1GvS5fOF50G7IVdaorMhM/13CPext1kIHopiplSw2lJ7YUbMEtEInaj/P2Ka1BNQ9m9ZV2e/CmOF+9SvpKb/Zcg7iVdLulQokCND2/zylGw0gfxQrxE3CpIkCP0FJfBOpOl74+YKf3MlK/CSbCNf2pcyQ7ELseb/pV+RQ+hzcK00t1WaxAXWQP99vgXWbfpITTX+c7TIc+15+l8GO+wU0ldYNAhwuoVHzD89xGO6HL13k/YQf6NHhr57Ce1YH/39QWGeidDOy87L7CE8nYFLFM303zGUxN3ml1AL8SOln5ffGpidvfgpihP1fwvG+R3yFfxP+sGkk3PQQd5K9O9SEVumELY++cgwxNiszV+R8kV5PFKSzx0Tff8XXrdfCRfK+BkvRfnX8iuKk+1Xj8BOPc5nuB5+IuheIivwWlVai4PYGuh/W/Ce8XMVLgApatCC9CgQAM/T//zXoPc+Sli0Fdnuv2VLdXR3GVANl0cTQzTaBawRmRVb4qjiiGhCYdXXSZSxbiyDPVrkkfr/YtfcbwZ/Nv7X/eBxoizW+3/N+PLjkd8uO6FsiN4Ld5tXgAZM3eW8w3IuBBl6URFrQY3+W58e271p+6EbCkOZXMfM4bGxZTnIJhBOJ0ftjXa5eZVf4kofwl74QnN0t2Yot5RwGwASK1yAFzr1bySvSfqVmArNn3IvKyXvi3S/QNbVNbBup7EZCQ3rCII3xAoOZOMCEqiCvv6TxIvbj15nhVJ2G3X3NM/T/wBwCOCpwqIE2YNS+rQbA/Gdru9QshPCvyGt/ExkI3Y+zk9KV3U15tdoOddHQjk8Tv+vrOlfPGu041Nl2Hb1+TWST8/vYpcL/wbj95GHj/4Fc5f/g7bhY/nnnmMHyNRorAGF+m+8tGZYncyZq1/ZPgtOkbsyJ2M6htOAsggnHwx1V2d8DdZJUpdNJGr68wn4gwT6TueIprgHyPePi6FP4C3gXdQL9zO/zTuzJr/ukWRPVZwb/27mpV8RJtwfmMkf5flCRnfE0Nd/wKpIFsnYo6ww/D6k/Tw8T//14MO5CwX3XoxodHVAumcpDumcsjCijgAYiGYaD+pL7HT6VryAKmOeIJlazMP0//xbuQVLHb5FflAZQH5voxDBVxRQbAmpD+gO9JsLfAosPxUSzisCtN58G9sfKNJ/6666oYK19OBSfxKbwQQmgPw+ZNMr2PEuNivtg4+WOmtf6CVJw6+WlYz9HraMxJixspQtJG3QXVpz7jWlcKf043huSXnl/Zpm2z8efNTa5Iy7EKZPPiJIUlsM+vUTQV3/C+OeHpI9isM4ZVANE81ZKZ6n/7qfoPcu2OUzrCJ4bqa5cnnbgoh+25MR74HEz9iyXWaiEzpd5EuYvFE64qtn6f+FQcjFt2p/KT9aaznUDbV6om9IGLL/BPrDbwccR/wF61RagZxJ38QVV6D/CRvRSQXrbiYcIX2DbpJ8LHqbbQbo2WRSbdlz3ia2GKIEENvkNnx9J5IEudlNrB5TkXbO8uwswFU3m2dK/hTpC/tkog5+r2B8ek9XS9C3xDYUNJ3UzQIGdf0fQPQpW1uprc//U6pugB6o/4Oh976T33kXIVkM/l5+yuVL8gUfF4tTAMnIcqPs6SBDB8Ev7mVrudRDnqT/q3CRrnyUHOdKZybuRK/fWKKF3Wvo/ea5sNKJwC1ub1AcgD9wHQK5/ie2xu0t+XYjCNyfwt9oMxB3ggfYTTEkhhKbbkj6UpBEgF7hL2UpvT5wb5WCVRigU9b6VZSZ5Lrca7rgfuSx3Lw/urqyfUGUPZVpGD4t87n0jjNQ6Ps/R9ChltHC210D/SdMX7RdYRgnO/p6WygGhfFA/e8MvfcDfP3rDH+sFtyJJB4Bv4EN2hLEP+3G8O0Iy0r5nkanq8c9dBT9g5STUzqeo//xQyV+d28rW2l83kOigX1JVhWeFEOZ8IG5kJj6yT/0dMpDFgCu4NIREev/FomsZ/qWoJApmTxAW4H8YC2/EGZf1SMCYdkpRLBftFU6s1MGwwmGQiKPZRlqIK0c5EptEUx8YJuNf1pN3n/0R7uUfIG/6sP0K6oIfh+XBUsbeuDglxTa+l+GsP6oUR+o5kOKKRM9UP8bQu/9CN+fZi38qW2D9SlwV4QsrxgOX8ML/weLDVLEvgV8OAzw4j1G/2ObSlpTlPMptpqkzaYEziSxyA3nd2CFd0g/KS7o1WA+CbhNZlL9XyG9WF2SKKAZevSGO7bGwzpXRfp1EdPhbT4CW603EHj57iLcAECb5p0jmIFbqdrH6yAqy+617LY7C7bAD37PZfTxgrBEScJkbIU0OOuWCm39B282uygeqP9lofd+kjdpDoPsJqZzAHqMoyA8c1O8KB8Tfg1NyPkCqMoR1LiXUaAv6A48Rf/ju8n0mx+TLza+bCFt0jAGbstcCWHA+yissMyT4lIV4ruGm2MS6v9cuS+sMcn5d/ScHDaEMP1RnVonF3oP3OQX0uNDOwHg+My2WLIkMkHIgD2JXCPYI8b8rEvestHn7tqXE3PhL07OiPBTTvD3zYI3pP9drj6FUNZ/X/mQSK6NB+p/Uei9n+Hpfz/wM7NUB7elNvzEszAKfAR4CzmpObJuFPVSZ6XGOXK+ixl4iP4bZWPA+KCjpEpgEWdLEqAnOL9UD1G+BOwc4R2CKWEgJJvAMUxhIv23rpNvTXuCFRJ0fAxoqo+kn3Kp9bvOoA54kmCG/ygLQ8Mz22wD5a1xKI+M188N/ZsX+whX8ZZc3pLbzrJ0swvJ93iXuFUZazHj+H++JDyG1EKL2D+pUNb/EhotUzgMD9T//NB7v8iVQa+d0GKWTwga8yXYPXSq4E0Agm1nMJ1ggfODJNNfDaDv3EP0/zd554jihEGbLd/K32kBeIxX1Pm2diB3FIv0zoYASKRSUwS6LJH+H8kj35gAgg23KkgL8Eni08UtqewCfAzWJXREDzTdwZ3EOaLuujOqtfe4YQQx2YFstge8vVHDVpl2WabYL34Tf5kpY03El2/P8p6g4V5kWa8JoKz/tRUEaHcpPFD/c0Hv/So3BXZBcMCevSSNyXcRanYP3wHWcA5a8CLJK/Re2ws+FfIM/T8LcbntS3Yi7SokbzY4eq8NtZgAizPzH9HvtwLEJGa1hET/oyVc/+yEIBLvYKiLNECUrPtO7zDVvteYbDoIoIcy0sEF4BNTgsQs8gTyPM5AqDrWg2I4z1AnuWXMw/ZBRU6JRaaJGdfk4i+b7wzU8XlHszSslPX/LSWZnFwJD9T/3NB7v8Sd/9cFu+F2JGrNe1CzkfxZagloeFprH6L2kEyDPEL/o9Fn0AUUuAW3mGKzAsRmGNjFDZXb9RCo5DRIQ7IARZSajS5LoP/JvWHNGQEedAkPh6cD9JDMwHp/4xB4NEAkviCPw1SGyRvjUB0cVIgkCZAvyqqZE/MjYBeumqu8HcIQuZDqMfb1GS+Jn+bVzFFCOG9j4rkwsUE42elQEijrPyQDlUvjgfofAb33s1zFBWdaPUu4kHgcapjvL9QM6pIWCZmKKsMj9F8yl4sdoljLP8HuFbu6KgSRGMwP9v4J44ng8rxy2Y0OM0ug/8eBqWpfA0fcaIIsX5z4ILRpS/tCwskmAQ2g9Vwhs2vYBDU8nsBqW5SBPzjLf91xu/pR/PHt/2SecxJn/NpJos/4LFNsqvLWE74WNhyaUE8BlPV/kHYtdQweqP/FoffO8/9fAiyUJJNPXMTb0LWsibxi/aHaIeuIphxP0P9I+TAHaZQgWMkzAeOwFIXqG8KjpDmoYAIuAhGGCQCbl9B793D9N9cCtsYLvIEvTtWdSl6yJBtpWJ8cnFpfqTfgJGgtYwgNl4DOeH+H29QvRpSP5xzvLITdf5nFe0D+Z2UaxVm/l1r9T8w8EhLM295/IsyOWIheZi4RlPV/lHYtdQweqP+gTc5UuOf/9dB4JIdIk3BEQL17+b490PgX1yg8MRweoP/W76ANI0jZuAJo0h8arPtTcVnIWX2bbS307jLoA7AZVQxZFK7/AN//DOpCB7lo/Q8gTLOZxcNpDYuQJ9PRGQ4D7VvKkpqG+kJegpsMRXkQHbBLtQ82QPkz/nliuTcfZff20C+UeKOZXVUgb9iXLPTtCIAffCaHsv5/qmFTHYIH6n8z6L0f5MT/KwzticaTPjD9r0DLFt4hGOiPYCaFJ4bDA/Q/GrxcMxJq0hYLcG5PB/rli/XfIHvgOo3W0JZk8CbgPKqlBrIoWP8T4XsSXreBNtH6r1cefcV0d8+okoQPT5cPOpTfTrzAgI3CK8AIPLqbQnnU9L6v/f/1cakHBMF4CtyWbpKJk32yk9SF6WMXn9bXeX9dKexQe5OmzyKBsv6Dd41dFQ/U/+7ge+f4A7eBFkKFapGmDDQGANcBwAuaF0QYNoAmHqD/xyGp8dJoBo7YuwV8s02BFsX6H3YfUi5e6Dkl2yDIZhT6kDlY/2+JIlnhWQS0idZ/XSNVx8TN/35cjegBlgVm5LBAN0DsFIGehUCFikDTG/Fwbti3PHNhBzOb+Esjn8jo8X92BySD5K/7RZ0UsSm3l7/VYa0oaLbvdUxxKlDW/45axSlwFB6o/0Oh9/4nxzMMupFzjfwYsf4M0HYHTqESwDJW8FxUAR6g/++CG4YOloICsVqPIQTYPYgtvg6KjneZ1JetISR8PfroOlj/JxC0B5r9BqP/3sis1nCs0ZdmlEObRlEfuEt/C5KNg4/hX2CTh8vbygBxht5sPytkwB6efM73bskvkx0jzn6gwHex9KXGDT0mCE5QmD8XtNqHIGmKAijrfwPtTio4Bg/U/1nQe1/MufcVwDIiX1UAULHixuWWXEjjQBSMgBT31/9n8OEa3JkMHv5RdxlmUaz/dUDrPw+m/0jGKojH/CHkrUD130hyxq4N0IMfo/+6vvD4mjgsBwdWAvoCdASuTG9QEGvoA2Bzwc4VYYhHe7Ng1r+L4JzszN15ZvRzZBrESYXWWfb5iMbDx4Rhoptrk/cvE8r6X44kiLUr4nn6r98BvXfO2Wkf4PDbTBTWIwOpIzFcfuCUGQe8h15qH5cU7q//6+EN870CtBlDEEYGct7OhtL/Nk4MLBKFvBWo/p+APx2drjYwni5O/8PlTqZDsEQd7wUaAUBdRJRMEnIAX/hdqMFeiMK/ZvklBB3AVbCdf6RELk/Ts9JZl+YChyyz01XQan9su+hAWf9zwWN8uiaep/+BYPfR0fZCwadhRR4Kz6pAqAncy1/EKbMaVsRSWO3jksLt9d9KEoYFugK7gMDmDJhJsf471bEIuYEP1f/pBI9HVxoYUAen/3paR8VvTawrv2j/C9AYQUomO8ClogSgAyAqg46leNa/B+LsJwm8In+S2cL6PEtA9MDBLpfNwpWSKRpvqNPO/7dO2+ZqjufpfwTYf4STOD0fcPJ3nPC8dRoFgG5DGzhlgCmeH5HvNBLg9vpvbCNthgf0p0wScAGYxEGs/wTZA+mDDG8A1H+ycJQFgE4XOP3X+dOagFkTzsqeW4CGKygtZwgFMAtgIjoVoogwxA9tSdZ/c+DCkicLQlFVllmOP2b3r+1CHI3J9kSY1wkeCFEhtPUfGWNJgsTdW1Sz9QG95+F5+l8OHFWck8G1CHDzdyPYnZyDNzC2wD5OEWDagOPqQ5pL4Pb6nyB0LpYC6ItuykdgE+jfJtZ/4MKBNiBzCgH1P4koIVFe4P4pVv91b0EPygA41FM6vy5wUJ6g6EcJXMlIBg4uSok90+LrZP13Ac78Uf5+vPd66daYu2Vd6qsgGNNsofoQ5MxUBm39198mq/98Di+1eI8En1SSx/P0vzF4BamYvdDrMk6umSxU1KR/gPdvLxEMXMTYRiWrGQ631/8YkuNdM2E2H/rKm8oCuIwv1v9VsILagAwyD9T/OKLQN7mAvzu8/hsWKr9PEZYrkv49wB/lBZInkAUwlKyxprypVBCnoE5khWXGhkh5JDgNUVEmFN+FrLN/ATIjBRQP+HGGdPohmh+no63/um/JmkySOxaJvhFQTWB4nv7D8qalEMOZy5cH7kOSnG2yMxtm/Ja9RH5gpJGVlPKao3F7/X9M8niAU+7zJLO7XjCbYv2n+iMn5WPEnUD1P5roQGqwav3X5dyu/EbFmOcUxFcFjEv7B8kTyAKYBNgEXF9BxI/Kiv2jxz0yk+C4rF5mPm6xhyx5m3z13yL8kZcG54NQDHX9r0aUAfiB2v7aayzd5+F5+g89bW87wClUCbiKiA6NIgcwIsF9e4mCoPAvNtssdc9KBrfX/39JWgbU//0kW0C9YDbF+g/L/qcRoxF3AtX/KKIVKQr6rysEjcoHI7ERtkuEBE9IYTLJE8iiJezHZmoJsva6eFp6JctXCHtqco3gNF5rmcmt/XhNQWj8dA6HBP29ARoEWQXU9d8b6LeRhlnt9L/OLsrBET1O/wuDH9BUTqmqwJ92N2y9UvSAGX9qL1EUmDp2Kr5SCri9/i8naRlQ/0Uuy1L0gtkU6/8pWEFtmIS6FaD+vyCa4dDQf10VoOs8kFcTMOkL9cCuZQTJE8iiIezHZoa5tIoD01uztKcobv/4kmBpy0/mKLU1ayziq2ARxizwt9T3J7dBDHX91+UiyFZ0F+i8icG3D1Cm4Hic/n8MvnVuuL3qQJeKjora1BFmnHPuugQkUbsN01NTw+31n2h5BKj/60kErhfMplj/VQa2U8fPqFtxXf3XVQUesIGyCn3Gzg9Y/EOSJ5BFbdgCuhnUBfn8KSoYmeU4OBUzq49tLLDSSEZuDmS5wnRXELVngUB6it4it0EMff3XfQaecZoUHQzNotB6+pkRPE3/fTZD7zyGe3S+JjD6xpuKGgXL5WqLtZd4HbgTpiTSCBwt9B94sIGO/hOtxAL1f7VD9J9GXBvFzEfdigvrv666XIZaQnYXQ9USAizdg+QJZFEVlifc0hliLFT8/fyR2dMXw8SsNQlD8fpdlW5KYlakx3AFYfCelOLX5gXNBaEKDfQ/J/Tjs/6qphqvZuCDbQR4mv6HgweRF7hnfWoAvVeaK2pUY5jxaHuJUsB+0f30H3hem47+Ez0eoP4vI/nF9ILZFOu/gu1UeixC3IlL67+u5FW6nuOnUHG+cgALI49PyFIJpv9mUPiJaqL+LOvcYI6jaMPW+cI310+mKVmhiIM2gZrOZ6pgH623+lDOADTQf11B4GD9eiEVleScBnRRJ8PT9L8d+Cvawt3sqgZcv2qrqFGtYcaf20u85rHr//dgN0ZH/4l+7UD9X+oQ/ae7pU3IMtStuLT+6/IuVny3SI4hshh4A8v2FRcFAJyCmNvLm9LppovKZbnqdcfUcyNCYMP3iHRLrFmLoV1gQxcetwWpqwrILDZQQgv917UGRbF+UFzeEg59wY3aHI30MP03wMNHT+GWqwyMQw5afBPRBWb8kb1EMY/1/wN6y2R3/QefYtGCFahbdG3913mNAudvBPEPIhQQcJNwiLgkgHpA/X8LYMtP9CyM72T+C7MB91AYik/XQ+Z292Tu/pdS4H5h/J+gtmWOyaSrif7rWwLm5knK1o7TeQOanIQUD9P/OnAPiXbcchWBpzh7KmqV3EJaBpzUHoWBIR5nqnpacmig/37AF5Td9f8YrKA2uKP+p0ygdyu/YwTrxaG+gYeEvyR5Alk0AZ7/g8hIY1GxhxlRKw1T0GYtokRi+aKlGxKXuaEQsAXUcD6n+MMr/f8U2FCCJvqv03WVndbcryNvBYf/IPLgCvLE3Tm9cxpJgHSlOE7/vRaD7z6W9/MuC/StUHa0ZwLM+FV7iQjgMvlyV4j/E0lgsizsvrK9/u+HFdSG5W6p/zqvz25SdJA2fyp6CkCnXKT7pCwdYDuXpoYAW+IYaOMz/lMe46k3TRTVUi51xZ+ZcTB6KFj9twjuIuQSuQ1FaKT/+uoyPgD3CZKGCwlYRjHgbzrWizPfrVw4WFP1yMJx+p/3EfgJLOUVLAFcbydKbpYFMJnfMXuJUKD/19+uEP/3FYHJ7rD7yvb6ryCXGj2WIu7EDfRfpy80migamzQJImcfoKP3PpInkEUf2AJ4cmV5Uz6ic/uRmbMdTCjS7SIbATIrztbMfYhyCh65dbGgwfPJbShDI/3X6YptkXAhM/0eIm8BR8lddB/B46NLeiO8W7TDYfqvh9aUMrpvwStZAKi3qxVtl5yEGd9hL+EP3O857Ar5f5IJTP4Ku69sr/8O6xBRuJ//fxZh35+ltlZ6QthpA4PcPCR5AlmMhBlPKiZvKofoqc7J+E8D9Fw9oZTIxvcyw5FdGdN/fyWr/9HV+JUBYx9TQDP91/l3xjqgPGwPTNqMov4Dmp4RsctaFM7pgD1/Lg7Tf+AR2lTu88N8hwHjrexSkm83B3BxYY29iB44ZLjjp+6JSQPUfxvBQ4Gea8/u+j8JVlAbkOeU3UP/dbrcTXdQUhOz0JFvCaycNTfJI8hkDsx4IsB4B2GhzKDBwYeRNl+1EJkoK/PTj81chuijZLg1i/8bCqEcvkEC7fRfp8s7+Qrqy7sxrYB8WRxeHYDiAeDlgWmtNM0Xj8FR+u+1FP4s/uE/iKATsGKXpBOEoikFdC6YyymzEVbEGKbqickA1X+R6zCWCOA5i2yv/+L4rQ7kR9StuIv+63SGWj//p2BPWswrQcf9PbBcPZLWZrIXZjsakH5CdAjqQUZv1x4t1lPEnzTGTTCLLRn+AlUUBP6z3RCo0ErH+P6noqX+6/S5/yc6t3OzZ6iK6bb+M2pb/9c/LRzo4Il/Bo7S/4oE0ZEFKc70wHxrr4SHZCE0Af5GxnLKiA/wommt5oHJAdV/+MmW5tDZQnbX/y6O6xLFjEPdivvof8oIIGe1lTS2ASbyzX4ALPYBWWvTAT6J4/KWigq/HWtG2hKMl90ecb9bQKY1mWf/fZSs/pv78yt7R4ENpWiq/yl41xy+8vDttFlO4v0Ta7+sS5ItTETOiXTkP3b/t/U03SmWxEH6nw8YWi6VF8JVtJ+BBVshq5amP7Av78Mp0xvYnhUqHpgsUP0fDrY4Aipr2V3/m8LGjNdHaUFt1K24k/6nUujDdXfUDqL+458BbAEcU/yiYJ5VEdikX+RN9RKWuZrxTr5FWryVX2xCLor6tow7HKBkq+WuIMsgMCUIFbTW/xQMvoE5g18rmSdnoJ9a7+wFVGYBcdOL+jpn5p+Og/QfujqXyk/CwtCh/UoFDQO6/9ve4JSpCiyTpKUDAFT/18ibygB8RDu763/ll6CCyYGISrXB3fRfp/MKbPGPuqCy5go8g9WBIVgPKphrTQM2qbu8qYXCMt+n/70wMlGyqYv4g64nM/qMrpl+XW0l09M4/vDS+zcFNhTjAP2nRv51FOQ/dkMPVCxrR+IY/W9KEB85tpawdG1oSUxuUAl8gX0cbxs9ALqBqWivEQhU/08HydtKozi4v8ju+l8IGABaWUIqJbif/qegL9pj7mkVOwH8k5DFgceLX5Gf9gqAJnwoIW9LFDs6o7f7BmnwC4QFOUfHf9JnHXoFWX9F4RHaO3Sny430X08hBoj5BxUnD2jhEP0vRjLSPyOqyQ8odTZQ+G0enYCWjbxZAzQctrJgYzCg+v8Y6gAomplgye76H3AbVlJZQAoluKX+p1HwuxdKNcbIW17LAT29MoC4jdWAjrFR8qYqCHvCY+l70JWQVfyDmNDUknGksqY7/OhHKlldMVbi1RV4SoEN5biP/pf4V+29Gnf1z+fsu0jFEfrvLwp5IQUiQzf0aS8ijZnkuxdoeSOv2EpgqX2KH5k8UP03AQdFrwOD/9uY/us2wEpedNjGnvvqf8pvsNaQ3xUEqU+hCc/OemCpe8TbMiOBI5SD8qaEp6Cs6bH2vH9H2Ysrhnha/8k0YnP6dXVgTRa0hr/eYFisxIhy3Eb/cwBPpGFJPqAi5CBVHKD/vkR+qLcQnSbaN0bMTXFYcGlwETdF9OYVGwosZVJxuFQOqP7b/oLZGwqfhmV7/f8IVtLWiOQW1eDO+p9G20Px5N5qfNfW/tBipG7CBjnJzWSerKncwsn7+XQvtCooj5KErggLb8nt/tdNuwx6ZorPcb5D/FtUDmrCcRf9f/24uvuMm9NYFNHZWWiv//pfSH7ZZtT5nPbAtSzrIMK2fQVsmpF/tLA19IexS7sQwPmh2/XJZSHmCsKjMzP9fw1W0nbdUR6Abq//Ol3J/y0jTaL+K+9ti07W4ViMawKGLtD+C/GlCHhTWGRa2p+9kGq9HiES6Cs5HEo7vm/4CthkPu/z6vJz7Oq/2+h/mLr8n9ErXWLhPwPN9d8PE9Uawz1U9OOK0LXpJLJHGwrtca7xPfnLQ8uZyTwAG78L9wjJB0x4liKKgF7fhySmfbbXfx0wA6Tck6KGB+h/Cn6j7hFFrNnGH11DHQDi8hC1KhhqF/AgRJEj66f9uQ1q6HIRcfRP11VuLJJ+BqohQbQVO3t5vY8XWcdNAffQ/yKq0n8mT6+qKuoAbbTWf7+F0HXqdCagevBgkdcsDiKPOy9gWE+bbS2/4/S/Di24hKQ9+S4k72kOVbA84P36J+IA4iI6kXQYTP+hDiA7Se5RBZ6h/zpdzjcWxAMfbQon+Ef5gN+IzbaD6Ajgu9DFvkT5LlIY4vdC2vfq+zfCWjwqcFeobEd4InXJyW8PsMk8XvLDrjeBhgOlhlvof56DKu4w5g8Nd4QVobH+RxDuQ11F/zShmWlsD0nCe1fDJoUQMkxQ8kdoQTNJZumRKYN706zCsIvDgAlPU/hLdreJZPWf6b9ONwC61tyZ5CaV4yn6n0KpNeBtgBv8VblO0JmG9R2SpwCOXCYffqSQYChhTY8QWh61lLcEFTykm+xxycjSOp1hmqIjFb/wvg6fI0psqMId9D/vXhU3uKG2y+z7Z6Kt/jc6R/YlGt9D26kPtrAfHnPHGz5KriooWh5c8gZ8wNcsPVnnnfGgMAa574PbYP1Mpt/PfwhsKxWm/3WgyyXPAGsvIvQV5K/h47L635M8JId3ta3ATuM5P1R9aWAqD5vtNHwJ1nsR1KgNGZmRhzAK2rU0f2XvnQhjV1CuzIEX5VsxTBc2QpHfXhRv59ULnq6VGm6g/yHIgxogLCfbObv1CLTU/+APogmf0TlMCh/9LbCJT6Ct854ItnlT1G9CIwDYrD9D+9ziWVFGTjUCuAGEgLclUyYF0qsQuaBBEDNg+p8LGAHIZltAeiRVpwsYnDiUMHKkq+p/FfPZ2uQPIMdy2Ew+lv8z8Yb7qy0Fp1prC14FvyM7qAgSfjXz0p5NK8RwJxF5ancMoBk33z+jKK6ipRuvqmrgwRQ9XF//A5YrvrmnvTVNB6cUDfW/9B6yrX+bzdwAZ2sc2EZUTWDzmseAbfYRFQZqXApJH8Gak2O/vRtI3FxS/noS79zHUifRckPnW5kw/df9AitrsyXD8y9k8pPFZhxDVsRF9T91Y/vFdNJDuTqd/6+gLzJJMEzuCmtvCmZEkBEk5eC7bEtkv716wnl5WlBxr3UIY3+jBoARBElUiNnLO6sSQBSyhRIur//+E5Rmr45eUdTZjUejmf4XHU+cfdI6B2utHtwZJbIS1goHfU3o0X+b7Yl45NYKHrc0FrTsE7aJVyh+dEGZAv5EPj63GuK6fkNFUUZSOZj+64qCgyXHE0YBDp+fWso6hig2qIvqf/ok8lRj4jwYsGC+ZsHxSq97sAan8Ko56FEUJhhko07r8xkuGNVcSFsxKIzo2p4iw8IPUao+EN7gVTXOGSkuXV3/DeOVZqw4W9t5Gf6k0Uj//Sc9IP9YXxXD2gsiGPpeQR2cEVICvqNg2yx+eSEEy2PPm8g3J3Sv4HFZbrwvXcILGu8snZjP0NKo7w+f4WTC9F+ng4++HgudRyQpkRFsxjhW/lo7Lqr/i9MviP+dNOa+HtQtCef/4MTcqY/iDWTFfHKfhMtggnwHKdjnt6b9wr23iW2ZB6OKR8BnLMRYZ/OqKkfkD0wLV9f/DvAVYx5Pv1eXPE9LtND/wFrjlHyqiVJuuUMIDF2rJtdCfT1kui0MvVU8t1SiEFm8+NRABZTc0lAyetBMghakYN1cX9z752yuJE4Y03/xXE6Ch/AgEN7v27uYCQTBg1xT/6tlTZdihkfgLkJTHPJ4Y4X6/wZBNqHHrWX364vvg5uzjZe9p1yC5f+Hac+kCeJO76A6Wz3hD56IG/zlRtSBRO1xcf1vTnA0lcuxcuQuMA6Dvv6HDTkTo2j1aJFU5+0LzcGVyjPU2VkurcAn/1J4gHIWCiSxkPCd5LkPwyfohLKxK6QeOsmIKN3cwfp8CwEDLyiKE8L0X6crTSA1L94Ctijf35w9M9O38FtxSf33/tN+jflhP5KqdXrIIcAnwh+m7yVYi9OIHSjThuoPCbqxx/JBhUYJimxK6xQWi20lNUUVLwrf3SBnOPeHoweHUqaLa+t/UZKPy87Lr13uzB8XmvpvyFP57XH/KBwl2R6VljQ+hmRMEfeV1M8x7DuSvQmL2PsvlXkk92bZXBs7lzc024TdVrr7Mf6xv0HSgHSsF37u2axikfC8RcrUf3fUZqUuvkz/U/rItbDSaUQPhSRhDvlAEFYKnh/UJfVfkFzjeC+S2ByQXanrIr+CZiQex5Z5xaXu/kPwGY9UlspG+vYRHthJGxHlQnSXq5DlwTFHFHCAtxYSrqWfoQQurf8hJCvGds4VdeHJvw6u/5cqFMPzepUGLftPXn87Ol6pg0TKHFkmTH1ZcLzbVCwSewCNnxG5JlxHxxRuQXh7yzC9X42jUq5k5nsNcbeRj6wBGViS42Oio2PiEpW/Kab/qeQGewCmYN6PdOjiom91XfhZmqdBb8Ul9V+YUNr8qD/49fhAlleOivxy9ES+rNaortgHEn6QzH+piewtVRYchn6V6lXstVFsCn0KqhKxOzWcKF7oAv0s7WqSxKX1H54encOrqeHObrcMTgjzgOYLmYbqwUeu0jGuewsZQqP9BsLoGN+h+wi/o2RmbM8Wvi3cBA1t8sV+uY4ufmEVzBM5T9gAajD9T2UNrHgGT7+QDASV+/2dqA/hZ+AKgCvqf3XEXPza11VhGbE6QCreJLbVE9bkTMx73gtF1O5Xfx5hJ/GX/JPtJVjATDvsVAcxDEdO/71WkTWIiGW81rdzhu9/Kq6s/58qeSgWuX1o5+Mq+n9Ytl8w3CU0aXkyTLjs6v95NOl7fIlbug0njrJlNZ8cXCXzpxZYb9TBZNAcI2kc+vDIZNL6acH0PxXC/Rer8Qusw1mO7xLRn6V1LuxWXFD/vdDjI/P+moB35A1KuTtXbMkXmpkpE2vyNOHhBN/u10jPLr0CnO4WnNdJSvMKnSu2dQcZA+11En8jQm7xJqk5VWa3VY4L6z80Ay2Pza85u9nyuIj+nwAERyJwuc4k/vhvY95rUrN8yQo1mvYY89sJ8jU0U29se1YQG0vF+OjmuTMXb78k6WJOvo/yBa9LGl6JFkz/U/EmdpJ+srxXGaEVfUTrCbskvDDngs7Ou6D+v/YMc7n59JTmciGBeoM2V1Bvpip51hrL+eXj+rSsValk2WoN3/1s5n60M64kS+WPd/sLXvKV1G1FVBLvcajSesQ+AS1MvHNXeqGbouNwXf0PIh1WpmCa7No7/+m4hv4nlgc0NTdpfnAanMU7LTXUMhyHgP0R4o8pnHRBhBZM/9PIpeQ48MP57xYK9PdLxT+weOeZV+QKLIPEqnc9/ddL7pdGTX3dD98WQ2vY0lpjVGEt18lxmF6Xf5oDBGVWeel0vrvEtl4gA3+11HBN/iDPx7i+hn4GMris/of9S34zz7u7g/y7hv4/xjq58Wjg8IyUNnNbfHMMWnrkCnk1QxTVyM8ZMTpTYfqfhp4g3AyPuAfXLpw/f/0R7HNeCBgAuJ7+o3b/uRgvrhzREBnhQF/pV9gRokRkbqGKSs8fKcc0SP5hegnT6XVI+eMb4um/5V1Uae+/tGt9Ei9eqs8W7WqSw2X1/yvy0dfVEs5uNAxX0H9jX2BjEbtl2iIIiyXAH5COixox4nnBCAdWz4XpfzrhCuOBEbJe3gnQ5fTfAEqbZ9o/ula+XEG+Wc0y+OeqtQTqV7MW3ezeKk62KOMoILxhScGBxiepLxWxqH8AOdqrqd2gxjKRV1NXRbkD6eCq+t+e6OhZKtbf3WDrPw0X0P/YgdBuqYSCrTlV3C0m1Rx9P8e1xPK5uP7CTvqtMv3PoB3JGUDlLJf9fbic/kcAy6b8+m8c3bZ63uQvRw4eOX76mn03weptweS08kEE1NWUZOQ+hID2gvWQRSl/6yS2ZUXGQPW7oF3r7xbm1lTEeav/NtvxCX2alClWIE+wv0stnb9OHMzWtAicX9LZOF//E0fC33ZDxy7uJXeXbo5+s8OOytxGJTVwxl6njel/Fr5kORgUs1ku+Jar6b9+gfKbhXINN+uu4phlmUzMoyEPU7gektKzFECE2fkD6UjYQ7vWWzvzapqtXU0wTK8eXD6xd/OyyUPerl3YNVR0NWknnziSKHmXU3G6/sd9ADsRnIZ+iiObZvlOTk4iHLUDkIjcZG2oKHyvapj+Z1KCKEacYqzrZHwAXE3/5Xb/abAQezPtHTpL2AtJbhTwgl/IVF+nGyX2H36KDBKhJ8lDQAh/E6W04z2spDDe3r98Uv9W1cqVKJA70ElrAoaPSFv9aphLLV9I42z9j/2c6GEFOvJw6mn5mN5dCMLAq8A6BVl7rpMOqV0I0/8sGhJvDSpjh3TsXBfTf70DppEWvM+wtyP9hB6BErt3FZQy1tc1iBYbm4p8QZ20G03FV+dWFEKSZMVxmKIf3Th3dNfKyYM7VEcHY9WQiuCdrAyi2pF0Qs7Gyfr/8h3CsVKRyw5r252S8s3x+sIhhwCvYsLHDnJE5SKY/mfhPQ1mRC2WjZJZRFxM/4NxZ/8pslVi2TAUnp1ZLbFtII/Sa5Ow3K+NbouNPUKqW9gL8ZWUsH7Hq+kzzSqiR9KN/Su/H9SxcY2yRfMGaq+0AaTnIR621LxNNHGu/t9AZrqSpLnSrDWkRINeZNCf8pZU8wh3vtiH6mjICvQnZPpvx3eTg6JA/C21p+ha+m9wwO5/dEWppkec074FaSR9DvriCt4SFrQggpkY0YeNB2vX/MO86FLBj7SriTbGmGf3r58/tn7aJx2r5tZwGDCecPP/JTJ5g+viVP2/JAqHBuBNxyy5mt6F+SXkOa19W7pia+9E8wjAeuBoguk/h/wOeP8pWD+VCjHnWvpfxQG7/+ukI+5VcswswTIB1kk0AR0U2Y6Mh+Cr3VjG0pFbkZ9okcJdSLx9aN2Mkd3bNalRukAw1c338oQOPjfq0KzdAThR/01rUbk3ZPH6zBFnVMyI83ZoylyXt6aK5LF4VQs5TK+eu2HAjEJM/7lUckS2VJN0eizX0v+flN8nlEi5iHtNIQmE1WJZhQxBJAb0RCxVkWWJEp+TsZE3iOrorHjitDAnRkc+unN28y9DO1QCpKuHsJWsBdHoV+jCOE//E/sqPCXh1VP7Y9fWTyT3W7noy2uYmiOVmVK9dlV6P9oReqb/COT0X1dF+2VT6yjpz9Gl9D9Q499DCsYuco03NNL+EIB1HvCAmj/kC7EgA//rSiDcBCnBzzTkUNdq7Um4dfjPOWMHvNuydpnCSgcDekLf/1vV5W26GE7T/7PKcyN6f6b1uTfrlyTtaajlKTDTcuk5xkRa4c62BUAzCjP959P4DsySYpKHy7TAlfTf8JvyG4WyDrlSzqeF1k6IFvD65VsQc5dRET4UxZ6Fwv+qfnJW2l9NMSfHx7yMvL595rD25QEfDZ+Ct4nqsmIiUrkyztL/RXIpwKQwdNN2AGDsBUm6koW+moZxCVfIJIALu0annpvhOqb/KOT1X1dLOw/tVBLflNtldiX9D9ir+EahXIAsu+ura/tWbDOhS4SGpQBr1p7IsnkUZJ4Dco43/a/p2KhJzsAadeXAH3O/GdKrfcMKBQGDAcJjrI9bAL8HV8I5+n/2XSKBFWHorOWUK+o9UofS2lc1akryfNnoItUe0qgoqYue6T8SgP7rqmkZiOHOW7L1u5L+6wyfa7dkncbdyrAbqHZGw0bEfgPevswDiRK2Dv3pQoYOykgowqvIEeeYXASrxWRMTrz3z5zhbUtJ6VALshURZOhmV8cZ+m/5RX18xPLEQZnBPHyN/DxJLtk8rsr4HjBO6kbBBcDaP/Wemf4jgOg/MpYrJU4EyVfvUvqv0xfU6NeQToLk0T8u/ge1a8X78E+tJmC18lkFZNHK2g2lZvE+hp4OTGbuSlieXz20adHULz56t1mlgvwFnaC9JIbi+rtT2J8sHK//xi2taBzRKLpGmzxfpj/LKmuOBj+gyI8hx4t8J6l/EnPTRmRM/xGA9F+Xe742HWjcdPS2MB/X0n+dLt8E7XwAnxAss+aZqlFA22Mkx7whMaKmo4sCv3sFGHmhhgtrt83gTjw5sODzjtVy+nh7GfS6DkTT/x/dUv4drv/WqA6UHpT+Cy0GABbIjBvJWOoCEFkFWLXqcKvr0+0w/UcA03+drr8W2RiT3wbV7Wr6r9OVvaqRO9lzsuF5Ry0CdFs3kixgBgGe40m0O1R5zTbljd14FU3OptN/JKbIa0e3rZpN4j9qXQhYpXNFHKz/t0bIx9QH0+Io9fadbKN4dOL9Nt0sndbVReQrTSd0sbrO9o+wdDtM/xFA9V/X7BjMIBzrCmCALNfTf11Af002AU4C9/6zqEg/R+OdD6SDDwnoKG8xqRWypPcu6m3PZCfPrbgqk3917CE+W+AiOFL/LS/GUn5MU+iGAor/kSAXoZjQHRQnG8/fJ6l6kYoBgGV1pmoy/UcA1n+dfjrVz9H6qAO0ZhfU/5QRwI+xtNcAzGsUDM970t2LMG7JJV8nB8NieZt/odcT6mk2/bc04dYTSjGKWLbk5mvkn6Vr4Dj9t54eWJB2670abKbXQPPfjdWdStB5vUcrFqBpaXmini54ouLVZ/MPWUcMmP4jgOu/zqsZxUyt0RNLgCt2Sf3X6cpOoXsE70E/RaeGy8+jGAvodGeZA7lCQuWXBZ+jF0UNv9NrNh/rj7yK3tfGlSrbEAXdqHU9HKT/1phT74Ej6hHR6RqdtSvLza4U3BL95tBw2DVfJt+GGKIwLUL0B3YbTP8REOh/Spc98D6dOW/8Trj6u6z+63T5FjyntgaQfLIUSfO51DtLxznD+ngUcSdRTbZq8xB0yVaaBeS9Es6tp4gjYiV7MkNULRs7Fcfo/8NxtdQf+cMQPpDGpPvyADqZpQ21Vqgej1zvrcBJwtBI0Wnnow043y7TfwRE+q/TF/uSwslU08oGRLNMl9V/na7UEMjpdwC3exBOvLkEdT5EYZrwYmxJ8v2HubJmL6JjfAQdUd9iNNZB3Hp812hVT/bAskjZN+kSaK//xvu7u8m3Qw1+Qy+r23g3XRpMcXhSbbeabTvztdHApCJCcq8lPuz0ajlvL5PpPwIy/U8h7Kd7qua81shNNQirdGH9T9GX7odfqF0EsDycqnL50PvdU+qChprvTFay+xAiuy4XWx5dsqVmec6280ZSDR2TUNVjOU7Rpd3haK3/kXNaFKWakRFJ3g5blA/vrRtahVFtjX895RuOhzpCznuj8Wl5iqyygw34r4bpPwJi/dcZig28BLON4umYckTu5am4tP7rdAEVh6k7DBD5hYKYXEJyNFqsXFGth3oUUtSELrKWv0MX9NNs+h/FC6AUrF1+4WxBVDUln4WroKH+J9899GMz4q5MKeV+u6IkLWD8pV+Ka9Cagj9eIm+N6dYKlemjA8ZcA7vyJJ3tJyzO9B8Buf6noG+z7YGCOa/14S5FXigurv+pD6TBbxcULoslnP2SUjZXXfjEs0oaYby5tq7CGuW9/18UQJfsr1k+nl+5bs56J2aA9wSMfRR+Ga6BVm//we+f1ioCTI9JiXw1J5M6stweXyOPRnGb8tSc9oqoLa8WtiyofqUkvA9spmXd3158jInpPwJF+q/TeRdvu55wTSp5Xdviyk6guL7+pwhNWOVBB8g92p5Pr0V23k66EaFVRpCG6Xgxs0EBxZ1EkJz3Q0JLdMHQ08SPCsht3mpnSRb5TxVb1CSycz6U9d8afffMvvXfdSrinGiI+qZTdt+ETbwTru2cVE/bnQmfDvOPPIFogPnhkUWdaQWQ8u++6Z5MpUkXljVE3TrTfwQK9T+VXH1WnXgGmsZZHh9d0E021RMWd9D/NAr2WHz4PtRZxxp1Zmlb+guIhmpfbbsEc5Ux3dk/o7UKt0OdrorcetwSTMGuWp3JM/JCSuq3a1RNNuF+XjVfh/Ohof/m6Kf3L57YOG/8gLZVShQI9XdqJGS/8Ir9l9+V7nStNxb1Kp9Pm/OIfHIUeWPSEelfctzOr+oVojqI9CnQajV+7cF6ZVLVMLQQMP1HoEL/U7rX4KItJh2UGZHG7RxZq3BONb8at9H/FHIUrDxw3WN5s3fntikeqlFX4p2nVLc5F2VGZo/WDa4aodYveJnMXcZgnP9C78IePjl7ue7F+p5aVZM9SOio8vtgaIG+QIsB36/cfvjcjccxiclpv/PkxOjHN84e3rb82w+a0TnqByaobq8Jy7YfOXfrWWxy2ljAnBwXeffyyb1/zBrRuYw2axCBDUcs333+MdfhyRx1/ejGae+X0t4dk8HHr2rX0fP+2n/qyr0XcelfgCU59tndyyf+WT/7szYlHeYj40KENxs0bc0/J689juOrsCX6/uVjW+YPb/Oa9p9proa9xy/e8u/paw9fJaR3Esak2Ke3zh/duebHQW9RcVvOK7fWgTsaNYKaRAkw8xINBjHnP1VsVBkxjqEdet+g4NC84REFChUuX6xQgYjwvKHBQb5OWpzQ+wUF584XXqBgodJlChUsEJEvLFeOAG3DRuj9Q/IWqNi8+4dDRw3+8H+tqxbOHxqUHaXGRfAOyJkrLH9EyhdQtnTKFxCe+gX4uW/gEAoY/HKm/D4LVW72Tt8PB436tH+3Dm/WLByeJ5cjv1K9T2BwaJ6U11KoSPkShQoUCM+bOyTIj9rYo5eMfmzF1BSwVyPBsv7Au3vm/KeKW8oPazEYDAbDg9GvlBEQ3LGC8EcaKdZTXqT6RizvjxrMRDlaGAwGg5Ft8LsvqR+Wb3AFy2gV+ncEtxbDVo1qySbsp3UulcFgMBiehUzwnxNY78IWGinWEV4t7TWqJZsQl1vzD4jBYDAY7oi3TBhI/EGa1tooVlJbbiWlaOQqy75Yx2r+ATEYDAbDLakpLSBL8CUraxP87yDP33SKJnVkG+IiNP58GAwGg+GmjJPUj+uYwL+pFIzSQrHuFebWEaiVj2H2wKJxVjsGg8FguC3HpfTDOkSiZK6zBEpkfXrv0UuAw6D1Y14dgwmqYIjYre23w2AwGAy3pWSylH5slsqOYpgLFyLTlPzeIeXf3S974QlegGmvW/AqGGLaa/z1MBgMBsNdWSwlH09flyxbE5w+1Ph9+qa+jLOBzfaYH6q+qJJ0qYxM9rEwqgwGg8FAEvRSSj8myoR+hEbmS/4kI49JIbkr+/MraKBViIFsQUwxTb4ZBoPBYLg/laSW/8/K5UbP9x9Ih8w/ZEagryR9oXWTIFT9m1olGFSCNTH6+eMHd+7cuHHrzp0HT1/EQHNEOovVbPrPYDAYDDTNJSbY0Y1ki5e/B5Ah65SsccRQ6Sv/E8aqa+8a+m++uWP2Z10b1axUtmSxQoXCwwsUKly8VLkqtZv3GD1n8znJJRRnQpj0ksFgMBjZh3ckBHYZIMVRmaPyMrQty6VPf0LywriWQvPNnav/1phbJ/7+oWd1mQTLQaWb9/pi9l97j1+8E5ng1Abz2O7UHPcMBoPBcGU64gX2PihybFVZGbpsd+krLJnKx/i2SLCqOXGJ/eGGUc1KFQgGr6HrfXPmKViibK0uI2dvuRDjvHZnElMS2nIGg8FgZDvw6//JPUAGasvJ0Is69ovflrxystjbMCxRgfCpxPzk7M6Fw1uoC5ynz1XujR4jp6/ecuDMzWdOuIkU/mB51BkMBoOBoxzW/+9EEMhAPTkZGs6ZQH8pdeFMP7F1/QElyqcc87m575cJD0G0RBl6n8CQPOGFK3caPnPrFQcPA9rRugkGg8FgeB7+DzDq8bIqzEApaRGyruCu6c+SuHJ1IMp8O21yDIhIvLF/1ZS+tUJQbaBGcKmGnQdP/O33f05ceyoZdokGJ73lG8RgMBiMbMs4tHpYvwCWD5Tc0rfd4S6j65fgL1yLnnMbrihXQCjxu8c2zp3Dz1GH5fRevgFBwaFl2w2dteOmZv4NFvnDGwwGg8HIxgQ9RMrHZfD2t2QIgNtVuJfqF2EvXCY8+ZeJ5JaBOqwv/tvw82ftyviqeoDqMOQqVb9j/y9/WbH1yNVnNIMdncQ9UAaDwWAwUvkGpR7GsuDyYyVEKL4e/9ofMddZp2KPquXWaNf8ycp+xbwMLnNCTq83GAw+r735yZzdd6lseYx29h0xGAwGw7UJR2Txs4yBl6+GD39zvYXg2m7o6+JHSAQabEo3vI7p9u7fRnetlU/Rs3IMPvnLNejQd+TkBX/9e+W59PYKlid5nH0XDAaDwXBxgu6K1OOoXOBfDvo1GAmyPhYdQM8RjbrwZWvJCsbScQE0GxOf7/y6sUwoH5fDt1SbobN33opPSDKaCMYCw5zdbgaDwWC4PLWEPnb7c5EUD9uLVCDrzLzia1u8El+3tYr0Krz/12qTABpv7pg9vHPdwm58IN4vvEyd1u8NGj9n/YErUfIDovtFnd1gBoPBYLg+gVt4p9GeSWf9FVH0gnhimnwGeX5Q/1Gs4MLYqbJrDfohwkIwzIkxL56c+PWDqtSO87sIgeXbDZu55fKTyJexiWifwRUs8w+DwWAw5AnquN+uHduKkBbP/ZVgXT9hZVvMSXp9zaXcsYZpbQ1IBbV/J9sDSL535I+fPu3yRpUiyKACHkJA/tdrvNGp96gZa/ZdjeY9IGN5Z7eNwWAwGG5CrVW3I+OTzYkPJio5Dhf8xdXHMUkmizk5JvLOnoGSZ8/yf37kztOXcYmJcY/31ZO6kEuNjfejk1H73xazyZicGBcdFfnkwZ3rZ7b99k2/pkXEgYQ9nlyVOgz9eePZG/eeRMUZlzq7NQwGg8FwWf4PxRajbQplbmRzdHJlYW0KZW5kb2JqCjggMCBvYmoKPDwvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL0YgNAovQm9yZGVyIFswIDAgMF0KL1JlY3QgWzcyIDc1MC40ODc5OCAyMjUgNzcwXQovQSA8PC9UeXBlIC9BY3Rpb24KL1MgL1VSSQovVVJJIChodHRwczovL2dpdGh1Yi5jb20vZG9jdW1lbnNvL2RvY3VtZW5zbyk+Pj4+CmVuZG9iago5IDAgb2JqCjw8L0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAyOTU5Pj4gc3RyZWFtCnic7VxZjyS3DX6fX9GPcQBrRVInsFhgTj/lwckAzqvheI0EiZM4DpCfH7K6jt7uJlWl7h6sDWNhez2aUlE8Px4q2Hn+8yXwv0rA3Xf/uPv3nctx+On0X/4h7OTPH7/a7f/y0w93776i3Q//uZP1XMMOAGn30/d3H+++Ptoh4w6Sd7WGWqPs5Ycl3mv/l2Wvh9e7dy9hh2H3+vEOJsIyuYjkc+X/fZWnv0RySLh7/cvuvfcFPuxe/3aH3mGMlZL81rBwH4YFyI6QKcR5AZ/2C8mBpxoLzCs5DSvPrwopEMlRDQXhPC33L/udoyOAGn2ed1apfBypLK7yIwdU3ueJ/ETMuDAvwPO0ECs/UY/PpVKPKTn+rajQrrFLJSTGYSG7kqHmUo7ZCJWZBZVym3R1K5WqdL9fCC7UWGMKK8Q7ikdlUGCGZGIyz3Poab8xJtblWv1CpIdJhlTokMj5WDnHWuLCiKfHmRGBn4hriM8T8WcMDD05H32Etn1FtsZPTu3n07LehpLlcOM7w6jPvLkvHtNMDYySrC764IGWhafyCY9P3hbAUU4+kvpWeNizM7Fkk4c8MwfCyGfvCnsUDOWUnJSYnDQzGurDuBfKAejMAY6eoPBoH6AWF3OCvTDPs20Uu7oFMEMTa00O+h4vNNIXgvzmcqLUYDBEL4fFAx91wmHIMyMDswVjm5Hgh4XiSmGFX0wX4l5HgiPRhEVF9BMsMpG9alrkm89vBZOxnwqeqs0NpOiqD6RLq0Pd9KONe+nkZPaJIYR4Ve1X+XZPNjkkYSeJ29BVZVKIgLw3zL4NnvKoEFR4Idc2c0bNZd9W2QPgQn8tmjpqyjWRpZ+MzRQqR7weI8hxWvGEHrAeW0Ed/CH4ZeGhTo/kiB5raJ9aNTVd21vqFSrIW4ouT0M66lsh22+NhA4zlqrzelREju/CN6orWE17vsUTxZsNhCjJry0aiVO0krdgxbZKtsKDEm0Z2ZSM+brR1jADlcyRfdXlioy7Fq17gtE6Uxa2UttX9MSEhmLkKLEeQk+YWyEZJf75IDGKEVHHW/2LxoQODVadl+4sZt1m38WPpLYM1Je0gBiwr/Cl7O2nwSbkOA0HyrUYGtsm+tAms4N9mx1nE7phTi6VYoS7Ka3YhztMB9FXs5v4cJ5JOpUNwZCcmCGCLhidmytw8FrMpQtGV1+VrpaWcrAW9qX1TKoMofmARny/JI3YnNUQJ4q1L/B2e7qQkBnty1WxbfutzHk+aTUSON2L6qFkWkBewMXYKe99zZCHs+LWY10zUAlj25y9AbVn0w1iFAfe1sBCzQOs9XwH3uocxIjkImRGmFdN6NuZqfMCt7Ih3Q6Y1Y9oo9ROEnjDGaoxMzcOW7w8Mork/N5aDNKP2ggHOucJXA4BwbBm1Ve3uAihuEwJI+qbb07w1dSw6eoMTCL1Vam4fR7ZOsukEBrwtWVPGHiHmIKRYOt5jhpmVYl0g0FWVol5ln6osV2n00ho1BUddsxxMkWWL6zXfgrVASWjFnCLrJgKv4QkSdz+Vj0Xu0EJVI/0IUs4LmtKtVt9b0icmrImXbcQ1jpR9ANHq27Rlv6pOtuq5Oj0MIeDN5xDR9pkmKOqCLPrF/rpBNQoECV7R+ytrwtRVlVBLq8bq9FO3au/SKliQh2ZsOFFTm8M6+hRANWi1BP0cLa3WgSJ5BlCIwi16NE3Z5YyhKOb5It6WMXgIISgn8iPJwJ0lKTFtvQIpy7qSfNt6hkbdQ6QqrwRzeeWJbiQ0dOSeR/gEQ6zvpwpyK4sdDSrlnroRAkOxYjXKtd6quqtA8TjBQP9vzROVouk7Fk37LnjDUNWirDGsPWEe7tlj55Rj9yckqWajKpDRxGtFYG2iLNVHNOjMSZBbNXINeeyepBqRNqCvo7aZDqZHRW5Js6o6HyKoDsEfpcV6tl7MiUrpnc2RHqKdXIozDOfl5mYxTkRsKIvdqc7y8Vq2Hl4KCeDIoPdeVombw5aJCKApT47cqIeVkL29N6fp5dCI7JJchWtzN4/z5V2OT3iCpk/NDrfwC/JWBCtFqjSzmzmQ+b0AZSAhg2ptt4DaforS7yPdBCN/scFBoccwSgnI/A32xv63lHUpIQ1Zd+taZnMJyQM1kBAs7irBz8fxDqjEfxemgMLeRhYMM6+eeJH98Q9VYqOuKQ6/I6w3szpZWAuWn2TW9RCQqhiuUZ7ZMUYkd6EZASLywwdjVux9nP0gDWFQJ3RHe3yG0wxReYfxy7fU75tFY3P5DvaE884vuNkLKZdADmDKsiTq4UDwFXrB82JEqP67JLI8m1zxLh/xMh23rYmVZOAK0hGjeyzqUppGIR9QiloZFnGCMOKAvRx/Un3xpqTsJt/RJxisbe88jTvOIPOZz7Oy1qWgcHxybzVKbsqqtueNHVPW5QkowcQ9aM1mzxsMSDwviemqqrTsjGjkYiuMu63gG0Pnu6YD9suRs2/3gKUSHevVrzuLO4lo8Feqgq3GYw3MDnKKLqh/r/GOVmqKDqZjYz8FigY89Dz6mmyfv5zsnrHLVasPb6x/6XEbKrm6M8veNb2HGCIktWxZly3QJdhVK2apEKW2nrSvHDAPo7ZatUXWpcZTgepcmuGKIrZjbNjb2btMiaXE1g3ECZDZHQlU2/xoqRNDQEXdAqNXl0Q2ETQM92w8PR4kqM9s1yHmeUVPO1ybke4fnv/pxmSNmTb3d1jLEPcjX1TDo0RLRa5ZMnREMH2ClyHN95ezevHERvg6HYxX7OU2Mx2ZKQn+lCs8nzzwlfkQyOkt5Vec9xXvChbb1c5v6X0kRIrvRVBjKrfFW+9bfcVRgXCBBQZ5EpXuPL48XgBuzIx3mM6gbcn2Kqp0Fgcq+JY79womVbVI5CMDfq85obM5hgn9/1ZCfOaCLH94md/qZmJGtqG5sjqjBuYUr+qW9kdzARpcKpG1gS4jqNaYH6T19WO3VZSjI6dbrCG6ietOB4s6G8AS58wxBRWMG5LFVTlj35Vo5mO+yr8sW48be9U61fp1E5Ji8w4XP23EH13U5cYs3FmlAw/1tON7HAQ2xHMWmfzp399++P79+/uv/v5v9/+/fX7//28+93Hv36x+/Bh9/D0qF1w4rTTGhJ+Hk3vD48SPFgHoKy5xqN6sO5apjFVJBc72j3v7RXDKJcLMl6Y16rxab0nao7WKSCjFOdruHL/T+/l9qe7csGdvYUxy39g+QMP4ik/2XWwGtGx4mxIVFRcuIxmqpNJZ/gfRDOp+usKgE+85wSeROMLBBCGK5nGB1M6prA1T9d/5zDLp1eYlB7tbEWIGuRDJmAFiGa2tfqiVmuOFRh3h2zOlr3Nx3paBaOMElZXFoy0y+yr76R2V6wRiqQ+XWGidRvMvJzGrtzQ1g6gf4tv+FSUy9VrxjK2zrsRe6kMaF20WNHqO55MagwJGwCT8wQ+aDvh1LdIRdI3Yz5OlekV3UfzOzVClZC1QqTrYWgv9paJdj6yeY9++ycPbjEG5qNUDd64kSEwE321umk6E7b3yW/zdbBz8IcYkyX5ysNV8eebfr9r+AiGBYs+82+4mNPrnqVj1XN/hYMJ8h1Hzi8NvHKbSZjhgrRVn+rvl58RQiyTvg914BW3fWaxwTKHZmP41reAZBgdGXAZiEu/I3fBrXB2pjGOl/n6xs0o+qEMZUir+17HVat6lRwbjJU0dzRru7+BwWBMGkSrMMfm2+yR0wywPv9zQeIXcnaA1lX5JioMdXBrFsI5MHDR/EJtUXR/kCHK7RhKfb26VtdG7tTXErp6dSu8yRkgEbM0ikrtmb7h97vsvdFtoZTGdMKLYOJyH+23hd8WLl9QdLpUzg8l2duu01G+mo3eaOfojWC9WaulrWrk6hjS6Lml8EmFW75VP3ywXi5C8j/yRfxvfr/7kZfkB3sGxUEUfv9l+13hLMRk8rs/p93TP3n7r+/+D1Cf3E0KZW5kc3RyZWFtCmVuZG9iagoyIDAgb2JqCjw8L1R5cGUgL1BhZ2UKL1Jlc291cmNlcyA8PC9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQovRXh0R1N0YXRlIDw8L0czIDMgMCBSPj4KL1hPYmplY3QgPDwvWDYgNiAwIFI+PgovRm9udCA8PC9GNCA0IDAgUgovRjUgNSAwIFI+Pj4+Ci9NZWRpYUJveCBbMCAwIDU5NiA4NDJdCi9Bbm5vdHMgWzggMCBSXQovQ29udGVudHMgOSAwIFIKL1N0cnVjdFBhcmVudHMgMAovUGFyZW50IDEwIDAgUj4+CmVuZG9iagoxMCAwIG9iago8PC9UeXBlIC9QYWdlcwovQ291bnQgMQovS2lkcyBbMiAwIFJdPj4KZW5kb2JqCjExIDAgb2JqCjw8L1R5cGUgL0NhdGFsb2cKL1BhZ2VzIDEwIDAgUj4+CmVuZG9iagoxMiAwIG9iago8PC9MZW5ndGgxIDQwNzYKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxNzk0Pj4gc3RyZWFtCniczVd/TJRlHP8+z3t3gF7YxXE4ZXTnIYgJJwccAmdyikqIgHcglGbeAd1lByKgYZYzxeZQt7bKNvtlrMy5FWat9QertlryB1s/nP1RWa3l0tZalj9oyvv2eZ57EVEyc7T1fPe+35/P9/n+eJ7n3iNGRLfjZSBaWrZ4ibHGaCTieyBtWlpTHXjRfvB+IiVKxF5aGqhb6NyUvh30NuhzqgMud+3XO0KwnwN+baDWV3vqx8EM6E+DL2tsCbYZyfgm9L+Bfywc7GgTq0FvBY4PRzc/GBk6X0xkLsMaByPNwaaptqM/QX8Eek8EgoRp/Ffwq8GnR1o6uzJf4ScwdRD2XdH1jcGGu+odREYzbN5vCXa10e/0LuhU2Ntbgy3Ns/fW9BCZYM+pbX1Hp/YyuaH3Cn1be3NbxLRnJ3jMp7j3mLbziGEvWGKaRlNI1OZbupfi8CRIbnQoEuTQXhA+xxmYoQxoqKcpTVt5+Rfjn9f4EN6FZBLNAShlSypraWrj5vYoWaPBzlayShuDXEMb9UnxRGuG/W8/MMV7nhRF1Jq+nKwuEfjkC20fayvVYeOfyjBsTUh7ZB7DPMFZ5Tud+CPhSKdw91BnMMqSoDegNzJCFsf7ZY6MOLNeWdfA2yEX+6OHN4BfFsNsDbmZ5/rcR0ddpY/oAPmoPlYPQx1LtBN7Tui4Ua5lj61GafqURMlha8hHeOM0WWbBYJOGdzaAUR2A0ToAo00ARk8AGL0OYNQHYPQxgNFJQMwPyc5Z5YoCGygCfAeyV6D10SJaTPdQJdVQgOpl5UdlVeSnOk3TPtS+1k4jsrRx8o2HPBF4EyJ5FXH0Yf1v9NUn0Wyap/faOqbXI30WVuzh5vZW0ecYBx0HF+vgYWGJrgygHnGxBbUL8n3m6pprl3VNinYW+Ksxugs6PnuV7Kz2u3ZZwDWdFJozYv6ItXaODNpFWH56nSX8ase1P/D+FdHeJnuVjQ6tu64WXHaVoeKim/yG3eSY+eqYnhplTw3Sk+nKzuDSl1H6Uq7yFa/7El4mSS8J0ovpKi+xSlpp7i1D4w3hsQmGXTcNz/0N9I0LZyYC2O0SFlwD224aXvqX8A47Lvs3mXrEqTYkgD5Cn+g0Q1+P6rQ4R4d1WsG93aXTBuyc+3TaSNOoVKdNkM+I0UzcRDadjhv1g7vTjH0Vo62gCHfEemqhILXizugEjtJD2AP11Awcxm3TScth0QrcAVk7IAg6mxZCGqUmWimlHbAWVnbcGDn6Lhtvnv3KvFG7Euz+StxbJf+w0ggez2oRZG20GdxI1HZUbC7lAuxUC0kz8PgR1YBaj7PXjLwF76ONwBHIRF52miX9dcJ/BxWTCxDGKsJiI4WQRaOsoIsqwIvqNcs61oEOQjremll8Gc3iqnbx2lvpvx78JGXe8tyX8RvzPx6sfOLj46v/nU9l1s3bK5W33ouJHvyb0bj5dzfOgW+l1IleX7HinPyHg/+sXTTsxo3IcZqJO/Edp4jf0Q6LwzLTYXHMYpfUOrZKfY33D5ct4XOJi7OpxMMuDjc1NbI85sSTWehISWDzDrCiwxqVqtqku1hkjpjD1w3v27dlC+7vTO0c/4gPEL71F8/I4QX5d/M8ty0lLiPDOSORJ1vTwHoKU0wm1rti94NFReEe/6qn3ZH0hvxcv9fh8Ppz8xvSI+6nzQWh7urq7lDBgvlrs7LsXr/b7ffas2avnV+KLNAhvkFmgegCjmRHCh4LntNshdpnZo8P/8At6lOsd2vvdt6/HXGJnp6XM5B1niXQK8KOyXlt7FtZyB3JgV72AHQD3aRrT0A7WWqZExaogyXwJHvRd2CnGvLxfjWeDQ2XsSFVfPEhe2Umsk8Se3s0/zQknsgz3XeDz+EjhWCvB/aGi4oie/yB3eHi4vDugKsaJSipcenY7Al1V1V1hzye0I7qqp1BT89IHQTODXjtpNfiKGK8jabKjrpttmSryeR0FloKMlHsgvwM0AHmWrOromLXmhPl5YPLKiqWDZbz/vnt1VXt8+9RLwwtLy0qLl2O6ghvH0hvFrHPx/pzZOalzBzXJ5ve98Zbqmes6w3epeoFVR2q9EnnqGcqdkcI9ckW1cnILLTZ4AzecowF+R7PlY1iMqE+RrEqK6rd7yrM3rJgbknqnPL6+vJs347Ghdty3bkhl8s7LSZauMOcnf6oPStphi3VkZwEw3nexpI779ySOt3mTJnusFphWFgS8iKC5YjgGPKzyAgK0FCriEESJtbz7KFef0WF/8Ah88H9bJe6tamhoYltV7v2H8Q/TZwJfk6eCQrqJ4LNVL/oY/FhZn5F/Rzb5hkexbbCOjb8d9oI2ymooZKX5EySj+JU8pRLpw4dq/1s38CKwedPvflWzrv6NDmV24e/J/oLKiKqngplbmRzdHJlYW0KZW5kb2JqCjEzIDAgb2JqCjw8L1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZSAvQUFBQUFBK01vbnRzZXJyYXQtQm9sZAovRmxhZ3MgNAovQXNjZW50IDk2OAovRGVzY2VudCAtMjUxCi9TdGVtViAxNzIKL0NhcEhlaWdodCA3MDAKL0l0YWxpY0FuZ2xlIDAKL0ZvbnRCQm94IFstMTcwIC0yNTkgMTUyOSAxMDIxXQovRm9udEZpbGUyIDEyIDAgUj4+CmVuZG9iagoxNCAwIG9iago8PC9UeXBlIC9Gb250Ci9Gb250RGVzY3JpcHRvciAxMyAwIFIKL0Jhc2VGb250IC9BQUFBQUErTW9udHNlcnJhdC1Cb2xkCi9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0NJRFRvR0lETWFwIC9JZGVudGl0eQovQ0lEU3lzdGVtSW5mbyA8PC9SZWdpc3RyeSAoQWRvYmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBwbGVtZW50IDA+PgovVyBbMCBbNTg3IDc2Nl0gMzAgWzczM10gNDUgWzY3MV0gODUgWzMyOF0gMTA2IFs2MDRdIDExOCBbODA4XSAxMjkgWzg0NF0gMTY0IFs3MzIgMCAwIDczNV0gMTc1IFs2MzhdIDE5NiBbNzg4XSAyMjAgWzc0NiAxMTYzXV0KL0RXIDA+PgplbmRvYmoKMTUgMCBvYmoKPDwvRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDI5Mz4+IHN0cmVhbQp4nF2Ry2rDMBBF9/qKWaaL4EfjpAVjCHYCXvRB3X6ALY1TQS0LWVn47yvPGBcqkOAw90pXM1FZV7XRHqJ3N8oGPfTaKIfTeHcSocObNiJJQWnpV6JTDq0VUTA38+RxqE0/ijwHiD5CdfJuht1ZjR0+iOjNKXTa3GD3VTaBm7u1Pzig8RCLogCFfbjppbWv7YAQkW1fq1DXft4Hz5/ic7YIKXHCaeSocLKtRNeaG4o8DquA/BpWIdCof/VktXW9/G4dyZMgj+NDUiyUXJgeidKKKSPKMqZnouOZqSQ6HZkuRE/rnVei84Eoi5lOTCnTlYnfK1dlRtHXjFvi7YdVSbKK02XHVc315c/LbLaGyrtzoZc0QGri0j5tcJuxHe3iWvYvsVqYhwplbmRzdHJlYW0KZW5kb2JqCjQgMCBvYmoKPDwvVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTAKL0Jhc2VGb250IC9BQUFBQUErTW9udHNlcnJhdC1Cb2xkCi9FbmNvZGluZyAvSWRlbnRpdHktSAovRGVzY2VuZGFudEZvbnRzIFsxNCAwIFJdCi9Ub1VuaWNvZGUgMTUgMCBSPj4KZW5kb2JqCjE2IDAgb2JqCjw8L0xlbmd0aDEgMTQ0NzIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCA1MjE3Pj4gc3RyZWFtCnic7Vt5VFxVmv/ue7WwhKWgFtaiigoUEJZAURSEHaqosBZhDYEshCQQwiaQQNTuNnaMnhzbZc4ctdVRj9sfrY464zrGmR7H6bTaY7fLJLZrTJzEbN0hm9GE9+a7t15BQQokdrp75nTud959727f8vvuve++rwAIAIRiJgNw2h0ViXcmpgJw67D2D856V2PN7W0vYocHAfzfdjY2l61cvhXLsuUAZI+rMSOr8a5/pf2xO6xrbCptOjL+GzO2vYLl5V39nUNJF8y7APh6LJ/v7hwZotKwXY13v+6+7ZvO+5/sA4jqAQh+qWdj54YIzT8dwfabsD2nByv8o+Q7sdyB5cU9/aPjI8KiRwGSDQAhm/oGuzoDnw7+d2QVg9dN/Z3jQ7JGeAn7YxkMA539G9N1De8AKNA6LmJocGRUfBiysL2Atg8NbxzqUdx+C5YXYVn5ChFveU72MywCEUUIAQpLMbSBEi9/WvJKPCOWxAcpTx8JR/C/FuUoXy+2XDoh/3YWD+BHWY0fwKF3e0xrQwrOAc9/TVv2BQoV9P7Zg0Nvii3CpPxbfhKLCjfUjDfBcbSkZvli4Ma6e0Ypu82jnX0kHNtl2EZ15IiM3IW3PUxvgmW1Rz+QccPYhjpyu7mVWK5238kayCI5s+0p8So015QC/BKMF4nbRlkzCTYAuZe2cXImy+CWBnppSDArASxiF5XOQTyzhEAsEgEnEgEXEoFmJAK9SAS2IRHYgUTgWSQCbyIROIRE4AwSIaEkFHMd0WGuJ3rM80ge5qWkFHMnQc7ERZAzWUlWYt5O2jFfS9Zi3kN6MO8lKItsJVsxv4/ch/kD5AHMHyOPYf48eR7zV8mrmL9H3sf8I/IR5gfJQcy/Jkcl73IMZWDYE3aXwUGGhoGuMrQ4GdLBAmVQCTVQD41oZxushSG4/iKddwBGMEMq9ihFNGqgbqpHJwxLPaiY99iNYtsBg7CbV9Ki4gjKNKCMRCwkQQrmqVMuSwI2p/ga/jp+mG/jV/HL+bW8k6HvRMybEeUd8DicISGIpg5RzEUMSxG7lYjWWkSpF9G5D1F5DNF4laJA9iMKB6W5FACPkjDg7RU1TbCra/twH+zq6xwdQAS2gbx0lcMA68sbmgzQUF26ygBluF0YIKupoZrqC2iXnPHhcL35zSgrZpXls8qyWWUeyzK2MkV2p3V+4L9hYLAfejcNd3bB+r7N3Z3QgTtIH7SwvJ7lVSy3s7xoYGv/MOSy8R7O7nUHkqcJ8zORZAQw3zPdsaSAQLhnim6GUbzqoAQipN5+eEVJa3gRKHD2cIjw15hTfxCSK8mh/QzieeTnLtE5FYFXmKQF3ZcIn8ryeK8xapwZ0yUF+p72kM2o82OSnFgTCLspZ5k/Pj8Hn0vPlMvb0jOHq3eP9MwjKjulZxnuPOukZzlaVCE9K7A+3v1M6GrXSs+yaT64Ry1C1NzPaoZfA87kfpznA7g2RvHeB5uhC1phI967oQfrarHHAN5HsG4YqROf03DcRmzfiv1xjUALaxvBMbSvAbVNh6WMfI02zBo93TsfV0QNrsL8BUmdWfI1ohzrhmA7ljzW4PxHOZlIBmjCmo14961jPT4N4l64EfGg5VKUNIojBpmlBvQv5TeK/EdgGWQgdaMU2mMrrEeLuhiyGVDFNNyMfCi+zUzbDJ8yk9netfQHUtefgf5hFr3iRW8umD6Yg477IpJwVajGJ/1swfTUn0R75ydO9gOplBuaQU/PoMNXTnwg3zKLbvSi2/i/n0GPXEZP83uRjkh0ZjbJMpCafdKtV4XeZPTFTJLHzkPFs2jDFdKY/J4pelH+hQ+6ME0KmSL0Gl2jK6aSP4EGfdD4D6I7FE9J9Os56aDiooeUM1O4T4pTpv3Nkf3/BbVL3xQpeCJzf1Oo2TeFWvqm8Jzw2Yl2y8bhAenk7T6R0xM/59+A4znF72hfvzplDp6TosFHEifEk+z+jq/Wy3qf9yrQL4+D4lmQiyfwjAZuPphCxHPiwYVwu2KJC+n/rTjJrDoKFEEQP6d6iRN4fUNzqdfX4lfsfpFKQBl+rHSY9ZsQL4r7xQPYFs9qP5xiHoDny5nSJqY0pLLe9UhADkem+pwQv5s9ZqaF4gWm3UVfljMJF5hupyR9L4hnxe/ErxDjELRuwhsh8RL6A9y+QB3Ou7mglybQJ8dQkuQXUZiFa6IPJM/7fp6vbqo2jOFIn1m8ZXo+oPYn2P0brzEXkKhl37JRf8AvKLXbaqn9ONZ9f+J8VyPHN8XfIwafoVf/Dcv7EYcJ8UvxdeaxE+KnoBYPuDVFtGU4n92S6VeZn8dfFFe3FjjyGARQn4qnvaSckGSdQVsO49PH4nvIJ0Q8Kp5E7AWUSkvnZ+h1jvpyPpNmz5Wp+oWsioA5xtLZdNqDLiJDNT6DTy8xL+gvG1DM+p2cweO8txaIw+WyTKzlG+8qadTpeSyIZG3HmY6e2fs/rO6YeAp9dcJtl3huhp2lrMcEW2sTuGrd6/4byUufSnOJ1r7lNSqArb0zbKcA8QP3SvOsQmz5HGfCoRkeO4c+OzDDog/BR5KkpE1VhE3P5auY1PM1TiPPLAiYevLUpUiPdNVEQ+RcM21Wapi3la3A6d0OMTzrqfGS7UZYT3dgXJVfwTLm5bOYU4sCEKtE9HMAfqnrvXCjcW0CmV4Ru14pZvcsftke8hG5c31f7I4c5WW8k1/O17CI4Fp+E40OohXpLNal8IrMyuaNzMpQi8el+Gwg+9IOYPHZYBafVaJmIeDHorQci9JyLErLoaa5oGWxWo7Fav1YrNaPxWp5FqsNY7FaPxar9WOxWp7FankWq+VYrJZnsVqexWqDWKw2lMVq5SxW64+27ocQFrH1ZxHbcBaxDUXbZRBJ7QcVIlADGkShDXSIxCqIQDTWwiJEZBNEMVRorD2Z4SJnuKgYLmEMF47hwjFcwhkunBSxprhEeOGi9MKFZ7jIGC6LGC5BDBcFwyWGIcIz+7XM/qDL7Jcx+2XM/lBmfwCzX80s92OW+zPL/ZjlGnIULQ9iluuZ5TpmeTSzPJZZHsUsD2GWxzHLI9GOUHbm4oGeo6JY9PMQycUeBHmrEekQnJy4C9GIIuoLqC3Q+CLbpzhIwszE0difEmBEZVQlGFXGJHJRaCbtwhPcnkl7BbcU++H64d7BfkpEC0aIhZjwstmMOo6UVJKSOuFjvfBxppbcq6VjuLsnB18rKMBRwzjuNRynorsu8s/SatQKhcmWpaUPJrMlK8eanWgyWT0PwyR96w5re46qvDPnpzsvfNOxfn2HeKRp9eqmL7g9a1ry6pIiklcUtK0vLHbYiwtLikuKUUq2+B33C+4NMEICgCM+nbNmF3GWLK1OmZhoig/mNGo9FnNsOoXCprKoyBP1t3bZbBtura+/JSM9tbewtH9FWtqK/pKCLWkpWbuucyqs626urb15nTXLkpGauMS1ubio17Vk8ZLc1LT1hBPOUbw9lvFuTEotKpPRpLIQo9XIDVdWClVVVeR1IZ/8JwNkj3ArdQIdBXvYKETDohquoq3ueg570Zg2rTdqhqvIbdi2s0QaxWQFslaCYlSIv2q4kBwyVBYKegP2fIRbh3LWTT7ixoMPRzzCweyNhx6BCObMWUVYTuc8wJDHXRSNrl31rl3s7ire4kpNdW0pLu5zpaW5+hTWzh21tTs6rR5UyigixZtdSzzIgOTpe1DHIFxVbk+7XW2yqaxTbrYNE0XbTQ7HTW2fGY2fbO7v3/yJkduTt6WmassykwjfLW5vbOowocUZ6NFctCCN6p9otmm1yAJ5pMut2Tk5U65VKNACOZVDLHV3mmMTfuQoazRn1HR01GbYhtvyR1Mi0zZmFDeYM2o72mszckcUlqS8xZnG3PjkrFhtZIojN7vVaozN18fE5y1OzorRRiXbbZZWK2rQhxo8xWYu1cCKkKupDuxBQW7fdX/V0KbuoeU/V9x/L7lbGL5x27YbyR3C4L33u3+N4K53+6tTpfOsFhWJVAn7XUSeQuRVwn4VkaWTw7jQnhKi0oVLFEObeJGc4sJQZjKOtJopZvEKpZlZrFEp4xMTmfkWDVZrmD50TpOn+eoqS4fBkDRUtGnw2/zWdHNb9Yv/XJNfUVzQqg5Vd42Gv1G+PD7GGp+wsVv4F7nZkZZcnmzNSUrLsWVnZhfhbOwSL3Lj3GEIAS09cTs8kiQvJqDVSp3GxnzgAV6rJcOOgZLSAXv1mN0+JjzpDFD+KndldvbK3Nw2i6VNXjze3DJWVD5e79pul3OHhdt7ex9aZlldWNRhsXQUFa620LmdjpID0ebYGVKn3audsrKw7oaKihvqyvvirNH1GbmrsrNX5WbUR1vj+uSO7XWucXt29uKkROSM/BPNiy1WtItyL2d2xfmyyzzLIJ3VZqYbRDazqNrRX1rSX8qMybVRwyaVAU65fburfry8aKyleby42NucZQ/19pLRySjJqnS06nKZGtwglB6R3uaVNdxYUb61smqkjAg28lhMZpMtp2WpdW3h0kZ9kmkztbFu3FG+3SUPVFg1eW1ZWauWBRa0W+JN6Sns536cqWSMO453DV2B2V44ajQ6FW81agYbavW54REhSbq0pdwTxMG5KlpCVdagoKzMeqOQQN7PzweGWh5XhdqH4Yk1y3sFWhEfK10A5u8BkpQv35m8OKG/cMOaAKX9ljurxx2O8eqKobKyoeJl1HPL8totlva9KeYco3n1+p+uWvWwYLntJ5+UjlZXj5QsG25oGC4ozmzNy2vJzGzJy2ulp6suNNKJvtTibkvFqkyqbLdAFd0RcZWQwZJOm7OxOrcxzekMjhzgwjI31Ai/JSmNzWnNBcIJnIP3RueViiI04j78GndYkUiW45NSViS2s1McyoBfcEGe/bnLyQVNnsH+rVj/MrfP058/TvuLovikmAe/ZHzaJD7rKB9W/yzyCQZoZehNbR0aQ7460pCVkuZ07VWpcqKzMrnsyd9UtlLcqYUr0EI5+OM+CmM2YlEqefo+4G3kAY44W48kveUk9Z+kE9lt7STls3jhNHd4MoqobMIrU9of9tL+MJuNWM/vRX+afSHnhaHGvdPo8MadKVlrdbqW57iWOOuXW+uXOO2BEVsqa/tCY3RbZ+M6DXDQHZF5pbW1gSUumPJY2Bwe08zymD3Qh8eC7kKH0dlNV5QDedGV/L3rmOTVbK+oGK+t2+5wXF+bt9JiwT2JLmBpp7CPu7CpeOZeRHfBItwFw+baBeWos1KnunwXtA+Ulgw4pF3Qrgz4jxm74FgL3QXppmF/nfvtQ5t7hUcvoeTCjuzsjkJpF+yi4TImmXqO+UETz1auqsuu1PbUyvxkjWu4oDsjC4odZONq4SwdFYXvi7dw1BLPLGPT7LKXpOcdeap01GgwbLBVlyUUVFUWJCxdXW7ZZIwz1Sc5yxMKKysLEyyd8oSY3AhThjnWqFoUGpeTtsRujtbmRWgyE/Xx4YtUsdYl6eUJbLdB2ePcDpzhYTPekGwvw62G+FfVOzNSM+IiNfnCUeKQ11eSk4IuPSvaEh5G9uNGQ2AN+rQQV4lWwtrzkmVLxWSlnArKN9D5YVtBJ2DkZnnWhmqSKexvak5rKSDhk2fuilpWKr1xY5ETPcXylnBTuIU/drRqn+n3Fce4ICGSHJk8w35hB74be4VM9WI9TbyFf/dX9hfiXi18Oe7l0r3lz2med49yjyRvCzk4Ohxl8NLocCVv0ZltFt4WbjLrlOGfkw/qn9E/U/ff5MCKl2NeIAYTCf2SHBBOJgoHTslOACcewT2VashWw7S3irlwCwnmbKhOd0J5hFGdEWuy6OL9PqoQvtVaizadrtq3NyLCGq4xZ9YGojIvWAoiX+FiBD31P34pk33Ik54LrURnpLCbjZoUsiZE+Dl5WHgsjGzLIK9F5KcL9oh8GpfFdwQXzB2XJRL6NxRK/KprBKmeTHrVr6X1KMEfT0E8nmT0M94C7MQezuTxZov7TE/kNbcmm+JH7K2r29dnfRQgXE/e+MgU/eMf5V6nyEzOM6XXlJTUWElITIlFmNANrcxfQzGNEy+RMfIw5d86i7+N8Vd6+L9t64jQ6eoyCpflFaTc6SdMkLw7dDpXo7lWFhuRpI5eYlqckvCAOs30YEiZNT7PSK2KI5H4RtyjUPLxaAz9YrbiN/7D0EMRQ3lW9o5E7r3auDgtXnKDLkKvj9AZqO054gDrG4p9bTqv3gqlMjfVT4dDdLGcQp7yd68u0UdE6A1av1B18G5cG7Uo5SV2yse5MoazS+k1elNwU0i0lg2OfZ8cE7T74zTa2FitJg5l9ohFxIA7OO7+rWzzsVnYJqP71FZYaLPn22z5b7T/cffuibbuI7t2HemmeiaJRfClNMbEtiazhW1YffYCm63AnldQ8Ia7d9vE7t1/xBEFcIqUkXT6nhhDjAuI4lRREV1D4u/IWfY1Cc10Lp1dunQpxdFBXiAZ3B5ZIj/M3n7D8BSbHVgPO91fM41oZZW8WI49/YQL2HaJ20Y6uH3s28jLepKqjolR48Vti1FroqM16hjK6QK3g6xDGy7rrdXrtVp9LLdDr9HExmi0NAjIVUMS919zRVX/PIk7zb7d/s8nXg7Z87an+bYDZ8NVt4+rvTKec+nms69zfjv/kol7d+F6c92QcbXl8xHQd7V5LjRxN8z++9krHF8Htquly4LkPQldnAXS52mfu61j7rarmfDdq+KemV8W9zg77V8+Ngga8fLZJrW3fq/8MPFJejE5bTN5zcfbk2QJ7j5z6egrcSN/GWwXkugc8TyTu+e3gXwNUT9EBrmHnrnm0eERWPND+C40cXog/KD71+UZ9VoI5/TTvxHPl4g49VvNTB6dOH8757fvWrqWrqVr6WokLhv8/xpyyT/SWNTV63dV0odgxWvGfwkRGdReKRtSCT14JV1W/2MomHPMvH8xMqvvVnDA23j97aVLf20FFpQuAPwvyyZOWgplbmRzdHJlYW0KZW5kb2JqCjE3IDAgb2JqCjw8L1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZSAvQkFBQUFBK01vbnRzZXJyYXQtUmVndWxhcgovRmxhZ3MgNAovQXNjZW50IDk2OAovRGVzY2VudCAtMjUxCi9TdGVtViA5NAovQ2FwSGVpZ2h0IDcwMAovSXRhbGljQW5nbGUgMAovRm9udEJCb3ggWy0xNzAgLTI1OSAxNTI5IDEwMjFdCi9Gb250RmlsZTIgMTYgMCBSPj4KZW5kb2JqCjE4IDAgb2JqCjw8L1R5cGUgL0ZvbnQKL0ZvbnREZXNjcmlwdG9yIDE3IDAgUgovQmFzZUZvbnQgL0JBQUFBQStNb250c2VycmF0LVJlZ3VsYXIKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQ0lEVG9HSURNYXAgL0lkZW50aXR5Ci9DSURTeXN0ZW1JbmZvIDw8L1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChJZGVudGl0eSkKL1N1cHBsZW1lbnQgMD4+Ci9XIFswIFs1ODcgNzE3XSAyOSBbNzU0XSA3MSBbNzczXSA3OSBbODEzXSA4NSBbMzAyXSAxMDYgWzU4OV0gMTE4IFs4MTNdIDEyOSBbODM5XSAxNjQgWzcxOF0gMTc1IFs2MTVdIDE5NiBbNzkyXSAyMjcgWzYzNV0gMjQzIFs1OTBdIDI3MSBbNjc4IDU2M10gMjc5IFs2NzhdIDI4NiBbNjA0XSAzMTIgWzMzOSA2ODVdIDMyMSBbNjc2XSAzMjcgWzI2OV0gMzQ0IFsyNzQgMCAwIDYwMSAwIDAgMCAyNjldIDM2MCBbMTA2MSAwIDY3Nl0gMzczIFs2MjddIDQwOCBbNjc4IDAgMCA0MDFdIDQxOSBbNDg4XSA0MzMgWzQwNl0gNDQxIFs2NzJdIDQ2NSBbNTQyIDg3OV0gNDcxIFs1MzQgNTQyXSA0ODIgWzUxMV0gNDg4IFs2MDldIDc3MiBbNTY0XSA4MzkgODQwIDIxMiA4NDQgWzI2MF0gODU3IDg1OCAzMjkgODYzIFszODJdIDg3MCBbNTAwXSA4ODEgWzM3MyAyMDJdXQovRFcgMD4+CmVuZG9iagoxOSAwIG9iago8PC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggNDU3Pj4gc3RyZWFtCnicXZPLbqMwFIb3PIWXnUWFL2ATKULiKmUxbTXpPAABJ0VqADlkkbcfc363lQYJpM8+l/83PnF1qA/TuLL4zc390a7sPE6Ds7f57nrLTvYyTpGQbBj7NRB9+2u3RLFPPj5uq70epvMc7feMxX/87m11D/ZUDPPJ/oriVzdYN04X9vS3Ono+3pfl017ttDIe5Tkb7NlX+t0tL93VspjSng+D3x/Xx7PP+Yl4fyyWSWIBNf082NvS9dZ108VGe+6fnO1b/+SRnYb/9lWGtNO5/+gchQsfznki8o1EDZJEiQEZUAvKiNIUtCPSBagiMhrUEGWhQ0tUJEQpB6FmqoiqsJcSNQqEDi1Ik04hoEwnoAZEeSJBP52BQiRVEWkGKkAlqARBiyYPQofIGgR/mhwJA++aHIkdIg0HoaahExQFVBvyJ0ooM1Bd7kBQ3UgQlDVbzbbk5FZxnIuiKio4kg0I3WUFqkDIC44keVAafyUl1cpAi5QgdJeGLk24HenXXfm6W4JTQSE4/MOjIgVCwY7vsi3WVF7UwVVYNFgMB5ZBJOWpFCcss6AAPbcbvE3a93j0d+f8ZNA40khswzBO9ntil3nZsrb3H6XM84UKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqCjw8L1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUwCi9CYXNlRm9udCAvQkFBQUFBK01vbnRzZXJyYXQtUmVndWxhcgovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2NlbmRhbnRGb250cyBbMTggMCBSXQovVG9Vbmljb2RlIDE5IDAgUj4+CmVuZG9iagp4cmVmCjAgMjAKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMjkyMzcgMDAwMDAgbiAKMDAwMDAwMDEyMCAwMDAwMCBuIAowMDAwMDMyMzg2IDAwMDAwIG4gCjAwMDAwMzkyMTUgMDAwMDAgbiAKMDAwMDAwMDE1NyAwMDAwMCBuIAowMDAwMDAxNjA2IDAwMDAwIG4gCjAwMDAwMjYwMzUgMDAwMDAgbiAKMDAwMDAyNjIwNyAwMDAwMCBuIAowMDAwMDI5NDk1IDAwMDAwIG4gCjAwMDAwMjk1NTEgMDAwMDAgbiAKMDAwMDAyOTYwMCAwMDAwMCBuIAowMDAwMDMxNDgwIDAwMDAwIG4gCjAwMDAwMzE2ODIgMDAwMDAgbiAKMDAwMDAzMjAyMiAwMDAwMCBuIAowMDAwMDMyNTMzIDAwMDAwIG4gCjAwMDAwMzc4MzcgMDAwMDAgbiAKMDAwMDAzODA0MSAwMDAwMCBuIAowMDAwMDM4Njg3IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSAyMAovUm9vdCAxMSAwIFIKL0luZm8gMSAwIFI+PgpzdGFydHhyZWYKMzkzNjUKJSVFT0Y=";
diff --git a/packages/signing/PDFArrayCustom.js b/packages/signing/PDFArrayCustom.js
deleted file mode 100644
index 7981faad8..000000000
--- a/packages/signing/PDFArrayCustom.js
+++ /dev/null
@@ -1,55 +0,0 @@
-const { PDFArray, CharCodes } = require("pdf-lib");
-
-/**
- * Extends PDFArray class in order to make ByteRange look like this:
- * /ByteRange [0 /********** /********** /**********]
- * Not this:
- * /ByteRange [ 0 /********** /********** /********** ]
- */
-class PDFArrayCustom extends PDFArray {
- static withContext(context) {
- return new PDFArrayCustom(context);
- }
-
- clone(context) {
- const clone = PDFArrayCustom.withContext(context || this.context);
- for (let idx = 0, len = this.size(); idx < len; idx++) {
- clone.push(this.array[idx]);
- }
- return clone;
- }
-
- toString() {
- let arrayString = "[";
- for (let idx = 0, len = this.size(); idx < len; idx++) {
- arrayString += this.get(idx).toString();
- if (idx < len - 1) arrayString += " ";
- }
- arrayString += "]";
- return arrayString;
- }
-
- sizeInBytes() {
- let size = 2;
- for (let idx = 0, len = this.size(); idx < len; idx++) {
- size += this.get(idx).sizeInBytes();
- if (idx < len - 1) size += 1;
- }
- return size;
- }
-
- copyBytesInto(buffer, offset) {
- const initialOffset = offset;
-
- buffer[offset++] = CharCodes.LeftSquareBracket;
- for (let idx = 0, len = this.size(); idx < len; idx++) {
- offset += this.get(idx).copyBytesInto(buffer, offset);
- if (idx < len - 1) buffer[offset++] = CharCodes.Space;
- }
- buffer[offset++] = CharCodes.RightSquareBracket;
-
- return offset - initialOffset;
- }
-}
-
-module.exports = PDFArrayCustom;
diff --git a/packages/signing/addDigitalSignature.ts b/packages/signing/addDigitalSignature.ts
deleted file mode 100644
index 7bce6dd60..000000000
--- a/packages/signing/addDigitalSignature.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import fs from "fs";
-import { PDFDocument, PDFHexString, PDFName, PDFNumber, PDFString } from "pdf-lib";
-
-// Local copy of Node SignPDF because https://github.com/vbuch/node-signpdf/pull/187 was not published in NPM yet. Can be switched to npm package.
-const signer = require("./node-signpdf/dist/signpdf");
-
-export const addDigitalSignature = async (documentAsBase64: string): Promise => {
- // Custom code to add Byterange to PDF
- const PDFArrayCustom = require("./PDFArrayCustom");
- const pdfBuffer = Buffer.from(documentAsBase64, "base64");
- const p12Buffer = Buffer.from(
- fs
- .readFileSync(process.env.CERT_FILE_PATH || "resources/certificate.p12")
- .toString(process.env.CERT_FILE_ENCODING ? undefined : "binary"),
- (process.env.CERT_FILE_ENCODING as BufferEncoding) || "binary"
- );
-
- const SIGNATURE_LENGTH = p12Buffer.length * 2;
-
- const pdfDoc = await PDFDocument.load(pdfBuffer);
- const pages = pdfDoc.getPages();
-
- const ByteRange = PDFArrayCustom.withContext(pdfDoc.context);
- ByteRange.push(PDFNumber.of(0));
- ByteRange.push(PDFName.of(signer.DEFAULT_BYTE_RANGE_PLACEHOLDER));
- ByteRange.push(PDFName.of(signer.DEFAULT_BYTE_RANGE_PLACEHOLDER));
- ByteRange.push(PDFName.of(signer.DEFAULT_BYTE_RANGE_PLACEHOLDER));
-
- const signatureDict = pdfDoc.context.obj({
- Type: "Sig",
- Filter: "Adobe.PPKLite",
- SubFilter: "adbe.pkcs7.detached",
- ByteRange,
- Contents: PDFHexString.of("A".repeat(SIGNATURE_LENGTH)),
- Reason: PDFString.of("Signed by Documenso"),
- M: PDFString.fromDate(new Date()),
- });
- const signatureDictRef = pdfDoc.context.register(signatureDict);
-
- const widgetDict = pdfDoc.context.obj({
- Type: "Annot",
- Subtype: "Widget",
- FT: "Sig",
- Rect: [0, 0, 0, 0],
- V: signatureDictRef,
- T: PDFString.of("Signature1"),
- F: 4,
- P: pages[0].ref,
- });
- const widgetDictRef = pdfDoc.context.register(widgetDict);
-
- // Add signature widget to the first page
- pages[0].node.set(PDFName.of("Annots"), pdfDoc.context.obj([widgetDictRef]));
-
- // Create an AcroForm object containing the signature widget
- pdfDoc.catalog.set(
- PDFName.of("AcroForm"),
- pdfDoc.context.obj({
- SigFlags: 3,
- Fields: [widgetDictRef],
- })
- );
-
- const modifiedPdfBytes = await pdfDoc.save({ useObjectStreams: false });
- const modifiedPdfBuffer = Buffer.from(modifiedPdfBytes);
-
- const signObj = new signer.SignPdf();
- const signedPdfBuffer: Buffer = signObj.sign(modifiedPdfBuffer, p12Buffer, {
- passphrase: process.env.CERT_PASSPHRASE || "",
- });
-
- return signedPdfBuffer.toString("base64");
-};
diff --git a/packages/signing/index.ts b/packages/signing/index.ts
deleted file mode 100644
index 7aeeb6470..000000000
--- a/packages/signing/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { signDocument } from "./signDocument";
diff --git a/packages/signing/node-signpdf/dist/SignPdfError.js b/packages/signing/node-signpdf/dist/SignPdfError.js
deleted file mode 100644
index f8e06aa0f..000000000
--- a/packages/signing/node-signpdf/dist/SignPdfError.js
+++ /dev/null
@@ -1,33 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default =
- exports.ERROR_VERIFY_SIGNATURE =
- exports.ERROR_TYPE_UNKNOWN =
- exports.ERROR_TYPE_PARSE =
- exports.ERROR_TYPE_INPUT =
- void 0;
-const ERROR_TYPE_UNKNOWN = 1;
-exports.ERROR_TYPE_UNKNOWN = ERROR_TYPE_UNKNOWN;
-const ERROR_TYPE_INPUT = 2;
-exports.ERROR_TYPE_INPUT = ERROR_TYPE_INPUT;
-const ERROR_TYPE_PARSE = 3;
-exports.ERROR_TYPE_PARSE = ERROR_TYPE_PARSE;
-const ERROR_VERIFY_SIGNATURE = 4;
-exports.ERROR_VERIFY_SIGNATURE = ERROR_VERIFY_SIGNATURE;
-
-class SignPdfError extends Error {
- constructor(msg, type = ERROR_TYPE_UNKNOWN) {
- super(msg);
- this.type = type;
- }
-} // Shorthand
-
-SignPdfError.TYPE_UNKNOWN = ERROR_TYPE_UNKNOWN;
-SignPdfError.TYPE_INPUT = ERROR_TYPE_INPUT;
-SignPdfError.TYPE_PARSE = ERROR_TYPE_PARSE;
-SignPdfError.VERIFY_SIGNATURE = ERROR_VERIFY_SIGNATURE;
-var _default = SignPdfError;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/const.js b/packages/signing/node-signpdf/dist/helpers/const.js
deleted file mode 100644
index 3fe7e4ad6..000000000
--- a/packages/signing/node-signpdf/dist/helpers/const.js
+++ /dev/null
@@ -1,24 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.SUBFILTER_ETSI_CADES_DETACHED =
- exports.SUBFILTER_ADOBE_X509_SHA1 =
- exports.SUBFILTER_ADOBE_PKCS7_SHA1 =
- exports.SUBFILTER_ADOBE_PKCS7_DETACHED =
- exports.DEFAULT_SIGNATURE_LENGTH =
- exports.DEFAULT_BYTE_RANGE_PLACEHOLDER =
- void 0;
-const DEFAULT_SIGNATURE_LENGTH = 8192;
-exports.DEFAULT_SIGNATURE_LENGTH = DEFAULT_SIGNATURE_LENGTH;
-const DEFAULT_BYTE_RANGE_PLACEHOLDER = "**********";
-exports.DEFAULT_BYTE_RANGE_PLACEHOLDER = DEFAULT_BYTE_RANGE_PLACEHOLDER;
-const SUBFILTER_ADOBE_PKCS7_DETACHED = "adbe.pkcs7.detached";
-exports.SUBFILTER_ADOBE_PKCS7_DETACHED = SUBFILTER_ADOBE_PKCS7_DETACHED;
-const SUBFILTER_ADOBE_PKCS7_SHA1 = "adbe.pkcs7.sha1";
-exports.SUBFILTER_ADOBE_PKCS7_SHA1 = SUBFILTER_ADOBE_PKCS7_SHA1;
-const SUBFILTER_ADOBE_X509_SHA1 = "adbe.x509.rsa.sha1";
-exports.SUBFILTER_ADOBE_X509_SHA1 = SUBFILTER_ADOBE_X509_SHA1;
-const SUBFILTER_ETSI_CADES_DETACHED = "ETSI.CAdES.detached";
-exports.SUBFILTER_ETSI_CADES_DETACHED = SUBFILTER_ETSI_CADES_DETACHED;
diff --git a/packages/signing/node-signpdf/dist/helpers/extractSignature.js b/packages/signing/node-signpdf/dist/helpers/extractSignature.js
deleted file mode 100644
index e966f4dc3..000000000
--- a/packages/signing/node-signpdf/dist/helpers/extractSignature.js
+++ /dev/null
@@ -1,86 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _SignPdfError = _interopRequireDefault(require("../SignPdfError"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-const getSubstringIndex = (str, substring, n) => {
- let times = 0;
- let index = null;
-
- while (times < n && index !== -1) {
- index = str.indexOf(substring, index + 1);
- times += 1;
- }
-
- return index;
-};
-/**
- * Basic implementation of signature extraction.
- *
- * Really basic. Would work in the simplest of cases where there is only one signature
- * in a document and ByteRange is only used once in it.
- *
- * @param {Buffer} pdf
- * @returns {Object} {ByteRange: Number[], signature: Buffer, signedData: Buffer}
- */
-
-const extractSignature = (pdf, signatureCount = 1) => {
- if (!(pdf instanceof Buffer)) {
- throw new _SignPdfError.default("PDF expected as Buffer.", _SignPdfError.default.TYPE_INPUT);
- } // const byteRangePos = pdf.indexOf('/ByteRange [');
-
- const byteRangePos = getSubstringIndex(pdf, "/ByteRange [", signatureCount);
-
- if (byteRangePos === -1) {
- throw new _SignPdfError.default(
- "Failed to locate ByteRange.",
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- const byteRangeEnd = pdf.indexOf("]", byteRangePos);
-
- if (byteRangeEnd === -1) {
- throw new _SignPdfError.default(
- "Failed to locate the end of the ByteRange.",
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- const byteRange = pdf.slice(byteRangePos, byteRangeEnd + 1).toString();
- const matches = /\/ByteRange \[(\d+) +(\d+) +(\d+) +(\d+) *\]/.exec(byteRange);
-
- if (matches === null) {
- throw new _SignPdfError.default(
- "Failed to parse the ByteRange.",
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- const ByteRange = matches.slice(1).map(Number);
- const signedData = Buffer.concat([
- pdf.slice(ByteRange[0], ByteRange[0] + ByteRange[1]),
- pdf.slice(ByteRange[2], ByteRange[2] + ByteRange[3]),
- ]);
- const signatureHex = pdf
- .slice(ByteRange[0] + ByteRange[1] + 1, ByteRange[2])
- .toString("binary")
- .replace(/(?:00|>)+$/, "");
- const signature = Buffer.from(signatureHex, "hex").toString("binary");
- return {
- ByteRange: matches.slice(1, 5).map(Number),
- signature,
- signedData,
- };
-};
-
-var _default = extractSignature;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/findByteRange.js b/packages/signing/node-signpdf/dist/helpers/findByteRange.js
deleted file mode 100644
index 556e98d45..000000000
--- a/packages/signing/node-signpdf/dist/helpers/findByteRange.js
+++ /dev/null
@@ -1,50 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _SignPdfError = _interopRequireDefault(require("../SignPdfError"));
-
-var _const = require("./const");
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-/**
- * Finds ByteRange information within a given PDF Buffer if one exists
- *
- * @param {Buffer} pdf
- * @returns {Object} {byteRangePlaceholder: String, byteRangeStrings: String[], byteRange: String[]}
- */
-const findByteRange = (pdf) => {
- if (!(pdf instanceof Buffer)) {
- throw new _SignPdfError.default("PDF expected as Buffer.", _SignPdfError.default.TYPE_INPUT);
- }
-
- const byteRangeStrings = pdf
- .toString()
- .match(/\/ByteRange\s*\[{1}\s*(?:(?:\d*|\/\*{10})\s+){3}(?:\d+|\/\*{10}){1}\s*]{1}/g);
-
- if (!byteRangeStrings) {
- throw new _SignPdfError.default(
- "No ByteRangeStrings found within PDF buffer",
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- const byteRangePlaceholder = byteRangeStrings.find((s) =>
- s.includes(`/${_const.DEFAULT_BYTE_RANGE_PLACEHOLDER}`)
- );
- const byteRanges = byteRangeStrings.map((brs) => brs.match(/[^[\s]*(?:\d|\/\*{10})/g));
- return {
- byteRangePlaceholder,
- byteRangeStrings,
- byteRanges,
- };
-};
-
-var _default = findByteRange;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/index.js b/packages/signing/node-signpdf/dist/helpers/index.js
deleted file mode 100644
index 088ad1ecb..000000000
--- a/packages/signing/node-signpdf/dist/helpers/index.js
+++ /dev/null
@@ -1,51 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-Object.defineProperty(exports, "extractSignature", {
- enumerable: true,
- get: function () {
- return _extractSignature.default;
- },
-});
-Object.defineProperty(exports, "findByteRange", {
- enumerable: true,
- get: function () {
- return _findByteRange.default;
- },
-});
-Object.defineProperty(exports, "pdfkitAddPlaceholder", {
- enumerable: true,
- get: function () {
- return _pdfkitAddPlaceholder.default;
- },
-});
-Object.defineProperty(exports, "plainAddPlaceholder", {
- enumerable: true,
- get: function () {
- return _plainAddPlaceholder.default;
- },
-});
-Object.defineProperty(exports, "removeTrailingNewLine", {
- enumerable: true,
- get: function () {
- return _removeTrailingNewLine.default;
- },
-});
-
-var _extractSignature = _interopRequireDefault(require("./extractSignature"));
-
-var _pdfkitAddPlaceholder = _interopRequireDefault(require("./pdfkitAddPlaceholder"));
-
-var _plainAddPlaceholder = _interopRequireDefault(require("./plainAddPlaceholder"));
-
-var _removeTrailingNewLine = _interopRequireDefault(require("./removeTrailingNewLine"));
-
-var _findByteRange = _interopRequireDefault(require("./findByteRange"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-("This string is added so that jest collects coverage for this file"); // eslint-disable-line
diff --git a/packages/signing/node-signpdf/dist/helpers/pdfkit/abstract_reference.js b/packages/signing/node-signpdf/dist/helpers/pdfkit/abstract_reference.js
deleted file mode 100644
index 982f8f773..000000000
--- a/packages/signing/node-signpdf/dist/helpers/pdfkit/abstract_reference.js
+++ /dev/null
@@ -1,25 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-/*
-PDFAbstractReference by Devon Govett used below.
-The class is part of pdfkit. See https://github.com/foliojs/pdfkit
-LICENSE: MIT. Included in this folder.
-Modifications may have been applied for the purposes of node-signpdf.
-*/
-
-/*
-PDFAbstractReference - abstract class for PDF reference
-*/
-class PDFAbstractReference {
- toString() {
- throw new Error("Must be implemented by subclasses");
- }
-}
-
-var _default = PDFAbstractReference;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/pdfkit/pdfobject.js b/packages/signing/node-signpdf/dist/helpers/pdfkit/pdfobject.js
deleted file mode 100644
index 7be4d3b93..000000000
--- a/packages/signing/node-signpdf/dist/helpers/pdfkit/pdfobject.js
+++ /dev/null
@@ -1,153 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _abstract_reference = _interopRequireDefault(require("./abstract_reference"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-/*
-PDFObject by Devon Govett used below.
-The class is part of pdfkit. See https://github.com/foliojs/pdfkit
-LICENSE: MIT. Included in this folder.
-Modifications may have been applied for the purposes of node-signpdf.
-*/
-
-/*
-PDFObject - converts JavaScript types into their corresponding PDF types.
-By Devon Govett
-*/
-const pad = (str, length) => (Array(length + 1).join("0") + str).slice(-length);
-
-const escapableRe = /[\n\r\t\b\f()\\]/g;
-const escapable = {
- "\n": "\\n",
- "\r": "\\r",
- "\t": "\\t",
- "\b": "\\b",
- "\f": "\\f",
- "\\": "\\\\",
- "(": "\\(",
- ")": "\\)",
-}; // Convert little endian UTF-16 to big endian
-
-const swapBytes = (buff) => buff.swap16();
-
-class PDFObject {
- static convert(object, encryptFn = null) {
- // String literals are converted to the PDF name type
- if (typeof object === "string") {
- return `/${object}`; // String objects are converted to PDF strings (UTF-16)
- }
-
- if (object instanceof String) {
- let string = object; // Detect if this is a unicode string
-
- let isUnicode = false;
-
- for (let i = 0, end = string.length; i < end; i += 1) {
- if (string.charCodeAt(i) > 0x7f) {
- isUnicode = true;
- break;
- }
- } // If so, encode it as big endian UTF-16
-
- let stringBuffer;
-
- if (isUnicode) {
- stringBuffer = swapBytes(Buffer.from(`\ufeff${string}`, "utf16le"));
- } else {
- stringBuffer = Buffer.from(string, "ascii");
- } // Encrypt the string when necessary
-
- if (encryptFn) {
- string = encryptFn(stringBuffer).toString("binary");
- } else {
- string = stringBuffer.toString("binary");
- } // Escape characters as required by the spec
-
- string = string.replace(escapableRe, (c) => escapable[c]);
- return `(${string})`; // Buffers are converted to PDF hex strings
- }
-
- if (Buffer.isBuffer(object)) {
- return `<${object.toString("hex")}>`;
- }
-
- if (object instanceof _abstract_reference.default) {
- return object.toString();
- }
-
- if (object instanceof Date) {
- let string = `D:${pad(object.getUTCFullYear(), 4)}${pad(object.getUTCMonth() + 1, 2)}${pad(
- object.getUTCDate(),
- 2
- )}${pad(object.getUTCHours(), 2)}${pad(object.getUTCMinutes(), 2)}${pad(
- object.getUTCSeconds(),
- 2
- )}Z`; // Encrypt the string when necessary
-
- if (encryptFn) {
- string = encryptFn(Buffer.from(string, "ascii")).toString("binary"); // Escape characters as required by the spec
-
- string = string.replace(escapableRe, (c) => escapable[c]);
- }
-
- return `(${string})`;
- }
-
- if (Array.isArray(object)) {
- const items = object.map((e) => PDFObject.convert(e, encryptFn)).join(" ");
- return `[${items}]`;
- }
-
- if ({}.toString.call(object) === "[object Object]") {
- const out = ["<<"];
- let streamData; // @todo this can probably be refactored into a reduce
-
- Object.entries(object).forEach(([key, val]) => {
- let checkedValue = "";
-
- if (val.toString().indexOf("<<") !== -1) {
- checkedValue = val;
- } else {
- checkedValue = PDFObject.convert(val, encryptFn);
- }
-
- if (key === "stream") {
- streamData = `${key}\n${val}\nendstream`;
- } else {
- out.push(`/${key} ${checkedValue}`);
- }
- });
- out.push(">>");
-
- if (streamData) {
- out.push(streamData);
- }
-
- return out.join("\n");
- }
-
- if (typeof object === "number") {
- return PDFObject.number(object);
- }
-
- return `${object}`;
- }
-
- static number(n) {
- if (n > -1e21 && n < 1e21) {
- return Math.round(n * 1e6) / 1e6;
- }
-
- throw new Error(`unsupported number: ${n}`);
- }
-}
-
-exports.default = PDFObject;
diff --git a/packages/signing/node-signpdf/dist/helpers/pdfkitAddPlaceholder.js b/packages/signing/node-signpdf/dist/helpers/pdfkitAddPlaceholder.js
deleted file mode 100644
index 0f4501c78..000000000
--- a/packages/signing/node-signpdf/dist/helpers/pdfkitAddPlaceholder.js
+++ /dev/null
@@ -1,139 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _const = require("./const");
-
-var _pdfkitReferenceMock = _interopRequireDefault(require("./pdfkitReferenceMock"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-// eslint-disable-next-line import/no-unresolved
-
-/**
- * Adds the objects that are needed for Adobe.PPKLite to read the signature.
- * Also includes a placeholder for the actual signature.
- * Returns an Object with all the added PDFReferences.
- * @param {PDFDocument} pdf
- * @param {string} reason
- * @returns {object}
- */
-const pdfkitAddPlaceholder = ({
- pdf,
- pdfBuffer,
- reason,
- contactInfo = "emailfromp1289@gmail.com",
- name = "Name from p12",
- location = "Location from p12",
- signatureLength = _const.DEFAULT_SIGNATURE_LENGTH,
- byteRangePlaceholder = _const.DEFAULT_BYTE_RANGE_PLACEHOLDER,
- subFilter = _const.SUBFILTER_ADOBE_PKCS7_DETACHED,
-}) => {
- /* eslint-disable no-underscore-dangle,no-param-reassign */
- // Generate the signature placeholder
- const signature = pdf.ref({
- Type: "Sig",
- Filter: "Adobe.PPKLite",
- SubFilter: subFilter,
- ByteRange: [0, byteRangePlaceholder, byteRangePlaceholder, byteRangePlaceholder],
- Contents: Buffer.from(String.fromCharCode(0).repeat(signatureLength)),
- Reason: new String(reason),
- // eslint-disable-line no-new-wrappers
- M: new Date(),
- ContactInfo: new String(contactInfo),
- // eslint-disable-line no-new-wrappers
- Name: new String(name),
- // eslint-disable-line no-new-wrappers
- Location: new String(location), // eslint-disable-line no-new-wrappers
- }); // Check if pdf already contains acroform field
-
- const acroFormPosition = pdfBuffer.lastIndexOf("/Type /AcroForm");
- const isAcroFormExists = acroFormPosition !== -1;
- let fieldIds = [];
- let acroFormId;
-
- if (isAcroFormExists) {
- let acroFormStart = acroFormPosition; // 10 is the distance between "/Type /AcroForm" and AcroFrom ID
-
- const charsUntilIdEnd = 10;
- const acroFormIdEnd = acroFormPosition - charsUntilIdEnd; // Let's find AcroForm ID by trying to find the "\n" before the ID
- // 12 is a enough space to find the "\n"
- // (generally it's 2 or 3, but I'm giving a big space though)
-
- const maxAcroFormIdLength = 12;
- let foundAcroFormId = "";
- let index = charsUntilIdEnd + 1;
-
- for (index; index < charsUntilIdEnd + maxAcroFormIdLength; index += 1) {
- const acroFormIdString = pdfBuffer.slice(acroFormPosition - index, acroFormIdEnd).toString();
-
- if (acroFormIdString[0] === "\n") {
- break;
- }
-
- foundAcroFormId = acroFormIdString;
- acroFormStart = acroFormPosition - index;
- }
-
- const pdfSlice = pdfBuffer.slice(acroFormStart);
- const acroForm = pdfSlice.slice(0, pdfSlice.indexOf("endobj")).toString();
- acroFormId = parseInt(foundAcroFormId);
- const acroFormFields = acroForm.slice(acroForm.indexOf("/Fields [") + 9, acroForm.indexOf("]"));
- fieldIds = acroFormFields
- .split(" ")
- .filter((element, i) => i % 3 === 0)
- .map((fieldId) => new _pdfkitReferenceMock.default(fieldId));
- }
-
- const signatureName = "Signature"; // Generate signature annotation widget
-
- const widget = pdf.ref({
- Type: "Annot",
- Subtype: "Widget",
- FT: "Sig",
- Rect: [0, 0, 0, 0],
- V: signature,
- T: new String(signatureName + (fieldIds.length + 1)),
- // eslint-disable-line no-new-wrappers
- F: 4,
- P: pdf.page.dictionary, // eslint-disable-line no-underscore-dangle
- });
- pdf.page.dictionary.data.Annots = [widget]; // Include the widget in a page
-
- let form;
-
- if (!isAcroFormExists) {
- // Create a form (with the widget) and link in the _root
- form = pdf.ref({
- Type: "AcroForm",
- SigFlags: 3,
- Fields: [...fieldIds, widget],
- });
- } else {
- // Use existing acroform and extend the fields with newly created widgets
- form = pdf.ref(
- {
- Type: "AcroForm",
- SigFlags: 3,
- Fields: [...fieldIds, widget],
- },
- acroFormId
- );
- }
-
- pdf._root.data.AcroForm = form;
- return {
- signature,
- form,
- widget,
- };
- /* eslint-enable no-underscore-dangle,no-param-reassign */
-};
-
-var _default = pdfkitAddPlaceholder;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/pdfkitReferenceMock.js b/packages/signing/node-signpdf/dist/helpers/pdfkitReferenceMock.js
deleted file mode 100644
index 5fea8a3fe..000000000
--- a/packages/signing/node-signpdf/dist/helpers/pdfkitReferenceMock.js
+++ /dev/null
@@ -1,30 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _abstract_reference = _interopRequireDefault(require("./pdfkit/abstract_reference"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-class PDFKitReferenceMock extends _abstract_reference.default {
- constructor(index, additionalData = undefined) {
- super();
- this.index = index;
-
- if (typeof additionalData !== "undefined") {
- Object.assign(this, additionalData);
- }
- }
-
- toString() {
- return `${this.index} 0 R`;
- }
-}
-
-var _default = PDFKitReferenceMock;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/createBufferPageWithAnnotation.js b/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/createBufferPageWithAnnotation.js
deleted file mode 100644
index 73ffafd2d..000000000
--- a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/createBufferPageWithAnnotation.js
+++ /dev/null
@@ -1,54 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _findObject = _interopRequireDefault(require("./findObject"));
-
-var _getIndexFromRef = _interopRequireDefault(require("./getIndexFromRef"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-const createBufferPageWithAnnotation = (pdf, info, pagesRef, widget) => {
- const pagesDictionary = (0, _findObject.default)(pdf, info.xref, pagesRef).toString(); // Extend page dictionary with newly created annotations
-
- let annotsStart;
- let annotsEnd;
- let annots;
- annotsStart = pagesDictionary.indexOf("/Annots");
-
- if (annotsStart > -1) {
- annotsEnd = pagesDictionary.indexOf("]", annotsStart);
- annots = pagesDictionary.substr(annotsStart, annotsEnd + 1 - annotsStart);
- annots = annots.substr(0, annots.length - 1); // remove the trailing ]
- } else {
- annotsStart = pagesDictionary.length;
- annotsEnd = pagesDictionary.length;
- annots = "/Annots [";
- }
-
- const pagesDictionaryIndex = (0, _getIndexFromRef.default)(info.xref, pagesRef);
- const widgetValue = widget.toString();
- annots = `${annots} ${widgetValue}]`; // add the trailing ] back
-
- const preAnnots = pagesDictionary.substr(0, annotsStart);
- let postAnnots = "";
-
- if (pagesDictionary.length > annotsEnd) {
- postAnnots = pagesDictionary.substr(annotsEnd + 1);
- }
-
- return Buffer.concat([
- Buffer.from(`${pagesDictionaryIndex} 0 obj\n`),
- Buffer.from("<<\n"),
- Buffer.from(`${preAnnots + annots + postAnnots}\n`),
- Buffer.from("\n>>\nendobj\n"),
- ]);
-};
-
-var _default = createBufferPageWithAnnotation;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/createBufferRootWithAcroform.js b/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/createBufferRootWithAcroform.js
deleted file mode 100644
index 1930db43d..000000000
--- a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/createBufferRootWithAcroform.js
+++ /dev/null
@@ -1,26 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _getIndexFromRef = _interopRequireDefault(require("./getIndexFromRef"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-const createBufferRootWithAcroform = (pdf, info, form) => {
- const rootIndex = (0, _getIndexFromRef.default)(info.xref, info.rootRef);
- return Buffer.concat([
- Buffer.from(`${rootIndex} 0 obj\n`),
- Buffer.from("<<\n"),
- Buffer.from(`${info.root}\n`),
- Buffer.from(`/AcroForm ${form}`),
- Buffer.from("\n>>\nendobj\n"),
- ]);
-};
-
-var _default = createBufferRootWithAcroform;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/createBufferTrailer.js b/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/createBufferTrailer.js
deleted file mode 100644
index 0e57e5f23..000000000
--- a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/createBufferTrailer.js
+++ /dev/null
@@ -1,35 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-const createBufferTrailer = (pdf, info, addedReferences) => {
- let rows = [];
- rows[0] = "0000000000 65535 f "; // info.xref.tableRows[0];
-
- addedReferences.forEach((offset, index) => {
- const paddedOffset = `0000000000${offset}`.slice(-10);
- rows[index + 1] = `${index} 1\n${paddedOffset} 00000 n `;
- });
- rows = rows.filter((row) => row !== undefined);
- return Buffer.concat([
- Buffer.from("xref\n"),
- Buffer.from(`${info.xref.startingIndex} 1\n`),
- Buffer.from(rows.join("\n")),
- Buffer.from("\ntrailer\n"),
- Buffer.from("<<\n"),
- Buffer.from(`/Size ${info.xref.maxIndex + 1}\n`),
- Buffer.from(`/Root ${info.rootRef}\n`),
- Buffer.from(info.infoRef ? `/Info ${info.infoRef}\n` : ""),
- Buffer.from(`/Prev ${info.xRefPosition}\n`),
- Buffer.from(">>\n"),
- Buffer.from("startxref\n"),
- Buffer.from(`${pdf.length}\n`),
- Buffer.from("%%EOF"),
- ]);
-};
-
-var _default = createBufferTrailer;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/findObject.js b/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/findObject.js
deleted file mode 100644
index cb3bc4845..000000000
--- a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/findObject.js
+++ /dev/null
@@ -1,31 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _getIndexFromRef = _interopRequireDefault(require("./getIndexFromRef"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-/**
- * @param {Buffer} pdf
- * @param {Map} refTable
- * @returns {object}
- */
-const findObject = (pdf, refTable, ref) => {
- const index = (0, _getIndexFromRef.default)(refTable, ref);
- const offset = refTable.offsets.get(index);
- let slice = pdf.slice(offset);
- slice = slice.slice(0, slice.indexOf("endobj", "utf8")); // FIXME: What if it is a stream?
-
- slice = slice.slice(slice.indexOf("<<", "utf8") + 2);
- slice = slice.slice(0, slice.lastIndexOf(">>", "utf8"));
- return slice;
-};
-
-var _default = findObject;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/getIndexFromRef.js b/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/getIndexFromRef.js
deleted file mode 100644
index 6b8b6d0f2..000000000
--- a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/getIndexFromRef.js
+++ /dev/null
@@ -1,34 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _SignPdfError = _interopRequireDefault(require("../../SignPdfError"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-/**
- * @param {object} refTable
- * @param {string} ref
- * @returns {number}
- */
-const getIndexFromRef = (refTable, ref) => {
- let [index] = ref.split(" ");
- index = parseInt(index);
-
- if (!refTable.offsets.has(index)) {
- throw new _SignPdfError.default(
- `Failed to locate object "${ref}".`,
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- return index;
-};
-
-var _default = getIndexFromRef;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/getPageRef.js b/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/getPageRef.js
deleted file mode 100644
index 1529d1e09..000000000
--- a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/getPageRef.js
+++ /dev/null
@@ -1,31 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = getPageRef;
-
-var _getPagesDictionaryRef = _interopRequireDefault(require("./getPagesDictionaryRef"));
-
-var _findObject = _interopRequireDefault(require("./findObject"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-/**
- * Finds the reference to a page.
- *
- * @param {Buffer} pdfBuffer
- * @param {Object} info As extracted from readRef()
- */
-function getPageRef(pdfBuffer, info) {
- const pagesRef = (0, _getPagesDictionaryRef.default)(info);
- const pagesDictionary = (0, _findObject.default)(pdfBuffer, info.xref, pagesRef);
- const kidsPosition = pagesDictionary.indexOf("/Kids");
- const kidsStart = pagesDictionary.indexOf("[", kidsPosition) + 1;
- const kidsEnd = pagesDictionary.indexOf("]", kidsPosition);
- const pages = pagesDictionary.slice(kidsStart, kidsEnd).toString();
- const split = pages.trim().split(" ", 3);
- return `${split[0]} ${split[1]} ${split[2]}`;
-}
diff --git a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/getPagesDictionaryRef.js b/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/getPagesDictionaryRef.js
deleted file mode 100644
index 3f34b176d..000000000
--- a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/getPagesDictionaryRef.js
+++ /dev/null
@@ -1,29 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = getPagesDictionaryRef;
-
-var _SignPdfError = _interopRequireDefault(require("../../SignPdfError"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-/**
- * @param {Object} info As extracted from readRef()
- */
-function getPagesDictionaryRef(info) {
- const pagesRefRegex = /\/Pages\s+(\d+\s+\d+\s+R)/g;
- const match = pagesRefRegex.exec(info.root);
-
- if (match === null) {
- throw new _SignPdfError.default(
- "Failed to find the pages descriptor. This is probably a problem in node-signpdf.",
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- return match[1];
-}
diff --git a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/index.js b/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/index.js
deleted file mode 100644
index 08241d99e..000000000
--- a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/index.js
+++ /dev/null
@@ -1,129 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _pdfobject = _interopRequireDefault(require("../pdfkit/pdfobject"));
-
-var _pdfkitReferenceMock = _interopRequireDefault(require("../pdfkitReferenceMock"));
-
-var _removeTrailingNewLine = _interopRequireDefault(require("../removeTrailingNewLine"));
-
-var _const = require("../const");
-
-var _pdfkitAddPlaceholder = _interopRequireDefault(require("../pdfkitAddPlaceholder"));
-
-var _getIndexFromRef = _interopRequireDefault(require("./getIndexFromRef"));
-
-var _readPdf = _interopRequireDefault(require("./readPdf"));
-
-var _getPageRef = _interopRequireDefault(require("./getPageRef"));
-
-var _createBufferRootWithAcroform = _interopRequireDefault(
- require("./createBufferRootWithAcroform")
-);
-
-var _createBufferPageWithAnnotation = _interopRequireDefault(
- require("./createBufferPageWithAnnotation")
-);
-
-var _createBufferTrailer = _interopRequireDefault(require("./createBufferTrailer"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-const isContainBufferRootWithAcroform = (pdf) => {
- const bufferRootWithAcroformRefRegex = /\/AcroForm\s+(\d+\s\d+\sR)/g;
- const match = bufferRootWithAcroformRefRegex.exec(pdf.toString());
- return match != null && match[1] != null && match[1] !== "";
-};
-/**
- * Adds a signature placeholder to a PDF Buffer.
- *
- * This contrasts with the default pdfkit-based implementation.
- * Parsing is done using simple string operations.
- * Adding is done with `Buffer.concat`.
- * This allows node-signpdf to be used on any PDF and
- * not only on a freshly created through PDFKit one.
- */
-
-const plainAddPlaceholder = ({
- pdfBuffer,
- reason,
- contactInfo = "emailfromp1289@gmail.com",
- name = "Name from p12",
- location = "Location from p12",
- signatureLength = _const.DEFAULT_SIGNATURE_LENGTH,
- subFilter = _const.SUBFILTER_ADOBE_PKCS7_DETACHED,
-}) => {
- let pdf = (0, _removeTrailingNewLine.default)(pdfBuffer);
- const info = (0, _readPdf.default)(pdf);
- const pageRef = (0, _getPageRef.default)(pdf, info);
- const pageIndex = (0, _getIndexFromRef.default)(info.xref, pageRef);
- const addedReferences = new Map();
- const pdfKitMock = {
- ref: (input, additionalIndex) => {
- info.xref.maxIndex += 1;
- const index = additionalIndex != null ? additionalIndex : info.xref.maxIndex;
- addedReferences.set(index, pdf.length + 1); // + 1 new line
-
- pdf = Buffer.concat([
- pdf,
- Buffer.from("\n"),
- Buffer.from(`${index} 0 obj\n`),
- Buffer.from(_pdfobject.default.convert(input)),
- Buffer.from("\nendobj\n"),
- ]);
- return new _pdfkitReferenceMock.default(info.xref.maxIndex);
- },
- page: {
- dictionary: new _pdfkitReferenceMock.default(pageIndex, {
- data: {
- Annots: [],
- },
- }),
- },
- _root: {
- data: {},
- },
- };
- const { form, widget } = (0, _pdfkitAddPlaceholder.default)({
- pdf: pdfKitMock,
- pdfBuffer,
- reason,
- contactInfo,
- name,
- location,
- signatureLength,
- subFilter,
- });
-
- if (!isContainBufferRootWithAcroform(pdf)) {
- const rootIndex = (0, _getIndexFromRef.default)(info.xref, info.rootRef);
- addedReferences.set(rootIndex, pdf.length + 1);
- pdf = Buffer.concat([
- pdf,
- Buffer.from("\n"),
- (0, _createBufferRootWithAcroform.default)(pdf, info, form),
- ]);
- }
-
- addedReferences.set(pageIndex, pdf.length + 1);
- pdf = Buffer.concat([
- pdf,
- Buffer.from("\n"),
- (0, _createBufferPageWithAnnotation.default)(pdf, info, pageRef, widget),
- ]);
- pdf = Buffer.concat([
- pdf,
- Buffer.from("\n"),
- (0, _createBufferTrailer.default)(pdf, info, addedReferences),
- ]);
- return pdf;
-};
-
-var _default = plainAddPlaceholder;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/readPdf.js b/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/readPdf.js
deleted file mode 100644
index 422bf98b9..000000000
--- a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/readPdf.js
+++ /dev/null
@@ -1,67 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _readRefTable = _interopRequireDefault(require("./readRefTable"));
-
-var _findObject = _interopRequireDefault(require("./findObject"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-const getValue = (trailer, key) => {
- let index = trailer.indexOf(key);
-
- if (index === -1) {
- return undefined;
- }
-
- const slice = trailer.slice(index);
- index = slice.indexOf("/", 1);
-
- if (index === -1) {
- index = slice.indexOf(">", 1);
- }
-
- return slice
- .slice(key.length + 1, index)
- .toString()
- .trim(); // key + at least one space
-};
-/**
- * Simplified parsing of a PDF Buffer.
- * Extracts reference table, root info and trailer start.
- *
- * See section 7.5.5 (File Trailer) of the PDF specs.
- *
- * @param {Buffer} pdfBuffer
- */
-
-const readPdf = (pdfBuffer) => {
- // Extract the trailer dictionary.
- const trailerStart = pdfBuffer.lastIndexOf("trailer"); // The trailer is followed by xref. Then an EOF. EOF's length is 6 characters.
-
- const trailer = pdfBuffer.slice(trailerStart, pdfBuffer.length - 6);
- let xRefPosition = trailer.slice(trailer.lastIndexOf("startxref") + 10).toString();
- xRefPosition = parseInt(xRefPosition);
- const refTable = (0, _readRefTable.default)(pdfBuffer);
- const rootRef = getValue(trailer, "/Root");
- const root = (0, _findObject.default)(pdfBuffer, refTable, rootRef).toString();
- const infoRef = getValue(trailer, "/Info");
- return {
- xref: refTable,
- rootRef,
- root,
- infoRef,
- trailerStart,
- previousXrefs: [],
- xRefPosition,
- };
-};
-
-var _default = readPdf;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/readRefTable.js b/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/readRefTable.js
deleted file mode 100644
index c5f75ca66..000000000
--- a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/readRefTable.js
+++ /dev/null
@@ -1,141 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.getXref =
- exports.getLastTrailerPosition =
- exports.getFullXrefTable =
- exports.default =
- void 0;
-
-var _SignPdfError = _interopRequireDefault(require("../../SignPdfError"));
-
-var _xrefToRefMap = _interopRequireDefault(require("./xrefToRefMap"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-const getLastTrailerPosition = (pdf) => {
- const trailerStart = pdf.lastIndexOf(Buffer.from("trailer", "utf8"));
- const trailer = pdf.slice(trailerStart, pdf.length - 6);
- const xRefPosition = trailer
- .slice(trailer.lastIndexOf(Buffer.from("startxref", "utf8")) + 10)
- .toString();
- return parseInt(xRefPosition);
-};
-
-exports.getLastTrailerPosition = getLastTrailerPosition;
-
-const getXref = (pdf, position) => {
- let refTable = pdf.slice(position); // slice starting from where xref starts
-
- const realPosition = refTable.indexOf(Buffer.from("xref", "utf8"));
-
- if (realPosition === -1) {
- throw new _SignPdfError.default(
- `Could not find xref anywhere at or after ${position}.`,
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- if (realPosition > 0) {
- const prefix = refTable.slice(0, realPosition);
-
- if (prefix.toString().replace(/\s*/g, "") !== "") {
- throw new _SignPdfError.default(
- `Expected xref at ${position} but found other content.`,
- _SignPdfError.default.TYPE_PARSE
- );
- }
- }
-
- const nextEofPosition = refTable.indexOf(Buffer.from("%%EOF", "utf8"));
-
- if (nextEofPosition === -1) {
- throw new _SignPdfError.default(
- "Expected EOF after xref and trailer but could not find one.",
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- refTable = refTable.slice(0, nextEofPosition);
- refTable = refTable.slice(realPosition + 4); // move ahead with the "xref"
-
- refTable = refTable.slice(refTable.indexOf("\n") + 1); // move after the next new line
- // extract the size
-
- let size = refTable.toString().split("/Size")[1];
-
- if (!size) {
- throw new _SignPdfError.default(
- "Size not found in xref table.",
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- size = /^\s*(\d+)/.exec(size);
-
- if (size === null) {
- throw new _SignPdfError.default(
- "Failed to parse size of xref table.",
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- size = parseInt(size[1]);
- const [objects, infos] = refTable.toString().split("trailer");
- const isContainingPrev = infos.split("/Prev")[1] != null;
- let prev;
-
- if (isContainingPrev) {
- const pagesRefRegex = /Prev (\d+)/g;
- const match = pagesRefRegex.exec(infos);
- const [, prevPosition] = match;
- prev = prevPosition;
- }
-
- const xRefContent = (0, _xrefToRefMap.default)(objects);
- return {
- size,
- prev,
- xRefContent,
- };
-};
-
-exports.getXref = getXref;
-
-const getFullXrefTable = (pdf) => {
- const lastTrailerPosition = getLastTrailerPosition(pdf);
- const lastXrefTable = getXref(pdf, lastTrailerPosition);
-
- if (lastXrefTable.prev === undefined) {
- return lastXrefTable.xRefContent;
- }
-
- const pdfWithoutLastTrailer = pdf.slice(0, lastTrailerPosition);
- const partOfXrefTable = getFullXrefTable(pdfWithoutLastTrailer);
- const mergedXrefTable = new Map([...partOfXrefTable, ...lastXrefTable.xRefContent]);
- return mergedXrefTable;
-};
-/**
- * @param {Buffer} pdfBuffer
- * @returns {object}
- */
-
-exports.getFullXrefTable = getFullXrefTable;
-
-const readRefTable = (pdf) => {
- const fullXrefTable = getFullXrefTable(pdf);
- const startingIndex = 0;
- const maxIndex = Math.max(...fullXrefTable.keys());
- return {
- startingIndex,
- maxIndex,
- offsets: fullXrefTable,
- };
-};
-
-var _default = readRefTable;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/xrefToRefMap.js b/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/xrefToRefMap.js
deleted file mode 100644
index 224f7e7bc..000000000
--- a/packages/signing/node-signpdf/dist/helpers/plainAddPlaceholder/xrefToRefMap.js
+++ /dev/null
@@ -1,65 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _SignPdfError = _interopRequireDefault(require("../../SignPdfError"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-const xrefToRefMap = (xrefString) => {
- const lines = xrefString.split("\n").filter((l) => l !== "");
- let index = 0;
- let expectedLines = 0;
- const xref = new Map();
- lines.forEach((line) => {
- const split = line.split(" ");
-
- if (split.length === 2) {
- index = parseInt(split[0]);
- expectedLines = parseInt(split[1]);
- return;
- }
-
- if (expectedLines <= 0) {
- throw new _SignPdfError.default(
- "Too many lines in xref table.",
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- expectedLines -= 1;
- const [offset, , inUse] = split;
-
- if (inUse.trim() === "f") {
- index += 1;
- return;
- }
-
- if (inUse.trim() !== "n") {
- throw new _SignPdfError.default(
- `Unknown in-use flag "${inUse}". Expected "n" or "f".`,
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- if (!/^\d+$/.test(offset.trim())) {
- throw new _SignPdfError.default(
- `Expected integer offset. Got "${offset}".`,
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- const storeOffset = parseInt(offset.trim());
- xref.set(index, storeOffset);
- index += 1;
- });
- return xref;
-};
-
-var _default = xrefToRefMap;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/helpers/removeTrailingNewLine.js b/packages/signing/node-signpdf/dist/helpers/removeTrailingNewLine.js
deleted file mode 100644
index 2d6cae9f1..000000000
--- a/packages/signing/node-signpdf/dist/helpers/removeTrailingNewLine.js
+++ /dev/null
@@ -1,52 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-exports.default = void 0;
-
-var _SignPdfError = _interopRequireDefault(require("../SignPdfError"));
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-const sliceLastChar = (pdf, character) => {
- const lastChar = pdf.slice(pdf.length - 1).toString();
-
- if (lastChar === character) {
- return pdf.slice(0, pdf.length - 1);
- }
-
- return pdf;
-};
-/**
- * Removes a trailing new line if there is such.
- *
- * Also makes sure the file ends with an EOF line as per spec.
- * @param {Buffer} pdf
- * @returns {Buffer}
- */
-
-const removeTrailingNewLine = (pdf) => {
- if (!(pdf instanceof Buffer)) {
- throw new _SignPdfError.default("PDF expected as Buffer.", _SignPdfError.default.TYPE_INPUT);
- }
-
- let output = pdf;
- output = sliceLastChar(output, "\n");
- output = sliceLastChar(output, "\r");
- const lastLine = output.slice(output.length - 6).toString();
-
- if (lastLine !== "\n%%EOF") {
- throw new _SignPdfError.default(
- "A PDF file must end with an EOF line.",
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- return output;
-};
-
-var _default = removeTrailingNewLine;
-exports.default = _default;
diff --git a/packages/signing/node-signpdf/dist/signpdf.js b/packages/signing/node-signpdf/dist/signpdf.js
deleted file mode 100644
index 133623e4b..000000000
--- a/packages/signing/node-signpdf/dist/signpdf.js
+++ /dev/null
@@ -1,218 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true,
-});
-var _exportNames = {
- SignPdf: true,
- SignPdfError: true,
-};
-exports.SignPdf = void 0;
-Object.defineProperty(exports, "SignPdfError", {
- enumerable: true,
- get: function () {
- return _SignPdfError.default;
- },
-});
-exports.default = void 0;
-
-var _nodeForge = _interopRequireDefault(require("node-forge"));
-
-var _SignPdfError = _interopRequireDefault(require("./SignPdfError"));
-
-var _helpers = require("./helpers");
-
-Object.keys(_helpers).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
- if (key in exports && exports[key] === _helpers[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _helpers[key];
- },
- });
-});
-
-var _const = require("./helpers/const");
-
-Object.keys(_const).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
- if (key in exports && exports[key] === _const[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _const[key];
- },
- });
-});
-
-function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { default: obj };
-}
-
-class SignPdf {
- constructor() {
- this.byteRangePlaceholder = _const.DEFAULT_BYTE_RANGE_PLACEHOLDER;
- this.lastSignature = null;
- }
-
- sign(pdfBuffer, p12Buffer, additionalOptions = {}) {
- const options = {
- asn1StrictParsing: false,
- passphrase: "",
- ...additionalOptions,
- };
-
- if (!(pdfBuffer instanceof Buffer)) {
- throw new _SignPdfError.default("PDF expected as Buffer.", _SignPdfError.default.TYPE_INPUT);
- }
-
- if (!(p12Buffer instanceof Buffer)) {
- throw new _SignPdfError.default(
- "p12 certificate expected as Buffer.",
- _SignPdfError.default.TYPE_INPUT
- );
- }
-
- let pdf = (0, _helpers.removeTrailingNewLine)(pdfBuffer); // Find the ByteRange placeholder.
-
- const { byteRangePlaceholder } = (0, _helpers.findByteRange)(pdf);
-
- if (!byteRangePlaceholder) {
- throw new _SignPdfError.default(
- `Could not find empty ByteRange placeholder: ${byteRangePlaceholder}`,
- _SignPdfError.default.TYPE_PARSE
- );
- }
-
- const byteRangePos = pdf.indexOf(byteRangePlaceholder); // Calculate the actual ByteRange that needs to replace the placeholder.
-
- const byteRangeEnd = byteRangePos + byteRangePlaceholder.length;
- const contentsTagPos = pdf.indexOf("/Contents ", byteRangeEnd);
- const placeholderPos = pdf.indexOf("<", contentsTagPos);
- const placeholderEnd = pdf.indexOf(">", placeholderPos);
- const placeholderLengthWithBrackets = placeholderEnd + 1 - placeholderPos;
- const placeholderLength = placeholderLengthWithBrackets - 2;
- const byteRange = [0, 0, 0, 0];
- byteRange[1] = placeholderPos;
- byteRange[2] = byteRange[1] + placeholderLengthWithBrackets;
- byteRange[3] = pdf.length - byteRange[2];
- let actualByteRange = `/ByteRange [${byteRange.join(" ")}]`;
- actualByteRange += " ".repeat(byteRangePlaceholder.length - actualByteRange.length); // Replace the /ByteRange placeholder with the actual ByteRange
-
- pdf = Buffer.concat([
- pdf.slice(0, byteRangePos),
- Buffer.from(actualByteRange),
- pdf.slice(byteRangeEnd),
- ]); // Remove the placeholder signature
-
- pdf = Buffer.concat([
- pdf.slice(0, byteRange[1]),
- pdf.slice(byteRange[2], byteRange[2] + byteRange[3]),
- ]); // Convert Buffer P12 to a forge implementation.
-
- const forgeCert = _nodeForge.default.util.createBuffer(p12Buffer.toString("binary"));
-
- const p12Asn1 = _nodeForge.default.asn1.fromDer(forgeCert);
-
- const p12 = _nodeForge.default.pkcs12.pkcs12FromAsn1(
- p12Asn1,
- options.asn1StrictParsing,
- options.passphrase
- ); // Extract safe bags by type.
- // We will need all the certificates and the private key.
-
- const certBags = p12.getBags({
- bagType: _nodeForge.default.pki.oids.certBag,
- })[_nodeForge.default.pki.oids.certBag];
-
- const keyBags = p12.getBags({
- bagType: _nodeForge.default.pki.oids.pkcs8ShroudedKeyBag,
- })[_nodeForge.default.pki.oids.pkcs8ShroudedKeyBag];
-
- const privateKey = keyBags[0].key; // Here comes the actual PKCS#7 signing.
-
- const p7 = _nodeForge.default.pkcs7.createSignedData(); // Start off by setting the content.
-
- p7.content = _nodeForge.default.util.createBuffer(pdf.toString("binary")); // Then add all the certificates (-cacerts & -clcerts)
- // Keep track of the last found client certificate.
- // This will be the public key that will be bundled in the signature.
-
- let certificate;
- Object.keys(certBags).forEach((i) => {
- const { publicKey } = certBags[i].cert;
- p7.addCertificate(certBags[i].cert); // Try to find the certificate that matches the private key.
-
- if (privateKey.n.compareTo(publicKey.n) === 0 && privateKey.e.compareTo(publicKey.e) === 0) {
- certificate = certBags[i].cert;
- }
- });
-
- if (typeof certificate === "undefined") {
- throw new _SignPdfError.default(
- "Failed to find a certificate that matches the private key.",
- _SignPdfError.default.TYPE_INPUT
- );
- } // Add a sha256 signer. That's what Adobe.PPKLite adbe.pkcs7.detached expects.
-
- p7.addSigner({
- key: privateKey,
- certificate,
- digestAlgorithm: _nodeForge.default.pki.oids.sha256,
- authenticatedAttributes: [
- {
- type: _nodeForge.default.pki.oids.contentType,
- value: _nodeForge.default.pki.oids.data,
- },
- {
- type: _nodeForge.default.pki.oids.signingTime,
- // value can also be auto-populated at signing time
- // We may also support passing this as an option to sign().
- // Would be useful to match the creation time of the document for example.
- value: new Date(),
- },
- {
- type: _nodeForge.default.pki.oids.messageDigest, // value will be auto-populated at signing time
- },
- ],
- }); // Sign in detached mode.
-
- p7.sign({
- detached: true,
- }); // Check if the PDF has a good enough placeholder to fit the signature.
-
- const raw = _nodeForge.default.asn1.toDer(p7.toAsn1()).getBytes(); // placeholderLength represents the length of the HEXified symbols but we're
- // checking the actual lengths.
-
- if (raw.length * 2 > placeholderLength) {
- throw new _SignPdfError.default(
- `Signature exceeds placeholder length: ${raw.length * 2} > ${placeholderLength}`,
- _SignPdfError.default.TYPE_INPUT
- );
- }
-
- let signature = Buffer.from(raw, "binary").toString("hex"); // Store the HEXified signature. At least useful in tests.
-
- this.lastSignature = signature; // Pad the signature with zeroes so the it is the same length as the placeholder
-
- signature += Buffer.from(
- String.fromCharCode(0).repeat(placeholderLength / 2 - raw.length)
- ).toString("hex"); // Place it in the document.
-
- pdf = Buffer.concat([
- pdf.slice(0, byteRange[1]),
- Buffer.from(`<${signature}>`),
- pdf.slice(byteRange[1]),
- ]); // Magic. Done.
-
- return pdf;
- }
-}
-
-exports.SignPdf = SignPdf;
-
-var _default = new SignPdf();
-
-exports.default = _default;
diff --git a/packages/signing/package.json b/packages/signing/package.json
deleted file mode 100644
index 091d15045..000000000
--- a/packages/signing/package.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "name": "@documenso/signing",
- "version": "0.0.0",
- "private": true,
- "main": "index.ts",
- "dependencies": {}
-}
diff --git a/packages/tailwind-config/index.cjs b/packages/tailwind-config/index.cjs
new file mode 100644
index 000000000..9a768dff6
--- /dev/null
+++ b/packages/tailwind-config/index.cjs
@@ -0,0 +1,102 @@
+/* eslint-disable @typescript-eslint/no-var-requires */
+const { fontFamily } = require('tailwindcss/defaultTheme');
+
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ darkMode: ['class', '[data-theme="dark"]'],
+ content: ['src/**/*.{ts,tsx}'],
+ theme: {
+ extend: {
+ fontFamily: {
+ sans: ['var(--font-sans)', ...fontFamily.sans],
+ },
+ colors: {
+ border: 'hsl(var(--border))',
+ input: 'hsl(var(--input))',
+ ring: 'hsl(var(--ring))',
+ background: 'hsl(var(--background))',
+ foreground: 'hsl(var(--foreground))',
+ primary: {
+ DEFAULT: 'hsl(var(--primary))',
+ foreground: 'hsl(var(--primary-foreground))',
+ },
+ secondary: {
+ DEFAULT: 'hsl(var(--secondary))',
+ foreground: 'hsl(var(--secondary-foreground))',
+ },
+ destructive: {
+ DEFAULT: 'hsl(var(--destructive))',
+ foreground: 'hsl(var(--destructive-foreground))',
+ },
+ muted: {
+ DEFAULT: 'hsl(var(--muted))',
+ foreground: 'hsl(var(--muted-foreground))',
+ },
+ accent: {
+ DEFAULT: 'hsl(var(--accent))',
+ foreground: 'hsl(var(--accent-foreground))',
+ },
+ popover: {
+ DEFAULT: 'hsl(var(--popover))',
+ foreground: 'hsl(var(--popover-foreground))',
+ },
+ card: {
+ DEFAULT: 'hsl(var(--card))',
+ foreground: 'hsl(var(--card-foreground))',
+ },
+ documenso: {
+ DEFAULT: '#A2E771',
+ 50: '#FFFFFF',
+ 100: '#FDFFFD',
+ 200: '#E7F9DA',
+ 300: '#D0F3B7',
+ 400: '#B9ED94',
+ 500: '#A2E771',
+ 600: '#83DF41',
+ 700: '#66C622',
+ 800: '#4D9619',
+ 900: '#356611',
+ 950: '#284E0D',
+ },
+ dawn: {
+ DEFAULT: '#aaa89f',
+ 50: '#f8f8f8',
+ 100: '#f1f1ef',
+ 200: '#e6e5e2',
+ 300: '#d4d3cd',
+ 400: '#b9b7b0',
+ 500: '#aaa89f',
+ 600: '#88857a',
+ 700: '#706e65',
+ 800: '#5f5d55',
+ 900: '#52514a',
+ 950: '#2a2925',
+ },
+ },
+ backgroundImage: {
+ 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
+ 'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
+ },
+ borderRadius: {
+ lg: 'var(--radius)',
+ md: 'calc(var(--radius) - 2px)',
+ sm: 'calc(var(--radius) - 4px)',
+ },
+ keyframes: {
+ 'accordion-down': {
+ from: { height: 0 },
+ to: { height: 'var(--radix-accordion-content-height)' },
+ },
+ 'accordion-up': {
+ from: { height: 'var(--radix-accordion-content-height)' },
+ to: { height: 0 },
+ },
+ },
+ animation: {
+ 'accordion-down': 'accordion-down 0.2s ease-out',
+ 'accordion-up': 'accordion-up 0.2s ease-out',
+ },
+ },
+ },
+ plugins: [require('tailwindcss-animate')],
+};
diff --git a/packages/tailwind-config/package.json b/packages/tailwind-config/package.json
new file mode 100644
index 000000000..bd4f54d24
--- /dev/null
+++ b/packages/tailwind-config/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "@documenso/tailwind-config",
+ "version": "0.0.0",
+ "main": "index.cjs",
+ "license": "MIT",
+ "dependencies": {
+ "autoprefixer": "^10.4.13",
+ "eslint": "7.32.0",
+ "postcss": "^8.4.21",
+ "tailwindcss": "^3.2.7",
+ "tailwindcss-animate": "^1.0.5"
+ },
+ "devDependencies": {},
+ "publishConfig": {
+ "access": "public"
+ }
+}
diff --git a/packages/trpc/client/guards.ts b/packages/trpc/client/guards.ts
new file mode 100644
index 000000000..5a37eec30
--- /dev/null
+++ b/packages/trpc/client/guards.ts
@@ -0,0 +1,7 @@
+import { TRPCClientError } from '@trpc/client';
+
+import { AppRouter } from '../server/router';
+
+export const isTRPCBadRequestError = (err: unknown): err is TRPCClientError => {
+ return err instanceof TRPCClientError && err.shape?.code === 'BAD_REQUEST';
+};
diff --git a/packages/trpc/client/index.ts b/packages/trpc/client/index.ts
new file mode 100644
index 000000000..39e1ed511
--- /dev/null
+++ b/packages/trpc/client/index.ts
@@ -0,0 +1,18 @@
+import { createTRPCProxyClient, httpBatchLink } from '@trpc/client';
+import SuperJSON from 'superjson';
+
+import { getBaseUrl } from '@documenso/lib/universal/get-base-url';
+
+import { AppRouter } from '../server/router';
+
+export const trpc = createTRPCProxyClient({
+ transformer: SuperJSON,
+
+ links: [
+ httpBatchLink({
+ url: `${getBaseUrl()}/api/trpc`,
+ }),
+ ],
+});
+
+export { TRPCClientError } from '@trpc/client';
diff --git a/packages/trpc/index.ts b/packages/trpc/index.ts
new file mode 100644
index 000000000..cb0ff5c3b
--- /dev/null
+++ b/packages/trpc/index.ts
@@ -0,0 +1 @@
+export {};
diff --git a/packages/trpc/package.json b/packages/trpc/package.json
new file mode 100644
index 000000000..839fefab9
--- /dev/null
+++ b/packages/trpc/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "@documenso/trpc",
+ "version": "1.0.0",
+ "main": "./index.ts",
+ "types": "./index.ts",
+ "license": "MIT",
+ "scripts": {
+ },
+ "dependencies": {
+ "@tanstack/react-query": "^4.29.5",
+ "@trpc/client": "^10.25.1",
+ "@trpc/next": "^10.25.1",
+ "@trpc/react-query": "^10.25.1",
+ "@trpc/server": "^10.25.1",
+ "superjson": "^1.12.3",
+ "zod": "^3.21.4"
+ }
+}
diff --git a/packages/trpc/react/index.tsx b/packages/trpc/react/index.tsx
new file mode 100644
index 000000000..85161d0e8
--- /dev/null
+++ b/packages/trpc/react/index.tsx
@@ -0,0 +1,49 @@
+'use client';
+
+import { useState } from 'react';
+
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
+import { httpBatchLink } from '@trpc/client';
+import { createTRPCReact } from '@trpc/react-query';
+import SuperJSON from 'superjson';
+
+import { getBaseUrl } from '@documenso/lib/universal/get-base-url';
+
+import { AppRouter } from '../server/router';
+
+export const trpc = createTRPCReact({
+ unstable_overrides: {
+ useMutation: {
+ async onSuccess(opts) {
+ await opts.originalFn();
+ await opts.queryClient.invalidateQueries();
+ },
+ },
+ },
+});
+
+export interface TrpcProviderProps {
+ children: React.ReactNode;
+}
+
+export function TrpcProvider({ children }: TrpcProviderProps) {
+ const [queryClient] = useState(() => new QueryClient());
+
+ const [trpcClient] = useState(() =>
+ trpc.createClient({
+ transformer: SuperJSON,
+
+ links: [
+ httpBatchLink({
+ url: `${getBaseUrl()}/api/trpc`,
+ }),
+ ],
+ }),
+ );
+
+ return (
+
+ {children}
+
+ );
+}
diff --git a/packages/trpc/server/adapters/next.ts b/packages/trpc/server/adapters/next.ts
new file mode 100644
index 000000000..a1d72411f
--- /dev/null
+++ b/packages/trpc/server/adapters/next.ts
@@ -0,0 +1 @@
+export * from '@trpc/server/adapters/next';
diff --git a/packages/trpc/server/auth-router/router.ts b/packages/trpc/server/auth-router/router.ts
new file mode 100644
index 000000000..0e127a508
--- /dev/null
+++ b/packages/trpc/server/auth-router/router.ts
@@ -0,0 +1,24 @@
+import { TRPCError } from '@trpc/server';
+
+import { createUser } from '@documenso/lib/server-only/user/create-user';
+
+import { procedure, router } from '../trpc';
+import { ZSignUpMutationSchema } from './schema';
+
+export const authRouter = router({
+ signup: procedure.input(ZSignUpMutationSchema).mutation(async ({ input }) => {
+ try {
+ const { name, email, password } = input;
+
+ return await createUser({ name, email, password });
+ } catch (err) {
+ console.error(err);
+
+ throw new TRPCError({
+ code: 'BAD_REQUEST',
+ message:
+ 'We were unable to create your account. Please review the information you provided and try again.',
+ });
+ }
+ }),
+});
diff --git a/packages/trpc/server/auth-router/schema.ts b/packages/trpc/server/auth-router/schema.ts
new file mode 100644
index 000000000..e2b5b3ac8
--- /dev/null
+++ b/packages/trpc/server/auth-router/schema.ts
@@ -0,0 +1,10 @@
+import 'zod';
+import { z } from 'zod';
+
+export const ZSignUpMutationSchema = z.object({
+ name: z.string().min(1),
+ email: z.string().email(),
+ password: z.string().min(6),
+});
+
+export type TSignUpMutationSchema = z.infer;
diff --git a/packages/trpc/server/context.ts b/packages/trpc/server/context.ts
new file mode 100644
index 000000000..252a09317
--- /dev/null
+++ b/packages/trpc/server/context.ts
@@ -0,0 +1,21 @@
+import { CreateNextContextOptions } from '@trpc/server/adapters/next';
+
+import { getServerSession } from '@documenso/lib/next-auth/get-server-session';
+
+export const createTrpcContext = async ({ req, res }: CreateNextContextOptions) => {
+ const session = await getServerSession({ req, res });
+
+ if (!session) {
+ return {
+ session: null,
+ user: null,
+ };
+ }
+
+ return {
+ session,
+ user: session,
+ };
+};
+
+export type TrpcContext = Awaited>;
diff --git a/packages/trpc/server/index.ts b/packages/trpc/server/index.ts
new file mode 100644
index 000000000..4490143ba
--- /dev/null
+++ b/packages/trpc/server/index.ts
@@ -0,0 +1 @@
+export * from '@trpc/server';
diff --git a/packages/trpc/server/profile-router/router.ts b/packages/trpc/server/profile-router/router.ts
new file mode 100644
index 000000000..d5d191d6e
--- /dev/null
+++ b/packages/trpc/server/profile-router/router.ts
@@ -0,0 +1,52 @@
+import { TRPCError } from '@trpc/server';
+
+import { updatePassword } from '@documenso/lib/server-only/user/update-password';
+import { updateProfile } from '@documenso/lib/server-only/user/update-profile';
+
+import { authenticatedProcedure, router } from '../trpc';
+import { ZUpdatePasswordMutationSchema, ZUpdateProfileMutationSchema } from './schema';
+
+export const profileRouter = router({
+ updateProfile: authenticatedProcedure
+ .input(ZUpdateProfileMutationSchema)
+ .mutation(async ({ input, ctx }) => {
+ try {
+ const { name, signature } = input;
+
+ return await updateProfile({
+ userId: ctx.user.id,
+ name,
+ signature,
+ });
+ } catch (err) {
+ console.error(err);
+
+ throw new TRPCError({
+ code: 'BAD_REQUEST',
+ message:
+ 'We were unable to update your profile. Please review the information you provided and try again.',
+ });
+ }
+ }),
+
+ updatePassword: authenticatedProcedure
+ .input(ZUpdatePasswordMutationSchema)
+ .mutation(async ({ input, ctx }) => {
+ try {
+ const { password } = input;
+
+ return await updatePassword({
+ userId: ctx.user.id,
+ password,
+ });
+ } catch (err) {
+ console.error(err);
+
+ throw new TRPCError({
+ code: 'BAD_REQUEST',
+ message:
+ 'We were unable to update your profile. Please review the information you provided and try again.',
+ });
+ }
+ }),
+});
diff --git a/packages/trpc/server/profile-router/schema.ts b/packages/trpc/server/profile-router/schema.ts
new file mode 100644
index 000000000..0533d40e5
--- /dev/null
+++ b/packages/trpc/server/profile-router/schema.ts
@@ -0,0 +1,14 @@
+import { z } from 'zod';
+
+export const ZUpdateProfileMutationSchema = z.object({
+ name: z.string().min(1),
+ signature: z.string(),
+});
+
+export type TUpdateProfileMutationSchema = z.infer;
+
+export const ZUpdatePasswordMutationSchema = z.object({
+ password: z.string().min(6),
+});
+
+export type TUpdatePasswordMutationSchema = z.infer;
diff --git a/packages/trpc/server/router.ts b/packages/trpc/server/router.ts
new file mode 100644
index 000000000..d3f47b5c9
--- /dev/null
+++ b/packages/trpc/server/router.ts
@@ -0,0 +1,11 @@
+import { authRouter } from './auth-router/router';
+import { profileRouter } from './profile-router/router';
+import { procedure, router } from './trpc';
+
+export const appRouter = router({
+ hello: procedure.query(() => 'Hello, world!'),
+ auth: authRouter,
+ profile: profileRouter,
+});
+
+export type AppRouter = typeof appRouter;
diff --git a/packages/trpc/server/trpc.ts b/packages/trpc/server/trpc.ts
new file mode 100644
index 000000000..9058f242e
--- /dev/null
+++ b/packages/trpc/server/trpc.ts
@@ -0,0 +1,36 @@
+import { TRPCError, initTRPC } from '@trpc/server';
+import SuperJSON from 'superjson';
+
+import { TrpcContext } from './context';
+
+const t = initTRPC.context().create({
+ transformer: SuperJSON,
+});
+
+/**
+ * Middlewares
+ */
+export const authenticatedMiddleware = t.middleware(({ ctx, next }) => {
+ if (!ctx.session) {
+ throw new TRPCError({
+ code: 'UNAUTHORIZED',
+ message: 'You must be logged in to perform this action.',
+ });
+ }
+
+ return next({
+ ctx: {
+ ...ctx,
+
+ user: ctx.user,
+ session: ctx.session,
+ },
+ });
+});
+
+/**
+ * Routers and Procedures
+ */
+export const router = t.router;
+export const procedure = t.procedure;
+export const authenticatedProcedure = t.procedure.use(authenticatedMiddleware);
diff --git a/packages/trpc/tsconfig.json b/packages/trpc/tsconfig.json
new file mode 100644
index 000000000..4aefcb98c
--- /dev/null
+++ b/packages/trpc/tsconfig.json
@@ -0,0 +1,5 @@
+{
+ "extends": "@documenso/tsconfig/react-library.json",
+ "include": ["."],
+ "exclude": ["dist", "build", "node_modules"]
+}
diff --git a/packages/tsconfig/README.md b/packages/tsconfig/README.md
new file mode 100644
index 000000000..0da79cf23
--- /dev/null
+++ b/packages/tsconfig/README.md
@@ -0,0 +1,3 @@
+# `tsconfig`
+
+These are base shared `tsconfig.json`s from which all other `tsconfig.json`'s inherit from.
diff --git a/packages/tsconfig/base.json b/packages/tsconfig/base.json
new file mode 100644
index 000000000..91807d6a8
--- /dev/null
+++ b/packages/tsconfig/base.json
@@ -0,0 +1,22 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "display": "Default",
+ "compilerOptions": {
+ "alwaysStrict": true,
+ "composite": false,
+ "declaration": true,
+ "declarationMap": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "inlineSources": false,
+ "isolatedModules": true,
+ "moduleResolution": "node",
+ "noUnusedLocals": false,
+ "noUnusedParameters": false,
+ "preserveWatchOutput": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "target": "ES2018"
+ },
+ "exclude": ["node_modules"]
+}
diff --git a/packages/tsconfig/nextjs.json b/packages/tsconfig/nextjs.json
new file mode 100644
index 000000000..98c7d865a
--- /dev/null
+++ b/packages/tsconfig/nextjs.json
@@ -0,0 +1,24 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "display": "Next.js",
+ "extends": "./base.json",
+ "compilerOptions": {
+ "incremental": true,
+ "jsx": "preserve",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "module": "esnext",
+ "noEmit": true,
+ "declaration": false,
+ "declarationMap": false,
+ "strict": true,
+ "useUnknownInCatchVariables": false,
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "resolveJsonModule": true
+ },
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json
new file mode 100644
index 000000000..881ec485c
--- /dev/null
+++ b/packages/tsconfig/package.json
@@ -0,0 +1,11 @@
+{
+ "name": "@documenso/tsconfig",
+ "version": "0.0.0",
+ "license": "MIT",
+ "private": true,
+ "files": [
+ "base.json",
+ "nextjs.json",
+ "react-library.json"
+ ]
+}
diff --git a/packages/tsconfig/react-library.json b/packages/tsconfig/react-library.json
new file mode 100644
index 000000000..cdc684e3d
--- /dev/null
+++ b/packages/tsconfig/react-library.json
@@ -0,0 +1,15 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "display": "React Library",
+ "extends": "./base.json",
+ "compilerOptions": {
+ "alwaysStrict": true,
+ "jsx": "preserve",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "module": "esnext",
+ "noEmit": true,
+ "declaration": false,
+ "declarationMap": false,
+ "resolveJsonModule": true
+ }
+}
diff --git a/packages/types/avatar-from-initials.d.ts b/packages/types/avatar-from-initials.d.ts
deleted file mode 100644
index 782434374..000000000
--- a/packages/types/avatar-from-initials.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-declare module "avatar-from-initials" {
- import avatarFromInitials from "../../node_modules/avatar-from-initials/index";
- export default avatarFromInitials;
-}
diff --git a/packages/types/next-auth.d.ts b/packages/types/next-auth.d.ts
deleted file mode 100644
index 420063e88..000000000
--- a/packages/types/next-auth.d.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { User as PrismaUser } from "@prisma/client";
-import { DefaultUser } from "next-auth";
-
-declare module "next-auth" {
- /**
- * Returned by `useSession`, `getSession` and received as a prop on the `Provider` React Context
- */
- interface Session {
- hasValidLicense: boolean;
- user: User;
- }
- interface User extends Omit {
- id: PrismaUser["id"];
- emailVerified?: PrismaUser["emailVerified"];
- email_verified?: boolean;
- impersonatedByUID?: number;
- belongsToActiveTeam?: boolean;
- }
-}
diff --git a/packages/ui/components/breadcrumb/breadcrumb.tsx b/packages/ui/components/breadcrumb/breadcrumb.tsx
deleted file mode 100644
index d256908c3..000000000
--- a/packages/ui/components/breadcrumb/breadcrumb.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import React from "react";
-import Link from "next/link";
-import { ChevronLeftIcon, ChevronRightIcon } from "@heroicons/react/20/solid";
-
-export function Breadcrumb(props: any) {
- return (
- <>
-
- 1 ? props.items[props.items.length - 2].href : props.items[0].href
- }
- className="flex items-center text-sm font-medium text-gray-500 hover:text-gray-700">
-
- Back
-
-
-
-
- {props?.items.map((item: any, index: number) => (
-
- {index > 0 ? (
-
- ) : (
- ""
- )}
-
-
-
- {item.title}
-
-
-
-
- ))}
-
-
- >
- );
-}
diff --git a/packages/ui/components/breadcrumb/index.ts b/packages/ui/components/breadcrumb/index.ts
deleted file mode 100644
index 69b4a5ced..000000000
--- a/packages/ui/components/breadcrumb/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Breadcrumb } from "./breadcrumb";
diff --git a/packages/ui/components/button/Button.tsx b/packages/ui/components/button/Button.tsx
deleted file mode 100644
index 2d2502833..000000000
--- a/packages/ui/components/button/Button.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-import React from "react";
-import Link from "next/link";
-import { classNames } from "@documenso/lib";
-
-export function Button(props: any) {
- const isLink = typeof props.href !== "undefined" && !props.disabled;
- const { color = "primary", icon, disabled, onClick } = props;
- const baseStyles =
- "inline-flex gap-x-2 items-center justify-center min-w-[80px] rounded-md border border-transparent px-4 py-2 text-sm font-medium shadow-sm disabled:bg-gray-300 duration-200";
- const primaryStyles = "text-gray-900 bg-neon hover:bg-neon-dark";
- const secondaryStyles = "border-gray-300 bg-white text-gray-700 hover:bg-gray-50";
-
- return isLink ? (
-
- {props.icon ? (
-
- ) : (
- ""
- )}
- {props.children}
-
- ) : (
-
- {props.icon ? (
-
- ) : (
- ""
- )}
- {props.children}
-
- );
-}
diff --git a/packages/ui/components/button/IconButton.tsx b/packages/ui/components/button/IconButton.tsx
deleted file mode 100644
index 2793b6359..000000000
--- a/packages/ui/components/button/IconButton.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import React from "react";
-import Link from "next/link";
-import { classNames } from "@documenso/lib";
-
-export function IconButton(props: any) {
- const isLink = typeof props.href !== "undefined";
- const { color = "primary", icon, disabled, onClick } = props;
- const baseStyles = "disabled:text-gray-300";
- const primaryStyles = "text-neon hover:text-neon-dark";
- const secondaryStyles = "text-gray-700 hover:text-neon-dark";
-
- return isLink ? (
-
- {props.icon ? (
-
- ) : (
- ""
- )}
- {props.children}
-
- ) : (
-
- {props.icon ? (
-
- ) : (
- ""
- )}
- {props.children}
-
- );
-}
diff --git a/packages/ui/components/button/index.ts b/packages/ui/components/button/index.ts
deleted file mode 100644
index f5602215e..000000000
--- a/packages/ui/components/button/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { Button } from "./Button";
-export { IconButton } from "./IconButton";
diff --git a/packages/ui/components/dialog/Dialog.tsx b/packages/ui/components/dialog/Dialog.tsx
deleted file mode 100644
index 8f23ef8f4..000000000
--- a/packages/ui/components/dialog/Dialog.tsx
+++ /dev/null
@@ -1,106 +0,0 @@
-import React, { useMemo } from "react";
-import { Fragment } from "react";
-import { sendSigningRequests } from "@documenso/lib/api";
-import { truncate } from "@documenso/lib/helpers";
-import { Button } from "@documenso/ui";
-import { Dialog as DialogComponent, Transition } from "@headlessui/react";
-import { Document as PrismaDocument } from "@prisma/client";
-
-type FormValue = {
- id: number;
- email: string;
- name: string;
-};
-
-type DialogProps = {
- title: string;
- open: boolean;
- setOpen: (open: boolean) => void;
- document: PrismaDocument;
- formValues: FormValue[];
- setLoading: (loading: boolean) => void;
- icon: React.ReactNode;
- truncateTitle?: boolean;
-};
-
-export function Dialog({
- title,
- open,
- setOpen,
- document,
- formValues,
- setLoading,
- icon,
- truncateTitle = true,
-}: DialogProps) {
- const unsentEmailsLength = formValues.filter(
- (s: any) => s.email && s.sendStatus != "SENT"
- ).length;
-
- const documentTitle = truncateTitle ? truncate(document.title) : document.title;
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- {icon}
-
-
-
- {title}
-
-
-
- {`"${documentTitle}" will be sent to ${unsentEmailsLength} recipients.`}
-
-
-
-
-
- setOpen(false)}>
- Cancel
-
- {
- setOpen(false);
- setLoading(true);
- sendSigningRequests(document).finally(() => {
- setLoading(false);
- });
- }}>
- Send
-
-
-
-
-
-
-
-
- );
-}
diff --git a/packages/ui/components/dialog/index.ts b/packages/ui/components/dialog/index.ts
deleted file mode 100644
index 9a0f94da7..000000000
--- a/packages/ui/components/dialog/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Dialog } from "./Dialog";
diff --git a/packages/ui/components/selectBox/SelectBox.tsx b/packages/ui/components/selectBox/SelectBox.tsx
deleted file mode 100644
index cfab5b18b..000000000
--- a/packages/ui/components/selectBox/SelectBox.tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-import React, { Fragment, useState } from "react";
-import { classNames } from "@documenso/lib";
-import { Listbox, Transition } from "@headlessui/react";
-import { CheckIcon, ChevronUpDownIcon } from "@heroicons/react/24/outline";
-
-export function SelectBox(props: any) {
- return (
-
-
{
- props.onChange(e);
- }}>
- {({ open }) => (
- <>
-
- {props.label}
-
-
-
- {props?.value?.label}
-
-
-
-
-
-
-
- {props.options.map((option: any) => (
-
- classNames(
- active ? "bg-neon text-white" : "text-gray-900",
- "relative cursor-default select-none py-2 pl-3 pr-9"
- )
- }
- value={option}>
- {({ selected, active }) => (
- <>
-
- {option.label}
-
-
- {option.value === props.value.value ? (
-
-
-
- ) : null}
- >
- )}
-
- ))}
-
-
-
- >
- )}
-
-
- );
-}
diff --git a/packages/ui/components/selectBox/index.ts b/packages/ui/components/selectBox/index.ts
deleted file mode 100644
index 0b9a0cc57..000000000
--- a/packages/ui/components/selectBox/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { SelectBox } from "./SelectBox";
diff --git a/packages/ui/components/tooltip/Tooltip.tsx b/packages/ui/components/tooltip/Tooltip.tsx
deleted file mode 100644
index 56bb59095..000000000
--- a/packages/ui/components/tooltip/Tooltip.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import React, { useState } from "react";
-import { classNames } from "@documenso/lib";
-
-export function Tooltip(props: any) {
- let timeout: NodeJS.Timeout;
- const [active, setActive] = useState(false);
-
- const showTip = () => {
- timeout = setTimeout(() => {
- setActive(true);
- }, props.delay || 40);
- };
-
- const hideTip = () => {
- clearInterval(timeout);
- setActive(false);
- };
-
- return (
-
- {props.children}
-
-
- {props.label}
-
-
-
- );
-};
diff --git a/packages/ui/components/tooltip/index.ts b/packages/ui/components/tooltip/index.ts
deleted file mode 100644
index 3d7eea698..000000000
--- a/packages/ui/components/tooltip/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Tooltip } from "./Tooltip";
\ No newline at end of file
diff --git a/packages/ui/index.ts b/packages/ui/index.ts
index a320043be..cb0ff5c3b 100644
--- a/packages/ui/index.ts
+++ b/packages/ui/index.ts
@@ -1,5 +1 @@
-export { Button, IconButton } from "./components/button/index";
-export { SelectBox } from "./components/selectBox/index";
-export { Breadcrumb } from "./components/breadcrumb/index";
-export { Dialog } from "./components/dialog/index";
-export { Tooltip } from "./components/tooltip/index";
+export {};
diff --git a/packages/ui/lib/utils.ts b/packages/ui/lib/utils.ts
new file mode 100644
index 000000000..e57f98028
--- /dev/null
+++ b/packages/ui/lib/utils.ts
@@ -0,0 +1,6 @@
+import { ClassValue, clsx } from 'clsx';
+import { twMerge } from 'tailwind-merge';
+
+export function cn(...inputs: ClassValue[]) {
+ return twMerge(clsx(inputs));
+}
diff --git a/packages/ui/package.json b/packages/ui/package.json
index bc49a81b9..939517107 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -1,8 +1,61 @@
{
"name": "@documenso/ui",
"version": "0.0.0",
- "private": true,
- "main": "index.ts",
- "devDependencies": {},
- "dependencies": {}
+ "main": "./index.ts",
+ "types": "./index.ts",
+ "license": "MIT",
+ "files": [
+ "components/",
+ "hooks/",
+ "lib/",
+ "primitives/",
+ "index.tsx"
+ ],
+ "scripts": {
+ "lint": "eslint \"**/*.ts*\""
+ },
+ "devDependencies": {
+ "@documenso/tsconfig": "*",
+ "@types/react": "18.2.6",
+ "@types/react-dom": "18.2.4",
+ "react": "18.2.0",
+ "typescript": "^5.0.4"
+ },
+ "dependencies": {
+ "@radix-ui/react-accordion": "^1.1.1",
+ "@radix-ui/react-alert-dialog": "^1.0.3",
+ "@radix-ui/react-aspect-ratio": "^1.0.2",
+ "@radix-ui/react-avatar": "^1.0.2",
+ "@radix-ui/react-checkbox": "^1.0.3",
+ "@radix-ui/react-collapsible": "^1.0.2",
+ "@radix-ui/react-context-menu": "^2.1.3",
+ "@radix-ui/react-dialog": "^1.0.3",
+ "@radix-ui/react-dropdown-menu": "^2.0.4",
+ "@radix-ui/react-hover-card": "^1.0.5",
+ "@radix-ui/react-label": "^2.0.1",
+ "@radix-ui/react-menubar": "^1.0.2",
+ "@radix-ui/react-navigation-menu": "^1.1.2",
+ "@radix-ui/react-popover": "^1.0.5",
+ "@radix-ui/react-progress": "^1.0.2",
+ "@radix-ui/react-radio-group": "^1.1.2",
+ "@radix-ui/react-scroll-area": "^1.0.3",
+ "@radix-ui/react-select": "^1.2.1",
+ "@radix-ui/react-separator": "^1.0.2",
+ "@radix-ui/react-slider": "^1.1.1",
+ "@radix-ui/react-switch": "^1.0.2",
+ "@radix-ui/react-tabs": "^1.0.3",
+ "@radix-ui/react-toast": "^1.1.3",
+ "@radix-ui/react-toggle": "^1.0.2",
+ "@radix-ui/react-tooltip": "^1.0.5",
+ "@tanstack/react-table": "^8.9.1",
+ "class-variance-authority": "^0.6.0",
+ "clsx": "^1.2.1",
+ "cmdk": "^0.2.0",
+ "date-fns": "^2.30.0",
+ "framer-motion": "^10.12.8",
+ "lucide-react": "^0.214.0",
+ "react-day-picker": "^8.7.1",
+ "tailwind-merge": "^1.12.0",
+ "tailwindcss-animate": "^1.0.5"
+ }
}
diff --git a/packages/ui/primitives/accordion.tsx b/packages/ui/primitives/accordion.tsx
new file mode 100644
index 000000000..6da6cfe1e
--- /dev/null
+++ b/packages/ui/primitives/accordion.tsx
@@ -0,0 +1,60 @@
+'use client';
+
+import * as React from 'react';
+
+import * as AccordionPrimitive from '@radix-ui/react-accordion';
+import { ChevronDown } from 'lucide-react';
+
+import { cn } from '../lib/utils';
+
+const Accordion = AccordionPrimitive.Root;
+
+const AccordionItem = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+AccordionItem.displayName = 'AccordionItem';
+
+const AccordionTrigger = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, children, ...props }, ref) => (
+
+ svg]:rotate-180',
+ className,
+ )}
+ {...props}
+ >
+ {children}
+
+
+
+));
+
+AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
+
+const AccordionContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, children, ...props }, ref) => (
+
+ {children}
+
+));
+
+AccordionContent.displayName = AccordionPrimitive.Content.displayName;
+
+export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
diff --git a/packages/ui/primitives/alert-dialog.tsx b/packages/ui/primitives/alert-dialog.tsx
new file mode 100644
index 000000000..576eace0a
--- /dev/null
+++ b/packages/ui/primitives/alert-dialog.tsx
@@ -0,0 +1,136 @@
+'use client';
+
+import * as React from 'react';
+
+import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
+
+import { cn } from '../lib/utils';
+import { buttonVariants } from './button';
+
+const AlertDialog = AlertDialogPrimitive.Root;
+
+const AlertDialogTrigger = AlertDialogPrimitive.Trigger;
+
+const AlertDialogPortal = ({
+ className,
+ children,
+ ...props
+}: AlertDialogPrimitive.AlertDialogPortalProps) => (
+
+
+ {children}
+
+
+);
+
+AlertDialogPortal.displayName = AlertDialogPrimitive.Portal.displayName;
+
+const AlertDialogOverlay = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, children: _children, ...props }, ref) => (
+
+));
+
+AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
+
+const AlertDialogContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+
+
+
+));
+
+AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
+
+const AlertDialogHeader = ({ className, ...props }: React.HTMLAttributes) => (
+
+);
+
+AlertDialogHeader.displayName = 'AlertDialogHeader';
+
+const AlertDialogFooter = ({ className, ...props }: React.HTMLAttributes) => (
+
+);
+
+AlertDialogFooter.displayName = 'AlertDialogFooter';
+
+const AlertDialogTitle = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
+
+const AlertDialogDescription = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
+
+const AlertDialogAction = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
+
+const AlertDialogCancel = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
+
+export {
+ AlertDialog,
+ AlertDialogTrigger,
+ AlertDialogContent,
+ AlertDialogHeader,
+ AlertDialogFooter,
+ AlertDialogTitle,
+ AlertDialogDescription,
+ AlertDialogAction,
+ AlertDialogCancel,
+};
diff --git a/packages/ui/primitives/alert.tsx b/packages/ui/primitives/alert.tsx
new file mode 100644
index 000000000..190f7781d
--- /dev/null
+++ b/packages/ui/primitives/alert.tsx
@@ -0,0 +1,53 @@
+import * as React from 'react';
+
+import { VariantProps, cva } from 'class-variance-authority';
+
+import { cn } from '../lib/utils';
+
+const alertVariants = cva(
+ 'relative w-full rounded-lg border p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11',
+ {
+ variants: {
+ variant: {
+ default: 'bg-background text-foreground',
+ destructive:
+ 'text-destructive border-destructive/50 dark:border-destructive [&>svg]:text-destructive text-destructive',
+ },
+ },
+ defaultVariants: {
+ variant: 'default',
+ },
+ },
+);
+
+const Alert = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes & VariantProps
+>(({ className, variant, ...props }, ref) => (
+
+));
+
+Alert.displayName = 'Alert';
+
+const AlertTitle = React.forwardRef>(
+ ({ className, ...props }, ref) => (
+
+ ),
+);
+
+AlertTitle.displayName = 'AlertTitle';
+
+const AlertDescription = React.forwardRef<
+ HTMLParagraphElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+));
+
+AlertDescription.displayName = 'AlertDescription';
+
+export { Alert, AlertTitle, AlertDescription };
diff --git a/packages/ui/primitives/aspect-ratio.tsx b/packages/ui/primitives/aspect-ratio.tsx
new file mode 100644
index 000000000..aaabffbc4
--- /dev/null
+++ b/packages/ui/primitives/aspect-ratio.tsx
@@ -0,0 +1,7 @@
+'use client';
+
+import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
+
+const AspectRatio = AspectRatioPrimitive.Root;
+
+export { AspectRatio };
diff --git a/packages/ui/primitives/avatar.tsx b/packages/ui/primitives/avatar.tsx
new file mode 100644
index 000000000..0039ad4eb
--- /dev/null
+++ b/packages/ui/primitives/avatar.tsx
@@ -0,0 +1,51 @@
+'use client';
+
+import * as React from 'react';
+
+import * as AvatarPrimitive from '@radix-ui/react-avatar';
+
+import { cn } from '../lib/utils';
+
+const Avatar = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+Avatar.displayName = AvatarPrimitive.Root.displayName;
+
+const AvatarImage = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+AvatarImage.displayName = AvatarPrimitive.Image.displayName;
+
+const AvatarFallback = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
+
+export { Avatar, AvatarImage, AvatarFallback };
diff --git a/packages/ui/primitives/badge.tsx b/packages/ui/primitives/badge.tsx
new file mode 100644
index 000000000..1ff153f79
--- /dev/null
+++ b/packages/ui/primitives/badge.tsx
@@ -0,0 +1,34 @@
+import * as React from 'react';
+
+import { VariantProps, cva } from 'class-variance-authority';
+
+import { cn } from '../lib/utils';
+
+const badgeVariants = cva(
+ 'inline-flex items-center border rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',
+ {
+ variants: {
+ variant: {
+ default: 'bg-primary hover:bg-primary/80 border-transparent text-primary-foreground',
+ secondary:
+ 'bg-secondary hover:bg-secondary/80 border-transparent text-secondary-foreground',
+ destructive:
+ 'bg-destructive hover:bg-destructive/80 border-transparent text-destructive-foreground',
+ outline: 'text-foreground',
+ },
+ },
+ defaultVariants: {
+ variant: 'default',
+ },
+ },
+);
+
+export interface BadgeProps
+ extends React.HTMLAttributes,
+ VariantProps {}
+
+function Badge({ className, variant, ...props }: BadgeProps) {
+ return
;
+}
+
+export { Badge, badgeVariants };
diff --git a/packages/ui/primitives/button.tsx b/packages/ui/primitives/button.tsx
new file mode 100644
index 000000000..cf2e48bd2
--- /dev/null
+++ b/packages/ui/primitives/button.tsx
@@ -0,0 +1,50 @@
+import * as React from 'react';
+
+import { Slot } from '@radix-ui/react-slot';
+import { VariantProps, cva } from 'class-variance-authority';
+
+import { cn } from '../lib/utils';
+
+const buttonVariants = cva(
+ 'inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background',
+ {
+ variants: {
+ variant: {
+ default: 'bg-primary text-primary-foreground hover:bg-primary/90',
+ destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',
+ outline: 'border border-input hover:bg-accent hover:text-accent-foreground',
+ secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
+ ghost: 'hover:bg-accent hover:text-accent-foreground',
+ link: 'underline-offset-4 hover:underline text-primary',
+ },
+ size: {
+ default: 'h-10 py-2 px-4',
+ sm: 'h-9 px-3 rounded-md',
+ lg: 'h-11 px-8 rounded-md',
+ },
+ },
+ defaultVariants: {
+ variant: 'default',
+ size: 'default',
+ },
+ },
+);
+
+export interface ButtonProps
+ extends React.ButtonHTMLAttributes,
+ VariantProps {
+ asChild?: boolean;
+}
+
+const Button = React.forwardRef(
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
+ const Comp = asChild ? Slot : 'button';
+ return (
+
+ );
+ },
+);
+
+Button.displayName = 'Button';
+
+export { Button, buttonVariants };
diff --git a/packages/ui/primitives/calendar.tsx b/packages/ui/primitives/calendar.tsx
new file mode 100644
index 000000000..0c0110441
--- /dev/null
+++ b/packages/ui/primitives/calendar.tsx
@@ -0,0 +1,59 @@
+'use client';
+
+import * as React from 'react';
+
+import { ChevronLeft, ChevronRight } from 'lucide-react';
+import { DayPicker } from 'react-day-picker';
+
+import { cn } from '../lib/utils';
+import { buttonVariants } from './button';
+
+export type CalendarProps = React.ComponentProps;
+
+function Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) {
+ return (
+ ,
+ IconRight: ({ ..._props }) => ,
+ }}
+ {...props}
+ />
+ );
+}
+
+Calendar.displayName = 'Calendar';
+
+export { Calendar };
diff --git a/packages/ui/primitives/card.tsx b/packages/ui/primitives/card.tsx
new file mode 100644
index 000000000..903ada633
--- /dev/null
+++ b/packages/ui/primitives/card.tsx
@@ -0,0 +1,116 @@
+'use client';
+
+import * as React from 'react';
+
+import { motion, useMotionTemplate, useMotionValue } from 'framer-motion';
+
+import { cn } from '../lib/utils';
+
+export type CardProps = React.HTMLAttributes & {
+ spotlight?: boolean;
+ gradient?: boolean;
+ degrees?: number;
+};
+
+const Card = React.forwardRef(
+ ({ className, children, gradient = false, spotlight = false, degrees = 120, ...props }, ref) => {
+ const mouseX = useMotionValue(0);
+ const mouseY = useMotionValue(0);
+
+ const handleMouseMove = ({ currentTarget, clientX, clientY }: React.MouseEvent) => {
+ const { left, top } = currentTarget.getBoundingClientRect();
+
+ mouseX.set(clientX - left);
+ mouseY.set(clientY - top);
+ };
+
+ return (
+
+ {spotlight && (
+
+ )}
+ {children}
+
+ );
+ },
+);
+
+Card.displayName = 'Card';
+
+const CardHeader = React.forwardRef>(
+ ({ className, ...props }, ref) => (
+
+ ),
+);
+
+CardHeader.displayName = 'CardHeader';
+
+const CardTitle = React.forwardRef>(
+ ({ className, ...props }, ref) => (
+
+ ),
+);
+
+CardTitle.displayName = 'CardTitle';
+
+const CardDescription = React.forwardRef<
+ HTMLParagraphElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+));
+
+CardDescription.displayName = 'CardDescription';
+
+const CardContent = React.forwardRef>(
+ ({ className, ...props }, ref) => (
+
+ ),
+);
+
+CardContent.displayName = 'CardContent';
+
+const CardFooter = React.forwardRef>(
+ ({ className, ...props }, ref) => (
+
+ ),
+);
+
+CardFooter.displayName = 'CardFooter';
+
+export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
diff --git a/packages/ui/primitives/checkbox.tsx b/packages/ui/primitives/checkbox.tsx
new file mode 100644
index 000000000..63a945c63
--- /dev/null
+++ b/packages/ui/primitives/checkbox.tsx
@@ -0,0 +1,30 @@
+'use client';
+
+import * as React from 'react';
+
+import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
+import { Check } from 'lucide-react';
+
+import { cn } from '../lib/utils';
+
+const Checkbox = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+
+
+
+
+));
+
+Checkbox.displayName = CheckboxPrimitive.Root.displayName;
+
+export { Checkbox };
diff --git a/packages/ui/primitives/collapsible.tsx b/packages/ui/primitives/collapsible.tsx
new file mode 100644
index 000000000..86ab87d88
--- /dev/null
+++ b/packages/ui/primitives/collapsible.tsx
@@ -0,0 +1,11 @@
+'use client';
+
+import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
+
+const Collapsible = CollapsiblePrimitive.Root;
+
+const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;
+
+const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;
+
+export { Collapsible, CollapsibleTrigger, CollapsibleContent };
diff --git a/packages/ui/primitives/command.tsx b/packages/ui/primitives/command.tsx
new file mode 100644
index 000000000..9b97168be
--- /dev/null
+++ b/packages/ui/primitives/command.tsx
@@ -0,0 +1,149 @@
+'use client';
+
+import * as React from 'react';
+
+import { DialogProps } from '@radix-ui/react-dialog';
+import { Command as CommandPrimitive } from 'cmdk';
+import { Search } from 'lucide-react';
+
+import { cn } from '../lib/utils';
+import { Dialog, DialogContent } from './dialog';
+
+const Command = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+Command.displayName = CommandPrimitive.displayName;
+
+type CommandDialogProps = DialogProps;
+
+const CommandDialog = ({ children, ...props }: CommandDialogProps) => {
+ return (
+
+
+
+ {children}
+
+
+
+ );
+};
+
+const CommandInput = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+
+
+
+));
+
+CommandInput.displayName = CommandPrimitive.Input.displayName;
+
+const CommandList = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+CommandList.displayName = CommandPrimitive.List.displayName;
+
+const CommandEmpty = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>((props, ref) => (
+
+));
+
+CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
+
+const CommandGroup = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+CommandGroup.displayName = CommandPrimitive.Group.displayName;
+
+const CommandSeparator = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
+
+const CommandItem = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+CommandItem.displayName = CommandPrimitive.Item.displayName;
+
+const CommandShortcut = ({ className, ...props }: React.HTMLAttributes) => {
+ return (
+
+ );
+};
+
+CommandShortcut.displayName = 'CommandShortcut';
+
+export {
+ Command,
+ CommandDialog,
+ CommandInput,
+ CommandList,
+ CommandEmpty,
+ CommandGroup,
+ CommandItem,
+ CommandShortcut,
+ CommandSeparator,
+};
diff --git a/packages/ui/primitives/context-menu.tsx b/packages/ui/primitives/context-menu.tsx
new file mode 100644
index 000000000..25dd2a53a
--- /dev/null
+++ b/packages/ui/primitives/context-menu.tsx
@@ -0,0 +1,199 @@
+'use client';
+
+import * as React from 'react';
+
+import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
+import { Check, ChevronRight, Circle } from 'lucide-react';
+
+import { cn } from '../lib/utils';
+
+const ContextMenu = ContextMenuPrimitive.Root;
+
+const ContextMenuTrigger = ContextMenuPrimitive.Trigger;
+
+const ContextMenuGroup = ContextMenuPrimitive.Group;
+
+const ContextMenuPortal = ContextMenuPrimitive.Portal;
+
+const ContextMenuSub = ContextMenuPrimitive.Sub;
+
+const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
+
+const ContextMenuSubTrigger = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef & {
+ inset?: boolean;
+ }
+>(({ className, inset, children, ...props }, ref) => (
+
+ {children}
+
+
+));
+
+ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
+
+const ContextMenuSubContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
+
+const ContextMenuContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+
+
+));
+
+ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
+
+const ContextMenuItem = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef & {
+ inset?: boolean;
+ }
+>(({ className, inset, ...props }, ref) => (
+
+));
+
+ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
+
+const ContextMenuCheckboxItem = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, children, checked, ...props }, ref) => (
+
+
+
+
+
+
+ {children}
+
+));
+
+ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
+
+const ContextMenuRadioItem = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, children, ...props }, ref) => (
+
+
+
+
+
+
+ {children}
+
+));
+
+ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
+
+const ContextMenuLabel = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef & {
+ inset?: boolean;
+ }
+>(({ className, inset, ...props }, ref) => (
+
+));
+
+ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
+
+const ContextMenuSeparator = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
+
+const ContextMenuShortcut = ({ className, ...props }: React.HTMLAttributes) => {
+ return (
+
+ );
+};
+
+ContextMenuShortcut.displayName = 'ContextMenuShortcut';
+
+export {
+ ContextMenu,
+ ContextMenuTrigger,
+ ContextMenuContent,
+ ContextMenuItem,
+ ContextMenuCheckboxItem,
+ ContextMenuRadioItem,
+ ContextMenuLabel,
+ ContextMenuSeparator,
+ ContextMenuShortcut,
+ ContextMenuGroup,
+ ContextMenuPortal,
+ ContextMenuSub,
+ ContextMenuSubContent,
+ ContextMenuSubTrigger,
+ ContextMenuRadioGroup,
+};
diff --git a/packages/ui/primitives/data-table-pagination.tsx b/packages/ui/primitives/data-table-pagination.tsx
new file mode 100644
index 000000000..0ff27ae11
--- /dev/null
+++ b/packages/ui/primitives/data-table-pagination.tsx
@@ -0,0 +1,85 @@
+import { Table } from '@tanstack/react-table';
+import { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';
+
+import { Button } from './button';
+import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './select';
+
+interface DataTablePaginationProps {
+ table: Table;
+}
+
+export function DataTablePagination({ table }: DataTablePaginationProps) {
+ return (
+
+
+ {table.getFilteredSelectedRowModel().rows.length} of{' '}
+ {table.getFilteredRowModel().rows.length} row(s) selected.
+
+
+
+
Rows per page
+
{
+ table.setPageSize(Number(value));
+ }}
+ >
+
+
+
+
+ {[10, 20, 30, 40, 50].map((pageSize) => (
+
+ {pageSize}
+
+ ))}
+
+
+
+
+
+ Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount()}
+
+
+
+ table.setPageIndex(0)}
+ disabled={!table.getCanPreviousPage()}
+ >
+ Go to first page
+
+
+ table.previousPage()}
+ disabled={!table.getCanPreviousPage()}
+ >
+ Go to previous page
+
+
+ table.nextPage()}
+ disabled={!table.getCanNextPage()}
+ >
+ Go to next page
+
+
+ table.setPageIndex(table.getPageCount() - 1)}
+ disabled={!table.getCanNextPage()}
+ >
+ Go to last page
+
+
+
+
+
+ );
+}
diff --git a/packages/ui/primitives/data-table.tsx b/packages/ui/primitives/data-table.tsx
new file mode 100644
index 000000000..e4a89e141
--- /dev/null
+++ b/packages/ui/primitives/data-table.tsx
@@ -0,0 +1,120 @@
+'use client';
+
+import React, { useMemo } from 'react';
+
+import {
+ ColumnDef,
+ PaginationState,
+ Table as TTable,
+ Updater,
+ flexRender,
+ getCoreRowModel,
+ useReactTable,
+} from '@tanstack/react-table';
+
+import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from './table';
+
+export type DataTableChildren = (_table: TTable) => React.ReactNode;
+
+export interface DataTableProps {
+ columns: ColumnDef[];
+ data: TData[];
+ perPage?: number;
+ currentPage?: number;
+ totalPages?: number;
+ onPaginationChange?: (_page: number, _perPage: number) => void;
+ children?: DataTableChildren;
+}
+
+export function DataTable({
+ columns,
+ data,
+ perPage,
+ currentPage,
+ totalPages,
+ onPaginationChange,
+ children,
+}: DataTableProps) {
+ const pagination = useMemo(() => {
+ if (currentPage !== undefined && perPage !== undefined) {
+ return {
+ pageIndex: currentPage - 1,
+ pageSize: perPage,
+ };
+ }
+
+ return {
+ pageIndex: 0,
+ pageSize: 0,
+ };
+ }, [currentPage, perPage]);
+
+ const manualPagination = Boolean(currentPage !== undefined && totalPages !== undefined);
+
+ const onTablePaginationChange = (updater: Updater) => {
+ if (typeof updater === 'function') {
+ const newState = updater(pagination);
+
+ onPaginationChange?.(newState.pageIndex + 1, newState.pageSize);
+ } else {
+ onPaginationChange?.(updater.pageIndex + 1, updater.pageSize);
+ }
+ };
+
+ const table = useReactTable({
+ data,
+ columns,
+ getCoreRowModel: getCoreRowModel(),
+ state: {
+ pagination: manualPagination ? pagination : undefined,
+ },
+ manualPagination,
+ pageCount: totalPages,
+ onPaginationChange: onTablePaginationChange,
+ });
+
+ return (
+ <>
+
+
+
+ {table.getHeaderGroups().map((headerGroup) => (
+
+ {headerGroup.headers.map((header) => {
+ return (
+
+ {header.isPlaceholder
+ ? null
+ : flexRender(header.column.columnDef.header, header.getContext())}
+
+ );
+ })}
+
+ ))}
+
+
+ {table.getRowModel().rows?.length ? (
+ table.getRowModel().rows.map((row) => (
+
+ {row.getVisibleCells().map((cell) => (
+
+ {flexRender(cell.column.columnDef.cell, cell.getContext())}
+
+ ))}
+
+ ))
+ ) : (
+
+
+ No results.
+
+
+ )}
+
+
+
+
+ {children && {children(table)}
}
+ >
+ );
+}
diff --git a/packages/ui/primitives/dialog.tsx b/packages/ui/primitives/dialog.tsx
new file mode 100644
index 000000000..c83b3d87c
--- /dev/null
+++ b/packages/ui/primitives/dialog.tsx
@@ -0,0 +1,114 @@
+'use client';
+
+import * as React from 'react';
+
+import * as DialogPrimitive from '@radix-ui/react-dialog';
+import { X } from 'lucide-react';
+
+import { cn } from '../lib/utils';
+
+const Dialog = DialogPrimitive.Root;
+
+const DialogTrigger = DialogPrimitive.Trigger;
+
+const DialogPortal = ({ className, children, ...props }: DialogPrimitive.DialogPortalProps) => (
+
+
+ {children}
+
+
+);
+
+DialogPortal.displayName = DialogPrimitive.Portal.displayName;
+
+const DialogOverlay = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
+
+const DialogContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, children, ...props }, ref) => (
+
+
+
+ {children}
+
+
+ Close
+
+
+
+));
+
+DialogContent.displayName = DialogPrimitive.Content.displayName;
+
+const DialogHeader = ({ className, ...props }: React.HTMLAttributes) => (
+
+);
+
+DialogHeader.displayName = 'DialogHeader';
+
+const DialogFooter = ({ className, ...props }: React.HTMLAttributes) => (
+
+);
+
+DialogFooter.displayName = 'DialogFooter';
+
+const DialogTitle = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+DialogTitle.displayName = DialogPrimitive.Title.displayName;
+
+const DialogDescription = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+DialogDescription.displayName = DialogPrimitive.Description.displayName;
+
+export {
+ Dialog,
+ DialogTrigger,
+ DialogContent,
+ DialogHeader,
+ DialogFooter,
+ DialogTitle,
+ DialogDescription,
+};
diff --git a/packages/ui/primitives/dropdown-menu.tsx b/packages/ui/primitives/dropdown-menu.tsx
new file mode 100644
index 000000000..7d230087c
--- /dev/null
+++ b/packages/ui/primitives/dropdown-menu.tsx
@@ -0,0 +1,197 @@
+'use client';
+
+import * as React from 'react';
+
+import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
+import { Check, ChevronRight, Circle } from 'lucide-react';
+
+import { cn } from '../lib/utils';
+
+const DropdownMenu = DropdownMenuPrimitive.Root;
+
+const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
+
+const DropdownMenuGroup = DropdownMenuPrimitive.Group;
+
+const DropdownMenuPortal = DropdownMenuPrimitive.Portal;
+
+const DropdownMenuSub = DropdownMenuPrimitive.Sub;
+
+const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
+
+const DropdownMenuSubTrigger = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef & {
+ inset?: boolean;
+ }
+>(({ className, inset, children, ...props }, ref) => (
+
+ {children}
+
+
+));
+
+DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
+
+const DropdownMenuSubContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+
+DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
+
+const DropdownMenuContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, sideOffset = 4, ...props }, ref) => (
+
+
+
+));
+
+DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
+
+const DropdownMenuItem = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef & {
+ inset?: boolean;
+ }
+>(({ className, inset, ...props }, ref) => (
+
+));
+
+DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
+
+const DropdownMenuCheckboxItem = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, children, checked, ...props }, ref) => (
+
+
+
+
+
+
+ {children}
+
+));
+
+DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
+
+const DropdownMenuRadioItem = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, children, ...props }, ref) => (
+
+
+
+
+
+
+ {children}
+
+));
+
+DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
+
+const DropdownMenuLabel = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef & {
+ inset?: boolean;
+ }
+>(({ className, inset, ...props }, ref) => (
+
+));
+
+DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
+
+const DropdownMenuSeparator = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+