├── .env.example
├── .eslintrc.json
├── .gitignore
├── LICENSE
├── README.md
├── app
├── api
│ └── chat
│ │ └── route.ts
├── components
│ ├── chat-section.tsx
│ ├── footer.tsx
│ └── ui
│ │ ├── button.tsx
│ │ ├── chat
│ │ ├── chat-actions.tsx
│ │ ├── chat-avatar.tsx
│ │ ├── chat-input.tsx
│ │ ├── chat-message.tsx
│ │ ├── chat-messages.tsx
│ │ ├── chat.interface.ts
│ │ ├── codeblock.tsx
│ │ ├── index.ts
│ │ ├── markdown.tsx
│ │ └── use-copy-to-clipboard.tsx
│ │ ├── file-uploader.tsx
│ │ ├── input.tsx
│ │ ├── lib
│ │ └── utils.ts
│ │ └── upload-image-preview.tsx
├── favicon.ico
├── globals.css
├── layout.tsx
└── page.tsx
├── next.config.js
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── public
├── apple-touch-icon.png
├── favicon-16x16.png
├── favicon.ico
├── next.svg
├── opengraph-image.png
├── screenshot.png
└── vercel.svg
├── tailwind.config.ts
└── tsconfig.json
/.env.example:
--------------------------------------------------------------------------------
1 | # You must first activate a Billing Account here: https://platform.openai.com/account/billing/overview
2 | # Then get your OpenAI API Key here: https://platform.openai.com/account/api-keys
3 | OPENAI_API_KEY=XXXXXXXX
4 |
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/.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 |
27 | # local env files
28 | .env*.local
29 |
30 | # vercel
31 | .vercel
32 |
33 | # typescript
34 | *.tsbuildinfo
35 | next-env.d.ts
36 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Marcus Schiesser
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
GPT4 Vision Chatbot
3 |
4 |
5 | An open-source AI chatbot app template for GPT4 Vision built with Next.js, the Vercel AI SDK, OpenAI, and marcusschiesser/ui.
6 |
7 |
8 |
9 | Features ·
10 | Model Providers ·
11 | Deploy Your Own ·
12 | Running locally ·
13 |
14 |
15 |
16 |
17 |
18 | ## Features
19 |
20 | - [Next.js](https://nextjs.org) App Router
21 | - React Server Components (RSCs), Suspense, and Server Actions
22 | - [Vercel AI SDK](https://sdk.vercel.ai/docs) for streaming chat UI
23 | - Support for OpenAI (default), Anthropic, Cohere, Hugging Face, or custom AI chat models and/or LangChain
24 | - [marcusschiesser/ui](https://github.com/marcusschiesser/ui) for chat UI
25 | - based on [shadcn/ui](https://ui.shadcn.com)
26 | - Styling with [Tailwind CSS](https://tailwindcss.com)
27 | - [Radix UI](https://radix-ui.com) for headless component primitives
28 | - Icons from [Phosphor Icons](https://phosphoricons.com)
29 |
30 | ## Model Providers
31 |
32 | This template ships with OpenAI `gpt-4-vision-preview` as the default. Once [Vercel AI SDK](https://sdk.vercel.ai/docs) supports other vision models, it's easy to update this template.
33 |
34 | ## Deploy Your Own
35 |
36 | You can find a test deployment at [https://chat.marcusschiesser.de](https://chat.marcusschiesser.de). Note that the chat is not working as the OpenAI key has been disabled to save costs.
37 |
38 | Using your own [OpenAI key](https://platform.openai.com/api-keys), you can deploy your own version of the Next.js AI Chatbot to Vercel with one click:
39 |
40 | [](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fmarcusschiesser%2Fai-chatbot&env=OPENAI_API_KEY)
41 |
42 | ## Running locally
43 |
44 | You will need to use the environment variables [defined in `.env.example`](.env.example) to run this AI Chatbot. It's recommended you use [Vercel Environment Variables](https://vercel.com/docs/projects/environment-variables) for this, but a `.env` file is all that is necessary.
45 |
46 | > Note: You should not commit your `.env` file or it will expose secrets that will allow others to control access to your various OpenAI and authentication provider accounts.
47 |
48 | ```bash
49 | pnpm install
50 | pnpm dev
51 | ```
52 |
53 | Your app template should now be running on [localhost:3000](http://localhost:3000/).
54 |
--------------------------------------------------------------------------------
/app/api/chat/route.ts:
--------------------------------------------------------------------------------
1 | import OpenAI from "openai";
2 | import { OpenAIStream, StreamingTextResponse } from "ai";
3 |
4 | const openai = new OpenAI({
5 | apiKey: process.env.OPENAI_API_KEY,
6 | });
7 |
8 | export const runtime = "edge";
9 |
10 | const createRequestMessages = async (req: Request) => {
11 | const { messages, data } = await req.json();
12 | if (!data?.imageUrl) return messages;
13 |
14 | const initialMessages = messages.slice(0, -1);
15 | const currentMessage = messages[messages.length - 1];
16 | return [
17 | ...initialMessages,
18 | {
19 | ...currentMessage,
20 | content: [
21 | { type: "text", text: currentMessage.content },
22 | {
23 | type: "image_url",
24 | image_url: data.imageUrl,
25 | },
26 | ],
27 | },
28 | ];
29 | };
30 |
31 | export async function POST(req: Request) {
32 | const inputMessages = await createRequestMessages(req);
33 | const response = await openai.chat.completions.create({
34 | model: "gpt-4-vision-preview",
35 | stream: true,
36 | messages: inputMessages,
37 | max_tokens: 2000,
38 | });
39 | const stream = OpenAIStream(response);
40 | return new StreamingTextResponse(stream);
41 | }
42 |
--------------------------------------------------------------------------------
/app/components/chat-section.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 |
3 | import { useChat } from "ai/react";
4 | import { ChatInput, ChatMessages } from "./ui/chat";
5 |
6 | export default function ChatSection() {
7 | const { messages, input, isLoading, handleSubmit, handleInputChange, reload, stop } = useChat();
8 |
9 | return (
10 |
11 |
12 |
19 |
20 | );
21 | }
22 |
--------------------------------------------------------------------------------
/app/components/footer.tsx:
--------------------------------------------------------------------------------
1 | export default function Footer() {
2 | return (
3 |
28 | );
29 | }
30 |
--------------------------------------------------------------------------------
/app/components/ui/button.tsx:
--------------------------------------------------------------------------------
1 | import { Slot } from "@radix-ui/react-slot";
2 | import { cva, type VariantProps } from "class-variance-authority";
3 | import * as React from "react";
4 |
5 | import { cn } from "./lib/utils";
6 |
7 | const buttonVariants = cva(
8 | "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
9 | {
10 | variants: {
11 | variant: {
12 | default: "bg-primary text-primary-foreground hover:bg-primary/90",
13 | destructive:
14 | "bg-destructive text-destructive-foreground hover:bg-destructive/90",
15 | outline:
16 | "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
17 | secondary:
18 | "bg-secondary text-secondary-foreground hover:bg-secondary/80",
19 | ghost: "hover:bg-accent hover:text-accent-foreground",
20 | link: "text-primary underline-offset-4 hover:underline",
21 | },
22 | size: {
23 | default: "h-10 px-4 py-2",
24 | sm: "h-9 rounded-md px-3",
25 | lg: "h-11 rounded-md px-8",
26 | icon: "h-10 w-10",
27 | },
28 | },
29 | defaultVariants: {
30 | variant: "default",
31 | size: "default",
32 | },
33 | },
34 | );
35 |
36 | export interface ButtonProps
37 | extends React.ButtonHTMLAttributes,
38 | VariantProps {
39 | asChild?: boolean;
40 | }
41 |
42 | const Button = React.forwardRef(
43 | ({ className, variant, size, asChild = false, ...props }, ref) => {
44 | const Comp = asChild ? Slot : "button";
45 | return (
46 |
51 | );
52 | },
53 | );
54 | Button.displayName = "Button";
55 |
56 | export { Button, buttonVariants };
57 |
--------------------------------------------------------------------------------
/app/components/ui/chat/chat-actions.tsx:
--------------------------------------------------------------------------------
1 | import { PauseCircle, RefreshCw } from "lucide-react";
2 |
3 | import { Button } from "../button";
4 | import { ChatHandler } from "./chat.interface";
5 |
6 | export default function ChatActions(
7 | props: Pick & {
8 | showReload?: boolean;
9 | showStop?: boolean;
10 | },
11 | ) {
12 | return (
13 |
14 | {props.showStop && (
15 |
19 | )}
20 | {props.showReload && (
21 |
25 | )}
26 |
27 | );
28 | }
29 |
--------------------------------------------------------------------------------
/app/components/ui/chat/chat-avatar.tsx:
--------------------------------------------------------------------------------
1 | import { User2, Bot } from "lucide-react";
2 |
3 | export default function ChatAvatar({ role }: { role: string }) {
4 | if (role === "user") {
5 | return (
6 |
7 |
8 |
9 | );
10 | }
11 |
12 | return (
13 |
14 |
15 |
16 | );
17 | }
18 |
--------------------------------------------------------------------------------
/app/components/ui/chat/chat-input.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from "react";
2 | import { Button } from "../button";
3 | import FileUploader from "../file-uploader";
4 | import { Input } from "../input";
5 | import UploadImagePreview from "../upload-image-preview";
6 | import { ChatHandler } from "./chat.interface";
7 |
8 | export default function ChatInput(
9 | props: Pick<
10 | ChatHandler,
11 | | "isLoading"
12 | | "input"
13 | | "onFileUpload"
14 | | "onFileError"
15 | | "handleSubmit"
16 | | "handleInputChange"
17 | > & {
18 | multiModal?: boolean;
19 | },
20 | ) {
21 | const [imageUrl, setImageUrl] = useState(null);
22 |
23 | const onSubmit = (e: React.FormEvent) => {
24 | if (imageUrl) {
25 | props.handleSubmit(e, {
26 | data: { imageUrl: imageUrl },
27 | });
28 | setImageUrl(null);
29 | return;
30 | }
31 | props.handleSubmit(e);
32 | };
33 |
34 | const onRemovePreviewImage = () => setImageUrl(null);
35 |
36 | const handleUploadImageFile = async (file: File) => {
37 | const base64 = await new Promise((resolve, reject) => {
38 | const reader = new FileReader();
39 | reader.readAsDataURL(file);
40 | reader.onload = () => resolve(reader.result as string);
41 | reader.onerror = (error) => reject(error);
42 | });
43 | setImageUrl(base64);
44 | };
45 |
46 | const handleUploadFile = async (file: File) => {
47 | try {
48 | if (props.multiModal && file.type.startsWith("image/")) {
49 | return await handleUploadImageFile(file);
50 | }
51 | props.onFileUpload?.(file);
52 | } catch (error: any) {
53 | props.onFileError?.(error.message);
54 | }
55 | };
56 |
57 | return (
58 |
83 | );
84 | }
85 |
--------------------------------------------------------------------------------
/app/components/ui/chat/chat-message.tsx:
--------------------------------------------------------------------------------
1 | import { Check, Copy } from "lucide-react";
2 |
3 | import { Button } from "../button";
4 | import ChatAvatar from "./chat-avatar";
5 | import { Message } from "./chat.interface";
6 | import Markdown from "./markdown";
7 | import { useCopyToClipboard } from "./use-copy-to-clipboard";
8 |
9 | export default function ChatMessage(chatMessage: Message) {
10 | const { isCopied, copyToClipboard } = useCopyToClipboard({ timeout: 2000 });
11 | return (
12 |
13 |
14 |
15 |
16 |
17 |
18 |
30 |
31 |
32 | );
33 | }
34 |
--------------------------------------------------------------------------------
/app/components/ui/chat/chat-messages.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef } from "react";
2 | import { Loader2 } from "lucide-react";
3 |
4 | import ChatActions from "./chat-actions";
5 | import ChatMessage from "./chat-message";
6 | import { ChatHandler } from "./chat.interface";
7 |
8 | export default function ChatMessages(
9 | props: Pick,
10 | ) {
11 | const scrollableChatContainerRef = useRef(null);
12 | const messageLength = props.messages.length;
13 | const lastMessage = props.messages[messageLength - 1];
14 |
15 | const scrollToBottom = () => {
16 | if (scrollableChatContainerRef.current) {
17 | scrollableChatContainerRef.current.scrollTop =
18 | scrollableChatContainerRef.current.scrollHeight;
19 | }
20 | };
21 |
22 | const isLastMessageFromAssistant =
23 | messageLength > 0 && lastMessage?.role !== "user";
24 | const showReload =
25 | props.reload && !props.isLoading && isLastMessageFromAssistant;
26 | const showStop = props.stop && props.isLoading;
27 |
28 | // `isPending` indicate
29 | // that stream response is not yet received from the server,
30 | // so we show a loading indicator to give a better UX.
31 | const isPending = props.isLoading && !isLastMessageFromAssistant;
32 |
33 | useEffect(() => {
34 | scrollToBottom();
35 | }, [messageLength, lastMessage]);
36 |
37 | return (
38 |
39 |
43 | {props.messages.map((m) => (
44 |
45 | ))}
46 | {isPending && (
47 |
50 |
51 |
52 | )}
53 |
54 |
55 |
61 |
62 |
63 | );
64 | }
65 |
--------------------------------------------------------------------------------
/app/components/ui/chat/chat.interface.ts:
--------------------------------------------------------------------------------
1 | export interface Message {
2 | id: string;
3 | content: string;
4 | role: string;
5 | }
6 |
7 | export interface ChatHandler {
8 | messages: Message[];
9 | input: string;
10 | isLoading: boolean;
11 | handleSubmit: (
12 | e: React.FormEvent,
13 | ops?: {
14 | data?: any;
15 | },
16 | ) => void;
17 | handleInputChange: (e: React.ChangeEvent) => void;
18 | reload?: () => void;
19 | stop?: () => void;
20 | onFileUpload?: (file: File) => Promise;
21 | onFileError?: (errMsg: string) => void;
22 | }
23 |
--------------------------------------------------------------------------------
/app/components/ui/chat/codeblock.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 |
3 | import { Check, Copy, Download } from "lucide-react";
4 | import { FC, memo } from "react";
5 | import { Prism, SyntaxHighlighterProps } from "react-syntax-highlighter";
6 | import { coldarkDark } from "react-syntax-highlighter/dist/cjs/styles/prism";
7 |
8 | import { Button } from "../button";
9 | import { useCopyToClipboard } from "./use-copy-to-clipboard";
10 |
11 | // TODO: Remove this when @type/react-syntax-highlighter is updated
12 | const SyntaxHighlighter = Prism as unknown as FC;
13 |
14 | interface Props {
15 | language: string;
16 | value: string;
17 | }
18 |
19 | interface languageMap {
20 | [key: string]: string | undefined;
21 | }
22 |
23 | export const programmingLanguages: languageMap = {
24 | javascript: ".js",
25 | python: ".py",
26 | java: ".java",
27 | c: ".c",
28 | cpp: ".cpp",
29 | "c++": ".cpp",
30 | "c#": ".cs",
31 | ruby: ".rb",
32 | php: ".php",
33 | swift: ".swift",
34 | "objective-c": ".m",
35 | kotlin: ".kt",
36 | typescript: ".ts",
37 | go: ".go",
38 | perl: ".pl",
39 | rust: ".rs",
40 | scala: ".scala",
41 | haskell: ".hs",
42 | lua: ".lua",
43 | shell: ".sh",
44 | sql: ".sql",
45 | html: ".html",
46 | css: ".css",
47 | // add more file extensions here, make sure the key is same as language prop in CodeBlock.tsx component
48 | };
49 |
50 | export const generateRandomString = (length: number, lowercase = false) => {
51 | const chars = "ABCDEFGHJKLMNPQRSTUVWXY3456789"; // excluding similar looking characters like Z, 2, I, 1, O, 0
52 | let result = "";
53 | for (let i = 0; i < length; i++) {
54 | result += chars.charAt(Math.floor(Math.random() * chars.length));
55 | }
56 | return lowercase ? result.toLowerCase() : result;
57 | };
58 |
59 | const CodeBlock: FC = memo(({ language, value }) => {
60 | const { isCopied, copyToClipboard } = useCopyToClipboard({ timeout: 2000 });
61 |
62 | const downloadAsFile = () => {
63 | if (typeof window === "undefined") {
64 | return;
65 | }
66 | const fileExtension = programmingLanguages[language] || ".file";
67 | const suggestedFileName = `file-${generateRandomString(
68 | 3,
69 | true,
70 | )}${fileExtension}`;
71 | const fileName = window.prompt("Enter file name" || "", suggestedFileName);
72 |
73 | if (!fileName) {
74 | // User pressed cancel on prompt.
75 | return;
76 | }
77 |
78 | const blob = new Blob([value], { type: "text/plain" });
79 | const url = URL.createObjectURL(blob);
80 | const link = document.createElement("a");
81 | link.download = fileName;
82 | link.href = url;
83 | link.style.display = "none";
84 | document.body.appendChild(link);
85 | link.click();
86 | document.body.removeChild(link);
87 | URL.revokeObjectURL(url);
88 | };
89 |
90 | const onCopy = () => {
91 | if (isCopied) return;
92 | copyToClipboard(value);
93 | };
94 |
95 | return (
96 |
97 |
98 |
{language}
99 |
100 |
104 |
112 |
113 |
114 |
132 | {value}
133 |
134 |
135 | );
136 | });
137 | CodeBlock.displayName = "CodeBlock";
138 |
139 | export { CodeBlock };
140 |
--------------------------------------------------------------------------------
/app/components/ui/chat/index.ts:
--------------------------------------------------------------------------------
1 | import ChatInput from "./chat-input";
2 | import ChatMessages from "./chat-messages";
3 |
4 | export { type ChatHandler, type Message } from "./chat.interface";
5 | export { ChatInput, ChatMessages };
6 |
--------------------------------------------------------------------------------
/app/components/ui/chat/markdown.tsx:
--------------------------------------------------------------------------------
1 | import { FC, memo } from "react";
2 | import ReactMarkdown, { Options } from "react-markdown";
3 | import remarkGfm from "remark-gfm";
4 | import remarkMath from "remark-math";
5 |
6 | import { CodeBlock } from "./codeblock";
7 |
8 | const MemoizedReactMarkdown: FC = memo(
9 | ReactMarkdown,
10 | (prevProps, nextProps) =>
11 | prevProps.children === nextProps.children &&
12 | prevProps.className === nextProps.className,
13 | );
14 |
15 | export default function Markdown({ content }: { content: string }) {
16 | return (
17 | {children};
23 | },
24 | code({ node, inline, className, children, ...props }) {
25 | if (children.length) {
26 | if (children[0] == "▍") {
27 | return (
28 | ▍
29 | );
30 | }
31 |
32 | children[0] = (children[0] as string).replace("`▍`", "▍");
33 | }
34 |
35 | const match = /language-(\w+)/.exec(className || "");
36 |
37 | if (inline) {
38 | return (
39 |
40 | {children}
41 |
42 | );
43 | }
44 |
45 | return (
46 |
52 | );
53 | },
54 | }}
55 | >
56 | {content}
57 |
58 | );
59 | }
60 |
--------------------------------------------------------------------------------
/app/components/ui/chat/use-copy-to-clipboard.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 |
3 | import * as React from "react";
4 |
5 | export interface useCopyToClipboardProps {
6 | timeout?: number;
7 | }
8 |
9 | export function useCopyToClipboard({
10 | timeout = 2000,
11 | }: useCopyToClipboardProps) {
12 | const [isCopied, setIsCopied] = React.useState(false);
13 |
14 | const copyToClipboard = (value: string) => {
15 | if (typeof window === "undefined" || !navigator.clipboard?.writeText) {
16 | return;
17 | }
18 |
19 | if (!value) {
20 | return;
21 | }
22 |
23 | navigator.clipboard.writeText(value).then(() => {
24 | setIsCopied(true);
25 |
26 | setTimeout(() => {
27 | setIsCopied(false);
28 | }, timeout);
29 | });
30 | };
31 |
32 | return { isCopied, copyToClipboard };
33 | }
34 |
--------------------------------------------------------------------------------
/app/components/ui/file-uploader.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 |
3 | import { Loader2, Paperclip } from "lucide-react";
4 | import { ChangeEvent, useState } from "react";
5 | import { buttonVariants } from "./button";
6 | import { cn } from "./lib/utils";
7 |
8 | export interface FileUploaderProps {
9 | config?: {
10 | inputId?: string;
11 | fileSizeLimit?: number;
12 | allowedExtensions?: string[];
13 | checkExtension?: (extension: string) => string | null;
14 | disabled: boolean;
15 | };
16 | onFileUpload: (file: File) => Promise;
17 | onFileError?: (errMsg: string) => void;
18 | }
19 |
20 | const DEFAULT_INPUT_ID = "fileInput";
21 | const DEFAULT_FILE_SIZE_LIMIT = 1024 * 1024 * 50; // 50 MB
22 |
23 | export default function FileUploader({
24 | config,
25 | onFileUpload,
26 | onFileError,
27 | }: FileUploaderProps) {
28 | const [uploading, setUploading] = useState(false);
29 |
30 | const inputId = config?.inputId || DEFAULT_INPUT_ID;
31 | const fileSizeLimit = config?.fileSizeLimit || DEFAULT_FILE_SIZE_LIMIT;
32 | const allowedExtensions = config?.allowedExtensions;
33 | const defaultCheckExtension = (extension: string) => {
34 | if (allowedExtensions && !allowedExtensions.includes(extension)) {
35 | return `Invalid file type. Please select a file with one of these formats: ${allowedExtensions!.join(
36 | ",",
37 | )}`;
38 | }
39 | return null;
40 | };
41 | const checkExtension = config?.checkExtension ?? defaultCheckExtension;
42 |
43 | const isFileSizeExceeded = (file: File) => {
44 | return file.size > fileSizeLimit;
45 | };
46 |
47 | const resetInput = () => {
48 | const fileInput = document.getElementById(inputId) as HTMLInputElement;
49 | fileInput.value = "";
50 | };
51 |
52 | const onFileChange = async (e: ChangeEvent) => {
53 | const file = e.target.files?.[0];
54 | if (!file) return;
55 |
56 | setUploading(true);
57 | await handleUpload(file);
58 | resetInput();
59 | setUploading(false);
60 | };
61 |
62 | const handleUpload = async (file: File) => {
63 | const onFileUploadError = onFileError || window.alert;
64 | const fileExtension = file.name.split(".").pop() || "";
65 | const extensionFileError = checkExtension(fileExtension);
66 | if (extensionFileError) {
67 | return onFileUploadError(extensionFileError);
68 | }
69 |
70 | if (isFileSizeExceeded(file)) {
71 | return onFileUploadError(
72 | `File size exceeded. Limit is ${fileSizeLimit / 1024 / 1024} MB`,
73 | );
74 | }
75 |
76 | await onFileUpload(file);
77 | };
78 |
79 | return (
80 |
81 |
89 |
103 |
104 | );
105 | }
106 |
--------------------------------------------------------------------------------
/app/components/ui/input.tsx:
--------------------------------------------------------------------------------
1 | import * as React from "react";
2 |
3 | import { cn } from "./lib/utils";
4 |
5 | export interface InputProps
6 | extends React.InputHTMLAttributes {}
7 |
8 | const Input = React.forwardRef(
9 | ({ className, type, ...props }, ref) => {
10 | return (
11 |
20 | );
21 | },
22 | );
23 | Input.displayName = "Input";
24 |
25 | export { Input };
26 |
--------------------------------------------------------------------------------
/app/components/ui/lib/utils.ts:
--------------------------------------------------------------------------------
1 | import { clsx, type ClassValue } from "clsx";
2 | import { twMerge } from "tailwind-merge";
3 |
4 | export function cn(...inputs: ClassValue[]) {
5 | return twMerge(clsx(inputs));
6 | }
7 |
--------------------------------------------------------------------------------
/app/components/ui/upload-image-preview.tsx:
--------------------------------------------------------------------------------
1 | import { XCircleIcon } from "lucide-react";
2 | import Image from "next/image";
3 | import { cn } from "./lib/utils";
4 |
5 | export default function UploadImagePreview({
6 | url,
7 | onRemove,
8 | }: {
9 | url: string;
10 | onRemove: () => void;
11 | }) {
12 | return (
13 |
31 | );
32 | }
33 |
--------------------------------------------------------------------------------
/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcusschiesser/ai-chatbot/491fdd0dca772580ff8263538aaf01d8f363b29c/app/favicon.ico
--------------------------------------------------------------------------------
/app/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | @layer base {
6 | :root {
7 | --background: 0 0% 100%;
8 | --foreground: 222.2 47.4% 11.2%;
9 |
10 | --muted: 210 40% 96.1%;
11 | --muted-foreground: 215.4 16.3% 46.9%;
12 |
13 | --popover: 0 0% 100%;
14 | --popover-foreground: 222.2 47.4% 11.2%;
15 |
16 | --border: 214.3 31.8% 91.4%;
17 | --input: 214.3 31.8% 91.4%;
18 |
19 | --card: 0 0% 100%;
20 | --card-foreground: 222.2 47.4% 11.2%;
21 |
22 | --primary: 222.2 47.4% 11.2%;
23 | --primary-foreground: 210 40% 98%;
24 |
25 | --secondary: 210 40% 96.1%;
26 | --secondary-foreground: 222.2 47.4% 11.2%;
27 |
28 | --accent: 210 40% 96.1%;
29 | --accent-foreground: 222.2 47.4% 11.2%;
30 |
31 | --destructive: 0 100% 50%;
32 | --destructive-foreground: 210 40% 98%;
33 |
34 | --ring: 215 20.2% 65.1%;
35 |
36 | --radius: 0.5rem;
37 | }
38 |
39 | .dark {
40 | --background: 224 71% 4%;
41 | --foreground: 213 31% 91%;
42 |
43 | --muted: 223 47% 11%;
44 | --muted-foreground: 215.4 16.3% 56.9%;
45 |
46 | --accent: 216 34% 17%;
47 | --accent-foreground: 210 40% 98%;
48 |
49 | --popover: 224 71% 4%;
50 | --popover-foreground: 215 20.2% 65.1%;
51 |
52 | --border: 216 34% 17%;
53 | --input: 216 34% 17%;
54 |
55 | --card: 224 71% 4%;
56 | --card-foreground: 213 31% 91%;
57 |
58 | --primary: 210 40% 98%;
59 | --primary-foreground: 222.2 47.4% 1.2%;
60 |
61 | --secondary: 222.2 47.4% 11.2%;
62 | --secondary-foreground: 210 40% 98%;
63 |
64 | --destructive: 0 63% 31%;
65 | --destructive-foreground: 210 40% 98%;
66 |
67 | --ring: 216 34% 17%;
68 |
69 | --radius: 0.5rem;
70 | }
71 | }
72 |
73 | @layer base {
74 | * {
75 | @apply border-border;
76 | }
77 | body {
78 | @apply bg-background text-foreground;
79 | font-feature-settings:
80 | "rlig" 1,
81 | "calt" 1;
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import type { Metadata } from "next";
2 | import { Inter } from "next/font/google";
3 | import "./globals.css";
4 |
5 | const inter = Inter({ subsets: ["latin"] });
6 |
7 | export const metadata: Metadata = {
8 | title: "GPT4 Vision Chatbot Demo",
9 | description: "A chatbot template for GPT4 Vision built with ui.marcusschiesser.de and Next.js.",
10 | };
11 |
12 | export default function RootLayout({
13 | children,
14 | }: {
15 | children: React.ReactNode;
16 | }) {
17 | return (
18 |
19 | {children}
20 |
21 | );
22 | }
23 |
--------------------------------------------------------------------------------
/app/page.tsx:
--------------------------------------------------------------------------------
1 | import ChatSection from "./components/chat-section";
2 | import Footer from "./components/footer";
3 |
4 | export default function Home() {
5 | return (
6 |
7 | GPT4 Vision Chatbot Demo
8 |
9 |
10 |
11 | );
12 | }
13 |
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {
3 | webpack: (config) => {
4 | // See https://webpack.js.org/configuration/resolve/#resolvealias
5 | config.resolve.alias = {
6 | ...config.resolve.alias,
7 | sharp$: false,
8 | "onnxruntime-node$": false,
9 | mongodb$: false,
10 | };
11 | return config;
12 | },
13 | experimental: {
14 | serverComponentsExternalPackages: ["llamaindex"],
15 | outputFileTracingIncludes: {
16 | "/*": ["./cache/**/*"],
17 | },
18 | },
19 | };
20 |
21 | module.exports = nextConfig;
22 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "scripts": {
4 | "dev": "next dev --turbo",
5 | "build": "next build",
6 | "start": "next start",
7 | "lint": "next lint"
8 | },
9 | "dependencies": {
10 | "@radix-ui/react-slot": "^1",
11 | "ai": "^2.2.25",
12 | "class-variance-authority": "^0.7",
13 | "clsx": "^1.2.1",
14 | "dotenv": "^16.3.1",
15 | "lucide-react": "^0.291",
16 | "next": "^14.0.3",
17 | "openai": "^4.20.0",
18 | "react": "^18",
19 | "react-dom": "^18",
20 | "react-markdown": "^8.0.7",
21 | "react-syntax-highlighter": "^15.5.0",
22 | "remark": "^14.0.3",
23 | "remark-code-import": "^1.2.0",
24 | "remark-gfm": "^3.0.1",
25 | "remark-math": "^5.1.1",
26 | "tailwind-merge": "^2"
27 | },
28 | "devDependencies": {
29 | "@types/node": "^20",
30 | "@types/react": "^18",
31 | "@types/react-dom": "^18",
32 | "@types/react-syntax-highlighter": "^15.5.6",
33 | "autoprefixer": "^10.1",
34 | "eslint": "^8",
35 | "eslint-config-next": "^13",
36 | "postcss": "^8",
37 | "tailwindcss": "^3.3",
38 | "typescript": "^5"
39 | }
40 | }
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | '@radix-ui/react-slot':
9 | specifier: ^1
10 | version: 1.0.2(@types/react@18.2.38)(react@18.2.0)
11 | ai:
12 | specifier: ^2.2.25
13 | version: 2.2.25(react@18.2.0)(solid-js@1.8.6)(svelte@4.2.7)(vue@3.3.9)
14 | class-variance-authority:
15 | specifier: ^0.7
16 | version: 0.7.0
17 | clsx:
18 | specifier: ^1.2.1
19 | version: 1.2.1
20 | dotenv:
21 | specifier: ^16.3.1
22 | version: 16.3.1
23 | lucide-react:
24 | specifier: ^0.291
25 | version: 0.291.0(react@18.2.0)
26 | next:
27 | specifier: ^14.0.3
28 | version: 14.0.3(react-dom@18.2.0)(react@18.2.0)
29 | openai:
30 | specifier: ^4.20.0
31 | version: 4.20.0
32 | react:
33 | specifier: ^18
34 | version: 18.2.0
35 | react-dom:
36 | specifier: ^18
37 | version: 18.2.0(react@18.2.0)
38 | react-markdown:
39 | specifier: ^8.0.7
40 | version: 8.0.7(@types/react@18.2.38)(react@18.2.0)
41 | react-syntax-highlighter:
42 | specifier: ^15.5.0
43 | version: 15.5.0(react@18.2.0)
44 | remark:
45 | specifier: ^14.0.3
46 | version: 14.0.3
47 | remark-code-import:
48 | specifier: ^1.2.0
49 | version: 1.2.0
50 | remark-gfm:
51 | specifier: ^3.0.1
52 | version: 3.0.1
53 | remark-math:
54 | specifier: ^5.1.1
55 | version: 5.1.1
56 | tailwind-merge:
57 | specifier: ^2
58 | version: 2.0.0
59 |
60 | devDependencies:
61 | '@types/node':
62 | specifier: ^20
63 | version: 20.10.0
64 | '@types/react':
65 | specifier: ^18
66 | version: 18.2.38
67 | '@types/react-dom':
68 | specifier: ^18
69 | version: 18.2.17
70 | '@types/react-syntax-highlighter':
71 | specifier: ^15.5.6
72 | version: 15.5.10
73 | autoprefixer:
74 | specifier: ^10.1
75 | version: 10.4.16(postcss@8.4.31)
76 | eslint:
77 | specifier: ^8
78 | version: 8.54.0
79 | eslint-config-next:
80 | specifier: ^13
81 | version: 13.5.6(eslint@8.54.0)(typescript@5.3.2)
82 | postcss:
83 | specifier: ^8
84 | version: 8.4.31
85 | tailwindcss:
86 | specifier: ^3.3
87 | version: 3.3.5
88 | typescript:
89 | specifier: ^5
90 | version: 5.3.2
91 |
92 | packages:
93 |
94 | /@aashutoshrathi/word-wrap@1.2.6:
95 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
96 | engines: {node: '>=0.10.0'}
97 | dev: true
98 |
99 | /@alloc/quick-lru@5.2.0:
100 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
101 | engines: {node: '>=10'}
102 | dev: true
103 |
104 | /@ampproject/remapping@2.2.1:
105 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
106 | engines: {node: '>=6.0.0'}
107 | dependencies:
108 | '@jridgewell/gen-mapping': 0.3.3
109 | '@jridgewell/trace-mapping': 0.3.20
110 | dev: false
111 |
112 | /@babel/helper-string-parser@7.23.4:
113 | resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
114 | engines: {node: '>=6.9.0'}
115 | dev: false
116 |
117 | /@babel/helper-validator-identifier@7.22.20:
118 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
119 | engines: {node: '>=6.9.0'}
120 | dev: false
121 |
122 | /@babel/parser@7.23.4:
123 | resolution: {integrity: sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==}
124 | engines: {node: '>=6.0.0'}
125 | hasBin: true
126 | dependencies:
127 | '@babel/types': 7.23.4
128 | dev: false
129 |
130 | /@babel/runtime@7.23.4:
131 | resolution: {integrity: sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==}
132 | engines: {node: '>=6.9.0'}
133 | dependencies:
134 | regenerator-runtime: 0.14.0
135 |
136 | /@babel/types@7.23.4:
137 | resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==}
138 | engines: {node: '>=6.9.0'}
139 | dependencies:
140 | '@babel/helper-string-parser': 7.23.4
141 | '@babel/helper-validator-identifier': 7.22.20
142 | to-fast-properties: 2.0.0
143 | dev: false
144 |
145 | /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0):
146 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
147 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
148 | peerDependencies:
149 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
150 | dependencies:
151 | eslint: 8.54.0
152 | eslint-visitor-keys: 3.4.3
153 | dev: true
154 |
155 | /@eslint-community/regexpp@4.10.0:
156 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
157 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
158 | dev: true
159 |
160 | /@eslint/eslintrc@2.1.3:
161 | resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==}
162 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
163 | dependencies:
164 | ajv: 6.12.6
165 | debug: 4.3.4
166 | espree: 9.6.1
167 | globals: 13.23.0
168 | ignore: 5.3.0
169 | import-fresh: 3.3.0
170 | js-yaml: 4.1.0
171 | minimatch: 3.1.2
172 | strip-json-comments: 3.1.1
173 | transitivePeerDependencies:
174 | - supports-color
175 | dev: true
176 |
177 | /@eslint/js@8.54.0:
178 | resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==}
179 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
180 | dev: true
181 |
182 | /@humanwhocodes/config-array@0.11.13:
183 | resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
184 | engines: {node: '>=10.10.0'}
185 | dependencies:
186 | '@humanwhocodes/object-schema': 2.0.1
187 | debug: 4.3.4
188 | minimatch: 3.1.2
189 | transitivePeerDependencies:
190 | - supports-color
191 | dev: true
192 |
193 | /@humanwhocodes/module-importer@1.0.1:
194 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
195 | engines: {node: '>=12.22'}
196 | dev: true
197 |
198 | /@humanwhocodes/object-schema@2.0.1:
199 | resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
200 | dev: true
201 |
202 | /@jridgewell/gen-mapping@0.3.3:
203 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
204 | engines: {node: '>=6.0.0'}
205 | dependencies:
206 | '@jridgewell/set-array': 1.1.2
207 | '@jridgewell/sourcemap-codec': 1.4.15
208 | '@jridgewell/trace-mapping': 0.3.20
209 |
210 | /@jridgewell/resolve-uri@3.1.1:
211 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
212 | engines: {node: '>=6.0.0'}
213 |
214 | /@jridgewell/set-array@1.1.2:
215 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
216 | engines: {node: '>=6.0.0'}
217 |
218 | /@jridgewell/sourcemap-codec@1.4.15:
219 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
220 |
221 | /@jridgewell/trace-mapping@0.3.20:
222 | resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
223 | dependencies:
224 | '@jridgewell/resolve-uri': 3.1.1
225 | '@jridgewell/sourcemap-codec': 1.4.15
226 |
227 | /@next/env@14.0.3:
228 | resolution: {integrity: sha512-7xRqh9nMvP5xrW4/+L0jgRRX+HoNRGnfJpD+5Wq6/13j3dsdzxO3BCXn7D3hMqsDb+vjZnJq+vI7+EtgrYZTeA==}
229 | dev: false
230 |
231 | /@next/eslint-plugin-next@13.5.6:
232 | resolution: {integrity: sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==}
233 | dependencies:
234 | glob: 7.1.7
235 | dev: true
236 |
237 | /@next/swc-darwin-arm64@14.0.3:
238 | resolution: {integrity: sha512-64JbSvi3nbbcEtyitNn2LEDS/hcleAFpHdykpcnrstITFlzFgB/bW0ER5/SJJwUPj+ZPY+z3e+1jAfcczRLVGw==}
239 | engines: {node: '>= 10'}
240 | cpu: [arm64]
241 | os: [darwin]
242 | requiresBuild: true
243 | dev: false
244 | optional: true
245 |
246 | /@next/swc-darwin-x64@14.0.3:
247 | resolution: {integrity: sha512-RkTf+KbAD0SgYdVn1XzqE/+sIxYGB7NLMZRn9I4Z24afrhUpVJx6L8hsRnIwxz3ERE2NFURNliPjJ2QNfnWicQ==}
248 | engines: {node: '>= 10'}
249 | cpu: [x64]
250 | os: [darwin]
251 | requiresBuild: true
252 | dev: false
253 | optional: true
254 |
255 | /@next/swc-linux-arm64-gnu@14.0.3:
256 | resolution: {integrity: sha512-3tBWGgz7M9RKLO6sPWC6c4pAw4geujSwQ7q7Si4d6bo0l6cLs4tmO+lnSwFp1Tm3lxwfMk0SgkJT7EdwYSJvcg==}
257 | engines: {node: '>= 10'}
258 | cpu: [arm64]
259 | os: [linux]
260 | requiresBuild: true
261 | dev: false
262 | optional: true
263 |
264 | /@next/swc-linux-arm64-musl@14.0.3:
265 | resolution: {integrity: sha512-v0v8Kb8j8T23jvVUWZeA2D8+izWspeyeDGNaT2/mTHWp7+37fiNfL8bmBWiOmeumXkacM/AB0XOUQvEbncSnHA==}
266 | engines: {node: '>= 10'}
267 | cpu: [arm64]
268 | os: [linux]
269 | requiresBuild: true
270 | dev: false
271 | optional: true
272 |
273 | /@next/swc-linux-x64-gnu@14.0.3:
274 | resolution: {integrity: sha512-VM1aE1tJKLBwMGtyBR21yy+STfl0MapMQnNrXkxeyLs0GFv/kZqXS5Jw/TQ3TSUnbv0QPDf/X8sDXuMtSgG6eg==}
275 | engines: {node: '>= 10'}
276 | cpu: [x64]
277 | os: [linux]
278 | requiresBuild: true
279 | dev: false
280 | optional: true
281 |
282 | /@next/swc-linux-x64-musl@14.0.3:
283 | resolution: {integrity: sha512-64EnmKy18MYFL5CzLaSuUn561hbO1Gk16jM/KHznYP3iCIfF9e3yULtHaMy0D8zbHfxset9LTOv6cuYKJgcOxg==}
284 | engines: {node: '>= 10'}
285 | cpu: [x64]
286 | os: [linux]
287 | requiresBuild: true
288 | dev: false
289 | optional: true
290 |
291 | /@next/swc-win32-arm64-msvc@14.0.3:
292 | resolution: {integrity: sha512-WRDp8QrmsL1bbGtsh5GqQ/KWulmrnMBgbnb+59qNTW1kVi1nG/2ndZLkcbs2GX7NpFLlToLRMWSQXmPzQm4tog==}
293 | engines: {node: '>= 10'}
294 | cpu: [arm64]
295 | os: [win32]
296 | requiresBuild: true
297 | dev: false
298 | optional: true
299 |
300 | /@next/swc-win32-ia32-msvc@14.0.3:
301 | resolution: {integrity: sha512-EKffQeqCrj+t6qFFhIFTRoqb2QwX1mU7iTOvMyLbYw3QtqTw9sMwjykyiMlZlrfm2a4fA84+/aeW+PMg1MjuTg==}
302 | engines: {node: '>= 10'}
303 | cpu: [ia32]
304 | os: [win32]
305 | requiresBuild: true
306 | dev: false
307 | optional: true
308 |
309 | /@next/swc-win32-x64-msvc@14.0.3:
310 | resolution: {integrity: sha512-ERhKPSJ1vQrPiwrs15Pjz/rvDHZmkmvbf/BjPN/UCOI++ODftT0GtasDPi0j+y6PPJi5HsXw+dpRaXUaw4vjuQ==}
311 | engines: {node: '>= 10'}
312 | cpu: [x64]
313 | os: [win32]
314 | requiresBuild: true
315 | dev: false
316 | optional: true
317 |
318 | /@nodelib/fs.scandir@2.1.5:
319 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
320 | engines: {node: '>= 8'}
321 | dependencies:
322 | '@nodelib/fs.stat': 2.0.5
323 | run-parallel: 1.2.0
324 | dev: true
325 |
326 | /@nodelib/fs.stat@2.0.5:
327 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
328 | engines: {node: '>= 8'}
329 | dev: true
330 |
331 | /@nodelib/fs.walk@1.2.8:
332 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
333 | engines: {node: '>= 8'}
334 | dependencies:
335 | '@nodelib/fs.scandir': 2.1.5
336 | fastq: 1.15.0
337 | dev: true
338 |
339 | /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.38)(react@18.2.0):
340 | resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
341 | peerDependencies:
342 | '@types/react': '*'
343 | react: ^16.8 || ^17.0 || ^18.0
344 | peerDependenciesMeta:
345 | '@types/react':
346 | optional: true
347 | dependencies:
348 | '@babel/runtime': 7.23.4
349 | '@types/react': 18.2.38
350 | react: 18.2.0
351 | dev: false
352 |
353 | /@radix-ui/react-slot@1.0.2(@types/react@18.2.38)(react@18.2.0):
354 | resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==}
355 | peerDependencies:
356 | '@types/react': '*'
357 | react: ^16.8 || ^17.0 || ^18.0
358 | peerDependenciesMeta:
359 | '@types/react':
360 | optional: true
361 | dependencies:
362 | '@babel/runtime': 7.23.4
363 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.38)(react@18.2.0)
364 | '@types/react': 18.2.38
365 | react: 18.2.0
366 | dev: false
367 |
368 | /@rushstack/eslint-patch@1.6.0:
369 | resolution: {integrity: sha512-2/U3GXA6YiPYQDLGwtGlnNgKYBSwCFIHf8Y9LUY5VATHdtbLlU0Y1R3QoBnT0aB4qv/BEiVVsj7LJXoQCgJ2vA==}
370 | dev: true
371 |
372 | /@swc/helpers@0.5.2:
373 | resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
374 | dependencies:
375 | tslib: 2.6.2
376 | dev: false
377 |
378 | /@types/debug@4.1.12:
379 | resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
380 | dependencies:
381 | '@types/ms': 0.7.34
382 | dev: false
383 |
384 | /@types/estree@1.0.5:
385 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
386 | dev: false
387 |
388 | /@types/hast@2.3.8:
389 | resolution: {integrity: sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==}
390 | dependencies:
391 | '@types/unist': 2.0.10
392 | dev: false
393 |
394 | /@types/json5@0.0.29:
395 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
396 | dev: true
397 |
398 | /@types/katex@0.16.7:
399 | resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
400 | dev: false
401 |
402 | /@types/mdast@3.0.15:
403 | resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
404 | dependencies:
405 | '@types/unist': 2.0.10
406 | dev: false
407 |
408 | /@types/ms@0.7.34:
409 | resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
410 | dev: false
411 |
412 | /@types/node-fetch@2.6.9:
413 | resolution: {integrity: sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==}
414 | dependencies:
415 | '@types/node': 20.10.0
416 | form-data: 4.0.0
417 | dev: false
418 |
419 | /@types/node@18.18.13:
420 | resolution: {integrity: sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==}
421 | dependencies:
422 | undici-types: 5.26.5
423 | dev: false
424 |
425 | /@types/node@20.10.0:
426 | resolution: {integrity: sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==}
427 | dependencies:
428 | undici-types: 5.26.5
429 |
430 | /@types/prop-types@15.7.11:
431 | resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==}
432 |
433 | /@types/react-dom@18.2.17:
434 | resolution: {integrity: sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==}
435 | dependencies:
436 | '@types/react': 18.2.38
437 | dev: true
438 |
439 | /@types/react-syntax-highlighter@15.5.10:
440 | resolution: {integrity: sha512-Vf8nNkGHnjwK37b2wDs92zJSAWS2Mb57NcYHgajCNssHeTNEixvjINnXJkKdY0V0/eLrYkPP1xDKvNmYIr4HIg==}
441 | dependencies:
442 | '@types/react': 18.2.38
443 | dev: true
444 |
445 | /@types/react@18.2.38:
446 | resolution: {integrity: sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw==}
447 | dependencies:
448 | '@types/prop-types': 15.7.11
449 | '@types/scheduler': 0.16.8
450 | csstype: 3.1.2
451 |
452 | /@types/scheduler@0.16.8:
453 | resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
454 |
455 | /@types/unist@2.0.10:
456 | resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
457 | dev: false
458 |
459 | /@typescript-eslint/parser@6.12.0(eslint@8.54.0)(typescript@5.3.2):
460 | resolution: {integrity: sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==}
461 | engines: {node: ^16.0.0 || >=18.0.0}
462 | peerDependencies:
463 | eslint: ^7.0.0 || ^8.0.0
464 | typescript: '*'
465 | peerDependenciesMeta:
466 | typescript:
467 | optional: true
468 | dependencies:
469 | '@typescript-eslint/scope-manager': 6.12.0
470 | '@typescript-eslint/types': 6.12.0
471 | '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2)
472 | '@typescript-eslint/visitor-keys': 6.12.0
473 | debug: 4.3.4
474 | eslint: 8.54.0
475 | typescript: 5.3.2
476 | transitivePeerDependencies:
477 | - supports-color
478 | dev: true
479 |
480 | /@typescript-eslint/scope-manager@6.12.0:
481 | resolution: {integrity: sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==}
482 | engines: {node: ^16.0.0 || >=18.0.0}
483 | dependencies:
484 | '@typescript-eslint/types': 6.12.0
485 | '@typescript-eslint/visitor-keys': 6.12.0
486 | dev: true
487 |
488 | /@typescript-eslint/types@6.12.0:
489 | resolution: {integrity: sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==}
490 | engines: {node: ^16.0.0 || >=18.0.0}
491 | dev: true
492 |
493 | /@typescript-eslint/typescript-estree@6.12.0(typescript@5.3.2):
494 | resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==}
495 | engines: {node: ^16.0.0 || >=18.0.0}
496 | peerDependencies:
497 | typescript: '*'
498 | peerDependenciesMeta:
499 | typescript:
500 | optional: true
501 | dependencies:
502 | '@typescript-eslint/types': 6.12.0
503 | '@typescript-eslint/visitor-keys': 6.12.0
504 | debug: 4.3.4
505 | globby: 11.1.0
506 | is-glob: 4.0.3
507 | semver: 7.5.4
508 | ts-api-utils: 1.0.3(typescript@5.3.2)
509 | typescript: 5.3.2
510 | transitivePeerDependencies:
511 | - supports-color
512 | dev: true
513 |
514 | /@typescript-eslint/visitor-keys@6.12.0:
515 | resolution: {integrity: sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==}
516 | engines: {node: ^16.0.0 || >=18.0.0}
517 | dependencies:
518 | '@typescript-eslint/types': 6.12.0
519 | eslint-visitor-keys: 3.4.3
520 | dev: true
521 |
522 | /@ungap/structured-clone@1.2.0:
523 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
524 | dev: true
525 |
526 | /@vue/compiler-core@3.3.9:
527 | resolution: {integrity: sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ==}
528 | dependencies:
529 | '@babel/parser': 7.23.4
530 | '@vue/shared': 3.3.9
531 | estree-walker: 2.0.2
532 | source-map-js: 1.0.2
533 | dev: false
534 |
535 | /@vue/compiler-dom@3.3.9:
536 | resolution: {integrity: sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg==}
537 | dependencies:
538 | '@vue/compiler-core': 3.3.9
539 | '@vue/shared': 3.3.9
540 | dev: false
541 |
542 | /@vue/compiler-sfc@3.3.9:
543 | resolution: {integrity: sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A==}
544 | dependencies:
545 | '@babel/parser': 7.23.4
546 | '@vue/compiler-core': 3.3.9
547 | '@vue/compiler-dom': 3.3.9
548 | '@vue/compiler-ssr': 3.3.9
549 | '@vue/reactivity-transform': 3.3.9
550 | '@vue/shared': 3.3.9
551 | estree-walker: 2.0.2
552 | magic-string: 0.30.5
553 | postcss: 8.4.31
554 | source-map-js: 1.0.2
555 | dev: false
556 |
557 | /@vue/compiler-ssr@3.3.9:
558 | resolution: {integrity: sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g==}
559 | dependencies:
560 | '@vue/compiler-dom': 3.3.9
561 | '@vue/shared': 3.3.9
562 | dev: false
563 |
564 | /@vue/reactivity-transform@3.3.9:
565 | resolution: {integrity: sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==}
566 | dependencies:
567 | '@babel/parser': 7.23.4
568 | '@vue/compiler-core': 3.3.9
569 | '@vue/shared': 3.3.9
570 | estree-walker: 2.0.2
571 | magic-string: 0.30.5
572 | dev: false
573 |
574 | /@vue/reactivity@3.3.9:
575 | resolution: {integrity: sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==}
576 | dependencies:
577 | '@vue/shared': 3.3.9
578 | dev: false
579 |
580 | /@vue/runtime-core@3.3.9:
581 | resolution: {integrity: sha512-xxaG9KvPm3GTRuM4ZyU8Tc+pMVzcu6eeoSRQJ9IE7NmCcClW6z4B3Ij6L4EDl80sxe/arTtQ6YmgiO4UZqRc+w==}
582 | dependencies:
583 | '@vue/reactivity': 3.3.9
584 | '@vue/shared': 3.3.9
585 | dev: false
586 |
587 | /@vue/runtime-dom@3.3.9:
588 | resolution: {integrity: sha512-e7LIfcxYSWbV6BK1wQv9qJyxprC75EvSqF/kQKe6bdZEDNValzeRXEVgiX7AHI6hZ59HA4h7WT5CGvm69vzJTQ==}
589 | dependencies:
590 | '@vue/runtime-core': 3.3.9
591 | '@vue/shared': 3.3.9
592 | csstype: 3.1.2
593 | dev: false
594 |
595 | /@vue/server-renderer@3.3.9(vue@3.3.9):
596 | resolution: {integrity: sha512-w0zT/s5l3Oa3ZjtLW88eO4uV6AQFqU8X5GOgzq7SkQQu6vVr+8tfm+OI2kDBplS/W/XgCBuFXiPw6T5EdwXP0A==}
597 | peerDependencies:
598 | vue: 3.3.9
599 | dependencies:
600 | '@vue/compiler-ssr': 3.3.9
601 | '@vue/shared': 3.3.9
602 | vue: 3.3.9(typescript@5.3.2)
603 | dev: false
604 |
605 | /@vue/shared@3.3.9:
606 | resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==}
607 | dev: false
608 |
609 | /abort-controller@3.0.0:
610 | resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
611 | engines: {node: '>=6.5'}
612 | dependencies:
613 | event-target-shim: 5.0.1
614 | dev: false
615 |
616 | /acorn-jsx@5.3.2(acorn@8.11.2):
617 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
618 | peerDependencies:
619 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
620 | dependencies:
621 | acorn: 8.11.2
622 | dev: true
623 |
624 | /acorn@8.11.2:
625 | resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
626 | engines: {node: '>=0.4.0'}
627 | hasBin: true
628 |
629 | /agentkeepalive@4.5.0:
630 | resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==}
631 | engines: {node: '>= 8.0.0'}
632 | dependencies:
633 | humanize-ms: 1.2.1
634 | dev: false
635 |
636 | /ai@2.2.25(react@18.2.0)(solid-js@1.8.6)(svelte@4.2.7)(vue@3.3.9):
637 | resolution: {integrity: sha512-iXu3pzPpDPBGDir8hz86FAJmJTynMfBH4V/DXyR3GGeaHOfjdrErlcMm862CSalR6PDMwDOSCQVwJqtdnvIncQ==}
638 | engines: {node: '>=14.6'}
639 | peerDependencies:
640 | react: ^18.2.0
641 | solid-js: ^1.7.7
642 | svelte: ^3.0.0 || ^4.0.0
643 | vue: ^3.3.4
644 | peerDependenciesMeta:
645 | react:
646 | optional: true
647 | solid-js:
648 | optional: true
649 | svelte:
650 | optional: true
651 | vue:
652 | optional: true
653 | dependencies:
654 | eventsource-parser: 1.0.0
655 | nanoid: 3.3.6
656 | react: 18.2.0
657 | solid-js: 1.8.6
658 | solid-swr-store: 0.10.7(solid-js@1.8.6)(swr-store@0.10.6)
659 | sswr: 2.0.0(svelte@4.2.7)
660 | svelte: 4.2.7
661 | swr: 2.2.0(react@18.2.0)
662 | swr-store: 0.10.6
663 | swrv: 1.0.4(vue@3.3.9)
664 | vue: 3.3.9(typescript@5.3.2)
665 | dev: false
666 |
667 | /ajv@6.12.6:
668 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
669 | dependencies:
670 | fast-deep-equal: 3.1.3
671 | fast-json-stable-stringify: 2.1.0
672 | json-schema-traverse: 0.4.1
673 | uri-js: 4.4.1
674 | dev: true
675 |
676 | /ansi-regex@5.0.1:
677 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
678 | engines: {node: '>=8'}
679 | dev: true
680 |
681 | /ansi-styles@4.3.0:
682 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
683 | engines: {node: '>=8'}
684 | dependencies:
685 | color-convert: 2.0.1
686 | dev: true
687 |
688 | /any-promise@1.3.0:
689 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
690 | dev: true
691 |
692 | /anymatch@3.1.3:
693 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
694 | engines: {node: '>= 8'}
695 | dependencies:
696 | normalize-path: 3.0.0
697 | picomatch: 2.3.1
698 | dev: true
699 |
700 | /arg@5.0.2:
701 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
702 | dev: true
703 |
704 | /argparse@2.0.1:
705 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
706 | dev: true
707 |
708 | /aria-query@5.3.0:
709 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
710 | dependencies:
711 | dequal: 2.0.3
712 |
713 | /array-buffer-byte-length@1.0.0:
714 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
715 | dependencies:
716 | call-bind: 1.0.5
717 | is-array-buffer: 3.0.2
718 | dev: true
719 |
720 | /array-includes@3.1.7:
721 | resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==}
722 | engines: {node: '>= 0.4'}
723 | dependencies:
724 | call-bind: 1.0.5
725 | define-properties: 1.2.1
726 | es-abstract: 1.22.3
727 | get-intrinsic: 1.2.2
728 | is-string: 1.0.7
729 | dev: true
730 |
731 | /array-union@2.1.0:
732 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
733 | engines: {node: '>=8'}
734 | dev: true
735 |
736 | /array.prototype.findlastindex@1.2.3:
737 | resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==}
738 | engines: {node: '>= 0.4'}
739 | dependencies:
740 | call-bind: 1.0.5
741 | define-properties: 1.2.1
742 | es-abstract: 1.22.3
743 | es-shim-unscopables: 1.0.2
744 | get-intrinsic: 1.2.2
745 | dev: true
746 |
747 | /array.prototype.flat@1.3.2:
748 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
749 | engines: {node: '>= 0.4'}
750 | dependencies:
751 | call-bind: 1.0.5
752 | define-properties: 1.2.1
753 | es-abstract: 1.22.3
754 | es-shim-unscopables: 1.0.2
755 | dev: true
756 |
757 | /array.prototype.flatmap@1.3.2:
758 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
759 | engines: {node: '>= 0.4'}
760 | dependencies:
761 | call-bind: 1.0.5
762 | define-properties: 1.2.1
763 | es-abstract: 1.22.3
764 | es-shim-unscopables: 1.0.2
765 | dev: true
766 |
767 | /array.prototype.tosorted@1.1.2:
768 | resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==}
769 | dependencies:
770 | call-bind: 1.0.5
771 | define-properties: 1.2.1
772 | es-abstract: 1.22.3
773 | es-shim-unscopables: 1.0.2
774 | get-intrinsic: 1.2.2
775 | dev: true
776 |
777 | /arraybuffer.prototype.slice@1.0.2:
778 | resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==}
779 | engines: {node: '>= 0.4'}
780 | dependencies:
781 | array-buffer-byte-length: 1.0.0
782 | call-bind: 1.0.5
783 | define-properties: 1.2.1
784 | es-abstract: 1.22.3
785 | get-intrinsic: 1.2.2
786 | is-array-buffer: 3.0.2
787 | is-shared-array-buffer: 1.0.2
788 | dev: true
789 |
790 | /ast-types-flow@0.0.8:
791 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
792 | dev: true
793 |
794 | /asynciterator.prototype@1.0.0:
795 | resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==}
796 | dependencies:
797 | has-symbols: 1.0.3
798 | dev: true
799 |
800 | /asynckit@0.4.0:
801 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
802 | dev: false
803 |
804 | /autoprefixer@10.4.16(postcss@8.4.31):
805 | resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
806 | engines: {node: ^10 || ^12 || >=14}
807 | hasBin: true
808 | peerDependencies:
809 | postcss: ^8.1.0
810 | dependencies:
811 | browserslist: 4.22.1
812 | caniuse-lite: 1.0.30001565
813 | fraction.js: 4.3.7
814 | normalize-range: 0.1.2
815 | picocolors: 1.0.0
816 | postcss: 8.4.31
817 | postcss-value-parser: 4.2.0
818 | dev: true
819 |
820 | /available-typed-arrays@1.0.5:
821 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
822 | engines: {node: '>= 0.4'}
823 | dev: true
824 |
825 | /axe-core@4.7.0:
826 | resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==}
827 | engines: {node: '>=4'}
828 | dev: true
829 |
830 | /axobject-query@3.2.1:
831 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
832 | dependencies:
833 | dequal: 2.0.3
834 |
835 | /bail@2.0.2:
836 | resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
837 | dev: false
838 |
839 | /balanced-match@1.0.2:
840 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
841 | dev: true
842 |
843 | /base-64@0.1.0:
844 | resolution: {integrity: sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==}
845 | dev: false
846 |
847 | /binary-extensions@2.2.0:
848 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
849 | engines: {node: '>=8'}
850 | dev: true
851 |
852 | /brace-expansion@1.1.11:
853 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
854 | dependencies:
855 | balanced-match: 1.0.2
856 | concat-map: 0.0.1
857 | dev: true
858 |
859 | /braces@3.0.2:
860 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
861 | engines: {node: '>=8'}
862 | dependencies:
863 | fill-range: 7.0.1
864 | dev: true
865 |
866 | /browserslist@4.22.1:
867 | resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
868 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
869 | hasBin: true
870 | dependencies:
871 | caniuse-lite: 1.0.30001565
872 | electron-to-chromium: 1.4.594
873 | node-releases: 2.0.13
874 | update-browserslist-db: 1.0.13(browserslist@4.22.1)
875 | dev: true
876 |
877 | /busboy@1.6.0:
878 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
879 | engines: {node: '>=10.16.0'}
880 | dependencies:
881 | streamsearch: 1.1.0
882 | dev: false
883 |
884 | /call-bind@1.0.5:
885 | resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==}
886 | dependencies:
887 | function-bind: 1.1.2
888 | get-intrinsic: 1.2.2
889 | set-function-length: 1.1.1
890 | dev: true
891 |
892 | /callsites@3.1.0:
893 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
894 | engines: {node: '>=6'}
895 | dev: true
896 |
897 | /camelcase-css@2.0.1:
898 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
899 | engines: {node: '>= 6'}
900 | dev: true
901 |
902 | /caniuse-lite@1.0.30001565:
903 | resolution: {integrity: sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==}
904 |
905 | /ccount@2.0.1:
906 | resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
907 | dev: false
908 |
909 | /chalk@4.1.2:
910 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
911 | engines: {node: '>=10'}
912 | dependencies:
913 | ansi-styles: 4.3.0
914 | supports-color: 7.2.0
915 | dev: true
916 |
917 | /character-entities-legacy@1.1.4:
918 | resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
919 | dev: false
920 |
921 | /character-entities@1.2.4:
922 | resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
923 | dev: false
924 |
925 | /character-entities@2.0.2:
926 | resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
927 | dev: false
928 |
929 | /character-reference-invalid@1.1.4:
930 | resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
931 | dev: false
932 |
933 | /charenc@0.0.2:
934 | resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
935 | dev: false
936 |
937 | /chokidar@3.5.3:
938 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
939 | engines: {node: '>= 8.10.0'}
940 | dependencies:
941 | anymatch: 3.1.3
942 | braces: 3.0.2
943 | glob-parent: 5.1.2
944 | is-binary-path: 2.1.0
945 | is-glob: 4.0.3
946 | normalize-path: 3.0.0
947 | readdirp: 3.6.0
948 | optionalDependencies:
949 | fsevents: 2.3.3
950 | dev: true
951 |
952 | /class-variance-authority@0.7.0:
953 | resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==}
954 | dependencies:
955 | clsx: 2.0.0
956 | dev: false
957 |
958 | /client-only@0.0.1:
959 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
960 | dev: false
961 |
962 | /clsx@1.2.1:
963 | resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
964 | engines: {node: '>=6'}
965 | dev: false
966 |
967 | /clsx@2.0.0:
968 | resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
969 | engines: {node: '>=6'}
970 | dev: false
971 |
972 | /code-red@1.0.4:
973 | resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
974 | dependencies:
975 | '@jridgewell/sourcemap-codec': 1.4.15
976 | '@types/estree': 1.0.5
977 | acorn: 8.11.2
978 | estree-walker: 3.0.3
979 | periscopic: 3.1.0
980 | dev: false
981 |
982 | /color-convert@2.0.1:
983 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
984 | engines: {node: '>=7.0.0'}
985 | dependencies:
986 | color-name: 1.1.4
987 | dev: true
988 |
989 | /color-name@1.1.4:
990 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
991 | dev: true
992 |
993 | /combined-stream@1.0.8:
994 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
995 | engines: {node: '>= 0.8'}
996 | dependencies:
997 | delayed-stream: 1.0.0
998 | dev: false
999 |
1000 | /comma-separated-tokens@1.0.8:
1001 | resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==}
1002 | dev: false
1003 |
1004 | /comma-separated-tokens@2.0.3:
1005 | resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
1006 | dev: false
1007 |
1008 | /commander@4.1.1:
1009 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
1010 | engines: {node: '>= 6'}
1011 | dev: true
1012 |
1013 | /commander@8.3.0:
1014 | resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
1015 | engines: {node: '>= 12'}
1016 | dev: false
1017 |
1018 | /concat-map@0.0.1:
1019 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1020 | dev: true
1021 |
1022 | /cross-spawn@7.0.3:
1023 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1024 | engines: {node: '>= 8'}
1025 | dependencies:
1026 | path-key: 3.1.1
1027 | shebang-command: 2.0.0
1028 | which: 2.0.2
1029 | dev: true
1030 |
1031 | /crypt@0.0.2:
1032 | resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
1033 | dev: false
1034 |
1035 | /css-tree@2.3.1:
1036 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
1037 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
1038 | dependencies:
1039 | mdn-data: 2.0.30
1040 | source-map-js: 1.0.2
1041 | dev: false
1042 |
1043 | /cssesc@3.0.0:
1044 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
1045 | engines: {node: '>=4'}
1046 | hasBin: true
1047 | dev: true
1048 |
1049 | /csstype@3.1.2:
1050 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
1051 |
1052 | /damerau-levenshtein@1.0.8:
1053 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
1054 | dev: true
1055 |
1056 | /debug@3.2.7:
1057 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
1058 | peerDependencies:
1059 | supports-color: '*'
1060 | peerDependenciesMeta:
1061 | supports-color:
1062 | optional: true
1063 | dependencies:
1064 | ms: 2.1.3
1065 | dev: true
1066 |
1067 | /debug@4.3.4:
1068 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
1069 | engines: {node: '>=6.0'}
1070 | peerDependencies:
1071 | supports-color: '*'
1072 | peerDependenciesMeta:
1073 | supports-color:
1074 | optional: true
1075 | dependencies:
1076 | ms: 2.1.2
1077 |
1078 | /decode-named-character-reference@1.0.2:
1079 | resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
1080 | dependencies:
1081 | character-entities: 2.0.2
1082 | dev: false
1083 |
1084 | /deep-is@0.1.4:
1085 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1086 | dev: true
1087 |
1088 | /define-data-property@1.1.1:
1089 | resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
1090 | engines: {node: '>= 0.4'}
1091 | dependencies:
1092 | get-intrinsic: 1.2.2
1093 | gopd: 1.0.1
1094 | has-property-descriptors: 1.0.1
1095 | dev: true
1096 |
1097 | /define-properties@1.2.1:
1098 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
1099 | engines: {node: '>= 0.4'}
1100 | dependencies:
1101 | define-data-property: 1.1.1
1102 | has-property-descriptors: 1.0.1
1103 | object-keys: 1.1.1
1104 | dev: true
1105 |
1106 | /delayed-stream@1.0.0:
1107 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
1108 | engines: {node: '>=0.4.0'}
1109 | dev: false
1110 |
1111 | /dequal@2.0.3:
1112 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
1113 | engines: {node: '>=6'}
1114 |
1115 | /didyoumean@1.2.2:
1116 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
1117 | dev: true
1118 |
1119 | /diff@5.1.0:
1120 | resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==}
1121 | engines: {node: '>=0.3.1'}
1122 | dev: false
1123 |
1124 | /digest-fetch@1.3.0:
1125 | resolution: {integrity: sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==}
1126 | dependencies:
1127 | base-64: 0.1.0
1128 | md5: 2.3.0
1129 | dev: false
1130 |
1131 | /dir-glob@3.0.1:
1132 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
1133 | engines: {node: '>=8'}
1134 | dependencies:
1135 | path-type: 4.0.0
1136 | dev: true
1137 |
1138 | /dlv@1.1.3:
1139 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
1140 | dev: true
1141 |
1142 | /doctrine@2.1.0:
1143 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
1144 | engines: {node: '>=0.10.0'}
1145 | dependencies:
1146 | esutils: 2.0.3
1147 | dev: true
1148 |
1149 | /doctrine@3.0.0:
1150 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
1151 | engines: {node: '>=6.0.0'}
1152 | dependencies:
1153 | esutils: 2.0.3
1154 | dev: true
1155 |
1156 | /dotenv@16.3.1:
1157 | resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==}
1158 | engines: {node: '>=12'}
1159 | dev: false
1160 |
1161 | /electron-to-chromium@1.4.594:
1162 | resolution: {integrity: sha512-xT1HVAu5xFn7bDfkjGQi9dNpMqGchUkebwf1GL7cZN32NSwwlHRPMSDJ1KN6HkS0bWUtndbSQZqvpQftKG2uFQ==}
1163 | dev: true
1164 |
1165 | /emoji-regex@9.2.2:
1166 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
1167 | dev: true
1168 |
1169 | /enhanced-resolve@5.15.0:
1170 | resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
1171 | engines: {node: '>=10.13.0'}
1172 | dependencies:
1173 | graceful-fs: 4.2.11
1174 | tapable: 2.2.1
1175 | dev: true
1176 |
1177 | /es-abstract@1.22.3:
1178 | resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==}
1179 | engines: {node: '>= 0.4'}
1180 | dependencies:
1181 | array-buffer-byte-length: 1.0.0
1182 | arraybuffer.prototype.slice: 1.0.2
1183 | available-typed-arrays: 1.0.5
1184 | call-bind: 1.0.5
1185 | es-set-tostringtag: 2.0.2
1186 | es-to-primitive: 1.2.1
1187 | function.prototype.name: 1.1.6
1188 | get-intrinsic: 1.2.2
1189 | get-symbol-description: 1.0.0
1190 | globalthis: 1.0.3
1191 | gopd: 1.0.1
1192 | has-property-descriptors: 1.0.1
1193 | has-proto: 1.0.1
1194 | has-symbols: 1.0.3
1195 | hasown: 2.0.0
1196 | internal-slot: 1.0.6
1197 | is-array-buffer: 3.0.2
1198 | is-callable: 1.2.7
1199 | is-negative-zero: 2.0.2
1200 | is-regex: 1.1.4
1201 | is-shared-array-buffer: 1.0.2
1202 | is-string: 1.0.7
1203 | is-typed-array: 1.1.12
1204 | is-weakref: 1.0.2
1205 | object-inspect: 1.13.1
1206 | object-keys: 1.1.1
1207 | object.assign: 4.1.4
1208 | regexp.prototype.flags: 1.5.1
1209 | safe-array-concat: 1.0.1
1210 | safe-regex-test: 1.0.0
1211 | string.prototype.trim: 1.2.8
1212 | string.prototype.trimend: 1.0.7
1213 | string.prototype.trimstart: 1.0.7
1214 | typed-array-buffer: 1.0.0
1215 | typed-array-byte-length: 1.0.0
1216 | typed-array-byte-offset: 1.0.0
1217 | typed-array-length: 1.0.4
1218 | unbox-primitive: 1.0.2
1219 | which-typed-array: 1.1.13
1220 | dev: true
1221 |
1222 | /es-iterator-helpers@1.0.15:
1223 | resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==}
1224 | dependencies:
1225 | asynciterator.prototype: 1.0.0
1226 | call-bind: 1.0.5
1227 | define-properties: 1.2.1
1228 | es-abstract: 1.22.3
1229 | es-set-tostringtag: 2.0.2
1230 | function-bind: 1.1.2
1231 | get-intrinsic: 1.2.2
1232 | globalthis: 1.0.3
1233 | has-property-descriptors: 1.0.1
1234 | has-proto: 1.0.1
1235 | has-symbols: 1.0.3
1236 | internal-slot: 1.0.6
1237 | iterator.prototype: 1.1.2
1238 | safe-array-concat: 1.0.1
1239 | dev: true
1240 |
1241 | /es-set-tostringtag@2.0.2:
1242 | resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==}
1243 | engines: {node: '>= 0.4'}
1244 | dependencies:
1245 | get-intrinsic: 1.2.2
1246 | has-tostringtag: 1.0.0
1247 | hasown: 2.0.0
1248 | dev: true
1249 |
1250 | /es-shim-unscopables@1.0.2:
1251 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
1252 | dependencies:
1253 | hasown: 2.0.0
1254 | dev: true
1255 |
1256 | /es-to-primitive@1.2.1:
1257 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
1258 | engines: {node: '>= 0.4'}
1259 | dependencies:
1260 | is-callable: 1.2.7
1261 | is-date-object: 1.0.5
1262 | is-symbol: 1.0.4
1263 | dev: true
1264 |
1265 | /escalade@3.1.1:
1266 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1267 | engines: {node: '>=6'}
1268 | dev: true
1269 |
1270 | /escape-string-regexp@4.0.0:
1271 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1272 | engines: {node: '>=10'}
1273 | dev: true
1274 |
1275 | /escape-string-regexp@5.0.0:
1276 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
1277 | engines: {node: '>=12'}
1278 | dev: false
1279 |
1280 | /eslint-config-next@13.5.6(eslint@8.54.0)(typescript@5.3.2):
1281 | resolution: {integrity: sha512-o8pQsUHTo9aHqJ2YiZDym5gQAMRf7O2HndHo/JZeY7TDD+W4hk6Ma8Vw54RHiBeb7OWWO5dPirQB+Is/aVQ7Kg==}
1282 | peerDependencies:
1283 | eslint: ^7.23.0 || ^8.0.0
1284 | typescript: '>=3.3.1'
1285 | peerDependenciesMeta:
1286 | typescript:
1287 | optional: true
1288 | dependencies:
1289 | '@next/eslint-plugin-next': 13.5.6
1290 | '@rushstack/eslint-patch': 1.6.0
1291 | '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2)
1292 | eslint: 8.54.0
1293 | eslint-import-resolver-node: 0.3.9
1294 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0)
1295 | eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0)
1296 | eslint-plugin-jsx-a11y: 6.8.0(eslint@8.54.0)
1297 | eslint-plugin-react: 7.33.2(eslint@8.54.0)
1298 | eslint-plugin-react-hooks: 4.6.0(eslint@8.54.0)
1299 | typescript: 5.3.2
1300 | transitivePeerDependencies:
1301 | - eslint-import-resolver-webpack
1302 | - supports-color
1303 | dev: true
1304 |
1305 | /eslint-import-resolver-node@0.3.9:
1306 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
1307 | dependencies:
1308 | debug: 3.2.7
1309 | is-core-module: 2.13.1
1310 | resolve: 1.22.8
1311 | transitivePeerDependencies:
1312 | - supports-color
1313 | dev: true
1314 |
1315 | /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0):
1316 | resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
1317 | engines: {node: ^14.18.0 || >=16.0.0}
1318 | peerDependencies:
1319 | eslint: '*'
1320 | eslint-plugin-import: '*'
1321 | dependencies:
1322 | debug: 4.3.4
1323 | enhanced-resolve: 5.15.0
1324 | eslint: 8.54.0
1325 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0)
1326 | eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0)
1327 | fast-glob: 3.3.2
1328 | get-tsconfig: 4.7.2
1329 | is-core-module: 2.13.1
1330 | is-glob: 4.0.3
1331 | transitivePeerDependencies:
1332 | - '@typescript-eslint/parser'
1333 | - eslint-import-resolver-node
1334 | - eslint-import-resolver-webpack
1335 | - supports-color
1336 | dev: true
1337 |
1338 | /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0):
1339 | resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
1340 | engines: {node: '>=4'}
1341 | peerDependencies:
1342 | '@typescript-eslint/parser': '*'
1343 | eslint: '*'
1344 | eslint-import-resolver-node: '*'
1345 | eslint-import-resolver-typescript: '*'
1346 | eslint-import-resolver-webpack: '*'
1347 | peerDependenciesMeta:
1348 | '@typescript-eslint/parser':
1349 | optional: true
1350 | eslint:
1351 | optional: true
1352 | eslint-import-resolver-node:
1353 | optional: true
1354 | eslint-import-resolver-typescript:
1355 | optional: true
1356 | eslint-import-resolver-webpack:
1357 | optional: true
1358 | dependencies:
1359 | '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2)
1360 | debug: 3.2.7
1361 | eslint: 8.54.0
1362 | eslint-import-resolver-node: 0.3.9
1363 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0)
1364 | transitivePeerDependencies:
1365 | - supports-color
1366 | dev: true
1367 |
1368 | /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0):
1369 | resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==}
1370 | engines: {node: '>=4'}
1371 | peerDependencies:
1372 | '@typescript-eslint/parser': '*'
1373 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
1374 | peerDependenciesMeta:
1375 | '@typescript-eslint/parser':
1376 | optional: true
1377 | dependencies:
1378 | '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2)
1379 | array-includes: 3.1.7
1380 | array.prototype.findlastindex: 1.2.3
1381 | array.prototype.flat: 1.3.2
1382 | array.prototype.flatmap: 1.3.2
1383 | debug: 3.2.7
1384 | doctrine: 2.1.0
1385 | eslint: 8.54.0
1386 | eslint-import-resolver-node: 0.3.9
1387 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0)
1388 | hasown: 2.0.0
1389 | is-core-module: 2.13.1
1390 | is-glob: 4.0.3
1391 | minimatch: 3.1.2
1392 | object.fromentries: 2.0.7
1393 | object.groupby: 1.0.1
1394 | object.values: 1.1.7
1395 | semver: 6.3.1
1396 | tsconfig-paths: 3.14.2
1397 | transitivePeerDependencies:
1398 | - eslint-import-resolver-typescript
1399 | - eslint-import-resolver-webpack
1400 | - supports-color
1401 | dev: true
1402 |
1403 | /eslint-plugin-jsx-a11y@6.8.0(eslint@8.54.0):
1404 | resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==}
1405 | engines: {node: '>=4.0'}
1406 | peerDependencies:
1407 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
1408 | dependencies:
1409 | '@babel/runtime': 7.23.4
1410 | aria-query: 5.3.0
1411 | array-includes: 3.1.7
1412 | array.prototype.flatmap: 1.3.2
1413 | ast-types-flow: 0.0.8
1414 | axe-core: 4.7.0
1415 | axobject-query: 3.2.1
1416 | damerau-levenshtein: 1.0.8
1417 | emoji-regex: 9.2.2
1418 | es-iterator-helpers: 1.0.15
1419 | eslint: 8.54.0
1420 | hasown: 2.0.0
1421 | jsx-ast-utils: 3.3.5
1422 | language-tags: 1.0.9
1423 | minimatch: 3.1.2
1424 | object.entries: 1.1.7
1425 | object.fromentries: 2.0.7
1426 | dev: true
1427 |
1428 | /eslint-plugin-react-hooks@4.6.0(eslint@8.54.0):
1429 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
1430 | engines: {node: '>=10'}
1431 | peerDependencies:
1432 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
1433 | dependencies:
1434 | eslint: 8.54.0
1435 | dev: true
1436 |
1437 | /eslint-plugin-react@7.33.2(eslint@8.54.0):
1438 | resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==}
1439 | engines: {node: '>=4'}
1440 | peerDependencies:
1441 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
1442 | dependencies:
1443 | array-includes: 3.1.7
1444 | array.prototype.flatmap: 1.3.2
1445 | array.prototype.tosorted: 1.1.2
1446 | doctrine: 2.1.0
1447 | es-iterator-helpers: 1.0.15
1448 | eslint: 8.54.0
1449 | estraverse: 5.3.0
1450 | jsx-ast-utils: 3.3.5
1451 | minimatch: 3.1.2
1452 | object.entries: 1.1.7
1453 | object.fromentries: 2.0.7
1454 | object.hasown: 1.1.3
1455 | object.values: 1.1.7
1456 | prop-types: 15.8.1
1457 | resolve: 2.0.0-next.5
1458 | semver: 6.3.1
1459 | string.prototype.matchall: 4.0.10
1460 | dev: true
1461 |
1462 | /eslint-scope@7.2.2:
1463 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
1464 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1465 | dependencies:
1466 | esrecurse: 4.3.0
1467 | estraverse: 5.3.0
1468 | dev: true
1469 |
1470 | /eslint-visitor-keys@3.4.3:
1471 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1472 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1473 | dev: true
1474 |
1475 | /eslint@8.54.0:
1476 | resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==}
1477 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1478 | hasBin: true
1479 | dependencies:
1480 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
1481 | '@eslint-community/regexpp': 4.10.0
1482 | '@eslint/eslintrc': 2.1.3
1483 | '@eslint/js': 8.54.0
1484 | '@humanwhocodes/config-array': 0.11.13
1485 | '@humanwhocodes/module-importer': 1.0.1
1486 | '@nodelib/fs.walk': 1.2.8
1487 | '@ungap/structured-clone': 1.2.0
1488 | ajv: 6.12.6
1489 | chalk: 4.1.2
1490 | cross-spawn: 7.0.3
1491 | debug: 4.3.4
1492 | doctrine: 3.0.0
1493 | escape-string-regexp: 4.0.0
1494 | eslint-scope: 7.2.2
1495 | eslint-visitor-keys: 3.4.3
1496 | espree: 9.6.1
1497 | esquery: 1.5.0
1498 | esutils: 2.0.3
1499 | fast-deep-equal: 3.1.3
1500 | file-entry-cache: 6.0.1
1501 | find-up: 5.0.0
1502 | glob-parent: 6.0.2
1503 | globals: 13.23.0
1504 | graphemer: 1.4.0
1505 | ignore: 5.3.0
1506 | imurmurhash: 0.1.4
1507 | is-glob: 4.0.3
1508 | is-path-inside: 3.0.3
1509 | js-yaml: 4.1.0
1510 | json-stable-stringify-without-jsonify: 1.0.1
1511 | levn: 0.4.1
1512 | lodash.merge: 4.6.2
1513 | minimatch: 3.1.2
1514 | natural-compare: 1.4.0
1515 | optionator: 0.9.3
1516 | strip-ansi: 6.0.1
1517 | text-table: 0.2.0
1518 | transitivePeerDependencies:
1519 | - supports-color
1520 | dev: true
1521 |
1522 | /espree@9.6.1:
1523 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
1524 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1525 | dependencies:
1526 | acorn: 8.11.2
1527 | acorn-jsx: 5.3.2(acorn@8.11.2)
1528 | eslint-visitor-keys: 3.4.3
1529 | dev: true
1530 |
1531 | /esquery@1.5.0:
1532 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
1533 | engines: {node: '>=0.10'}
1534 | dependencies:
1535 | estraverse: 5.3.0
1536 | dev: true
1537 |
1538 | /esrecurse@4.3.0:
1539 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1540 | engines: {node: '>=4.0'}
1541 | dependencies:
1542 | estraverse: 5.3.0
1543 | dev: true
1544 |
1545 | /estraverse@5.3.0:
1546 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1547 | engines: {node: '>=4.0'}
1548 | dev: true
1549 |
1550 | /estree-walker@2.0.2:
1551 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1552 | dev: false
1553 |
1554 | /estree-walker@3.0.3:
1555 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
1556 | dependencies:
1557 | '@types/estree': 1.0.5
1558 | dev: false
1559 |
1560 | /esutils@2.0.3:
1561 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1562 | engines: {node: '>=0.10.0'}
1563 | dev: true
1564 |
1565 | /event-target-shim@5.0.1:
1566 | resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
1567 | engines: {node: '>=6'}
1568 | dev: false
1569 |
1570 | /eventsource-parser@1.0.0:
1571 | resolution: {integrity: sha512-9jgfSCa3dmEme2ES3mPByGXfgZ87VbP97tng1G2nWwWx6bV2nYxm2AWCrbQjXToSe+yYlqaZNtxffR9IeQr95g==}
1572 | engines: {node: '>=14.18'}
1573 | dev: false
1574 |
1575 | /extend@3.0.2:
1576 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
1577 | dev: false
1578 |
1579 | /fast-deep-equal@3.1.3:
1580 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1581 | dev: true
1582 |
1583 | /fast-glob@3.3.2:
1584 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
1585 | engines: {node: '>=8.6.0'}
1586 | dependencies:
1587 | '@nodelib/fs.stat': 2.0.5
1588 | '@nodelib/fs.walk': 1.2.8
1589 | glob-parent: 5.1.2
1590 | merge2: 1.4.1
1591 | micromatch: 4.0.5
1592 | dev: true
1593 |
1594 | /fast-json-stable-stringify@2.1.0:
1595 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1596 | dev: true
1597 |
1598 | /fast-levenshtein@2.0.6:
1599 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1600 | dev: true
1601 |
1602 | /fastq@1.15.0:
1603 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1604 | dependencies:
1605 | reusify: 1.0.4
1606 | dev: true
1607 |
1608 | /fault@1.0.4:
1609 | resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==}
1610 | dependencies:
1611 | format: 0.2.2
1612 | dev: false
1613 |
1614 | /file-entry-cache@6.0.1:
1615 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1616 | engines: {node: ^10.12.0 || >=12.0.0}
1617 | dependencies:
1618 | flat-cache: 3.2.0
1619 | dev: true
1620 |
1621 | /fill-range@7.0.1:
1622 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1623 | engines: {node: '>=8'}
1624 | dependencies:
1625 | to-regex-range: 5.0.1
1626 | dev: true
1627 |
1628 | /find-up@5.0.0:
1629 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1630 | engines: {node: '>=10'}
1631 | dependencies:
1632 | locate-path: 6.0.0
1633 | path-exists: 4.0.0
1634 | dev: true
1635 |
1636 | /flat-cache@3.2.0:
1637 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
1638 | engines: {node: ^10.12.0 || >=12.0.0}
1639 | dependencies:
1640 | flatted: 3.2.9
1641 | keyv: 4.5.4
1642 | rimraf: 3.0.2
1643 | dev: true
1644 |
1645 | /flatted@3.2.9:
1646 | resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
1647 | dev: true
1648 |
1649 | /for-each@0.3.3:
1650 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
1651 | dependencies:
1652 | is-callable: 1.2.7
1653 | dev: true
1654 |
1655 | /form-data-encoder@1.7.2:
1656 | resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==}
1657 | dev: false
1658 |
1659 | /form-data@4.0.0:
1660 | resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
1661 | engines: {node: '>= 6'}
1662 | dependencies:
1663 | asynckit: 0.4.0
1664 | combined-stream: 1.0.8
1665 | mime-types: 2.1.35
1666 | dev: false
1667 |
1668 | /format@0.2.2:
1669 | resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
1670 | engines: {node: '>=0.4.x'}
1671 | dev: false
1672 |
1673 | /formdata-node@4.4.1:
1674 | resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
1675 | engines: {node: '>= 12.20'}
1676 | dependencies:
1677 | node-domexception: 1.0.0
1678 | web-streams-polyfill: 4.0.0-beta.3
1679 | dev: false
1680 |
1681 | /fraction.js@4.3.7:
1682 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
1683 | dev: true
1684 |
1685 | /fs.realpath@1.0.0:
1686 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1687 | dev: true
1688 |
1689 | /fsevents@2.3.3:
1690 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1691 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1692 | os: [darwin]
1693 | requiresBuild: true
1694 | dev: true
1695 | optional: true
1696 |
1697 | /function-bind@1.1.2:
1698 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1699 | dev: true
1700 |
1701 | /function.prototype.name@1.1.6:
1702 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
1703 | engines: {node: '>= 0.4'}
1704 | dependencies:
1705 | call-bind: 1.0.5
1706 | define-properties: 1.2.1
1707 | es-abstract: 1.22.3
1708 | functions-have-names: 1.2.3
1709 | dev: true
1710 |
1711 | /functions-have-names@1.2.3:
1712 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1713 | dev: true
1714 |
1715 | /get-intrinsic@1.2.2:
1716 | resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==}
1717 | dependencies:
1718 | function-bind: 1.1.2
1719 | has-proto: 1.0.1
1720 | has-symbols: 1.0.3
1721 | hasown: 2.0.0
1722 | dev: true
1723 |
1724 | /get-symbol-description@1.0.0:
1725 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
1726 | engines: {node: '>= 0.4'}
1727 | dependencies:
1728 | call-bind: 1.0.5
1729 | get-intrinsic: 1.2.2
1730 | dev: true
1731 |
1732 | /get-tsconfig@4.7.2:
1733 | resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
1734 | dependencies:
1735 | resolve-pkg-maps: 1.0.0
1736 | dev: true
1737 |
1738 | /glob-parent@5.1.2:
1739 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1740 | engines: {node: '>= 6'}
1741 | dependencies:
1742 | is-glob: 4.0.3
1743 | dev: true
1744 |
1745 | /glob-parent@6.0.2:
1746 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1747 | engines: {node: '>=10.13.0'}
1748 | dependencies:
1749 | is-glob: 4.0.3
1750 | dev: true
1751 |
1752 | /glob-to-regexp@0.4.1:
1753 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
1754 | dev: false
1755 |
1756 | /glob@7.1.6:
1757 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
1758 | dependencies:
1759 | fs.realpath: 1.0.0
1760 | inflight: 1.0.6
1761 | inherits: 2.0.4
1762 | minimatch: 3.1.2
1763 | once: 1.4.0
1764 | path-is-absolute: 1.0.1
1765 | dev: true
1766 |
1767 | /glob@7.1.7:
1768 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
1769 | dependencies:
1770 | fs.realpath: 1.0.0
1771 | inflight: 1.0.6
1772 | inherits: 2.0.4
1773 | minimatch: 3.1.2
1774 | once: 1.4.0
1775 | path-is-absolute: 1.0.1
1776 | dev: true
1777 |
1778 | /glob@7.2.3:
1779 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1780 | dependencies:
1781 | fs.realpath: 1.0.0
1782 | inflight: 1.0.6
1783 | inherits: 2.0.4
1784 | minimatch: 3.1.2
1785 | once: 1.4.0
1786 | path-is-absolute: 1.0.1
1787 | dev: true
1788 |
1789 | /globals@13.23.0:
1790 | resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
1791 | engines: {node: '>=8'}
1792 | dependencies:
1793 | type-fest: 0.20.2
1794 | dev: true
1795 |
1796 | /globalthis@1.0.3:
1797 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
1798 | engines: {node: '>= 0.4'}
1799 | dependencies:
1800 | define-properties: 1.2.1
1801 | dev: true
1802 |
1803 | /globby@11.1.0:
1804 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1805 | engines: {node: '>=10'}
1806 | dependencies:
1807 | array-union: 2.1.0
1808 | dir-glob: 3.0.1
1809 | fast-glob: 3.3.2
1810 | ignore: 5.3.0
1811 | merge2: 1.4.1
1812 | slash: 3.0.0
1813 | dev: true
1814 |
1815 | /gopd@1.0.1:
1816 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1817 | dependencies:
1818 | get-intrinsic: 1.2.2
1819 | dev: true
1820 |
1821 | /graceful-fs@4.2.11:
1822 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1823 |
1824 | /graphemer@1.4.0:
1825 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1826 | dev: true
1827 |
1828 | /has-bigints@1.0.2:
1829 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1830 | dev: true
1831 |
1832 | /has-flag@4.0.0:
1833 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1834 | engines: {node: '>=8'}
1835 | dev: true
1836 |
1837 | /has-property-descriptors@1.0.1:
1838 | resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==}
1839 | dependencies:
1840 | get-intrinsic: 1.2.2
1841 | dev: true
1842 |
1843 | /has-proto@1.0.1:
1844 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
1845 | engines: {node: '>= 0.4'}
1846 | dev: true
1847 |
1848 | /has-symbols@1.0.3:
1849 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1850 | engines: {node: '>= 0.4'}
1851 | dev: true
1852 |
1853 | /has-tostringtag@1.0.0:
1854 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
1855 | engines: {node: '>= 0.4'}
1856 | dependencies:
1857 | has-symbols: 1.0.3
1858 | dev: true
1859 |
1860 | /hasown@2.0.0:
1861 | resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
1862 | engines: {node: '>= 0.4'}
1863 | dependencies:
1864 | function-bind: 1.1.2
1865 | dev: true
1866 |
1867 | /hast-util-parse-selector@2.2.5:
1868 | resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==}
1869 | dev: false
1870 |
1871 | /hast-util-whitespace@2.0.1:
1872 | resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==}
1873 | dev: false
1874 |
1875 | /hastscript@6.0.0:
1876 | resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==}
1877 | dependencies:
1878 | '@types/hast': 2.3.8
1879 | comma-separated-tokens: 1.0.8
1880 | hast-util-parse-selector: 2.2.5
1881 | property-information: 5.6.0
1882 | space-separated-tokens: 1.1.5
1883 | dev: false
1884 |
1885 | /highlight.js@10.7.3:
1886 | resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==}
1887 | dev: false
1888 |
1889 | /humanize-ms@1.2.1:
1890 | resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
1891 | dependencies:
1892 | ms: 2.1.3
1893 | dev: false
1894 |
1895 | /ignore@5.3.0:
1896 | resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
1897 | engines: {node: '>= 4'}
1898 | dev: true
1899 |
1900 | /import-fresh@3.3.0:
1901 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1902 | engines: {node: '>=6'}
1903 | dependencies:
1904 | parent-module: 1.0.1
1905 | resolve-from: 4.0.0
1906 | dev: true
1907 |
1908 | /imurmurhash@0.1.4:
1909 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1910 | engines: {node: '>=0.8.19'}
1911 | dev: true
1912 |
1913 | /inflight@1.0.6:
1914 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1915 | dependencies:
1916 | once: 1.4.0
1917 | wrappy: 1.0.2
1918 | dev: true
1919 |
1920 | /inherits@2.0.4:
1921 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1922 | dev: true
1923 |
1924 | /inline-style-parser@0.1.1:
1925 | resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
1926 | dev: false
1927 |
1928 | /internal-slot@1.0.6:
1929 | resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==}
1930 | engines: {node: '>= 0.4'}
1931 | dependencies:
1932 | get-intrinsic: 1.2.2
1933 | hasown: 2.0.0
1934 | side-channel: 1.0.4
1935 | dev: true
1936 |
1937 | /is-alphabetical@1.0.4:
1938 | resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
1939 | dev: false
1940 |
1941 | /is-alphanumerical@1.0.4:
1942 | resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
1943 | dependencies:
1944 | is-alphabetical: 1.0.4
1945 | is-decimal: 1.0.4
1946 | dev: false
1947 |
1948 | /is-array-buffer@3.0.2:
1949 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
1950 | dependencies:
1951 | call-bind: 1.0.5
1952 | get-intrinsic: 1.2.2
1953 | is-typed-array: 1.1.12
1954 | dev: true
1955 |
1956 | /is-async-function@2.0.0:
1957 | resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
1958 | engines: {node: '>= 0.4'}
1959 | dependencies:
1960 | has-tostringtag: 1.0.0
1961 | dev: true
1962 |
1963 | /is-bigint@1.0.4:
1964 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
1965 | dependencies:
1966 | has-bigints: 1.0.2
1967 | dev: true
1968 |
1969 | /is-binary-path@2.1.0:
1970 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1971 | engines: {node: '>=8'}
1972 | dependencies:
1973 | binary-extensions: 2.2.0
1974 | dev: true
1975 |
1976 | /is-boolean-object@1.1.2:
1977 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
1978 | engines: {node: '>= 0.4'}
1979 | dependencies:
1980 | call-bind: 1.0.5
1981 | has-tostringtag: 1.0.0
1982 | dev: true
1983 |
1984 | /is-buffer@1.1.6:
1985 | resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
1986 | dev: false
1987 |
1988 | /is-buffer@2.0.5:
1989 | resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
1990 | engines: {node: '>=4'}
1991 | dev: false
1992 |
1993 | /is-callable@1.2.7:
1994 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1995 | engines: {node: '>= 0.4'}
1996 | dev: true
1997 |
1998 | /is-core-module@2.13.1:
1999 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
2000 | dependencies:
2001 | hasown: 2.0.0
2002 | dev: true
2003 |
2004 | /is-date-object@1.0.5:
2005 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
2006 | engines: {node: '>= 0.4'}
2007 | dependencies:
2008 | has-tostringtag: 1.0.0
2009 | dev: true
2010 |
2011 | /is-decimal@1.0.4:
2012 | resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
2013 | dev: false
2014 |
2015 | /is-extglob@2.1.1:
2016 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
2017 | engines: {node: '>=0.10.0'}
2018 | dev: true
2019 |
2020 | /is-finalizationregistry@1.0.2:
2021 | resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
2022 | dependencies:
2023 | call-bind: 1.0.5
2024 | dev: true
2025 |
2026 | /is-generator-function@1.0.10:
2027 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
2028 | engines: {node: '>= 0.4'}
2029 | dependencies:
2030 | has-tostringtag: 1.0.0
2031 | dev: true
2032 |
2033 | /is-glob@4.0.3:
2034 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
2035 | engines: {node: '>=0.10.0'}
2036 | dependencies:
2037 | is-extglob: 2.1.1
2038 | dev: true
2039 |
2040 | /is-hexadecimal@1.0.4:
2041 | resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
2042 | dev: false
2043 |
2044 | /is-map@2.0.2:
2045 | resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
2046 | dev: true
2047 |
2048 | /is-negative-zero@2.0.2:
2049 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
2050 | engines: {node: '>= 0.4'}
2051 | dev: true
2052 |
2053 | /is-number-object@1.0.7:
2054 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
2055 | engines: {node: '>= 0.4'}
2056 | dependencies:
2057 | has-tostringtag: 1.0.0
2058 | dev: true
2059 |
2060 | /is-number@7.0.0:
2061 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
2062 | engines: {node: '>=0.12.0'}
2063 | dev: true
2064 |
2065 | /is-path-inside@3.0.3:
2066 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
2067 | engines: {node: '>=8'}
2068 | dev: true
2069 |
2070 | /is-plain-obj@4.1.0:
2071 | resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
2072 | engines: {node: '>=12'}
2073 | dev: false
2074 |
2075 | /is-reference@3.0.2:
2076 | resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
2077 | dependencies:
2078 | '@types/estree': 1.0.5
2079 | dev: false
2080 |
2081 | /is-regex@1.1.4:
2082 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
2083 | engines: {node: '>= 0.4'}
2084 | dependencies:
2085 | call-bind: 1.0.5
2086 | has-tostringtag: 1.0.0
2087 | dev: true
2088 |
2089 | /is-set@2.0.2:
2090 | resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==}
2091 | dev: true
2092 |
2093 | /is-shared-array-buffer@1.0.2:
2094 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
2095 | dependencies:
2096 | call-bind: 1.0.5
2097 | dev: true
2098 |
2099 | /is-string@1.0.7:
2100 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
2101 | engines: {node: '>= 0.4'}
2102 | dependencies:
2103 | has-tostringtag: 1.0.0
2104 | dev: true
2105 |
2106 | /is-symbol@1.0.4:
2107 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
2108 | engines: {node: '>= 0.4'}
2109 | dependencies:
2110 | has-symbols: 1.0.3
2111 | dev: true
2112 |
2113 | /is-typed-array@1.1.12:
2114 | resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
2115 | engines: {node: '>= 0.4'}
2116 | dependencies:
2117 | which-typed-array: 1.1.13
2118 | dev: true
2119 |
2120 | /is-weakmap@2.0.1:
2121 | resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
2122 | dev: true
2123 |
2124 | /is-weakref@1.0.2:
2125 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
2126 | dependencies:
2127 | call-bind: 1.0.5
2128 | dev: true
2129 |
2130 | /is-weakset@2.0.2:
2131 | resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==}
2132 | dependencies:
2133 | call-bind: 1.0.5
2134 | get-intrinsic: 1.2.2
2135 | dev: true
2136 |
2137 | /isarray@2.0.5:
2138 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
2139 | dev: true
2140 |
2141 | /isexe@2.0.0:
2142 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
2143 | dev: true
2144 |
2145 | /iterator.prototype@1.1.2:
2146 | resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
2147 | dependencies:
2148 | define-properties: 1.2.1
2149 | get-intrinsic: 1.2.2
2150 | has-symbols: 1.0.3
2151 | reflect.getprototypeof: 1.0.4
2152 | set-function-name: 2.0.1
2153 | dev: true
2154 |
2155 | /jiti@1.21.0:
2156 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
2157 | hasBin: true
2158 | dev: true
2159 |
2160 | /js-tokens@4.0.0:
2161 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
2162 |
2163 | /js-yaml@4.1.0:
2164 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
2165 | hasBin: true
2166 | dependencies:
2167 | argparse: 2.0.1
2168 | dev: true
2169 |
2170 | /json-buffer@3.0.1:
2171 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
2172 | dev: true
2173 |
2174 | /json-schema-traverse@0.4.1:
2175 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
2176 | dev: true
2177 |
2178 | /json-stable-stringify-without-jsonify@1.0.1:
2179 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
2180 | dev: true
2181 |
2182 | /json5@1.0.2:
2183 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
2184 | hasBin: true
2185 | dependencies:
2186 | minimist: 1.2.8
2187 | dev: true
2188 |
2189 | /jsx-ast-utils@3.3.5:
2190 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
2191 | engines: {node: '>=4.0'}
2192 | dependencies:
2193 | array-includes: 3.1.7
2194 | array.prototype.flat: 1.3.2
2195 | object.assign: 4.1.4
2196 | object.values: 1.1.7
2197 | dev: true
2198 |
2199 | /katex@0.16.9:
2200 | resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==}
2201 | hasBin: true
2202 | dependencies:
2203 | commander: 8.3.0
2204 | dev: false
2205 |
2206 | /keyv@4.5.4:
2207 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
2208 | dependencies:
2209 | json-buffer: 3.0.1
2210 | dev: true
2211 |
2212 | /kleur@4.1.5:
2213 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
2214 | engines: {node: '>=6'}
2215 | dev: false
2216 |
2217 | /language-subtag-registry@0.3.22:
2218 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
2219 | dev: true
2220 |
2221 | /language-tags@1.0.9:
2222 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
2223 | engines: {node: '>=0.10'}
2224 | dependencies:
2225 | language-subtag-registry: 0.3.22
2226 | dev: true
2227 |
2228 | /levn@0.4.1:
2229 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
2230 | engines: {node: '>= 0.8.0'}
2231 | dependencies:
2232 | prelude-ls: 1.2.1
2233 | type-check: 0.4.0
2234 | dev: true
2235 |
2236 | /lilconfig@2.1.0:
2237 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
2238 | engines: {node: '>=10'}
2239 | dev: true
2240 |
2241 | /lilconfig@3.0.0:
2242 | resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
2243 | engines: {node: '>=14'}
2244 | dev: true
2245 |
2246 | /lines-and-columns@1.2.4:
2247 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
2248 | dev: true
2249 |
2250 | /locate-character@3.0.0:
2251 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
2252 | dev: false
2253 |
2254 | /locate-path@6.0.0:
2255 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
2256 | engines: {node: '>=10'}
2257 | dependencies:
2258 | p-locate: 5.0.0
2259 | dev: true
2260 |
2261 | /lodash.merge@4.6.2:
2262 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
2263 | dev: true
2264 |
2265 | /longest-streak@3.1.0:
2266 | resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
2267 | dev: false
2268 |
2269 | /loose-envify@1.4.0:
2270 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
2271 | hasBin: true
2272 | dependencies:
2273 | js-tokens: 4.0.0
2274 |
2275 | /lowlight@1.20.0:
2276 | resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==}
2277 | dependencies:
2278 | fault: 1.0.4
2279 | highlight.js: 10.7.3
2280 | dev: false
2281 |
2282 | /lru-cache@6.0.0:
2283 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
2284 | engines: {node: '>=10'}
2285 | dependencies:
2286 | yallist: 4.0.0
2287 | dev: true
2288 |
2289 | /lucide-react@0.291.0(react@18.2.0):
2290 | resolution: {integrity: sha512-79jHlT9Je2PXSvXIBGDkItCK7In2O9iKnnSJ/bJxvIBOFaX2Ex0xEcC4fRS/g0F2uQGFejjmn2qWhwdc5wicMQ==}
2291 | peerDependencies:
2292 | react: ^16.5.1 || ^17.0.0 || ^18.0.0
2293 | dependencies:
2294 | react: 18.2.0
2295 | dev: false
2296 |
2297 | /magic-string@0.30.5:
2298 | resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
2299 | engines: {node: '>=12'}
2300 | dependencies:
2301 | '@jridgewell/sourcemap-codec': 1.4.15
2302 | dev: false
2303 |
2304 | /markdown-table@3.0.3:
2305 | resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
2306 | dev: false
2307 |
2308 | /md5@2.3.0:
2309 | resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==}
2310 | dependencies:
2311 | charenc: 0.0.2
2312 | crypt: 0.0.2
2313 | is-buffer: 1.1.6
2314 | dev: false
2315 |
2316 | /mdast-util-definitions@5.1.2:
2317 | resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==}
2318 | dependencies:
2319 | '@types/mdast': 3.0.15
2320 | '@types/unist': 2.0.10
2321 | unist-util-visit: 4.1.2
2322 | dev: false
2323 |
2324 | /mdast-util-find-and-replace@2.2.2:
2325 | resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==}
2326 | dependencies:
2327 | '@types/mdast': 3.0.15
2328 | escape-string-regexp: 5.0.0
2329 | unist-util-is: 5.2.1
2330 | unist-util-visit-parents: 5.1.3
2331 | dev: false
2332 |
2333 | /mdast-util-from-markdown@1.3.1:
2334 | resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==}
2335 | dependencies:
2336 | '@types/mdast': 3.0.15
2337 | '@types/unist': 2.0.10
2338 | decode-named-character-reference: 1.0.2
2339 | mdast-util-to-string: 3.2.0
2340 | micromark: 3.2.0
2341 | micromark-util-decode-numeric-character-reference: 1.1.0
2342 | micromark-util-decode-string: 1.1.0
2343 | micromark-util-normalize-identifier: 1.1.0
2344 | micromark-util-symbol: 1.1.0
2345 | micromark-util-types: 1.1.0
2346 | unist-util-stringify-position: 3.0.3
2347 | uvu: 0.5.6
2348 | transitivePeerDependencies:
2349 | - supports-color
2350 | dev: false
2351 |
2352 | /mdast-util-gfm-autolink-literal@1.0.3:
2353 | resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==}
2354 | dependencies:
2355 | '@types/mdast': 3.0.15
2356 | ccount: 2.0.1
2357 | mdast-util-find-and-replace: 2.2.2
2358 | micromark-util-character: 1.2.0
2359 | dev: false
2360 |
2361 | /mdast-util-gfm-footnote@1.0.2:
2362 | resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==}
2363 | dependencies:
2364 | '@types/mdast': 3.0.15
2365 | mdast-util-to-markdown: 1.5.0
2366 | micromark-util-normalize-identifier: 1.1.0
2367 | dev: false
2368 |
2369 | /mdast-util-gfm-strikethrough@1.0.3:
2370 | resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==}
2371 | dependencies:
2372 | '@types/mdast': 3.0.15
2373 | mdast-util-to-markdown: 1.5.0
2374 | dev: false
2375 |
2376 | /mdast-util-gfm-table@1.0.7:
2377 | resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==}
2378 | dependencies:
2379 | '@types/mdast': 3.0.15
2380 | markdown-table: 3.0.3
2381 | mdast-util-from-markdown: 1.3.1
2382 | mdast-util-to-markdown: 1.5.0
2383 | transitivePeerDependencies:
2384 | - supports-color
2385 | dev: false
2386 |
2387 | /mdast-util-gfm-task-list-item@1.0.2:
2388 | resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==}
2389 | dependencies:
2390 | '@types/mdast': 3.0.15
2391 | mdast-util-to-markdown: 1.5.0
2392 | dev: false
2393 |
2394 | /mdast-util-gfm@2.0.2:
2395 | resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==}
2396 | dependencies:
2397 | mdast-util-from-markdown: 1.3.1
2398 | mdast-util-gfm-autolink-literal: 1.0.3
2399 | mdast-util-gfm-footnote: 1.0.2
2400 | mdast-util-gfm-strikethrough: 1.0.3
2401 | mdast-util-gfm-table: 1.0.7
2402 | mdast-util-gfm-task-list-item: 1.0.2
2403 | mdast-util-to-markdown: 1.5.0
2404 | transitivePeerDependencies:
2405 | - supports-color
2406 | dev: false
2407 |
2408 | /mdast-util-math@2.0.2:
2409 | resolution: {integrity: sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==}
2410 | dependencies:
2411 | '@types/mdast': 3.0.15
2412 | longest-streak: 3.1.0
2413 | mdast-util-to-markdown: 1.5.0
2414 | dev: false
2415 |
2416 | /mdast-util-phrasing@3.0.1:
2417 | resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==}
2418 | dependencies:
2419 | '@types/mdast': 3.0.15
2420 | unist-util-is: 5.2.1
2421 | dev: false
2422 |
2423 | /mdast-util-to-hast@12.3.0:
2424 | resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==}
2425 | dependencies:
2426 | '@types/hast': 2.3.8
2427 | '@types/mdast': 3.0.15
2428 | mdast-util-definitions: 5.1.2
2429 | micromark-util-sanitize-uri: 1.2.0
2430 | trim-lines: 3.0.1
2431 | unist-util-generated: 2.0.1
2432 | unist-util-position: 4.0.4
2433 | unist-util-visit: 4.1.2
2434 | dev: false
2435 |
2436 | /mdast-util-to-markdown@1.5.0:
2437 | resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==}
2438 | dependencies:
2439 | '@types/mdast': 3.0.15
2440 | '@types/unist': 2.0.10
2441 | longest-streak: 3.1.0
2442 | mdast-util-phrasing: 3.0.1
2443 | mdast-util-to-string: 3.2.0
2444 | micromark-util-decode-string: 1.1.0
2445 | unist-util-visit: 4.1.2
2446 | zwitch: 2.0.4
2447 | dev: false
2448 |
2449 | /mdast-util-to-string@3.2.0:
2450 | resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==}
2451 | dependencies:
2452 | '@types/mdast': 3.0.15
2453 | dev: false
2454 |
2455 | /mdn-data@2.0.30:
2456 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
2457 | dev: false
2458 |
2459 | /merge2@1.4.1:
2460 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
2461 | engines: {node: '>= 8'}
2462 | dev: true
2463 |
2464 | /micromark-core-commonmark@1.1.0:
2465 | resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==}
2466 | dependencies:
2467 | decode-named-character-reference: 1.0.2
2468 | micromark-factory-destination: 1.1.0
2469 | micromark-factory-label: 1.1.0
2470 | micromark-factory-space: 1.1.0
2471 | micromark-factory-title: 1.1.0
2472 | micromark-factory-whitespace: 1.1.0
2473 | micromark-util-character: 1.2.0
2474 | micromark-util-chunked: 1.1.0
2475 | micromark-util-classify-character: 1.1.0
2476 | micromark-util-html-tag-name: 1.2.0
2477 | micromark-util-normalize-identifier: 1.1.0
2478 | micromark-util-resolve-all: 1.1.0
2479 | micromark-util-subtokenize: 1.1.0
2480 | micromark-util-symbol: 1.1.0
2481 | micromark-util-types: 1.1.0
2482 | uvu: 0.5.6
2483 | dev: false
2484 |
2485 | /micromark-extension-gfm-autolink-literal@1.0.5:
2486 | resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==}
2487 | dependencies:
2488 | micromark-util-character: 1.2.0
2489 | micromark-util-sanitize-uri: 1.2.0
2490 | micromark-util-symbol: 1.1.0
2491 | micromark-util-types: 1.1.0
2492 | dev: false
2493 |
2494 | /micromark-extension-gfm-footnote@1.1.2:
2495 | resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==}
2496 | dependencies:
2497 | micromark-core-commonmark: 1.1.0
2498 | micromark-factory-space: 1.1.0
2499 | micromark-util-character: 1.2.0
2500 | micromark-util-normalize-identifier: 1.1.0
2501 | micromark-util-sanitize-uri: 1.2.0
2502 | micromark-util-symbol: 1.1.0
2503 | micromark-util-types: 1.1.0
2504 | uvu: 0.5.6
2505 | dev: false
2506 |
2507 | /micromark-extension-gfm-strikethrough@1.0.7:
2508 | resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==}
2509 | dependencies:
2510 | micromark-util-chunked: 1.1.0
2511 | micromark-util-classify-character: 1.1.0
2512 | micromark-util-resolve-all: 1.1.0
2513 | micromark-util-symbol: 1.1.0
2514 | micromark-util-types: 1.1.0
2515 | uvu: 0.5.6
2516 | dev: false
2517 |
2518 | /micromark-extension-gfm-table@1.0.7:
2519 | resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==}
2520 | dependencies:
2521 | micromark-factory-space: 1.1.0
2522 | micromark-util-character: 1.2.0
2523 | micromark-util-symbol: 1.1.0
2524 | micromark-util-types: 1.1.0
2525 | uvu: 0.5.6
2526 | dev: false
2527 |
2528 | /micromark-extension-gfm-tagfilter@1.0.2:
2529 | resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==}
2530 | dependencies:
2531 | micromark-util-types: 1.1.0
2532 | dev: false
2533 |
2534 | /micromark-extension-gfm-task-list-item@1.0.5:
2535 | resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==}
2536 | dependencies:
2537 | micromark-factory-space: 1.1.0
2538 | micromark-util-character: 1.2.0
2539 | micromark-util-symbol: 1.1.0
2540 | micromark-util-types: 1.1.0
2541 | uvu: 0.5.6
2542 | dev: false
2543 |
2544 | /micromark-extension-gfm@2.0.3:
2545 | resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==}
2546 | dependencies:
2547 | micromark-extension-gfm-autolink-literal: 1.0.5
2548 | micromark-extension-gfm-footnote: 1.1.2
2549 | micromark-extension-gfm-strikethrough: 1.0.7
2550 | micromark-extension-gfm-table: 1.0.7
2551 | micromark-extension-gfm-tagfilter: 1.0.2
2552 | micromark-extension-gfm-task-list-item: 1.0.5
2553 | micromark-util-combine-extensions: 1.1.0
2554 | micromark-util-types: 1.1.0
2555 | dev: false
2556 |
2557 | /micromark-extension-math@2.1.2:
2558 | resolution: {integrity: sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg==}
2559 | dependencies:
2560 | '@types/katex': 0.16.7
2561 | katex: 0.16.9
2562 | micromark-factory-space: 1.1.0
2563 | micromark-util-character: 1.2.0
2564 | micromark-util-symbol: 1.1.0
2565 | micromark-util-types: 1.1.0
2566 | uvu: 0.5.6
2567 | dev: false
2568 |
2569 | /micromark-factory-destination@1.1.0:
2570 | resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==}
2571 | dependencies:
2572 | micromark-util-character: 1.2.0
2573 | micromark-util-symbol: 1.1.0
2574 | micromark-util-types: 1.1.0
2575 | dev: false
2576 |
2577 | /micromark-factory-label@1.1.0:
2578 | resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==}
2579 | dependencies:
2580 | micromark-util-character: 1.2.0
2581 | micromark-util-symbol: 1.1.0
2582 | micromark-util-types: 1.1.0
2583 | uvu: 0.5.6
2584 | dev: false
2585 |
2586 | /micromark-factory-space@1.1.0:
2587 | resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==}
2588 | dependencies:
2589 | micromark-util-character: 1.2.0
2590 | micromark-util-types: 1.1.0
2591 | dev: false
2592 |
2593 | /micromark-factory-title@1.1.0:
2594 | resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==}
2595 | dependencies:
2596 | micromark-factory-space: 1.1.0
2597 | micromark-util-character: 1.2.0
2598 | micromark-util-symbol: 1.1.0
2599 | micromark-util-types: 1.1.0
2600 | dev: false
2601 |
2602 | /micromark-factory-whitespace@1.1.0:
2603 | resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==}
2604 | dependencies:
2605 | micromark-factory-space: 1.1.0
2606 | micromark-util-character: 1.2.0
2607 | micromark-util-symbol: 1.1.0
2608 | micromark-util-types: 1.1.0
2609 | dev: false
2610 |
2611 | /micromark-util-character@1.2.0:
2612 | resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==}
2613 | dependencies:
2614 | micromark-util-symbol: 1.1.0
2615 | micromark-util-types: 1.1.0
2616 | dev: false
2617 |
2618 | /micromark-util-chunked@1.1.0:
2619 | resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==}
2620 | dependencies:
2621 | micromark-util-symbol: 1.1.0
2622 | dev: false
2623 |
2624 | /micromark-util-classify-character@1.1.0:
2625 | resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==}
2626 | dependencies:
2627 | micromark-util-character: 1.2.0
2628 | micromark-util-symbol: 1.1.0
2629 | micromark-util-types: 1.1.0
2630 | dev: false
2631 |
2632 | /micromark-util-combine-extensions@1.1.0:
2633 | resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==}
2634 | dependencies:
2635 | micromark-util-chunked: 1.1.0
2636 | micromark-util-types: 1.1.0
2637 | dev: false
2638 |
2639 | /micromark-util-decode-numeric-character-reference@1.1.0:
2640 | resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==}
2641 | dependencies:
2642 | micromark-util-symbol: 1.1.0
2643 | dev: false
2644 |
2645 | /micromark-util-decode-string@1.1.0:
2646 | resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==}
2647 | dependencies:
2648 | decode-named-character-reference: 1.0.2
2649 | micromark-util-character: 1.2.0
2650 | micromark-util-decode-numeric-character-reference: 1.1.0
2651 | micromark-util-symbol: 1.1.0
2652 | dev: false
2653 |
2654 | /micromark-util-encode@1.1.0:
2655 | resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==}
2656 | dev: false
2657 |
2658 | /micromark-util-html-tag-name@1.2.0:
2659 | resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==}
2660 | dev: false
2661 |
2662 | /micromark-util-normalize-identifier@1.1.0:
2663 | resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==}
2664 | dependencies:
2665 | micromark-util-symbol: 1.1.0
2666 | dev: false
2667 |
2668 | /micromark-util-resolve-all@1.1.0:
2669 | resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==}
2670 | dependencies:
2671 | micromark-util-types: 1.1.0
2672 | dev: false
2673 |
2674 | /micromark-util-sanitize-uri@1.2.0:
2675 | resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==}
2676 | dependencies:
2677 | micromark-util-character: 1.2.0
2678 | micromark-util-encode: 1.1.0
2679 | micromark-util-symbol: 1.1.0
2680 | dev: false
2681 |
2682 | /micromark-util-subtokenize@1.1.0:
2683 | resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==}
2684 | dependencies:
2685 | micromark-util-chunked: 1.1.0
2686 | micromark-util-symbol: 1.1.0
2687 | micromark-util-types: 1.1.0
2688 | uvu: 0.5.6
2689 | dev: false
2690 |
2691 | /micromark-util-symbol@1.1.0:
2692 | resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==}
2693 | dev: false
2694 |
2695 | /micromark-util-types@1.1.0:
2696 | resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==}
2697 | dev: false
2698 |
2699 | /micromark@3.2.0:
2700 | resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==}
2701 | dependencies:
2702 | '@types/debug': 4.1.12
2703 | debug: 4.3.4
2704 | decode-named-character-reference: 1.0.2
2705 | micromark-core-commonmark: 1.1.0
2706 | micromark-factory-space: 1.1.0
2707 | micromark-util-character: 1.2.0
2708 | micromark-util-chunked: 1.1.0
2709 | micromark-util-combine-extensions: 1.1.0
2710 | micromark-util-decode-numeric-character-reference: 1.1.0
2711 | micromark-util-encode: 1.1.0
2712 | micromark-util-normalize-identifier: 1.1.0
2713 | micromark-util-resolve-all: 1.1.0
2714 | micromark-util-sanitize-uri: 1.2.0
2715 | micromark-util-subtokenize: 1.1.0
2716 | micromark-util-symbol: 1.1.0
2717 | micromark-util-types: 1.1.0
2718 | uvu: 0.5.6
2719 | transitivePeerDependencies:
2720 | - supports-color
2721 | dev: false
2722 |
2723 | /micromatch@4.0.5:
2724 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
2725 | engines: {node: '>=8.6'}
2726 | dependencies:
2727 | braces: 3.0.2
2728 | picomatch: 2.3.1
2729 | dev: true
2730 |
2731 | /mime-db@1.52.0:
2732 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
2733 | engines: {node: '>= 0.6'}
2734 | dev: false
2735 |
2736 | /mime-types@2.1.35:
2737 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
2738 | engines: {node: '>= 0.6'}
2739 | dependencies:
2740 | mime-db: 1.52.0
2741 | dev: false
2742 |
2743 | /min-indent@1.0.1:
2744 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
2745 | engines: {node: '>=4'}
2746 | dev: false
2747 |
2748 | /minimatch@3.1.2:
2749 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
2750 | dependencies:
2751 | brace-expansion: 1.1.11
2752 | dev: true
2753 |
2754 | /minimist@1.2.8:
2755 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
2756 | dev: true
2757 |
2758 | /mri@1.2.0:
2759 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
2760 | engines: {node: '>=4'}
2761 | dev: false
2762 |
2763 | /ms@2.1.2:
2764 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
2765 |
2766 | /ms@2.1.3:
2767 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
2768 |
2769 | /mz@2.7.0:
2770 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
2771 | dependencies:
2772 | any-promise: 1.3.0
2773 | object-assign: 4.1.1
2774 | thenify-all: 1.6.0
2775 | dev: true
2776 |
2777 | /nanoid@3.3.6:
2778 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
2779 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
2780 | hasBin: true
2781 | dev: false
2782 |
2783 | /nanoid@3.3.7:
2784 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
2785 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
2786 | hasBin: true
2787 |
2788 | /natural-compare@1.4.0:
2789 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
2790 | dev: true
2791 |
2792 | /next@14.0.3(react-dom@18.2.0)(react@18.2.0):
2793 | resolution: {integrity: sha512-AbYdRNfImBr3XGtvnwOxq8ekVCwbFTv/UJoLwmaX89nk9i051AEY4/HAWzU0YpaTDw8IofUpmuIlvzWF13jxIw==}
2794 | engines: {node: '>=18.17.0'}
2795 | hasBin: true
2796 | peerDependencies:
2797 | '@opentelemetry/api': ^1.1.0
2798 | react: ^18.2.0
2799 | react-dom: ^18.2.0
2800 | sass: ^1.3.0
2801 | peerDependenciesMeta:
2802 | '@opentelemetry/api':
2803 | optional: true
2804 | sass:
2805 | optional: true
2806 | dependencies:
2807 | '@next/env': 14.0.3
2808 | '@swc/helpers': 0.5.2
2809 | busboy: 1.6.0
2810 | caniuse-lite: 1.0.30001565
2811 | postcss: 8.4.31
2812 | react: 18.2.0
2813 | react-dom: 18.2.0(react@18.2.0)
2814 | styled-jsx: 5.1.1(react@18.2.0)
2815 | watchpack: 2.4.0
2816 | optionalDependencies:
2817 | '@next/swc-darwin-arm64': 14.0.3
2818 | '@next/swc-darwin-x64': 14.0.3
2819 | '@next/swc-linux-arm64-gnu': 14.0.3
2820 | '@next/swc-linux-arm64-musl': 14.0.3
2821 | '@next/swc-linux-x64-gnu': 14.0.3
2822 | '@next/swc-linux-x64-musl': 14.0.3
2823 | '@next/swc-win32-arm64-msvc': 14.0.3
2824 | '@next/swc-win32-ia32-msvc': 14.0.3
2825 | '@next/swc-win32-x64-msvc': 14.0.3
2826 | transitivePeerDependencies:
2827 | - '@babel/core'
2828 | - babel-plugin-macros
2829 | dev: false
2830 |
2831 | /node-domexception@1.0.0:
2832 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
2833 | engines: {node: '>=10.5.0'}
2834 | dev: false
2835 |
2836 | /node-fetch@2.7.0:
2837 | resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
2838 | engines: {node: 4.x || >=6.0.0}
2839 | peerDependencies:
2840 | encoding: ^0.1.0
2841 | peerDependenciesMeta:
2842 | encoding:
2843 | optional: true
2844 | dependencies:
2845 | whatwg-url: 5.0.0
2846 | dev: false
2847 |
2848 | /node-releases@2.0.13:
2849 | resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
2850 | dev: true
2851 |
2852 | /normalize-path@3.0.0:
2853 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
2854 | engines: {node: '>=0.10.0'}
2855 | dev: true
2856 |
2857 | /normalize-range@0.1.2:
2858 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
2859 | engines: {node: '>=0.10.0'}
2860 | dev: true
2861 |
2862 | /object-assign@4.1.1:
2863 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
2864 | engines: {node: '>=0.10.0'}
2865 |
2866 | /object-hash@3.0.0:
2867 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
2868 | engines: {node: '>= 6'}
2869 | dev: true
2870 |
2871 | /object-inspect@1.13.1:
2872 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
2873 | dev: true
2874 |
2875 | /object-keys@1.1.1:
2876 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
2877 | engines: {node: '>= 0.4'}
2878 | dev: true
2879 |
2880 | /object.assign@4.1.4:
2881 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
2882 | engines: {node: '>= 0.4'}
2883 | dependencies:
2884 | call-bind: 1.0.5
2885 | define-properties: 1.2.1
2886 | has-symbols: 1.0.3
2887 | object-keys: 1.1.1
2888 | dev: true
2889 |
2890 | /object.entries@1.1.7:
2891 | resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==}
2892 | engines: {node: '>= 0.4'}
2893 | dependencies:
2894 | call-bind: 1.0.5
2895 | define-properties: 1.2.1
2896 | es-abstract: 1.22.3
2897 | dev: true
2898 |
2899 | /object.fromentries@2.0.7:
2900 | resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==}
2901 | engines: {node: '>= 0.4'}
2902 | dependencies:
2903 | call-bind: 1.0.5
2904 | define-properties: 1.2.1
2905 | es-abstract: 1.22.3
2906 | dev: true
2907 |
2908 | /object.groupby@1.0.1:
2909 | resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==}
2910 | dependencies:
2911 | call-bind: 1.0.5
2912 | define-properties: 1.2.1
2913 | es-abstract: 1.22.3
2914 | get-intrinsic: 1.2.2
2915 | dev: true
2916 |
2917 | /object.hasown@1.1.3:
2918 | resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==}
2919 | dependencies:
2920 | define-properties: 1.2.1
2921 | es-abstract: 1.22.3
2922 | dev: true
2923 |
2924 | /object.values@1.1.7:
2925 | resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==}
2926 | engines: {node: '>= 0.4'}
2927 | dependencies:
2928 | call-bind: 1.0.5
2929 | define-properties: 1.2.1
2930 | es-abstract: 1.22.3
2931 | dev: true
2932 |
2933 | /once@1.4.0:
2934 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
2935 | dependencies:
2936 | wrappy: 1.0.2
2937 | dev: true
2938 |
2939 | /openai@4.20.0:
2940 | resolution: {integrity: sha512-VbAYerNZFfIIeESS+OL9vgDkK8Mnri55n+jN0UN/HZeuM0ghGh6nDN6UGRZxslNgyJ7XmY/Ca9DO4YYyvrszGA==}
2941 | hasBin: true
2942 | dependencies:
2943 | '@types/node': 18.18.13
2944 | '@types/node-fetch': 2.6.9
2945 | abort-controller: 3.0.0
2946 | agentkeepalive: 4.5.0
2947 | digest-fetch: 1.3.0
2948 | form-data-encoder: 1.7.2
2949 | formdata-node: 4.4.1
2950 | node-fetch: 2.7.0
2951 | web-streams-polyfill: 3.2.1
2952 | transitivePeerDependencies:
2953 | - encoding
2954 | dev: false
2955 |
2956 | /optionator@0.9.3:
2957 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
2958 | engines: {node: '>= 0.8.0'}
2959 | dependencies:
2960 | '@aashutoshrathi/word-wrap': 1.2.6
2961 | deep-is: 0.1.4
2962 | fast-levenshtein: 2.0.6
2963 | levn: 0.4.1
2964 | prelude-ls: 1.2.1
2965 | type-check: 0.4.0
2966 | dev: true
2967 |
2968 | /p-limit@3.1.0:
2969 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
2970 | engines: {node: '>=10'}
2971 | dependencies:
2972 | yocto-queue: 0.1.0
2973 | dev: true
2974 |
2975 | /p-locate@5.0.0:
2976 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
2977 | engines: {node: '>=10'}
2978 | dependencies:
2979 | p-limit: 3.1.0
2980 | dev: true
2981 |
2982 | /parent-module@1.0.1:
2983 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2984 | engines: {node: '>=6'}
2985 | dependencies:
2986 | callsites: 3.1.0
2987 | dev: true
2988 |
2989 | /parse-entities@2.0.0:
2990 | resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
2991 | dependencies:
2992 | character-entities: 1.2.4
2993 | character-entities-legacy: 1.1.4
2994 | character-reference-invalid: 1.1.4
2995 | is-alphanumerical: 1.0.4
2996 | is-decimal: 1.0.4
2997 | is-hexadecimal: 1.0.4
2998 | dev: false
2999 |
3000 | /path-exists@4.0.0:
3001 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
3002 | engines: {node: '>=8'}
3003 | dev: true
3004 |
3005 | /path-is-absolute@1.0.1:
3006 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
3007 | engines: {node: '>=0.10.0'}
3008 | dev: true
3009 |
3010 | /path-key@3.1.1:
3011 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
3012 | engines: {node: '>=8'}
3013 | dev: true
3014 |
3015 | /path-parse@1.0.7:
3016 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
3017 | dev: true
3018 |
3019 | /path-type@4.0.0:
3020 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
3021 | engines: {node: '>=8'}
3022 | dev: true
3023 |
3024 | /periscopic@3.1.0:
3025 | resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
3026 | dependencies:
3027 | '@types/estree': 1.0.5
3028 | estree-walker: 3.0.3
3029 | is-reference: 3.0.2
3030 | dev: false
3031 |
3032 | /picocolors@1.0.0:
3033 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
3034 |
3035 | /picomatch@2.3.1:
3036 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
3037 | engines: {node: '>=8.6'}
3038 | dev: true
3039 |
3040 | /pify@2.3.0:
3041 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
3042 | engines: {node: '>=0.10.0'}
3043 | dev: true
3044 |
3045 | /pirates@4.0.6:
3046 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
3047 | engines: {node: '>= 6'}
3048 | dev: true
3049 |
3050 | /postcss-import@15.1.0(postcss@8.4.31):
3051 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
3052 | engines: {node: '>=14.0.0'}
3053 | peerDependencies:
3054 | postcss: ^8.0.0
3055 | dependencies:
3056 | postcss: 8.4.31
3057 | postcss-value-parser: 4.2.0
3058 | read-cache: 1.0.0
3059 | resolve: 1.22.8
3060 | dev: true
3061 |
3062 | /postcss-js@4.0.1(postcss@8.4.31):
3063 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
3064 | engines: {node: ^12 || ^14 || >= 16}
3065 | peerDependencies:
3066 | postcss: ^8.4.21
3067 | dependencies:
3068 | camelcase-css: 2.0.1
3069 | postcss: 8.4.31
3070 | dev: true
3071 |
3072 | /postcss-load-config@4.0.2(postcss@8.4.31):
3073 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
3074 | engines: {node: '>= 14'}
3075 | peerDependencies:
3076 | postcss: '>=8.0.9'
3077 | ts-node: '>=9.0.0'
3078 | peerDependenciesMeta:
3079 | postcss:
3080 | optional: true
3081 | ts-node:
3082 | optional: true
3083 | dependencies:
3084 | lilconfig: 3.0.0
3085 | postcss: 8.4.31
3086 | yaml: 2.3.4
3087 | dev: true
3088 |
3089 | /postcss-nested@6.0.1(postcss@8.4.31):
3090 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
3091 | engines: {node: '>=12.0'}
3092 | peerDependencies:
3093 | postcss: ^8.2.14
3094 | dependencies:
3095 | postcss: 8.4.31
3096 | postcss-selector-parser: 6.0.13
3097 | dev: true
3098 |
3099 | /postcss-selector-parser@6.0.13:
3100 | resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
3101 | engines: {node: '>=4'}
3102 | dependencies:
3103 | cssesc: 3.0.0
3104 | util-deprecate: 1.0.2
3105 | dev: true
3106 |
3107 | /postcss-value-parser@4.2.0:
3108 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
3109 | dev: true
3110 |
3111 | /postcss@8.4.31:
3112 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
3113 | engines: {node: ^10 || ^12 || >=14}
3114 | dependencies:
3115 | nanoid: 3.3.7
3116 | picocolors: 1.0.0
3117 | source-map-js: 1.0.2
3118 |
3119 | /prelude-ls@1.2.1:
3120 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
3121 | engines: {node: '>= 0.8.0'}
3122 | dev: true
3123 |
3124 | /prismjs@1.27.0:
3125 | resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==}
3126 | engines: {node: '>=6'}
3127 | dev: false
3128 |
3129 | /prismjs@1.29.0:
3130 | resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
3131 | engines: {node: '>=6'}
3132 | dev: false
3133 |
3134 | /prop-types@15.8.1:
3135 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
3136 | dependencies:
3137 | loose-envify: 1.4.0
3138 | object-assign: 4.1.1
3139 | react-is: 16.13.1
3140 |
3141 | /property-information@5.6.0:
3142 | resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==}
3143 | dependencies:
3144 | xtend: 4.0.2
3145 | dev: false
3146 |
3147 | /property-information@6.4.0:
3148 | resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==}
3149 | dev: false
3150 |
3151 | /punycode@2.3.1:
3152 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
3153 | engines: {node: '>=6'}
3154 | dev: true
3155 |
3156 | /queue-microtask@1.2.3:
3157 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
3158 | dev: true
3159 |
3160 | /react-dom@18.2.0(react@18.2.0):
3161 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
3162 | peerDependencies:
3163 | react: ^18.2.0
3164 | dependencies:
3165 | loose-envify: 1.4.0
3166 | react: 18.2.0
3167 | scheduler: 0.23.0
3168 | dev: false
3169 |
3170 | /react-is@16.13.1:
3171 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
3172 |
3173 | /react-is@18.2.0:
3174 | resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
3175 | dev: false
3176 |
3177 | /react-markdown@8.0.7(@types/react@18.2.38)(react@18.2.0):
3178 | resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==}
3179 | peerDependencies:
3180 | '@types/react': '>=16'
3181 | react: '>=16'
3182 | dependencies:
3183 | '@types/hast': 2.3.8
3184 | '@types/prop-types': 15.7.11
3185 | '@types/react': 18.2.38
3186 | '@types/unist': 2.0.10
3187 | comma-separated-tokens: 2.0.3
3188 | hast-util-whitespace: 2.0.1
3189 | prop-types: 15.8.1
3190 | property-information: 6.4.0
3191 | react: 18.2.0
3192 | react-is: 18.2.0
3193 | remark-parse: 10.0.2
3194 | remark-rehype: 10.1.0
3195 | space-separated-tokens: 2.0.2
3196 | style-to-object: 0.4.4
3197 | unified: 10.1.2
3198 | unist-util-visit: 4.1.2
3199 | vfile: 5.3.7
3200 | transitivePeerDependencies:
3201 | - supports-color
3202 | dev: false
3203 |
3204 | /react-syntax-highlighter@15.5.0(react@18.2.0):
3205 | resolution: {integrity: sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==}
3206 | peerDependencies:
3207 | react: '>= 0.14.0'
3208 | dependencies:
3209 | '@babel/runtime': 7.23.4
3210 | highlight.js: 10.7.3
3211 | lowlight: 1.20.0
3212 | prismjs: 1.29.0
3213 | react: 18.2.0
3214 | refractor: 3.6.0
3215 | dev: false
3216 |
3217 | /react@18.2.0:
3218 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
3219 | engines: {node: '>=0.10.0'}
3220 | dependencies:
3221 | loose-envify: 1.4.0
3222 | dev: false
3223 |
3224 | /read-cache@1.0.0:
3225 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
3226 | dependencies:
3227 | pify: 2.3.0
3228 | dev: true
3229 |
3230 | /readdirp@3.6.0:
3231 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
3232 | engines: {node: '>=8.10.0'}
3233 | dependencies:
3234 | picomatch: 2.3.1
3235 | dev: true
3236 |
3237 | /reflect.getprototypeof@1.0.4:
3238 | resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==}
3239 | engines: {node: '>= 0.4'}
3240 | dependencies:
3241 | call-bind: 1.0.5
3242 | define-properties: 1.2.1
3243 | es-abstract: 1.22.3
3244 | get-intrinsic: 1.2.2
3245 | globalthis: 1.0.3
3246 | which-builtin-type: 1.1.3
3247 | dev: true
3248 |
3249 | /refractor@3.6.0:
3250 | resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==}
3251 | dependencies:
3252 | hastscript: 6.0.0
3253 | parse-entities: 2.0.0
3254 | prismjs: 1.27.0
3255 | dev: false
3256 |
3257 | /regenerator-runtime@0.14.0:
3258 | resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
3259 |
3260 | /regexp.prototype.flags@1.5.1:
3261 | resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==}
3262 | engines: {node: '>= 0.4'}
3263 | dependencies:
3264 | call-bind: 1.0.5
3265 | define-properties: 1.2.1
3266 | set-function-name: 2.0.1
3267 | dev: true
3268 |
3269 | /remark-code-import@1.2.0:
3270 | resolution: {integrity: sha512-fgwLruqlZbVOIhCJFjY+JDwPZhA4/eK3InJzN8Ox8UDdtudpG212JwtRj6la+lAzJU7JmSEyewZSukVZdknt3Q==}
3271 | engines: {node: '>= 12'}
3272 | dependencies:
3273 | strip-indent: 4.0.0
3274 | to-gatsby-remark-plugin: 0.1.0
3275 | unist-util-visit: 4.1.2
3276 | dev: false
3277 |
3278 | /remark-gfm@3.0.1:
3279 | resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==}
3280 | dependencies:
3281 | '@types/mdast': 3.0.15
3282 | mdast-util-gfm: 2.0.2
3283 | micromark-extension-gfm: 2.0.3
3284 | unified: 10.1.2
3285 | transitivePeerDependencies:
3286 | - supports-color
3287 | dev: false
3288 |
3289 | /remark-math@5.1.1:
3290 | resolution: {integrity: sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==}
3291 | dependencies:
3292 | '@types/mdast': 3.0.15
3293 | mdast-util-math: 2.0.2
3294 | micromark-extension-math: 2.1.2
3295 | unified: 10.1.2
3296 | dev: false
3297 |
3298 | /remark-parse@10.0.2:
3299 | resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==}
3300 | dependencies:
3301 | '@types/mdast': 3.0.15
3302 | mdast-util-from-markdown: 1.3.1
3303 | unified: 10.1.2
3304 | transitivePeerDependencies:
3305 | - supports-color
3306 | dev: false
3307 |
3308 | /remark-rehype@10.1.0:
3309 | resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==}
3310 | dependencies:
3311 | '@types/hast': 2.3.8
3312 | '@types/mdast': 3.0.15
3313 | mdast-util-to-hast: 12.3.0
3314 | unified: 10.1.2
3315 | dev: false
3316 |
3317 | /remark-stringify@10.0.3:
3318 | resolution: {integrity: sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==}
3319 | dependencies:
3320 | '@types/mdast': 3.0.15
3321 | mdast-util-to-markdown: 1.5.0
3322 | unified: 10.1.2
3323 | dev: false
3324 |
3325 | /remark@14.0.3:
3326 | resolution: {integrity: sha512-bfmJW1dmR2LvaMJuAnE88pZP9DktIFYXazkTfOIKZzi3Knk9lT0roItIA24ydOucI3bV/g/tXBA6hzqq3FV9Ew==}
3327 | dependencies:
3328 | '@types/mdast': 3.0.15
3329 | remark-parse: 10.0.2
3330 | remark-stringify: 10.0.3
3331 | unified: 10.1.2
3332 | transitivePeerDependencies:
3333 | - supports-color
3334 | dev: false
3335 |
3336 | /resolve-from@4.0.0:
3337 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
3338 | engines: {node: '>=4'}
3339 | dev: true
3340 |
3341 | /resolve-pkg-maps@1.0.0:
3342 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
3343 | dev: true
3344 |
3345 | /resolve@1.22.8:
3346 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
3347 | hasBin: true
3348 | dependencies:
3349 | is-core-module: 2.13.1
3350 | path-parse: 1.0.7
3351 | supports-preserve-symlinks-flag: 1.0.0
3352 | dev: true
3353 |
3354 | /resolve@2.0.0-next.5:
3355 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
3356 | hasBin: true
3357 | dependencies:
3358 | is-core-module: 2.13.1
3359 | path-parse: 1.0.7
3360 | supports-preserve-symlinks-flag: 1.0.0
3361 | dev: true
3362 |
3363 | /reusify@1.0.4:
3364 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
3365 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
3366 | dev: true
3367 |
3368 | /rimraf@3.0.2:
3369 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
3370 | hasBin: true
3371 | dependencies:
3372 | glob: 7.2.3
3373 | dev: true
3374 |
3375 | /run-parallel@1.2.0:
3376 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
3377 | dependencies:
3378 | queue-microtask: 1.2.3
3379 | dev: true
3380 |
3381 | /sade@1.8.1:
3382 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
3383 | engines: {node: '>=6'}
3384 | dependencies:
3385 | mri: 1.2.0
3386 | dev: false
3387 |
3388 | /safe-array-concat@1.0.1:
3389 | resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==}
3390 | engines: {node: '>=0.4'}
3391 | dependencies:
3392 | call-bind: 1.0.5
3393 | get-intrinsic: 1.2.2
3394 | has-symbols: 1.0.3
3395 | isarray: 2.0.5
3396 | dev: true
3397 |
3398 | /safe-regex-test@1.0.0:
3399 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
3400 | dependencies:
3401 | call-bind: 1.0.5
3402 | get-intrinsic: 1.2.2
3403 | is-regex: 1.1.4
3404 | dev: true
3405 |
3406 | /scheduler@0.23.0:
3407 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
3408 | dependencies:
3409 | loose-envify: 1.4.0
3410 | dev: false
3411 |
3412 | /semver@6.3.1:
3413 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
3414 | hasBin: true
3415 | dev: true
3416 |
3417 | /semver@7.5.4:
3418 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
3419 | engines: {node: '>=10'}
3420 | hasBin: true
3421 | dependencies:
3422 | lru-cache: 6.0.0
3423 | dev: true
3424 |
3425 | /seroval@0.14.1:
3426 | resolution: {integrity: sha512-ZlC9y1KVDhZFdEHLYZup1RjKDutyX1tt3ffOauqRbRURa2vRr2NU/bHuVEuNEqR3zE2uCU3WM6LqH6Oinc3tWg==}
3427 | engines: {node: '>=10'}
3428 | dev: false
3429 |
3430 | /set-function-length@1.1.1:
3431 | resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==}
3432 | engines: {node: '>= 0.4'}
3433 | dependencies:
3434 | define-data-property: 1.1.1
3435 | get-intrinsic: 1.2.2
3436 | gopd: 1.0.1
3437 | has-property-descriptors: 1.0.1
3438 | dev: true
3439 |
3440 | /set-function-name@2.0.1:
3441 | resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
3442 | engines: {node: '>= 0.4'}
3443 | dependencies:
3444 | define-data-property: 1.1.1
3445 | functions-have-names: 1.2.3
3446 | has-property-descriptors: 1.0.1
3447 | dev: true
3448 |
3449 | /shebang-command@2.0.0:
3450 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
3451 | engines: {node: '>=8'}
3452 | dependencies:
3453 | shebang-regex: 3.0.0
3454 | dev: true
3455 |
3456 | /shebang-regex@3.0.0:
3457 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
3458 | engines: {node: '>=8'}
3459 | dev: true
3460 |
3461 | /side-channel@1.0.4:
3462 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
3463 | dependencies:
3464 | call-bind: 1.0.5
3465 | get-intrinsic: 1.2.2
3466 | object-inspect: 1.13.1
3467 | dev: true
3468 |
3469 | /slash@3.0.0:
3470 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
3471 | engines: {node: '>=8'}
3472 | dev: true
3473 |
3474 | /solid-js@1.8.6:
3475 | resolution: {integrity: sha512-yiH6ZfBBZ3xj/aU/PBpVKB+8r8WWp100NGF7k/Z0IrK9Y8Lv0jwvFiJY1cHdc6Tj7GqXArKnMBabM0m1k+LzkA==}
3476 | dependencies:
3477 | csstype: 3.1.2
3478 | seroval: 0.14.1
3479 | dev: false
3480 |
3481 | /solid-swr-store@0.10.7(solid-js@1.8.6)(swr-store@0.10.6):
3482 | resolution: {integrity: sha512-A6d68aJmRP471aWqKKPE2tpgOiR5fH4qXQNfKIec+Vap+MGQm3tvXlT8n0I8UgJSlNAsSAUuw2VTviH2h3Vv5g==}
3483 | engines: {node: '>=10'}
3484 | peerDependencies:
3485 | solid-js: ^1.2
3486 | swr-store: ^0.10
3487 | dependencies:
3488 | solid-js: 1.8.6
3489 | swr-store: 0.10.6
3490 | dev: false
3491 |
3492 | /source-map-js@1.0.2:
3493 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
3494 | engines: {node: '>=0.10.0'}
3495 |
3496 | /space-separated-tokens@1.1.5:
3497 | resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==}
3498 | dev: false
3499 |
3500 | /space-separated-tokens@2.0.2:
3501 | resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
3502 | dev: false
3503 |
3504 | /sswr@2.0.0(svelte@4.2.7):
3505 | resolution: {integrity: sha512-mV0kkeBHcjcb0M5NqKtKVg/uTIYNlIIniyDfSGrSfxpEdM9C365jK0z55pl9K0xAkNTJi2OAOVFQpgMPUk+V0w==}
3506 | peerDependencies:
3507 | svelte: ^4.0.0
3508 | dependencies:
3509 | svelte: 4.2.7
3510 | swrev: 4.0.0
3511 | dev: false
3512 |
3513 | /streamsearch@1.1.0:
3514 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
3515 | engines: {node: '>=10.0.0'}
3516 | dev: false
3517 |
3518 | /string.prototype.matchall@4.0.10:
3519 | resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==}
3520 | dependencies:
3521 | call-bind: 1.0.5
3522 | define-properties: 1.2.1
3523 | es-abstract: 1.22.3
3524 | get-intrinsic: 1.2.2
3525 | has-symbols: 1.0.3
3526 | internal-slot: 1.0.6
3527 | regexp.prototype.flags: 1.5.1
3528 | set-function-name: 2.0.1
3529 | side-channel: 1.0.4
3530 | dev: true
3531 |
3532 | /string.prototype.trim@1.2.8:
3533 | resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
3534 | engines: {node: '>= 0.4'}
3535 | dependencies:
3536 | call-bind: 1.0.5
3537 | define-properties: 1.2.1
3538 | es-abstract: 1.22.3
3539 | dev: true
3540 |
3541 | /string.prototype.trimend@1.0.7:
3542 | resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
3543 | dependencies:
3544 | call-bind: 1.0.5
3545 | define-properties: 1.2.1
3546 | es-abstract: 1.22.3
3547 | dev: true
3548 |
3549 | /string.prototype.trimstart@1.0.7:
3550 | resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
3551 | dependencies:
3552 | call-bind: 1.0.5
3553 | define-properties: 1.2.1
3554 | es-abstract: 1.22.3
3555 | dev: true
3556 |
3557 | /strip-ansi@6.0.1:
3558 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
3559 | engines: {node: '>=8'}
3560 | dependencies:
3561 | ansi-regex: 5.0.1
3562 | dev: true
3563 |
3564 | /strip-bom@3.0.0:
3565 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
3566 | engines: {node: '>=4'}
3567 | dev: true
3568 |
3569 | /strip-indent@4.0.0:
3570 | resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
3571 | engines: {node: '>=12'}
3572 | dependencies:
3573 | min-indent: 1.0.1
3574 | dev: false
3575 |
3576 | /strip-json-comments@3.1.1:
3577 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
3578 | engines: {node: '>=8'}
3579 | dev: true
3580 |
3581 | /style-to-object@0.4.4:
3582 | resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
3583 | dependencies:
3584 | inline-style-parser: 0.1.1
3585 | dev: false
3586 |
3587 | /styled-jsx@5.1.1(react@18.2.0):
3588 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
3589 | engines: {node: '>= 12.0.0'}
3590 | peerDependencies:
3591 | '@babel/core': '*'
3592 | babel-plugin-macros: '*'
3593 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
3594 | peerDependenciesMeta:
3595 | '@babel/core':
3596 | optional: true
3597 | babel-plugin-macros:
3598 | optional: true
3599 | dependencies:
3600 | client-only: 0.0.1
3601 | react: 18.2.0
3602 | dev: false
3603 |
3604 | /sucrase@3.34.0:
3605 | resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
3606 | engines: {node: '>=8'}
3607 | hasBin: true
3608 | dependencies:
3609 | '@jridgewell/gen-mapping': 0.3.3
3610 | commander: 4.1.1
3611 | glob: 7.1.6
3612 | lines-and-columns: 1.2.4
3613 | mz: 2.7.0
3614 | pirates: 4.0.6
3615 | ts-interface-checker: 0.1.13
3616 | dev: true
3617 |
3618 | /supports-color@7.2.0:
3619 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
3620 | engines: {node: '>=8'}
3621 | dependencies:
3622 | has-flag: 4.0.0
3623 | dev: true
3624 |
3625 | /supports-preserve-symlinks-flag@1.0.0:
3626 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
3627 | engines: {node: '>= 0.4'}
3628 | dev: true
3629 |
3630 | /svelte@4.2.7:
3631 | resolution: {integrity: sha512-UExR1KS7raTdycsUrKLtStayu4hpdV3VZQgM0akX8XbXgLBlosdE/Sf3crOgyh9xIjqSYB3UEBuUlIQKRQX2hg==}
3632 | engines: {node: '>=16'}
3633 | dependencies:
3634 | '@ampproject/remapping': 2.2.1
3635 | '@jridgewell/sourcemap-codec': 1.4.15
3636 | '@jridgewell/trace-mapping': 0.3.20
3637 | acorn: 8.11.2
3638 | aria-query: 5.3.0
3639 | axobject-query: 3.2.1
3640 | code-red: 1.0.4
3641 | css-tree: 2.3.1
3642 | estree-walker: 3.0.3
3643 | is-reference: 3.0.2
3644 | locate-character: 3.0.0
3645 | magic-string: 0.30.5
3646 | periscopic: 3.1.0
3647 | dev: false
3648 |
3649 | /swr-store@0.10.6:
3650 | resolution: {integrity: sha512-xPjB1hARSiRaNNlUQvWSVrG5SirCjk2TmaUyzzvk69SZQan9hCJqw/5rG9iL7xElHU784GxRPISClq4488/XVw==}
3651 | engines: {node: '>=10'}
3652 | dependencies:
3653 | dequal: 2.0.3
3654 | dev: false
3655 |
3656 | /swr@2.2.0(react@18.2.0):
3657 | resolution: {integrity: sha512-AjqHOv2lAhkuUdIiBu9xbuettzAzWXmCEcLONNKJRba87WAefz8Ca9d6ds/SzrPc235n1IxWYdhJ2zF3MNUaoQ==}
3658 | peerDependencies:
3659 | react: ^16.11.0 || ^17.0.0 || ^18.0.0
3660 | dependencies:
3661 | react: 18.2.0
3662 | use-sync-external-store: 1.2.0(react@18.2.0)
3663 | dev: false
3664 |
3665 | /swrev@4.0.0:
3666 | resolution: {integrity: sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==}
3667 | dev: false
3668 |
3669 | /swrv@1.0.4(vue@3.3.9):
3670 | resolution: {integrity: sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==}
3671 | peerDependencies:
3672 | vue: '>=3.2.26 < 4'
3673 | dependencies:
3674 | vue: 3.3.9(typescript@5.3.2)
3675 | dev: false
3676 |
3677 | /tailwind-merge@2.0.0:
3678 | resolution: {integrity: sha512-WO8qghn9yhsldLSg80au+3/gY9E4hFxIvQ3qOmlpXnqpDKoMruKfi/56BbbMg6fHTQJ9QD3cc79PoWqlaQE4rw==}
3679 | dependencies:
3680 | '@babel/runtime': 7.23.4
3681 | dev: false
3682 |
3683 | /tailwindcss@3.3.5:
3684 | resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==}
3685 | engines: {node: '>=14.0.0'}
3686 | hasBin: true
3687 | dependencies:
3688 | '@alloc/quick-lru': 5.2.0
3689 | arg: 5.0.2
3690 | chokidar: 3.5.3
3691 | didyoumean: 1.2.2
3692 | dlv: 1.1.3
3693 | fast-glob: 3.3.2
3694 | glob-parent: 6.0.2
3695 | is-glob: 4.0.3
3696 | jiti: 1.21.0
3697 | lilconfig: 2.1.0
3698 | micromatch: 4.0.5
3699 | normalize-path: 3.0.0
3700 | object-hash: 3.0.0
3701 | picocolors: 1.0.0
3702 | postcss: 8.4.31
3703 | postcss-import: 15.1.0(postcss@8.4.31)
3704 | postcss-js: 4.0.1(postcss@8.4.31)
3705 | postcss-load-config: 4.0.2(postcss@8.4.31)
3706 | postcss-nested: 6.0.1(postcss@8.4.31)
3707 | postcss-selector-parser: 6.0.13
3708 | resolve: 1.22.8
3709 | sucrase: 3.34.0
3710 | transitivePeerDependencies:
3711 | - ts-node
3712 | dev: true
3713 |
3714 | /tapable@2.2.1:
3715 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
3716 | engines: {node: '>=6'}
3717 | dev: true
3718 |
3719 | /text-table@0.2.0:
3720 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
3721 | dev: true
3722 |
3723 | /thenify-all@1.6.0:
3724 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
3725 | engines: {node: '>=0.8'}
3726 | dependencies:
3727 | thenify: 3.3.1
3728 | dev: true
3729 |
3730 | /thenify@3.3.1:
3731 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
3732 | dependencies:
3733 | any-promise: 1.3.0
3734 | dev: true
3735 |
3736 | /to-fast-properties@2.0.0:
3737 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
3738 | engines: {node: '>=4'}
3739 | dev: false
3740 |
3741 | /to-gatsby-remark-plugin@0.1.0:
3742 | resolution: {integrity: sha512-blmhJ/gIrytWnWLgPSRCkhCPeki6UBK2daa3k9mGahN7GjwHu8KrS7F70MvwlsG7IE794JLgwAdCbi4hU4faFQ==}
3743 | dependencies:
3744 | to-vfile: 6.1.0
3745 | dev: false
3746 |
3747 | /to-regex-range@5.0.1:
3748 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
3749 | engines: {node: '>=8.0'}
3750 | dependencies:
3751 | is-number: 7.0.0
3752 | dev: true
3753 |
3754 | /to-vfile@6.1.0:
3755 | resolution: {integrity: sha512-BxX8EkCxOAZe+D/ToHdDsJcVI4HqQfmw0tCkp31zf3dNP/XWIAjU4CmeuSwsSoOzOTqHPOL0KUzyZqJplkD0Qw==}
3756 | dependencies:
3757 | is-buffer: 2.0.5
3758 | vfile: 4.2.1
3759 | dev: false
3760 |
3761 | /tr46@0.0.3:
3762 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
3763 | dev: false
3764 |
3765 | /trim-lines@3.0.1:
3766 | resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
3767 | dev: false
3768 |
3769 | /trough@2.1.0:
3770 | resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
3771 | dev: false
3772 |
3773 | /ts-api-utils@1.0.3(typescript@5.3.2):
3774 | resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
3775 | engines: {node: '>=16.13.0'}
3776 | peerDependencies:
3777 | typescript: '>=4.2.0'
3778 | dependencies:
3779 | typescript: 5.3.2
3780 | dev: true
3781 |
3782 | /ts-interface-checker@0.1.13:
3783 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
3784 | dev: true
3785 |
3786 | /tsconfig-paths@3.14.2:
3787 | resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
3788 | dependencies:
3789 | '@types/json5': 0.0.29
3790 | json5: 1.0.2
3791 | minimist: 1.2.8
3792 | strip-bom: 3.0.0
3793 | dev: true
3794 |
3795 | /tslib@2.6.2:
3796 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
3797 | dev: false
3798 |
3799 | /type-check@0.4.0:
3800 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
3801 | engines: {node: '>= 0.8.0'}
3802 | dependencies:
3803 | prelude-ls: 1.2.1
3804 | dev: true
3805 |
3806 | /type-fest@0.20.2:
3807 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
3808 | engines: {node: '>=10'}
3809 | dev: true
3810 |
3811 | /typed-array-buffer@1.0.0:
3812 | resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
3813 | engines: {node: '>= 0.4'}
3814 | dependencies:
3815 | call-bind: 1.0.5
3816 | get-intrinsic: 1.2.2
3817 | is-typed-array: 1.1.12
3818 | dev: true
3819 |
3820 | /typed-array-byte-length@1.0.0:
3821 | resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
3822 | engines: {node: '>= 0.4'}
3823 | dependencies:
3824 | call-bind: 1.0.5
3825 | for-each: 0.3.3
3826 | has-proto: 1.0.1
3827 | is-typed-array: 1.1.12
3828 | dev: true
3829 |
3830 | /typed-array-byte-offset@1.0.0:
3831 | resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
3832 | engines: {node: '>= 0.4'}
3833 | dependencies:
3834 | available-typed-arrays: 1.0.5
3835 | call-bind: 1.0.5
3836 | for-each: 0.3.3
3837 | has-proto: 1.0.1
3838 | is-typed-array: 1.1.12
3839 | dev: true
3840 |
3841 | /typed-array-length@1.0.4:
3842 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
3843 | dependencies:
3844 | call-bind: 1.0.5
3845 | for-each: 0.3.3
3846 | is-typed-array: 1.1.12
3847 | dev: true
3848 |
3849 | /typescript@5.3.2:
3850 | resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==}
3851 | engines: {node: '>=14.17'}
3852 | hasBin: true
3853 |
3854 | /unbox-primitive@1.0.2:
3855 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
3856 | dependencies:
3857 | call-bind: 1.0.5
3858 | has-bigints: 1.0.2
3859 | has-symbols: 1.0.3
3860 | which-boxed-primitive: 1.0.2
3861 | dev: true
3862 |
3863 | /undici-types@5.26.5:
3864 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
3865 |
3866 | /unified@10.1.2:
3867 | resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
3868 | dependencies:
3869 | '@types/unist': 2.0.10
3870 | bail: 2.0.2
3871 | extend: 3.0.2
3872 | is-buffer: 2.0.5
3873 | is-plain-obj: 4.1.0
3874 | trough: 2.1.0
3875 | vfile: 5.3.7
3876 | dev: false
3877 |
3878 | /unist-util-generated@2.0.1:
3879 | resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==}
3880 | dev: false
3881 |
3882 | /unist-util-is@5.2.1:
3883 | resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
3884 | dependencies:
3885 | '@types/unist': 2.0.10
3886 | dev: false
3887 |
3888 | /unist-util-position@4.0.4:
3889 | resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
3890 | dependencies:
3891 | '@types/unist': 2.0.10
3892 | dev: false
3893 |
3894 | /unist-util-stringify-position@2.0.3:
3895 | resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
3896 | dependencies:
3897 | '@types/unist': 2.0.10
3898 | dev: false
3899 |
3900 | /unist-util-stringify-position@3.0.3:
3901 | resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
3902 | dependencies:
3903 | '@types/unist': 2.0.10
3904 | dev: false
3905 |
3906 | /unist-util-visit-parents@5.1.3:
3907 | resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==}
3908 | dependencies:
3909 | '@types/unist': 2.0.10
3910 | unist-util-is: 5.2.1
3911 | dev: false
3912 |
3913 | /unist-util-visit@4.1.2:
3914 | resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
3915 | dependencies:
3916 | '@types/unist': 2.0.10
3917 | unist-util-is: 5.2.1
3918 | unist-util-visit-parents: 5.1.3
3919 | dev: false
3920 |
3921 | /update-browserslist-db@1.0.13(browserslist@4.22.1):
3922 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
3923 | hasBin: true
3924 | peerDependencies:
3925 | browserslist: '>= 4.21.0'
3926 | dependencies:
3927 | browserslist: 4.22.1
3928 | escalade: 3.1.1
3929 | picocolors: 1.0.0
3930 | dev: true
3931 |
3932 | /uri-js@4.4.1:
3933 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
3934 | dependencies:
3935 | punycode: 2.3.1
3936 | dev: true
3937 |
3938 | /use-sync-external-store@1.2.0(react@18.2.0):
3939 | resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
3940 | peerDependencies:
3941 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
3942 | dependencies:
3943 | react: 18.2.0
3944 | dev: false
3945 |
3946 | /util-deprecate@1.0.2:
3947 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
3948 | dev: true
3949 |
3950 | /uvu@0.5.6:
3951 | resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==}
3952 | engines: {node: '>=8'}
3953 | hasBin: true
3954 | dependencies:
3955 | dequal: 2.0.3
3956 | diff: 5.1.0
3957 | kleur: 4.1.5
3958 | sade: 1.8.1
3959 | dev: false
3960 |
3961 | /vfile-message@2.0.4:
3962 | resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==}
3963 | dependencies:
3964 | '@types/unist': 2.0.10
3965 | unist-util-stringify-position: 2.0.3
3966 | dev: false
3967 |
3968 | /vfile-message@3.1.4:
3969 | resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==}
3970 | dependencies:
3971 | '@types/unist': 2.0.10
3972 | unist-util-stringify-position: 3.0.3
3973 | dev: false
3974 |
3975 | /vfile@4.2.1:
3976 | resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==}
3977 | dependencies:
3978 | '@types/unist': 2.0.10
3979 | is-buffer: 2.0.5
3980 | unist-util-stringify-position: 2.0.3
3981 | vfile-message: 2.0.4
3982 | dev: false
3983 |
3984 | /vfile@5.3.7:
3985 | resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==}
3986 | dependencies:
3987 | '@types/unist': 2.0.10
3988 | is-buffer: 2.0.5
3989 | unist-util-stringify-position: 3.0.3
3990 | vfile-message: 3.1.4
3991 | dev: false
3992 |
3993 | /vue@3.3.9(typescript@5.3.2):
3994 | resolution: {integrity: sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==}
3995 | peerDependencies:
3996 | typescript: '*'
3997 | peerDependenciesMeta:
3998 | typescript:
3999 | optional: true
4000 | dependencies:
4001 | '@vue/compiler-dom': 3.3.9
4002 | '@vue/compiler-sfc': 3.3.9
4003 | '@vue/runtime-dom': 3.3.9
4004 | '@vue/server-renderer': 3.3.9(vue@3.3.9)
4005 | '@vue/shared': 3.3.9
4006 | typescript: 5.3.2
4007 | dev: false
4008 |
4009 | /watchpack@2.4.0:
4010 | resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
4011 | engines: {node: '>=10.13.0'}
4012 | dependencies:
4013 | glob-to-regexp: 0.4.1
4014 | graceful-fs: 4.2.11
4015 | dev: false
4016 |
4017 | /web-streams-polyfill@3.2.1:
4018 | resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==}
4019 | engines: {node: '>= 8'}
4020 | dev: false
4021 |
4022 | /web-streams-polyfill@4.0.0-beta.3:
4023 | resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
4024 | engines: {node: '>= 14'}
4025 | dev: false
4026 |
4027 | /webidl-conversions@3.0.1:
4028 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
4029 | dev: false
4030 |
4031 | /whatwg-url@5.0.0:
4032 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
4033 | dependencies:
4034 | tr46: 0.0.3
4035 | webidl-conversions: 3.0.1
4036 | dev: false
4037 |
4038 | /which-boxed-primitive@1.0.2:
4039 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
4040 | dependencies:
4041 | is-bigint: 1.0.4
4042 | is-boolean-object: 1.1.2
4043 | is-number-object: 1.0.7
4044 | is-string: 1.0.7
4045 | is-symbol: 1.0.4
4046 | dev: true
4047 |
4048 | /which-builtin-type@1.1.3:
4049 | resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
4050 | engines: {node: '>= 0.4'}
4051 | dependencies:
4052 | function.prototype.name: 1.1.6
4053 | has-tostringtag: 1.0.0
4054 | is-async-function: 2.0.0
4055 | is-date-object: 1.0.5
4056 | is-finalizationregistry: 1.0.2
4057 | is-generator-function: 1.0.10
4058 | is-regex: 1.1.4
4059 | is-weakref: 1.0.2
4060 | isarray: 2.0.5
4061 | which-boxed-primitive: 1.0.2
4062 | which-collection: 1.0.1
4063 | which-typed-array: 1.1.13
4064 | dev: true
4065 |
4066 | /which-collection@1.0.1:
4067 | resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==}
4068 | dependencies:
4069 | is-map: 2.0.2
4070 | is-set: 2.0.2
4071 | is-weakmap: 2.0.1
4072 | is-weakset: 2.0.2
4073 | dev: true
4074 |
4075 | /which-typed-array@1.1.13:
4076 | resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==}
4077 | engines: {node: '>= 0.4'}
4078 | dependencies:
4079 | available-typed-arrays: 1.0.5
4080 | call-bind: 1.0.5
4081 | for-each: 0.3.3
4082 | gopd: 1.0.1
4083 | has-tostringtag: 1.0.0
4084 | dev: true
4085 |
4086 | /which@2.0.2:
4087 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
4088 | engines: {node: '>= 8'}
4089 | hasBin: true
4090 | dependencies:
4091 | isexe: 2.0.0
4092 | dev: true
4093 |
4094 | /wrappy@1.0.2:
4095 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
4096 | dev: true
4097 |
4098 | /xtend@4.0.2:
4099 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
4100 | engines: {node: '>=0.4'}
4101 | dev: false
4102 |
4103 | /yallist@4.0.0:
4104 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
4105 | dev: true
4106 |
4107 | /yaml@2.3.4:
4108 | resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
4109 | engines: {node: '>= 14'}
4110 | dev: true
4111 |
4112 | /yocto-queue@0.1.0:
4113 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
4114 | engines: {node: '>=10'}
4115 | dev: true
4116 |
4117 | /zwitch@2.0.4:
4118 | resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
4119 | dev: false
4120 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | };
7 |
--------------------------------------------------------------------------------
/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcusschiesser/ai-chatbot/491fdd0dca772580ff8263538aaf01d8f363b29c/public/apple-touch-icon.png
--------------------------------------------------------------------------------
/public/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcusschiesser/ai-chatbot/491fdd0dca772580ff8263538aaf01d8f363b29c/public/favicon-16x16.png
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcusschiesser/ai-chatbot/491fdd0dca772580ff8263538aaf01d8f363b29c/public/favicon.ico
--------------------------------------------------------------------------------
/public/next.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/opengraph-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcusschiesser/ai-chatbot/491fdd0dca772580ff8263538aaf01d8f363b29c/public/opengraph-image.png
--------------------------------------------------------------------------------
/public/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/marcusschiesser/ai-chatbot/491fdd0dca772580ff8263538aaf01d8f363b29c/public/screenshot.png
--------------------------------------------------------------------------------
/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tailwind.config.ts:
--------------------------------------------------------------------------------
1 | import type { Config } from "tailwindcss";
2 | import { fontFamily } from "tailwindcss/defaultTheme";
3 |
4 | const config: Config = {
5 | darkMode: ["class"],
6 | content: ["app/**/*.{ts,tsx}", "components/**/*.{ts,tsx}"],
7 | theme: {
8 | container: {
9 | center: true,
10 | padding: "2rem",
11 | screens: {
12 | "2xl": "1400px",
13 | },
14 | },
15 | extend: {
16 | colors: {
17 | border: "hsl(var(--border))",
18 | input: "hsl(var(--input))",
19 | ring: "hsl(var(--ring))",
20 | background: "hsl(var(--background))",
21 | foreground: "hsl(var(--foreground))",
22 | primary: {
23 | DEFAULT: "hsl(var(--primary))",
24 | foreground: "hsl(var(--primary-foreground))",
25 | },
26 | secondary: {
27 | DEFAULT: "hsl(var(--secondary))",
28 | foreground: "hsl(var(--secondary-foreground))",
29 | },
30 | destructive: {
31 | DEFAULT: "hsl(var(--destructive) / )",
32 | foreground: "hsl(var(--destructive-foreground) / )",
33 | },
34 | muted: {
35 | DEFAULT: "hsl(var(--muted))",
36 | foreground: "hsl(var(--muted-foreground))",
37 | },
38 | accent: {
39 | DEFAULT: "hsl(var(--accent))",
40 | foreground: "hsl(var(--accent-foreground))",
41 | },
42 | popover: {
43 | DEFAULT: "hsl(var(--popover))",
44 | foreground: "hsl(var(--popover-foreground))",
45 | },
46 | card: {
47 | DEFAULT: "hsl(var(--card))",
48 | foreground: "hsl(var(--card-foreground))",
49 | },
50 | },
51 | borderRadius: {
52 | xl: `calc(var(--radius) + 4px)`,
53 | lg: `var(--radius)`,
54 | md: `calc(var(--radius) - 2px)`,
55 | sm: "calc(var(--radius) - 4px)",
56 | },
57 | fontFamily: {
58 | sans: ["var(--font-sans)", ...fontFamily.sans],
59 | },
60 | keyframes: {
61 | "accordion-down": {
62 | from: { height: "0" },
63 | to: { height: "var(--radix-accordion-content-height)" },
64 | },
65 | "accordion-up": {
66 | from: { height: "var(--radix-accordion-content-height)" },
67 | to: { height: "0" },
68 | },
69 | },
70 | animation: {
71 | "accordion-down": "accordion-down 0.2s ease-out",
72 | "accordion-up": "accordion-up 0.2s ease-out",
73 | },
74 | },
75 | },
76 | plugins: [],
77 | };
78 | export default config;
79 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "lib": ["dom", "dom.iterable", "esnext"],
4 | "allowJs": true,
5 | "skipLibCheck": true,
6 | "strict": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "noEmit": true,
9 | "incremental": true,
10 | "esModuleInterop": true,
11 | "module": "esnext",
12 | "moduleResolution": "node",
13 | "resolveJsonModule": true,
14 | "isolatedModules": true,
15 | "jsx": "preserve",
16 | "baseUrl": ".",
17 | "paths": {
18 | "@/*": ["./*"]
19 | },
20 | "plugins": [
21 | {
22 | "name": "next"
23 | }
24 | ],
25 | "strictNullChecks": true
26 | },
27 | "include": [
28 | "next-env.d.ts",
29 | "next-auth.d.ts",
30 | "**/*.ts",
31 | "**/*.tsx",
32 | ".next/types/**/*.ts"
33 | ],
34 | "exclude": ["node_modules"]
35 | }
--------------------------------------------------------------------------------