├── .gitignore ├── server ├── .env.example ├── .gitignore ├── tsconfig.json ├── package.json ├── index.ts └── pnpm-lock.yaml ├── client ├── .env.example ├── .eslintrc.json ├── src │ ├── app │ │ ├── favicon.ico │ │ ├── layout.tsx │ │ ├── [topic] │ │ │ ├── page.tsx │ │ │ └── ClientPage.tsx │ │ ├── actions.ts │ │ ├── globals.css │ │ └── page.tsx │ ├── lib │ │ ├── redis.ts │ │ └── utils.ts │ └── components │ │ ├── Providers.tsx │ │ ├── MaxWidthWrapper.tsx │ │ ├── ui │ │ ├── label.tsx │ │ ├── input.tsx │ │ └── button.tsx │ │ ├── TopicCreator.tsx │ │ └── Icons.tsx ├── next.config.mjs ├── postcss.config.mjs ├── components.json ├── .gitignore ├── public │ ├── vercel.svg │ └── next.svg ├── tsconfig.json ├── package.json ├── README.md ├── tailwind.config.ts └── pnpm-lock.yaml └── COPYPASTE_LIST.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /server/.env.example: -------------------------------------------------------------------------------- 1 | REDIS_CONNECTION_STRING= -------------------------------------------------------------------------------- /server/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .env 4 | .DS_Store -------------------------------------------------------------------------------- /client/.env.example: -------------------------------------------------------------------------------- 1 | UPSTASH_REDIS_REST_URL= 2 | UPSTASH_REDIS_REST_TOKEN= -------------------------------------------------------------------------------- /client/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /client/src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joschan21/scalable-realtime/HEAD/client/src/app/favicon.ico -------------------------------------------------------------------------------- /client/next.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: false, 4 | } 5 | 6 | export default nextConfig 7 | -------------------------------------------------------------------------------- /client/postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | tailwindcss: {}, 5 | }, 6 | }; 7 | 8 | export default config; 9 | -------------------------------------------------------------------------------- /client/src/lib/redis.ts: -------------------------------------------------------------------------------- 1 | import { Redis } from "@upstash/redis" 2 | 3 | export const redis = new Redis({ 4 | url: process.env.UPSTASH_REDIS_REST_URL, 5 | token: process.env.UPSTASH_REDIS_REST_TOKEN, 6 | }) 7 | -------------------------------------------------------------------------------- /client/src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { type ClassValue, clsx } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /client/src/components/Providers.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import { QueryClient, QueryClientProvider } from "@tanstack/react-query" 4 | import { ReactNode } from "react" 5 | 6 | const client = new QueryClient() 7 | 8 | const Providers = ({ children }: { children: ReactNode }) => { 9 | return {children} 10 | } 11 | 12 | export default Providers 13 | -------------------------------------------------------------------------------- /client/components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "new-york", 4 | "rsc": true, 5 | "tsx": true, 6 | "tailwind": { 7 | "config": "tailwind.config.ts", 8 | "css": "src/app/globals.css", 9 | "baseColor": "zinc", 10 | "cssVariables": true, 11 | "prefix": "" 12 | }, 13 | "aliases": { 14 | "components": "@/components", 15 | "utils": "@/lib/utils" 16 | } 17 | } -------------------------------------------------------------------------------- /server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "moduleResolution": "node", 5 | "pretty": true, 6 | "resolveJsonModule": true, 7 | "esModuleInterop": true, 8 | "allowSyntheticDefaultImports": true, 9 | "sourceMap": true, 10 | "target": "es2017", 11 | "outDir": "./dist", 12 | "baseUrl": "./lib", 13 | "lib": ["es2017", "dom", "esnext"] 14 | }, 15 | "include": ["**/*.ts"], 16 | "exclude": ["node_modules"] 17 | } -------------------------------------------------------------------------------- /client/src/components/MaxWidthWrapper.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils" 2 | import { ReactNode } from "react" 3 | 4 | const MaxWidthWrapper = ({ 5 | className, 6 | children, 7 | }: { 8 | className?: string 9 | children: ReactNode 10 | }) => { 11 | return ( 12 |
18 | {children} 19 |
20 | ) 21 | } 22 | 23 | export default MaxWidthWrapper 24 | -------------------------------------------------------------------------------- /server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "server", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "dev": "tsx watch index" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "cors": "^2.8.5", 14 | "dotenv": "^16.4.5", 15 | "express": "^4.19.2", 16 | "ioredis": "^5.4.1", 17 | "socket.io": "^4.7.5" 18 | }, 19 | "devDependencies": { 20 | "@types/express": "^4.17.21", 21 | "@types/node": "^20.12.12", 22 | "tsx": "^4.10.5" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /client/.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 | .yarn/install-state.gz 8 | 9 | # testing 10 | /coverage 11 | 12 | # next.js 13 | /.next/ 14 | /out/ 15 | 16 | # production 17 | /build 18 | 19 | # misc 20 | .DS_Store 21 | *.pem 22 | 23 | # debug 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # local env files 29 | .env*.local 30 | .env 31 | 32 | # vercel 33 | .vercel 34 | 35 | # typescript 36 | *.tsbuildinfo 37 | next-env.d.ts 38 | -------------------------------------------------------------------------------- /client/public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next" 2 | import { Inter } from "next/font/google" 3 | import "./globals.css" 4 | import Providers from "@/components/Providers" 5 | 6 | const inter = Inter({ subsets: ["latin"] }) 7 | 8 | export const metadata: Metadata = { 9 | title: "WhatDoYouThink", 10 | description: "Generated by create next app", 11 | } 12 | 13 | export default function RootLayout({ 14 | children, 15 | }: Readonly<{ 16 | children: React.ReactNode 17 | }>) { 18 | return ( 19 | 20 | 21 | {children} 22 | 23 | 24 | ) 25 | } 26 | -------------------------------------------------------------------------------- /client/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["dom", "dom.iterable", "esnext"], 4 | "allowJs": true, 5 | "skipLibCheck": true, 6 | "strict": true, 7 | "noEmit": true, 8 | "esModuleInterop": true, 9 | "module": "esnext", 10 | "moduleResolution": "bundler", 11 | "resolveJsonModule": true, 12 | "isolatedModules": true, 13 | "jsx": "preserve", 14 | "incremental": true, 15 | "plugins": [ 16 | { 17 | "name": "next" 18 | } 19 | ], 20 | "paths": { 21 | "@/*": ["./src/*"] 22 | } 23 | }, 24 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 25 | "exclude": ["node_modules"] 26 | } 27 | -------------------------------------------------------------------------------- /client/src/components/ui/label.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import * as LabelPrimitive from "@radix-ui/react-label" 5 | import { cva, type VariantProps } from "class-variance-authority" 6 | 7 | import { cn } from "@/lib/utils" 8 | 9 | const labelVariants = cva( 10 | "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" 11 | ) 12 | 13 | const Label = React.forwardRef< 14 | React.ElementRef, 15 | React.ComponentPropsWithoutRef & 16 | VariantProps 17 | >(({ className, ...props }, ref) => ( 18 | 23 | )) 24 | Label.displayName = LabelPrimitive.Root.displayName 25 | 26 | export { Label } 27 | -------------------------------------------------------------------------------- /client/src/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 | -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "client", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@radix-ui/react-icons": "^1.3.0", 13 | "@radix-ui/react-label": "^2.0.2", 14 | "@radix-ui/react-slot": "^1.0.2", 15 | "class-variance-authority": "^0.7.0", 16 | "clsx": "^2.1.1", 17 | "next": "14.2.3", 18 | "react": "^18", 19 | "react-dom": "^18", 20 | "socket.io-client": "^4.7.5", 21 | "tailwind-merge": "^2.3.0", 22 | "tailwindcss-animate": "^1.0.7" 23 | }, 24 | "devDependencies": { 25 | "@types/node": "^20", 26 | "@types/react": "^18", 27 | "@types/react-dom": "^18", 28 | "eslint": "^8", 29 | "eslint-config-next": "14.2.3", 30 | "postcss": "^8", 31 | "tailwindcss": "^3.4.1", 32 | "typescript": "^5" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /client/src/app/[topic]/page.tsx: -------------------------------------------------------------------------------- 1 | // /anything 2 | 3 | import { redis } from "@/lib/redis" 4 | import ClientPage from "./ClientPage" 5 | 6 | interface PageProps { 7 | params: { 8 | topic: string 9 | } 10 | } 11 | 12 | const Page = async ({ params }: PageProps) => { 13 | const { topic } = params 14 | 15 | // [redis, 3, is, 2, great, 6] 16 | const initialData = await redis.zrange<(string | number)[]>( 17 | `room:${topic}`, 18 | 0, 19 | 49, 20 | { 21 | withScores: true, 22 | } 23 | ) 24 | 25 | const words: { text: string; value: number }[] = [] 26 | 27 | for (let i = 0; i < initialData.length; i++) { 28 | const [text, value] = initialData.slice(i, i + 2) 29 | 30 | if (typeof text === "string" && typeof value === "number") { 31 | words.push({ text, value }) 32 | } 33 | } 34 | 35 | await redis.incr("served-requests") 36 | 37 | return 38 | } 39 | 40 | export default Page 41 | -------------------------------------------------------------------------------- /client/src/components/TopicCreator.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import { useState } from "react" 4 | import { Button } from "./ui/button" 5 | import { Input } from "./ui/input" 6 | import { useMutation } from "@tanstack/react-query" 7 | import { createTopic } from "@/app/actions" 8 | 9 | const TopicCreator = () => { 10 | const [input, setInput] = useState("") 11 | 12 | const { mutate, error, isPending } = useMutation({ 13 | mutationFn: createTopic, 14 | }) 15 | 16 | return ( 17 |
18 |
19 | setInput(target.value)} 22 | className="bg-white min-w-64" 23 | placeholder="Enter topic here..." 24 | /> 25 | 31 |
32 | 33 | {error ?

{error.message}

: null} 34 |
35 | ) 36 | } 37 | 38 | export default TopicCreator 39 | -------------------------------------------------------------------------------- /client/public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/README.md: -------------------------------------------------------------------------------- 1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). 2 | 3 | ## Getting Started 4 | 5 | First, run the development server: 6 | 7 | ```bash 8 | npm run dev 9 | # or 10 | yarn dev 11 | # or 12 | pnpm dev 13 | # or 14 | bun dev 15 | ``` 16 | 17 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 18 | 19 | You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. 20 | 21 | This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. 22 | 23 | ## Learn More 24 | 25 | To learn more about Next.js, take a look at the following resources: 26 | 27 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 28 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 29 | 30 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! 31 | 32 | ## Deploy on Vercel 33 | 34 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. 35 | 36 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. 37 | -------------------------------------------------------------------------------- /client/src/app/actions.ts: -------------------------------------------------------------------------------- 1 | "use server" 2 | 3 | import { redis } from "@/lib/redis" 4 | import { redirect } from "next/navigation" 5 | 6 | export const createTopic = async ({ topicName }: { topicName: string }) => { 7 | const regex = /^[a-zA-Z-]+$/ 8 | 9 | if (!topicName || topicName.length > 50) { 10 | return { error: "Name must be between 1 and 50 chars" } 11 | } 12 | 13 | if (!regex.test(topicName)) { 14 | return { error: "Only letters and hyphens allowed in name" } 15 | } 16 | 17 | await redis.sadd("existing-topics", topicName) 18 | 19 | // redirect -> localhost:3000/redis 20 | redirect(`/${topicName}`) 21 | } 22 | 23 | // hello -> 1 24 | // world -> 2 25 | function wordFreq(text: string): { text: string; value: number }[] { 26 | const words: string[] = text.replace(/\./g, "").split(/\s/) 27 | const freqMap: Record = {} 28 | 29 | for (const w of words) { 30 | if (!freqMap[w]) freqMap[w] = 0 31 | freqMap[w] += 1 32 | } 33 | return Object.keys(freqMap).map((word) => ({ 34 | text: word, 35 | value: freqMap[word], 36 | })) 37 | } 38 | 39 | export const submitComment = async ({ 40 | comment, 41 | topicName, 42 | }: { 43 | comment: string 44 | topicName: string 45 | }) => { 46 | const words = wordFreq(comment) 47 | 48 | await Promise.all( 49 | words.map(async (word) => { 50 | await redis.zadd( 51 | `room:${topicName}`, 52 | { incr: true }, 53 | { member: word.text, score: word.value } 54 | ) 55 | }) 56 | ) 57 | 58 | await redis.incr("served-requests") 59 | 60 | await redis.publish(`room:${topicName}`, words) 61 | 62 | return comment 63 | } 64 | -------------------------------------------------------------------------------- /client/src/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: 240 10% 3.9%; 9 | 10 | --card: 0 0% 100%; 11 | --card-foreground: 240 10% 3.9%; 12 | 13 | --popover: 0 0% 100%; 14 | --popover-foreground: 240 10% 3.9%; 15 | 16 | --primary: 240 5.9% 10%; 17 | --primary-foreground: 0 0% 98%; 18 | 19 | --secondary: 240 4.8% 95.9%; 20 | --secondary-foreground: 240 5.9% 10%; 21 | 22 | --muted: 240 4.8% 95.9%; 23 | --muted-foreground: 240 3.8% 46.1%; 24 | 25 | --accent: 240 4.8% 95.9%; 26 | --accent-foreground: 240 5.9% 10%; 27 | 28 | --destructive: 0 84.2% 60.2%; 29 | --destructive-foreground: 0 0% 98%; 30 | 31 | --border: 240 5.9% 90%; 32 | --input: 240 5.9% 90%; 33 | --ring: 240 10% 3.9%; 34 | 35 | --radius: 0.5rem; 36 | } 37 | 38 | .dark { 39 | --background: 240 10% 3.9%; 40 | --foreground: 0 0% 98%; 41 | 42 | --card: 240 10% 3.9%; 43 | --card-foreground: 0 0% 98%; 44 | 45 | --popover: 240 10% 3.9%; 46 | --popover-foreground: 0 0% 98%; 47 | 48 | --primary: 0 0% 98%; 49 | --primary-foreground: 240 5.9% 10%; 50 | 51 | --secondary: 240 3.7% 15.9%; 52 | --secondary-foreground: 0 0% 98%; 53 | 54 | --muted: 240 3.7% 15.9%; 55 | --muted-foreground: 240 5% 64.9%; 56 | 57 | --accent: 240 3.7% 15.9%; 58 | --accent-foreground: 0 0% 98%; 59 | 60 | --destructive: 0 62.8% 30.6%; 61 | --destructive-foreground: 0 0% 98%; 62 | 63 | --border: 240 3.7% 15.9%; 64 | --input: 240 3.7% 15.9%; 65 | --ring: 240 4.9% 83.9%; 66 | } 67 | } 68 | 69 | @layer base { 70 | * { 71 | @apply border-border; 72 | } 73 | body { 74 | @apply bg-background text-foreground; 75 | } 76 | } -------------------------------------------------------------------------------- /client/src/components/ui/button.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { Slot } from "@radix-ui/react-slot" 3 | import { cva, type VariantProps } from "class-variance-authority" 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 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", 9 | { 10 | variants: { 11 | variant: { 12 | default: 13 | "bg-primary text-primary-foreground shadow hover:bg-primary/90", 14 | destructive: 15 | "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", 16 | outline: 17 | "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", 18 | secondary: 19 | "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", 20 | ghost: "hover:bg-accent hover:text-accent-foreground", 21 | link: "text-primary underline-offset-4 hover:underline", 22 | }, 23 | size: { 24 | default: "h-9 px-4 py-2", 25 | sm: "h-8 rounded-md px-3 text-xs", 26 | lg: "h-10 rounded-md px-8", 27 | icon: "h-9 w-9", 28 | }, 29 | }, 30 | defaultVariants: { 31 | variant: "default", 32 | size: "default", 33 | }, 34 | } 35 | ) 36 | 37 | export interface ButtonProps 38 | extends React.ButtonHTMLAttributes, 39 | VariantProps { 40 | asChild?: boolean 41 | } 42 | 43 | const Button = React.forwardRef( 44 | ({ className, variant, size, asChild = false, ...props }, ref) => { 45 | const Comp = asChild ? Slot : "button" 46 | return ( 47 | 52 | ) 53 | } 54 | ) 55 | Button.displayName = "Button" 56 | 57 | export { Button, buttonVariants } 58 | -------------------------------------------------------------------------------- /client/src/app/page.tsx: -------------------------------------------------------------------------------- 1 | import { Icons } from "@/components/Icons" 2 | import MaxWidthWrapper from "@/components/MaxWidthWrapper" 3 | import TopicCreator from "@/components/TopicCreator" 4 | import { redis } from "@/lib/redis" 5 | import { Star } from "lucide-react" 6 | 7 | export default async function Home() { 8 | const servedRequests = await redis.get("served-requests") 9 | 10 | return ( 11 |
12 | 13 |
14 | {/* circle */} 15 |
16 | 17 |
18 |
19 |

20 | What do you{" "} 21 | 22 | th 23 | 24 | i 25 | 26 | 27 | 28 | 29 | nk 30 | {" "} 31 | about... 32 |

33 | 34 | 35 | 36 |
37 |
38 |
39 | 40 | 41 | 42 | 43 | 44 |
45 | 46 |

47 | 48 | {Math.ceil(Number(servedRequests) / 10) * 10} 49 | {" "} 50 | served requests 51 |

