├── front
├── .prettierignore
├── .eslintrc.json
├── public
│ ├── logo.png
│ ├── authjs.webp
│ ├── favicon.ico
│ ├── vercel.svg
│ ├── vercel-logotype.svg
│ ├── prisma.svg
│ ├── thirteen.svg
│ └── next.svg
├── styles
│ ├── SF-Pro-Display-Medium.otf
│ └── globals.css
├── postcss.config.js
├── prettier.config.js
├── components
│ ├── Layout.tsx
│ ├── Button.tsx
│ ├── icons
│ │ └── github.tsx
│ ├── Intro.tsx
│ ├── ChatLine.tsx
│ └── Chat.tsx
├── pages
│ ├── index.tsx
│ ├── _app.tsx
│ └── api
│ │ └── chat.ts
├── next.config.js
├── lib
│ ├── hooks
│ │ ├── use-scroll.ts
│ │ ├── use-local-storage.ts
│ │ ├── use-window-size.ts
│ │ └── use-intersection-observer.ts
│ ├── constants.ts
│ └── utils.ts
├── .gitignore
├── .env.example
├── README.md
├── tsconfig.json
├── tailwind.config.js
├── package.json
└── yarn.lock
├── assets
└── gt-chat.png
├── back
├── requirements.txt
├── build.sh
├── README.md
├── embed.py
├── main.py
├── .gitignore
├── qa.py
└── scrape.py
├── TODO.md
└── README.md
/front/.prettierignore:
--------------------------------------------------------------------------------
1 | yarn.lock
2 | node_modules
3 | .next
4 |
--------------------------------------------------------------------------------
/front/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/assets/gt-chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hxu296/gt-chat/HEAD/assets/gt-chat.png
--------------------------------------------------------------------------------
/front/public/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hxu296/gt-chat/HEAD/front/public/logo.png
--------------------------------------------------------------------------------
/front/public/authjs.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hxu296/gt-chat/HEAD/front/public/authjs.webp
--------------------------------------------------------------------------------
/front/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hxu296/gt-chat/HEAD/front/public/favicon.ico
--------------------------------------------------------------------------------
/front/styles/SF-Pro-Display-Medium.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hxu296/gt-chat/HEAD/front/styles/SF-Pro-Display-Medium.otf
--------------------------------------------------------------------------------
/front/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | };
7 |
--------------------------------------------------------------------------------
/front/styles/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | #__next {
6 | @apply h-full;
7 | }
8 | html,
9 | body {
10 | @apply h-full;
11 | }
12 |
--------------------------------------------------------------------------------
/front/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/front/prettier.config.js:
--------------------------------------------------------------------------------
1 | // prettier.config.js
2 | module.exports = {
3 | bracketSpacing: true,
4 | semi: true,
5 | trailingComma: "all",
6 | printWidth: 80,
7 | tabWidth: 2,
8 | plugins: [require("prettier-plugin-tailwindcss")],
9 | };
10 |
--------------------------------------------------------------------------------
/back/requirements.txt:
--------------------------------------------------------------------------------
1 | beautifulsoup4==4.12.2
2 | fastapi==0.95.0
3 | langchain==0.0.136
4 | pandas==1.5.1
5 | pydantic==1.10.7
6 | requests==2.26.0
7 | uvicorn==0.21.1
8 | slowapi==0.1.8
9 | openai==0.27.2
10 | tiktoken==0.2.0
11 | faiss-cpu==1.7.3
12 | supabase==0.5.6
--------------------------------------------------------------------------------
/back/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | pip3 install -r requirements.txt
3 | pip3 install --upgrade gdown
4 | mkdir -p search_index
5 | gdown -O search_index/ https://drive.google.com/uc?id=1N1TgnfOWrylVqVv45Z-g06i-Wy4S81J_
6 | gdown -O search_index/ https://drive.google.com/uc?id=1VOgUuBrkOO2E14XgJ1kJDGq5_pGdCSAy
--------------------------------------------------------------------------------
/TODO.md:
--------------------------------------------------------------------------------
1 | 1. add more sources, including https://www.omscentral.com/, https://ratemyprofessor.com/, https://www.reddit.com/r/OMSCS/ for course reviews
2 | 2. enhance the weight of https://omscs.gatech.edu/current-courses, maybe always have it in prompt
3 | 3. add tests for the backend, for scope and quality of answers
--------------------------------------------------------------------------------
/front/components/Layout.tsx:
--------------------------------------------------------------------------------
1 | import { ReactNode } from "react";
2 |
3 | interface LayoutProps {
4 | children: ReactNode;
5 | }
6 | export default function Layout({ children }: LayoutProps) {
7 | return (
8 |
9 | {children}
10 |
11 | );
12 | }
13 |
--------------------------------------------------------------------------------
/front/components/Button.tsx:
--------------------------------------------------------------------------------
1 | export function Button({ ...props }: any) {
2 | return (
3 |
7 | );
8 | }
9 |
--------------------------------------------------------------------------------
/front/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import { Chat } from "../components/Chat";
2 | import Layout from "@/components/Layout";
3 | import { Intro } from "@/components/Intro";
4 | import Head from "next/head";
5 |
6 | function Home() {
7 | return (
8 |
9 |
10 | GT Chat
11 |
12 |
13 |
14 |
15 | );
16 | }
17 |
18 | export default Home;
19 |
--------------------------------------------------------------------------------
/front/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {
3 | reactStrictMode: true,
4 | swcMinify: true,
5 | images: {
6 | domains: ["lh3.googleusercontent.com"],
7 | },
8 | async redirects() {
9 | return [
10 | {
11 | source: "/github",
12 | destination: "https://github.com/hxu296/gt-chat",
13 | permanent: false,
14 | },
15 | ];
16 | },
17 | };
18 |
19 | module.exports = nextConfig;
20 |
--------------------------------------------------------------------------------
/front/lib/hooks/use-scroll.ts:
--------------------------------------------------------------------------------
1 | import { useCallback, useEffect, useState } from "react";
2 |
3 | export default function useScroll(threshold: number) {
4 | const [scrolled, setScrolled] = useState(false);
5 |
6 | const onScroll = useCallback(() => {
7 | setScrolled(window.pageYOffset > threshold);
8 | }, [threshold]);
9 |
10 | useEffect(() => {
11 | window.addEventListener("scroll", onScroll);
12 | return () => window.removeEventListener("scroll", onScroll);
13 | }, [onScroll]);
14 |
15 | return scrolled;
16 | }
17 |
--------------------------------------------------------------------------------
/front/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # next.js
12 | /.next/
13 | /out/
14 |
15 | # production
16 | /build
17 |
18 | # misc
19 | .DS_Store
20 | *.pem
21 |
22 | # debug
23 | npm-debug.log*
24 | yarn-debug.log*
25 | yarn-error.log*
26 | .pnpm-debug.log*
27 |
28 | # local env files
29 | .env*.local
30 | .env
31 |
32 | # vercel
33 | .vercel
34 |
35 | # typescript
36 | *.tsbuildinfo
37 | next-env.d.ts
38 |
--------------------------------------------------------------------------------
/front/.env.example:
--------------------------------------------------------------------------------
1 | ### These env vars are for authentication & database to work. If you don't require them, feel free to enter dummy values for all these.
2 |
3 | # Create a free PostgreSQL database with 2 clicks (no account needed): https://dev.new/
4 | DATABASE_URL=
5 |
6 | # Follow the instructions here to create a Google OAuth app: https://refine.dev/blog/nextauth-google-github-authentication-nextjs/#for-googleprovider-make-sure-you-have-a-google-account
7 | GOOGLE_CLIENT_ID=
8 | GOOGLE_CLIENT_SECRET=
9 |
10 | # Only for production – generate one here: https://generate-secret.vercel.app/32
11 | NEXTAUTH_SECRET=
12 |
--------------------------------------------------------------------------------
/front/public/vercel-logotype.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/front/public/prisma.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/front/lib/hooks/use-local-storage.ts:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from "react";
2 |
3 | const useLocalStorage = (
4 | key: string,
5 | initialValue: T,
6 | ): [T, (value: T) => void] => {
7 | const [storedValue, setStoredValue] = useState(initialValue);
8 |
9 | useEffect(() => {
10 | // Retrieve from localStorage
11 | const item = window.localStorage.getItem(key);
12 | if (item) {
13 | setStoredValue(JSON.parse(item));
14 | }
15 | }, [key]);
16 |
17 | const setValue = (value: T) => {
18 | // Save state
19 | setStoredValue(value);
20 | // Save to localStorage
21 | window.localStorage.setItem(key, JSON.stringify(value));
22 | };
23 | return [storedValue, setValue];
24 | };
25 |
26 | export default useLocalStorage;
27 |
--------------------------------------------------------------------------------
/front/README.md:
--------------------------------------------------------------------------------
1 | # Front
2 | To start the frontend you will need:
3 |
4 | - Node.js 12 or later installed
5 | - The URL of the backend server as an environment variable `DOMAIN`
6 |
7 | ## Deployment
8 |
9 | [](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fhxu296%2Fgt-chat)
10 |
11 | ## Installing
12 |
13 | Clone the repository and then run the following command to install the required dependencies:
14 |
15 | ```bash
16 | npm install
17 | ```
18 |
19 | Running the Chatbot
20 |
21 | To start the chatbot, run the following command:
22 |
23 | ```bash
24 | npm run dev
25 | ```
26 |
27 | This will start the Next.js development server and open the chatbot in your default browser at http://localhost:3000.
28 |
--------------------------------------------------------------------------------
/front/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es6",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "baseUrl": ".",
8 | "paths": {
9 | "@/components/*": ["components/*"],
10 | "@/pages/*": ["pages/*"],
11 | "@/lib/*": ["lib/*"],
12 | "@/styles/*": ["styles/*"]
13 | },
14 | "strict": true,
15 | "forceConsistentCasingInFileNames": true,
16 | "noEmit": true,
17 | "esModuleInterop": true,
18 | "module": "esnext",
19 | "moduleResolution": "node",
20 | "resolveJsonModule": true,
21 | "isolatedModules": true,
22 | "jsx": "preserve",
23 | "incremental": true
24 | },
25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
26 | "exclude": ["node_modules"]
27 | }
28 |
--------------------------------------------------------------------------------
/front/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import "@/styles/globals.css";
2 | import type { AppProps } from "next/app";
3 | import { Analytics } from "@vercel/analytics/react";
4 | import { Provider as RWBProvider } from "react-wrap-balancer";
5 | import cx from "classnames";
6 | import localFont from "@next/font/local";
7 | import { Inter } from "@next/font/google";
8 |
9 | const sfPro = localFont({
10 | src: "../styles/SF-Pro-Display-Medium.otf",
11 | variable: "--font-sf",
12 | });
13 |
14 | const inter = Inter({
15 | variable: "--font-inter",
16 | subsets: ["latin"],
17 | });
18 |
19 | export default function MyApp({
20 | Component,
21 | pageProps: { ...pageProps },
22 | }: AppProps) {
23 | return (
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | );
33 | }
34 |
--------------------------------------------------------------------------------
/front/components/icons/github.tsx:
--------------------------------------------------------------------------------
1 | export default function Github({ className }: { className?: string }) {
2 | return (
3 |
13 | );
14 | }
15 |
--------------------------------------------------------------------------------
/front/public/thirteen.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/front/lib/constants.ts:
--------------------------------------------------------------------------------
1 | export const FADE_IN_ANIMATION_SETTINGS = {
2 | initial: { opacity: 0 },
3 | animate: { opacity: 1 },
4 | transition: { duration: 0.2 },
5 | };
6 |
7 | export const FADE_DOWN_ANIMATION_VARIANTS = {
8 | hidden: { opacity: 0, y: -10 },
9 | show: { opacity: 1, y: 0, transition: { type: "spring" } },
10 | };
11 |
12 | export const FADE_UP_ANIMATION_VARIANTS = {
13 | hidden: { opacity: 0, y: 10 },
14 | show: { opacity: 1, y: 0, transition: { type: "spring" } },
15 | };
16 |
17 | export const DEPLOY_URL =
18 | "https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsteven-tey%2Fprecedent&project-name=precedent&repository-name=precedent&demo-title=Precedent&demo-description=An%20opinionated%20collection%20of%20components%2C%20hooks%2C%20and%20utilities%20for%20your%20Next%20project.&demo-url=https%3A%2F%2Fprecedent.dev&demo-image=https%3A%2F%2Fprecedent.dev%2Fapi%2Fog&env=DATABASE_URL,GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET,NEXTAUTH_SECRET&envDescription=How%20to%20get%20these%20env%20variables%3A&envLink=https%3A%2F%2Fgithub.com%2Fsteven-tey%2Fprecedent%2Fblob%2Fmain%2F.env.example";
19 |
--------------------------------------------------------------------------------
/front/pages/api/chat.ts:
--------------------------------------------------------------------------------
1 | import { NextRequest, NextResponse } from "next/server";
2 |
3 | export const config = {
4 | runtime: "edge",
5 | };
6 |
7 | export default async function handler(req: NextRequest) {
8 | const { question } = (await req.json()) as { question: string };
9 |
10 | if (!question) {
11 | return new NextResponse(JSON.stringify({ text: "Empty prompt" }), {
12 | status: 400,
13 | headers: { "content-type": "application/json" },
14 | });
15 | }
16 |
17 | const res = await fetch(
18 | process.env.DOMAIN + "/qa" + encodeURI("?q=" + question),
19 | {
20 | method: "GET",
21 | },
22 | );
23 |
24 | if (res.status != 200) {
25 | return new NextResponse(
26 | JSON.stringify({ text: "Failed to fetch answer" }),
27 | {
28 | status: 400,
29 | headers: {
30 | "content-type": "application/json",
31 | "Cache-Control": "s-maxage=1, stale-while-revalidate",
32 | },
33 | },
34 | );
35 | }
36 |
37 | const respJson = await res.json();
38 |
39 | return new Response(JSON.stringify({ text: respJson.answer }));
40 | }
41 |
--------------------------------------------------------------------------------
/front/lib/hooks/use-window-size.ts:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from "react";
2 |
3 | export default function useWindowSize() {
4 | const [windowSize, setWindowSize] = useState<{
5 | width: number | undefined;
6 | height: number | undefined;
7 | }>({
8 | width: undefined,
9 | height: undefined,
10 | });
11 |
12 | useEffect(() => {
13 | // Handler to call on window resize
14 | function handleResize() {
15 | // Set window width/height to state
16 | setWindowSize({
17 | width: window.innerWidth,
18 | height: window.innerHeight,
19 | });
20 | }
21 |
22 | // Add event listener
23 | window.addEventListener("resize", handleResize);
24 |
25 | // Call handler right away so state gets updated with initial window size
26 | handleResize();
27 |
28 | // Remove event listener on cleanup
29 | return () => window.removeEventListener("resize", handleResize);
30 | }, []); // Empty array ensures that effect is only run on mount
31 |
32 | return {
33 | windowSize,
34 | isMobile: typeof windowSize?.width === "number" && windowSize?.width < 768,
35 | isDesktop:
36 | typeof windowSize?.width === "number" && windowSize?.width >= 768,
37 | };
38 | }
39 |
--------------------------------------------------------------------------------
/front/lib/hooks/use-intersection-observer.ts:
--------------------------------------------------------------------------------
1 | import { RefObject, useEffect, useState } from "react";
2 |
3 | interface Args extends IntersectionObserverInit {
4 | freezeOnceVisible?: boolean;
5 | }
6 |
7 | function useIntersectionObserver(
8 | elementRef: RefObject,
9 | {
10 | threshold = 0,
11 | root = null,
12 | rootMargin = "0%",
13 | freezeOnceVisible = false,
14 | }: Args,
15 | ): IntersectionObserverEntry | undefined {
16 | const [entry, setEntry] = useState();
17 |
18 | const frozen = entry?.isIntersecting && freezeOnceVisible;
19 |
20 | const updateEntry = ([entry]: IntersectionObserverEntry[]): void => {
21 | setEntry(entry);
22 | };
23 |
24 | useEffect(() => {
25 | const node = elementRef?.current; // DOM Ref
26 | const hasIOSupport = !!window.IntersectionObserver;
27 |
28 | if (!hasIOSupport || frozen || !node) return;
29 |
30 | const observerParams = { threshold, root, rootMargin };
31 | const observer = new IntersectionObserver(updateEntry, observerParams);
32 |
33 | observer.observe(node);
34 |
35 | return () => observer.disconnect();
36 |
37 | // eslint-disable-next-line react-hooks/exhaustive-deps
38 | }, [threshold, root, rootMargin, frozen]);
39 |
40 | return entry;
41 | }
42 |
43 | export default useIntersectionObserver;
44 |
--------------------------------------------------------------------------------
/front/public/next.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/back/README.md:
--------------------------------------------------------------------------------
1 | # Back
2 |
3 | The backend for the project is a python fastapi server that uses the LangChain + OpenAI API to generate answer for to `/qa` GET endpoint.
4 |
5 | __Supabase__
6 |
7 | You will need to set up a Supabase project and create a table called `qa_log` with the following schema:
8 |
9 | | Column Name | Data Type |
10 | | ----------- | --------- |
11 | | id | uuid |
12 | | created_at | timestamp |
13 | | question | text |
14 | | answer | text |
15 | | success | boolean |
16 |
17 | You need the Supabase project URL and service key to set up the environment variables later.
18 |
19 | __Deployment__
20 |
21 | Change the Railway build command to `bash build.sh` and it should work out of the box.
22 |
23 | [](https://railway.app/template/FZffm_?referralCode=wOsORh)
24 |
25 | __To run the server locally:__
26 |
27 | Step 1: Set up python environment and fetch OpenAI embeddings
28 | ```
29 | python3 -m venv venv
30 | bash build.sh
31 | ```
32 |
33 | Step 2: Set up environment variables
34 | ```
35 | export OPENAI_API_KEY=
36 | export SUPABASE_URL=
37 | export SUPABASE_KEY=
38 | ```
39 |
40 | Step 3: Run Local Server
41 | ```
42 | python main.py
43 | ```
44 |
45 | ## Contributing
46 |
47 | Pull requests are always welcomed!
--------------------------------------------------------------------------------
/front/components/Intro.tsx:
--------------------------------------------------------------------------------
1 | import Balancer from "react-wrap-balancer";
2 | import { motion } from "framer-motion";
3 | import { FADE_DOWN_ANIMATION_VARIANTS } from "@/lib/constants";
4 | import GitHub from "@/components/icons/github";
5 |
6 | export function Intro() {
7 | return (
8 |
31 | );
32 | }
33 |
--------------------------------------------------------------------------------
/front/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | const plugin = require("tailwindcss/plugin");
3 |
4 | module.exports = {
5 | content: [
6 | "./pages/**/*.{js,ts,jsx,tsx}",
7 | "./components/**/*.{js,ts,jsx,tsx}",
8 | ],
9 | future: {
10 | hoverOnlyWhenSupported: true,
11 | },
12 | theme: {
13 | extend: {
14 | fontFamily: {
15 | display: ["var(--font-sf)", "system-ui", "sans-serif"],
16 | default: ["var(--font-inter)", "system-ui", "sans-serif"],
17 | },
18 | animation: {
19 | // Tooltip
20 | "slide-up-fade": "slide-up-fade 0.3s cubic-bezier(0.16, 1, 0.3, 1)",
21 | "slide-down-fade": "slide-down-fade 0.3s cubic-bezier(0.16, 1, 0.3, 1)",
22 | },
23 | keyframes: {
24 | // Tooltip
25 | "slide-up-fade": {
26 | "0%": { opacity: 0, transform: "translateY(6px)" },
27 | "100%": { opacity: 1, transform: "translateY(0)" },
28 | },
29 | "slide-down-fade": {
30 | "0%": { opacity: 0, transform: "translateY(-6px)" },
31 | "100%": { opacity: 1, transform: "translateY(0)" },
32 | },
33 | },
34 | },
35 | },
36 | plugins: [
37 | require("@tailwindcss/forms"),
38 | require("@tailwindcss/typography"),
39 | require("@tailwindcss/line-clamp"),
40 | plugin(({ addVariant }) => {
41 | addVariant("radix-side-top", '&[data-side="top"]');
42 | addVariant("radix-side-bottom", '&[data-side="bottom"]');
43 | }),
44 | ],
45 | };
46 |
--------------------------------------------------------------------------------
/front/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "buckai",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "format:write": "prettier --write \"**/*.{css,js,json,jsx,ts,tsx}\"",
9 | "format": "prettier \"**/*.{css,js,json,jsx,ts,tsx}\"",
10 | "start": "next start",
11 | "lint": "next lint"
12 | },
13 | "dependencies": {
14 | "@next/font": "13.1.1",
15 | "@types/node": "18.11.18",
16 | "@types/react": "18.0.26",
17 | "@types/react-dom": "18.0.10",
18 | "@vercel/analytics": "^0.1.6",
19 | "classnames": "^2.3.2",
20 | "eslint": "8.31.0",
21 | "eslint-config-next": "13.1.1",
22 | "focus-trap-react": "^10.0.2",
23 | "framer-motion": "^8.4.2",
24 | "lucide-react": "0.105.0-alpha.4",
25 | "ms": "^2.1.3",
26 | "next": "13.1.1",
27 | "react": "18.2.0",
28 | "react-cookie": "^4.1.1",
29 | "react-dom": "18.2.0",
30 | "react-markdown": "^8.0.4",
31 | "react-wrap-balancer": "^0.3.0",
32 | "typescript": "4.9.4",
33 | "use-debounce": "^9.0.3"
34 | },
35 | "devDependencies": {
36 | "@tailwindcss/forms": "^0.5.3",
37 | "@tailwindcss/line-clamp": "^0.4.2",
38 | "@tailwindcss/typography": "^0.5.9",
39 | "@types/ms": "^0.7.31",
40 | "autoprefixer": "^10.4.13",
41 | "concurrently": "^7.6.0",
42 | "postcss": "^8.4.21",
43 | "prettier": "^2.8.2",
44 | "prettier-plugin-tailwindcss": "^0.2.1",
45 | "prisma": "^4.8.1",
46 | "tailwindcss": "^3.2.4"
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/back/embed.py:
--------------------------------------------------------------------------------
1 | import os
2 | import os.path as osp
3 | from typing import List
4 | from tqdm import tqdm
5 | from langchain.docstore.document import Document
6 | from langchain.embeddings.openai import OpenAIEmbeddings
7 | from langchain.text_splitter import NLTKTextSplitter
8 | from langchain.vectorstores.faiss import FAISS
9 | import pandas as pd
10 | import nltk
11 | nltk.download('punkt')
12 |
13 | PROCESSED_CSV_DIRECTORY = "processed" # Directory to save processed CSV file
14 |
15 | def create_docs() -> List[Document]:
16 | docs = []
17 | df = pd.read_csv(osp.join(PROCESSED_CSV_DIRECTORY, 'scraped.csv'))
18 | for index, row in df.iterrows():
19 | doc = Document(page_content=row['text'], metadata={"source": row['url']})
20 | docs.append(doc)
21 | return docs
22 |
23 |
24 | docs = create_docs()
25 |
26 | doc_chunks = []
27 | seen_chunks = set()
28 | total_websites = set()
29 | total_words = 0
30 | splitter = NLTKTextSplitter(chunk_size=1024)
31 | for source in tqdm(docs):
32 | for chunk in splitter.split_text(source.page_content):
33 | if chunk not in seen_chunks:
34 | doc_chunks.append(
35 | Document(page_content=chunk, metadata=source.metadata))
36 | total_words += len(chunk.split())
37 | total_websites.add(source.metadata['source'])
38 | seen_chunks.add(chunk)
39 |
40 | print(f'Total websites: {len(total_websites)}')
41 | print(f'Total chunks: {len(doc_chunks)}')
42 | print(f'Total words: {total_words}')
43 | print(f'Avg words per chunk: {int(total_words / len(doc_chunks))}')
44 | print(f'Estimated embedding cost: ${total_words / 0.75 / 1000 * 0.0004:.2f}')
45 |
46 | search_index = FAISS.from_documents(doc_chunks, OpenAIEmbeddings(model='text-embedding-ada-002'))
47 |
48 | # persistent search index
49 | search_index.save_local("search_index")
50 |
--------------------------------------------------------------------------------
/front/lib/utils.ts:
--------------------------------------------------------------------------------
1 | import ms from "ms";
2 |
3 | export const timeAgo = (timestamp: Date, timeOnly?: boolean): string => {
4 | if (!timestamp) return "never";
5 | return `${ms(Date.now() - new Date(timestamp).getTime())}${
6 | timeOnly ? "" : " ago"
7 | }`;
8 | };
9 |
10 | export async function fetcher(
11 | input: RequestInfo,
12 | init?: RequestInit,
13 | ): Promise {
14 | const res = await fetch(input, init);
15 |
16 | if (!res.ok) {
17 | const json = await res.json();
18 | if (json.error) {
19 | const error = new Error(json.error) as Error & {
20 | status: number;
21 | };
22 | error.status = res.status;
23 | throw error;
24 | } else {
25 | throw new Error("An unexpected error occurred");
26 | }
27 | }
28 |
29 | return res.json();
30 | }
31 |
32 | export function nFormatter(num: number, digits?: number) {
33 | if (!num) return "0";
34 | const lookup = [
35 | { value: 1, symbol: "" },
36 | { value: 1e3, symbol: "K" },
37 | { value: 1e6, symbol: "M" },
38 | { value: 1e9, symbol: "G" },
39 | { value: 1e12, symbol: "T" },
40 | { value: 1e15, symbol: "P" },
41 | { value: 1e18, symbol: "E" },
42 | ];
43 | const rx = /\.0+$|(\.[0-9]*[1-9])0+$/;
44 | var item = lookup
45 | .slice()
46 | .reverse()
47 | .find(function (item) {
48 | return num >= item.value;
49 | });
50 | return item
51 | ? (num / item.value).toFixed(digits || 1).replace(rx, "$1") + item.symbol
52 | : "0";
53 | }
54 |
55 | export function capitalize(str: string) {
56 | if (!str || typeof str !== "string") return str;
57 | return str.charAt(0).toUpperCase() + str.slice(1);
58 | }
59 |
60 | export const truncate = (str: string, length: number) => {
61 | if (!str || str.length <= length) return str;
62 | return `${str.slice(0, length)}...`;
63 | };
64 |
--------------------------------------------------------------------------------
/back/main.py:
--------------------------------------------------------------------------------
1 | from fastapi import FastAPI, Request
2 | from slowapi import Limiter, _rate_limit_exceeded_handler
3 | from slowapi.util import get_remote_address
4 | from slowapi.errors import RateLimitExceeded
5 | from slowapi.middleware import SlowAPIMiddleware
6 | from supabase import create_client, Client
7 | from qa import answer
8 | import uvicorn
9 | import os
10 |
11 | app = FastAPI()
12 | limiter = Limiter(key_func=get_remote_address, default_limits=["5/minute"])
13 | app.state.limiter = limiter
14 | app.add_exception_handler(RateLimitExceeded, _rate_limit_exceeded_handler)
15 | app.add_middleware(SlowAPIMiddleware)
16 |
17 | # connect to supabase
18 | url: str = os.environ.get("SUPABASE_URL")
19 | key: str = os.environ.get("SUPABASE_KEY")
20 | supabase_client = create_client(url, key)
21 |
22 | SUPABASE_TABLE_NAME = "qa_log"
23 |
24 |
25 | @app.get("/")
26 | async def root():
27 | return {"code": 200, "msg": "I am alive"}
28 |
29 |
30 | @app.get("/qa")
31 | async def qa(req: Request):
32 | try:
33 | q = req.query_params["q"]
34 | a = answer(q)
35 | supabase_client.table(SUPABASE_TABLE_NAME).insert({
36 | "question": q,
37 | "answer": a,
38 | "success": True,
39 | }).execute()
40 | return {
41 | "code": 200,
42 | "answer": a,
43 | }
44 | except Exception as err:
45 | try:
46 | print(err)
47 | supabase_client.table(SUPABASE_TABLE_NAME).insert({
48 | "question": q,
49 | "answer": "",
50 | "success": False,
51 |
52 | }).execute()
53 | finally:
54 | return {
55 | "code": 500,
56 | "answer": "Failed to process the question"
57 | }
58 |
59 |
60 | if __name__ == "__main__":
61 | uvicorn.run("main:app", host="0.0.0.0", port=8989, log_level="info")
62 |
--------------------------------------------------------------------------------
/back/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | wheels/
23 | pip-wheel-metadata/
24 | share/python-wheels/
25 | *.egg-info/
26 | .installed.cfg
27 | *.egg
28 | MANIFEST
29 |
30 | # PyInstaller
31 | # Usually these files are written by a python script from a template
32 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
33 | *.manifest
34 | *.spec
35 |
36 | # Installer logs
37 | pip-log.txt
38 | pip-delete-this-directory.txt
39 |
40 | # Unit test / coverage reports
41 | htmlcov/
42 | .tox/
43 | .nox/
44 | .coverage
45 | .coverage.*
46 | .cache
47 | nosetests.xml
48 | coverage.xml
49 | *.cover
50 | *.py,cover
51 | .hypothesis/
52 | .pytest_cache/
53 |
54 | # Translations
55 | *.mo
56 | *.pot
57 |
58 | # Django stuff:
59 | *.log
60 | local_settings.py
61 | db.sqlite3
62 | db.sqlite3-journal
63 |
64 | # Flask stuff:
65 | instance/
66 | .webassets-cache
67 |
68 | # Scrapy stuff:
69 | .scrapy
70 |
71 | # Sphinx documentation
72 | docs/_build/
73 |
74 | # PyBuilder
75 | target/
76 |
77 | # Jupyter Notebook
78 | .ipynb_checkpoints
79 |
80 | # IPython
81 | profile_default/
82 | ipython_config.py
83 |
84 | # pyenv
85 | .python-version
86 |
87 | # pipenv
88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
91 | # install all needed dependencies.
92 | #Pipfile.lock
93 |
94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow
95 | __pypackages__/
96 |
97 | # Celery stuff
98 | celerybeat-schedule
99 | celerybeat.pid
100 |
101 | # SageMath parsed files
102 | *.sage.py
103 |
104 | # Environments
105 | .env
106 | .venv
107 | env/
108 | venv/
109 | ENV/
110 | env.bak/
111 | venv.bak/
112 |
113 | # Spyder project settings
114 | .spyderproject
115 | .spyproject
116 |
117 | # Rope project settings
118 | .ropeproject
119 |
120 | # mkdocs documentation
121 | /site
122 |
123 | # mypy
124 | .mypy_cache/
125 | .dmypy.json
126 | dmypy.json
127 |
128 | # Pyre type checker
129 | .pyre/
130 |
131 |
132 |
133 | # scraped files
134 | /text
135 | /processed
136 | /search_index
--------------------------------------------------------------------------------
/back/qa.py:
--------------------------------------------------------------------------------
1 | from langchain.embeddings.openai import OpenAIEmbeddings
2 | from langchain.vectorstores.faiss import FAISS
3 | from langchain.chat_models import ChatOpenAI
4 | from langchain.schema import (
5 | HumanMessage,
6 | SystemMessage
7 | )
8 |
9 |
10 | search_index = FAISS.load_local("search_index", OpenAIEmbeddings())
11 | chat = ChatOpenAI(temperature=1)
12 |
13 | SYSTEM_TEMPLATE = """You are an advanced question-answering AI designed to assist GaTech students. Upon receiving parts of long documents and a specific question, you are to provide a well-structured answer, along with relevant references, capitalized as "SOURCES." Always list websites in the context as "SOURCES" in your response. If you are uncertain about the information, express your personal opinion and recommendation, but do not fabricate responses or sources. If student questions are not in English, You should respond in their native language.
14 |
15 | ### Example 1:
16 |
17 | Context:
18 | 1. https://gatech.edu/mechanical-engineering/research-areas. The George W. Woodruff School of Mechanical Engineering, which was named in his honor, is one of the oldest and top-ranked programs in the United States.
19 | 2. https://woodruff.gatech.edu/about. Founded in 1888, it offers degrees at the bachelor's, master's, and doctoral levels. The School of Mechanical Engineering is well-known for cutting-edge research in various fields, including robotics, nanotechnology, and energy.
20 |
21 | Question:
22 | What are some research areas in the George W. Woodruff School of Mechanical Engineering at GaTech?
23 |
24 | Answer:
25 | Some research areas in the George W. Woodruff School of Mechanical Engineering at GaTech include robotics, nanotechnology, and energy
26 | SOURCES:
27 | 1. https://gatech.edu/mechanical-engineering/research-areas
28 | 2. https://woodruff.gatech.edu/about
29 |
30 | ### Example 2:
31 |
32 | Context:
33 | 1. https://hr.gatech.edu/node/611. Registration for the pool will be available during 2023 Open Enrollment, which runs from Oct. 24 through Nov. 4.
34 | For questions about qualified requests, donating hours, or involvement in the pool, contact the Administrative Service Center online or by phone at 404.385.1111.
35 | More details about the program can be found at hr.gatech.edu/shared-sick-leave.
36 | 2. https://cse.gatech.edu/news/583965/college-computing-soccer-team-finishes-intramural-season. Related Links: Campus Recreation Center - IntramuralsContact: David Mitchell Communications Officer I david.mitchell@cc.gatech.edu david.mitchell@cc.gatech.edu Georgia Tech Resources Offices & Departments News Center Campus Calendar Special Events GreenBuzz Institute CommunicationsVisitor ResourcesCampus Visits Directions to Campus Visitor Parking Information GTvisitor Wireless Network Information Georgia Tech
37 |
38 | Question:
39 | where can i swim at gatech?
40 |
41 | Answer:
42 | I did not find much information related to where one can swim at Georgia Tech. However, the Campus Recreation Center at Georgia Tech offers swimming amenities and is located at 750 Ferst Drive NW, Atlanta, GA 30332-0495. For more information, you may visit https://crc.gatech.edu/.
43 | SOURCES:
44 | 1. https://hr.gatech.edu/node/611
45 | 2. https://cse.gatech.edu/news/583965/college-computing-soccer-team-finishes-intramural-season
46 | """
47 |
48 | QUESTION_TEMPLATE = """Context:
49 | {context}
50 |
51 | Question:
52 | {question}
53 |
54 | Answer:
55 | """
56 |
57 | def answer(question):
58 | docs = search_index.similarity_search(question, k=10)
59 | context = '\n\n'.join([f'{i+1}. https://{doc.metadata["source"]}. {doc.page_content}' for i, doc in enumerate(docs)])
60 | messages = [ SystemMessage(content=SYSTEM_TEMPLATE),
61 | HumanMessage(content=QUESTION_TEMPLATE.format(context=context, question=question))
62 | ]
63 | answer = chat(messages).content
64 | print(answer)
65 | return answer
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Buzz AI
2 |
3 | 
4 |
5 | BuzzAI or gt-chat is a question-answering chatbot that is designed to answer any questions about __GaTech__. The chatbot is powered by Next.js, FastAPI, and OpenAI, and it provides a fast and intuitive interface for finding answers to commonly asked questions by sourcing from over [14k Georgia Tech websites](./back/websites.txt). The webpages are collected, cleaned, and splitted into 49k 1024-character document chunks and embeded into 1536-dimension vectors using [OpenAI's text-embedding-ada-002](https://platform.openai.com/docs/guides/embeddings) for $4. The [produced FAISS vector index](https://drive.google.com/drive/folders/1HWqVTa3j8j427aTtAz9TlIBHhKFdQ4Ef?usp=sharing) enables the chatbot to quickly find the most relevant information to a question and use it to generate an answer.
6 | You can try it out at [gt-chat.org](https://gt-chat.org)!
7 |
8 | 
9 |
10 | ## Getting Started
11 |
12 | To use BuzzAI, you can simply go to the [gt-chat.org](https://gt-chat.org) or clone the repository and run the chatbot locally.
13 |
14 | To run the chatbot locally, you will need to clone the repository and follow the instructions below.
15 |
16 | ## Frontend Installation
17 | To start the frontend you will need:
18 |
19 | - Node.js 12 or later installed
20 | - The URL of the backend server as an environment variable `DOMAIN`
21 |
22 | __Deployment__
23 |
24 | [](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fhxu296%2Fgt-chat)
25 |
26 | __Installing__
27 |
28 | Clone the repository and then run the following command to install the required dependencies:
29 |
30 | ```bash
31 | npm install
32 | ```
33 |
34 | __Running the Chatbot__
35 |
36 | To start the chatbot, run the following command:
37 |
38 | ```bash
39 | npm run dev
40 | ```
41 |
42 | This will start the Next.js development server and open the chatbot in your default browser at http://localhost:3000.
43 |
44 |
45 |
46 | ## Backend Installation
47 |
48 | The backend for the project is a python fastapi server that uses the LangChain + OpenAI API to generate answer for to `/qa` GET endpoint.
49 |
50 | __Supabase__
51 |
52 | You will need to set up a Supabase project and create a table called `qa_log` with the following schema:
53 |
54 | | Column Name | Data Type |
55 | | ----------- | --------- |
56 | | id | uuid |
57 | | created_at | timestamp |
58 | | question | text |
59 | | answer | text |
60 | | success | boolean |
61 |
62 | You need the Supabase project URL and service key to set up the environment variables later.
63 |
64 | __Deployment__
65 |
66 | Change the Railway build command to `bash build.sh` and it should work out of the box.
67 |
68 | [](https://railway.app/template/FZffm_?referralCode=wOsORh)
69 |
70 | __To run the server locally:__
71 |
72 | Step 1: Set up python environment and fetch OpenAI embeddings
73 | ```
74 | python3 -m venv venv
75 | bash build.sh
76 | ```
77 |
78 | Step 2: Set up environment variables
79 | ```
80 | export OPENAI_API_KEY=
81 | export SUPABASE_URL=
82 | export SUPABASE_KEY=
83 | ```
84 |
85 | Step 3: Run Local Server
86 | ```
87 | python main.py
88 | ```
89 |
90 | ## Special Thanks
91 |
92 | [Risingwave](https://github.com/risingwavelabs/chatgpt-doc-plugin) for the chatgpt-plugin repo that I used as a starting point for the backend.
93 |
94 |
95 | [odysa](https://github.com/odysa/buckyai) for the BuckyAI repo that I used as a starting point for the frontend.
96 |
97 |
98 | ## Contributing
99 |
100 | Pull requests are always welcomed!
--------------------------------------------------------------------------------
/front/components/ChatLine.tsx:
--------------------------------------------------------------------------------
1 | import Balancer from "react-wrap-balancer";
2 |
3 | const BalancerWrapper = (props: any) => ;
4 |
5 | export type Message = {
6 | who: "bot" | "user" | undefined;
7 | message?: string;
8 | };
9 |
10 | // loading placeholder animation for the chat line
11 | export const LoadingChatLine = () => (
12 |
30 | );
31 |
32 | // util helper to convert new lines to
tags
33 | const convertNewLines = (text: string) =>
34 | text.split("\n").map((line, i) => (
35 |
36 | {line}
37 |
38 |
39 | ));
40 |
41 | function extractSources(text: string): {
42 | content: string;
43 | urls: Array;
44 | } {
45 | const urlPattern =
46 | /http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+/g;
47 | const split = text.split("SOURCES:");
48 |
49 | const urls = ((split.length > 1 && split[1].match(urlPattern)) || []).map(
50 | (url) => url.replace(",", ""),
51 | );
52 | const hasUrls = urls && urls.length > 0;
53 |
54 | const content = hasUrls ? split[0].trim() : text.trim();
55 |
56 | return {
57 | content,
58 | urls: removeDuplicates(urls),
59 | };
60 | }
61 |
62 | function removeDuplicates(array: T[]): T[] {
63 | return [...new Set(array)];
64 | }
65 |
66 | function formatText(text: string): {
67 | content: Array;
68 | urls: Array;
69 | } {
70 | const { content, urls } = extractSources(text);
71 | return { content: convertNewLines(content), urls };
72 | }
73 |
74 | export function ChatLine({ who = "bot", message }: Message) {
75 | if (!message) {
76 | return null;
77 | }
78 | const { content, urls } = formatText(message);
79 | const cl = who == "bot" ? "font- font-semibold " : "";
80 | return (
81 |
86 | {/*
*/}
87 |
88 |
89 |
90 |
{content}
91 | {urls && urls.length > 0 && (
92 |
93 |
94 |
Sources:
95 | {urls.map((url, index) => (
96 |
102 | ))}
103 |
104 | )}
105 | {who === "bot" && (
106 |
107 |
108 |
Warning: Not all answers are correct!
109 |
110 | )}
111 |
112 |
113 |
114 | {/* */}
115 |
116 | );
117 | }
118 |
--------------------------------------------------------------------------------
/front/components/Chat.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from "react";
2 | import { type Message, ChatLine, LoadingChatLine } from "./ChatLine";
3 | import { useCookies } from "react-cookie";
4 |
5 | const COOKIE_NAME = "buzz-ai-cookie";
6 |
7 | // default first message to display in UI (not necessary to define the prompt)
8 | export const initialMessages: Message[] = [
9 | {
10 | who: "bot",
11 | message:
12 | "Hi, I'am Buzz AI, an Q&A bot. I've read 14842 official GaTech websites from housing, cc, cse, omscs, and 20 more sub-domains. Ask me anything about Tech!\n\nExample:\nList professors doing HPC research or offering such courses.\nWhat's the Co-op policy for grad students?\nWhat are ways to apply for GTA?\nWrite two creative verses about yourself, in the musical Hamilton's style.",
13 | },
14 | ];
15 |
16 | const InputMessage = ({ input, setInput, sendMessage }: any) => {
17 | return (
18 |
19 |
36 |
65 |
66 | );
67 | };
68 |
69 | export function Chat() {
70 | const [messages, setMessages] = useState(initialMessages);
71 | const [input, setInput] = useState("");
72 | const [loading, setLoading] = useState(false);
73 | const [cookie, setCookie] = useCookies([COOKIE_NAME]);
74 |
75 | useEffect(() => {
76 | if (!cookie[COOKIE_NAME]) {
77 | // generate a semi random short id
78 | const randomId = Math.random().toString(36).substring(7);
79 | setCookie(COOKIE_NAME, randomId);
80 | }
81 | }, [cookie, setCookie]);
82 |
83 | // send message to API /api/chat endpoint
84 | const sendMessage = async (message: string) => {
85 | setLoading(true);
86 | const newMessages = [
87 | ...messages,
88 | { message: message, who: "user" } as Message,
89 | ];
90 | setMessages(newMessages);
91 |
92 | const last10messages = newMessages.slice(-10);
93 |
94 | const response = await fetch("/api/chat", {
95 | method: "POST",
96 | headers: {
97 | "Content-Type": "application/json",
98 | },
99 | body: JSON.stringify({
100 | question: last10messages[last10messages.length - 1].message,
101 | user: cookie[COOKIE_NAME],
102 | }),
103 | });
104 | let botNewMessage = "";
105 | if (response.status != 200) {
106 | botNewMessage = "Failed to fetch data.";
107 | }
108 |
109 | const data = await response.json();
110 | if (data.text == null) {
111 | botNewMessage = "Failed to get answer.";
112 | }
113 | // strip out white spaces from the bot message
114 | botNewMessage = data.text.trim();
115 |
116 | setMessages([
117 | ...newMessages,
118 | { message: botNewMessage, who: "bot" } as Message,
119 | ]);
120 | setLoading(false);
121 | };
122 |
123 | return (
124 |
125 |
126 | {messages.map(({ message, who }, index) => (
127 |
128 | ))}
129 |
130 | {loading && }
131 |
132 |
137 |
138 | );
139 | }
140 |
--------------------------------------------------------------------------------
/back/scrape.py:
--------------------------------------------------------------------------------
1 | import concurrent.futures
2 | import os
3 | import os.path as osp
4 | import re
5 | import urllib.request
6 | from collections import deque
7 | from html.parser import HTMLParser
8 | from urllib.parse import urlparse
9 |
10 | import pandas as pd
11 | import requests
12 | from bs4 import BeautifulSoup
13 |
14 | HTTP_URL_PATTERN = r'^http[s]*://.+' # Regex pattern to match a URL
15 | WEBSITE_DUMP_DIRECTORY = "text" # Directory to dump raw bs4 output
16 | PROCESSED_CSV_DIRECTORY = "processed" # Directory to save processed CSV file
17 | # ENTRY_POINTS = ["https://omscs.gatech.edu/",
18 | # "https://www.gatech.edu/",
19 | # "https://www.cc.gatech.edu/ms-computer-science-admissions-faq",
20 | # "https://housing.gatech.edu/",
21 | # "https://hr.gatech.edu/",
22 | # "https://health.gatech.edu/student-health-insurance/",
23 | # "https://cse.gatech.edu/",
24 | # "https://support.cc.gatech.edu/services/web-hosting",
25 | # "https://webmasters.gatech.edu/handbook/guide-domain-names",
26 | # "https://catalog.gatech.edu/coursesaz/",
27 | # "https://catalog.gatech.edu/courses-grad/",
28 | # "https://www.gatech.edu/academics/all-degree-programs",
29 | # ] # Define website entry points
30 | ENTRY_POINTS = []
31 |
32 | # Create a class to parse the HTML and get the hyperlinks
33 | class HyperlinkParser(HTMLParser):
34 | def __init__(self):
35 | super().__init__()
36 | # Create a list to store the hyperlinks
37 | self.hyperlinks = []
38 |
39 | # Override the HTMLParser's handle_starttag method to get the hyperlinks
40 | def handle_starttag(self, tag, attrs):
41 | attrs = dict(attrs)
42 |
43 | # If the tag is an anchor tag and it has an href attribute, add the href attribute to the list of hyperlinks
44 | if tag == "a" and "href" in attrs:
45 | self.hyperlinks.append(attrs["href"])
46 |
47 | # Function to get the hyperlinks from a URL
48 |
49 |
50 | def get_hyperlinks(url):
51 |
52 | # Try to open the URL and read the HTML
53 | try:
54 | # Open the URL and read the HTML
55 | with urllib.request.urlopen(url) as response:
56 |
57 | # If the response is not HTML, return an empty list
58 | if not response.info().get('Content-Type').startswith("text/html"):
59 | return []
60 |
61 | # Decode the HTML
62 | html = response.read().decode('utf-8')
63 | except Exception as e:
64 | print(e)
65 | return []
66 |
67 | # Create the HTML Parser and then Parse the HTML to get hyperlinks
68 | parser = HyperlinkParser()
69 | parser.feed(html)
70 |
71 | return parser.hyperlinks
72 |
73 | # Function to get the hyperlinks from a URL that are within the same domain
74 |
75 |
76 | def get_domain_hyperlinks(local_domain, url):
77 | clean_links = []
78 | for link in set(get_hyperlinks(url)):
79 | clean_link = None
80 |
81 | # If the link is a URL, check if it is within the same domain
82 | if re.search(HTTP_URL_PATTERN, link):
83 | # Parse the URL and check if the domain is the same
84 | url_obj = urlparse(link)
85 | if local_domain in url_obj.netloc:
86 | clean_link = link
87 |
88 | # If the link is not a URL, check if it is a relative link
89 | else:
90 | if link.startswith("/"):
91 | link = link[1:]
92 | elif link.startswith("#") or link.startswith("mailto:") or link.startswith('java') or link.startswith('tel'):
93 | continue
94 | clean_link = "https://" + local_domain + "/" + link
95 |
96 | if clean_link is not None:
97 | if clean_link.endswith("/"):
98 | clean_link = clean_link[:-1]
99 | clean_links.append(clean_link)
100 |
101 | # Return the list of hyperlinks that are within the same domain
102 | return list(set(clean_links))
103 |
104 |
105 | def remove_duplicate_newlines(s):
106 | return re.sub(r'(\n)+', r'\n', s)
107 |
108 |
109 | def scrape_page(url: str):
110 | print(url) # for debugging and to see the progress
111 |
112 | # Get local domain
113 | local_domain = urlparse(url).netloc
114 |
115 | # Get the text from the URL using BeautifulSoup
116 | try:
117 | resp = requests.get(url, timeout=1000, verify=False)
118 | if resp.status_code != 200:
119 | return
120 |
121 | if not resp.headers['Content-Type'].startswith("text/html"):
122 | return
123 |
124 | soup = BeautifulSoup(resp.text, "html.parser")
125 |
126 | # Get the text but remove the tags
127 | text = soup.get_text()
128 | text = remove_duplicate_newlines(text)
129 |
130 | if text.startswith("Page Not Found"):
131 | return
132 |
133 | # If the crawler gets to a page that requires JavaScript, it will stop the crawl
134 | if "You need to enable JavaScript to run this app." in text or "requires JavaScript to be enabled" in text:
135 | print("Unable to parse page " + url +
136 | " due to JavaScript being required")
137 |
138 | # Otherwise, write the text to the file in the 'text' directory
139 | # Create text/ directory for HTML dump
140 | sub_directory = osp.join(WEBSITE_DUMP_DIRECTORY, local_domain)
141 | if not os.path.exists(sub_directory):
142 | os.mkdir(sub_directory)
143 | # Save text from the url to a .txt file
144 | file_name = url[8:].replace("/", "*") + ".txt"
145 | with open(osp.join(sub_directory, file_name), "w", encoding="utf-8") as f:
146 | f.write(text)
147 | except Exception as e:
148 | print("err" + " " + e + " " + url)
149 |
150 | return get_domain_hyperlinks(local_domain, url)
151 |
152 |
153 | def crawl(urls):
154 | # Create a queue to store the URLs to crawl
155 | queue = urls
156 |
157 | # Create a set to store the URLs that have already been seen (no duplicates)
158 | seen = set(urls)
159 |
160 | # Create a directory to store the text files
161 | if not os.path.exists(WEBSITE_DUMP_DIRECTORY):
162 | os.mkdir(WEBSITE_DUMP_DIRECTORY)
163 |
164 | # While the queue is not empty, continue crawling
165 | with concurrent.futures.ThreadPoolExecutor() as excutor:
166 | while queue:
167 | futures = [excutor.submit(scrape_page, url) for url in queue]
168 | queue = []
169 | try:
170 | for future in concurrent.futures.as_completed(futures):
171 | res = future.result()
172 |
173 | if not res:
174 | continue
175 |
176 | for url in res:
177 | if url not in seen:
178 | seen.add(url)
179 | queue.append(url)
180 | except Exception as e:
181 | print(e)
182 |
183 |
184 | def remove_newlines(serie):
185 | serie = serie.str.replace('\n', ' ')
186 | serie = serie.str.replace('\\n', ' ')
187 | serie = serie.str.replace(' ', ' ')
188 | serie = serie.str.replace(' ', ' ')
189 | return serie
190 |
191 |
192 | def to_csv():
193 | # Create a directory to store the csv files
194 | if not os.path.exists(PROCESSED_CSV_DIRECTORY):
195 | os.mkdir(PROCESSED_CSV_DIRECTORY)
196 | texts = []
197 | total_words = 0
198 | seen_texts = set() # avoid duplicates
199 | for domain in os.listdir(WEBSITE_DUMP_DIRECTORY):
200 | domain_dump = osp.join(WEBSITE_DUMP_DIRECTORY, domain)
201 | for fname in os.listdir(domain_dump):
202 | site_dump = osp.join(WEBSITE_DUMP_DIRECTORY, domain, fname)
203 | site_url = fname[:-4].replace("*", "/") # remove .txt at the end and restore '/'
204 | if not site_url.startswith(domain):
205 | site_url = domain[0] + site_url
206 | with open(site_dump, "r", encoding="UTF-8") as f:
207 | text = f.read()
208 | text_len = len(text.split())
209 | # ignore pages with more than 10,000 words (mainly archives)
210 | if text_len > 1e4: continue
211 | if text not in seen_texts:
212 | texts.append((site_url, text))
213 | total_words += text_len
214 | seen_texts.add(text)
215 |
216 |
217 | df = pd.DataFrame(texts, columns=['url', 'text'])
218 | df['text'] = remove_newlines(df.text)
219 | df.to_csv('processed/scraped.csv')
220 | print(df.head())
221 | print(f'Total websites: {len(df)}')
222 | print(f'Total words: {total_words}')
223 | print(f'Estimated embedding cost: ${total_words / 0.75 / 1000 * 0.0004:.2f}')
224 |
225 | def initialize():
226 | for domain in os.listdir(WEBSITE_DUMP_DIRECTORY):
227 | for fname in os.listdir(osp.join(WEBSITE_DUMP_DIRECTORY, domain)):
228 | url = 'https://' + fname[:-4].replace('*', '/')
229 | ENTRY_POINTS.append(url)
230 | print(f'Initialized with {len(ENTRY_POINTS)} URLs')
231 |
232 | if __name__ == "__main__":
233 | #initialize()
234 | #crawl(ENTRY_POINTS)
235 | print("convert to csv....")
236 | to_csv()
237 |
--------------------------------------------------------------------------------
/front/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/runtime@^7.20.7":
6 | "integrity" "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ=="
7 | "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz"
8 | "version" "7.20.7"
9 | dependencies:
10 | "regenerator-runtime" "^0.13.11"
11 |
12 | "@emotion/is-prop-valid@^0.8.2":
13 | "integrity" "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA=="
14 | "resolved" "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz"
15 | "version" "0.8.8"
16 | dependencies:
17 | "@emotion/memoize" "0.7.4"
18 |
19 | "@emotion/memoize@0.7.4":
20 | "integrity" "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
21 | "resolved" "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz"
22 | "version" "0.7.4"
23 |
24 | "@eslint/eslintrc@^1.4.1":
25 | "integrity" "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA=="
26 | "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz"
27 | "version" "1.4.1"
28 | dependencies:
29 | "ajv" "^6.12.4"
30 | "debug" "^4.3.2"
31 | "espree" "^9.4.0"
32 | "globals" "^13.19.0"
33 | "ignore" "^5.2.0"
34 | "import-fresh" "^3.2.1"
35 | "js-yaml" "^4.1.0"
36 | "minimatch" "^3.1.2"
37 | "strip-json-comments" "^3.1.1"
38 |
39 | "@humanwhocodes/config-array@^0.11.8":
40 | "integrity" "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g=="
41 | "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz"
42 | "version" "0.11.8"
43 | dependencies:
44 | "@humanwhocodes/object-schema" "^1.2.1"
45 | "debug" "^4.1.1"
46 | "minimatch" "^3.0.5"
47 |
48 | "@humanwhocodes/module-importer@^1.0.1":
49 | "integrity" "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="
50 | "resolved" "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz"
51 | "version" "1.0.1"
52 |
53 | "@humanwhocodes/object-schema@^1.2.1":
54 | "integrity" "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
55 | "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz"
56 | "version" "1.2.1"
57 |
58 | "@motionone/animation@^10.15.1":
59 | "integrity" "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ=="
60 | "resolved" "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz"
61 | "version" "10.15.1"
62 | dependencies:
63 | "@motionone/easing" "^10.15.1"
64 | "@motionone/types" "^10.15.1"
65 | "@motionone/utils" "^10.15.1"
66 | "tslib" "^2.3.1"
67 |
68 | "@motionone/dom@^10.15.3":
69 | "integrity" "sha512-Xc5avlgyh3xukU9tydh9+8mB8+2zAq+WlLsC3eEIp7Ax7DnXgY7Bj/iv0a4X2R9z9ZFZiaXK3BO0xMYHKbAAdA=="
70 | "resolved" "https://registry.npmjs.org/@motionone/dom/-/dom-10.15.5.tgz"
71 | "version" "10.15.5"
72 | dependencies:
73 | "@motionone/animation" "^10.15.1"
74 | "@motionone/generators" "^10.15.1"
75 | "@motionone/types" "^10.15.1"
76 | "@motionone/utils" "^10.15.1"
77 | "hey-listen" "^1.0.8"
78 | "tslib" "^2.3.1"
79 |
80 | "@motionone/easing@^10.15.1":
81 | "integrity" "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw=="
82 | "resolved" "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz"
83 | "version" "10.15.1"
84 | dependencies:
85 | "@motionone/utils" "^10.15.1"
86 | "tslib" "^2.3.1"
87 |
88 | "@motionone/generators@^10.15.1":
89 | "integrity" "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ=="
90 | "resolved" "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz"
91 | "version" "10.15.1"
92 | dependencies:
93 | "@motionone/types" "^10.15.1"
94 | "@motionone/utils" "^10.15.1"
95 | "tslib" "^2.3.1"
96 |
97 | "@motionone/types@^10.15.1":
98 | "integrity" "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA=="
99 | "resolved" "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz"
100 | "version" "10.15.1"
101 |
102 | "@motionone/utils@^10.15.1":
103 | "integrity" "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw=="
104 | "resolved" "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz"
105 | "version" "10.15.1"
106 | dependencies:
107 | "@motionone/types" "^10.15.1"
108 | "hey-listen" "^1.0.8"
109 | "tslib" "^2.3.1"
110 |
111 | "@next/env@13.1.1":
112 | "integrity" "sha512-vFMyXtPjSAiOXOywMojxfKIqE3VWN5RCAx+tT3AS3pcKjMLFTCJFUWsKv8hC+87Z1F4W3r68qTwDFZIFmd5Xkw=="
113 | "resolved" "https://registry.npmjs.org/@next/env/-/env-13.1.1.tgz"
114 | "version" "13.1.1"
115 |
116 | "@next/eslint-plugin-next@13.1.1":
117 | "integrity" "sha512-SBrOFS8PC3nQ5aeZmawJkjKkWjwK9RoxvBSv/86nZp0ubdoVQoko8r8htALd9ufp16NhacCdqhu9bzZLDWtALQ=="
118 | "resolved" "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.1.1.tgz"
119 | "version" "13.1.1"
120 | dependencies:
121 | "glob" "7.1.7"
122 |
123 | "@next/font@13.1.1":
124 | "integrity" "sha512-amygRorS05hYK1/XQRZo5qBl7l2fpHnezeKU/cNveWU5QJg+sg8gMGkUXHtvesNKpiKIJshBRH1TzvO+2sKpvQ=="
125 | "resolved" "https://registry.npmjs.org/@next/font/-/font-13.1.1.tgz"
126 | "version" "13.1.1"
127 |
128 | "@next/swc-darwin-arm64@13.1.1":
129 | "integrity" "sha512-9zRJSSIwER5tu9ADDkPw5rIZ+Np44HTXpYMr0rkM656IvssowPxmhK0rTreC1gpUCYwFsRbxarUJnJsTWiutPg=="
130 | "resolved" "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.1.1.tgz"
131 | "version" "13.1.1"
132 |
133 | "@nodelib/fs.scandir@2.1.5":
134 | "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="
135 | "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
136 | "version" "2.1.5"
137 | dependencies:
138 | "@nodelib/fs.stat" "2.0.5"
139 | "run-parallel" "^1.1.9"
140 |
141 | "@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
142 | "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
143 | "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
144 | "version" "2.0.5"
145 |
146 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
147 | "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="
148 | "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"
149 | "version" "1.2.8"
150 | dependencies:
151 | "@nodelib/fs.scandir" "2.1.5"
152 | "fastq" "^1.6.0"
153 |
154 | "@pkgr/utils@^2.3.1":
155 | "integrity" "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw=="
156 | "resolved" "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz"
157 | "version" "2.3.1"
158 | dependencies:
159 | "cross-spawn" "^7.0.3"
160 | "is-glob" "^4.0.3"
161 | "open" "^8.4.0"
162 | "picocolors" "^1.0.0"
163 | "tiny-glob" "^0.2.9"
164 | "tslib" "^2.4.0"
165 |
166 | "@prisma/engines@4.8.1":
167 | "integrity" "sha512-93tctjNXcIS+i/e552IO6tqw17sX8liivv8WX9lDMCpEEe3ci+nT9F+1oHtAafqruXLepKF80i/D20Mm+ESlOw=="
168 | "resolved" "https://registry.npmjs.org/@prisma/engines/-/engines-4.8.1.tgz"
169 | "version" "4.8.1"
170 |
171 | "@rushstack/eslint-patch@^1.1.3":
172 | "integrity" "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg=="
173 | "resolved" "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz"
174 | "version" "1.2.0"
175 |
176 | "@swc/helpers@0.4.14":
177 | "integrity" "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw=="
178 | "resolved" "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz"
179 | "version" "0.4.14"
180 | dependencies:
181 | "tslib" "^2.4.0"
182 |
183 | "@tailwindcss/forms@^0.5.3":
184 | "integrity" "sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q=="
185 | "resolved" "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz"
186 | "version" "0.5.3"
187 | dependencies:
188 | "mini-svg-data-uri" "^1.2.3"
189 |
190 | "@tailwindcss/line-clamp@^0.4.2":
191 | "integrity" "sha512-HFzAQuqYCjyy/SX9sLGB1lroPzmcnWv1FHkIpmypte10hptf4oPUfucryMKovZh2u0uiS9U5Ty3GghWfEJGwVw=="
192 | "resolved" "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.4.2.tgz"
193 | "version" "0.4.2"
194 |
195 | "@tailwindcss/typography@^0.5.9":
196 | "integrity" "sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg=="
197 | "resolved" "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.9.tgz"
198 | "version" "0.5.9"
199 | dependencies:
200 | "lodash.castarray" "^4.4.0"
201 | "lodash.isplainobject" "^4.0.6"
202 | "lodash.merge" "^4.6.2"
203 | "postcss-selector-parser" "6.0.10"
204 |
205 | "@types/cookie@^0.3.3":
206 | "integrity" "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow=="
207 | "resolved" "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz"
208 | "version" "0.3.3"
209 |
210 | "@types/debug@^4.0.0":
211 | "integrity" "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg=="
212 | "resolved" "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz"
213 | "version" "4.1.7"
214 | dependencies:
215 | "@types/ms" "*"
216 |
217 | "@types/hast@^2.0.0":
218 | "integrity" "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g=="
219 | "resolved" "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz"
220 | "version" "2.3.4"
221 | dependencies:
222 | "@types/unist" "*"
223 |
224 | "@types/hoist-non-react-statics@^3.0.1":
225 | "integrity" "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA=="
226 | "resolved" "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz"
227 | "version" "3.3.1"
228 | dependencies:
229 | "@types/react" "*"
230 | "hoist-non-react-statics" "^3.3.0"
231 |
232 | "@types/json5@^0.0.29":
233 | "integrity" "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
234 | "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz"
235 | "version" "0.0.29"
236 |
237 | "@types/mdast@^3.0.0":
238 | "integrity" "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA=="
239 | "resolved" "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz"
240 | "version" "3.0.10"
241 | dependencies:
242 | "@types/unist" "*"
243 |
244 | "@types/ms@*", "@types/ms@^0.7.31":
245 | "integrity" "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA=="
246 | "resolved" "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz"
247 | "version" "0.7.31"
248 |
249 | "@types/node@18.11.18":
250 | "integrity" "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA=="
251 | "resolved" "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz"
252 | "version" "18.11.18"
253 |
254 | "@types/prop-types@*", "@types/prop-types@^15.0.0":
255 | "integrity" "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
256 | "resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz"
257 | "version" "15.7.5"
258 |
259 | "@types/react-dom@18.0.10":
260 | "integrity" "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg=="
261 | "resolved" "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz"
262 | "version" "18.0.10"
263 | dependencies:
264 | "@types/react" "*"
265 |
266 | "@types/react@*", "@types/react@>=16", "@types/react@18.0.26":
267 | "integrity" "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug=="
268 | "resolved" "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz"
269 | "version" "18.0.26"
270 | dependencies:
271 | "@types/prop-types" "*"
272 | "@types/scheduler" "*"
273 | "csstype" "^3.0.2"
274 |
275 | "@types/scheduler@*":
276 | "integrity" "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
277 | "resolved" "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz"
278 | "version" "0.16.2"
279 |
280 | "@types/unist@*", "@types/unist@^2.0.0":
281 | "integrity" "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ=="
282 | "resolved" "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz"
283 | "version" "2.0.6"
284 |
285 | "@typescript-eslint/parser@^5.42.0":
286 | "integrity" "sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA=="
287 | "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.1.tgz"
288 | "version" "5.48.1"
289 | dependencies:
290 | "@typescript-eslint/scope-manager" "5.48.1"
291 | "@typescript-eslint/types" "5.48.1"
292 | "@typescript-eslint/typescript-estree" "5.48.1"
293 | "debug" "^4.3.4"
294 |
295 | "@typescript-eslint/scope-manager@5.48.1":
296 | "integrity" "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ=="
297 | "resolved" "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz"
298 | "version" "5.48.1"
299 | dependencies:
300 | "@typescript-eslint/types" "5.48.1"
301 | "@typescript-eslint/visitor-keys" "5.48.1"
302 |
303 | "@typescript-eslint/types@5.48.1":
304 | "integrity" "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg=="
305 | "resolved" "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz"
306 | "version" "5.48.1"
307 |
308 | "@typescript-eslint/typescript-estree@5.48.1":
309 | "integrity" "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA=="
310 | "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz"
311 | "version" "5.48.1"
312 | dependencies:
313 | "@typescript-eslint/types" "5.48.1"
314 | "@typescript-eslint/visitor-keys" "5.48.1"
315 | "debug" "^4.3.4"
316 | "globby" "^11.1.0"
317 | "is-glob" "^4.0.3"
318 | "semver" "^7.3.7"
319 | "tsutils" "^3.21.0"
320 |
321 | "@typescript-eslint/visitor-keys@5.48.1":
322 | "integrity" "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA=="
323 | "resolved" "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz"
324 | "version" "5.48.1"
325 | dependencies:
326 | "@typescript-eslint/types" "5.48.1"
327 | "eslint-visitor-keys" "^3.3.0"
328 |
329 | "@vercel/analytics@^0.1.6":
330 | "integrity" "sha512-zNd5pj3iDvq8IMBQHa1YRcIteiw6ZiPB8AsONHd8ieFXlNpLqhXfIYnf4WvTfZ7S1NSJ++mIM14aJnNac/VMXQ=="
331 | "resolved" "https://registry.npmjs.org/@vercel/analytics/-/analytics-0.1.6.tgz"
332 | "version" "0.1.6"
333 |
334 | "acorn-jsx@^5.3.2":
335 | "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="
336 | "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
337 | "version" "5.3.2"
338 |
339 | "acorn-node@^1.8.2":
340 | "integrity" "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A=="
341 | "resolved" "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz"
342 | "version" "1.8.2"
343 | dependencies:
344 | "acorn" "^7.0.0"
345 | "acorn-walk" "^7.0.0"
346 | "xtend" "^4.0.2"
347 |
348 | "acorn-walk@^7.0.0":
349 | "integrity" "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
350 | "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz"
351 | "version" "7.2.0"
352 |
353 | "acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^8.8.0":
354 | "integrity" "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA=="
355 | "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz"
356 | "version" "8.8.1"
357 |
358 | "acorn@^7.0.0":
359 | "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
360 | "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
361 | "version" "7.4.1"
362 |
363 | "ajv@^6.10.0", "ajv@^6.12.4":
364 | "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="
365 | "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
366 | "version" "6.12.6"
367 | dependencies:
368 | "fast-deep-equal" "^3.1.1"
369 | "fast-json-stable-stringify" "^2.0.0"
370 | "json-schema-traverse" "^0.4.1"
371 | "uri-js" "^4.2.2"
372 |
373 | "ansi-regex@^5.0.1":
374 | "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
375 | "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
376 | "version" "5.0.1"
377 |
378 | "ansi-styles@^4.0.0", "ansi-styles@^4.1.0":
379 | "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
380 | "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
381 | "version" "4.3.0"
382 | dependencies:
383 | "color-convert" "^2.0.1"
384 |
385 | "anymatch@~3.1.2":
386 | "integrity" "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="
387 | "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"
388 | "version" "3.1.3"
389 | dependencies:
390 | "normalize-path" "^3.0.0"
391 | "picomatch" "^2.0.4"
392 |
393 | "arg@^5.0.2":
394 | "integrity" "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
395 | "resolved" "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz"
396 | "version" "5.0.2"
397 |
398 | "argparse@^2.0.1":
399 | "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
400 | "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
401 | "version" "2.0.1"
402 |
403 | "aria-query@^5.1.3":
404 | "integrity" "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ=="
405 | "resolved" "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz"
406 | "version" "5.1.3"
407 | dependencies:
408 | "deep-equal" "^2.0.5"
409 |
410 | "array-includes@^3.1.4", "array-includes@^3.1.5", "array-includes@^3.1.6":
411 | "integrity" "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw=="
412 | "resolved" "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz"
413 | "version" "3.1.6"
414 | dependencies:
415 | "call-bind" "^1.0.2"
416 | "define-properties" "^1.1.4"
417 | "es-abstract" "^1.20.4"
418 | "get-intrinsic" "^1.1.3"
419 | "is-string" "^1.0.7"
420 |
421 | "array-union@^2.1.0":
422 | "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
423 | "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz"
424 | "version" "2.1.0"
425 |
426 | "array.prototype.flat@^1.2.5":
427 | "integrity" "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA=="
428 | "resolved" "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz"
429 | "version" "1.3.1"
430 | dependencies:
431 | "call-bind" "^1.0.2"
432 | "define-properties" "^1.1.4"
433 | "es-abstract" "^1.20.4"
434 | "es-shim-unscopables" "^1.0.0"
435 |
436 | "array.prototype.flatmap@^1.3.1":
437 | "integrity" "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ=="
438 | "resolved" "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz"
439 | "version" "1.3.1"
440 | dependencies:
441 | "call-bind" "^1.0.2"
442 | "define-properties" "^1.1.4"
443 | "es-abstract" "^1.20.4"
444 | "es-shim-unscopables" "^1.0.0"
445 |
446 | "array.prototype.tosorted@^1.1.1":
447 | "integrity" "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ=="
448 | "resolved" "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz"
449 | "version" "1.1.1"
450 | dependencies:
451 | "call-bind" "^1.0.2"
452 | "define-properties" "^1.1.4"
453 | "es-abstract" "^1.20.4"
454 | "es-shim-unscopables" "^1.0.0"
455 | "get-intrinsic" "^1.1.3"
456 |
457 | "ast-types-flow@^0.0.7":
458 | "integrity" "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag=="
459 | "resolved" "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz"
460 | "version" "0.0.7"
461 |
462 | "autoprefixer@^10.4.13":
463 | "integrity" "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg=="
464 | "resolved" "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz"
465 | "version" "10.4.13"
466 | dependencies:
467 | "browserslist" "^4.21.4"
468 | "caniuse-lite" "^1.0.30001426"
469 | "fraction.js" "^4.2.0"
470 | "normalize-range" "^0.1.2"
471 | "picocolors" "^1.0.0"
472 | "postcss-value-parser" "^4.2.0"
473 |
474 | "available-typed-arrays@^1.0.5":
475 | "integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
476 | "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz"
477 | "version" "1.0.5"
478 |
479 | "axe-core@^4.6.2":
480 | "integrity" "sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg=="
481 | "resolved" "https://registry.npmjs.org/axe-core/-/axe-core-4.6.2.tgz"
482 | "version" "4.6.2"
483 |
484 | "axobject-query@^3.1.1":
485 | "integrity" "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg=="
486 | "resolved" "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz"
487 | "version" "3.1.1"
488 | dependencies:
489 | "deep-equal" "^2.0.5"
490 |
491 | "bail@^2.0.0":
492 | "integrity" "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="
493 | "resolved" "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz"
494 | "version" "2.0.2"
495 |
496 | "balanced-match@^1.0.0":
497 | "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
498 | "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
499 | "version" "1.0.2"
500 |
501 | "binary-extensions@^2.0.0":
502 | "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
503 | "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
504 | "version" "2.2.0"
505 |
506 | "brace-expansion@^1.1.7":
507 | "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
508 | "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
509 | "version" "1.1.11"
510 | dependencies:
511 | "balanced-match" "^1.0.0"
512 | "concat-map" "0.0.1"
513 |
514 | "braces@^3.0.2", "braces@~3.0.2":
515 | "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A=="
516 | "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"
517 | "version" "3.0.2"
518 | dependencies:
519 | "fill-range" "^7.0.1"
520 |
521 | "browserslist@^4.21.4", "browserslist@>= 4.21.0":
522 | "integrity" "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw=="
523 | "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz"
524 | "version" "4.21.4"
525 | dependencies:
526 | "caniuse-lite" "^1.0.30001400"
527 | "electron-to-chromium" "^1.4.251"
528 | "node-releases" "^2.0.6"
529 | "update-browserslist-db" "^1.0.9"
530 |
531 | "call-bind@^1.0.0", "call-bind@^1.0.2":
532 | "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA=="
533 | "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz"
534 | "version" "1.0.2"
535 | dependencies:
536 | "function-bind" "^1.1.1"
537 | "get-intrinsic" "^1.0.2"
538 |
539 | "callsites@^3.0.0":
540 | "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
541 | "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
542 | "version" "3.1.0"
543 |
544 | "camelcase-css@^2.0.1":
545 | "integrity" "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
546 | "resolved" "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz"
547 | "version" "2.0.1"
548 |
549 | "caniuse-lite@^1.0.30001400", "caniuse-lite@^1.0.30001406", "caniuse-lite@^1.0.30001426":
550 | "integrity" "sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow=="
551 | "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz"
552 | "version" "1.0.30001442"
553 |
554 | "chalk@^4.0.0", "chalk@^4.1.0":
555 | "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="
556 | "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
557 | "version" "4.1.2"
558 | dependencies:
559 | "ansi-styles" "^4.1.0"
560 | "supports-color" "^7.1.0"
561 |
562 | "character-entities@^2.0.0":
563 | "integrity" "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="
564 | "resolved" "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz"
565 | "version" "2.0.2"
566 |
567 | "chokidar@^3.5.3":
568 | "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw=="
569 | "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz"
570 | "version" "3.5.3"
571 | dependencies:
572 | "anymatch" "~3.1.2"
573 | "braces" "~3.0.2"
574 | "glob-parent" "~5.1.2"
575 | "is-binary-path" "~2.1.0"
576 | "is-glob" "~4.0.1"
577 | "normalize-path" "~3.0.0"
578 | "readdirp" "~3.6.0"
579 | optionalDependencies:
580 | "fsevents" "~2.3.2"
581 |
582 | "classnames@^2.3.2":
583 | "integrity" "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
584 | "resolved" "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz"
585 | "version" "2.3.2"
586 |
587 | "client-only@0.0.1":
588 | "integrity" "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
589 | "resolved" "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz"
590 | "version" "0.0.1"
591 |
592 | "cliui@^8.0.1":
593 | "integrity" "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="
594 | "resolved" "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz"
595 | "version" "8.0.1"
596 | dependencies:
597 | "string-width" "^4.2.0"
598 | "strip-ansi" "^6.0.1"
599 | "wrap-ansi" "^7.0.0"
600 |
601 | "color-convert@^2.0.1":
602 | "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="
603 | "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
604 | "version" "2.0.1"
605 | dependencies:
606 | "color-name" "~1.1.4"
607 |
608 | "color-name@^1.1.4", "color-name@~1.1.4":
609 | "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
610 | "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
611 | "version" "1.1.4"
612 |
613 | "comma-separated-tokens@^2.0.0":
614 | "integrity" "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="
615 | "resolved" "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz"
616 | "version" "2.0.3"
617 |
618 | "concat-map@0.0.1":
619 | "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
620 | "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
621 | "version" "0.0.1"
622 |
623 | "concurrently@^7.6.0":
624 | "integrity" "sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw=="
625 | "resolved" "https://registry.npmjs.org/concurrently/-/concurrently-7.6.0.tgz"
626 | "version" "7.6.0"
627 | dependencies:
628 | "chalk" "^4.1.0"
629 | "date-fns" "^2.29.1"
630 | "lodash" "^4.17.21"
631 | "rxjs" "^7.0.0"
632 | "shell-quote" "^1.7.3"
633 | "spawn-command" "^0.0.2-1"
634 | "supports-color" "^8.1.0"
635 | "tree-kill" "^1.2.2"
636 | "yargs" "^17.3.1"
637 |
638 | "cookie@^0.4.0":
639 | "integrity" "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
640 | "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz"
641 | "version" "0.4.2"
642 |
643 | "cross-spawn@^7.0.2", "cross-spawn@^7.0.3":
644 | "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w=="
645 | "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
646 | "version" "7.0.3"
647 | dependencies:
648 | "path-key" "^3.1.0"
649 | "shebang-command" "^2.0.0"
650 | "which" "^2.0.1"
651 |
652 | "cssesc@^3.0.0":
653 | "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
654 | "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"
655 | "version" "3.0.0"
656 |
657 | "csstype@^3.0.2":
658 | "integrity" "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
659 | "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz"
660 | "version" "3.1.1"
661 |
662 | "damerau-levenshtein@^1.0.8":
663 | "integrity" "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA=="
664 | "resolved" "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz"
665 | "version" "1.0.8"
666 |
667 | "date-fns@^2.29.1":
668 | "integrity" "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA=="
669 | "resolved" "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz"
670 | "version" "2.29.3"
671 |
672 | "debug@^2.6.9":
673 | "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
674 | "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
675 | "version" "2.6.9"
676 | dependencies:
677 | "ms" "2.0.0"
678 |
679 | "debug@^3.2.7":
680 | "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="
681 | "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
682 | "version" "3.2.7"
683 | dependencies:
684 | "ms" "^2.1.1"
685 |
686 | "debug@^4.0.0", "debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.4":
687 | "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
688 | "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
689 | "version" "4.3.4"
690 | dependencies:
691 | "ms" "2.1.2"
692 |
693 | "decode-named-character-reference@^1.0.0":
694 | "integrity" "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg=="
695 | "resolved" "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz"
696 | "version" "1.0.2"
697 | dependencies:
698 | "character-entities" "^2.0.0"
699 |
700 | "deep-equal@^2.0.5":
701 | "integrity" "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw=="
702 | "resolved" "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz"
703 | "version" "2.2.0"
704 | dependencies:
705 | "call-bind" "^1.0.2"
706 | "es-get-iterator" "^1.1.2"
707 | "get-intrinsic" "^1.1.3"
708 | "is-arguments" "^1.1.1"
709 | "is-array-buffer" "^3.0.1"
710 | "is-date-object" "^1.0.5"
711 | "is-regex" "^1.1.4"
712 | "is-shared-array-buffer" "^1.0.2"
713 | "isarray" "^2.0.5"
714 | "object-is" "^1.1.5"
715 | "object-keys" "^1.1.1"
716 | "object.assign" "^4.1.4"
717 | "regexp.prototype.flags" "^1.4.3"
718 | "side-channel" "^1.0.4"
719 | "which-boxed-primitive" "^1.0.2"
720 | "which-collection" "^1.0.1"
721 | "which-typed-array" "^1.1.9"
722 |
723 | "deep-is@^0.1.3":
724 | "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
725 | "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz"
726 | "version" "0.1.4"
727 |
728 | "define-lazy-prop@^2.0.0":
729 | "integrity" "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="
730 | "resolved" "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz"
731 | "version" "2.0.0"
732 |
733 | "define-properties@^1.1.3", "define-properties@^1.1.4":
734 | "integrity" "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA=="
735 | "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz"
736 | "version" "1.1.4"
737 | dependencies:
738 | "has-property-descriptors" "^1.0.0"
739 | "object-keys" "^1.1.1"
740 |
741 | "defined@^1.0.0":
742 | "integrity" "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q=="
743 | "resolved" "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz"
744 | "version" "1.0.1"
745 |
746 | "dequal@^2.0.0":
747 | "integrity" "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="
748 | "resolved" "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz"
749 | "version" "2.0.3"
750 |
751 | "detective@^5.2.1":
752 | "integrity" "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw=="
753 | "resolved" "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz"
754 | "version" "5.2.1"
755 | dependencies:
756 | "acorn-node" "^1.8.2"
757 | "defined" "^1.0.0"
758 | "minimist" "^1.2.6"
759 |
760 | "didyoumean@^1.2.2":
761 | "integrity" "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
762 | "resolved" "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz"
763 | "version" "1.2.2"
764 |
765 | "diff@^5.0.0":
766 | "integrity" "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw=="
767 | "resolved" "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz"
768 | "version" "5.1.0"
769 |
770 | "dir-glob@^3.0.1":
771 | "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="
772 | "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
773 | "version" "3.0.1"
774 | dependencies:
775 | "path-type" "^4.0.0"
776 |
777 | "dlv@^1.1.3":
778 | "integrity" "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
779 | "resolved" "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz"
780 | "version" "1.1.3"
781 |
782 | "doctrine@^2.1.0":
783 | "integrity" "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw=="
784 | "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz"
785 | "version" "2.1.0"
786 | dependencies:
787 | "esutils" "^2.0.2"
788 |
789 | "doctrine@^3.0.0":
790 | "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w=="
791 | "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"
792 | "version" "3.0.0"
793 | dependencies:
794 | "esutils" "^2.0.2"
795 |
796 | "electron-to-chromium@^1.4.251":
797 | "integrity" "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
798 | "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz"
799 | "version" "1.4.284"
800 |
801 | "emoji-regex@^8.0.0":
802 | "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
803 | "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
804 | "version" "8.0.0"
805 |
806 | "emoji-regex@^9.2.2":
807 | "integrity" "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
808 | "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz"
809 | "version" "9.2.2"
810 |
811 | "enhanced-resolve@^5.10.0":
812 | "integrity" "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ=="
813 | "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz"
814 | "version" "5.12.0"
815 | dependencies:
816 | "graceful-fs" "^4.2.4"
817 | "tapable" "^2.2.0"
818 |
819 | "es-abstract@^1.19.0", "es-abstract@^1.20.4":
820 | "integrity" "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg=="
821 | "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz"
822 | "version" "1.21.1"
823 | dependencies:
824 | "available-typed-arrays" "^1.0.5"
825 | "call-bind" "^1.0.2"
826 | "es-set-tostringtag" "^2.0.1"
827 | "es-to-primitive" "^1.2.1"
828 | "function-bind" "^1.1.1"
829 | "function.prototype.name" "^1.1.5"
830 | "get-intrinsic" "^1.1.3"
831 | "get-symbol-description" "^1.0.0"
832 | "globalthis" "^1.0.3"
833 | "gopd" "^1.0.1"
834 | "has" "^1.0.3"
835 | "has-property-descriptors" "^1.0.0"
836 | "has-proto" "^1.0.1"
837 | "has-symbols" "^1.0.3"
838 | "internal-slot" "^1.0.4"
839 | "is-array-buffer" "^3.0.1"
840 | "is-callable" "^1.2.7"
841 | "is-negative-zero" "^2.0.2"
842 | "is-regex" "^1.1.4"
843 | "is-shared-array-buffer" "^1.0.2"
844 | "is-string" "^1.0.7"
845 | "is-typed-array" "^1.1.10"
846 | "is-weakref" "^1.0.2"
847 | "object-inspect" "^1.12.2"
848 | "object-keys" "^1.1.1"
849 | "object.assign" "^4.1.4"
850 | "regexp.prototype.flags" "^1.4.3"
851 | "safe-regex-test" "^1.0.0"
852 | "string.prototype.trimend" "^1.0.6"
853 | "string.prototype.trimstart" "^1.0.6"
854 | "typed-array-length" "^1.0.4"
855 | "unbox-primitive" "^1.0.2"
856 | "which-typed-array" "^1.1.9"
857 |
858 | "es-get-iterator@^1.1.2":
859 | "integrity" "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ=="
860 | "resolved" "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz"
861 | "version" "1.1.2"
862 | dependencies:
863 | "call-bind" "^1.0.2"
864 | "get-intrinsic" "^1.1.0"
865 | "has-symbols" "^1.0.1"
866 | "is-arguments" "^1.1.0"
867 | "is-map" "^2.0.2"
868 | "is-set" "^2.0.2"
869 | "is-string" "^1.0.5"
870 | "isarray" "^2.0.5"
871 |
872 | "es-set-tostringtag@^2.0.1":
873 | "integrity" "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg=="
874 | "resolved" "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz"
875 | "version" "2.0.1"
876 | dependencies:
877 | "get-intrinsic" "^1.1.3"
878 | "has" "^1.0.3"
879 | "has-tostringtag" "^1.0.0"
880 |
881 | "es-shim-unscopables@^1.0.0":
882 | "integrity" "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w=="
883 | "resolved" "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz"
884 | "version" "1.0.0"
885 | dependencies:
886 | "has" "^1.0.3"
887 |
888 | "es-to-primitive@^1.2.1":
889 | "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA=="
890 | "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz"
891 | "version" "1.2.1"
892 | dependencies:
893 | "is-callable" "^1.1.4"
894 | "is-date-object" "^1.0.1"
895 | "is-symbol" "^1.0.2"
896 |
897 | "escalade@^3.1.1":
898 | "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
899 | "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
900 | "version" "3.1.1"
901 |
902 | "escape-string-regexp@^4.0.0":
903 | "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
904 | "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
905 | "version" "4.0.0"
906 |
907 | "eslint-config-next@13.1.1":
908 | "integrity" "sha512-/5S2XGWlGaiqrRhzpn51ux5JUSLwx8PVK2keLi5xk7QmhfYB8PqE6R6SlVw6hgnf/VexvUXSrlNJ/su00NhtHQ=="
909 | "resolved" "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.1.1.tgz"
910 | "version" "13.1.1"
911 | dependencies:
912 | "@next/eslint-plugin-next" "13.1.1"
913 | "@rushstack/eslint-patch" "^1.1.3"
914 | "@typescript-eslint/parser" "^5.42.0"
915 | "eslint-import-resolver-node" "^0.3.6"
916 | "eslint-import-resolver-typescript" "^3.5.2"
917 | "eslint-plugin-import" "^2.26.0"
918 | "eslint-plugin-jsx-a11y" "^6.5.1"
919 | "eslint-plugin-react" "^7.31.7"
920 | "eslint-plugin-react-hooks" "^4.5.0"
921 |
922 | "eslint-import-resolver-node@^0.3.6":
923 | "integrity" "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw=="
924 | "resolved" "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz"
925 | "version" "0.3.6"
926 | dependencies:
927 | "debug" "^3.2.7"
928 | "resolve" "^1.20.0"
929 |
930 | "eslint-import-resolver-typescript@^3.5.2":
931 | "integrity" "sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ=="
932 | "resolved" "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.3.tgz"
933 | "version" "3.5.3"
934 | dependencies:
935 | "debug" "^4.3.4"
936 | "enhanced-resolve" "^5.10.0"
937 | "get-tsconfig" "^4.2.0"
938 | "globby" "^13.1.2"
939 | "is-core-module" "^2.10.0"
940 | "is-glob" "^4.0.3"
941 | "synckit" "^0.8.4"
942 |
943 | "eslint-module-utils@^2.7.3":
944 | "integrity" "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA=="
945 | "resolved" "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz"
946 | "version" "2.7.4"
947 | dependencies:
948 | "debug" "^3.2.7"
949 |
950 | "eslint-plugin-import@*", "eslint-plugin-import@^2.26.0":
951 | "integrity" "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA=="
952 | "resolved" "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz"
953 | "version" "2.26.0"
954 | dependencies:
955 | "array-includes" "^3.1.4"
956 | "array.prototype.flat" "^1.2.5"
957 | "debug" "^2.6.9"
958 | "doctrine" "^2.1.0"
959 | "eslint-import-resolver-node" "^0.3.6"
960 | "eslint-module-utils" "^2.7.3"
961 | "has" "^1.0.3"
962 | "is-core-module" "^2.8.1"
963 | "is-glob" "^4.0.3"
964 | "minimatch" "^3.1.2"
965 | "object.values" "^1.1.5"
966 | "resolve" "^1.22.0"
967 | "tsconfig-paths" "^3.14.1"
968 |
969 | "eslint-plugin-jsx-a11y@^6.5.1":
970 | "integrity" "sha512-EGGRKhzejSzXKtjmEjWNtr4SK/DkMkSzkBH7g7e7moBDXZXrqaUIxkmD7uF93upMysc4dKYEJwupu7Dff+ShwA=="
971 | "resolved" "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.0.tgz"
972 | "version" "6.7.0"
973 | dependencies:
974 | "@babel/runtime" "^7.20.7"
975 | "aria-query" "^5.1.3"
976 | "array-includes" "^3.1.6"
977 | "array.prototype.flatmap" "^1.3.1"
978 | "ast-types-flow" "^0.0.7"
979 | "axe-core" "^4.6.2"
980 | "axobject-query" "^3.1.1"
981 | "damerau-levenshtein" "^1.0.8"
982 | "emoji-regex" "^9.2.2"
983 | "has" "^1.0.3"
984 | "jsx-ast-utils" "^3.3.3"
985 | "language-tags" "=1.0.5"
986 | "minimatch" "^3.1.2"
987 | "object.entries" "^1.1.6"
988 | "object.fromentries" "^2.0.6"
989 | "semver" "^6.3.0"
990 |
991 | "eslint-plugin-react-hooks@^4.5.0":
992 | "integrity" "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g=="
993 | "resolved" "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz"
994 | "version" "4.6.0"
995 |
996 | "eslint-plugin-react@^7.31.7":
997 | "integrity" "sha512-vSBi1+SrPiLZCGvxpiZIa28fMEUaMjXtCplrvxcIxGzmFiYdsXQDwInEjuv5/i/2CTTxbkS87tE8lsQ0Qxinbw=="
998 | "resolved" "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.0.tgz"
999 | "version" "7.32.0"
1000 | dependencies:
1001 | "array-includes" "^3.1.6"
1002 | "array.prototype.flatmap" "^1.3.1"
1003 | "array.prototype.tosorted" "^1.1.1"
1004 | "doctrine" "^2.1.0"
1005 | "estraverse" "^5.3.0"
1006 | "jsx-ast-utils" "^2.4.1 || ^3.0.0"
1007 | "minimatch" "^3.1.2"
1008 | "object.entries" "^1.1.6"
1009 | "object.fromentries" "^2.0.6"
1010 | "object.hasown" "^1.1.2"
1011 | "object.values" "^1.1.6"
1012 | "prop-types" "^15.8.1"
1013 | "resolve" "^2.0.0-next.4"
1014 | "semver" "^6.3.0"
1015 | "string.prototype.matchall" "^4.0.8"
1016 |
1017 | "eslint-scope@^7.1.1":
1018 | "integrity" "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw=="
1019 | "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz"
1020 | "version" "7.1.1"
1021 | dependencies:
1022 | "esrecurse" "^4.3.0"
1023 | "estraverse" "^5.2.0"
1024 |
1025 | "eslint-utils@^3.0.0":
1026 | "integrity" "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA=="
1027 | "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz"
1028 | "version" "3.0.0"
1029 | dependencies:
1030 | "eslint-visitor-keys" "^2.0.0"
1031 |
1032 | "eslint-visitor-keys@^2.0.0":
1033 | "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw=="
1034 | "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz"
1035 | "version" "2.1.0"
1036 |
1037 | "eslint-visitor-keys@^3.3.0":
1038 | "integrity" "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA=="
1039 | "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz"
1040 | "version" "3.3.0"
1041 |
1042 | "eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^7.23.0 || ^8.0.0", "eslint@>=5", "eslint@8.31.0":
1043 | "integrity" "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA=="
1044 | "resolved" "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz"
1045 | "version" "8.31.0"
1046 | dependencies:
1047 | "@eslint/eslintrc" "^1.4.1"
1048 | "@humanwhocodes/config-array" "^0.11.8"
1049 | "@humanwhocodes/module-importer" "^1.0.1"
1050 | "@nodelib/fs.walk" "^1.2.8"
1051 | "ajv" "^6.10.0"
1052 | "chalk" "^4.0.0"
1053 | "cross-spawn" "^7.0.2"
1054 | "debug" "^4.3.2"
1055 | "doctrine" "^3.0.0"
1056 | "escape-string-regexp" "^4.0.0"
1057 | "eslint-scope" "^7.1.1"
1058 | "eslint-utils" "^3.0.0"
1059 | "eslint-visitor-keys" "^3.3.0"
1060 | "espree" "^9.4.0"
1061 | "esquery" "^1.4.0"
1062 | "esutils" "^2.0.2"
1063 | "fast-deep-equal" "^3.1.3"
1064 | "file-entry-cache" "^6.0.1"
1065 | "find-up" "^5.0.0"
1066 | "glob-parent" "^6.0.2"
1067 | "globals" "^13.19.0"
1068 | "grapheme-splitter" "^1.0.4"
1069 | "ignore" "^5.2.0"
1070 | "import-fresh" "^3.0.0"
1071 | "imurmurhash" "^0.1.4"
1072 | "is-glob" "^4.0.0"
1073 | "is-path-inside" "^3.0.3"
1074 | "js-sdsl" "^4.1.4"
1075 | "js-yaml" "^4.1.0"
1076 | "json-stable-stringify-without-jsonify" "^1.0.1"
1077 | "levn" "^0.4.1"
1078 | "lodash.merge" "^4.6.2"
1079 | "minimatch" "^3.1.2"
1080 | "natural-compare" "^1.4.0"
1081 | "optionator" "^0.9.1"
1082 | "regexpp" "^3.2.0"
1083 | "strip-ansi" "^6.0.1"
1084 | "strip-json-comments" "^3.1.0"
1085 | "text-table" "^0.2.0"
1086 |
1087 | "espree@^9.4.0":
1088 | "integrity" "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg=="
1089 | "resolved" "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz"
1090 | "version" "9.4.1"
1091 | dependencies:
1092 | "acorn" "^8.8.0"
1093 | "acorn-jsx" "^5.3.2"
1094 | "eslint-visitor-keys" "^3.3.0"
1095 |
1096 | "esquery@^1.4.0":
1097 | "integrity" "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w=="
1098 | "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz"
1099 | "version" "1.4.0"
1100 | dependencies:
1101 | "estraverse" "^5.1.0"
1102 |
1103 | "esrecurse@^4.3.0":
1104 | "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="
1105 | "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"
1106 | "version" "4.3.0"
1107 | dependencies:
1108 | "estraverse" "^5.2.0"
1109 |
1110 | "estraverse@^5.1.0", "estraverse@^5.2.0", "estraverse@^5.3.0":
1111 | "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
1112 | "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
1113 | "version" "5.3.0"
1114 |
1115 | "esutils@^2.0.2":
1116 | "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
1117 | "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
1118 | "version" "2.0.3"
1119 |
1120 | "extend@^3.0.0":
1121 | "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
1122 | "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"
1123 | "version" "3.0.2"
1124 |
1125 | "fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3":
1126 | "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
1127 | "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
1128 | "version" "3.1.3"
1129 |
1130 | "fast-glob@^3.2.11", "fast-glob@^3.2.12", "fast-glob@^3.2.9":
1131 | "integrity" "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w=="
1132 | "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz"
1133 | "version" "3.2.12"
1134 | dependencies:
1135 | "@nodelib/fs.stat" "^2.0.2"
1136 | "@nodelib/fs.walk" "^1.2.3"
1137 | "glob-parent" "^5.1.2"
1138 | "merge2" "^1.3.0"
1139 | "micromatch" "^4.0.4"
1140 |
1141 | "fast-json-stable-stringify@^2.0.0":
1142 | "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
1143 | "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
1144 | "version" "2.1.0"
1145 |
1146 | "fast-levenshtein@^2.0.6":
1147 | "integrity" "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
1148 | "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
1149 | "version" "2.0.6"
1150 |
1151 | "fastq@^1.6.0":
1152 | "integrity" "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw=="
1153 | "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz"
1154 | "version" "1.15.0"
1155 | dependencies:
1156 | "reusify" "^1.0.4"
1157 |
1158 | "file-entry-cache@^6.0.1":
1159 | "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg=="
1160 | "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz"
1161 | "version" "6.0.1"
1162 | dependencies:
1163 | "flat-cache" "^3.0.4"
1164 |
1165 | "fill-range@^7.0.1":
1166 | "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ=="
1167 | "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"
1168 | "version" "7.0.1"
1169 | dependencies:
1170 | "to-regex-range" "^5.0.1"
1171 |
1172 | "find-up@^5.0.0":
1173 | "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="
1174 | "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
1175 | "version" "5.0.0"
1176 | dependencies:
1177 | "locate-path" "^6.0.0"
1178 | "path-exists" "^4.0.0"
1179 |
1180 | "flat-cache@^3.0.4":
1181 | "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg=="
1182 | "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz"
1183 | "version" "3.0.4"
1184 | dependencies:
1185 | "flatted" "^3.1.0"
1186 | "rimraf" "^3.0.2"
1187 |
1188 | "flatted@^3.1.0":
1189 | "integrity" "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
1190 | "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz"
1191 | "version" "3.2.7"
1192 |
1193 | "focus-trap-react@^10.0.2":
1194 | "integrity" "sha512-MnN2cmdgpY7NY74ePOio4kbO5A3ILhrg1g5OGbgIQjcWEv1hhcbh6e98K0a+df88hNbE+4i9r8ji9aQnHou6GA=="
1195 | "resolved" "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-10.0.2.tgz"
1196 | "version" "10.0.2"
1197 | dependencies:
1198 | "focus-trap" "^7.2.0"
1199 | "tabbable" "^6.0.1"
1200 |
1201 | "focus-trap@^7.2.0":
1202 | "integrity" "sha512-v4wY6HDDYvzkBy4735kW5BUEuw6Yz9ABqMYLuTNbzAFPcBOGiGHwwcNVMvUz4G0kgSYh13wa/7TG3XwTeT4O/A=="
1203 | "resolved" "https://registry.npmjs.org/focus-trap/-/focus-trap-7.2.0.tgz"
1204 | "version" "7.2.0"
1205 | dependencies:
1206 | "tabbable" "^6.0.1"
1207 |
1208 | "for-each@^0.3.3":
1209 | "integrity" "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw=="
1210 | "resolved" "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz"
1211 | "version" "0.3.3"
1212 | dependencies:
1213 | "is-callable" "^1.1.3"
1214 |
1215 | "fraction.js@^4.2.0":
1216 | "integrity" "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA=="
1217 | "resolved" "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz"
1218 | "version" "4.2.0"
1219 |
1220 | "framer-motion@^8.4.2":
1221 | "integrity" "sha512-AdYwbEZZ+6Z748A8JdNtwH7YR24HvXr/hJHL06ofipMyRchrf7Mzvk69zM24+rAm3SC3DCJK0WdbhpOLzroO+w=="
1222 | "resolved" "https://registry.npmjs.org/framer-motion/-/framer-motion-8.4.2.tgz"
1223 | "version" "8.4.2"
1224 | dependencies:
1225 | "@motionone/dom" "^10.15.3"
1226 | "hey-listen" "^1.0.8"
1227 | "tslib" "^2.4.0"
1228 | optionalDependencies:
1229 | "@emotion/is-prop-valid" "^0.8.2"
1230 |
1231 | "fs.realpath@^1.0.0":
1232 | "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
1233 | "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
1234 | "version" "1.0.0"
1235 |
1236 | "fsevents@~2.3.2":
1237 | "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA=="
1238 | "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz"
1239 | "version" "2.3.2"
1240 |
1241 | "function-bind@^1.1.1":
1242 | "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
1243 | "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
1244 | "version" "1.1.1"
1245 |
1246 | "function.prototype.name@^1.1.5":
1247 | "integrity" "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA=="
1248 | "resolved" "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz"
1249 | "version" "1.1.5"
1250 | dependencies:
1251 | "call-bind" "^1.0.2"
1252 | "define-properties" "^1.1.3"
1253 | "es-abstract" "^1.19.0"
1254 | "functions-have-names" "^1.2.2"
1255 |
1256 | "functions-have-names@^1.2.2":
1257 | "integrity" "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
1258 | "resolved" "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz"
1259 | "version" "1.2.3"
1260 |
1261 | "get-caller-file@^2.0.5":
1262 | "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
1263 | "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
1264 | "version" "2.0.5"
1265 |
1266 | "get-intrinsic@^1.0.2", "get-intrinsic@^1.1.0", "get-intrinsic@^1.1.1", "get-intrinsic@^1.1.3":
1267 | "integrity" "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A=="
1268 | "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz"
1269 | "version" "1.1.3"
1270 | dependencies:
1271 | "function-bind" "^1.1.1"
1272 | "has" "^1.0.3"
1273 | "has-symbols" "^1.0.3"
1274 |
1275 | "get-symbol-description@^1.0.0":
1276 | "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw=="
1277 | "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz"
1278 | "version" "1.0.0"
1279 | dependencies:
1280 | "call-bind" "^1.0.2"
1281 | "get-intrinsic" "^1.1.1"
1282 |
1283 | "get-tsconfig@^4.2.0":
1284 | "integrity" "sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ=="
1285 | "resolved" "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.3.0.tgz"
1286 | "version" "4.3.0"
1287 |
1288 | "glob-parent@^5.1.2":
1289 | "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="
1290 | "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
1291 | "version" "5.1.2"
1292 | dependencies:
1293 | "is-glob" "^4.0.1"
1294 |
1295 | "glob-parent@^6.0.2":
1296 | "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="
1297 | "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"
1298 | "version" "6.0.2"
1299 | dependencies:
1300 | "is-glob" "^4.0.3"
1301 |
1302 | "glob-parent@~5.1.2":
1303 | "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="
1304 | "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
1305 | "version" "5.1.2"
1306 | dependencies:
1307 | "is-glob" "^4.0.1"
1308 |
1309 | "glob@^7.1.3", "glob@7.1.7":
1310 | "integrity" "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ=="
1311 | "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz"
1312 | "version" "7.1.7"
1313 | dependencies:
1314 | "fs.realpath" "^1.0.0"
1315 | "inflight" "^1.0.4"
1316 | "inherits" "2"
1317 | "minimatch" "^3.0.4"
1318 | "once" "^1.3.0"
1319 | "path-is-absolute" "^1.0.0"
1320 |
1321 | "globals@^13.19.0":
1322 | "integrity" "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ=="
1323 | "resolved" "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz"
1324 | "version" "13.19.0"
1325 | dependencies:
1326 | "type-fest" "^0.20.2"
1327 |
1328 | "globalthis@^1.0.3":
1329 | "integrity" "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA=="
1330 | "resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz"
1331 | "version" "1.0.3"
1332 | dependencies:
1333 | "define-properties" "^1.1.3"
1334 |
1335 | "globalyzer@0.1.0":
1336 | "integrity" "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q=="
1337 | "resolved" "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz"
1338 | "version" "0.1.0"
1339 |
1340 | "globby@^11.1.0":
1341 | "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g=="
1342 | "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz"
1343 | "version" "11.1.0"
1344 | dependencies:
1345 | "array-union" "^2.1.0"
1346 | "dir-glob" "^3.0.1"
1347 | "fast-glob" "^3.2.9"
1348 | "ignore" "^5.2.0"
1349 | "merge2" "^1.4.1"
1350 | "slash" "^3.0.0"
1351 |
1352 | "globby@^13.1.2":
1353 | "integrity" "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw=="
1354 | "resolved" "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz"
1355 | "version" "13.1.3"
1356 | dependencies:
1357 | "dir-glob" "^3.0.1"
1358 | "fast-glob" "^3.2.11"
1359 | "ignore" "^5.2.0"
1360 | "merge2" "^1.4.1"
1361 | "slash" "^4.0.0"
1362 |
1363 | "globrex@^0.1.2":
1364 | "integrity" "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg=="
1365 | "resolved" "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz"
1366 | "version" "0.1.2"
1367 |
1368 | "gopd@^1.0.1":
1369 | "integrity" "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA=="
1370 | "resolved" "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz"
1371 | "version" "1.0.1"
1372 | dependencies:
1373 | "get-intrinsic" "^1.1.3"
1374 |
1375 | "graceful-fs@^4.2.4":
1376 | "integrity" "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
1377 | "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz"
1378 | "version" "4.2.10"
1379 |
1380 | "grapheme-splitter@^1.0.4":
1381 | "integrity" "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
1382 | "resolved" "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz"
1383 | "version" "1.0.4"
1384 |
1385 | "has-bigints@^1.0.1", "has-bigints@^1.0.2":
1386 | "integrity" "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ=="
1387 | "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz"
1388 | "version" "1.0.2"
1389 |
1390 | "has-flag@^4.0.0":
1391 | "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
1392 | "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
1393 | "version" "4.0.0"
1394 |
1395 | "has-property-descriptors@^1.0.0":
1396 | "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ=="
1397 | "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz"
1398 | "version" "1.0.0"
1399 | dependencies:
1400 | "get-intrinsic" "^1.1.1"
1401 |
1402 | "has-proto@^1.0.1":
1403 | "integrity" "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg=="
1404 | "resolved" "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz"
1405 | "version" "1.0.1"
1406 |
1407 | "has-symbols@^1.0.1", "has-symbols@^1.0.2", "has-symbols@^1.0.3":
1408 | "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
1409 | "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
1410 | "version" "1.0.3"
1411 |
1412 | "has-tostringtag@^1.0.0":
1413 | "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ=="
1414 | "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz"
1415 | "version" "1.0.0"
1416 | dependencies:
1417 | "has-symbols" "^1.0.2"
1418 |
1419 | "has@^1.0.3":
1420 | "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="
1421 | "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz"
1422 | "version" "1.0.3"
1423 | dependencies:
1424 | "function-bind" "^1.1.1"
1425 |
1426 | "hast-util-whitespace@^2.0.0":
1427 | "integrity" "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng=="
1428 | "resolved" "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz"
1429 | "version" "2.0.1"
1430 |
1431 | "hey-listen@^1.0.8":
1432 | "integrity" "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="
1433 | "resolved" "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz"
1434 | "version" "1.0.8"
1435 |
1436 | "hoist-non-react-statics@^3.0.0", "hoist-non-react-statics@^3.3.0":
1437 | "integrity" "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw=="
1438 | "resolved" "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz"
1439 | "version" "3.3.2"
1440 | dependencies:
1441 | "react-is" "^16.7.0"
1442 |
1443 | "ignore@^5.2.0":
1444 | "integrity" "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ=="
1445 | "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz"
1446 | "version" "5.2.4"
1447 |
1448 | "import-fresh@^3.0.0", "import-fresh@^3.2.1":
1449 | "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw=="
1450 | "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz"
1451 | "version" "3.3.0"
1452 | dependencies:
1453 | "parent-module" "^1.0.0"
1454 | "resolve-from" "^4.0.0"
1455 |
1456 | "imurmurhash@^0.1.4":
1457 | "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="
1458 | "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
1459 | "version" "0.1.4"
1460 |
1461 | "inflight@^1.0.4":
1462 | "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="
1463 | "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
1464 | "version" "1.0.6"
1465 | dependencies:
1466 | "once" "^1.3.0"
1467 | "wrappy" "1"
1468 |
1469 | "inherits@2":
1470 | "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
1471 | "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
1472 | "version" "2.0.4"
1473 |
1474 | "inline-style-parser@0.1.1":
1475 | "integrity" "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
1476 | "resolved" "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz"
1477 | "version" "0.1.1"
1478 |
1479 | "internal-slot@^1.0.3", "internal-slot@^1.0.4":
1480 | "integrity" "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ=="
1481 | "resolved" "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz"
1482 | "version" "1.0.4"
1483 | dependencies:
1484 | "get-intrinsic" "^1.1.3"
1485 | "has" "^1.0.3"
1486 | "side-channel" "^1.0.4"
1487 |
1488 | "is-arguments@^1.1.0", "is-arguments@^1.1.1":
1489 | "integrity" "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA=="
1490 | "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz"
1491 | "version" "1.1.1"
1492 | dependencies:
1493 | "call-bind" "^1.0.2"
1494 | "has-tostringtag" "^1.0.0"
1495 |
1496 | "is-array-buffer@^3.0.1":
1497 | "integrity" "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ=="
1498 | "resolved" "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz"
1499 | "version" "3.0.1"
1500 | dependencies:
1501 | "call-bind" "^1.0.2"
1502 | "get-intrinsic" "^1.1.3"
1503 | "is-typed-array" "^1.1.10"
1504 |
1505 | "is-bigint@^1.0.1":
1506 | "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg=="
1507 | "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz"
1508 | "version" "1.0.4"
1509 | dependencies:
1510 | "has-bigints" "^1.0.1"
1511 |
1512 | "is-binary-path@~2.1.0":
1513 | "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="
1514 | "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"
1515 | "version" "2.1.0"
1516 | dependencies:
1517 | "binary-extensions" "^2.0.0"
1518 |
1519 | "is-boolean-object@^1.1.0":
1520 | "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA=="
1521 | "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz"
1522 | "version" "1.1.2"
1523 | dependencies:
1524 | "call-bind" "^1.0.2"
1525 | "has-tostringtag" "^1.0.0"
1526 |
1527 | "is-buffer@^2.0.0":
1528 | "integrity" "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
1529 | "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz"
1530 | "version" "2.0.5"
1531 |
1532 | "is-callable@^1.1.3", "is-callable@^1.1.4", "is-callable@^1.2.7":
1533 | "integrity" "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="
1534 | "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz"
1535 | "version" "1.2.7"
1536 |
1537 | "is-core-module@^2.10.0", "is-core-module@^2.8.1", "is-core-module@^2.9.0":
1538 | "integrity" "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw=="
1539 | "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz"
1540 | "version" "2.11.0"
1541 | dependencies:
1542 | "has" "^1.0.3"
1543 |
1544 | "is-date-object@^1.0.1", "is-date-object@^1.0.5":
1545 | "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ=="
1546 | "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz"
1547 | "version" "1.0.5"
1548 | dependencies:
1549 | "has-tostringtag" "^1.0.0"
1550 |
1551 | "is-docker@^2.0.0", "is-docker@^2.1.1":
1552 | "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="
1553 | "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz"
1554 | "version" "2.2.1"
1555 |
1556 | "is-extglob@^2.1.1":
1557 | "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
1558 | "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
1559 | "version" "2.1.1"
1560 |
1561 | "is-fullwidth-code-point@^3.0.0":
1562 | "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
1563 | "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
1564 | "version" "3.0.0"
1565 |
1566 | "is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1":
1567 | "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="
1568 | "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
1569 | "version" "4.0.3"
1570 | dependencies:
1571 | "is-extglob" "^2.1.1"
1572 |
1573 | "is-map@^2.0.1", "is-map@^2.0.2":
1574 | "integrity" "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg=="
1575 | "resolved" "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz"
1576 | "version" "2.0.2"
1577 |
1578 | "is-negative-zero@^2.0.2":
1579 | "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
1580 | "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz"
1581 | "version" "2.0.2"
1582 |
1583 | "is-number-object@^1.0.4":
1584 | "integrity" "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ=="
1585 | "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz"
1586 | "version" "1.0.7"
1587 | dependencies:
1588 | "has-tostringtag" "^1.0.0"
1589 |
1590 | "is-number@^7.0.0":
1591 | "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
1592 | "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
1593 | "version" "7.0.0"
1594 |
1595 | "is-path-inside@^3.0.3":
1596 | "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="
1597 | "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz"
1598 | "version" "3.0.3"
1599 |
1600 | "is-plain-obj@^4.0.0":
1601 | "integrity" "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="
1602 | "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz"
1603 | "version" "4.1.0"
1604 |
1605 | "is-regex@^1.1.4":
1606 | "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg=="
1607 | "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz"
1608 | "version" "1.1.4"
1609 | dependencies:
1610 | "call-bind" "^1.0.2"
1611 | "has-tostringtag" "^1.0.0"
1612 |
1613 | "is-set@^2.0.1", "is-set@^2.0.2":
1614 | "integrity" "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g=="
1615 | "resolved" "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz"
1616 | "version" "2.0.2"
1617 |
1618 | "is-shared-array-buffer@^1.0.2":
1619 | "integrity" "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA=="
1620 | "resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz"
1621 | "version" "1.0.2"
1622 | dependencies:
1623 | "call-bind" "^1.0.2"
1624 |
1625 | "is-string@^1.0.5", "is-string@^1.0.7":
1626 | "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg=="
1627 | "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz"
1628 | "version" "1.0.7"
1629 | dependencies:
1630 | "has-tostringtag" "^1.0.0"
1631 |
1632 | "is-symbol@^1.0.2", "is-symbol@^1.0.3":
1633 | "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg=="
1634 | "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz"
1635 | "version" "1.0.4"
1636 | dependencies:
1637 | "has-symbols" "^1.0.2"
1638 |
1639 | "is-typed-array@^1.1.10", "is-typed-array@^1.1.9":
1640 | "integrity" "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A=="
1641 | "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz"
1642 | "version" "1.1.10"
1643 | dependencies:
1644 | "available-typed-arrays" "^1.0.5"
1645 | "call-bind" "^1.0.2"
1646 | "for-each" "^0.3.3"
1647 | "gopd" "^1.0.1"
1648 | "has-tostringtag" "^1.0.0"
1649 |
1650 | "is-weakmap@^2.0.1":
1651 | "integrity" "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA=="
1652 | "resolved" "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz"
1653 | "version" "2.0.1"
1654 |
1655 | "is-weakref@^1.0.2":
1656 | "integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ=="
1657 | "resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz"
1658 | "version" "1.0.2"
1659 | dependencies:
1660 | "call-bind" "^1.0.2"
1661 |
1662 | "is-weakset@^2.0.1":
1663 | "integrity" "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg=="
1664 | "resolved" "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz"
1665 | "version" "2.0.2"
1666 | dependencies:
1667 | "call-bind" "^1.0.2"
1668 | "get-intrinsic" "^1.1.1"
1669 |
1670 | "is-wsl@^2.2.0":
1671 | "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="
1672 | "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz"
1673 | "version" "2.2.0"
1674 | dependencies:
1675 | "is-docker" "^2.0.0"
1676 |
1677 | "isarray@^2.0.5":
1678 | "integrity" "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
1679 | "resolved" "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz"
1680 | "version" "2.0.5"
1681 |
1682 | "isexe@^2.0.0":
1683 | "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
1684 | "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
1685 | "version" "2.0.0"
1686 |
1687 | "js-sdsl@^4.1.4":
1688 | "integrity" "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ=="
1689 | "resolved" "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz"
1690 | "version" "4.2.0"
1691 |
1692 | "js-tokens@^3.0.0 || ^4.0.0":
1693 | "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
1694 | "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
1695 | "version" "4.0.0"
1696 |
1697 | "js-yaml@^4.1.0":
1698 | "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="
1699 | "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
1700 | "version" "4.1.0"
1701 | dependencies:
1702 | "argparse" "^2.0.1"
1703 |
1704 | "json-schema-traverse@^0.4.1":
1705 | "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
1706 | "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
1707 | "version" "0.4.1"
1708 |
1709 | "json-stable-stringify-without-jsonify@^1.0.1":
1710 | "integrity" "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
1711 | "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
1712 | "version" "1.0.1"
1713 |
1714 | "json5@^1.0.1":
1715 | "integrity" "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA=="
1716 | "resolved" "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz"
1717 | "version" "1.0.2"
1718 | dependencies:
1719 | "minimist" "^1.2.0"
1720 |
1721 | "jsx-ast-utils@^2.4.1 || ^3.0.0", "jsx-ast-utils@^3.3.3":
1722 | "integrity" "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw=="
1723 | "resolved" "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz"
1724 | "version" "3.3.3"
1725 | dependencies:
1726 | "array-includes" "^3.1.5"
1727 | "object.assign" "^4.1.3"
1728 |
1729 | "kleur@^4.0.3":
1730 | "integrity" "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="
1731 | "resolved" "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz"
1732 | "version" "4.1.5"
1733 |
1734 | "language-subtag-registry@~0.3.2":
1735 | "integrity" "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w=="
1736 | "resolved" "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz"
1737 | "version" "0.3.22"
1738 |
1739 | "language-tags@=1.0.5":
1740 | "integrity" "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ=="
1741 | "resolved" "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz"
1742 | "version" "1.0.5"
1743 | dependencies:
1744 | "language-subtag-registry" "~0.3.2"
1745 |
1746 | "levn@^0.4.1":
1747 | "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="
1748 | "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
1749 | "version" "0.4.1"
1750 | dependencies:
1751 | "prelude-ls" "^1.2.1"
1752 | "type-check" "~0.4.0"
1753 |
1754 | "lilconfig@^2.0.5", "lilconfig@^2.0.6":
1755 | "integrity" "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg=="
1756 | "resolved" "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz"
1757 | "version" "2.0.6"
1758 |
1759 | "locate-path@^6.0.0":
1760 | "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="
1761 | "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz"
1762 | "version" "6.0.0"
1763 | dependencies:
1764 | "p-locate" "^5.0.0"
1765 |
1766 | "lodash.castarray@^4.4.0":
1767 | "integrity" "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q=="
1768 | "resolved" "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz"
1769 | "version" "4.4.0"
1770 |
1771 | "lodash.isplainobject@^4.0.6":
1772 | "integrity" "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
1773 | "resolved" "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz"
1774 | "version" "4.0.6"
1775 |
1776 | "lodash.merge@^4.6.2":
1777 | "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
1778 | "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"
1779 | "version" "4.6.2"
1780 |
1781 | "lodash@^4.17.21":
1782 | "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
1783 | "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
1784 | "version" "4.17.21"
1785 |
1786 | "loose-envify@^1.1.0", "loose-envify@^1.4.0":
1787 | "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="
1788 | "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
1789 | "version" "1.4.0"
1790 | dependencies:
1791 | "js-tokens" "^3.0.0 || ^4.0.0"
1792 |
1793 | "lru-cache@^6.0.0":
1794 | "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="
1795 | "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"
1796 | "version" "6.0.0"
1797 | dependencies:
1798 | "yallist" "^4.0.0"
1799 |
1800 | "lucide-react@0.105.0-alpha.4":
1801 | "integrity" "sha512-QclWOzKYj7sDW33jTQK4enmxL1LmI2SHFqEEP56EWhvs4mmlbbFe6ALYcdcdGysNISNovEbH5WBHg8tN5DLn0w=="
1802 | "resolved" "https://registry.npmjs.org/lucide-react/-/lucide-react-0.105.0-alpha.4.tgz"
1803 | "version" "0.105.0-alpha.4"
1804 |
1805 | "mdast-util-definitions@^5.0.0":
1806 | "integrity" "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ=="
1807 | "resolved" "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz"
1808 | "version" "5.1.1"
1809 | dependencies:
1810 | "@types/mdast" "^3.0.0"
1811 | "@types/unist" "^2.0.0"
1812 | "unist-util-visit" "^4.0.0"
1813 |
1814 | "mdast-util-from-markdown@^1.0.0":
1815 | "integrity" "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q=="
1816 | "resolved" "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz"
1817 | "version" "1.2.0"
1818 | dependencies:
1819 | "@types/mdast" "^3.0.0"
1820 | "@types/unist" "^2.0.0"
1821 | "decode-named-character-reference" "^1.0.0"
1822 | "mdast-util-to-string" "^3.1.0"
1823 | "micromark" "^3.0.0"
1824 | "micromark-util-decode-numeric-character-reference" "^1.0.0"
1825 | "micromark-util-decode-string" "^1.0.0"
1826 | "micromark-util-normalize-identifier" "^1.0.0"
1827 | "micromark-util-symbol" "^1.0.0"
1828 | "micromark-util-types" "^1.0.0"
1829 | "unist-util-stringify-position" "^3.0.0"
1830 | "uvu" "^0.5.0"
1831 |
1832 | "mdast-util-to-hast@^12.1.0":
1833 | "integrity" "sha512-EFNhT35ZR/VZ85/EedDdCNTq0oFM+NM/+qBomVGQ0+Lcg0nhI8xIwmdCzNMlVlCJNXRprpobtKP/IUh8cfz6zQ=="
1834 | "resolved" "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.5.tgz"
1835 | "version" "12.2.5"
1836 | dependencies:
1837 | "@types/hast" "^2.0.0"
1838 | "@types/mdast" "^3.0.0"
1839 | "mdast-util-definitions" "^5.0.0"
1840 | "micromark-util-sanitize-uri" "^1.1.0"
1841 | "trim-lines" "^3.0.0"
1842 | "unist-builder" "^3.0.0"
1843 | "unist-util-generated" "^2.0.0"
1844 | "unist-util-position" "^4.0.0"
1845 | "unist-util-visit" "^4.0.0"
1846 |
1847 | "mdast-util-to-string@^3.1.0":
1848 | "integrity" "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA=="
1849 | "resolved" "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz"
1850 | "version" "3.1.0"
1851 |
1852 | "merge2@^1.3.0", "merge2@^1.4.1":
1853 | "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
1854 | "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
1855 | "version" "1.4.1"
1856 |
1857 | "micromark-core-commonmark@^1.0.1":
1858 | "integrity" "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA=="
1859 | "resolved" "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz"
1860 | "version" "1.0.6"
1861 | dependencies:
1862 | "decode-named-character-reference" "^1.0.0"
1863 | "micromark-factory-destination" "^1.0.0"
1864 | "micromark-factory-label" "^1.0.0"
1865 | "micromark-factory-space" "^1.0.0"
1866 | "micromark-factory-title" "^1.0.0"
1867 | "micromark-factory-whitespace" "^1.0.0"
1868 | "micromark-util-character" "^1.0.0"
1869 | "micromark-util-chunked" "^1.0.0"
1870 | "micromark-util-classify-character" "^1.0.0"
1871 | "micromark-util-html-tag-name" "^1.0.0"
1872 | "micromark-util-normalize-identifier" "^1.0.0"
1873 | "micromark-util-resolve-all" "^1.0.0"
1874 | "micromark-util-subtokenize" "^1.0.0"
1875 | "micromark-util-symbol" "^1.0.0"
1876 | "micromark-util-types" "^1.0.1"
1877 | "uvu" "^0.5.0"
1878 |
1879 | "micromark-factory-destination@^1.0.0":
1880 | "integrity" "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw=="
1881 | "resolved" "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz"
1882 | "version" "1.0.0"
1883 | dependencies:
1884 | "micromark-util-character" "^1.0.0"
1885 | "micromark-util-symbol" "^1.0.0"
1886 | "micromark-util-types" "^1.0.0"
1887 |
1888 | "micromark-factory-label@^1.0.0":
1889 | "integrity" "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg=="
1890 | "resolved" "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz"
1891 | "version" "1.0.2"
1892 | dependencies:
1893 | "micromark-util-character" "^1.0.0"
1894 | "micromark-util-symbol" "^1.0.0"
1895 | "micromark-util-types" "^1.0.0"
1896 | "uvu" "^0.5.0"
1897 |
1898 | "micromark-factory-space@^1.0.0":
1899 | "integrity" "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew=="
1900 | "resolved" "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz"
1901 | "version" "1.0.0"
1902 | dependencies:
1903 | "micromark-util-character" "^1.0.0"
1904 | "micromark-util-types" "^1.0.0"
1905 |
1906 | "micromark-factory-title@^1.0.0":
1907 | "integrity" "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A=="
1908 | "resolved" "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz"
1909 | "version" "1.0.2"
1910 | dependencies:
1911 | "micromark-factory-space" "^1.0.0"
1912 | "micromark-util-character" "^1.0.0"
1913 | "micromark-util-symbol" "^1.0.0"
1914 | "micromark-util-types" "^1.0.0"
1915 | "uvu" "^0.5.0"
1916 |
1917 | "micromark-factory-whitespace@^1.0.0":
1918 | "integrity" "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A=="
1919 | "resolved" "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz"
1920 | "version" "1.0.0"
1921 | dependencies:
1922 | "micromark-factory-space" "^1.0.0"
1923 | "micromark-util-character" "^1.0.0"
1924 | "micromark-util-symbol" "^1.0.0"
1925 | "micromark-util-types" "^1.0.0"
1926 |
1927 | "micromark-util-character@^1.0.0":
1928 | "integrity" "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg=="
1929 | "resolved" "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz"
1930 | "version" "1.1.0"
1931 | dependencies:
1932 | "micromark-util-symbol" "^1.0.0"
1933 | "micromark-util-types" "^1.0.0"
1934 |
1935 | "micromark-util-chunked@^1.0.0":
1936 | "integrity" "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g=="
1937 | "resolved" "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz"
1938 | "version" "1.0.0"
1939 | dependencies:
1940 | "micromark-util-symbol" "^1.0.0"
1941 |
1942 | "micromark-util-classify-character@^1.0.0":
1943 | "integrity" "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA=="
1944 | "resolved" "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz"
1945 | "version" "1.0.0"
1946 | dependencies:
1947 | "micromark-util-character" "^1.0.0"
1948 | "micromark-util-symbol" "^1.0.0"
1949 | "micromark-util-types" "^1.0.0"
1950 |
1951 | "micromark-util-combine-extensions@^1.0.0":
1952 | "integrity" "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA=="
1953 | "resolved" "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz"
1954 | "version" "1.0.0"
1955 | dependencies:
1956 | "micromark-util-chunked" "^1.0.0"
1957 | "micromark-util-types" "^1.0.0"
1958 |
1959 | "micromark-util-decode-numeric-character-reference@^1.0.0":
1960 | "integrity" "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w=="
1961 | "resolved" "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz"
1962 | "version" "1.0.0"
1963 | dependencies:
1964 | "micromark-util-symbol" "^1.0.0"
1965 |
1966 | "micromark-util-decode-string@^1.0.0":
1967 | "integrity" "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q=="
1968 | "resolved" "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz"
1969 | "version" "1.0.2"
1970 | dependencies:
1971 | "decode-named-character-reference" "^1.0.0"
1972 | "micromark-util-character" "^1.0.0"
1973 | "micromark-util-decode-numeric-character-reference" "^1.0.0"
1974 | "micromark-util-symbol" "^1.0.0"
1975 |
1976 | "micromark-util-encode@^1.0.0":
1977 | "integrity" "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA=="
1978 | "resolved" "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz"
1979 | "version" "1.0.1"
1980 |
1981 | "micromark-util-html-tag-name@^1.0.0":
1982 | "integrity" "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA=="
1983 | "resolved" "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz"
1984 | "version" "1.1.0"
1985 |
1986 | "micromark-util-normalize-identifier@^1.0.0":
1987 | "integrity" "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg=="
1988 | "resolved" "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz"
1989 | "version" "1.0.0"
1990 | dependencies:
1991 | "micromark-util-symbol" "^1.0.0"
1992 |
1993 | "micromark-util-resolve-all@^1.0.0":
1994 | "integrity" "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw=="
1995 | "resolved" "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz"
1996 | "version" "1.0.0"
1997 | dependencies:
1998 | "micromark-util-types" "^1.0.0"
1999 |
2000 | "micromark-util-sanitize-uri@^1.0.0", "micromark-util-sanitize-uri@^1.1.0":
2001 | "integrity" "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg=="
2002 | "resolved" "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz"
2003 | "version" "1.1.0"
2004 | dependencies:
2005 | "micromark-util-character" "^1.0.0"
2006 | "micromark-util-encode" "^1.0.0"
2007 | "micromark-util-symbol" "^1.0.0"
2008 |
2009 | "micromark-util-subtokenize@^1.0.0":
2010 | "integrity" "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA=="
2011 | "resolved" "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz"
2012 | "version" "1.0.2"
2013 | dependencies:
2014 | "micromark-util-chunked" "^1.0.0"
2015 | "micromark-util-symbol" "^1.0.0"
2016 | "micromark-util-types" "^1.0.0"
2017 | "uvu" "^0.5.0"
2018 |
2019 | "micromark-util-symbol@^1.0.0":
2020 | "integrity" "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ=="
2021 | "resolved" "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz"
2022 | "version" "1.0.1"
2023 |
2024 | "micromark-util-types@^1.0.0", "micromark-util-types@^1.0.1":
2025 | "integrity" "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w=="
2026 | "resolved" "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz"
2027 | "version" "1.0.2"
2028 |
2029 | "micromark@^3.0.0":
2030 | "integrity" "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA=="
2031 | "resolved" "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz"
2032 | "version" "3.1.0"
2033 | dependencies:
2034 | "@types/debug" "^4.0.0"
2035 | "debug" "^4.0.0"
2036 | "decode-named-character-reference" "^1.0.0"
2037 | "micromark-core-commonmark" "^1.0.1"
2038 | "micromark-factory-space" "^1.0.0"
2039 | "micromark-util-character" "^1.0.0"
2040 | "micromark-util-chunked" "^1.0.0"
2041 | "micromark-util-combine-extensions" "^1.0.0"
2042 | "micromark-util-decode-numeric-character-reference" "^1.0.0"
2043 | "micromark-util-encode" "^1.0.0"
2044 | "micromark-util-normalize-identifier" "^1.0.0"
2045 | "micromark-util-resolve-all" "^1.0.0"
2046 | "micromark-util-sanitize-uri" "^1.0.0"
2047 | "micromark-util-subtokenize" "^1.0.0"
2048 | "micromark-util-symbol" "^1.0.0"
2049 | "micromark-util-types" "^1.0.1"
2050 | "uvu" "^0.5.0"
2051 |
2052 | "micromatch@^4.0.4", "micromatch@^4.0.5":
2053 | "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA=="
2054 | "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz"
2055 | "version" "4.0.5"
2056 | dependencies:
2057 | "braces" "^3.0.2"
2058 | "picomatch" "^2.3.1"
2059 |
2060 | "mini-svg-data-uri@^1.2.3":
2061 | "integrity" "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg=="
2062 | "resolved" "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz"
2063 | "version" "1.4.4"
2064 |
2065 | "minimatch@^3.0.4", "minimatch@^3.0.5", "minimatch@^3.1.2":
2066 | "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="
2067 | "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
2068 | "version" "3.1.2"
2069 | dependencies:
2070 | "brace-expansion" "^1.1.7"
2071 |
2072 | "minimist@^1.2.0", "minimist@^1.2.6":
2073 | "integrity" "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g=="
2074 | "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz"
2075 | "version" "1.2.7"
2076 |
2077 | "mri@^1.1.0":
2078 | "integrity" "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="
2079 | "resolved" "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz"
2080 | "version" "1.2.0"
2081 |
2082 | "ms@^2.1.1", "ms@^2.1.3":
2083 | "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
2084 | "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
2085 | "version" "2.1.3"
2086 |
2087 | "ms@2.0.0":
2088 | "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
2089 | "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
2090 | "version" "2.0.0"
2091 |
2092 | "ms@2.1.2":
2093 | "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
2094 | "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
2095 | "version" "2.1.2"
2096 |
2097 | "nanoid@^3.3.4":
2098 | "integrity" "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
2099 | "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz"
2100 | "version" "3.3.4"
2101 |
2102 | "natural-compare@^1.4.0":
2103 | "integrity" "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
2104 | "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
2105 | "version" "1.4.0"
2106 |
2107 | "next@13.1.1":
2108 | "integrity" "sha512-R5eBAaIa3X7LJeYvv1bMdGnAVF4fVToEjim7MkflceFPuANY3YyvFxXee/A+acrSYwYPvOvf7f6v/BM/48ea5w=="
2109 | "resolved" "https://registry.npmjs.org/next/-/next-13.1.1.tgz"
2110 | "version" "13.1.1"
2111 | dependencies:
2112 | "@next/env" "13.1.1"
2113 | "@swc/helpers" "0.4.14"
2114 | "caniuse-lite" "^1.0.30001406"
2115 | "postcss" "8.4.14"
2116 | "styled-jsx" "5.1.1"
2117 | optionalDependencies:
2118 | "@next/swc-android-arm-eabi" "13.1.1"
2119 | "@next/swc-android-arm64" "13.1.1"
2120 | "@next/swc-darwin-arm64" "13.1.1"
2121 | "@next/swc-darwin-x64" "13.1.1"
2122 | "@next/swc-freebsd-x64" "13.1.1"
2123 | "@next/swc-linux-arm-gnueabihf" "13.1.1"
2124 | "@next/swc-linux-arm64-gnu" "13.1.1"
2125 | "@next/swc-linux-arm64-musl" "13.1.1"
2126 | "@next/swc-linux-x64-gnu" "13.1.1"
2127 | "@next/swc-linux-x64-musl" "13.1.1"
2128 | "@next/swc-win32-arm64-msvc" "13.1.1"
2129 | "@next/swc-win32-ia32-msvc" "13.1.1"
2130 | "@next/swc-win32-x64-msvc" "13.1.1"
2131 |
2132 | "node-releases@^2.0.6":
2133 | "integrity" "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A=="
2134 | "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz"
2135 | "version" "2.0.8"
2136 |
2137 | "normalize-path@^3.0.0", "normalize-path@~3.0.0":
2138 | "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
2139 | "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
2140 | "version" "3.0.0"
2141 |
2142 | "normalize-range@^0.1.2":
2143 | "integrity" "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="
2144 | "resolved" "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz"
2145 | "version" "0.1.2"
2146 |
2147 | "object-assign@^4.1.1":
2148 | "integrity" "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
2149 | "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
2150 | "version" "4.1.1"
2151 |
2152 | "object-hash@^3.0.0":
2153 | "integrity" "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="
2154 | "resolved" "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz"
2155 | "version" "3.0.0"
2156 |
2157 | "object-inspect@^1.12.2", "object-inspect@^1.9.0":
2158 | "integrity" "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
2159 | "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz"
2160 | "version" "1.12.2"
2161 |
2162 | "object-is@^1.1.5":
2163 | "integrity" "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw=="
2164 | "resolved" "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz"
2165 | "version" "1.1.5"
2166 | dependencies:
2167 | "call-bind" "^1.0.2"
2168 | "define-properties" "^1.1.3"
2169 |
2170 | "object-keys@^1.1.1":
2171 | "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
2172 | "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
2173 | "version" "1.1.1"
2174 |
2175 | "object.assign@^4.1.3", "object.assign@^4.1.4":
2176 | "integrity" "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ=="
2177 | "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz"
2178 | "version" "4.1.4"
2179 | dependencies:
2180 | "call-bind" "^1.0.2"
2181 | "define-properties" "^1.1.4"
2182 | "has-symbols" "^1.0.3"
2183 | "object-keys" "^1.1.1"
2184 |
2185 | "object.entries@^1.1.6":
2186 | "integrity" "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w=="
2187 | "resolved" "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz"
2188 | "version" "1.1.6"
2189 | dependencies:
2190 | "call-bind" "^1.0.2"
2191 | "define-properties" "^1.1.4"
2192 | "es-abstract" "^1.20.4"
2193 |
2194 | "object.fromentries@^2.0.6":
2195 | "integrity" "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg=="
2196 | "resolved" "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz"
2197 | "version" "2.0.6"
2198 | dependencies:
2199 | "call-bind" "^1.0.2"
2200 | "define-properties" "^1.1.4"
2201 | "es-abstract" "^1.20.4"
2202 |
2203 | "object.hasown@^1.1.2":
2204 | "integrity" "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw=="
2205 | "resolved" "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz"
2206 | "version" "1.1.2"
2207 | dependencies:
2208 | "define-properties" "^1.1.4"
2209 | "es-abstract" "^1.20.4"
2210 |
2211 | "object.values@^1.1.5", "object.values@^1.1.6":
2212 | "integrity" "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw=="
2213 | "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz"
2214 | "version" "1.1.6"
2215 | dependencies:
2216 | "call-bind" "^1.0.2"
2217 | "define-properties" "^1.1.4"
2218 | "es-abstract" "^1.20.4"
2219 |
2220 | "once@^1.3.0":
2221 | "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="
2222 | "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
2223 | "version" "1.4.0"
2224 | dependencies:
2225 | "wrappy" "1"
2226 |
2227 | "open@^8.4.0":
2228 | "integrity" "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q=="
2229 | "resolved" "https://registry.npmjs.org/open/-/open-8.4.0.tgz"
2230 | "version" "8.4.0"
2231 | dependencies:
2232 | "define-lazy-prop" "^2.0.0"
2233 | "is-docker" "^2.1.1"
2234 | "is-wsl" "^2.2.0"
2235 |
2236 | "optionator@^0.9.1":
2237 | "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw=="
2238 | "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz"
2239 | "version" "0.9.1"
2240 | dependencies:
2241 | "deep-is" "^0.1.3"
2242 | "fast-levenshtein" "^2.0.6"
2243 | "levn" "^0.4.1"
2244 | "prelude-ls" "^1.2.1"
2245 | "type-check" "^0.4.0"
2246 | "word-wrap" "^1.2.3"
2247 |
2248 | "p-limit@^3.0.2":
2249 | "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="
2250 | "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz"
2251 | "version" "3.1.0"
2252 | dependencies:
2253 | "yocto-queue" "^0.1.0"
2254 |
2255 | "p-locate@^5.0.0":
2256 | "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="
2257 | "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz"
2258 | "version" "5.0.0"
2259 | dependencies:
2260 | "p-limit" "^3.0.2"
2261 |
2262 | "parent-module@^1.0.0":
2263 | "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="
2264 | "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
2265 | "version" "1.0.1"
2266 | dependencies:
2267 | "callsites" "^3.0.0"
2268 |
2269 | "path-exists@^4.0.0":
2270 | "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
2271 | "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"
2272 | "version" "4.0.0"
2273 |
2274 | "path-is-absolute@^1.0.0":
2275 | "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
2276 | "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
2277 | "version" "1.0.1"
2278 |
2279 | "path-key@^3.1.0":
2280 | "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
2281 | "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
2282 | "version" "3.1.1"
2283 |
2284 | "path-parse@^1.0.7":
2285 | "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
2286 | "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
2287 | "version" "1.0.7"
2288 |
2289 | "path-type@^4.0.0":
2290 | "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
2291 | "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
2292 | "version" "4.0.0"
2293 |
2294 | "picocolors@^1.0.0":
2295 | "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
2296 | "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
2297 | "version" "1.0.0"
2298 |
2299 | "picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.3.1":
2300 | "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
2301 | "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
2302 | "version" "2.3.1"
2303 |
2304 | "pify@^2.3.0":
2305 | "integrity" "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
2306 | "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
2307 | "version" "2.3.0"
2308 |
2309 | "postcss-import@^14.1.0":
2310 | "integrity" "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw=="
2311 | "resolved" "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz"
2312 | "version" "14.1.0"
2313 | dependencies:
2314 | "postcss-value-parser" "^4.0.0"
2315 | "read-cache" "^1.0.0"
2316 | "resolve" "^1.1.7"
2317 |
2318 | "postcss-js@^4.0.0":
2319 | "integrity" "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ=="
2320 | "resolved" "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz"
2321 | "version" "4.0.0"
2322 | dependencies:
2323 | "camelcase-css" "^2.0.1"
2324 |
2325 | "postcss-load-config@^3.1.4":
2326 | "integrity" "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg=="
2327 | "resolved" "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz"
2328 | "version" "3.1.4"
2329 | dependencies:
2330 | "lilconfig" "^2.0.5"
2331 | "yaml" "^1.10.2"
2332 |
2333 | "postcss-nested@6.0.0":
2334 | "integrity" "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w=="
2335 | "resolved" "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz"
2336 | "version" "6.0.0"
2337 | dependencies:
2338 | "postcss-selector-parser" "^6.0.10"
2339 |
2340 | "postcss-selector-parser@^6.0.10", "postcss-selector-parser@6.0.10":
2341 | "integrity" "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w=="
2342 | "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz"
2343 | "version" "6.0.10"
2344 | dependencies:
2345 | "cssesc" "^3.0.0"
2346 | "util-deprecate" "^1.0.2"
2347 |
2348 | "postcss-value-parser@^4.0.0", "postcss-value-parser@^4.2.0":
2349 | "integrity" "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
2350 | "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
2351 | "version" "4.2.0"
2352 |
2353 | "postcss@^8.0.0", "postcss@^8.1.0", "postcss@^8.2.14", "postcss@^8.3.3", "postcss@^8.4.18", "postcss@^8.4.21", "postcss@>=8.0.9":
2354 | "integrity" "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg=="
2355 | "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz"
2356 | "version" "8.4.21"
2357 | dependencies:
2358 | "nanoid" "^3.3.4"
2359 | "picocolors" "^1.0.0"
2360 | "source-map-js" "^1.0.2"
2361 |
2362 | "postcss@8.4.14":
2363 | "integrity" "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig=="
2364 | "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz"
2365 | "version" "8.4.14"
2366 | dependencies:
2367 | "nanoid" "^3.3.4"
2368 | "picocolors" "^1.0.0"
2369 | "source-map-js" "^1.0.2"
2370 |
2371 | "prelude-ls@^1.2.1":
2372 | "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
2373 | "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
2374 | "version" "1.2.1"
2375 |
2376 | "prettier-plugin-tailwindcss@^0.2.1":
2377 | "integrity" "sha512-aIO8IguumORyRsmT+E7JfJ3A9FEoyhqZR7Au7TBOege3VZkgMvHJMkufeYp4zjnDK2iq4ktkvGMNOQR9T8lisQ=="
2378 | "resolved" "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.2.1.tgz"
2379 | "version" "0.2.1"
2380 |
2381 | "prettier@^2.8.2", "prettier@>=2.2.0":
2382 | "integrity" "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw=="
2383 | "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz"
2384 | "version" "2.8.2"
2385 |
2386 | "prisma@^4.8.1":
2387 | "integrity" "sha512-ZMLnSjwulIeYfaU1O6/LF6PEJzxN5par5weykxMykS9Z6ara/j76JH3Yo2AH3bgJbPN4Z6NeCK9s5fDkzf33cg=="
2388 | "resolved" "https://registry.npmjs.org/prisma/-/prisma-4.8.1.tgz"
2389 | "version" "4.8.1"
2390 | dependencies:
2391 | "@prisma/engines" "4.8.1"
2392 |
2393 | "prop-types@^15.0.0", "prop-types@^15.8.1":
2394 | "integrity" "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="
2395 | "resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
2396 | "version" "15.8.1"
2397 | dependencies:
2398 | "loose-envify" "^1.4.0"
2399 | "object-assign" "^4.1.1"
2400 | "react-is" "^16.13.1"
2401 |
2402 | "property-information@^6.0.0":
2403 | "integrity" "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg=="
2404 | "resolved" "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz"
2405 | "version" "6.2.0"
2406 |
2407 | "punycode@^2.1.0":
2408 | "integrity" "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw=="
2409 | "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz"
2410 | "version" "2.2.0"
2411 |
2412 | "queue-microtask@^1.2.2":
2413 | "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
2414 | "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
2415 | "version" "1.2.3"
2416 |
2417 | "quick-lru@^5.1.1":
2418 | "integrity" "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="
2419 | "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz"
2420 | "version" "5.1.1"
2421 |
2422 | "react-cookie@^4.1.1":
2423 | "integrity" "sha512-ffn7Y7G4bXiFbnE+dKhHhbP+b8I34mH9jqnm8Llhj89zF4nPxPutxHT1suUqMeCEhLDBI7InYwf1tpaSoK5w8A=="
2424 | "resolved" "https://registry.npmjs.org/react-cookie/-/react-cookie-4.1.1.tgz"
2425 | "version" "4.1.1"
2426 | dependencies:
2427 | "@types/hoist-non-react-statics" "^3.0.1"
2428 | "hoist-non-react-statics" "^3.0.0"
2429 | "universal-cookie" "^4.0.0"
2430 |
2431 | "react-dom@^18.0.0", "react-dom@^18.2.0", "react-dom@>=16.3.0", "react-dom@18.2.0":
2432 | "integrity" "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g=="
2433 | "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz"
2434 | "version" "18.2.0"
2435 | dependencies:
2436 | "loose-envify" "^1.1.0"
2437 | "scheduler" "^0.23.0"
2438 |
2439 | "react-is@^16.13.1", "react-is@^16.7.0":
2440 | "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
2441 | "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
2442 | "version" "16.13.1"
2443 |
2444 | "react-is@^18.0.0":
2445 | "integrity" "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
2446 | "resolved" "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz"
2447 | "version" "18.2.0"
2448 |
2449 | "react-markdown@^8.0.4":
2450 | "integrity" "sha512-2oxHa6oDxc1apg/Gnc1Goh06t3B617xeywqI/92wmDV9FELI6ayRkwge7w7DoEqM0gRpZGTNU6xQG+YpJISnVg=="
2451 | "resolved" "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.4.tgz"
2452 | "version" "8.0.4"
2453 | dependencies:
2454 | "@types/hast" "^2.0.0"
2455 | "@types/prop-types" "^15.0.0"
2456 | "@types/unist" "^2.0.0"
2457 | "comma-separated-tokens" "^2.0.0"
2458 | "hast-util-whitespace" "^2.0.0"
2459 | "prop-types" "^15.0.0"
2460 | "property-information" "^6.0.0"
2461 | "react-is" "^18.0.0"
2462 | "remark-parse" "^10.0.0"
2463 | "remark-rehype" "^10.0.0"
2464 | "space-separated-tokens" "^2.0.0"
2465 | "style-to-object" "^0.3.0"
2466 | "unified" "^10.0.0"
2467 | "unist-util-visit" "^4.0.0"
2468 | "vfile" "^5.0.0"
2469 |
2470 | "react-wrap-balancer@^0.3.0":
2471 | "integrity" "sha512-UlnQvCvSRW0jh8uILic2LJs4tV0KjOO+P70ookE5qRpfZvsKmY8KLcV8s7TBPB6cuVYkoH7+fbqankFrFata8w=="
2472 | "resolved" "https://registry.npmjs.org/react-wrap-balancer/-/react-wrap-balancer-0.3.0.tgz"
2473 | "version" "0.3.0"
2474 |
2475 | "react@^16.5.1 || ^17.0.0 || ^18.0.0", "react@^16.8||^17||^18", "react@^18.0.0", "react@^18.2.0", "react@>= 16.3.0", "react@>= 16.8.0 || 17.x.x || ^18.0.0-0", "react@>=16", "react@>=16.3.0", "react@>=16.8.0", "react@18.2.0":
2476 | "integrity" "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ=="
2477 | "resolved" "https://registry.npmjs.org/react/-/react-18.2.0.tgz"
2478 | "version" "18.2.0"
2479 | dependencies:
2480 | "loose-envify" "^1.1.0"
2481 |
2482 | "read-cache@^1.0.0":
2483 | "integrity" "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="
2484 | "resolved" "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz"
2485 | "version" "1.0.0"
2486 | dependencies:
2487 | "pify" "^2.3.0"
2488 |
2489 | "readdirp@~3.6.0":
2490 | "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="
2491 | "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz"
2492 | "version" "3.6.0"
2493 | dependencies:
2494 | "picomatch" "^2.2.1"
2495 |
2496 | "regenerator-runtime@^0.13.11":
2497 | "integrity" "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
2498 | "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz"
2499 | "version" "0.13.11"
2500 |
2501 | "regexp.prototype.flags@^1.4.3":
2502 | "integrity" "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA=="
2503 | "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz"
2504 | "version" "1.4.3"
2505 | dependencies:
2506 | "call-bind" "^1.0.2"
2507 | "define-properties" "^1.1.3"
2508 | "functions-have-names" "^1.2.2"
2509 |
2510 | "regexpp@^3.2.0":
2511 | "integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg=="
2512 | "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz"
2513 | "version" "3.2.0"
2514 |
2515 | "remark-parse@^10.0.0":
2516 | "integrity" "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw=="
2517 | "resolved" "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz"
2518 | "version" "10.0.1"
2519 | dependencies:
2520 | "@types/mdast" "^3.0.0"
2521 | "mdast-util-from-markdown" "^1.0.0"
2522 | "unified" "^10.0.0"
2523 |
2524 | "remark-rehype@^10.0.0":
2525 | "integrity" "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw=="
2526 | "resolved" "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz"
2527 | "version" "10.1.0"
2528 | dependencies:
2529 | "@types/hast" "^2.0.0"
2530 | "@types/mdast" "^3.0.0"
2531 | "mdast-util-to-hast" "^12.1.0"
2532 | "unified" "^10.0.0"
2533 |
2534 | "require-directory@^2.1.1":
2535 | "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
2536 | "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
2537 | "version" "2.1.1"
2538 |
2539 | "resolve-from@^4.0.0":
2540 | "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
2541 | "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
2542 | "version" "4.0.0"
2543 |
2544 | "resolve@^1.1.7", "resolve@^1.20.0", "resolve@^1.22.0", "resolve@^1.22.1":
2545 | "integrity" "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw=="
2546 | "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz"
2547 | "version" "1.22.1"
2548 | dependencies:
2549 | "is-core-module" "^2.9.0"
2550 | "path-parse" "^1.0.7"
2551 | "supports-preserve-symlinks-flag" "^1.0.0"
2552 |
2553 | "resolve@^2.0.0-next.4":
2554 | "integrity" "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ=="
2555 | "resolved" "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz"
2556 | "version" "2.0.0-next.4"
2557 | dependencies:
2558 | "is-core-module" "^2.9.0"
2559 | "path-parse" "^1.0.7"
2560 | "supports-preserve-symlinks-flag" "^1.0.0"
2561 |
2562 | "reusify@^1.0.4":
2563 | "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
2564 | "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
2565 | "version" "1.0.4"
2566 |
2567 | "rimraf@^3.0.2":
2568 | "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="
2569 | "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
2570 | "version" "3.0.2"
2571 | dependencies:
2572 | "glob" "^7.1.3"
2573 |
2574 | "run-parallel@^1.1.9":
2575 | "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="
2576 | "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
2577 | "version" "1.2.0"
2578 | dependencies:
2579 | "queue-microtask" "^1.2.2"
2580 |
2581 | "rxjs@^7.0.0":
2582 | "integrity" "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg=="
2583 | "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz"
2584 | "version" "7.8.0"
2585 | dependencies:
2586 | "tslib" "^2.1.0"
2587 |
2588 | "sade@^1.7.3":
2589 | "integrity" "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A=="
2590 | "resolved" "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz"
2591 | "version" "1.8.1"
2592 | dependencies:
2593 | "mri" "^1.1.0"
2594 |
2595 | "safe-regex-test@^1.0.0":
2596 | "integrity" "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA=="
2597 | "resolved" "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz"
2598 | "version" "1.0.0"
2599 | dependencies:
2600 | "call-bind" "^1.0.2"
2601 | "get-intrinsic" "^1.1.3"
2602 | "is-regex" "^1.1.4"
2603 |
2604 | "scheduler@^0.23.0":
2605 | "integrity" "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw=="
2606 | "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz"
2607 | "version" "0.23.0"
2608 | dependencies:
2609 | "loose-envify" "^1.1.0"
2610 |
2611 | "semver@^6.3.0":
2612 | "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
2613 | "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
2614 | "version" "6.3.0"
2615 |
2616 | "semver@^7.3.7":
2617 | "integrity" "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A=="
2618 | "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz"
2619 | "version" "7.3.8"
2620 | dependencies:
2621 | "lru-cache" "^6.0.0"
2622 |
2623 | "shebang-command@^2.0.0":
2624 | "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="
2625 | "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
2626 | "version" "2.0.0"
2627 | dependencies:
2628 | "shebang-regex" "^3.0.0"
2629 |
2630 | "shebang-regex@^3.0.0":
2631 | "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
2632 | "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
2633 | "version" "3.0.0"
2634 |
2635 | "shell-quote@^1.7.3":
2636 | "integrity" "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw=="
2637 | "resolved" "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz"
2638 | "version" "1.7.4"
2639 |
2640 | "side-channel@^1.0.4":
2641 | "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw=="
2642 | "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz"
2643 | "version" "1.0.4"
2644 | dependencies:
2645 | "call-bind" "^1.0.0"
2646 | "get-intrinsic" "^1.0.2"
2647 | "object-inspect" "^1.9.0"
2648 |
2649 | "slash@^3.0.0":
2650 | "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
2651 | "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
2652 | "version" "3.0.0"
2653 |
2654 | "slash@^4.0.0":
2655 | "integrity" "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew=="
2656 | "resolved" "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz"
2657 | "version" "4.0.0"
2658 |
2659 | "source-map-js@^1.0.2":
2660 | "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
2661 | "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
2662 | "version" "1.0.2"
2663 |
2664 | "space-separated-tokens@^2.0.0":
2665 | "integrity" "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="
2666 | "resolved" "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz"
2667 | "version" "2.0.2"
2668 |
2669 | "spawn-command@^0.0.2-1":
2670 | "integrity" "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg=="
2671 | "resolved" "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz"
2672 | "version" "0.0.2-1"
2673 |
2674 | "string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.3":
2675 | "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="
2676 | "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
2677 | "version" "4.2.3"
2678 | dependencies:
2679 | "emoji-regex" "^8.0.0"
2680 | "is-fullwidth-code-point" "^3.0.0"
2681 | "strip-ansi" "^6.0.1"
2682 |
2683 | "string.prototype.matchall@^4.0.8":
2684 | "integrity" "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg=="
2685 | "resolved" "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz"
2686 | "version" "4.0.8"
2687 | dependencies:
2688 | "call-bind" "^1.0.2"
2689 | "define-properties" "^1.1.4"
2690 | "es-abstract" "^1.20.4"
2691 | "get-intrinsic" "^1.1.3"
2692 | "has-symbols" "^1.0.3"
2693 | "internal-slot" "^1.0.3"
2694 | "regexp.prototype.flags" "^1.4.3"
2695 | "side-channel" "^1.0.4"
2696 |
2697 | "string.prototype.trimend@^1.0.6":
2698 | "integrity" "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ=="
2699 | "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz"
2700 | "version" "1.0.6"
2701 | dependencies:
2702 | "call-bind" "^1.0.2"
2703 | "define-properties" "^1.1.4"
2704 | "es-abstract" "^1.20.4"
2705 |
2706 | "string.prototype.trimstart@^1.0.6":
2707 | "integrity" "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA=="
2708 | "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz"
2709 | "version" "1.0.6"
2710 | dependencies:
2711 | "call-bind" "^1.0.2"
2712 | "define-properties" "^1.1.4"
2713 | "es-abstract" "^1.20.4"
2714 |
2715 | "strip-ansi@^6.0.0", "strip-ansi@^6.0.1":
2716 | "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="
2717 | "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
2718 | "version" "6.0.1"
2719 | dependencies:
2720 | "ansi-regex" "^5.0.1"
2721 |
2722 | "strip-bom@^3.0.0":
2723 | "integrity" "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
2724 | "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
2725 | "version" "3.0.0"
2726 |
2727 | "strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1":
2728 | "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
2729 | "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
2730 | "version" "3.1.1"
2731 |
2732 | "style-to-object@^0.3.0":
2733 | "integrity" "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA=="
2734 | "resolved" "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz"
2735 | "version" "0.3.0"
2736 | dependencies:
2737 | "inline-style-parser" "0.1.1"
2738 |
2739 | "styled-jsx@5.1.1":
2740 | "integrity" "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw=="
2741 | "resolved" "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz"
2742 | "version" "5.1.1"
2743 | dependencies:
2744 | "client-only" "0.0.1"
2745 |
2746 | "supports-color@^7.1.0":
2747 | "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
2748 | "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
2749 | "version" "7.2.0"
2750 | dependencies:
2751 | "has-flag" "^4.0.0"
2752 |
2753 | "supports-color@^8.1.0":
2754 | "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="
2755 | "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
2756 | "version" "8.1.1"
2757 | dependencies:
2758 | "has-flag" "^4.0.0"
2759 |
2760 | "supports-preserve-symlinks-flag@^1.0.0":
2761 | "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
2762 | "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
2763 | "version" "1.0.0"
2764 |
2765 | "synckit@^0.8.4":
2766 | "integrity" "sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw=="
2767 | "resolved" "https://registry.npmjs.org/synckit/-/synckit-0.8.4.tgz"
2768 | "version" "0.8.4"
2769 | dependencies:
2770 | "@pkgr/utils" "^2.3.1"
2771 | "tslib" "^2.4.0"
2772 |
2773 | "tabbable@^6.0.1":
2774 | "integrity" "sha512-SYJSIgeyXW7EuX1ytdneO5e8jip42oHWg9xl/o3oTYhmXusZVgiA+VlPvjIN+kHii9v90AmzTZEBcsEvuAY+TA=="
2775 | "resolved" "https://registry.npmjs.org/tabbable/-/tabbable-6.0.1.tgz"
2776 | "version" "6.0.1"
2777 |
2778 | "tailwindcss@^3.2.4", "tailwindcss@>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1", "tailwindcss@>=3.0.0 || >= 3.0.0-alpha.1", "tailwindcss@>=3.0.0 || insiders":
2779 | "integrity" "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ=="
2780 | "resolved" "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz"
2781 | "version" "3.2.4"
2782 | dependencies:
2783 | "arg" "^5.0.2"
2784 | "chokidar" "^3.5.3"
2785 | "color-name" "^1.1.4"
2786 | "detective" "^5.2.1"
2787 | "didyoumean" "^1.2.2"
2788 | "dlv" "^1.1.3"
2789 | "fast-glob" "^3.2.12"
2790 | "glob-parent" "^6.0.2"
2791 | "is-glob" "^4.0.3"
2792 | "lilconfig" "^2.0.6"
2793 | "micromatch" "^4.0.5"
2794 | "normalize-path" "^3.0.0"
2795 | "object-hash" "^3.0.0"
2796 | "picocolors" "^1.0.0"
2797 | "postcss" "^8.4.18"
2798 | "postcss-import" "^14.1.0"
2799 | "postcss-js" "^4.0.0"
2800 | "postcss-load-config" "^3.1.4"
2801 | "postcss-nested" "6.0.0"
2802 | "postcss-selector-parser" "^6.0.10"
2803 | "postcss-value-parser" "^4.2.0"
2804 | "quick-lru" "^5.1.1"
2805 | "resolve" "^1.22.1"
2806 |
2807 | "tapable@^2.2.0":
2808 | "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
2809 | "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz"
2810 | "version" "2.2.1"
2811 |
2812 | "text-table@^0.2.0":
2813 | "integrity" "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
2814 | "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
2815 | "version" "0.2.0"
2816 |
2817 | "tiny-glob@^0.2.9":
2818 | "integrity" "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg=="
2819 | "resolved" "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz"
2820 | "version" "0.2.9"
2821 | dependencies:
2822 | "globalyzer" "0.1.0"
2823 | "globrex" "^0.1.2"
2824 |
2825 | "to-regex-range@^5.0.1":
2826 | "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="
2827 | "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
2828 | "version" "5.0.1"
2829 | dependencies:
2830 | "is-number" "^7.0.0"
2831 |
2832 | "tree-kill@^1.2.2":
2833 | "integrity" "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="
2834 | "resolved" "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz"
2835 | "version" "1.2.2"
2836 |
2837 | "trim-lines@^3.0.0":
2838 | "integrity" "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="
2839 | "resolved" "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz"
2840 | "version" "3.0.1"
2841 |
2842 | "trough@^2.0.0":
2843 | "integrity" "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g=="
2844 | "resolved" "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz"
2845 | "version" "2.1.0"
2846 |
2847 | "tsconfig-paths@^3.14.1":
2848 | "integrity" "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ=="
2849 | "resolved" "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz"
2850 | "version" "3.14.1"
2851 | dependencies:
2852 | "@types/json5" "^0.0.29"
2853 | "json5" "^1.0.1"
2854 | "minimist" "^1.2.6"
2855 | "strip-bom" "^3.0.0"
2856 |
2857 | "tslib@^1.8.1":
2858 | "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
2859 | "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
2860 | "version" "1.14.1"
2861 |
2862 | "tslib@^2.1.0", "tslib@^2.3.1", "tslib@^2.4.0":
2863 | "integrity" "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
2864 | "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz"
2865 | "version" "2.4.1"
2866 |
2867 | "tsutils@^3.21.0":
2868 | "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA=="
2869 | "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz"
2870 | "version" "3.21.0"
2871 | dependencies:
2872 | "tslib" "^1.8.1"
2873 |
2874 | "type-check@^0.4.0", "type-check@~0.4.0":
2875 | "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="
2876 | "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
2877 | "version" "0.4.0"
2878 | dependencies:
2879 | "prelude-ls" "^1.2.1"
2880 |
2881 | "type-fest@^0.20.2":
2882 | "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
2883 | "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
2884 | "version" "0.20.2"
2885 |
2886 | "typed-array-length@^1.0.4":
2887 | "integrity" "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng=="
2888 | "resolved" "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz"
2889 | "version" "1.0.4"
2890 | dependencies:
2891 | "call-bind" "^1.0.2"
2892 | "for-each" "^0.3.3"
2893 | "is-typed-array" "^1.1.9"
2894 |
2895 | "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", "typescript@>=3.3.1", "typescript@4.9.4":
2896 | "integrity" "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg=="
2897 | "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz"
2898 | "version" "4.9.4"
2899 |
2900 | "unbox-primitive@^1.0.2":
2901 | "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw=="
2902 | "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz"
2903 | "version" "1.0.2"
2904 | dependencies:
2905 | "call-bind" "^1.0.2"
2906 | "has-bigints" "^1.0.2"
2907 | "has-symbols" "^1.0.3"
2908 | "which-boxed-primitive" "^1.0.2"
2909 |
2910 | "unified@^10.0.0":
2911 | "integrity" "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q=="
2912 | "resolved" "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz"
2913 | "version" "10.1.2"
2914 | dependencies:
2915 | "@types/unist" "^2.0.0"
2916 | "bail" "^2.0.0"
2917 | "extend" "^3.0.0"
2918 | "is-buffer" "^2.0.0"
2919 | "is-plain-obj" "^4.0.0"
2920 | "trough" "^2.0.0"
2921 | "vfile" "^5.0.0"
2922 |
2923 | "unist-builder@^3.0.0":
2924 | "integrity" "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ=="
2925 | "resolved" "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz"
2926 | "version" "3.0.0"
2927 | dependencies:
2928 | "@types/unist" "^2.0.0"
2929 |
2930 | "unist-util-generated@^2.0.0":
2931 | "integrity" "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw=="
2932 | "resolved" "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz"
2933 | "version" "2.0.0"
2934 |
2935 | "unist-util-is@^5.0.0":
2936 | "integrity" "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ=="
2937 | "resolved" "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz"
2938 | "version" "5.1.1"
2939 |
2940 | "unist-util-position@^4.0.0":
2941 | "integrity" "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ=="
2942 | "resolved" "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz"
2943 | "version" "4.0.3"
2944 | dependencies:
2945 | "@types/unist" "^2.0.0"
2946 |
2947 | "unist-util-stringify-position@^3.0.0":
2948 | "integrity" "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg=="
2949 | "resolved" "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz"
2950 | "version" "3.0.2"
2951 | dependencies:
2952 | "@types/unist" "^2.0.0"
2953 |
2954 | "unist-util-visit-parents@^5.1.1":
2955 | "integrity" "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw=="
2956 | "resolved" "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz"
2957 | "version" "5.1.1"
2958 | dependencies:
2959 | "@types/unist" "^2.0.0"
2960 | "unist-util-is" "^5.0.0"
2961 |
2962 | "unist-util-visit@^4.0.0":
2963 | "integrity" "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg=="
2964 | "resolved" "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz"
2965 | "version" "4.1.1"
2966 | dependencies:
2967 | "@types/unist" "^2.0.0"
2968 | "unist-util-is" "^5.0.0"
2969 | "unist-util-visit-parents" "^5.1.1"
2970 |
2971 | "universal-cookie@^4.0.0":
2972 | "integrity" "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw=="
2973 | "resolved" "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz"
2974 | "version" "4.0.4"
2975 | dependencies:
2976 | "@types/cookie" "^0.3.3"
2977 | "cookie" "^0.4.0"
2978 |
2979 | "update-browserslist-db@^1.0.9":
2980 | "integrity" "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ=="
2981 | "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz"
2982 | "version" "1.0.10"
2983 | dependencies:
2984 | "escalade" "^3.1.1"
2985 | "picocolors" "^1.0.0"
2986 |
2987 | "uri-js@^4.2.2":
2988 | "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="
2989 | "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
2990 | "version" "4.4.1"
2991 | dependencies:
2992 | "punycode" "^2.1.0"
2993 |
2994 | "use-debounce@^9.0.3":
2995 | "integrity" "sha512-FhtlbDtDXILJV7Lix5OZj5yX/fW1tzq+VrvK1fnT2bUrPOGruU9Rw8NCEn+UI9wopfERBEZAOQ8lfeCJPllgnw=="
2996 | "resolved" "https://registry.npmjs.org/use-debounce/-/use-debounce-9.0.3.tgz"
2997 | "version" "9.0.3"
2998 |
2999 | "util-deprecate@^1.0.2":
3000 | "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
3001 | "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
3002 | "version" "1.0.2"
3003 |
3004 | "uvu@^0.5.0":
3005 | "integrity" "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA=="
3006 | "resolved" "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz"
3007 | "version" "0.5.6"
3008 | dependencies:
3009 | "dequal" "^2.0.0"
3010 | "diff" "^5.0.0"
3011 | "kleur" "^4.0.3"
3012 | "sade" "^1.7.3"
3013 |
3014 | "vfile-message@^3.0.0":
3015 | "integrity" "sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA=="
3016 | "resolved" "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.3.tgz"
3017 | "version" "3.1.3"
3018 | dependencies:
3019 | "@types/unist" "^2.0.0"
3020 | "unist-util-stringify-position" "^3.0.0"
3021 |
3022 | "vfile@^5.0.0":
3023 | "integrity" "sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA=="
3024 | "resolved" "https://registry.npmjs.org/vfile/-/vfile-5.3.6.tgz"
3025 | "version" "5.3.6"
3026 | dependencies:
3027 | "@types/unist" "^2.0.0"
3028 | "is-buffer" "^2.0.0"
3029 | "unist-util-stringify-position" "^3.0.0"
3030 | "vfile-message" "^3.0.0"
3031 |
3032 | "which-boxed-primitive@^1.0.2":
3033 | "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg=="
3034 | "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz"
3035 | "version" "1.0.2"
3036 | dependencies:
3037 | "is-bigint" "^1.0.1"
3038 | "is-boolean-object" "^1.1.0"
3039 | "is-number-object" "^1.0.4"
3040 | "is-string" "^1.0.5"
3041 | "is-symbol" "^1.0.3"
3042 |
3043 | "which-collection@^1.0.1":
3044 | "integrity" "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A=="
3045 | "resolved" "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz"
3046 | "version" "1.0.1"
3047 | dependencies:
3048 | "is-map" "^2.0.1"
3049 | "is-set" "^2.0.1"
3050 | "is-weakmap" "^2.0.1"
3051 | "is-weakset" "^2.0.1"
3052 |
3053 | "which-typed-array@^1.1.9":
3054 | "integrity" "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA=="
3055 | "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz"
3056 | "version" "1.1.9"
3057 | dependencies:
3058 | "available-typed-arrays" "^1.0.5"
3059 | "call-bind" "^1.0.2"
3060 | "for-each" "^0.3.3"
3061 | "gopd" "^1.0.1"
3062 | "has-tostringtag" "^1.0.0"
3063 | "is-typed-array" "^1.1.10"
3064 |
3065 | "which@^2.0.1":
3066 | "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="
3067 | "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
3068 | "version" "2.0.2"
3069 | dependencies:
3070 | "isexe" "^2.0.0"
3071 |
3072 | "word-wrap@^1.2.3":
3073 | "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
3074 | "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz"
3075 | "version" "1.2.3"
3076 |
3077 | "wrap-ansi@^7.0.0":
3078 | "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="
3079 | "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
3080 | "version" "7.0.0"
3081 | dependencies:
3082 | "ansi-styles" "^4.0.0"
3083 | "string-width" "^4.1.0"
3084 | "strip-ansi" "^6.0.0"
3085 |
3086 | "wrappy@1":
3087 | "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
3088 | "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
3089 | "version" "1.0.2"
3090 |
3091 | "xtend@^4.0.2":
3092 | "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
3093 | "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
3094 | "version" "4.0.2"
3095 |
3096 | "y18n@^5.0.5":
3097 | "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
3098 | "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz"
3099 | "version" "5.0.8"
3100 |
3101 | "yallist@^4.0.0":
3102 | "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
3103 | "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
3104 | "version" "4.0.0"
3105 |
3106 | "yaml@^1.10.2":
3107 | "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
3108 | "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"
3109 | "version" "1.10.2"
3110 |
3111 | "yargs-parser@^21.1.1":
3112 | "integrity" "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
3113 | "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"
3114 | "version" "21.1.1"
3115 |
3116 | "yargs@^17.3.1":
3117 | "integrity" "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw=="
3118 | "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz"
3119 | "version" "17.6.2"
3120 | dependencies:
3121 | "cliui" "^8.0.1"
3122 | "escalade" "^3.1.1"
3123 | "get-caller-file" "^2.0.5"
3124 | "require-directory" "^2.1.1"
3125 | "string-width" "^4.2.3"
3126 | "y18n" "^5.0.5"
3127 | "yargs-parser" "^21.1.1"
3128 |
3129 | "yocto-queue@^0.1.0":
3130 | "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
3131 | "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
3132 | "version" "0.1.0"
3133 |
--------------------------------------------------------------------------------