52 |
53 |
54 |
55 |
56 |
57 |
58 | ) 59 | } 60 | -------------------------------------------------------------------------------- /server/index.ts: -------------------------------------------------------------------------------- 1 | import express from "express" 2 | import cors from "cors" 3 | import http from "http" 4 | import { Server } from "socket.io" 5 | import { Redis } from "ioredis" 6 | import "dotenv/config" 7 | 8 | const app = express() 9 | app.use(cors()) 10 | 11 | const redis = new Redis(process.env.REDIS_CONNECTION_STRING) 12 | const subRedis = new Redis(process.env.REDIS_CONNECTION_STRING) 13 | 14 | const server = http.createServer(app) 15 | const io = new Server(server, { 16 | cors: { 17 | origin: ["http://localhost:3000"], 18 | methods: ["GET", "POST"], 19 | credentials: true, 20 | }, 21 | }) 22 | 23 | subRedis.on("message", (channel, message) => { 24 | io.to(channel).emit("room-update", message) 25 | }) 26 | 27 | subRedis.on("error", (err) => { 28 | console.error("Redis subscription error", err) 29 | }) 30 | 31 | io.on("connection", async (socket) => { 32 | const { id } = socket 33 | 34 | socket.on("join-room", async (room: string) => { 35 | console.log("User joined room:", room) 36 | 37 | const subscribedRooms = await redis.smembers("subscribed-rooms") 38 | await socket.join(room) 39 | await redis.sadd(`rooms:${id}`, room) 40 | await redis.hincrby("room-connections", room, 1) 41 | 42 | if (!subscribedRooms.includes(room)) { 43 | subRedis.subscribe(room, async (err) => { 44 | if (err) { 45 | console.error("Failed to subscribe:", err) 46 | } else { 47 | await redis.sadd("subscribed-rooms", room) 48 | 49 | console.log("Subscribed to room:", room) 50 | } 51 | }) 52 | } 53 | }) 54 | 55 | socket.on("disconnect", async () => { 56 | const { id } = socket 57 | 58 | const joinedRooms = await redis.smembers(`rooms:${id}`) 59 | await redis.del(`rooms:${id}`) 60 | 61 | joinedRooms.forEach(async (room) => { 62 | const remainingConnections = await redis.hincrby( 63 | `room-connections`, 64 | room, 65 | -1 66 | ) 67 | 68 | if (remainingConnections <= 0) { 69 | await redis.hdel(`room-connections`, room) 70 | 71 | subRedis.unsubscribe(room, async (err) => { 72 | if (err) { 73 | console.error("Failed to unsubscribe", err) 74 | } else { 75 | await redis.srem("subscribed-rooms", room) 76 | 77 | console.log("Unsubscribed from room:", room) 78 | } 79 | }) 80 | } 81 | }) 82 | }) 83 | }) 84 | 85 | const PORT = process.env.PORT || 8080 86 | 87 | server.listen(PORT, () => { 88 | console.log(`Server is listening on port: ${PORT}`) 89 | }) 90 | -------------------------------------------------------------------------------- /client/tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "tailwindcss" 2 | const svgToDataUri = require("mini-svg-data-uri") 3 | 4 | const { 5 | default: flattenColorPalette, 6 | } = require("tailwindcss/lib/util/flattenColorPalette") 7 | 8 | 9 | const config = { 10 | darkMode: ["class"], 11 | content: [ 12 | "./pages/**/*.{ts,tsx}", 13 | "./components/**/*.{ts,tsx}", 14 | "./app/**/*.{ts,tsx}", 15 | "./src/**/*.{ts,tsx}", 16 | ], 17 | prefix: "", 18 | theme: { 19 | container: { 20 | center: true, 21 | padding: "2rem", 22 | screens: { 23 | "2xl": "1400px", 24 | }, 25 | }, 26 | extend: { 27 | colors: { 28 | border: "hsl(var(--border))", 29 | input: "hsl(var(--input))", 30 | ring: "hsl(var(--ring))", 31 | background: "hsl(var(--background))", 32 | foreground: "hsl(var(--foreground))", 33 | primary: { 34 | DEFAULT: "hsl(var(--primary))", 35 | foreground: "hsl(var(--primary-foreground))", 36 | }, 37 | secondary: { 38 | DEFAULT: "hsl(var(--secondary))", 39 | foreground: "hsl(var(--secondary-foreground))", 40 | }, 41 | destructive: { 42 | DEFAULT: "hsl(var(--destructive))", 43 | foreground: "hsl(var(--destructive-foreground))", 44 | }, 45 | muted: { 46 | DEFAULT: "hsl(var(--muted))", 47 | foreground: "hsl(var(--muted-foreground))", 48 | }, 49 | accent: { 50 | DEFAULT: "hsl(var(--accent))", 51 | foreground: "hsl(var(--accent-foreground))", 52 | }, 53 | popover: { 54 | DEFAULT: "hsl(var(--popover))", 55 | foreground: "hsl(var(--popover-foreground))", 56 | }, 57 | card: { 58 | DEFAULT: "hsl(var(--card))", 59 | foreground: "hsl(var(--card-foreground))", 60 | }, 61 | }, 62 | borderRadius: { 63 | lg: "var(--radius)", 64 | md: "calc(var(--radius) - 2px)", 65 | sm: "calc(var(--radius) - 4px)", 66 | }, 67 | keyframes: { 68 | "accordion-down": { 69 | from: { height: "0" }, 70 | to: { height: "var(--radix-accordion-content-height)" }, 71 | }, 72 | "accordion-up": { 73 | from: { height: "var(--radix-accordion-content-height)" }, 74 | to: { height: "0" }, 75 | }, 76 | }, 77 | animation: { 78 | "accordion-down": "accordion-down 0.2s ease-out", 79 | "accordion-up": "accordion-up 0.2s ease-out", 80 | }, 81 | }, 82 | }, 83 | plugins: [ 84 | require("tailwindcss-animate"), 85 | function ({ matchUtilities, theme }: any) { 86 | matchUtilities( 87 | { 88 | "bg-grid": (value: any) => ({ 89 | backgroundImage: `url("${svgToDataUri( 90 | `` 91 | )}")`, 92 | }), 93 | }, 94 | { values: flattenColorPalette(theme("backgroundColor")), type: "color" } 95 | ) 96 | }, 97 | ], 98 | } satisfies Config 99 | 100 | export default config 101 | -------------------------------------------------------------------------------- /COPYPASTE_LIST.md: -------------------------------------------------------------------------------- 1 | ## Brain icon 2 | 3 | ``` 4 | 5 | 9 | 13 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | ``` 29 | 30 | ## Pattern background svg 31 | 32 | ``` 33 | `url("${svgToDataUri( 34 | `` 35 | ``` 36 | -------------------------------------------------------------------------------- /client/src/components/Icons.tsx: -------------------------------------------------------------------------------- 1 | import { HTMLAttributes } from "react" 2 | 3 | export const Icons = { 4 | brain: (props: HTMLAttributes) => { 5 | return ( 6 | 7 | 11 | 15 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | ) 31 | }, 32 | } 33 | -------------------------------------------------------------------------------- /client/src/app/[topic]/ClientPage.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import MaxWidthWrapper from "@/components/MaxWidthWrapper" 4 | import { useEffect, useState } from "react" 5 | import { Wordcloud } from "@visx/wordcloud" 6 | import { scaleLog } from "@visx/scale" 7 | import { Text } from "@visx/text" 8 | import { Label } from "@/components/ui/label" 9 | import { Input } from "@/components/ui/input" 10 | import { Button } from "@/components/ui/button" 11 | import { useMutation } from "@tanstack/react-query" 12 | import { submitComment } from "../actions" 13 | import { io } from "socket.io-client" 14 | 15 | const socket = io("http://localhost:8080") 16 | 17 | interface ClientPageProps { 18 | topicName: string 19 | initialData: { text: string; value: number }[] 20 | } 21 | 22 | const COLORS = ["#143059", "#2F6B9A", "#82a6c2"] 23 | 24 | const ClientPage = ({ topicName, initialData }: ClientPageProps) => { 25 | const [words, setWords] = useState(initialData) 26 | const [input, setInput] = useState("") 27 | 28 | useEffect(() => { 29 | socket.emit("join-room", `room:${topicName}`) 30 | }, []) 31 | 32 | useEffect(() => { 33 | socket.on("room-update", (message: string) => { 34 | const data = JSON.parse(message) as { 35 | text: string 36 | value: number 37 | }[] 38 | 39 | data.map((newWord) => { 40 | const isWordAlreadyIncluded = words.some( 41 | (word) => word.text === newWord.text 42 | ) 43 | 44 | if (isWordAlreadyIncluded) { 45 | // increment 46 | setWords((prev) => { 47 | const before = prev.find((word) => word.text === newWord.text) 48 | const rest = prev.filter((word) => word.text !== newWord.text) 49 | 50 | return [ 51 | ...rest, 52 | { text: before!.text, value: before!.value + newWord.value }, 53 | ] 54 | }) 55 | } else if (words.length < 50) { 56 | // add to state 57 | setWords((prev) => [...prev, newWord]) 58 | } 59 | }) 60 | }) 61 | 62 | return () => { 63 | socket.off("room-update") 64 | } 65 | }, [words]) 66 | 67 | const fontScale = scaleLog({ 68 | domain: [ 69 | Math.min(...words.map((w) => w.value)), 70 | Math.max(...words.map((w) => w.value)), 71 | ], 72 | range: [10, 100], 73 | }) 74 | 75 | const { mutate, isPending } = useMutation({ 76 | mutationFn: submitComment, 77 | }) 78 | 79 | return ( 80 |
81 | 82 |

83 | What people think about{" "} 84 | {topicName}: 85 |

86 | 87 |

(updated in real-time)

88 | 89 |
90 | fontScale(data.value)} 95 | font={"Impact"} 96 | padding={2} 97 | spiral="archimedean" 98 | rotate={0} 99 | random={() => 0.5} 100 | > 101 | {(cloudWords) => 102 | cloudWords.map((w, i) => ( 103 | 111 | {w.text} 112 | 113 | )) 114 | } 115 | 116 |
117 | 118 |
119 | 122 |
123 | setInput(target.value)} 126 | placeholder={`${topicName} is absolutely...`} 127 | /> 128 | 134 |
135 |
136 |
137 |
138 | ) 139 | } 140 | 141 | export default ClientPage 142 | -------------------------------------------------------------------------------- /server/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | cors: 12 | specifier: ^2.8.5 13 | version: 2.8.5 14 | dotenv: 15 | specifier: ^16.4.5 16 | version: 16.4.5 17 | express: 18 | specifier: ^4.19.2 19 | version: 4.19.2 20 | ioredis: 21 | specifier: ^5.4.1 22 | version: 5.4.1 23 | socket.io: 24 | specifier: ^4.7.5 25 | version: 4.7.5 26 | devDependencies: 27 | '@types/express': 28 | specifier: ^4.17.21 29 | version: 4.17.21 30 | '@types/node': 31 | specifier: ^20.12.12 32 | version: 20.12.12 33 | tsx: 34 | specifier: ^4.10.5 35 | version: 4.10.5 36 | 37 | packages: 38 | 39 | '@esbuild/aix-ppc64@0.20.2': 40 | resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} 41 | engines: {node: '>=12'} 42 | cpu: [ppc64] 43 | os: [aix] 44 | 45 | '@esbuild/android-arm64@0.20.2': 46 | resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} 47 | engines: {node: '>=12'} 48 | cpu: [arm64] 49 | os: [android] 50 | 51 | '@esbuild/android-arm@0.20.2': 52 | resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} 53 | engines: {node: '>=12'} 54 | cpu: [arm] 55 | os: [android] 56 | 57 | '@esbuild/android-x64@0.20.2': 58 | resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} 59 | engines: {node: '>=12'} 60 | cpu: [x64] 61 | os: [android] 62 | 63 | '@esbuild/darwin-arm64@0.20.2': 64 | resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} 65 | engines: {node: '>=12'} 66 | cpu: [arm64] 67 | os: [darwin] 68 | 69 | '@esbuild/darwin-x64@0.20.2': 70 | resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} 71 | engines: {node: '>=12'} 72 | cpu: [x64] 73 | os: [darwin] 74 | 75 | '@esbuild/freebsd-arm64@0.20.2': 76 | resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} 77 | engines: {node: '>=12'} 78 | cpu: [arm64] 79 | os: [freebsd] 80 | 81 | '@esbuild/freebsd-x64@0.20.2': 82 | resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} 83 | engines: {node: '>=12'} 84 | cpu: [x64] 85 | os: [freebsd] 86 | 87 | '@esbuild/linux-arm64@0.20.2': 88 | resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} 89 | engines: {node: '>=12'} 90 | cpu: [arm64] 91 | os: [linux] 92 | 93 | '@esbuild/linux-arm@0.20.2': 94 | resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} 95 | engines: {node: '>=12'} 96 | cpu: [arm] 97 | os: [linux] 98 | 99 | '@esbuild/linux-ia32@0.20.2': 100 | resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} 101 | engines: {node: '>=12'} 102 | cpu: [ia32] 103 | os: [linux] 104 | 105 | '@esbuild/linux-loong64@0.20.2': 106 | resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} 107 | engines: {node: '>=12'} 108 | cpu: [loong64] 109 | os: [linux] 110 | 111 | '@esbuild/linux-mips64el@0.20.2': 112 | resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} 113 | engines: {node: '>=12'} 114 | cpu: [mips64el] 115 | os: [linux] 116 | 117 | '@esbuild/linux-ppc64@0.20.2': 118 | resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} 119 | engines: {node: '>=12'} 120 | cpu: [ppc64] 121 | os: [linux] 122 | 123 | '@esbuild/linux-riscv64@0.20.2': 124 | resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} 125 | engines: {node: '>=12'} 126 | cpu: [riscv64] 127 | os: [linux] 128 | 129 | '@esbuild/linux-s390x@0.20.2': 130 | resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} 131 | engines: {node: '>=12'} 132 | cpu: [s390x] 133 | os: [linux] 134 | 135 | '@esbuild/linux-x64@0.20.2': 136 | resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} 137 | engines: {node: '>=12'} 138 | cpu: [x64] 139 | os: [linux] 140 | 141 | '@esbuild/netbsd-x64@0.20.2': 142 | resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} 143 | engines: {node: '>=12'} 144 | cpu: [x64] 145 | os: [netbsd] 146 | 147 | '@esbuild/openbsd-x64@0.20.2': 148 | resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} 149 | engines: {node: '>=12'} 150 | cpu: [x64] 151 | os: [openbsd] 152 | 153 | '@esbuild/sunos-x64@0.20.2': 154 | resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} 155 | engines: {node: '>=12'} 156 | cpu: [x64] 157 | os: [sunos] 158 | 159 | '@esbuild/win32-arm64@0.20.2': 160 | resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} 161 | engines: {node: '>=12'} 162 | cpu: [arm64] 163 | os: [win32] 164 | 165 | '@esbuild/win32-ia32@0.20.2': 166 | resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} 167 | engines: {node: '>=12'} 168 | cpu: [ia32] 169 | os: [win32] 170 | 171 | '@esbuild/win32-x64@0.20.2': 172 | resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} 173 | engines: {node: '>=12'} 174 | cpu: [x64] 175 | os: [win32] 176 | 177 | '@ioredis/commands@1.2.0': 178 | resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} 179 | 180 | '@socket.io/component-emitter@3.1.2': 181 | resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} 182 | 183 | '@types/body-parser@1.19.5': 184 | resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} 185 | 186 | '@types/connect@3.4.38': 187 | resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} 188 | 189 | '@types/cookie@0.4.1': 190 | resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} 191 | 192 | '@types/cors@2.8.17': 193 | resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} 194 | 195 | '@types/express-serve-static-core@4.19.0': 196 | resolution: {integrity: sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==} 197 | 198 | '@types/express@4.17.21': 199 | resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} 200 | 201 | '@types/http-errors@2.0.4': 202 | resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} 203 | 204 | '@types/mime@1.3.5': 205 | resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} 206 | 207 | '@types/node@20.12.12': 208 | resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} 209 | 210 | '@types/qs@6.9.15': 211 | resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} 212 | 213 | '@types/range-parser@1.2.7': 214 | resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} 215 | 216 | '@types/send@0.17.4': 217 | resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} 218 | 219 | '@types/serve-static@1.15.7': 220 | resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} 221 | 222 | accepts@1.3.8: 223 | resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} 224 | engines: {node: '>= 0.6'} 225 | 226 | array-flatten@1.1.1: 227 | resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} 228 | 229 | base64id@2.0.0: 230 | resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} 231 | engines: {node: ^4.5.0 || >= 5.9} 232 | 233 | body-parser@1.20.2: 234 | resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} 235 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 236 | 237 | bytes@3.1.2: 238 | resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 239 | engines: {node: '>= 0.8'} 240 | 241 | call-bind@1.0.7: 242 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 243 | engines: {node: '>= 0.4'} 244 | 245 | cluster-key-slot@1.1.2: 246 | resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} 247 | engines: {node: '>=0.10.0'} 248 | 249 | content-disposition@0.5.4: 250 | resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 251 | engines: {node: '>= 0.6'} 252 | 253 | content-type@1.0.5: 254 | resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 255 | engines: {node: '>= 0.6'} 256 | 257 | cookie-signature@1.0.6: 258 | resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} 259 | 260 | cookie@0.4.2: 261 | resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} 262 | engines: {node: '>= 0.6'} 263 | 264 | cookie@0.6.0: 265 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 266 | engines: {node: '>= 0.6'} 267 | 268 | cors@2.8.5: 269 | resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} 270 | engines: {node: '>= 0.10'} 271 | 272 | debug@2.6.9: 273 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 274 | peerDependencies: 275 | supports-color: '*' 276 | peerDependenciesMeta: 277 | supports-color: 278 | optional: true 279 | 280 | debug@4.3.4: 281 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 282 | engines: {node: '>=6.0'} 283 | peerDependencies: 284 | supports-color: '*' 285 | peerDependenciesMeta: 286 | supports-color: 287 | optional: true 288 | 289 | define-data-property@1.1.4: 290 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 291 | engines: {node: '>= 0.4'} 292 | 293 | denque@2.1.0: 294 | resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} 295 | engines: {node: '>=0.10'} 296 | 297 | depd@2.0.0: 298 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 299 | engines: {node: '>= 0.8'} 300 | 301 | destroy@1.2.0: 302 | resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 303 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 304 | 305 | dotenv@16.4.5: 306 | resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} 307 | engines: {node: '>=12'} 308 | 309 | ee-first@1.1.1: 310 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 311 | 312 | encodeurl@1.0.2: 313 | resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} 314 | engines: {node: '>= 0.8'} 315 | 316 | engine.io-parser@5.2.2: 317 | resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} 318 | engines: {node: '>=10.0.0'} 319 | 320 | engine.io@6.5.4: 321 | resolution: {integrity: sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==} 322 | engines: {node: '>=10.2.0'} 323 | 324 | es-define-property@1.0.0: 325 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} 326 | engines: {node: '>= 0.4'} 327 | 328 | es-errors@1.3.0: 329 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 330 | engines: {node: '>= 0.4'} 331 | 332 | esbuild@0.20.2: 333 | resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} 334 | engines: {node: '>=12'} 335 | hasBin: true 336 | 337 | escape-html@1.0.3: 338 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 339 | 340 | etag@1.8.1: 341 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 342 | engines: {node: '>= 0.6'} 343 | 344 | express@4.19.2: 345 | resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} 346 | engines: {node: '>= 0.10.0'} 347 | 348 | finalhandler@1.2.0: 349 | resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} 350 | engines: {node: '>= 0.8'} 351 | 352 | forwarded@0.2.0: 353 | resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 354 | engines: {node: '>= 0.6'} 355 | 356 | fresh@0.5.2: 357 | resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 358 | engines: {node: '>= 0.6'} 359 | 360 | fsevents@2.3.3: 361 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 362 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 363 | os: [darwin] 364 | 365 | function-bind@1.1.2: 366 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 367 | 368 | get-intrinsic@1.2.4: 369 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} 370 | engines: {node: '>= 0.4'} 371 | 372 | get-tsconfig@4.7.5: 373 | resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} 374 | 375 | gopd@1.0.1: 376 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 377 | 378 | has-property-descriptors@1.0.2: 379 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 380 | 381 | has-proto@1.0.3: 382 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} 383 | engines: {node: '>= 0.4'} 384 | 385 | has-symbols@1.0.3: 386 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 387 | engines: {node: '>= 0.4'} 388 | 389 | hasown@2.0.2: 390 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 391 | engines: {node: '>= 0.4'} 392 | 393 | http-errors@2.0.0: 394 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 395 | engines: {node: '>= 0.8'} 396 | 397 | iconv-lite@0.4.24: 398 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 399 | engines: {node: '>=0.10.0'} 400 | 401 | inherits@2.0.4: 402 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 403 | 404 | ioredis@5.4.1: 405 | resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==} 406 | engines: {node: '>=12.22.0'} 407 | 408 | ipaddr.js@1.9.1: 409 | resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 410 | engines: {node: '>= 0.10'} 411 | 412 | lodash.defaults@4.2.0: 413 | resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} 414 | 415 | lodash.isarguments@3.1.0: 416 | resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} 417 | 418 | media-typer@0.3.0: 419 | resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} 420 | engines: {node: '>= 0.6'} 421 | 422 | merge-descriptors@1.0.1: 423 | resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} 424 | 425 | methods@1.1.2: 426 | resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} 427 | engines: {node: '>= 0.6'} 428 | 429 | mime-db@1.52.0: 430 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 431 | engines: {node: '>= 0.6'} 432 | 433 | mime-types@2.1.35: 434 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 435 | engines: {node: '>= 0.6'} 436 | 437 | mime@1.6.0: 438 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 439 | engines: {node: '>=4'} 440 | hasBin: true 441 | 442 | ms@2.0.0: 443 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 444 | 445 | ms@2.1.2: 446 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 447 | 448 | ms@2.1.3: 449 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 450 | 451 | negotiator@0.6.3: 452 | resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 453 | engines: {node: '>= 0.6'} 454 | 455 | object-assign@4.1.1: 456 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 457 | engines: {node: '>=0.10.0'} 458 | 459 | object-inspect@1.13.1: 460 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} 461 | 462 | on-finished@2.4.1: 463 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 464 | engines: {node: '>= 0.8'} 465 | 466 | parseurl@1.3.3: 467 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 468 | engines: {node: '>= 0.8'} 469 | 470 | path-to-regexp@0.1.7: 471 | resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} 472 | 473 | proxy-addr@2.0.7: 474 | resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 475 | engines: {node: '>= 0.10'} 476 | 477 | qs@6.11.0: 478 | resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} 479 | engines: {node: '>=0.6'} 480 | 481 | range-parser@1.2.1: 482 | resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 483 | engines: {node: '>= 0.6'} 484 | 485 | raw-body@2.5.2: 486 | resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} 487 | engines: {node: '>= 0.8'} 488 | 489 | redis-errors@1.2.0: 490 | resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} 491 | engines: {node: '>=4'} 492 | 493 | redis-parser@3.0.0: 494 | resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} 495 | engines: {node: '>=4'} 496 | 497 | resolve-pkg-maps@1.0.0: 498 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 499 | 500 | safe-buffer@5.2.1: 501 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 502 | 503 | safer-buffer@2.1.2: 504 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 505 | 506 | send@0.18.0: 507 | resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} 508 | engines: {node: '>= 0.8.0'} 509 | 510 | serve-static@1.15.0: 511 | resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} 512 | engines: {node: '>= 0.8.0'} 513 | 514 | set-function-length@1.2.2: 515 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 516 | engines: {node: '>= 0.4'} 517 | 518 | setprototypeof@1.2.0: 519 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 520 | 521 | side-channel@1.0.6: 522 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} 523 | engines: {node: '>= 0.4'} 524 | 525 | socket.io-adapter@2.5.4: 526 | resolution: {integrity: sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==} 527 | 528 | socket.io-parser@4.2.4: 529 | resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} 530 | engines: {node: '>=10.0.0'} 531 | 532 | socket.io@4.7.5: 533 | resolution: {integrity: sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==} 534 | engines: {node: '>=10.2.0'} 535 | 536 | standard-as-callback@2.1.0: 537 | resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} 538 | 539 | statuses@2.0.1: 540 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 541 | engines: {node: '>= 0.8'} 542 | 543 | toidentifier@1.0.1: 544 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 545 | engines: {node: '>=0.6'} 546 | 547 | tsx@4.10.5: 548 | resolution: {integrity: sha512-twDSbf7Gtea4I2copqovUiNTEDrT8XNFXsuHpfGbdpW/z9ZW4fTghzzhAG0WfrCuJmJiOEY1nLIjq4u3oujRWQ==} 549 | engines: {node: '>=18.0.0'} 550 | hasBin: true 551 | 552 | type-is@1.6.18: 553 | resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 554 | engines: {node: '>= 0.6'} 555 | 556 | undici-types@5.26.5: 557 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 558 | 559 | unpipe@1.0.0: 560 | resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 561 | engines: {node: '>= 0.8'} 562 | 563 | utils-merge@1.0.1: 564 | resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} 565 | engines: {node: '>= 0.4.0'} 566 | 567 | vary@1.1.2: 568 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 569 | engines: {node: '>= 0.8'} 570 | 571 | ws@8.11.0: 572 | resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} 573 | engines: {node: '>=10.0.0'} 574 | peerDependencies: 575 | bufferutil: ^4.0.1 576 | utf-8-validate: ^5.0.2 577 | peerDependenciesMeta: 578 | bufferutil: 579 | optional: true 580 | utf-8-validate: 581 | optional: true 582 | 583 | snapshots: 584 | 585 | '@esbuild/aix-ppc64@0.20.2': 586 | optional: true 587 | 588 | '@esbuild/android-arm64@0.20.2': 589 | optional: true 590 | 591 | '@esbuild/android-arm@0.20.2': 592 | optional: true 593 | 594 | '@esbuild/android-x64@0.20.2': 595 | optional: true 596 | 597 | '@esbuild/darwin-arm64@0.20.2': 598 | optional: true 599 | 600 | '@esbuild/darwin-x64@0.20.2': 601 | optional: true 602 | 603 | '@esbuild/freebsd-arm64@0.20.2': 604 | optional: true 605 | 606 | '@esbuild/freebsd-x64@0.20.2': 607 | optional: true 608 | 609 | '@esbuild/linux-arm64@0.20.2': 610 | optional: true 611 | 612 | '@esbuild/linux-arm@0.20.2': 613 | optional: true 614 | 615 | '@esbuild/linux-ia32@0.20.2': 616 | optional: true 617 | 618 | '@esbuild/linux-loong64@0.20.2': 619 | optional: true 620 | 621 | '@esbuild/linux-mips64el@0.20.2': 622 | optional: true 623 | 624 | '@esbuild/linux-ppc64@0.20.2': 625 | optional: true 626 | 627 | '@esbuild/linux-riscv64@0.20.2': 628 | optional: true 629 | 630 | '@esbuild/linux-s390x@0.20.2': 631 | optional: true 632 | 633 | '@esbuild/linux-x64@0.20.2': 634 | optional: true 635 | 636 | '@esbuild/netbsd-x64@0.20.2': 637 | optional: true 638 | 639 | '@esbuild/openbsd-x64@0.20.2': 640 | optional: true 641 | 642 | '@esbuild/sunos-x64@0.20.2': 643 | optional: true 644 | 645 | '@esbuild/win32-arm64@0.20.2': 646 | optional: true 647 | 648 | '@esbuild/win32-ia32@0.20.2': 649 | optional: true 650 | 651 | '@esbuild/win32-x64@0.20.2': 652 | optional: true 653 | 654 | '@ioredis/commands@1.2.0': {} 655 | 656 | '@socket.io/component-emitter@3.1.2': {} 657 | 658 | '@types/body-parser@1.19.5': 659 | dependencies: 660 | '@types/connect': 3.4.38 661 | '@types/node': 20.12.12 662 | 663 | '@types/connect@3.4.38': 664 | dependencies: 665 | '@types/node': 20.12.12 666 | 667 | '@types/cookie@0.4.1': {} 668 | 669 | '@types/cors@2.8.17': 670 | dependencies: 671 | '@types/node': 20.12.12 672 | 673 | '@types/express-serve-static-core@4.19.0': 674 | dependencies: 675 | '@types/node': 20.12.12 676 | '@types/qs': 6.9.15 677 | '@types/range-parser': 1.2.7 678 | '@types/send': 0.17.4 679 | 680 | '@types/express@4.17.21': 681 | dependencies: 682 | '@types/body-parser': 1.19.5 683 | '@types/express-serve-static-core': 4.19.0 684 | '@types/qs': 6.9.15 685 | '@types/serve-static': 1.15.7 686 | 687 | '@types/http-errors@2.0.4': {} 688 | 689 | '@types/mime@1.3.5': {} 690 | 691 | '@types/node@20.12.12': 692 | dependencies: 693 | undici-types: 5.26.5 694 | 695 | '@types/qs@6.9.15': {} 696 | 697 | '@types/range-parser@1.2.7': {} 698 | 699 | '@types/send@0.17.4': 700 | dependencies: 701 | '@types/mime': 1.3.5 702 | '@types/node': 20.12.12 703 | 704 | '@types/serve-static@1.15.7': 705 | dependencies: 706 | '@types/http-errors': 2.0.4 707 | '@types/node': 20.12.12 708 | '@types/send': 0.17.4 709 | 710 | accepts@1.3.8: 711 | dependencies: 712 | mime-types: 2.1.35 713 | negotiator: 0.6.3 714 | 715 | array-flatten@1.1.1: {} 716 | 717 | base64id@2.0.0: {} 718 | 719 | body-parser@1.20.2: 720 | dependencies: 721 | bytes: 3.1.2 722 | content-type: 1.0.5 723 | debug: 2.6.9 724 | depd: 2.0.0 725 | destroy: 1.2.0 726 | http-errors: 2.0.0 727 | iconv-lite: 0.4.24 728 | on-finished: 2.4.1 729 | qs: 6.11.0 730 | raw-body: 2.5.2 731 | type-is: 1.6.18 732 | unpipe: 1.0.0 733 | transitivePeerDependencies: 734 | - supports-color 735 | 736 | bytes@3.1.2: {} 737 | 738 | call-bind@1.0.7: 739 | dependencies: 740 | es-define-property: 1.0.0 741 | es-errors: 1.3.0 742 | function-bind: 1.1.2 743 | get-intrinsic: 1.2.4 744 | set-function-length: 1.2.2 745 | 746 | cluster-key-slot@1.1.2: {} 747 | 748 | content-disposition@0.5.4: 749 | dependencies: 750 | safe-buffer: 5.2.1 751 | 752 | content-type@1.0.5: {} 753 | 754 | cookie-signature@1.0.6: {} 755 | 756 | cookie@0.4.2: {} 757 | 758 | cookie@0.6.0: {} 759 | 760 | cors@2.8.5: 761 | dependencies: 762 | object-assign: 4.1.1 763 | vary: 1.1.2 764 | 765 | debug@2.6.9: 766 | dependencies: 767 | ms: 2.0.0 768 | 769 | debug@4.3.4: 770 | dependencies: 771 | ms: 2.1.2 772 | 773 | define-data-property@1.1.4: 774 | dependencies: 775 | es-define-property: 1.0.0 776 | es-errors: 1.3.0 777 | gopd: 1.0.1 778 | 779 | denque@2.1.0: {} 780 | 781 | depd@2.0.0: {} 782 | 783 | destroy@1.2.0: {} 784 | 785 | dotenv@16.4.5: {} 786 | 787 | ee-first@1.1.1: {} 788 | 789 | encodeurl@1.0.2: {} 790 | 791 | engine.io-parser@5.2.2: {} 792 | 793 | engine.io@6.5.4: 794 | dependencies: 795 | '@types/cookie': 0.4.1 796 | '@types/cors': 2.8.17 797 | '@types/node': 20.12.12 798 | accepts: 1.3.8 799 | base64id: 2.0.0 800 | cookie: 0.4.2 801 | cors: 2.8.5 802 | debug: 4.3.4 803 | engine.io-parser: 5.2.2 804 | ws: 8.11.0 805 | transitivePeerDependencies: 806 | - bufferutil 807 | - supports-color 808 | - utf-8-validate 809 | 810 | es-define-property@1.0.0: 811 | dependencies: 812 | get-intrinsic: 1.2.4 813 | 814 | es-errors@1.3.0: {} 815 | 816 | esbuild@0.20.2: 817 | optionalDependencies: 818 | '@esbuild/aix-ppc64': 0.20.2 819 | '@esbuild/android-arm': 0.20.2 820 | '@esbuild/android-arm64': 0.20.2 821 | '@esbuild/android-x64': 0.20.2 822 | '@esbuild/darwin-arm64': 0.20.2 823 | '@esbuild/darwin-x64': 0.20.2 824 | '@esbuild/freebsd-arm64': 0.20.2 825 | '@esbuild/freebsd-x64': 0.20.2 826 | '@esbuild/linux-arm': 0.20.2 827 | '@esbuild/linux-arm64': 0.20.2 828 | '@esbuild/linux-ia32': 0.20.2 829 | '@esbuild/linux-loong64': 0.20.2 830 | '@esbuild/linux-mips64el': 0.20.2 831 | '@esbuild/linux-ppc64': 0.20.2 832 | '@esbuild/linux-riscv64': 0.20.2 833 | '@esbuild/linux-s390x': 0.20.2 834 | '@esbuild/linux-x64': 0.20.2 835 | '@esbuild/netbsd-x64': 0.20.2 836 | '@esbuild/openbsd-x64': 0.20.2 837 | '@esbuild/sunos-x64': 0.20.2 838 | '@esbuild/win32-arm64': 0.20.2 839 | '@esbuild/win32-ia32': 0.20.2 840 | '@esbuild/win32-x64': 0.20.2 841 | 842 | escape-html@1.0.3: {} 843 | 844 | etag@1.8.1: {} 845 | 846 | express@4.19.2: 847 | dependencies: 848 | accepts: 1.3.8 849 | array-flatten: 1.1.1 850 | body-parser: 1.20.2 851 | content-disposition: 0.5.4 852 | content-type: 1.0.5 853 | cookie: 0.6.0 854 | cookie-signature: 1.0.6 855 | debug: 2.6.9 856 | depd: 2.0.0 857 | encodeurl: 1.0.2 858 | escape-html: 1.0.3 859 | etag: 1.8.1 860 | finalhandler: 1.2.0 861 | fresh: 0.5.2 862 | http-errors: 2.0.0 863 | merge-descriptors: 1.0.1 864 | methods: 1.1.2 865 | on-finished: 2.4.1 866 | parseurl: 1.3.3 867 | path-to-regexp: 0.1.7 868 | proxy-addr: 2.0.7 869 | qs: 6.11.0 870 | range-parser: 1.2.1 871 | safe-buffer: 5.2.1 872 | send: 0.18.0 873 | serve-static: 1.15.0 874 | setprototypeof: 1.2.0 875 | statuses: 2.0.1 876 | type-is: 1.6.18 877 | utils-merge: 1.0.1 878 | vary: 1.1.2 879 | transitivePeerDependencies: 880 | - supports-color 881 | 882 | finalhandler@1.2.0: 883 | dependencies: 884 | debug: 2.6.9 885 | encodeurl: 1.0.2 886 | escape-html: 1.0.3 887 | on-finished: 2.4.1 888 | parseurl: 1.3.3 889 | statuses: 2.0.1 890 | unpipe: 1.0.0 891 | transitivePeerDependencies: 892 | - supports-color 893 | 894 | forwarded@0.2.0: {} 895 | 896 | fresh@0.5.2: {} 897 | 898 | fsevents@2.3.3: 899 | optional: true 900 | 901 | function-bind@1.1.2: {} 902 | 903 | get-intrinsic@1.2.4: 904 | dependencies: 905 | es-errors: 1.3.0 906 | function-bind: 1.1.2 907 | has-proto: 1.0.3 908 | has-symbols: 1.0.3 909 | hasown: 2.0.2 910 | 911 | get-tsconfig@4.7.5: 912 | dependencies: 913 | resolve-pkg-maps: 1.0.0 914 | 915 | gopd@1.0.1: 916 | dependencies: 917 | get-intrinsic: 1.2.4 918 | 919 | has-property-descriptors@1.0.2: 920 | dependencies: 921 | es-define-property: 1.0.0 922 | 923 | has-proto@1.0.3: {} 924 | 925 | has-symbols@1.0.3: {} 926 | 927 | hasown@2.0.2: 928 | dependencies: 929 | function-bind: 1.1.2 930 | 931 | http-errors@2.0.0: 932 | dependencies: 933 | depd: 2.0.0 934 | inherits: 2.0.4 935 | setprototypeof: 1.2.0 936 | statuses: 2.0.1 937 | toidentifier: 1.0.1 938 | 939 | iconv-lite@0.4.24: 940 | dependencies: 941 | safer-buffer: 2.1.2 942 | 943 | inherits@2.0.4: {} 944 | 945 | ioredis@5.4.1: 946 | dependencies: 947 | '@ioredis/commands': 1.2.0 948 | cluster-key-slot: 1.1.2 949 | debug: 4.3.4 950 | denque: 2.1.0 951 | lodash.defaults: 4.2.0 952 | lodash.isarguments: 3.1.0 953 | redis-errors: 1.2.0 954 | redis-parser: 3.0.0 955 | standard-as-callback: 2.1.0 956 | transitivePeerDependencies: 957 | - supports-color 958 | 959 | ipaddr.js@1.9.1: {} 960 | 961 | lodash.defaults@4.2.0: {} 962 | 963 | lodash.isarguments@3.1.0: {} 964 | 965 | media-typer@0.3.0: {} 966 | 967 | merge-descriptors@1.0.1: {} 968 | 969 | methods@1.1.2: {} 970 | 971 | mime-db@1.52.0: {} 972 | 973 | mime-types@2.1.35: 974 | dependencies: 975 | mime-db: 1.52.0 976 | 977 | mime@1.6.0: {} 978 | 979 | ms@2.0.0: {} 980 | 981 | ms@2.1.2: {} 982 | 983 | ms@2.1.3: {} 984 | 985 | negotiator@0.6.3: {} 986 | 987 | object-assign@4.1.1: {} 988 | 989 | object-inspect@1.13.1: {} 990 | 991 | on-finished@2.4.1: 992 | dependencies: 993 | ee-first: 1.1.1 994 | 995 | parseurl@1.3.3: {} 996 | 997 | path-to-regexp@0.1.7: {} 998 | 999 | proxy-addr@2.0.7: 1000 | dependencies: 1001 | forwarded: 0.2.0 1002 | ipaddr.js: 1.9.1 1003 | 1004 | qs@6.11.0: 1005 | dependencies: 1006 | side-channel: 1.0.6 1007 | 1008 | range-parser@1.2.1: {} 1009 | 1010 | raw-body@2.5.2: 1011 | dependencies: 1012 | bytes: 3.1.2 1013 | http-errors: 2.0.0 1014 | iconv-lite: 0.4.24 1015 | unpipe: 1.0.0 1016 | 1017 | redis-errors@1.2.0: {} 1018 | 1019 | redis-parser@3.0.0: 1020 | dependencies: 1021 | redis-errors: 1.2.0 1022 | 1023 | resolve-pkg-maps@1.0.0: {} 1024 | 1025 | safe-buffer@5.2.1: {} 1026 | 1027 | safer-buffer@2.1.2: {} 1028 | 1029 | send@0.18.0: 1030 | dependencies: 1031 | debug: 2.6.9 1032 | depd: 2.0.0 1033 | destroy: 1.2.0 1034 | encodeurl: 1.0.2 1035 | escape-html: 1.0.3 1036 | etag: 1.8.1 1037 | fresh: 0.5.2 1038 | http-errors: 2.0.0 1039 | mime: 1.6.0 1040 | ms: 2.1.3 1041 | on-finished: 2.4.1 1042 | range-parser: 1.2.1 1043 | statuses: 2.0.1 1044 | transitivePeerDependencies: 1045 | - supports-color 1046 | 1047 | serve-static@1.15.0: 1048 | dependencies: 1049 | encodeurl: 1.0.2 1050 | escape-html: 1.0.3 1051 | parseurl: 1.3.3 1052 | send: 0.18.0 1053 | transitivePeerDependencies: 1054 | - supports-color 1055 | 1056 | set-function-length@1.2.2: 1057 | dependencies: 1058 | define-data-property: 1.1.4 1059 | es-errors: 1.3.0 1060 | function-bind: 1.1.2 1061 | get-intrinsic: 1.2.4 1062 | gopd: 1.0.1 1063 | has-property-descriptors: 1.0.2 1064 | 1065 | setprototypeof@1.2.0: {} 1066 | 1067 | side-channel@1.0.6: 1068 | dependencies: 1069 | call-bind: 1.0.7 1070 | es-errors: 1.3.0 1071 | get-intrinsic: 1.2.4 1072 | object-inspect: 1.13.1 1073 | 1074 | socket.io-adapter@2.5.4: 1075 | dependencies: 1076 | debug: 4.3.4 1077 | ws: 8.11.0 1078 | transitivePeerDependencies: 1079 | - bufferutil 1080 | - supports-color 1081 | - utf-8-validate 1082 | 1083 | socket.io-parser@4.2.4: 1084 | dependencies: 1085 | '@socket.io/component-emitter': 3.1.2 1086 | debug: 4.3.4 1087 | transitivePeerDependencies: 1088 | - supports-color 1089 | 1090 | socket.io@4.7.5: 1091 | dependencies: 1092 | accepts: 1.3.8 1093 | base64id: 2.0.0 1094 | cors: 2.8.5 1095 | debug: 4.3.4 1096 | engine.io: 6.5.4 1097 | socket.io-adapter: 2.5.4 1098 | socket.io-parser: 4.2.4 1099 | transitivePeerDependencies: 1100 | - bufferutil 1101 | - supports-color 1102 | - utf-8-validate 1103 | 1104 | standard-as-callback@2.1.0: {} 1105 | 1106 | statuses@2.0.1: {} 1107 | 1108 | toidentifier@1.0.1: {} 1109 | 1110 | tsx@4.10.5: 1111 | dependencies: 1112 | esbuild: 0.20.2 1113 | get-tsconfig: 4.7.5 1114 | optionalDependencies: 1115 | fsevents: 2.3.3 1116 | 1117 | type-is@1.6.18: 1118 | dependencies: 1119 | media-typer: 0.3.0 1120 | mime-types: 2.1.35 1121 | 1122 | undici-types@5.26.5: {} 1123 | 1124 | unpipe@1.0.0: {} 1125 | 1126 | utils-merge@1.0.1: {} 1127 | 1128 | vary@1.1.2: {} 1129 | 1130 | ws@8.11.0: {} 1131 | -------------------------------------------------------------------------------- /client/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@radix-ui/react-icons': 12 | specifier: ^1.3.0 13 | version: 1.3.0(react@18.3.1) 14 | '@radix-ui/react-label': 15 | specifier: ^2.0.2 16 | version: 2.0.2(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 17 | '@radix-ui/react-slot': 18 | specifier: ^1.0.2 19 | version: 1.0.2(@types/react@18.3.2)(react@18.3.1) 20 | class-variance-authority: 21 | specifier: ^0.7.0 22 | version: 0.7.0 23 | clsx: 24 | specifier: ^2.1.1 25 | version: 2.1.1 26 | next: 27 | specifier: 14.2.3 28 | version: 14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 29 | react: 30 | specifier: ^18 31 | version: 18.3.1 32 | react-dom: 33 | specifier: ^18 34 | version: 18.3.1(react@18.3.1) 35 | socket.io-client: 36 | specifier: ^4.7.5 37 | version: 4.7.5 38 | tailwind-merge: 39 | specifier: ^2.3.0 40 | version: 2.3.0 41 | tailwindcss-animate: 42 | specifier: ^1.0.7 43 | version: 1.0.7(tailwindcss@3.4.3) 44 | devDependencies: 45 | '@types/node': 46 | specifier: ^20 47 | version: 20.12.12 48 | '@types/react': 49 | specifier: ^18 50 | version: 18.3.2 51 | '@types/react-dom': 52 | specifier: ^18 53 | version: 18.3.0 54 | eslint: 55 | specifier: ^8 56 | version: 8.57.0 57 | eslint-config-next: 58 | specifier: 14.2.3 59 | version: 14.2.3(eslint@8.57.0)(typescript@5.4.5) 60 | postcss: 61 | specifier: ^8 62 | version: 8.4.38 63 | tailwindcss: 64 | specifier: ^3.4.1 65 | version: 3.4.3 66 | typescript: 67 | specifier: ^5 68 | version: 5.4.5 69 | 70 | packages: 71 | 72 | '@alloc/quick-lru@5.2.0': 73 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 74 | engines: {node: '>=10'} 75 | 76 | '@babel/runtime@7.24.5': 77 | resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} 78 | engines: {node: '>=6.9.0'} 79 | 80 | '@eslint-community/eslint-utils@4.4.0': 81 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 82 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 83 | peerDependencies: 84 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 85 | 86 | '@eslint-community/regexpp@4.10.0': 87 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} 88 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 89 | 90 | '@eslint/eslintrc@2.1.4': 91 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 92 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 93 | 94 | '@eslint/js@8.57.0': 95 | resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} 96 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 97 | 98 | '@humanwhocodes/config-array@0.11.14': 99 | resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} 100 | engines: {node: '>=10.10.0'} 101 | 102 | '@humanwhocodes/module-importer@1.0.1': 103 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 104 | engines: {node: '>=12.22'} 105 | 106 | '@humanwhocodes/object-schema@2.0.3': 107 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} 108 | 109 | '@isaacs/cliui@8.0.2': 110 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 111 | engines: {node: '>=12'} 112 | 113 | '@jridgewell/gen-mapping@0.3.5': 114 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 115 | engines: {node: '>=6.0.0'} 116 | 117 | '@jridgewell/resolve-uri@3.1.2': 118 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 119 | engines: {node: '>=6.0.0'} 120 | 121 | '@jridgewell/set-array@1.2.1': 122 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 123 | engines: {node: '>=6.0.0'} 124 | 125 | '@jridgewell/sourcemap-codec@1.4.15': 126 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 127 | 128 | '@jridgewell/trace-mapping@0.3.25': 129 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 130 | 131 | '@next/env@14.2.3': 132 | resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} 133 | 134 | '@next/eslint-plugin-next@14.2.3': 135 | resolution: {integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==} 136 | 137 | '@next/swc-darwin-arm64@14.2.3': 138 | resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} 139 | engines: {node: '>= 10'} 140 | cpu: [arm64] 141 | os: [darwin] 142 | 143 | '@next/swc-darwin-x64@14.2.3': 144 | resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==} 145 | engines: {node: '>= 10'} 146 | cpu: [x64] 147 | os: [darwin] 148 | 149 | '@next/swc-linux-arm64-gnu@14.2.3': 150 | resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==} 151 | engines: {node: '>= 10'} 152 | cpu: [arm64] 153 | os: [linux] 154 | 155 | '@next/swc-linux-arm64-musl@14.2.3': 156 | resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==} 157 | engines: {node: '>= 10'} 158 | cpu: [arm64] 159 | os: [linux] 160 | 161 | '@next/swc-linux-x64-gnu@14.2.3': 162 | resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==} 163 | engines: {node: '>= 10'} 164 | cpu: [x64] 165 | os: [linux] 166 | 167 | '@next/swc-linux-x64-musl@14.2.3': 168 | resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==} 169 | engines: {node: '>= 10'} 170 | cpu: [x64] 171 | os: [linux] 172 | 173 | '@next/swc-win32-arm64-msvc@14.2.3': 174 | resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==} 175 | engines: {node: '>= 10'} 176 | cpu: [arm64] 177 | os: [win32] 178 | 179 | '@next/swc-win32-ia32-msvc@14.2.3': 180 | resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==} 181 | engines: {node: '>= 10'} 182 | cpu: [ia32] 183 | os: [win32] 184 | 185 | '@next/swc-win32-x64-msvc@14.2.3': 186 | resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==} 187 | engines: {node: '>= 10'} 188 | cpu: [x64] 189 | os: [win32] 190 | 191 | '@nodelib/fs.scandir@2.1.5': 192 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 193 | engines: {node: '>= 8'} 194 | 195 | '@nodelib/fs.stat@2.0.5': 196 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 197 | engines: {node: '>= 8'} 198 | 199 | '@nodelib/fs.walk@1.2.8': 200 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 201 | engines: {node: '>= 8'} 202 | 203 | '@pkgjs/parseargs@0.11.0': 204 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 205 | engines: {node: '>=14'} 206 | 207 | '@radix-ui/react-compose-refs@1.0.1': 208 | resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} 209 | peerDependencies: 210 | '@types/react': '*' 211 | react: ^16.8 || ^17.0 || ^18.0 212 | peerDependenciesMeta: 213 | '@types/react': 214 | optional: true 215 | 216 | '@radix-ui/react-icons@1.3.0': 217 | resolution: {integrity: sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==} 218 | peerDependencies: 219 | react: ^16.x || ^17.x || ^18.x 220 | 221 | '@radix-ui/react-label@2.0.2': 222 | resolution: {integrity: sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==} 223 | peerDependencies: 224 | '@types/react': '*' 225 | '@types/react-dom': '*' 226 | react: ^16.8 || ^17.0 || ^18.0 227 | react-dom: ^16.8 || ^17.0 || ^18.0 228 | peerDependenciesMeta: 229 | '@types/react': 230 | optional: true 231 | '@types/react-dom': 232 | optional: true 233 | 234 | '@radix-ui/react-primitive@1.0.3': 235 | resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} 236 | peerDependencies: 237 | '@types/react': '*' 238 | '@types/react-dom': '*' 239 | react: ^16.8 || ^17.0 || ^18.0 240 | react-dom: ^16.8 || ^17.0 || ^18.0 241 | peerDependenciesMeta: 242 | '@types/react': 243 | optional: true 244 | '@types/react-dom': 245 | optional: true 246 | 247 | '@radix-ui/react-slot@1.0.2': 248 | resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} 249 | peerDependencies: 250 | '@types/react': '*' 251 | react: ^16.8 || ^17.0 || ^18.0 252 | peerDependenciesMeta: 253 | '@types/react': 254 | optional: true 255 | 256 | '@rushstack/eslint-patch@1.10.3': 257 | resolution: {integrity: sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==} 258 | 259 | '@socket.io/component-emitter@3.1.2': 260 | resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} 261 | 262 | '@swc/counter@0.1.3': 263 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 264 | 265 | '@swc/helpers@0.5.5': 266 | resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} 267 | 268 | '@types/json5@0.0.29': 269 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 270 | 271 | '@types/node@20.12.12': 272 | resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} 273 | 274 | '@types/prop-types@15.7.12': 275 | resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} 276 | 277 | '@types/react-dom@18.3.0': 278 | resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} 279 | 280 | '@types/react@18.3.2': 281 | resolution: {integrity: sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w==} 282 | 283 | '@typescript-eslint/parser@7.2.0': 284 | resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} 285 | engines: {node: ^16.0.0 || >=18.0.0} 286 | peerDependencies: 287 | eslint: ^8.56.0 288 | typescript: '*' 289 | peerDependenciesMeta: 290 | typescript: 291 | optional: true 292 | 293 | '@typescript-eslint/scope-manager@7.2.0': 294 | resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} 295 | engines: {node: ^16.0.0 || >=18.0.0} 296 | 297 | '@typescript-eslint/types@7.2.0': 298 | resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} 299 | engines: {node: ^16.0.0 || >=18.0.0} 300 | 301 | '@typescript-eslint/typescript-estree@7.2.0': 302 | resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} 303 | engines: {node: ^16.0.0 || >=18.0.0} 304 | peerDependencies: 305 | typescript: '*' 306 | peerDependenciesMeta: 307 | typescript: 308 | optional: true 309 | 310 | '@typescript-eslint/visitor-keys@7.2.0': 311 | resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} 312 | engines: {node: ^16.0.0 || >=18.0.0} 313 | 314 | '@ungap/structured-clone@1.2.0': 315 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 316 | 317 | acorn-jsx@5.3.2: 318 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 319 | peerDependencies: 320 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 321 | 322 | acorn@8.11.3: 323 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 324 | engines: {node: '>=0.4.0'} 325 | hasBin: true 326 | 327 | ajv@6.12.6: 328 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 329 | 330 | ansi-regex@5.0.1: 331 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 332 | engines: {node: '>=8'} 333 | 334 | ansi-regex@6.0.1: 335 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 336 | engines: {node: '>=12'} 337 | 338 | ansi-styles@4.3.0: 339 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 340 | engines: {node: '>=8'} 341 | 342 | ansi-styles@6.2.1: 343 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 344 | engines: {node: '>=12'} 345 | 346 | any-promise@1.3.0: 347 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 348 | 349 | anymatch@3.1.3: 350 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 351 | engines: {node: '>= 8'} 352 | 353 | arg@5.0.2: 354 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 355 | 356 | argparse@2.0.1: 357 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 358 | 359 | aria-query@5.3.0: 360 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} 361 | 362 | array-buffer-byte-length@1.0.1: 363 | resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} 364 | engines: {node: '>= 0.4'} 365 | 366 | array-includes@3.1.8: 367 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} 368 | engines: {node: '>= 0.4'} 369 | 370 | array-union@2.1.0: 371 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 372 | engines: {node: '>=8'} 373 | 374 | array.prototype.findlast@1.2.5: 375 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} 376 | engines: {node: '>= 0.4'} 377 | 378 | array.prototype.findlastindex@1.2.5: 379 | resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} 380 | engines: {node: '>= 0.4'} 381 | 382 | array.prototype.flat@1.3.2: 383 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} 384 | engines: {node: '>= 0.4'} 385 | 386 | array.prototype.flatmap@1.3.2: 387 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} 388 | engines: {node: '>= 0.4'} 389 | 390 | array.prototype.toreversed@1.1.2: 391 | resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} 392 | 393 | array.prototype.tosorted@1.1.3: 394 | resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} 395 | 396 | arraybuffer.prototype.slice@1.0.3: 397 | resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} 398 | engines: {node: '>= 0.4'} 399 | 400 | ast-types-flow@0.0.8: 401 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} 402 | 403 | available-typed-arrays@1.0.7: 404 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 405 | engines: {node: '>= 0.4'} 406 | 407 | axe-core@4.7.0: 408 | resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} 409 | engines: {node: '>=4'} 410 | 411 | axobject-query@3.2.1: 412 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} 413 | 414 | balanced-match@1.0.2: 415 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 416 | 417 | binary-extensions@2.3.0: 418 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 419 | engines: {node: '>=8'} 420 | 421 | brace-expansion@1.1.11: 422 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 423 | 424 | brace-expansion@2.0.1: 425 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 426 | 427 | braces@3.0.2: 428 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 429 | engines: {node: '>=8'} 430 | 431 | busboy@1.6.0: 432 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 433 | engines: {node: '>=10.16.0'} 434 | 435 | call-bind@1.0.7: 436 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 437 | engines: {node: '>= 0.4'} 438 | 439 | callsites@3.1.0: 440 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 441 | engines: {node: '>=6'} 442 | 443 | camelcase-css@2.0.1: 444 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 445 | engines: {node: '>= 6'} 446 | 447 | caniuse-lite@1.0.30001620: 448 | resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==} 449 | 450 | chalk@4.1.2: 451 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 452 | engines: {node: '>=10'} 453 | 454 | chokidar@3.6.0: 455 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 456 | engines: {node: '>= 8.10.0'} 457 | 458 | class-variance-authority@0.7.0: 459 | resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} 460 | 461 | client-only@0.0.1: 462 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 463 | 464 | clsx@2.0.0: 465 | resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} 466 | engines: {node: '>=6'} 467 | 468 | clsx@2.1.1: 469 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 470 | engines: {node: '>=6'} 471 | 472 | color-convert@2.0.1: 473 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 474 | engines: {node: '>=7.0.0'} 475 | 476 | color-name@1.1.4: 477 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 478 | 479 | commander@4.1.1: 480 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 481 | engines: {node: '>= 6'} 482 | 483 | concat-map@0.0.1: 484 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 485 | 486 | cross-spawn@7.0.3: 487 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 488 | engines: {node: '>= 8'} 489 | 490 | cssesc@3.0.0: 491 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 492 | engines: {node: '>=4'} 493 | hasBin: true 494 | 495 | csstype@3.1.3: 496 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 497 | 498 | damerau-levenshtein@1.0.8: 499 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 500 | 501 | data-view-buffer@1.0.1: 502 | resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} 503 | engines: {node: '>= 0.4'} 504 | 505 | data-view-byte-length@1.0.1: 506 | resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} 507 | engines: {node: '>= 0.4'} 508 | 509 | data-view-byte-offset@1.0.0: 510 | resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} 511 | engines: {node: '>= 0.4'} 512 | 513 | debug@3.2.7: 514 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 515 | peerDependencies: 516 | supports-color: '*' 517 | peerDependenciesMeta: 518 | supports-color: 519 | optional: true 520 | 521 | debug@4.3.4: 522 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 523 | engines: {node: '>=6.0'} 524 | peerDependencies: 525 | supports-color: '*' 526 | peerDependenciesMeta: 527 | supports-color: 528 | optional: true 529 | 530 | deep-is@0.1.4: 531 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 532 | 533 | define-data-property@1.1.4: 534 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 535 | engines: {node: '>= 0.4'} 536 | 537 | define-properties@1.2.1: 538 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 539 | engines: {node: '>= 0.4'} 540 | 541 | dequal@2.0.3: 542 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 543 | engines: {node: '>=6'} 544 | 545 | didyoumean@1.2.2: 546 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 547 | 548 | dir-glob@3.0.1: 549 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 550 | engines: {node: '>=8'} 551 | 552 | dlv@1.1.3: 553 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 554 | 555 | doctrine@2.1.0: 556 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 557 | engines: {node: '>=0.10.0'} 558 | 559 | doctrine@3.0.0: 560 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 561 | engines: {node: '>=6.0.0'} 562 | 563 | eastasianwidth@0.2.0: 564 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 565 | 566 | emoji-regex@8.0.0: 567 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 568 | 569 | emoji-regex@9.2.2: 570 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 571 | 572 | engine.io-client@6.5.3: 573 | resolution: {integrity: sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==} 574 | 575 | engine.io-parser@5.2.2: 576 | resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} 577 | engines: {node: '>=10.0.0'} 578 | 579 | enhanced-resolve@5.16.1: 580 | resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==} 581 | engines: {node: '>=10.13.0'} 582 | 583 | es-abstract@1.23.3: 584 | resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} 585 | engines: {node: '>= 0.4'} 586 | 587 | es-define-property@1.0.0: 588 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} 589 | engines: {node: '>= 0.4'} 590 | 591 | es-errors@1.3.0: 592 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 593 | engines: {node: '>= 0.4'} 594 | 595 | es-iterator-helpers@1.0.19: 596 | resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} 597 | engines: {node: '>= 0.4'} 598 | 599 | es-object-atoms@1.0.0: 600 | resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} 601 | engines: {node: '>= 0.4'} 602 | 603 | es-set-tostringtag@2.0.3: 604 | resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} 605 | engines: {node: '>= 0.4'} 606 | 607 | es-shim-unscopables@1.0.2: 608 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} 609 | 610 | es-to-primitive@1.2.1: 611 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 612 | engines: {node: '>= 0.4'} 613 | 614 | escape-string-regexp@4.0.0: 615 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 616 | engines: {node: '>=10'} 617 | 618 | eslint-config-next@14.2.3: 619 | resolution: {integrity: sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==} 620 | peerDependencies: 621 | eslint: ^7.23.0 || ^8.0.0 622 | typescript: '>=3.3.1' 623 | peerDependenciesMeta: 624 | typescript: 625 | optional: true 626 | 627 | eslint-import-resolver-node@0.3.9: 628 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 629 | 630 | eslint-import-resolver-typescript@3.6.1: 631 | resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} 632 | engines: {node: ^14.18.0 || >=16.0.0} 633 | peerDependencies: 634 | eslint: '*' 635 | eslint-plugin-import: '*' 636 | 637 | eslint-module-utils@2.8.1: 638 | resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} 639 | engines: {node: '>=4'} 640 | peerDependencies: 641 | '@typescript-eslint/parser': '*' 642 | eslint: '*' 643 | eslint-import-resolver-node: '*' 644 | eslint-import-resolver-typescript: '*' 645 | eslint-import-resolver-webpack: '*' 646 | peerDependenciesMeta: 647 | '@typescript-eslint/parser': 648 | optional: true 649 | eslint: 650 | optional: true 651 | eslint-import-resolver-node: 652 | optional: true 653 | eslint-import-resolver-typescript: 654 | optional: true 655 | eslint-import-resolver-webpack: 656 | optional: true 657 | 658 | eslint-plugin-import@2.29.1: 659 | resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} 660 | engines: {node: '>=4'} 661 | peerDependencies: 662 | '@typescript-eslint/parser': '*' 663 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 664 | peerDependenciesMeta: 665 | '@typescript-eslint/parser': 666 | optional: true 667 | 668 | eslint-plugin-jsx-a11y@6.8.0: 669 | resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} 670 | engines: {node: '>=4.0'} 671 | peerDependencies: 672 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 673 | 674 | eslint-plugin-react-hooks@4.6.2: 675 | resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} 676 | engines: {node: '>=10'} 677 | peerDependencies: 678 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 679 | 680 | eslint-plugin-react@7.34.1: 681 | resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} 682 | engines: {node: '>=4'} 683 | peerDependencies: 684 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 685 | 686 | eslint-scope@7.2.2: 687 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 688 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 689 | 690 | eslint-visitor-keys@3.4.3: 691 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 692 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 693 | 694 | eslint@8.57.0: 695 | resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} 696 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 697 | hasBin: true 698 | 699 | espree@9.6.1: 700 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 701 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 702 | 703 | esquery@1.5.0: 704 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 705 | engines: {node: '>=0.10'} 706 | 707 | esrecurse@4.3.0: 708 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 709 | engines: {node: '>=4.0'} 710 | 711 | estraverse@5.3.0: 712 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 713 | engines: {node: '>=4.0'} 714 | 715 | esutils@2.0.3: 716 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 717 | engines: {node: '>=0.10.0'} 718 | 719 | fast-deep-equal@3.1.3: 720 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 721 | 722 | fast-glob@3.3.2: 723 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 724 | engines: {node: '>=8.6.0'} 725 | 726 | fast-json-stable-stringify@2.1.0: 727 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 728 | 729 | fast-levenshtein@2.0.6: 730 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 731 | 732 | fastq@1.17.1: 733 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 734 | 735 | file-entry-cache@6.0.1: 736 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 737 | engines: {node: ^10.12.0 || >=12.0.0} 738 | 739 | fill-range@7.0.1: 740 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 741 | engines: {node: '>=8'} 742 | 743 | find-up@5.0.0: 744 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 745 | engines: {node: '>=10'} 746 | 747 | flat-cache@3.2.0: 748 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 749 | engines: {node: ^10.12.0 || >=12.0.0} 750 | 751 | flatted@3.3.1: 752 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 753 | 754 | for-each@0.3.3: 755 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 756 | 757 | foreground-child@3.1.1: 758 | resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} 759 | engines: {node: '>=14'} 760 | 761 | fs.realpath@1.0.0: 762 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 763 | 764 | fsevents@2.3.3: 765 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 766 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 767 | os: [darwin] 768 | 769 | function-bind@1.1.2: 770 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 771 | 772 | function.prototype.name@1.1.6: 773 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} 774 | engines: {node: '>= 0.4'} 775 | 776 | functions-have-names@1.2.3: 777 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 778 | 779 | get-intrinsic@1.2.4: 780 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} 781 | engines: {node: '>= 0.4'} 782 | 783 | get-symbol-description@1.0.2: 784 | resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} 785 | engines: {node: '>= 0.4'} 786 | 787 | get-tsconfig@4.7.5: 788 | resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} 789 | 790 | glob-parent@5.1.2: 791 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 792 | engines: {node: '>= 6'} 793 | 794 | glob-parent@6.0.2: 795 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 796 | engines: {node: '>=10.13.0'} 797 | 798 | glob@10.3.10: 799 | resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} 800 | engines: {node: '>=16 || 14 >=14.17'} 801 | hasBin: true 802 | 803 | glob@10.3.15: 804 | resolution: {integrity: sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==} 805 | engines: {node: '>=16 || 14 >=14.18'} 806 | hasBin: true 807 | 808 | glob@7.2.3: 809 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 810 | 811 | globals@13.24.0: 812 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 813 | engines: {node: '>=8'} 814 | 815 | globalthis@1.0.4: 816 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} 817 | engines: {node: '>= 0.4'} 818 | 819 | globby@11.1.0: 820 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 821 | engines: {node: '>=10'} 822 | 823 | gopd@1.0.1: 824 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 825 | 826 | graceful-fs@4.2.11: 827 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 828 | 829 | graphemer@1.4.0: 830 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 831 | 832 | has-bigints@1.0.2: 833 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 834 | 835 | has-flag@4.0.0: 836 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 837 | engines: {node: '>=8'} 838 | 839 | has-property-descriptors@1.0.2: 840 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 841 | 842 | has-proto@1.0.3: 843 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} 844 | engines: {node: '>= 0.4'} 845 | 846 | has-symbols@1.0.3: 847 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 848 | engines: {node: '>= 0.4'} 849 | 850 | has-tostringtag@1.0.2: 851 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 852 | engines: {node: '>= 0.4'} 853 | 854 | hasown@2.0.2: 855 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 856 | engines: {node: '>= 0.4'} 857 | 858 | ignore@5.3.1: 859 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 860 | engines: {node: '>= 4'} 861 | 862 | import-fresh@3.3.0: 863 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 864 | engines: {node: '>=6'} 865 | 866 | imurmurhash@0.1.4: 867 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 868 | engines: {node: '>=0.8.19'} 869 | 870 | inflight@1.0.6: 871 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 872 | 873 | inherits@2.0.4: 874 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 875 | 876 | internal-slot@1.0.7: 877 | resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} 878 | engines: {node: '>= 0.4'} 879 | 880 | is-array-buffer@3.0.4: 881 | resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} 882 | engines: {node: '>= 0.4'} 883 | 884 | is-async-function@2.0.0: 885 | resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} 886 | engines: {node: '>= 0.4'} 887 | 888 | is-bigint@1.0.4: 889 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 890 | 891 | is-binary-path@2.1.0: 892 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 893 | engines: {node: '>=8'} 894 | 895 | is-boolean-object@1.1.2: 896 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 897 | engines: {node: '>= 0.4'} 898 | 899 | is-callable@1.2.7: 900 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 901 | engines: {node: '>= 0.4'} 902 | 903 | is-core-module@2.13.1: 904 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 905 | 906 | is-data-view@1.0.1: 907 | resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} 908 | engines: {node: '>= 0.4'} 909 | 910 | is-date-object@1.0.5: 911 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 912 | engines: {node: '>= 0.4'} 913 | 914 | is-extglob@2.1.1: 915 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 916 | engines: {node: '>=0.10.0'} 917 | 918 | is-finalizationregistry@1.0.2: 919 | resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} 920 | 921 | is-fullwidth-code-point@3.0.0: 922 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 923 | engines: {node: '>=8'} 924 | 925 | is-generator-function@1.0.10: 926 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} 927 | engines: {node: '>= 0.4'} 928 | 929 | is-glob@4.0.3: 930 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 931 | engines: {node: '>=0.10.0'} 932 | 933 | is-map@2.0.3: 934 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 935 | engines: {node: '>= 0.4'} 936 | 937 | is-negative-zero@2.0.3: 938 | resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} 939 | engines: {node: '>= 0.4'} 940 | 941 | is-number-object@1.0.7: 942 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 943 | engines: {node: '>= 0.4'} 944 | 945 | is-number@7.0.0: 946 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 947 | engines: {node: '>=0.12.0'} 948 | 949 | is-path-inside@3.0.3: 950 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 951 | engines: {node: '>=8'} 952 | 953 | is-regex@1.1.4: 954 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 955 | engines: {node: '>= 0.4'} 956 | 957 | is-set@2.0.3: 958 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 959 | engines: {node: '>= 0.4'} 960 | 961 | is-shared-array-buffer@1.0.3: 962 | resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} 963 | engines: {node: '>= 0.4'} 964 | 965 | is-string@1.0.7: 966 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 967 | engines: {node: '>= 0.4'} 968 | 969 | is-symbol@1.0.4: 970 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 971 | engines: {node: '>= 0.4'} 972 | 973 | is-typed-array@1.1.13: 974 | resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} 975 | engines: {node: '>= 0.4'} 976 | 977 | is-weakmap@2.0.2: 978 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 979 | engines: {node: '>= 0.4'} 980 | 981 | is-weakref@1.0.2: 982 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 983 | 984 | is-weakset@2.0.3: 985 | resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} 986 | engines: {node: '>= 0.4'} 987 | 988 | isarray@2.0.5: 989 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 990 | 991 | isexe@2.0.0: 992 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 993 | 994 | iterator.prototype@1.1.2: 995 | resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} 996 | 997 | jackspeak@2.3.6: 998 | resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} 999 | engines: {node: '>=14'} 1000 | 1001 | jiti@1.21.0: 1002 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} 1003 | hasBin: true 1004 | 1005 | js-tokens@4.0.0: 1006 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1007 | 1008 | js-yaml@4.1.0: 1009 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1010 | hasBin: true 1011 | 1012 | json-buffer@3.0.1: 1013 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1014 | 1015 | json-schema-traverse@0.4.1: 1016 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1017 | 1018 | json-stable-stringify-without-jsonify@1.0.1: 1019 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1020 | 1021 | json5@1.0.2: 1022 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1023 | hasBin: true 1024 | 1025 | jsx-ast-utils@3.3.5: 1026 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} 1027 | engines: {node: '>=4.0'} 1028 | 1029 | keyv@4.5.4: 1030 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1031 | 1032 | language-subtag-registry@0.3.22: 1033 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} 1034 | 1035 | language-tags@1.0.9: 1036 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} 1037 | engines: {node: '>=0.10'} 1038 | 1039 | levn@0.4.1: 1040 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1041 | engines: {node: '>= 0.8.0'} 1042 | 1043 | lilconfig@2.1.0: 1044 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1045 | engines: {node: '>=10'} 1046 | 1047 | lilconfig@3.1.1: 1048 | resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} 1049 | engines: {node: '>=14'} 1050 | 1051 | lines-and-columns@1.2.4: 1052 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1053 | 1054 | locate-path@6.0.0: 1055 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1056 | engines: {node: '>=10'} 1057 | 1058 | lodash.merge@4.6.2: 1059 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1060 | 1061 | loose-envify@1.4.0: 1062 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1063 | hasBin: true 1064 | 1065 | lru-cache@10.2.2: 1066 | resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} 1067 | engines: {node: 14 || >=16.14} 1068 | 1069 | merge2@1.4.1: 1070 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1071 | engines: {node: '>= 8'} 1072 | 1073 | micromatch@4.0.5: 1074 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1075 | engines: {node: '>=8.6'} 1076 | 1077 | minimatch@3.1.2: 1078 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1079 | 1080 | minimatch@9.0.3: 1081 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} 1082 | engines: {node: '>=16 || 14 >=14.17'} 1083 | 1084 | minimatch@9.0.4: 1085 | resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} 1086 | engines: {node: '>=16 || 14 >=14.17'} 1087 | 1088 | minimist@1.2.8: 1089 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1090 | 1091 | minipass@7.1.1: 1092 | resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==} 1093 | engines: {node: '>=16 || 14 >=14.17'} 1094 | 1095 | ms@2.1.2: 1096 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1097 | 1098 | ms@2.1.3: 1099 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1100 | 1101 | mz@2.7.0: 1102 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1103 | 1104 | nanoid@3.3.7: 1105 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1106 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1107 | hasBin: true 1108 | 1109 | natural-compare@1.4.0: 1110 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1111 | 1112 | next@14.2.3: 1113 | resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==} 1114 | engines: {node: '>=18.17.0'} 1115 | hasBin: true 1116 | peerDependencies: 1117 | '@opentelemetry/api': ^1.1.0 1118 | '@playwright/test': ^1.41.2 1119 | react: ^18.2.0 1120 | react-dom: ^18.2.0 1121 | sass: ^1.3.0 1122 | peerDependenciesMeta: 1123 | '@opentelemetry/api': 1124 | optional: true 1125 | '@playwright/test': 1126 | optional: true 1127 | sass: 1128 | optional: true 1129 | 1130 | normalize-path@3.0.0: 1131 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1132 | engines: {node: '>=0.10.0'} 1133 | 1134 | object-assign@4.1.1: 1135 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1136 | engines: {node: '>=0.10.0'} 1137 | 1138 | object-hash@3.0.0: 1139 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1140 | engines: {node: '>= 6'} 1141 | 1142 | object-inspect@1.13.1: 1143 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} 1144 | 1145 | object-keys@1.1.1: 1146 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1147 | engines: {node: '>= 0.4'} 1148 | 1149 | object.assign@4.1.5: 1150 | resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} 1151 | engines: {node: '>= 0.4'} 1152 | 1153 | object.entries@1.1.8: 1154 | resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} 1155 | engines: {node: '>= 0.4'} 1156 | 1157 | object.fromentries@2.0.8: 1158 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} 1159 | engines: {node: '>= 0.4'} 1160 | 1161 | object.groupby@1.0.3: 1162 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 1163 | engines: {node: '>= 0.4'} 1164 | 1165 | object.hasown@1.1.4: 1166 | resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} 1167 | engines: {node: '>= 0.4'} 1168 | 1169 | object.values@1.2.0: 1170 | resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} 1171 | engines: {node: '>= 0.4'} 1172 | 1173 | once@1.4.0: 1174 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1175 | 1176 | optionator@0.9.4: 1177 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1178 | engines: {node: '>= 0.8.0'} 1179 | 1180 | p-limit@3.1.0: 1181 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1182 | engines: {node: '>=10'} 1183 | 1184 | p-locate@5.0.0: 1185 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1186 | engines: {node: '>=10'} 1187 | 1188 | parent-module@1.0.1: 1189 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1190 | engines: {node: '>=6'} 1191 | 1192 | path-exists@4.0.0: 1193 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1194 | engines: {node: '>=8'} 1195 | 1196 | path-is-absolute@1.0.1: 1197 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1198 | engines: {node: '>=0.10.0'} 1199 | 1200 | path-key@3.1.1: 1201 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1202 | engines: {node: '>=8'} 1203 | 1204 | path-parse@1.0.7: 1205 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1206 | 1207 | path-scurry@1.11.1: 1208 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1209 | engines: {node: '>=16 || 14 >=14.18'} 1210 | 1211 | path-type@4.0.0: 1212 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1213 | engines: {node: '>=8'} 1214 | 1215 | picocolors@1.0.1: 1216 | resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} 1217 | 1218 | picomatch@2.3.1: 1219 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1220 | engines: {node: '>=8.6'} 1221 | 1222 | pify@2.3.0: 1223 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1224 | engines: {node: '>=0.10.0'} 1225 | 1226 | pirates@4.0.6: 1227 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1228 | engines: {node: '>= 6'} 1229 | 1230 | possible-typed-array-names@1.0.0: 1231 | resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} 1232 | engines: {node: '>= 0.4'} 1233 | 1234 | postcss-import@15.1.0: 1235 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 1236 | engines: {node: '>=14.0.0'} 1237 | peerDependencies: 1238 | postcss: ^8.0.0 1239 | 1240 | postcss-js@4.0.1: 1241 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1242 | engines: {node: ^12 || ^14 || >= 16} 1243 | peerDependencies: 1244 | postcss: ^8.4.21 1245 | 1246 | postcss-load-config@4.0.2: 1247 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 1248 | engines: {node: '>= 14'} 1249 | peerDependencies: 1250 | postcss: '>=8.0.9' 1251 | ts-node: '>=9.0.0' 1252 | peerDependenciesMeta: 1253 | postcss: 1254 | optional: true 1255 | ts-node: 1256 | optional: true 1257 | 1258 | postcss-nested@6.0.1: 1259 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} 1260 | engines: {node: '>=12.0'} 1261 | peerDependencies: 1262 | postcss: ^8.2.14 1263 | 1264 | postcss-selector-parser@6.0.16: 1265 | resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} 1266 | engines: {node: '>=4'} 1267 | 1268 | postcss-value-parser@4.2.0: 1269 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1270 | 1271 | postcss@8.4.31: 1272 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 1273 | engines: {node: ^10 || ^12 || >=14} 1274 | 1275 | postcss@8.4.38: 1276 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} 1277 | engines: {node: ^10 || ^12 || >=14} 1278 | 1279 | prelude-ls@1.2.1: 1280 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1281 | engines: {node: '>= 0.8.0'} 1282 | 1283 | prop-types@15.8.1: 1284 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 1285 | 1286 | punycode@2.3.1: 1287 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1288 | engines: {node: '>=6'} 1289 | 1290 | queue-microtask@1.2.3: 1291 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1292 | 1293 | react-dom@18.3.1: 1294 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} 1295 | peerDependencies: 1296 | react: ^18.3.1 1297 | 1298 | react-is@16.13.1: 1299 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 1300 | 1301 | react@18.3.1: 1302 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} 1303 | engines: {node: '>=0.10.0'} 1304 | 1305 | read-cache@1.0.0: 1306 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1307 | 1308 | readdirp@3.6.0: 1309 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1310 | engines: {node: '>=8.10.0'} 1311 | 1312 | reflect.getprototypeof@1.0.6: 1313 | resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} 1314 | engines: {node: '>= 0.4'} 1315 | 1316 | regenerator-runtime@0.14.1: 1317 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 1318 | 1319 | regexp.prototype.flags@1.5.2: 1320 | resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} 1321 | engines: {node: '>= 0.4'} 1322 | 1323 | resolve-from@4.0.0: 1324 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1325 | engines: {node: '>=4'} 1326 | 1327 | resolve-pkg-maps@1.0.0: 1328 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 1329 | 1330 | resolve@1.22.8: 1331 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1332 | hasBin: true 1333 | 1334 | resolve@2.0.0-next.5: 1335 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 1336 | hasBin: true 1337 | 1338 | reusify@1.0.4: 1339 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1340 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1341 | 1342 | rimraf@3.0.2: 1343 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1344 | hasBin: true 1345 | 1346 | run-parallel@1.2.0: 1347 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1348 | 1349 | safe-array-concat@1.1.2: 1350 | resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} 1351 | engines: {node: '>=0.4'} 1352 | 1353 | safe-regex-test@1.0.3: 1354 | resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} 1355 | engines: {node: '>= 0.4'} 1356 | 1357 | scheduler@0.23.2: 1358 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} 1359 | 1360 | semver@6.3.1: 1361 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1362 | hasBin: true 1363 | 1364 | semver@7.6.2: 1365 | resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} 1366 | engines: {node: '>=10'} 1367 | hasBin: true 1368 | 1369 | set-function-length@1.2.2: 1370 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1371 | engines: {node: '>= 0.4'} 1372 | 1373 | set-function-name@2.0.2: 1374 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 1375 | engines: {node: '>= 0.4'} 1376 | 1377 | shebang-command@2.0.0: 1378 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1379 | engines: {node: '>=8'} 1380 | 1381 | shebang-regex@3.0.0: 1382 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1383 | engines: {node: '>=8'} 1384 | 1385 | side-channel@1.0.6: 1386 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} 1387 | engines: {node: '>= 0.4'} 1388 | 1389 | signal-exit@4.1.0: 1390 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1391 | engines: {node: '>=14'} 1392 | 1393 | slash@3.0.0: 1394 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1395 | engines: {node: '>=8'} 1396 | 1397 | socket.io-client@4.7.5: 1398 | resolution: {integrity: sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==} 1399 | engines: {node: '>=10.0.0'} 1400 | 1401 | socket.io-parser@4.2.4: 1402 | resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} 1403 | engines: {node: '>=10.0.0'} 1404 | 1405 | source-map-js@1.2.0: 1406 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} 1407 | engines: {node: '>=0.10.0'} 1408 | 1409 | streamsearch@1.1.0: 1410 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 1411 | engines: {node: '>=10.0.0'} 1412 | 1413 | string-width@4.2.3: 1414 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1415 | engines: {node: '>=8'} 1416 | 1417 | string-width@5.1.2: 1418 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1419 | engines: {node: '>=12'} 1420 | 1421 | string.prototype.matchall@4.0.11: 1422 | resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} 1423 | engines: {node: '>= 0.4'} 1424 | 1425 | string.prototype.trim@1.2.9: 1426 | resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} 1427 | engines: {node: '>= 0.4'} 1428 | 1429 | string.prototype.trimend@1.0.8: 1430 | resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} 1431 | 1432 | string.prototype.trimstart@1.0.8: 1433 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 1434 | engines: {node: '>= 0.4'} 1435 | 1436 | strip-ansi@6.0.1: 1437 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1438 | engines: {node: '>=8'} 1439 | 1440 | strip-ansi@7.1.0: 1441 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1442 | engines: {node: '>=12'} 1443 | 1444 | strip-bom@3.0.0: 1445 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1446 | engines: {node: '>=4'} 1447 | 1448 | strip-json-comments@3.1.1: 1449 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1450 | engines: {node: '>=8'} 1451 | 1452 | styled-jsx@5.1.1: 1453 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} 1454 | engines: {node: '>= 12.0.0'} 1455 | peerDependencies: 1456 | '@babel/core': '*' 1457 | babel-plugin-macros: '*' 1458 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' 1459 | peerDependenciesMeta: 1460 | '@babel/core': 1461 | optional: true 1462 | babel-plugin-macros: 1463 | optional: true 1464 | 1465 | sucrase@3.35.0: 1466 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1467 | engines: {node: '>=16 || 14 >=14.17'} 1468 | hasBin: true 1469 | 1470 | supports-color@7.2.0: 1471 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1472 | engines: {node: '>=8'} 1473 | 1474 | supports-preserve-symlinks-flag@1.0.0: 1475 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1476 | engines: {node: '>= 0.4'} 1477 | 1478 | tailwind-merge@2.3.0: 1479 | resolution: {integrity: sha512-vkYrLpIP+lgR0tQCG6AP7zZXCTLc1Lnv/CCRT3BqJ9CZ3ui2++GPaGb1x/ILsINIMSYqqvrpqjUFsMNLlW99EA==} 1480 | 1481 | tailwindcss-animate@1.0.7: 1482 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} 1483 | peerDependencies: 1484 | tailwindcss: '>=3.0.0 || insiders' 1485 | 1486 | tailwindcss@3.4.3: 1487 | resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} 1488 | engines: {node: '>=14.0.0'} 1489 | hasBin: true 1490 | 1491 | tapable@2.2.1: 1492 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 1493 | engines: {node: '>=6'} 1494 | 1495 | text-table@0.2.0: 1496 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1497 | 1498 | thenify-all@1.6.0: 1499 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1500 | engines: {node: '>=0.8'} 1501 | 1502 | thenify@3.3.1: 1503 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1504 | 1505 | to-regex-range@5.0.1: 1506 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1507 | engines: {node: '>=8.0'} 1508 | 1509 | ts-api-utils@1.3.0: 1510 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} 1511 | engines: {node: '>=16'} 1512 | peerDependencies: 1513 | typescript: '>=4.2.0' 1514 | 1515 | ts-interface-checker@0.1.13: 1516 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1517 | 1518 | tsconfig-paths@3.15.0: 1519 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 1520 | 1521 | tslib@2.6.2: 1522 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 1523 | 1524 | type-check@0.4.0: 1525 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1526 | engines: {node: '>= 0.8.0'} 1527 | 1528 | type-fest@0.20.2: 1529 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 1530 | engines: {node: '>=10'} 1531 | 1532 | typed-array-buffer@1.0.2: 1533 | resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} 1534 | engines: {node: '>= 0.4'} 1535 | 1536 | typed-array-byte-length@1.0.1: 1537 | resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} 1538 | engines: {node: '>= 0.4'} 1539 | 1540 | typed-array-byte-offset@1.0.2: 1541 | resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} 1542 | engines: {node: '>= 0.4'} 1543 | 1544 | typed-array-length@1.0.6: 1545 | resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} 1546 | engines: {node: '>= 0.4'} 1547 | 1548 | typescript@5.4.5: 1549 | resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} 1550 | engines: {node: '>=14.17'} 1551 | hasBin: true 1552 | 1553 | unbox-primitive@1.0.2: 1554 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 1555 | 1556 | undici-types@5.26.5: 1557 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 1558 | 1559 | uri-js@4.4.1: 1560 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1561 | 1562 | util-deprecate@1.0.2: 1563 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1564 | 1565 | which-boxed-primitive@1.0.2: 1566 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 1567 | 1568 | which-builtin-type@1.1.3: 1569 | resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} 1570 | engines: {node: '>= 0.4'} 1571 | 1572 | which-collection@1.0.2: 1573 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 1574 | engines: {node: '>= 0.4'} 1575 | 1576 | which-typed-array@1.1.15: 1577 | resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} 1578 | engines: {node: '>= 0.4'} 1579 | 1580 | which@2.0.2: 1581 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1582 | engines: {node: '>= 8'} 1583 | hasBin: true 1584 | 1585 | word-wrap@1.2.5: 1586 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1587 | engines: {node: '>=0.10.0'} 1588 | 1589 | wrap-ansi@7.0.0: 1590 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1591 | engines: {node: '>=10'} 1592 | 1593 | wrap-ansi@8.1.0: 1594 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1595 | engines: {node: '>=12'} 1596 | 1597 | wrappy@1.0.2: 1598 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1599 | 1600 | ws@8.11.0: 1601 | resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} 1602 | engines: {node: '>=10.0.0'} 1603 | peerDependencies: 1604 | bufferutil: ^4.0.1 1605 | utf-8-validate: ^5.0.2 1606 | peerDependenciesMeta: 1607 | bufferutil: 1608 | optional: true 1609 | utf-8-validate: 1610 | optional: true 1611 | 1612 | xmlhttprequest-ssl@2.0.0: 1613 | resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} 1614 | engines: {node: '>=0.4.0'} 1615 | 1616 | yaml@2.4.2: 1617 | resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} 1618 | engines: {node: '>= 14'} 1619 | hasBin: true 1620 | 1621 | yocto-queue@0.1.0: 1622 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1623 | engines: {node: '>=10'} 1624 | 1625 | snapshots: 1626 | 1627 | '@alloc/quick-lru@5.2.0': {} 1628 | 1629 | '@babel/runtime@7.24.5': 1630 | dependencies: 1631 | regenerator-runtime: 0.14.1 1632 | 1633 | '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': 1634 | dependencies: 1635 | eslint: 8.57.0 1636 | eslint-visitor-keys: 3.4.3 1637 | 1638 | '@eslint-community/regexpp@4.10.0': {} 1639 | 1640 | '@eslint/eslintrc@2.1.4': 1641 | dependencies: 1642 | ajv: 6.12.6 1643 | debug: 4.3.4 1644 | espree: 9.6.1 1645 | globals: 13.24.0 1646 | ignore: 5.3.1 1647 | import-fresh: 3.3.0 1648 | js-yaml: 4.1.0 1649 | minimatch: 3.1.2 1650 | strip-json-comments: 3.1.1 1651 | transitivePeerDependencies: 1652 | - supports-color 1653 | 1654 | '@eslint/js@8.57.0': {} 1655 | 1656 | '@humanwhocodes/config-array@0.11.14': 1657 | dependencies: 1658 | '@humanwhocodes/object-schema': 2.0.3 1659 | debug: 4.3.4 1660 | minimatch: 3.1.2 1661 | transitivePeerDependencies: 1662 | - supports-color 1663 | 1664 | '@humanwhocodes/module-importer@1.0.1': {} 1665 | 1666 | '@humanwhocodes/object-schema@2.0.3': {} 1667 | 1668 | '@isaacs/cliui@8.0.2': 1669 | dependencies: 1670 | string-width: 5.1.2 1671 | string-width-cjs: string-width@4.2.3 1672 | strip-ansi: 7.1.0 1673 | strip-ansi-cjs: strip-ansi@6.0.1 1674 | wrap-ansi: 8.1.0 1675 | wrap-ansi-cjs: wrap-ansi@7.0.0 1676 | 1677 | '@jridgewell/gen-mapping@0.3.5': 1678 | dependencies: 1679 | '@jridgewell/set-array': 1.2.1 1680 | '@jridgewell/sourcemap-codec': 1.4.15 1681 | '@jridgewell/trace-mapping': 0.3.25 1682 | 1683 | '@jridgewell/resolve-uri@3.1.2': {} 1684 | 1685 | '@jridgewell/set-array@1.2.1': {} 1686 | 1687 | '@jridgewell/sourcemap-codec@1.4.15': {} 1688 | 1689 | '@jridgewell/trace-mapping@0.3.25': 1690 | dependencies: 1691 | '@jridgewell/resolve-uri': 3.1.2 1692 | '@jridgewell/sourcemap-codec': 1.4.15 1693 | 1694 | '@next/env@14.2.3': {} 1695 | 1696 | '@next/eslint-plugin-next@14.2.3': 1697 | dependencies: 1698 | glob: 10.3.10 1699 | 1700 | '@next/swc-darwin-arm64@14.2.3': 1701 | optional: true 1702 | 1703 | '@next/swc-darwin-x64@14.2.3': 1704 | optional: true 1705 | 1706 | '@next/swc-linux-arm64-gnu@14.2.3': 1707 | optional: true 1708 | 1709 | '@next/swc-linux-arm64-musl@14.2.3': 1710 | optional: true 1711 | 1712 | '@next/swc-linux-x64-gnu@14.2.3': 1713 | optional: true 1714 | 1715 | '@next/swc-linux-x64-musl@14.2.3': 1716 | optional: true 1717 | 1718 | '@next/swc-win32-arm64-msvc@14.2.3': 1719 | optional: true 1720 | 1721 | '@next/swc-win32-ia32-msvc@14.2.3': 1722 | optional: true 1723 | 1724 | '@next/swc-win32-x64-msvc@14.2.3': 1725 | optional: true 1726 | 1727 | '@nodelib/fs.scandir@2.1.5': 1728 | dependencies: 1729 | '@nodelib/fs.stat': 2.0.5 1730 | run-parallel: 1.2.0 1731 | 1732 | '@nodelib/fs.stat@2.0.5': {} 1733 | 1734 | '@nodelib/fs.walk@1.2.8': 1735 | dependencies: 1736 | '@nodelib/fs.scandir': 2.1.5 1737 | fastq: 1.17.1 1738 | 1739 | '@pkgjs/parseargs@0.11.0': 1740 | optional: true 1741 | 1742 | '@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.2)(react@18.3.1)': 1743 | dependencies: 1744 | '@babel/runtime': 7.24.5 1745 | react: 18.3.1 1746 | optionalDependencies: 1747 | '@types/react': 18.3.2 1748 | 1749 | '@radix-ui/react-icons@1.3.0(react@18.3.1)': 1750 | dependencies: 1751 | react: 18.3.1 1752 | 1753 | '@radix-ui/react-label@2.0.2(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 1754 | dependencies: 1755 | '@babel/runtime': 7.24.5 1756 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 1757 | react: 18.3.1 1758 | react-dom: 18.3.1(react@18.3.1) 1759 | optionalDependencies: 1760 | '@types/react': 18.3.2 1761 | '@types/react-dom': 18.3.0 1762 | 1763 | '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 1764 | dependencies: 1765 | '@babel/runtime': 7.24.5 1766 | '@radix-ui/react-slot': 1.0.2(@types/react@18.3.2)(react@18.3.1) 1767 | react: 18.3.1 1768 | react-dom: 18.3.1(react@18.3.1) 1769 | optionalDependencies: 1770 | '@types/react': 18.3.2 1771 | '@types/react-dom': 18.3.0 1772 | 1773 | '@radix-ui/react-slot@1.0.2(@types/react@18.3.2)(react@18.3.1)': 1774 | dependencies: 1775 | '@babel/runtime': 7.24.5 1776 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.2)(react@18.3.1) 1777 | react: 18.3.1 1778 | optionalDependencies: 1779 | '@types/react': 18.3.2 1780 | 1781 | '@rushstack/eslint-patch@1.10.3': {} 1782 | 1783 | '@socket.io/component-emitter@3.1.2': {} 1784 | 1785 | '@swc/counter@0.1.3': {} 1786 | 1787 | '@swc/helpers@0.5.5': 1788 | dependencies: 1789 | '@swc/counter': 0.1.3 1790 | tslib: 2.6.2 1791 | 1792 | '@types/json5@0.0.29': {} 1793 | 1794 | '@types/node@20.12.12': 1795 | dependencies: 1796 | undici-types: 5.26.5 1797 | 1798 | '@types/prop-types@15.7.12': {} 1799 | 1800 | '@types/react-dom@18.3.0': 1801 | dependencies: 1802 | '@types/react': 18.3.2 1803 | 1804 | '@types/react@18.3.2': 1805 | dependencies: 1806 | '@types/prop-types': 15.7.12 1807 | csstype: 3.1.3 1808 | 1809 | '@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5)': 1810 | dependencies: 1811 | '@typescript-eslint/scope-manager': 7.2.0 1812 | '@typescript-eslint/types': 7.2.0 1813 | '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.5) 1814 | '@typescript-eslint/visitor-keys': 7.2.0 1815 | debug: 4.3.4 1816 | eslint: 8.57.0 1817 | optionalDependencies: 1818 | typescript: 5.4.5 1819 | transitivePeerDependencies: 1820 | - supports-color 1821 | 1822 | '@typescript-eslint/scope-manager@7.2.0': 1823 | dependencies: 1824 | '@typescript-eslint/types': 7.2.0 1825 | '@typescript-eslint/visitor-keys': 7.2.0 1826 | 1827 | '@typescript-eslint/types@7.2.0': {} 1828 | 1829 | '@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.5)': 1830 | dependencies: 1831 | '@typescript-eslint/types': 7.2.0 1832 | '@typescript-eslint/visitor-keys': 7.2.0 1833 | debug: 4.3.4 1834 | globby: 11.1.0 1835 | is-glob: 4.0.3 1836 | minimatch: 9.0.3 1837 | semver: 7.6.2 1838 | ts-api-utils: 1.3.0(typescript@5.4.5) 1839 | optionalDependencies: 1840 | typescript: 5.4.5 1841 | transitivePeerDependencies: 1842 | - supports-color 1843 | 1844 | '@typescript-eslint/visitor-keys@7.2.0': 1845 | dependencies: 1846 | '@typescript-eslint/types': 7.2.0 1847 | eslint-visitor-keys: 3.4.3 1848 | 1849 | '@ungap/structured-clone@1.2.0': {} 1850 | 1851 | acorn-jsx@5.3.2(acorn@8.11.3): 1852 | dependencies: 1853 | acorn: 8.11.3 1854 | 1855 | acorn@8.11.3: {} 1856 | 1857 | ajv@6.12.6: 1858 | dependencies: 1859 | fast-deep-equal: 3.1.3 1860 | fast-json-stable-stringify: 2.1.0 1861 | json-schema-traverse: 0.4.1 1862 | uri-js: 4.4.1 1863 | 1864 | ansi-regex@5.0.1: {} 1865 | 1866 | ansi-regex@6.0.1: {} 1867 | 1868 | ansi-styles@4.3.0: 1869 | dependencies: 1870 | color-convert: 2.0.1 1871 | 1872 | ansi-styles@6.2.1: {} 1873 | 1874 | any-promise@1.3.0: {} 1875 | 1876 | anymatch@3.1.3: 1877 | dependencies: 1878 | normalize-path: 3.0.0 1879 | picomatch: 2.3.1 1880 | 1881 | arg@5.0.2: {} 1882 | 1883 | argparse@2.0.1: {} 1884 | 1885 | aria-query@5.3.0: 1886 | dependencies: 1887 | dequal: 2.0.3 1888 | 1889 | array-buffer-byte-length@1.0.1: 1890 | dependencies: 1891 | call-bind: 1.0.7 1892 | is-array-buffer: 3.0.4 1893 | 1894 | array-includes@3.1.8: 1895 | dependencies: 1896 | call-bind: 1.0.7 1897 | define-properties: 1.2.1 1898 | es-abstract: 1.23.3 1899 | es-object-atoms: 1.0.0 1900 | get-intrinsic: 1.2.4 1901 | is-string: 1.0.7 1902 | 1903 | array-union@2.1.0: {} 1904 | 1905 | array.prototype.findlast@1.2.5: 1906 | dependencies: 1907 | call-bind: 1.0.7 1908 | define-properties: 1.2.1 1909 | es-abstract: 1.23.3 1910 | es-errors: 1.3.0 1911 | es-object-atoms: 1.0.0 1912 | es-shim-unscopables: 1.0.2 1913 | 1914 | array.prototype.findlastindex@1.2.5: 1915 | dependencies: 1916 | call-bind: 1.0.7 1917 | define-properties: 1.2.1 1918 | es-abstract: 1.23.3 1919 | es-errors: 1.3.0 1920 | es-object-atoms: 1.0.0 1921 | es-shim-unscopables: 1.0.2 1922 | 1923 | array.prototype.flat@1.3.2: 1924 | dependencies: 1925 | call-bind: 1.0.7 1926 | define-properties: 1.2.1 1927 | es-abstract: 1.23.3 1928 | es-shim-unscopables: 1.0.2 1929 | 1930 | array.prototype.flatmap@1.3.2: 1931 | dependencies: 1932 | call-bind: 1.0.7 1933 | define-properties: 1.2.1 1934 | es-abstract: 1.23.3 1935 | es-shim-unscopables: 1.0.2 1936 | 1937 | array.prototype.toreversed@1.1.2: 1938 | dependencies: 1939 | call-bind: 1.0.7 1940 | define-properties: 1.2.1 1941 | es-abstract: 1.23.3 1942 | es-shim-unscopables: 1.0.2 1943 | 1944 | array.prototype.tosorted@1.1.3: 1945 | dependencies: 1946 | call-bind: 1.0.7 1947 | define-properties: 1.2.1 1948 | es-abstract: 1.23.3 1949 | es-errors: 1.3.0 1950 | es-shim-unscopables: 1.0.2 1951 | 1952 | arraybuffer.prototype.slice@1.0.3: 1953 | dependencies: 1954 | array-buffer-byte-length: 1.0.1 1955 | call-bind: 1.0.7 1956 | define-properties: 1.2.1 1957 | es-abstract: 1.23.3 1958 | es-errors: 1.3.0 1959 | get-intrinsic: 1.2.4 1960 | is-array-buffer: 3.0.4 1961 | is-shared-array-buffer: 1.0.3 1962 | 1963 | ast-types-flow@0.0.8: {} 1964 | 1965 | available-typed-arrays@1.0.7: 1966 | dependencies: 1967 | possible-typed-array-names: 1.0.0 1968 | 1969 | axe-core@4.7.0: {} 1970 | 1971 | axobject-query@3.2.1: 1972 | dependencies: 1973 | dequal: 2.0.3 1974 | 1975 | balanced-match@1.0.2: {} 1976 | 1977 | binary-extensions@2.3.0: {} 1978 | 1979 | brace-expansion@1.1.11: 1980 | dependencies: 1981 | balanced-match: 1.0.2 1982 | concat-map: 0.0.1 1983 | 1984 | brace-expansion@2.0.1: 1985 | dependencies: 1986 | balanced-match: 1.0.2 1987 | 1988 | braces@3.0.2: 1989 | dependencies: 1990 | fill-range: 7.0.1 1991 | 1992 | busboy@1.6.0: 1993 | dependencies: 1994 | streamsearch: 1.1.0 1995 | 1996 | call-bind@1.0.7: 1997 | dependencies: 1998 | es-define-property: 1.0.0 1999 | es-errors: 1.3.0 2000 | function-bind: 1.1.2 2001 | get-intrinsic: 1.2.4 2002 | set-function-length: 1.2.2 2003 | 2004 | callsites@3.1.0: {} 2005 | 2006 | camelcase-css@2.0.1: {} 2007 | 2008 | caniuse-lite@1.0.30001620: {} 2009 | 2010 | chalk@4.1.2: 2011 | dependencies: 2012 | ansi-styles: 4.3.0 2013 | supports-color: 7.2.0 2014 | 2015 | chokidar@3.6.0: 2016 | dependencies: 2017 | anymatch: 3.1.3 2018 | braces: 3.0.2 2019 | glob-parent: 5.1.2 2020 | is-binary-path: 2.1.0 2021 | is-glob: 4.0.3 2022 | normalize-path: 3.0.0 2023 | readdirp: 3.6.0 2024 | optionalDependencies: 2025 | fsevents: 2.3.3 2026 | 2027 | class-variance-authority@0.7.0: 2028 | dependencies: 2029 | clsx: 2.0.0 2030 | 2031 | client-only@0.0.1: {} 2032 | 2033 | clsx@2.0.0: {} 2034 | 2035 | clsx@2.1.1: {} 2036 | 2037 | color-convert@2.0.1: 2038 | dependencies: 2039 | color-name: 1.1.4 2040 | 2041 | color-name@1.1.4: {} 2042 | 2043 | commander@4.1.1: {} 2044 | 2045 | concat-map@0.0.1: {} 2046 | 2047 | cross-spawn@7.0.3: 2048 | dependencies: 2049 | path-key: 3.1.1 2050 | shebang-command: 2.0.0 2051 | which: 2.0.2 2052 | 2053 | cssesc@3.0.0: {} 2054 | 2055 | csstype@3.1.3: {} 2056 | 2057 | damerau-levenshtein@1.0.8: {} 2058 | 2059 | data-view-buffer@1.0.1: 2060 | dependencies: 2061 | call-bind: 1.0.7 2062 | es-errors: 1.3.0 2063 | is-data-view: 1.0.1 2064 | 2065 | data-view-byte-length@1.0.1: 2066 | dependencies: 2067 | call-bind: 1.0.7 2068 | es-errors: 1.3.0 2069 | is-data-view: 1.0.1 2070 | 2071 | data-view-byte-offset@1.0.0: 2072 | dependencies: 2073 | call-bind: 1.0.7 2074 | es-errors: 1.3.0 2075 | is-data-view: 1.0.1 2076 | 2077 | debug@3.2.7: 2078 | dependencies: 2079 | ms: 2.1.3 2080 | 2081 | debug@4.3.4: 2082 | dependencies: 2083 | ms: 2.1.2 2084 | 2085 | deep-is@0.1.4: {} 2086 | 2087 | define-data-property@1.1.4: 2088 | dependencies: 2089 | es-define-property: 1.0.0 2090 | es-errors: 1.3.0 2091 | gopd: 1.0.1 2092 | 2093 | define-properties@1.2.1: 2094 | dependencies: 2095 | define-data-property: 1.1.4 2096 | has-property-descriptors: 1.0.2 2097 | object-keys: 1.1.1 2098 | 2099 | dequal@2.0.3: {} 2100 | 2101 | didyoumean@1.2.2: {} 2102 | 2103 | dir-glob@3.0.1: 2104 | dependencies: 2105 | path-type: 4.0.0 2106 | 2107 | dlv@1.1.3: {} 2108 | 2109 | doctrine@2.1.0: 2110 | dependencies: 2111 | esutils: 2.0.3 2112 | 2113 | doctrine@3.0.0: 2114 | dependencies: 2115 | esutils: 2.0.3 2116 | 2117 | eastasianwidth@0.2.0: {} 2118 | 2119 | emoji-regex@8.0.0: {} 2120 | 2121 | emoji-regex@9.2.2: {} 2122 | 2123 | engine.io-client@6.5.3: 2124 | dependencies: 2125 | '@socket.io/component-emitter': 3.1.2 2126 | debug: 4.3.4 2127 | engine.io-parser: 5.2.2 2128 | ws: 8.11.0 2129 | xmlhttprequest-ssl: 2.0.0 2130 | transitivePeerDependencies: 2131 | - bufferutil 2132 | - supports-color 2133 | - utf-8-validate 2134 | 2135 | engine.io-parser@5.2.2: {} 2136 | 2137 | enhanced-resolve@5.16.1: 2138 | dependencies: 2139 | graceful-fs: 4.2.11 2140 | tapable: 2.2.1 2141 | 2142 | es-abstract@1.23.3: 2143 | dependencies: 2144 | array-buffer-byte-length: 1.0.1 2145 | arraybuffer.prototype.slice: 1.0.3 2146 | available-typed-arrays: 1.0.7 2147 | call-bind: 1.0.7 2148 | data-view-buffer: 1.0.1 2149 | data-view-byte-length: 1.0.1 2150 | data-view-byte-offset: 1.0.0 2151 | es-define-property: 1.0.0 2152 | es-errors: 1.3.0 2153 | es-object-atoms: 1.0.0 2154 | es-set-tostringtag: 2.0.3 2155 | es-to-primitive: 1.2.1 2156 | function.prototype.name: 1.1.6 2157 | get-intrinsic: 1.2.4 2158 | get-symbol-description: 1.0.2 2159 | globalthis: 1.0.4 2160 | gopd: 1.0.1 2161 | has-property-descriptors: 1.0.2 2162 | has-proto: 1.0.3 2163 | has-symbols: 1.0.3 2164 | hasown: 2.0.2 2165 | internal-slot: 1.0.7 2166 | is-array-buffer: 3.0.4 2167 | is-callable: 1.2.7 2168 | is-data-view: 1.0.1 2169 | is-negative-zero: 2.0.3 2170 | is-regex: 1.1.4 2171 | is-shared-array-buffer: 1.0.3 2172 | is-string: 1.0.7 2173 | is-typed-array: 1.1.13 2174 | is-weakref: 1.0.2 2175 | object-inspect: 1.13.1 2176 | object-keys: 1.1.1 2177 | object.assign: 4.1.5 2178 | regexp.prototype.flags: 1.5.2 2179 | safe-array-concat: 1.1.2 2180 | safe-regex-test: 1.0.3 2181 | string.prototype.trim: 1.2.9 2182 | string.prototype.trimend: 1.0.8 2183 | string.prototype.trimstart: 1.0.8 2184 | typed-array-buffer: 1.0.2 2185 | typed-array-byte-length: 1.0.1 2186 | typed-array-byte-offset: 1.0.2 2187 | typed-array-length: 1.0.6 2188 | unbox-primitive: 1.0.2 2189 | which-typed-array: 1.1.15 2190 | 2191 | es-define-property@1.0.0: 2192 | dependencies: 2193 | get-intrinsic: 1.2.4 2194 | 2195 | es-errors@1.3.0: {} 2196 | 2197 | es-iterator-helpers@1.0.19: 2198 | dependencies: 2199 | call-bind: 1.0.7 2200 | define-properties: 1.2.1 2201 | es-abstract: 1.23.3 2202 | es-errors: 1.3.0 2203 | es-set-tostringtag: 2.0.3 2204 | function-bind: 1.1.2 2205 | get-intrinsic: 1.2.4 2206 | globalthis: 1.0.4 2207 | has-property-descriptors: 1.0.2 2208 | has-proto: 1.0.3 2209 | has-symbols: 1.0.3 2210 | internal-slot: 1.0.7 2211 | iterator.prototype: 1.1.2 2212 | safe-array-concat: 1.1.2 2213 | 2214 | es-object-atoms@1.0.0: 2215 | dependencies: 2216 | es-errors: 1.3.0 2217 | 2218 | es-set-tostringtag@2.0.3: 2219 | dependencies: 2220 | get-intrinsic: 1.2.4 2221 | has-tostringtag: 1.0.2 2222 | hasown: 2.0.2 2223 | 2224 | es-shim-unscopables@1.0.2: 2225 | dependencies: 2226 | hasown: 2.0.2 2227 | 2228 | es-to-primitive@1.2.1: 2229 | dependencies: 2230 | is-callable: 1.2.7 2231 | is-date-object: 1.0.5 2232 | is-symbol: 1.0.4 2233 | 2234 | escape-string-regexp@4.0.0: {} 2235 | 2236 | eslint-config-next@14.2.3(eslint@8.57.0)(typescript@5.4.5): 2237 | dependencies: 2238 | '@next/eslint-plugin-next': 14.2.3 2239 | '@rushstack/eslint-patch': 1.10.3 2240 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) 2241 | eslint: 8.57.0 2242 | eslint-import-resolver-node: 0.3.9 2243 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) 2244 | eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) 2245 | eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) 2246 | eslint-plugin-react: 7.34.1(eslint@8.57.0) 2247 | eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) 2248 | optionalDependencies: 2249 | typescript: 5.4.5 2250 | transitivePeerDependencies: 2251 | - eslint-import-resolver-webpack 2252 | - supports-color 2253 | 2254 | eslint-import-resolver-node@0.3.9: 2255 | dependencies: 2256 | debug: 3.2.7 2257 | is-core-module: 2.13.1 2258 | resolve: 1.22.8 2259 | transitivePeerDependencies: 2260 | - supports-color 2261 | 2262 | eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): 2263 | dependencies: 2264 | debug: 4.3.4 2265 | enhanced-resolve: 5.16.1 2266 | eslint: 8.57.0 2267 | eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) 2268 | eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) 2269 | fast-glob: 3.3.2 2270 | get-tsconfig: 4.7.5 2271 | is-core-module: 2.13.1 2272 | is-glob: 4.0.3 2273 | transitivePeerDependencies: 2274 | - '@typescript-eslint/parser' 2275 | - eslint-import-resolver-node 2276 | - eslint-import-resolver-webpack 2277 | - supports-color 2278 | 2279 | eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): 2280 | dependencies: 2281 | debug: 3.2.7 2282 | optionalDependencies: 2283 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) 2284 | eslint: 8.57.0 2285 | eslint-import-resolver-node: 0.3.9 2286 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) 2287 | transitivePeerDependencies: 2288 | - supports-color 2289 | 2290 | eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): 2291 | dependencies: 2292 | array-includes: 3.1.8 2293 | array.prototype.findlastindex: 1.2.5 2294 | array.prototype.flat: 1.3.2 2295 | array.prototype.flatmap: 1.3.2 2296 | debug: 3.2.7 2297 | doctrine: 2.1.0 2298 | eslint: 8.57.0 2299 | eslint-import-resolver-node: 0.3.9 2300 | eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) 2301 | hasown: 2.0.2 2302 | is-core-module: 2.13.1 2303 | is-glob: 4.0.3 2304 | minimatch: 3.1.2 2305 | object.fromentries: 2.0.8 2306 | object.groupby: 1.0.3 2307 | object.values: 1.2.0 2308 | semver: 6.3.1 2309 | tsconfig-paths: 3.15.0 2310 | optionalDependencies: 2311 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) 2312 | transitivePeerDependencies: 2313 | - eslint-import-resolver-typescript 2314 | - eslint-import-resolver-webpack 2315 | - supports-color 2316 | 2317 | eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): 2318 | dependencies: 2319 | '@babel/runtime': 7.24.5 2320 | aria-query: 5.3.0 2321 | array-includes: 3.1.8 2322 | array.prototype.flatmap: 1.3.2 2323 | ast-types-flow: 0.0.8 2324 | axe-core: 4.7.0 2325 | axobject-query: 3.2.1 2326 | damerau-levenshtein: 1.0.8 2327 | emoji-regex: 9.2.2 2328 | es-iterator-helpers: 1.0.19 2329 | eslint: 8.57.0 2330 | hasown: 2.0.2 2331 | jsx-ast-utils: 3.3.5 2332 | language-tags: 1.0.9 2333 | minimatch: 3.1.2 2334 | object.entries: 1.1.8 2335 | object.fromentries: 2.0.8 2336 | 2337 | eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): 2338 | dependencies: 2339 | eslint: 8.57.0 2340 | 2341 | eslint-plugin-react@7.34.1(eslint@8.57.0): 2342 | dependencies: 2343 | array-includes: 3.1.8 2344 | array.prototype.findlast: 1.2.5 2345 | array.prototype.flatmap: 1.3.2 2346 | array.prototype.toreversed: 1.1.2 2347 | array.prototype.tosorted: 1.1.3 2348 | doctrine: 2.1.0 2349 | es-iterator-helpers: 1.0.19 2350 | eslint: 8.57.0 2351 | estraverse: 5.3.0 2352 | jsx-ast-utils: 3.3.5 2353 | minimatch: 3.1.2 2354 | object.entries: 1.1.8 2355 | object.fromentries: 2.0.8 2356 | object.hasown: 1.1.4 2357 | object.values: 1.2.0 2358 | prop-types: 15.8.1 2359 | resolve: 2.0.0-next.5 2360 | semver: 6.3.1 2361 | string.prototype.matchall: 4.0.11 2362 | 2363 | eslint-scope@7.2.2: 2364 | dependencies: 2365 | esrecurse: 4.3.0 2366 | estraverse: 5.3.0 2367 | 2368 | eslint-visitor-keys@3.4.3: {} 2369 | 2370 | eslint@8.57.0: 2371 | dependencies: 2372 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) 2373 | '@eslint-community/regexpp': 4.10.0 2374 | '@eslint/eslintrc': 2.1.4 2375 | '@eslint/js': 8.57.0 2376 | '@humanwhocodes/config-array': 0.11.14 2377 | '@humanwhocodes/module-importer': 1.0.1 2378 | '@nodelib/fs.walk': 1.2.8 2379 | '@ungap/structured-clone': 1.2.0 2380 | ajv: 6.12.6 2381 | chalk: 4.1.2 2382 | cross-spawn: 7.0.3 2383 | debug: 4.3.4 2384 | doctrine: 3.0.0 2385 | escape-string-regexp: 4.0.0 2386 | eslint-scope: 7.2.2 2387 | eslint-visitor-keys: 3.4.3 2388 | espree: 9.6.1 2389 | esquery: 1.5.0 2390 | esutils: 2.0.3 2391 | fast-deep-equal: 3.1.3 2392 | file-entry-cache: 6.0.1 2393 | find-up: 5.0.0 2394 | glob-parent: 6.0.2 2395 | globals: 13.24.0 2396 | graphemer: 1.4.0 2397 | ignore: 5.3.1 2398 | imurmurhash: 0.1.4 2399 | is-glob: 4.0.3 2400 | is-path-inside: 3.0.3 2401 | js-yaml: 4.1.0 2402 | json-stable-stringify-without-jsonify: 1.0.1 2403 | levn: 0.4.1 2404 | lodash.merge: 4.6.2 2405 | minimatch: 3.1.2 2406 | natural-compare: 1.4.0 2407 | optionator: 0.9.4 2408 | strip-ansi: 6.0.1 2409 | text-table: 0.2.0 2410 | transitivePeerDependencies: 2411 | - supports-color 2412 | 2413 | espree@9.6.1: 2414 | dependencies: 2415 | acorn: 8.11.3 2416 | acorn-jsx: 5.3.2(acorn@8.11.3) 2417 | eslint-visitor-keys: 3.4.3 2418 | 2419 | esquery@1.5.0: 2420 | dependencies: 2421 | estraverse: 5.3.0 2422 | 2423 | esrecurse@4.3.0: 2424 | dependencies: 2425 | estraverse: 5.3.0 2426 | 2427 | estraverse@5.3.0: {} 2428 | 2429 | esutils@2.0.3: {} 2430 | 2431 | fast-deep-equal@3.1.3: {} 2432 | 2433 | fast-glob@3.3.2: 2434 | dependencies: 2435 | '@nodelib/fs.stat': 2.0.5 2436 | '@nodelib/fs.walk': 1.2.8 2437 | glob-parent: 5.1.2 2438 | merge2: 1.4.1 2439 | micromatch: 4.0.5 2440 | 2441 | fast-json-stable-stringify@2.1.0: {} 2442 | 2443 | fast-levenshtein@2.0.6: {} 2444 | 2445 | fastq@1.17.1: 2446 | dependencies: 2447 | reusify: 1.0.4 2448 | 2449 | file-entry-cache@6.0.1: 2450 | dependencies: 2451 | flat-cache: 3.2.0 2452 | 2453 | fill-range@7.0.1: 2454 | dependencies: 2455 | to-regex-range: 5.0.1 2456 | 2457 | find-up@5.0.0: 2458 | dependencies: 2459 | locate-path: 6.0.0 2460 | path-exists: 4.0.0 2461 | 2462 | flat-cache@3.2.0: 2463 | dependencies: 2464 | flatted: 3.3.1 2465 | keyv: 4.5.4 2466 | rimraf: 3.0.2 2467 | 2468 | flatted@3.3.1: {} 2469 | 2470 | for-each@0.3.3: 2471 | dependencies: 2472 | is-callable: 1.2.7 2473 | 2474 | foreground-child@3.1.1: 2475 | dependencies: 2476 | cross-spawn: 7.0.3 2477 | signal-exit: 4.1.0 2478 | 2479 | fs.realpath@1.0.0: {} 2480 | 2481 | fsevents@2.3.3: 2482 | optional: true 2483 | 2484 | function-bind@1.1.2: {} 2485 | 2486 | function.prototype.name@1.1.6: 2487 | dependencies: 2488 | call-bind: 1.0.7 2489 | define-properties: 1.2.1 2490 | es-abstract: 1.23.3 2491 | functions-have-names: 1.2.3 2492 | 2493 | functions-have-names@1.2.3: {} 2494 | 2495 | get-intrinsic@1.2.4: 2496 | dependencies: 2497 | es-errors: 1.3.0 2498 | function-bind: 1.1.2 2499 | has-proto: 1.0.3 2500 | has-symbols: 1.0.3 2501 | hasown: 2.0.2 2502 | 2503 | get-symbol-description@1.0.2: 2504 | dependencies: 2505 | call-bind: 1.0.7 2506 | es-errors: 1.3.0 2507 | get-intrinsic: 1.2.4 2508 | 2509 | get-tsconfig@4.7.5: 2510 | dependencies: 2511 | resolve-pkg-maps: 1.0.0 2512 | 2513 | glob-parent@5.1.2: 2514 | dependencies: 2515 | is-glob: 4.0.3 2516 | 2517 | glob-parent@6.0.2: 2518 | dependencies: 2519 | is-glob: 4.0.3 2520 | 2521 | glob@10.3.10: 2522 | dependencies: 2523 | foreground-child: 3.1.1 2524 | jackspeak: 2.3.6 2525 | minimatch: 9.0.4 2526 | minipass: 7.1.1 2527 | path-scurry: 1.11.1 2528 | 2529 | glob@10.3.15: 2530 | dependencies: 2531 | foreground-child: 3.1.1 2532 | jackspeak: 2.3.6 2533 | minimatch: 9.0.4 2534 | minipass: 7.1.1 2535 | path-scurry: 1.11.1 2536 | 2537 | glob@7.2.3: 2538 | dependencies: 2539 | fs.realpath: 1.0.0 2540 | inflight: 1.0.6 2541 | inherits: 2.0.4 2542 | minimatch: 3.1.2 2543 | once: 1.4.0 2544 | path-is-absolute: 1.0.1 2545 | 2546 | globals@13.24.0: 2547 | dependencies: 2548 | type-fest: 0.20.2 2549 | 2550 | globalthis@1.0.4: 2551 | dependencies: 2552 | define-properties: 1.2.1 2553 | gopd: 1.0.1 2554 | 2555 | globby@11.1.0: 2556 | dependencies: 2557 | array-union: 2.1.0 2558 | dir-glob: 3.0.1 2559 | fast-glob: 3.3.2 2560 | ignore: 5.3.1 2561 | merge2: 1.4.1 2562 | slash: 3.0.0 2563 | 2564 | gopd@1.0.1: 2565 | dependencies: 2566 | get-intrinsic: 1.2.4 2567 | 2568 | graceful-fs@4.2.11: {} 2569 | 2570 | graphemer@1.4.0: {} 2571 | 2572 | has-bigints@1.0.2: {} 2573 | 2574 | has-flag@4.0.0: {} 2575 | 2576 | has-property-descriptors@1.0.2: 2577 | dependencies: 2578 | es-define-property: 1.0.0 2579 | 2580 | has-proto@1.0.3: {} 2581 | 2582 | has-symbols@1.0.3: {} 2583 | 2584 | has-tostringtag@1.0.2: 2585 | dependencies: 2586 | has-symbols: 1.0.3 2587 | 2588 | hasown@2.0.2: 2589 | dependencies: 2590 | function-bind: 1.1.2 2591 | 2592 | ignore@5.3.1: {} 2593 | 2594 | import-fresh@3.3.0: 2595 | dependencies: 2596 | parent-module: 1.0.1 2597 | resolve-from: 4.0.0 2598 | 2599 | imurmurhash@0.1.4: {} 2600 | 2601 | inflight@1.0.6: 2602 | dependencies: 2603 | once: 1.4.0 2604 | wrappy: 1.0.2 2605 | 2606 | inherits@2.0.4: {} 2607 | 2608 | internal-slot@1.0.7: 2609 | dependencies: 2610 | es-errors: 1.3.0 2611 | hasown: 2.0.2 2612 | side-channel: 1.0.6 2613 | 2614 | is-array-buffer@3.0.4: 2615 | dependencies: 2616 | call-bind: 1.0.7 2617 | get-intrinsic: 1.2.4 2618 | 2619 | is-async-function@2.0.0: 2620 | dependencies: 2621 | has-tostringtag: 1.0.2 2622 | 2623 | is-bigint@1.0.4: 2624 | dependencies: 2625 | has-bigints: 1.0.2 2626 | 2627 | is-binary-path@2.1.0: 2628 | dependencies: 2629 | binary-extensions: 2.3.0 2630 | 2631 | is-boolean-object@1.1.2: 2632 | dependencies: 2633 | call-bind: 1.0.7 2634 | has-tostringtag: 1.0.2 2635 | 2636 | is-callable@1.2.7: {} 2637 | 2638 | is-core-module@2.13.1: 2639 | dependencies: 2640 | hasown: 2.0.2 2641 | 2642 | is-data-view@1.0.1: 2643 | dependencies: 2644 | is-typed-array: 1.1.13 2645 | 2646 | is-date-object@1.0.5: 2647 | dependencies: 2648 | has-tostringtag: 1.0.2 2649 | 2650 | is-extglob@2.1.1: {} 2651 | 2652 | is-finalizationregistry@1.0.2: 2653 | dependencies: 2654 | call-bind: 1.0.7 2655 | 2656 | is-fullwidth-code-point@3.0.0: {} 2657 | 2658 | is-generator-function@1.0.10: 2659 | dependencies: 2660 | has-tostringtag: 1.0.2 2661 | 2662 | is-glob@4.0.3: 2663 | dependencies: 2664 | is-extglob: 2.1.1 2665 | 2666 | is-map@2.0.3: {} 2667 | 2668 | is-negative-zero@2.0.3: {} 2669 | 2670 | is-number-object@1.0.7: 2671 | dependencies: 2672 | has-tostringtag: 1.0.2 2673 | 2674 | is-number@7.0.0: {} 2675 | 2676 | is-path-inside@3.0.3: {} 2677 | 2678 | is-regex@1.1.4: 2679 | dependencies: 2680 | call-bind: 1.0.7 2681 | has-tostringtag: 1.0.2 2682 | 2683 | is-set@2.0.3: {} 2684 | 2685 | is-shared-array-buffer@1.0.3: 2686 | dependencies: 2687 | call-bind: 1.0.7 2688 | 2689 | is-string@1.0.7: 2690 | dependencies: 2691 | has-tostringtag: 1.0.2 2692 | 2693 | is-symbol@1.0.4: 2694 | dependencies: 2695 | has-symbols: 1.0.3 2696 | 2697 | is-typed-array@1.1.13: 2698 | dependencies: 2699 | which-typed-array: 1.1.15 2700 | 2701 | is-weakmap@2.0.2: {} 2702 | 2703 | is-weakref@1.0.2: 2704 | dependencies: 2705 | call-bind: 1.0.7 2706 | 2707 | is-weakset@2.0.3: 2708 | dependencies: 2709 | call-bind: 1.0.7 2710 | get-intrinsic: 1.2.4 2711 | 2712 | isarray@2.0.5: {} 2713 | 2714 | isexe@2.0.0: {} 2715 | 2716 | iterator.prototype@1.1.2: 2717 | dependencies: 2718 | define-properties: 1.2.1 2719 | get-intrinsic: 1.2.4 2720 | has-symbols: 1.0.3 2721 | reflect.getprototypeof: 1.0.6 2722 | set-function-name: 2.0.2 2723 | 2724 | jackspeak@2.3.6: 2725 | dependencies: 2726 | '@isaacs/cliui': 8.0.2 2727 | optionalDependencies: 2728 | '@pkgjs/parseargs': 0.11.0 2729 | 2730 | jiti@1.21.0: {} 2731 | 2732 | js-tokens@4.0.0: {} 2733 | 2734 | js-yaml@4.1.0: 2735 | dependencies: 2736 | argparse: 2.0.1 2737 | 2738 | json-buffer@3.0.1: {} 2739 | 2740 | json-schema-traverse@0.4.1: {} 2741 | 2742 | json-stable-stringify-without-jsonify@1.0.1: {} 2743 | 2744 | json5@1.0.2: 2745 | dependencies: 2746 | minimist: 1.2.8 2747 | 2748 | jsx-ast-utils@3.3.5: 2749 | dependencies: 2750 | array-includes: 3.1.8 2751 | array.prototype.flat: 1.3.2 2752 | object.assign: 4.1.5 2753 | object.values: 1.2.0 2754 | 2755 | keyv@4.5.4: 2756 | dependencies: 2757 | json-buffer: 3.0.1 2758 | 2759 | language-subtag-registry@0.3.22: {} 2760 | 2761 | language-tags@1.0.9: 2762 | dependencies: 2763 | language-subtag-registry: 0.3.22 2764 | 2765 | levn@0.4.1: 2766 | dependencies: 2767 | prelude-ls: 1.2.1 2768 | type-check: 0.4.0 2769 | 2770 | lilconfig@2.1.0: {} 2771 | 2772 | lilconfig@3.1.1: {} 2773 | 2774 | lines-and-columns@1.2.4: {} 2775 | 2776 | locate-path@6.0.0: 2777 | dependencies: 2778 | p-locate: 5.0.0 2779 | 2780 | lodash.merge@4.6.2: {} 2781 | 2782 | loose-envify@1.4.0: 2783 | dependencies: 2784 | js-tokens: 4.0.0 2785 | 2786 | lru-cache@10.2.2: {} 2787 | 2788 | merge2@1.4.1: {} 2789 | 2790 | micromatch@4.0.5: 2791 | dependencies: 2792 | braces: 3.0.2 2793 | picomatch: 2.3.1 2794 | 2795 | minimatch@3.1.2: 2796 | dependencies: 2797 | brace-expansion: 1.1.11 2798 | 2799 | minimatch@9.0.3: 2800 | dependencies: 2801 | brace-expansion: 2.0.1 2802 | 2803 | minimatch@9.0.4: 2804 | dependencies: 2805 | brace-expansion: 2.0.1 2806 | 2807 | minimist@1.2.8: {} 2808 | 2809 | minipass@7.1.1: {} 2810 | 2811 | ms@2.1.2: {} 2812 | 2813 | ms@2.1.3: {} 2814 | 2815 | mz@2.7.0: 2816 | dependencies: 2817 | any-promise: 1.3.0 2818 | object-assign: 4.1.1 2819 | thenify-all: 1.6.0 2820 | 2821 | nanoid@3.3.7: {} 2822 | 2823 | natural-compare@1.4.0: {} 2824 | 2825 | next@14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1): 2826 | dependencies: 2827 | '@next/env': 14.2.3 2828 | '@swc/helpers': 0.5.5 2829 | busboy: 1.6.0 2830 | caniuse-lite: 1.0.30001620 2831 | graceful-fs: 4.2.11 2832 | postcss: 8.4.31 2833 | react: 18.3.1 2834 | react-dom: 18.3.1(react@18.3.1) 2835 | styled-jsx: 5.1.1(react@18.3.1) 2836 | optionalDependencies: 2837 | '@next/swc-darwin-arm64': 14.2.3 2838 | '@next/swc-darwin-x64': 14.2.3 2839 | '@next/swc-linux-arm64-gnu': 14.2.3 2840 | '@next/swc-linux-arm64-musl': 14.2.3 2841 | '@next/swc-linux-x64-gnu': 14.2.3 2842 | '@next/swc-linux-x64-musl': 14.2.3 2843 | '@next/swc-win32-arm64-msvc': 14.2.3 2844 | '@next/swc-win32-ia32-msvc': 14.2.3 2845 | '@next/swc-win32-x64-msvc': 14.2.3 2846 | transitivePeerDependencies: 2847 | - '@babel/core' 2848 | - babel-plugin-macros 2849 | 2850 | normalize-path@3.0.0: {} 2851 | 2852 | object-assign@4.1.1: {} 2853 | 2854 | object-hash@3.0.0: {} 2855 | 2856 | object-inspect@1.13.1: {} 2857 | 2858 | object-keys@1.1.1: {} 2859 | 2860 | object.assign@4.1.5: 2861 | dependencies: 2862 | call-bind: 1.0.7 2863 | define-properties: 1.2.1 2864 | has-symbols: 1.0.3 2865 | object-keys: 1.1.1 2866 | 2867 | object.entries@1.1.8: 2868 | dependencies: 2869 | call-bind: 1.0.7 2870 | define-properties: 1.2.1 2871 | es-object-atoms: 1.0.0 2872 | 2873 | object.fromentries@2.0.8: 2874 | dependencies: 2875 | call-bind: 1.0.7 2876 | define-properties: 1.2.1 2877 | es-abstract: 1.23.3 2878 | es-object-atoms: 1.0.0 2879 | 2880 | object.groupby@1.0.3: 2881 | dependencies: 2882 | call-bind: 1.0.7 2883 | define-properties: 1.2.1 2884 | es-abstract: 1.23.3 2885 | 2886 | object.hasown@1.1.4: 2887 | dependencies: 2888 | define-properties: 1.2.1 2889 | es-abstract: 1.23.3 2890 | es-object-atoms: 1.0.0 2891 | 2892 | object.values@1.2.0: 2893 | dependencies: 2894 | call-bind: 1.0.7 2895 | define-properties: 1.2.1 2896 | es-object-atoms: 1.0.0 2897 | 2898 | once@1.4.0: 2899 | dependencies: 2900 | wrappy: 1.0.2 2901 | 2902 | optionator@0.9.4: 2903 | dependencies: 2904 | deep-is: 0.1.4 2905 | fast-levenshtein: 2.0.6 2906 | levn: 0.4.1 2907 | prelude-ls: 1.2.1 2908 | type-check: 0.4.0 2909 | word-wrap: 1.2.5 2910 | 2911 | p-limit@3.1.0: 2912 | dependencies: 2913 | yocto-queue: 0.1.0 2914 | 2915 | p-locate@5.0.0: 2916 | dependencies: 2917 | p-limit: 3.1.0 2918 | 2919 | parent-module@1.0.1: 2920 | dependencies: 2921 | callsites: 3.1.0 2922 | 2923 | path-exists@4.0.0: {} 2924 | 2925 | path-is-absolute@1.0.1: {} 2926 | 2927 | path-key@3.1.1: {} 2928 | 2929 | path-parse@1.0.7: {} 2930 | 2931 | path-scurry@1.11.1: 2932 | dependencies: 2933 | lru-cache: 10.2.2 2934 | minipass: 7.1.1 2935 | 2936 | path-type@4.0.0: {} 2937 | 2938 | picocolors@1.0.1: {} 2939 | 2940 | picomatch@2.3.1: {} 2941 | 2942 | pify@2.3.0: {} 2943 | 2944 | pirates@4.0.6: {} 2945 | 2946 | possible-typed-array-names@1.0.0: {} 2947 | 2948 | postcss-import@15.1.0(postcss@8.4.38): 2949 | dependencies: 2950 | postcss: 8.4.38 2951 | postcss-value-parser: 4.2.0 2952 | read-cache: 1.0.0 2953 | resolve: 1.22.8 2954 | 2955 | postcss-js@4.0.1(postcss@8.4.38): 2956 | dependencies: 2957 | camelcase-css: 2.0.1 2958 | postcss: 8.4.38 2959 | 2960 | postcss-load-config@4.0.2(postcss@8.4.38): 2961 | dependencies: 2962 | lilconfig: 3.1.1 2963 | yaml: 2.4.2 2964 | optionalDependencies: 2965 | postcss: 8.4.38 2966 | 2967 | postcss-nested@6.0.1(postcss@8.4.38): 2968 | dependencies: 2969 | postcss: 8.4.38 2970 | postcss-selector-parser: 6.0.16 2971 | 2972 | postcss-selector-parser@6.0.16: 2973 | dependencies: 2974 | cssesc: 3.0.0 2975 | util-deprecate: 1.0.2 2976 | 2977 | postcss-value-parser@4.2.0: {} 2978 | 2979 | postcss@8.4.31: 2980 | dependencies: 2981 | nanoid: 3.3.7 2982 | picocolors: 1.0.1 2983 | source-map-js: 1.2.0 2984 | 2985 | postcss@8.4.38: 2986 | dependencies: 2987 | nanoid: 3.3.7 2988 | picocolors: 1.0.1 2989 | source-map-js: 1.2.0 2990 | 2991 | prelude-ls@1.2.1: {} 2992 | 2993 | prop-types@15.8.1: 2994 | dependencies: 2995 | loose-envify: 1.4.0 2996 | object-assign: 4.1.1 2997 | react-is: 16.13.1 2998 | 2999 | punycode@2.3.1: {} 3000 | 3001 | queue-microtask@1.2.3: {} 3002 | 3003 | react-dom@18.3.1(react@18.3.1): 3004 | dependencies: 3005 | loose-envify: 1.4.0 3006 | react: 18.3.1 3007 | scheduler: 0.23.2 3008 | 3009 | react-is@16.13.1: {} 3010 | 3011 | react@18.3.1: 3012 | dependencies: 3013 | loose-envify: 1.4.0 3014 | 3015 | read-cache@1.0.0: 3016 | dependencies: 3017 | pify: 2.3.0 3018 | 3019 | readdirp@3.6.0: 3020 | dependencies: 3021 | picomatch: 2.3.1 3022 | 3023 | reflect.getprototypeof@1.0.6: 3024 | dependencies: 3025 | call-bind: 1.0.7 3026 | define-properties: 1.2.1 3027 | es-abstract: 1.23.3 3028 | es-errors: 1.3.0 3029 | get-intrinsic: 1.2.4 3030 | globalthis: 1.0.4 3031 | which-builtin-type: 1.1.3 3032 | 3033 | regenerator-runtime@0.14.1: {} 3034 | 3035 | regexp.prototype.flags@1.5.2: 3036 | dependencies: 3037 | call-bind: 1.0.7 3038 | define-properties: 1.2.1 3039 | es-errors: 1.3.0 3040 | set-function-name: 2.0.2 3041 | 3042 | resolve-from@4.0.0: {} 3043 | 3044 | resolve-pkg-maps@1.0.0: {} 3045 | 3046 | resolve@1.22.8: 3047 | dependencies: 3048 | is-core-module: 2.13.1 3049 | path-parse: 1.0.7 3050 | supports-preserve-symlinks-flag: 1.0.0 3051 | 3052 | resolve@2.0.0-next.5: 3053 | dependencies: 3054 | is-core-module: 2.13.1 3055 | path-parse: 1.0.7 3056 | supports-preserve-symlinks-flag: 1.0.0 3057 | 3058 | reusify@1.0.4: {} 3059 | 3060 | rimraf@3.0.2: 3061 | dependencies: 3062 | glob: 7.2.3 3063 | 3064 | run-parallel@1.2.0: 3065 | dependencies: 3066 | queue-microtask: 1.2.3 3067 | 3068 | safe-array-concat@1.1.2: 3069 | dependencies: 3070 | call-bind: 1.0.7 3071 | get-intrinsic: 1.2.4 3072 | has-symbols: 1.0.3 3073 | isarray: 2.0.5 3074 | 3075 | safe-regex-test@1.0.3: 3076 | dependencies: 3077 | call-bind: 1.0.7 3078 | es-errors: 1.3.0 3079 | is-regex: 1.1.4 3080 | 3081 | scheduler@0.23.2: 3082 | dependencies: 3083 | loose-envify: 1.4.0 3084 | 3085 | semver@6.3.1: {} 3086 | 3087 | semver@7.6.2: {} 3088 | 3089 | set-function-length@1.2.2: 3090 | dependencies: 3091 | define-data-property: 1.1.4 3092 | es-errors: 1.3.0 3093 | function-bind: 1.1.2 3094 | get-intrinsic: 1.2.4 3095 | gopd: 1.0.1 3096 | has-property-descriptors: 1.0.2 3097 | 3098 | set-function-name@2.0.2: 3099 | dependencies: 3100 | define-data-property: 1.1.4 3101 | es-errors: 1.3.0 3102 | functions-have-names: 1.2.3 3103 | has-property-descriptors: 1.0.2 3104 | 3105 | shebang-command@2.0.0: 3106 | dependencies: 3107 | shebang-regex: 3.0.0 3108 | 3109 | shebang-regex@3.0.0: {} 3110 | 3111 | side-channel@1.0.6: 3112 | dependencies: 3113 | call-bind: 1.0.7 3114 | es-errors: 1.3.0 3115 | get-intrinsic: 1.2.4 3116 | object-inspect: 1.13.1 3117 | 3118 | signal-exit@4.1.0: {} 3119 | 3120 | slash@3.0.0: {} 3121 | 3122 | socket.io-client@4.7.5: 3123 | dependencies: 3124 | '@socket.io/component-emitter': 3.1.2 3125 | debug: 4.3.4 3126 | engine.io-client: 6.5.3 3127 | socket.io-parser: 4.2.4 3128 | transitivePeerDependencies: 3129 | - bufferutil 3130 | - supports-color 3131 | - utf-8-validate 3132 | 3133 | socket.io-parser@4.2.4: 3134 | dependencies: 3135 | '@socket.io/component-emitter': 3.1.2 3136 | debug: 4.3.4 3137 | transitivePeerDependencies: 3138 | - supports-color 3139 | 3140 | source-map-js@1.2.0: {} 3141 | 3142 | streamsearch@1.1.0: {} 3143 | 3144 | string-width@4.2.3: 3145 | dependencies: 3146 | emoji-regex: 8.0.0 3147 | is-fullwidth-code-point: 3.0.0 3148 | strip-ansi: 6.0.1 3149 | 3150 | string-width@5.1.2: 3151 | dependencies: 3152 | eastasianwidth: 0.2.0 3153 | emoji-regex: 9.2.2 3154 | strip-ansi: 7.1.0 3155 | 3156 | string.prototype.matchall@4.0.11: 3157 | dependencies: 3158 | call-bind: 1.0.7 3159 | define-properties: 1.2.1 3160 | es-abstract: 1.23.3 3161 | es-errors: 1.3.0 3162 | es-object-atoms: 1.0.0 3163 | get-intrinsic: 1.2.4 3164 | gopd: 1.0.1 3165 | has-symbols: 1.0.3 3166 | internal-slot: 1.0.7 3167 | regexp.prototype.flags: 1.5.2 3168 | set-function-name: 2.0.2 3169 | side-channel: 1.0.6 3170 | 3171 | string.prototype.trim@1.2.9: 3172 | dependencies: 3173 | call-bind: 1.0.7 3174 | define-properties: 1.2.1 3175 | es-abstract: 1.23.3 3176 | es-object-atoms: 1.0.0 3177 | 3178 | string.prototype.trimend@1.0.8: 3179 | dependencies: 3180 | call-bind: 1.0.7 3181 | define-properties: 1.2.1 3182 | es-object-atoms: 1.0.0 3183 | 3184 | string.prototype.trimstart@1.0.8: 3185 | dependencies: 3186 | call-bind: 1.0.7 3187 | define-properties: 1.2.1 3188 | es-object-atoms: 1.0.0 3189 | 3190 | strip-ansi@6.0.1: 3191 | dependencies: 3192 | ansi-regex: 5.0.1 3193 | 3194 | strip-ansi@7.1.0: 3195 | dependencies: 3196 | ansi-regex: 6.0.1 3197 | 3198 | strip-bom@3.0.0: {} 3199 | 3200 | strip-json-comments@3.1.1: {} 3201 | 3202 | styled-jsx@5.1.1(react@18.3.1): 3203 | dependencies: 3204 | client-only: 0.0.1 3205 | react: 18.3.1 3206 | 3207 | sucrase@3.35.0: 3208 | dependencies: 3209 | '@jridgewell/gen-mapping': 0.3.5 3210 | commander: 4.1.1 3211 | glob: 10.3.15 3212 | lines-and-columns: 1.2.4 3213 | mz: 2.7.0 3214 | pirates: 4.0.6 3215 | ts-interface-checker: 0.1.13 3216 | 3217 | supports-color@7.2.0: 3218 | dependencies: 3219 | has-flag: 4.0.0 3220 | 3221 | supports-preserve-symlinks-flag@1.0.0: {} 3222 | 3223 | tailwind-merge@2.3.0: 3224 | dependencies: 3225 | '@babel/runtime': 7.24.5 3226 | 3227 | tailwindcss-animate@1.0.7(tailwindcss@3.4.3): 3228 | dependencies: 3229 | tailwindcss: 3.4.3 3230 | 3231 | tailwindcss@3.4.3: 3232 | dependencies: 3233 | '@alloc/quick-lru': 5.2.0 3234 | arg: 5.0.2 3235 | chokidar: 3.6.0 3236 | didyoumean: 1.2.2 3237 | dlv: 1.1.3 3238 | fast-glob: 3.3.2 3239 | glob-parent: 6.0.2 3240 | is-glob: 4.0.3 3241 | jiti: 1.21.0 3242 | lilconfig: 2.1.0 3243 | micromatch: 4.0.5 3244 | normalize-path: 3.0.0 3245 | object-hash: 3.0.0 3246 | picocolors: 1.0.1 3247 | postcss: 8.4.38 3248 | postcss-import: 15.1.0(postcss@8.4.38) 3249 | postcss-js: 4.0.1(postcss@8.4.38) 3250 | postcss-load-config: 4.0.2(postcss@8.4.38) 3251 | postcss-nested: 6.0.1(postcss@8.4.38) 3252 | postcss-selector-parser: 6.0.16 3253 | resolve: 1.22.8 3254 | sucrase: 3.35.0 3255 | transitivePeerDependencies: 3256 | - ts-node 3257 | 3258 | tapable@2.2.1: {} 3259 | 3260 | text-table@0.2.0: {} 3261 | 3262 | thenify-all@1.6.0: 3263 | dependencies: 3264 | thenify: 3.3.1 3265 | 3266 | thenify@3.3.1: 3267 | dependencies: 3268 | any-promise: 1.3.0 3269 | 3270 | to-regex-range@5.0.1: 3271 | dependencies: 3272 | is-number: 7.0.0 3273 | 3274 | ts-api-utils@1.3.0(typescript@5.4.5): 3275 | dependencies: 3276 | typescript: 5.4.5 3277 | 3278 | ts-interface-checker@0.1.13: {} 3279 | 3280 | tsconfig-paths@3.15.0: 3281 | dependencies: 3282 | '@types/json5': 0.0.29 3283 | json5: 1.0.2 3284 | minimist: 1.2.8 3285 | strip-bom: 3.0.0 3286 | 3287 | tslib@2.6.2: {} 3288 | 3289 | type-check@0.4.0: 3290 | dependencies: 3291 | prelude-ls: 1.2.1 3292 | 3293 | type-fest@0.20.2: {} 3294 | 3295 | typed-array-buffer@1.0.2: 3296 | dependencies: 3297 | call-bind: 1.0.7 3298 | es-errors: 1.3.0 3299 | is-typed-array: 1.1.13 3300 | 3301 | typed-array-byte-length@1.0.1: 3302 | dependencies: 3303 | call-bind: 1.0.7 3304 | for-each: 0.3.3 3305 | gopd: 1.0.1 3306 | has-proto: 1.0.3 3307 | is-typed-array: 1.1.13 3308 | 3309 | typed-array-byte-offset@1.0.2: 3310 | dependencies: 3311 | available-typed-arrays: 1.0.7 3312 | call-bind: 1.0.7 3313 | for-each: 0.3.3 3314 | gopd: 1.0.1 3315 | has-proto: 1.0.3 3316 | is-typed-array: 1.1.13 3317 | 3318 | typed-array-length@1.0.6: 3319 | dependencies: 3320 | call-bind: 1.0.7 3321 | for-each: 0.3.3 3322 | gopd: 1.0.1 3323 | has-proto: 1.0.3 3324 | is-typed-array: 1.1.13 3325 | possible-typed-array-names: 1.0.0 3326 | 3327 | typescript@5.4.5: {} 3328 | 3329 | unbox-primitive@1.0.2: 3330 | dependencies: 3331 | call-bind: 1.0.7 3332 | has-bigints: 1.0.2 3333 | has-symbols: 1.0.3 3334 | which-boxed-primitive: 1.0.2 3335 | 3336 | undici-types@5.26.5: {} 3337 | 3338 | uri-js@4.4.1: 3339 | dependencies: 3340 | punycode: 2.3.1 3341 | 3342 | util-deprecate@1.0.2: {} 3343 | 3344 | which-boxed-primitive@1.0.2: 3345 | dependencies: 3346 | is-bigint: 1.0.4 3347 | is-boolean-object: 1.1.2 3348 | is-number-object: 1.0.7 3349 | is-string: 1.0.7 3350 | is-symbol: 1.0.4 3351 | 3352 | which-builtin-type@1.1.3: 3353 | dependencies: 3354 | function.prototype.name: 1.1.6 3355 | has-tostringtag: 1.0.2 3356 | is-async-function: 2.0.0 3357 | is-date-object: 1.0.5 3358 | is-finalizationregistry: 1.0.2 3359 | is-generator-function: 1.0.10 3360 | is-regex: 1.1.4 3361 | is-weakref: 1.0.2 3362 | isarray: 2.0.5 3363 | which-boxed-primitive: 1.0.2 3364 | which-collection: 1.0.2 3365 | which-typed-array: 1.1.15 3366 | 3367 | which-collection@1.0.2: 3368 | dependencies: 3369 | is-map: 2.0.3 3370 | is-set: 2.0.3 3371 | is-weakmap: 2.0.2 3372 | is-weakset: 2.0.3 3373 | 3374 | which-typed-array@1.1.15: 3375 | dependencies: 3376 | available-typed-arrays: 1.0.7 3377 | call-bind: 1.0.7 3378 | for-each: 0.3.3 3379 | gopd: 1.0.1 3380 | has-tostringtag: 1.0.2 3381 | 3382 | which@2.0.2: 3383 | dependencies: 3384 | isexe: 2.0.0 3385 | 3386 | word-wrap@1.2.5: {} 3387 | 3388 | wrap-ansi@7.0.0: 3389 | dependencies: 3390 | ansi-styles: 4.3.0 3391 | string-width: 4.2.3 3392 | strip-ansi: 6.0.1 3393 | 3394 | wrap-ansi@8.1.0: 3395 | dependencies: 3396 | ansi-styles: 6.2.1 3397 | string-width: 5.1.2 3398 | strip-ansi: 7.1.0 3399 | 3400 | wrappy@1.0.2: {} 3401 | 3402 | ws@8.11.0: {} 3403 | 3404 | xmlhttprequest-ssl@2.0.0: {} 3405 | 3406 | yaml@2.4.2: {} 3407 | 3408 | yocto-queue@0.1.0: {} 3409 | --------------------------------------------------------------------------------