├── LICENSE
├── PhonePal
├── .env.example
├── .eslintrc.json
├── .gitignore
├── LICENSE
├── README.md
├── app
│ ├── favicon.ico
│ ├── globals.css
│ ├── layout.tsx
│ ├── lib
│ │ ├── icons.tsx
│ │ └── usePlayer.ts
│ └── page.tsx
├── demo.gif
├── next.config.mjs
├── package.json
├── pnpm-lock.yaml
├── postcss.config.mjs
├── server.mjs
├── tailwind.config.ts
├── tsconfig.json
└── vercel.json
├── README.md
└── studypal
├── README.md
├── env.example
├── requirements.txt
├── runner.py
└── studypal.py
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Cartesia
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/PhonePal/.env.example:
--------------------------------------------------------------------------------
1 | # Groq is used to transcribe speech and generate the text response.
2 | # Create a key here: https://console.groq.com/keys
3 | GROQ_API_KEY=
4 |
5 | # Cartesia is used to synthesize the text response into speech.
6 | # Create a key here: https://play.cartesia.ai/console
7 | NEXT_PUBLIC_CARTESIA_API_KEY=
8 |
--------------------------------------------------------------------------------
/PhonePal/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/PhonePal/.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 |
31 | # vercel
32 | .vercel
33 |
34 | # typescript
35 | *.tsbuildinfo
36 | next-env.d.ts
37 |
38 | # files copied from npm modules
39 | public/
40 |
41 | # misc
42 | todo.js
43 | clean_server.mjs
44 | old_server.mjs
--------------------------------------------------------------------------------
/PhonePal/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 ai-ng
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/PhonePal/README.md:
--------------------------------------------------------------------------------
1 | # PhonePal
2 |
3 | Real-time translation of voice calls
4 |
5 | 
6 |
7 | The audio processing pipeline uses Groq for fast inference of Whisper to transcribe the sender. The sender's transcription is then translated into the receiver's target language with Groq `llama3-8b-8192` as a zero-shot translator. The audio of the translation is then generated using Cartesia `sonic-english` or `sonic-multilingual` in the voice of the original sender using voice cloning and sent to the receiver over a Websocket.
8 |
9 | Current languages supported on PhonePal: English, Spanish, German, and French.
10 |
11 | This project was bootstrapped from [swift](https://github.com/ai-ng/swift.git).
12 |
13 | ## Set up
14 |
15 | - Clone repo
16 | - Copy `.env.example` to `.env.local` and add environment variables.
17 | - Run `pnpm install` to install dependencies.
18 | - Run `node server.mjs` to run the server-side.
19 | - Run `pnpm dev` to start the client-side.
20 | - To simulate a call, open two seperate `localhost:3000` on your browser and have them join the same call
21 |
--------------------------------------------------------------------------------
/PhonePal/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cartesia-ai/dev-showcase/43f8c2c6e20b1b82ac519ccde3ce0d8591c49fec/PhonePal/app/favicon.ico
--------------------------------------------------------------------------------
/PhonePal/app/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
--------------------------------------------------------------------------------
/PhonePal/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import type { Metadata } from "next";
2 | import { GeistSans } from "geist/font/sans";
3 | import { GeistMono } from "geist/font/mono";
4 | import clsx from "clsx";
5 | import "./globals.css";
6 | import { Toaster } from "sonner";
7 | import { Analytics } from "@vercel/analytics/react";
8 |
9 | export const metadata: Metadata = {
10 | title: "PhonePal",
11 | description:
12 | "Real-time translation of voice calls.",
13 | };
14 |
15 | export default function RootLayout({
16 | children,
17 | }: Readonly<{
18 | children: React.ReactNode;
19 | }>) {
20 | return (
21 |
22 |
29 |
30 | {children}
31 |
32 |
33 |
34 |
35 |
36 |
37 | );
38 | }
39 |
--------------------------------------------------------------------------------
/PhonePal/app/lib/icons.tsx:
--------------------------------------------------------------------------------
1 | export function LoadingIcon() {
2 | return (
3 |
15 |
16 |
17 |
18 | );
19 | }
20 |
21 | export function EnterIcon() {
22 | return (
23 |
34 |
35 |
36 |
37 | );
38 | }
39 |
--------------------------------------------------------------------------------
/PhonePal/app/lib/usePlayer.ts:
--------------------------------------------------------------------------------
1 | import { useRef, useState } from "react";
2 |
3 | export function usePlayer() {
4 | const [isPlaying, setIsPlaying] = useState(false);
5 | const audioContext = useRef(null);
6 | const source = useRef(null);
7 |
8 | async function play(stream: ReadableStream, callback: () => void) {
9 | stop();
10 | audioContext.current = new AudioContext({ sampleRate: 24000 });
11 |
12 | let nextStartTime = audioContext.current.currentTime;
13 | const reader = stream.getReader();
14 | let leftover = new Uint8Array();
15 | let result = await reader.read();
16 | setIsPlaying(true);
17 |
18 | while (!result.done && audioContext.current) {
19 | const data = new Uint8Array(leftover.length + result.value.length);
20 | data.set(leftover);
21 | data.set(result.value, leftover.length);
22 |
23 | const length = Math.floor(data.length / 4) * 4;
24 | const remainder = data.length % 4;
25 | const buffer = new Float32Array(data.buffer, 0, length / 4);
26 |
27 | leftover = new Uint8Array(data.buffer, length, remainder);
28 |
29 | const audioBuffer = audioContext.current.createBuffer(
30 | 1,
31 | buffer.length,
32 | audioContext.current.sampleRate
33 | );
34 | audioBuffer.copyToChannel(buffer, 0);
35 |
36 | source.current = audioContext.current.createBufferSource();
37 | source.current.buffer = audioBuffer;
38 | source.current.connect(audioContext.current.destination);
39 | source.current.start(nextStartTime);
40 |
41 | nextStartTime += audioBuffer.duration;
42 |
43 | result = await reader.read();
44 | if (result.done) {
45 | source.current.onended = () => {
46 | stop();
47 | callback();
48 | };
49 | }
50 | }
51 | }
52 |
53 | function stop() {
54 | audioContext.current?.close();
55 | audioContext.current = null;
56 | setIsPlaying(false);
57 | }
58 |
59 | return {
60 | isPlaying,
61 | play,
62 | stop,
63 | };
64 | }
65 |
--------------------------------------------------------------------------------
/PhonePal/app/page.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 |
3 | import React, { useEffect, useRef, useState } from "react";
4 | import { usePlayer } from "@/lib/usePlayer";
5 | import { useMicVAD, utils } from "@ricky0123/vad-react";
6 | import { WebPlayer, Cartesia } from "@cartesia/cartesia-js";
7 | import { Phone, Plus, Mic, MicOff } from 'lucide-react';
8 |
9 | // Languages supported on phonepal
10 | const languages = [
11 | { code: "", name: "Not Selected" },
12 | { code: "en", name: "English" },
13 | { code: "es", name: "Spanish" },
14 | { code: "fr", name: "French" },
15 | { code: "de", name: "German" },
16 | ];
17 |
18 | interface CustomWebSocket extends WebSocket {
19 | clientId?: string;
20 | }
21 |
22 | export default function Home() {
23 |
24 | const [step, setStep] = useState<'initial' | 'joinCall' | 'profile' | 'inCall'>('initial');
25 | const [selectedLanguage, setSelectedLanguage] = useState("");
26 | const [userVoiceId, setUserVoiceId] = useState(null);
27 | const [websocket, setWebsocket] = useState(null);
28 | const [partnerLanguage, setPartnerLanguage] = useState("");
29 | const [gender, setGender] = useState("male");
30 | const [input, setInput] = useState("");
31 | const player = usePlayer();
32 | const cartesiaPlayer = useRef(new WebPlayer({ bufferDuration: 0.5 }));
33 | const [callId, setCallId] = useState("");
34 | const [isInCall, setIsInCall] = useState(false);
35 | const cartesiaClient = useRef(new Cartesia({ apiKey: process.env.NEXT_PUBLIC_CARTESIA_API_KEY }));
36 | const ttsWebsocket = useRef(null);
37 | const [isPlaying, setIsPlaying] = useState(false);
38 | const [isMuted, setIsMuted] = useState(false);
39 |
40 | useEffect(() => {
41 | const initTTSWebsocket = async () => {
42 | ttsWebsocket.current = cartesiaClient.current.tts.websocket({
43 | container: "raw",
44 | encoding: "pcm_f32le",
45 | sampleRate: 44100
46 | });
47 | await ttsWebsocket.current.connect();
48 | };
49 |
50 | initTTSWebsocket();
51 |
52 | return () => {
53 | if (ttsWebsocket.current) {
54 | ttsWebsocket.current.disconnect();
55 | }
56 | };
57 | }, []);
58 |
59 | useEffect(() => {
60 | const ws = new WebSocket('ws://localhost:3010') as CustomWebSocket;
61 | setWebsocket(ws);
62 |
63 | ws.onopen = () => {
64 | console.log('Connected to WebSocket server');
65 | ws.send(JSON.stringify({ type: 'language', language: selectedLanguage }));
66 | if (userVoiceId) {
67 | ws.send(JSON.stringify({ type: 'voiceId', voiceId: userVoiceId }));
68 | }
69 | };
70 |
71 | ws.onmessage = async (event) => {
72 | if (typeof event.data === 'string') {
73 | try {
74 | const data = JSON.parse(event.data);
75 | if (data.type === 'language') {
76 | setPartnerLanguage(data.language);
77 | } else if (data.type === 'callCreated' || data.type === 'callJoined') {
78 | setCallId(data.callId);
79 | setIsInCall(true);
80 | setStep('inCall');
81 | } else if (data.type === 'translation') {
82 | console.log("Received translation:", data);
83 | await generateAndPlayAudio(data.translation, data.voiceId, data.language);
84 |
85 | }
86 | } catch (error) {
87 | console.error('Error parsing WebSocket message:', error);
88 | }
89 | }
90 | };
91 |
92 | return () => {
93 | ws.close();
94 | };
95 | }, []);
96 |
97 | const generateAndPlayAudio = async (text, voiceId, language) => {
98 |
99 | if (!ttsWebsocket.current) return; // Only play if the user is the receiver
100 |
101 | const contextId = Date.now().toString();
102 | const chunks = text.split(/(?<=[.!?])\s+/);
103 |
104 | setIsPlaying(true);
105 |
106 | try {
107 | // Send the first chunk and start playing
108 | const initialResponse = await ttsWebsocket.current.send({
109 | model_id: language === "en" ? "sonic-english" : "sonic-multilingual",
110 | voice: { mode: "id", id: voiceId },
111 | transcript: chunks[0],
112 | context_id: contextId,
113 | continue: chunks.length > 1,
114 | language: language
115 | });
116 |
117 | // Start playing the first chunk
118 | cartesiaPlayer.current.play(initialResponse.source);
119 | console.log(chunks[0])
120 |
121 | // Send the remaining chunks
122 | for (let i = 1; i < chunks.length; i++) {
123 | const response = await ttsWebsocket.current.send({
124 | model_id: language === "en" ? "sonic-english" : "sonic-multilingual",
125 | voice: { mode: "id", id: voiceId },
126 | transcript: chunks[i],
127 | context_id: contextId,
128 | continue: i < chunks.length - 1,
129 | language: language
130 | });
131 |
132 | }
133 |
134 | } catch (error) {
135 | console.error("Error in audio generation or playback:", error);
136 | } finally {
137 | setIsPlaying(false);
138 | }
139 | };
140 |
141 | const vad = useMicVAD({
142 | startOnLoad: true,
143 | onSpeechEnd: async (audio) => {
144 | if (isMuted) return; // Don't process audio if muted
145 | player.stop();
146 | const wav = utils.encodeWAV(audio);
147 | const blob = new Blob([wav], { type: "audio/wav" });
148 | if (websocket && websocket.readyState === WebSocket.OPEN && isInCall) {
149 |
150 | const formData = new FormData();
151 | formData.append('audio', blob);
152 | formData.append('voiceId', userVoiceId || 'a0e99841-438c-4a64-b679-ae501e7d6091');
153 | formData.append('senderLanguage', selectedLanguage);
154 | formData.append('receiverLanguage', partnerLanguage || 'es');
155 | formData.append('callId', callId);
156 |
157 | const response = await fetch(`http://localhost:3010/process-audio`, {
158 | method: 'POST',
159 | body: formData
160 | });
161 |
162 | if (response.ok) {
163 | const data = await response.json();
164 | console.log("Received response from server:", data);
165 | } else {
166 | console.error('Failed to process audio');
167 | }
168 | }
169 | const isFirefox = navigator.userAgent.includes("Firefox");
170 | if (isFirefox) vad.pause();
171 | },
172 | workletURL: "/vad.worklet.bundle.min.js",
173 | modelURL: "/silero_vad.onnx",
174 | positiveSpeechThreshold: 0.6,
175 | minSpeechFrames: 4,
176 | ortConfig(ort) {
177 | const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
178 | ort.env.wasm = {
179 | wasmPaths: {
180 | "ort-wasm-simd-threaded.wasm": "/ort-wasm-simd-threaded.wasm",
181 | "ort-wasm-simd.wasm": "/ort-wasm-simd.wasm",
182 | "ort-wasm.wasm": "/ort-wasm.wasm",
183 | "ort-wasm-threaded.wasm": "/ort-wasm-threaded.wasm",
184 | "ort-wasm-simd-threaded.mjs": "/ort-wasm-simd-threaded.mjs",
185 | },
186 | numThreads: isSafari ? 1 : 4,
187 | };
188 | },
189 | });
190 |
191 | const toggleMute = () => {
192 | setIsMuted(!isMuted);
193 | if (!isMuted) {
194 | vad.pause();
195 | } else {
196 | vad.start();
197 | }
198 | };
199 |
200 | useEffect(() => {
201 | if (websocket && websocket.readyState === WebSocket.OPEN) {
202 | websocket.send(JSON.stringify({ type: 'language', language: selectedLanguage }));
203 | }
204 | }, [selectedLanguage, websocket]);
205 |
206 | useEffect(() => {
207 | if (websocket && websocket.readyState === WebSocket.OPEN && userVoiceId) {
208 | websocket.send(JSON.stringify({ type: 'voiceId', voiceId: userVoiceId }));
209 | }
210 | }, [userVoiceId, websocket]);
211 |
212 | const createCall = () => {
213 | if (websocket && websocket.readyState === WebSocket.OPEN) {
214 | websocket.send(JSON.stringify({ type: 'createCall' }));
215 | setStep('profile');
216 | }
217 | };
218 |
219 | const joinCall = () => {
220 | if (websocket && websocket.readyState === WebSocket.OPEN) {
221 | websocket.send(JSON.stringify({ type: 'joinCall', callId: input }));
222 | setStep('profile');
223 | }
224 | };
225 |
226 | const handleLanguageChange = (e: React.ChangeEvent) => {
227 | const newLanguage = e.target.value;
228 | setSelectedLanguage(newLanguage);
229 | };
230 |
231 | const handleVoiceClone = async (e: React.ChangeEvent) => {
232 | const file = e.target.files?.[0];
233 | if (file) {
234 | const formData = new FormData();
235 | console.log("gender", gender)
236 | console.log("partnerLanguage", partnerLanguage)
237 | formData.append('voiceSample', file);
238 | formData.append('gender', gender);
239 | formData.append('receiverLanguage', partnerLanguage || 'en');
240 |
241 | const response = await fetch(`http://localhost:3010/clone-voice`, {
242 | method: 'POST',
243 | body: formData
244 | });
245 | if (response.ok) {
246 | const { voiceId } = await response.json();
247 | setUserVoiceId(voiceId);
248 | if (websocket && websocket.readyState === WebSocket.OPEN) {
249 | websocket.send(JSON.stringify({ type: 'voiceId', voiceId }));
250 | }
251 | } else {
252 | console.error('Failed to clone voice');
253 | }
254 | }
255 | };
256 |
257 | return (
258 |
259 | {step === 'initial' && (
260 | <>
261 |
264 |
265 |
269 |
270 | Create a Call
271 |
272 |
setStep('joinCall')}
275 | >
276 |
277 | Join a Call
278 |
279 |
280 | >
281 | )}
282 |
283 | {step === 'joinCall' && (
284 |
285 | setInput(e.target.value)}
290 | className="border-2 border-gray-300 bg-white h-12 px-5 rounded-lg text-sm focus:outline-none focus:border-blue-500 w-64"
291 | />
292 |
296 | Join Call
297 |
298 |
299 | )}
300 |
301 | {(step === 'profile' || step === 'inCall') && (
302 |
303 | {step === 'inCall' && (
304 | <>
305 |
306 |
In call: {callId}
307 |
{vad.userSpeaking && !isMuted ? "Speaking..." : "Not speaking"}
308 |
314 | {isMuted ? : }
315 | {isMuted ? 'Unmute' : 'Mute'}
316 |
317 |
318 |
319 |
{"Partner's language:"}
320 |
{languages.find(lang => lang.code === partnerLanguage)?.name || 'Not selected'}
321 |
322 | >
323 | )}
324 |
325 |
326 |
327 | Select your language:
328 |
334 | {languages.map(lang => (
335 | {lang.name}
336 | ))}
337 |
338 |
339 |
340 |
341 | Select your gender:
342 | setGender(e.target.value)}
346 | className="block w-full pl-3 pr-10 py-2 text-base border-gray-300 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm rounded-md"
347 | >
348 | Male
349 | Female
350 |
351 |
352 |
353 |
354 |
Clone your voice:
355 |
367 | {userVoiceId &&
Voice ID: {userVoiceId}
}
368 |
369 |
370 |
371 |
372 | )}
373 |
374 | {vad.loading &&
Loading speech detection...
}
375 | {vad.errored &&
Failed to load speech detection.
}
376 |
377 |
386 |
387 | );
388 |
389 | }
--------------------------------------------------------------------------------
/PhonePal/demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cartesia-ai/dev-showcase/43f8c2c6e20b1b82ac519ccde3ce0d8591c49fec/PhonePal/demo.gif
--------------------------------------------------------------------------------
/PhonePal/next.config.mjs:
--------------------------------------------------------------------------------
1 | import fs from "node:fs/promises";
2 | import path from "node:path";
3 |
4 | /** @type {import('next').NextConfig} */
5 | const nextConfig = {
6 | experimental: {
7 | after: true,
8 | },
9 | async headers() {
10 | return [
11 | {
12 | source: "/(.*)",
13 | headers: [
14 | {
15 | key: "Cross-Origin-Opener-Policy",
16 | value: "same-origin",
17 | },
18 | {
19 | key: "Cross-Origin-Embedder-Policy",
20 | value: "require-corp",
21 | },
22 | ],
23 | },
24 | ];
25 | },
26 | };
27 |
28 | export default nextConfig;
29 |
30 | async function copyFiles() {
31 | try {
32 | await fs.access("public/");
33 | } catch {
34 | await fs.mkdir("public/", { recursive: true });
35 | }
36 |
37 | const wasmFiles = (
38 | await fs.readdir("node_modules/onnxruntime-web/dist/")
39 | ).filter((file) => path.extname(file) === ".wasm");
40 |
41 | await Promise.all([
42 | fs.copyFile(
43 | "node_modules/@ricky0123/vad-web/dist/vad.worklet.bundle.min.js",
44 | "public/vad.worklet.bundle.min.js"
45 | ),
46 | fs.copyFile(
47 | "node_modules/@ricky0123/vad-web/dist/silero_vad.onnx",
48 | "public/silero_vad.onnx"
49 | ),
50 | ...wasmFiles.map((file) =>
51 | fs.copyFile(
52 | `node_modules/onnxruntime-web/dist/${file}`,
53 | `public/${file}`
54 | )
55 | ),
56 | ]);
57 | }
58 |
59 | copyFiles();
60 |
--------------------------------------------------------------------------------
/PhonePal/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "phonepal",
3 | "version": "0.1.0",
4 | "type": "module",
5 | "private": true,
6 | "scripts": {
7 | "dev": "next dev",
8 | "build": "next build",
9 | "start": "next start",
10 | "lint": "next lint"
11 | },
12 | "dependencies": {
13 | "@cartesia/cartesia-js": "^1.0.2",
14 | "@ricky0123/vad-react": "^0.0.24",
15 | "@ricky0123/vad-web": "^0.0.18",
16 | "@vercel/analytics": "^1.2.2",
17 | "clsx": "^2.1.1",
18 | "cors": "^2.8.5",
19 | "dotenv": "^16.4.5",
20 | "express": "^4.19.2",
21 | "form-data": "^4.0.0",
22 | "geist": "^1.3.0",
23 | "groq-sdk": "^0.3.3",
24 | "http": "0.0.1-security",
25 | "human-id": "^4.1.1",
26 | "lucide-react": "^0.435.0",
27 | "multer": "1.4.5-lts.1",
28 | "next": "15.0.0-rc.0",
29 | "node-fetch": "^2.7.0",
30 | "onnxruntime-web": "^1.18.0",
31 | "react": "19.0.0-rc-100dfd7dab-20240701",
32 | "react-dom": "19.0.0-rc-100dfd7dab-20240701",
33 | "sonner": "^1.4.41",
34 | "ws": "^8.18.0",
35 | "zod": "^3.23.8",
36 | "zod-form-data": "^2.0.2"
37 | },
38 | "devDependencies": {
39 | "@types/node": "^20",
40 | "@types/react": "^18",
41 | "@types/react-dom": "^18",
42 | "autoprefixer": "^10.4.19",
43 | "eslint": "^8",
44 | "eslint-config-next": "14.2.3",
45 | "postcss": "^8",
46 | "tailwindcss": "^3.4.1",
47 | "typescript": "^5"
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/PhonePal/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | '@cartesia/cartesia-js':
12 | specifier: ^1.0.2
13 | version: 1.0.2(@types/react@18.3.2)(react@19.0.0-rc-100dfd7dab-20240701)
14 | '@ricky0123/vad-react':
15 | specifier: ^0.0.24
16 | version: 0.0.24(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701)
17 | '@ricky0123/vad-web':
18 | specifier: ^0.0.18
19 | version: 0.0.18
20 | '@vercel/analytics':
21 | specifier: ^1.2.2
22 | version: 1.2.2(next@15.0.0-rc.0(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701)
23 | clsx:
24 | specifier: ^2.1.1
25 | version: 2.1.1
26 | cors:
27 | specifier: ^2.8.5
28 | version: 2.8.5
29 | dotenv:
30 | specifier: ^16.4.5
31 | version: 16.4.5
32 | express:
33 | specifier: ^4.19.2
34 | version: 4.19.2
35 | form-data:
36 | specifier: ^4.0.0
37 | version: 4.0.0
38 | geist:
39 | specifier: ^1.3.0
40 | version: 1.3.0(next@15.0.0-rc.0(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701))
41 | groq-sdk:
42 | specifier: ^0.3.3
43 | version: 0.3.3
44 | http:
45 | specifier: 0.0.1-security
46 | version: 0.0.1-security
47 | human-id:
48 | specifier: ^4.1.1
49 | version: 4.1.1
50 | lucide-react:
51 | specifier: ^0.435.0
52 | version: 0.435.0(react@19.0.0-rc-100dfd7dab-20240701)
53 | multer:
54 | specifier: 1.4.5-lts.1
55 | version: 1.4.5-lts.1
56 | next:
57 | specifier: 15.0.0-rc.0
58 | version: 15.0.0-rc.0(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701)
59 | node-fetch:
60 | specifier: ^2.7.0
61 | version: 2.7.0
62 | onnxruntime-web:
63 | specifier: ^1.18.0
64 | version: 1.18.0
65 | react:
66 | specifier: 19.0.0-rc-100dfd7dab-20240701
67 | version: 19.0.0-rc-100dfd7dab-20240701
68 | react-dom:
69 | specifier: 19.0.0-rc-100dfd7dab-20240701
70 | version: 19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701)
71 | sonner:
72 | specifier: ^1.4.41
73 | version: 1.4.41(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701)
74 | ws:
75 | specifier: ^8.18.0
76 | version: 8.18.0
77 | zod:
78 | specifier: ^3.23.8
79 | version: 3.23.8
80 | zod-form-data:
81 | specifier: ^2.0.2
82 | version: 2.0.2(zod@3.23.8)
83 | devDependencies:
84 | '@types/node':
85 | specifier: ^20
86 | version: 20.12.12
87 | '@types/react':
88 | specifier: ^18
89 | version: 18.3.2
90 | '@types/react-dom':
91 | specifier: ^18
92 | version: 18.3.0
93 | autoprefixer:
94 | specifier: ^10.4.19
95 | version: 10.4.19(postcss@8.4.38)
96 | eslint:
97 | specifier: ^8
98 | version: 8.57.0
99 | eslint-config-next:
100 | specifier: 14.2.3
101 | version: 14.2.3(eslint@8.57.0)(typescript@5.4.5)
102 | postcss:
103 | specifier: ^8
104 | version: 8.4.38
105 | tailwindcss:
106 | specifier: ^3.4.1
107 | version: 3.4.3
108 | typescript:
109 | specifier: ^5
110 | version: 5.4.5
111 |
112 | packages:
113 |
114 | '@alloc/quick-lru@5.2.0':
115 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
116 | engines: {node: '>=10'}
117 |
118 | '@babel/runtime@7.24.5':
119 | resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==}
120 | engines: {node: '>=6.9.0'}
121 |
122 | '@cartesia/cartesia-js@1.0.2':
123 | resolution: {integrity: sha512-/1ld9ckpuI9Q8oTqDNx21g42pZzlV1TVYlz+VJp9kRRp7aXC3ILV7PLmXMooYDvpAimZkJwkv/SlWgr35KKh8Q==}
124 | engines: {node: '>=18'}
125 | peerDependencies:
126 | '@types/react': ^18.2.58
127 | react: ^18.2.0
128 | peerDependenciesMeta:
129 | '@types/react':
130 | optional: true
131 | react:
132 | optional: true
133 |
134 | '@emnapi/runtime@1.2.0':
135 | resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==}
136 |
137 | '@eslint-community/eslint-utils@4.4.0':
138 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
139 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
140 | peerDependencies:
141 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
142 |
143 | '@eslint-community/regexpp@4.10.0':
144 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
145 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
146 |
147 | '@eslint/eslintrc@2.1.4':
148 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
149 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
150 |
151 | '@eslint/js@8.57.0':
152 | resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
153 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
154 |
155 | '@humanwhocodes/config-array@0.11.14':
156 | resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
157 | engines: {node: '>=10.10.0'}
158 |
159 | '@humanwhocodes/module-importer@1.0.1':
160 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
161 | engines: {node: '>=12.22'}
162 |
163 | '@humanwhocodes/object-schema@2.0.3':
164 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
165 |
166 | '@img/sharp-darwin-arm64@0.33.4':
167 | resolution: {integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==}
168 | engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
169 | cpu: [arm64]
170 | os: [darwin]
171 |
172 | '@img/sharp-darwin-x64@0.33.4':
173 | resolution: {integrity: sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==}
174 | engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
175 | cpu: [x64]
176 | os: [darwin]
177 |
178 | '@img/sharp-libvips-darwin-arm64@1.0.2':
179 | resolution: {integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==}
180 | engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
181 | cpu: [arm64]
182 | os: [darwin]
183 |
184 | '@img/sharp-libvips-darwin-x64@1.0.2':
185 | resolution: {integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==}
186 | engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
187 | cpu: [x64]
188 | os: [darwin]
189 |
190 | '@img/sharp-libvips-linux-arm64@1.0.2':
191 | resolution: {integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==}
192 | engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
193 | cpu: [arm64]
194 | os: [linux]
195 |
196 | '@img/sharp-libvips-linux-arm@1.0.2':
197 | resolution: {integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==}
198 | engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
199 | cpu: [arm]
200 | os: [linux]
201 |
202 | '@img/sharp-libvips-linux-s390x@1.0.2':
203 | resolution: {integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==}
204 | engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
205 | cpu: [s390x]
206 | os: [linux]
207 |
208 | '@img/sharp-libvips-linux-x64@1.0.2':
209 | resolution: {integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==}
210 | engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
211 | cpu: [x64]
212 | os: [linux]
213 |
214 | '@img/sharp-libvips-linuxmusl-arm64@1.0.2':
215 | resolution: {integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==}
216 | engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
217 | cpu: [arm64]
218 | os: [linux]
219 |
220 | '@img/sharp-libvips-linuxmusl-x64@1.0.2':
221 | resolution: {integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==}
222 | engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
223 | cpu: [x64]
224 | os: [linux]
225 |
226 | '@img/sharp-linux-arm64@0.33.4':
227 | resolution: {integrity: sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==}
228 | engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
229 | cpu: [arm64]
230 | os: [linux]
231 |
232 | '@img/sharp-linux-arm@0.33.4':
233 | resolution: {integrity: sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==}
234 | engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
235 | cpu: [arm]
236 | os: [linux]
237 |
238 | '@img/sharp-linux-s390x@0.33.4':
239 | resolution: {integrity: sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==}
240 | engines: {glibc: '>=2.31', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
241 | cpu: [s390x]
242 | os: [linux]
243 |
244 | '@img/sharp-linux-x64@0.33.4':
245 | resolution: {integrity: sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==}
246 | engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
247 | cpu: [x64]
248 | os: [linux]
249 |
250 | '@img/sharp-linuxmusl-arm64@0.33.4':
251 | resolution: {integrity: sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==}
252 | engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
253 | cpu: [arm64]
254 | os: [linux]
255 |
256 | '@img/sharp-linuxmusl-x64@0.33.4':
257 | resolution: {integrity: sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==}
258 | engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
259 | cpu: [x64]
260 | os: [linux]
261 |
262 | '@img/sharp-wasm32@0.33.4':
263 | resolution: {integrity: sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==}
264 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
265 | cpu: [wasm32]
266 |
267 | '@img/sharp-win32-ia32@0.33.4':
268 | resolution: {integrity: sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==}
269 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
270 | cpu: [ia32]
271 | os: [win32]
272 |
273 | '@img/sharp-win32-x64@0.33.4':
274 | resolution: {integrity: sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==}
275 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
276 | cpu: [x64]
277 | os: [win32]
278 |
279 | '@isaacs/cliui@8.0.2':
280 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
281 | engines: {node: '>=12'}
282 |
283 | '@jridgewell/gen-mapping@0.3.5':
284 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
285 | engines: {node: '>=6.0.0'}
286 |
287 | '@jridgewell/resolve-uri@3.1.2':
288 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
289 | engines: {node: '>=6.0.0'}
290 |
291 | '@jridgewell/set-array@1.2.1':
292 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
293 | engines: {node: '>=6.0.0'}
294 |
295 | '@jridgewell/sourcemap-codec@1.4.15':
296 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
297 |
298 | '@jridgewell/trace-mapping@0.3.25':
299 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
300 |
301 | '@next/env@15.0.0-rc.0':
302 | resolution: {integrity: sha512-6W0ndQvHR9sXcqcKeR/inD2UTRCs9+VkSK3lfaGmEuZs7EjwwXMO2BPYjz9oBrtfPL3xuTjtXsHKSsalYQ5l1Q==}
303 |
304 | '@next/eslint-plugin-next@14.2.3':
305 | resolution: {integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==}
306 |
307 | '@next/swc-darwin-arm64@15.0.0-rc.0':
308 | resolution: {integrity: sha512-4OpTXvAWcSabXA5d688zdUwa3sfT9QrLnHMdpv4q2UDnnuqmOI0xLb6lrOxwpi+vHJNkneuNLqyc5HGBhkqL6A==}
309 | engines: {node: '>= 10'}
310 | cpu: [arm64]
311 | os: [darwin]
312 |
313 | '@next/swc-darwin-x64@15.0.0-rc.0':
314 | resolution: {integrity: sha512-/TD8M9DT244uhtFA8P/0DUbM7ftg2zio6yOo6ajV16vNjkcug9Kt9//Wa4SrJjWcsGZpViLctOlwn3/6JFAuAA==}
315 | engines: {node: '>= 10'}
316 | cpu: [x64]
317 | os: [darwin]
318 |
319 | '@next/swc-linux-arm64-gnu@15.0.0-rc.0':
320 | resolution: {integrity: sha512-3VTO32938AcqOlOI/U61/MIpeYrblP22VU1GrgmMQJozsAXEJgLCgf3wxZtn61/FG4Yc0tp7rPZE2t1fIGe0+w==}
321 | engines: {node: '>= 10'}
322 | cpu: [arm64]
323 | os: [linux]
324 |
325 | '@next/swc-linux-arm64-musl@15.0.0-rc.0':
326 | resolution: {integrity: sha512-0kDnxM3AfrrHFJ/wTkjkv7cVHIaGwv+CzDg9lL2BoLEM4kMQhH20DTsBOMqpTpo1K2KCg67LuTGd3QOITT5uFQ==}
327 | engines: {node: '>= 10'}
328 | cpu: [arm64]
329 | os: [linux]
330 |
331 | '@next/swc-linux-x64-gnu@15.0.0-rc.0':
332 | resolution: {integrity: sha512-fPMNahzqYFjm5h0ncJ5+F3NrShmWhpusM+zrQl01MMU0Ed5xsL4pJJDSuXV4wPkNUSjCP3XstTjxR5kBdO4juQ==}
333 | engines: {node: '>= 10'}
334 | cpu: [x64]
335 | os: [linux]
336 |
337 | '@next/swc-linux-x64-musl@15.0.0-rc.0':
338 | resolution: {integrity: sha512-7/FLgOqrrQAxOVQrxfr3bGgZ83pSCmc2S3TXBILnHw0S8qLxmFjhSjH5ogaDmjrES/PSYMaX1FsP5Af88hp7Gw==}
339 | engines: {node: '>= 10'}
340 | cpu: [x64]
341 | os: [linux]
342 |
343 | '@next/swc-win32-arm64-msvc@15.0.0-rc.0':
344 | resolution: {integrity: sha512-5wcqoYHh7hbdghjH6Xs3i5/f0ov+i1Xw2E3O+BzZNESYVLgCM1q7KJu5gdGFoXA2gz5XaKF/VBcYHikLzyjgmA==}
345 | engines: {node: '>= 10'}
346 | cpu: [arm64]
347 | os: [win32]
348 |
349 | '@next/swc-win32-ia32-msvc@15.0.0-rc.0':
350 | resolution: {integrity: sha512-/hqOmYRTvtBPToE4Dbl9n+sLYU7DPd52R+TtjIrrEzTMgFo2/d7un3sD7GKmb2OwOj/ExyGv6Bd/JzytBVxXlw==}
351 | engines: {node: '>= 10'}
352 | cpu: [ia32]
353 | os: [win32]
354 |
355 | '@next/swc-win32-x64-msvc@15.0.0-rc.0':
356 | resolution: {integrity: sha512-2Jly5nShvCUzzngP3RzdQ3JcuEcHcnIEvkvZDCXqFAK+bWks4+qOkEUO1QIAERQ99J5J9/1AN/8zFBme3Mm57A==}
357 | engines: {node: '>= 10'}
358 | cpu: [x64]
359 | os: [win32]
360 |
361 | '@nodelib/fs.scandir@2.1.5':
362 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
363 | engines: {node: '>= 8'}
364 |
365 | '@nodelib/fs.stat@2.0.5':
366 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
367 | engines: {node: '>= 8'}
368 |
369 | '@nodelib/fs.walk@1.2.8':
370 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
371 | engines: {node: '>= 8'}
372 |
373 | '@pkgjs/parseargs@0.11.0':
374 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
375 | engines: {node: '>=14'}
376 |
377 | '@protobufjs/aspromise@1.1.2':
378 | resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
379 |
380 | '@protobufjs/base64@1.1.2':
381 | resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
382 |
383 | '@protobufjs/codegen@2.0.4':
384 | resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
385 |
386 | '@protobufjs/eventemitter@1.1.0':
387 | resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
388 |
389 | '@protobufjs/fetch@1.1.0':
390 | resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
391 |
392 | '@protobufjs/float@1.0.2':
393 | resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
394 |
395 | '@protobufjs/inquire@1.1.0':
396 | resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
397 |
398 | '@protobufjs/path@1.1.2':
399 | resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
400 |
401 | '@protobufjs/pool@1.1.0':
402 | resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
403 |
404 | '@protobufjs/utf8@1.1.0':
405 | resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
406 |
407 | '@ricky0123/vad-react@0.0.24':
408 | resolution: {integrity: sha512-WTwGR23nv/Hm3TVJbHp7g+d3JGujrNGMI6MMJ9sFDwVClpiplqYu9vEWzviK1i8M1Jo8QHMK1i2FPh/q5zTMFg==}
409 | peerDependencies:
410 | react: ^18
411 | react-dom: ^18
412 |
413 | '@ricky0123/vad-web@0.0.18':
414 | resolution: {integrity: sha512-qaw1r8PsFADtxCRybieKTrhI/eO0JaEVH5oy0/oJS/bpq8eJu9mh1myCOR1ncBYYOzEkiJNJRQ638yG6X6WUNA==}
415 |
416 | '@rushstack/eslint-patch@1.10.3':
417 | resolution: {integrity: sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==}
418 |
419 | '@swc/helpers@0.5.11':
420 | resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==}
421 |
422 | '@types/json5@0.0.29':
423 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
424 |
425 | '@types/node-fetch@2.6.11':
426 | resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==}
427 |
428 | '@types/node@18.19.33':
429 | resolution: {integrity: sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A==}
430 |
431 | '@types/node@20.12.12':
432 | resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==}
433 |
434 | '@types/prop-types@15.7.12':
435 | resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
436 |
437 | '@types/react-dom@18.3.0':
438 | resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
439 |
440 | '@types/react@18.3.2':
441 | resolution: {integrity: sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w==}
442 |
443 | '@typescript-eslint/parser@7.2.0':
444 | resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==}
445 | engines: {node: ^16.0.0 || >=18.0.0}
446 | peerDependencies:
447 | eslint: ^8.56.0
448 | typescript: '*'
449 | peerDependenciesMeta:
450 | typescript:
451 | optional: true
452 |
453 | '@typescript-eslint/scope-manager@7.2.0':
454 | resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==}
455 | engines: {node: ^16.0.0 || >=18.0.0}
456 |
457 | '@typescript-eslint/types@7.2.0':
458 | resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==}
459 | engines: {node: ^16.0.0 || >=18.0.0}
460 |
461 | '@typescript-eslint/typescript-estree@7.2.0':
462 | resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==}
463 | engines: {node: ^16.0.0 || >=18.0.0}
464 | peerDependencies:
465 | typescript: '*'
466 | peerDependenciesMeta:
467 | typescript:
468 | optional: true
469 |
470 | '@typescript-eslint/visitor-keys@7.2.0':
471 | resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==}
472 | engines: {node: ^16.0.0 || >=18.0.0}
473 |
474 | '@ungap/structured-clone@1.2.0':
475 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
476 |
477 | '@vercel/analytics@1.2.2':
478 | resolution: {integrity: sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A==}
479 | peerDependencies:
480 | next: '>= 13'
481 | react: ^18 || ^19
482 | peerDependenciesMeta:
483 | next:
484 | optional: true
485 | react:
486 | optional: true
487 |
488 | abort-controller@3.0.0:
489 | resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
490 | engines: {node: '>=6.5'}
491 |
492 | accepts@1.3.8:
493 | resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
494 | engines: {node: '>= 0.6'}
495 |
496 | acorn-jsx@5.3.2:
497 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
498 | peerDependencies:
499 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
500 |
501 | acorn@8.11.3:
502 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
503 | engines: {node: '>=0.4.0'}
504 | hasBin: true
505 |
506 | agentkeepalive@4.5.0:
507 | resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==}
508 | engines: {node: '>= 8.0.0'}
509 |
510 | ajv@6.12.6:
511 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
512 |
513 | ansi-regex@5.0.1:
514 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
515 | engines: {node: '>=8'}
516 |
517 | ansi-regex@6.0.1:
518 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
519 | engines: {node: '>=12'}
520 |
521 | ansi-styles@4.3.0:
522 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
523 | engines: {node: '>=8'}
524 |
525 | ansi-styles@6.2.1:
526 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
527 | engines: {node: '>=12'}
528 |
529 | any-promise@1.3.0:
530 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
531 |
532 | anymatch@3.1.3:
533 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
534 | engines: {node: '>= 8'}
535 |
536 | append-field@1.0.0:
537 | resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==}
538 |
539 | arg@5.0.2:
540 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
541 |
542 | argparse@2.0.1:
543 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
544 |
545 | aria-query@5.3.0:
546 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
547 |
548 | array-buffer-byte-length@1.0.1:
549 | resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
550 | engines: {node: '>= 0.4'}
551 |
552 | array-flatten@1.1.1:
553 | resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
554 |
555 | array-includes@3.1.8:
556 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
557 | engines: {node: '>= 0.4'}
558 |
559 | array-union@2.1.0:
560 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
561 | engines: {node: '>=8'}
562 |
563 | array.prototype.findlast@1.2.5:
564 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
565 | engines: {node: '>= 0.4'}
566 |
567 | array.prototype.findlastindex@1.2.5:
568 | resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
569 | engines: {node: '>= 0.4'}
570 |
571 | array.prototype.flat@1.3.2:
572 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
573 | engines: {node: '>= 0.4'}
574 |
575 | array.prototype.flatmap@1.3.2:
576 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
577 | engines: {node: '>= 0.4'}
578 |
579 | array.prototype.toreversed@1.1.2:
580 | resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==}
581 |
582 | array.prototype.tosorted@1.1.3:
583 | resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==}
584 |
585 | arraybuffer.prototype.slice@1.0.3:
586 | resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
587 | engines: {node: '>= 0.4'}
588 |
589 | ast-types-flow@0.0.8:
590 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
591 |
592 | asynckit@0.4.0:
593 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
594 |
595 | autoprefixer@10.4.19:
596 | resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
597 | engines: {node: ^10 || ^12 || >=14}
598 | hasBin: true
599 | peerDependencies:
600 | postcss: ^8.1.0
601 |
602 | available-typed-arrays@1.0.7:
603 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
604 | engines: {node: '>= 0.4'}
605 |
606 | axe-core@4.7.0:
607 | resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==}
608 | engines: {node: '>=4'}
609 |
610 | axobject-query@3.2.1:
611 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
612 |
613 | balanced-match@1.0.2:
614 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
615 |
616 | base-64@0.1.0:
617 | resolution: {integrity: sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==}
618 |
619 | base64-js@1.5.1:
620 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
621 |
622 | binary-extensions@2.3.0:
623 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
624 | engines: {node: '>=8'}
625 |
626 | body-parser@1.20.2:
627 | resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
628 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
629 |
630 | brace-expansion@1.1.11:
631 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
632 |
633 | brace-expansion@2.0.1:
634 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
635 |
636 | braces@3.0.2:
637 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
638 | engines: {node: '>=8'}
639 |
640 | browserslist@4.23.1:
641 | resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==}
642 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
643 | hasBin: true
644 |
645 | buffer-from@1.1.2:
646 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
647 |
648 | busboy@1.6.0:
649 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
650 | engines: {node: '>=10.16.0'}
651 |
652 | bytes@3.1.2:
653 | resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
654 | engines: {node: '>= 0.8'}
655 |
656 | call-bind@1.0.7:
657 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
658 | engines: {node: '>= 0.4'}
659 |
660 | callsites@3.1.0:
661 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
662 | engines: {node: '>=6'}
663 |
664 | camelcase-css@2.0.1:
665 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
666 | engines: {node: '>= 6'}
667 |
668 | caniuse-lite@1.0.30001620:
669 | resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==}
670 |
671 | caniuse-lite@1.0.30001639:
672 | resolution: {integrity: sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==}
673 |
674 | chalk@4.1.2:
675 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
676 | engines: {node: '>=10'}
677 |
678 | charenc@0.0.2:
679 | resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
680 |
681 | chokidar@3.6.0:
682 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
683 | engines: {node: '>= 8.10.0'}
684 |
685 | client-only@0.0.1:
686 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
687 |
688 | clsx@2.1.1:
689 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
690 | engines: {node: '>=6'}
691 |
692 | color-convert@2.0.1:
693 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
694 | engines: {node: '>=7.0.0'}
695 |
696 | color-name@1.1.4:
697 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
698 |
699 | color-string@1.9.1:
700 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
701 |
702 | color@4.2.3:
703 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
704 | engines: {node: '>=12.5.0'}
705 |
706 | combined-stream@1.0.8:
707 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
708 | engines: {node: '>= 0.8'}
709 |
710 | commander@4.1.1:
711 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
712 | engines: {node: '>= 6'}
713 |
714 | concat-map@0.0.1:
715 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
716 |
717 | concat-stream@1.6.2:
718 | resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==}
719 | engines: {'0': node >= 0.8}
720 |
721 | content-disposition@0.5.4:
722 | resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
723 | engines: {node: '>= 0.6'}
724 |
725 | content-type@1.0.5:
726 | resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
727 | engines: {node: '>= 0.6'}
728 |
729 | cookie-signature@1.0.6:
730 | resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
731 |
732 | cookie@0.6.0:
733 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
734 | engines: {node: '>= 0.6'}
735 |
736 | core-util-is@1.0.3:
737 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
738 |
739 | cors@2.8.5:
740 | resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
741 | engines: {node: '>= 0.10'}
742 |
743 | cross-fetch@4.0.0:
744 | resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==}
745 |
746 | cross-spawn@7.0.3:
747 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
748 | engines: {node: '>= 8'}
749 |
750 | crypt@0.0.2:
751 | resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
752 |
753 | cssesc@3.0.0:
754 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
755 | engines: {node: '>=4'}
756 | hasBin: true
757 |
758 | csstype@3.1.3:
759 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
760 |
761 | damerau-levenshtein@1.0.8:
762 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
763 |
764 | data-view-buffer@1.0.1:
765 | resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
766 | engines: {node: '>= 0.4'}
767 |
768 | data-view-byte-length@1.0.1:
769 | resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
770 | engines: {node: '>= 0.4'}
771 |
772 | data-view-byte-offset@1.0.0:
773 | resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
774 | engines: {node: '>= 0.4'}
775 |
776 | debug@2.6.9:
777 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
778 | peerDependencies:
779 | supports-color: '*'
780 | peerDependenciesMeta:
781 | supports-color:
782 | optional: true
783 |
784 | debug@3.2.7:
785 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
786 | peerDependencies:
787 | supports-color: '*'
788 | peerDependenciesMeta:
789 | supports-color:
790 | optional: true
791 |
792 | debug@4.3.4:
793 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
794 | engines: {node: '>=6.0'}
795 | peerDependencies:
796 | supports-color: '*'
797 | peerDependenciesMeta:
798 | supports-color:
799 | optional: true
800 |
801 | deep-is@0.1.4:
802 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
803 |
804 | define-data-property@1.1.4:
805 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
806 | engines: {node: '>= 0.4'}
807 |
808 | define-properties@1.2.1:
809 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
810 | engines: {node: '>= 0.4'}
811 |
812 | delayed-stream@1.0.0:
813 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
814 | engines: {node: '>=0.4.0'}
815 |
816 | depd@2.0.0:
817 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
818 | engines: {node: '>= 0.8'}
819 |
820 | dequal@2.0.3:
821 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
822 | engines: {node: '>=6'}
823 |
824 | destroy@1.2.0:
825 | resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
826 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
827 |
828 | detect-libc@2.0.3:
829 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
830 | engines: {node: '>=8'}
831 |
832 | didyoumean@1.2.2:
833 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
834 |
835 | digest-fetch@1.3.0:
836 | resolution: {integrity: sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==}
837 |
838 | dir-glob@3.0.1:
839 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
840 | engines: {node: '>=8'}
841 |
842 | dlv@1.1.3:
843 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
844 |
845 | doctrine@2.1.0:
846 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
847 | engines: {node: '>=0.10.0'}
848 |
849 | doctrine@3.0.0:
850 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
851 | engines: {node: '>=6.0.0'}
852 |
853 | dotenv@16.4.5:
854 | resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
855 | engines: {node: '>=12'}
856 |
857 | eastasianwidth@0.2.0:
858 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
859 |
860 | ee-first@1.1.1:
861 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
862 |
863 | electron-to-chromium@1.4.816:
864 | resolution: {integrity: sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==}
865 |
866 | emittery@1.0.3:
867 | resolution: {integrity: sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA==}
868 | engines: {node: '>=14.16'}
869 |
870 | emoji-regex@8.0.0:
871 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
872 |
873 | emoji-regex@9.2.2:
874 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
875 |
876 | encodeurl@1.0.2:
877 | resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
878 | engines: {node: '>= 0.8'}
879 |
880 | enhanced-resolve@5.16.1:
881 | resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==}
882 | engines: {node: '>=10.13.0'}
883 |
884 | es-abstract@1.23.3:
885 | resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
886 | engines: {node: '>= 0.4'}
887 |
888 | es-define-property@1.0.0:
889 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
890 | engines: {node: '>= 0.4'}
891 |
892 | es-errors@1.3.0:
893 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
894 | engines: {node: '>= 0.4'}
895 |
896 | es-iterator-helpers@1.0.19:
897 | resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
898 | engines: {node: '>= 0.4'}
899 |
900 | es-object-atoms@1.0.0:
901 | resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
902 | engines: {node: '>= 0.4'}
903 |
904 | es-set-tostringtag@2.0.3:
905 | resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
906 | engines: {node: '>= 0.4'}
907 |
908 | es-shim-unscopables@1.0.2:
909 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
910 |
911 | es-to-primitive@1.2.1:
912 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
913 | engines: {node: '>= 0.4'}
914 |
915 | escalade@3.1.2:
916 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
917 | engines: {node: '>=6'}
918 |
919 | escape-html@1.0.3:
920 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
921 |
922 | escape-string-regexp@4.0.0:
923 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
924 | engines: {node: '>=10'}
925 |
926 | eslint-config-next@14.2.3:
927 | resolution: {integrity: sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==}
928 | peerDependencies:
929 | eslint: ^7.23.0 || ^8.0.0
930 | typescript: '>=3.3.1'
931 | peerDependenciesMeta:
932 | typescript:
933 | optional: true
934 |
935 | eslint-import-resolver-node@0.3.9:
936 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
937 |
938 | eslint-import-resolver-typescript@3.6.1:
939 | resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
940 | engines: {node: ^14.18.0 || >=16.0.0}
941 | peerDependencies:
942 | eslint: '*'
943 | eslint-plugin-import: '*'
944 |
945 | eslint-module-utils@2.8.1:
946 | resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
947 | engines: {node: '>=4'}
948 | peerDependencies:
949 | '@typescript-eslint/parser': '*'
950 | eslint: '*'
951 | eslint-import-resolver-node: '*'
952 | eslint-import-resolver-typescript: '*'
953 | eslint-import-resolver-webpack: '*'
954 | peerDependenciesMeta:
955 | '@typescript-eslint/parser':
956 | optional: true
957 | eslint:
958 | optional: true
959 | eslint-import-resolver-node:
960 | optional: true
961 | eslint-import-resolver-typescript:
962 | optional: true
963 | eslint-import-resolver-webpack:
964 | optional: true
965 |
966 | eslint-plugin-import@2.29.1:
967 | resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
968 | engines: {node: '>=4'}
969 | peerDependencies:
970 | '@typescript-eslint/parser': '*'
971 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
972 | peerDependenciesMeta:
973 | '@typescript-eslint/parser':
974 | optional: true
975 |
976 | eslint-plugin-jsx-a11y@6.8.0:
977 | resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==}
978 | engines: {node: '>=4.0'}
979 | peerDependencies:
980 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
981 |
982 | eslint-plugin-react-hooks@4.6.2:
983 | resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==}
984 | engines: {node: '>=10'}
985 | peerDependencies:
986 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
987 |
988 | eslint-plugin-react@7.34.1:
989 | resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==}
990 | engines: {node: '>=4'}
991 | peerDependencies:
992 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
993 |
994 | eslint-scope@7.2.2:
995 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
996 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
997 |
998 | eslint-visitor-keys@3.4.3:
999 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1000 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1001 |
1002 | eslint@8.57.0:
1003 | resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
1004 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1005 | hasBin: true
1006 |
1007 | espree@9.6.1:
1008 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
1009 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1010 |
1011 | esquery@1.5.0:
1012 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
1013 | engines: {node: '>=0.10'}
1014 |
1015 | esrecurse@4.3.0:
1016 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1017 | engines: {node: '>=4.0'}
1018 |
1019 | estraverse@5.3.0:
1020 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1021 | engines: {node: '>=4.0'}
1022 |
1023 | esutils@2.0.3:
1024 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1025 | engines: {node: '>=0.10.0'}
1026 |
1027 | etag@1.8.1:
1028 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
1029 | engines: {node: '>= 0.6'}
1030 |
1031 | event-target-shim@5.0.1:
1032 | resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
1033 | engines: {node: '>=6'}
1034 |
1035 | event-target-shim@6.0.2:
1036 | resolution: {integrity: sha512-8q3LsZjRezbFZ2PN+uP+Q7pnHUMmAOziU2vA2OwoFaKIXxlxl38IylhSSgUorWu/rf4er67w0ikBqjBFk/pomA==}
1037 | engines: {node: '>=10.13.0'}
1038 |
1039 | express@4.19.2:
1040 | resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
1041 | engines: {node: '>= 0.10.0'}
1042 |
1043 | fast-deep-equal@3.1.3:
1044 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1045 |
1046 | fast-glob@3.3.2:
1047 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
1048 | engines: {node: '>=8.6.0'}
1049 |
1050 | fast-json-stable-stringify@2.1.0:
1051 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1052 |
1053 | fast-levenshtein@2.0.6:
1054 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1055 |
1056 | fastq@1.17.1:
1057 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
1058 |
1059 | file-entry-cache@6.0.1:
1060 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1061 | engines: {node: ^10.12.0 || >=12.0.0}
1062 |
1063 | fill-range@7.0.1:
1064 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1065 | engines: {node: '>=8'}
1066 |
1067 | finalhandler@1.2.0:
1068 | resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
1069 | engines: {node: '>= 0.8'}
1070 |
1071 | find-up@5.0.0:
1072 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1073 | engines: {node: '>=10'}
1074 |
1075 | flat-cache@3.2.0:
1076 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
1077 | engines: {node: ^10.12.0 || >=12.0.0}
1078 |
1079 | flatbuffers@1.12.0:
1080 | resolution: {integrity: sha512-c7CZADjRcl6j0PlvFy0ZqXQ67qSEZfrVPynmnL+2zPc+NtMvrF8Y0QceMo7QqnSPc7+uWjUIAbvCQ5WIKlMVdQ==}
1081 |
1082 | flatted@3.3.1:
1083 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
1084 |
1085 | for-each@0.3.3:
1086 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
1087 |
1088 | foreground-child@3.1.1:
1089 | resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
1090 | engines: {node: '>=14'}
1091 |
1092 | form-data-encoder@1.7.2:
1093 | resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==}
1094 |
1095 | form-data@4.0.0:
1096 | resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
1097 | engines: {node: '>= 6'}
1098 |
1099 | formdata-node@4.4.1:
1100 | resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
1101 | engines: {node: '>= 12.20'}
1102 |
1103 | forwarded@0.2.0:
1104 | resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
1105 | engines: {node: '>= 0.6'}
1106 |
1107 | fraction.js@4.3.7:
1108 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
1109 |
1110 | fresh@0.5.2:
1111 | resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
1112 | engines: {node: '>= 0.6'}
1113 |
1114 | fs.realpath@1.0.0:
1115 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1116 |
1117 | fsevents@2.3.3:
1118 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1119 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1120 | os: [darwin]
1121 |
1122 | function-bind@1.1.2:
1123 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1124 |
1125 | function.prototype.name@1.1.6:
1126 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
1127 | engines: {node: '>= 0.4'}
1128 |
1129 | functions-have-names@1.2.3:
1130 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1131 |
1132 | geist@1.3.0:
1133 | resolution: {integrity: sha512-IoGBfcqVEYB4bEwsfHd35jF4+X9LHRPYZymHL4YOltHSs9LJa24DYs1Z7rEMQ/lsEvaAIc61Y9aUxgcJaQ8lrg==}
1134 | peerDependencies:
1135 | next: '>=13.2.0 <15.0.0-0'
1136 |
1137 | get-intrinsic@1.2.4:
1138 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
1139 | engines: {node: '>= 0.4'}
1140 |
1141 | get-symbol-description@1.0.2:
1142 | resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
1143 | engines: {node: '>= 0.4'}
1144 |
1145 | get-tsconfig@4.7.5:
1146 | resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==}
1147 |
1148 | glob-parent@5.1.2:
1149 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1150 | engines: {node: '>= 6'}
1151 |
1152 | glob-parent@6.0.2:
1153 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1154 | engines: {node: '>=10.13.0'}
1155 |
1156 | glob@10.3.10:
1157 | resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
1158 | engines: {node: '>=16 || 14 >=14.17'}
1159 | hasBin: true
1160 |
1161 | glob@10.3.15:
1162 | resolution: {integrity: sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==}
1163 | engines: {node: '>=16 || 14 >=14.18'}
1164 | hasBin: true
1165 |
1166 | glob@7.2.3:
1167 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1168 |
1169 | globals@13.24.0:
1170 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
1171 | engines: {node: '>=8'}
1172 |
1173 | globalthis@1.0.4:
1174 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
1175 | engines: {node: '>= 0.4'}
1176 |
1177 | globby@11.1.0:
1178 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1179 | engines: {node: '>=10'}
1180 |
1181 | gopd@1.0.1:
1182 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1183 |
1184 | graceful-fs@4.2.11:
1185 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1186 |
1187 | graphemer@1.4.0:
1188 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1189 |
1190 | groq-sdk@0.3.3:
1191 | resolution: {integrity: sha512-wdOeZ2QymPjjP3tmFpUAnfMisoLbt7xF2MfpROeFAngcqWbfTyB9j9pMWSEAMF/E4gZx8f2Y+5zswO0q92CSxA==}
1192 |
1193 | guid-typescript@1.0.9:
1194 | resolution: {integrity: sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ==}
1195 |
1196 | has-bigints@1.0.2:
1197 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1198 |
1199 | has-flag@4.0.0:
1200 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1201 | engines: {node: '>=8'}
1202 |
1203 | has-property-descriptors@1.0.2:
1204 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
1205 |
1206 | has-proto@1.0.3:
1207 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
1208 | engines: {node: '>= 0.4'}
1209 |
1210 | has-symbols@1.0.3:
1211 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1212 | engines: {node: '>= 0.4'}
1213 |
1214 | has-tostringtag@1.0.2:
1215 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
1216 | engines: {node: '>= 0.4'}
1217 |
1218 | hasown@2.0.2:
1219 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1220 | engines: {node: '>= 0.4'}
1221 |
1222 | http-errors@2.0.0:
1223 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
1224 | engines: {node: '>= 0.8'}
1225 |
1226 | http@0.0.1-security:
1227 | resolution: {integrity: sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==}
1228 |
1229 | human-id@4.1.1:
1230 | resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==}
1231 | hasBin: true
1232 |
1233 | humanize-ms@1.2.1:
1234 | resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
1235 |
1236 | iconv-lite@0.4.24:
1237 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
1238 | engines: {node: '>=0.10.0'}
1239 |
1240 | ignore@5.3.1:
1241 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
1242 | engines: {node: '>= 4'}
1243 |
1244 | import-fresh@3.3.0:
1245 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1246 | engines: {node: '>=6'}
1247 |
1248 | imurmurhash@0.1.4:
1249 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1250 | engines: {node: '>=0.8.19'}
1251 |
1252 | inflight@1.0.6:
1253 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1254 |
1255 | inherits@2.0.4:
1256 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1257 |
1258 | internal-slot@1.0.7:
1259 | resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
1260 | engines: {node: '>= 0.4'}
1261 |
1262 | ipaddr.js@1.9.1:
1263 | resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
1264 | engines: {node: '>= 0.10'}
1265 |
1266 | is-array-buffer@3.0.4:
1267 | resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
1268 | engines: {node: '>= 0.4'}
1269 |
1270 | is-arrayish@0.3.2:
1271 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
1272 |
1273 | is-async-function@2.0.0:
1274 | resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
1275 | engines: {node: '>= 0.4'}
1276 |
1277 | is-bigint@1.0.4:
1278 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
1279 |
1280 | is-binary-path@2.1.0:
1281 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1282 | engines: {node: '>=8'}
1283 |
1284 | is-boolean-object@1.1.2:
1285 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
1286 | engines: {node: '>= 0.4'}
1287 |
1288 | is-buffer@1.1.6:
1289 | resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
1290 |
1291 | is-callable@1.2.7:
1292 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1293 | engines: {node: '>= 0.4'}
1294 |
1295 | is-core-module@2.13.1:
1296 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
1297 |
1298 | is-data-view@1.0.1:
1299 | resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
1300 | engines: {node: '>= 0.4'}
1301 |
1302 | is-date-object@1.0.5:
1303 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
1304 | engines: {node: '>= 0.4'}
1305 |
1306 | is-extglob@2.1.1:
1307 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1308 | engines: {node: '>=0.10.0'}
1309 |
1310 | is-finalizationregistry@1.0.2:
1311 | resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
1312 |
1313 | is-fullwidth-code-point@3.0.0:
1314 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1315 | engines: {node: '>=8'}
1316 |
1317 | is-generator-function@1.0.10:
1318 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
1319 | engines: {node: '>= 0.4'}
1320 |
1321 | is-glob@4.0.3:
1322 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1323 | engines: {node: '>=0.10.0'}
1324 |
1325 | is-map@2.0.3:
1326 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
1327 | engines: {node: '>= 0.4'}
1328 |
1329 | is-negative-zero@2.0.3:
1330 | resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
1331 | engines: {node: '>= 0.4'}
1332 |
1333 | is-number-object@1.0.7:
1334 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
1335 | engines: {node: '>= 0.4'}
1336 |
1337 | is-number@7.0.0:
1338 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1339 | engines: {node: '>=0.12.0'}
1340 |
1341 | is-path-inside@3.0.3:
1342 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1343 | engines: {node: '>=8'}
1344 |
1345 | is-regex@1.1.4:
1346 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1347 | engines: {node: '>= 0.4'}
1348 |
1349 | is-set@2.0.3:
1350 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
1351 | engines: {node: '>= 0.4'}
1352 |
1353 | is-shared-array-buffer@1.0.3:
1354 | resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
1355 | engines: {node: '>= 0.4'}
1356 |
1357 | is-string@1.0.7:
1358 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
1359 | engines: {node: '>= 0.4'}
1360 |
1361 | is-symbol@1.0.4:
1362 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
1363 | engines: {node: '>= 0.4'}
1364 |
1365 | is-typed-array@1.1.13:
1366 | resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
1367 | engines: {node: '>= 0.4'}
1368 |
1369 | is-weakmap@2.0.2:
1370 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
1371 | engines: {node: '>= 0.4'}
1372 |
1373 | is-weakref@1.0.2:
1374 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
1375 |
1376 | is-weakset@2.0.3:
1377 | resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
1378 | engines: {node: '>= 0.4'}
1379 |
1380 | isarray@1.0.0:
1381 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
1382 |
1383 | isarray@2.0.5:
1384 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
1385 |
1386 | isexe@2.0.0:
1387 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1388 |
1389 | iterator.prototype@1.1.2:
1390 | resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
1391 |
1392 | jackspeak@2.3.6:
1393 | resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
1394 | engines: {node: '>=14'}
1395 |
1396 | jiti@1.21.0:
1397 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
1398 | hasBin: true
1399 |
1400 | js-tokens@4.0.0:
1401 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1402 |
1403 | js-yaml@4.1.0:
1404 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1405 | hasBin: true
1406 |
1407 | json-buffer@3.0.1:
1408 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1409 |
1410 | json-schema-traverse@0.4.1:
1411 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1412 |
1413 | json-stable-stringify-without-jsonify@1.0.1:
1414 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1415 |
1416 | json5@1.0.2:
1417 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
1418 | hasBin: true
1419 |
1420 | jsx-ast-utils@3.3.5:
1421 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
1422 | engines: {node: '>=4.0'}
1423 |
1424 | keyv@4.5.4:
1425 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1426 |
1427 | language-subtag-registry@0.3.22:
1428 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
1429 |
1430 | language-tags@1.0.9:
1431 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
1432 | engines: {node: '>=0.10'}
1433 |
1434 | levn@0.4.1:
1435 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1436 | engines: {node: '>= 0.8.0'}
1437 |
1438 | lilconfig@2.1.0:
1439 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
1440 | engines: {node: '>=10'}
1441 |
1442 | lilconfig@3.1.1:
1443 | resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
1444 | engines: {node: '>=14'}
1445 |
1446 | lines-and-columns@1.2.4:
1447 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1448 |
1449 | locate-path@6.0.0:
1450 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1451 | engines: {node: '>=10'}
1452 |
1453 | lodash.merge@4.6.2:
1454 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1455 |
1456 | long@5.2.3:
1457 | resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==}
1458 |
1459 | loose-envify@1.4.0:
1460 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1461 | hasBin: true
1462 |
1463 | lru-cache@10.2.2:
1464 | resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==}
1465 | engines: {node: 14 || >=16.14}
1466 |
1467 | lucide-react@0.435.0:
1468 | resolution: {integrity: sha512-we5GKfzjMDw9m9SsyZJvWim9qaT+Ya5kaRS+OGFqgLqXUrPM1h+7CiMw5pKdEIoaBqfXz2pyv9TASAdpIAJs0Q==}
1469 | peerDependencies:
1470 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc
1471 |
1472 | md5@2.3.0:
1473 | resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==}
1474 |
1475 | media-typer@0.3.0:
1476 | resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
1477 | engines: {node: '>= 0.6'}
1478 |
1479 | merge-descriptors@1.0.1:
1480 | resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
1481 |
1482 | merge2@1.4.1:
1483 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1484 | engines: {node: '>= 8'}
1485 |
1486 | methods@1.1.2:
1487 | resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
1488 | engines: {node: '>= 0.6'}
1489 |
1490 | micromatch@4.0.5:
1491 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1492 | engines: {node: '>=8.6'}
1493 |
1494 | mime-db@1.52.0:
1495 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
1496 | engines: {node: '>= 0.6'}
1497 |
1498 | mime-types@2.1.35:
1499 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
1500 | engines: {node: '>= 0.6'}
1501 |
1502 | mime@1.6.0:
1503 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
1504 | engines: {node: '>=4'}
1505 | hasBin: true
1506 |
1507 | minimatch@3.1.2:
1508 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1509 |
1510 | minimatch@9.0.3:
1511 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
1512 | engines: {node: '>=16 || 14 >=14.17'}
1513 |
1514 | minimatch@9.0.4:
1515 | resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
1516 | engines: {node: '>=16 || 14 >=14.17'}
1517 |
1518 | minimist@1.2.8:
1519 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
1520 |
1521 | minipass@7.1.1:
1522 | resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==}
1523 | engines: {node: '>=16 || 14 >=14.17'}
1524 |
1525 | mkdirp@0.5.6:
1526 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
1527 | hasBin: true
1528 |
1529 | ms@2.0.0:
1530 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
1531 |
1532 | ms@2.1.2:
1533 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1534 |
1535 | ms@2.1.3:
1536 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1537 |
1538 | multer@1.4.5-lts.1:
1539 | resolution: {integrity: sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==}
1540 | engines: {node: '>= 6.0.0'}
1541 |
1542 | mz@2.7.0:
1543 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1544 |
1545 | nanoid@3.3.7:
1546 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
1547 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1548 | hasBin: true
1549 |
1550 | natural-compare@1.4.0:
1551 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1552 |
1553 | negotiator@0.6.3:
1554 | resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
1555 | engines: {node: '>= 0.6'}
1556 |
1557 | next@15.0.0-rc.0:
1558 | resolution: {integrity: sha512-IWcCvxUSCAuOK5gig4+9yiyt/dLKpIa+WT01Qcx4CBE4TtwJljyTDnCVVn64jDZ4qmSzsaEYXpb4DTI8qbk03A==}
1559 | engines: {node: '>=18.17.0'}
1560 | hasBin: true
1561 | peerDependencies:
1562 | '@opentelemetry/api': ^1.1.0
1563 | '@playwright/test': ^1.41.2
1564 | babel-plugin-react-compiler: '*'
1565 | react: 19.0.0-rc-f994737d14-20240522
1566 | react-dom: 19.0.0-rc-f994737d14-20240522
1567 | sass: ^1.3.0
1568 | peerDependenciesMeta:
1569 | '@opentelemetry/api':
1570 | optional: true
1571 | '@playwright/test':
1572 | optional: true
1573 | babel-plugin-react-compiler:
1574 | optional: true
1575 | sass:
1576 | optional: true
1577 |
1578 | node-domexception@1.0.0:
1579 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
1580 | engines: {node: '>=10.5.0'}
1581 |
1582 | node-fetch@2.7.0:
1583 | resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
1584 | engines: {node: 4.x || >=6.0.0}
1585 | peerDependencies:
1586 | encoding: ^0.1.0
1587 | peerDependenciesMeta:
1588 | encoding:
1589 | optional: true
1590 |
1591 | node-releases@2.0.14:
1592 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
1593 |
1594 | normalize-path@3.0.0:
1595 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1596 | engines: {node: '>=0.10.0'}
1597 |
1598 | normalize-range@0.1.2:
1599 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1600 | engines: {node: '>=0.10.0'}
1601 |
1602 | object-assign@4.1.1:
1603 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1604 | engines: {node: '>=0.10.0'}
1605 |
1606 | object-hash@3.0.0:
1607 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1608 | engines: {node: '>= 6'}
1609 |
1610 | object-inspect@1.13.1:
1611 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
1612 |
1613 | object-keys@1.1.1:
1614 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1615 | engines: {node: '>= 0.4'}
1616 |
1617 | object.assign@4.1.5:
1618 | resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
1619 | engines: {node: '>= 0.4'}
1620 |
1621 | object.entries@1.1.8:
1622 | resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
1623 | engines: {node: '>= 0.4'}
1624 |
1625 | object.fromentries@2.0.8:
1626 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
1627 | engines: {node: '>= 0.4'}
1628 |
1629 | object.groupby@1.0.3:
1630 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
1631 | engines: {node: '>= 0.4'}
1632 |
1633 | object.hasown@1.1.4:
1634 | resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==}
1635 | engines: {node: '>= 0.4'}
1636 |
1637 | object.values@1.2.0:
1638 | resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
1639 | engines: {node: '>= 0.4'}
1640 |
1641 | on-finished@2.4.1:
1642 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
1643 | engines: {node: '>= 0.8'}
1644 |
1645 | once@1.4.0:
1646 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1647 |
1648 | onnxruntime-common@1.18.0:
1649 | resolution: {integrity: sha512-lufrSzX6QdKrktAELG5x5VkBpapbCeS3dQwrXbN0eD9rHvU0yAWl7Ztju9FvgAKWvwd/teEKJNj3OwM6eTZh3Q==}
1650 |
1651 | onnxruntime-web@1.18.0:
1652 | resolution: {integrity: sha512-o1UKj4ABIj1gmG7ae0RKJ3/GT+3yoF0RRpfDfeoe0huzRW4FDRLfbkDETmdFAvnJEXuYDE0YT+hhkia0352StQ==}
1653 |
1654 | optionator@0.9.4:
1655 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1656 | engines: {node: '>= 0.8.0'}
1657 |
1658 | p-limit@3.1.0:
1659 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1660 | engines: {node: '>=10'}
1661 |
1662 | p-locate@5.0.0:
1663 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1664 | engines: {node: '>=10'}
1665 |
1666 | parent-module@1.0.1:
1667 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1668 | engines: {node: '>=6'}
1669 |
1670 | parseurl@1.3.3:
1671 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
1672 | engines: {node: '>= 0.8'}
1673 |
1674 | partysocket@1.0.2:
1675 | resolution: {integrity: sha512-rAFOUKImaq+VBk2B+2RTBsWEvlnarEP53nchoUHzpVs8V6fG2/estihOTslTQUWHVuHEKDL5k8htG8K3TngyFA==}
1676 |
1677 | path-exists@4.0.0:
1678 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1679 | engines: {node: '>=8'}
1680 |
1681 | path-is-absolute@1.0.1:
1682 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1683 | engines: {node: '>=0.10.0'}
1684 |
1685 | path-key@3.1.1:
1686 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1687 | engines: {node: '>=8'}
1688 |
1689 | path-parse@1.0.7:
1690 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1691 |
1692 | path-scurry@1.11.1:
1693 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
1694 | engines: {node: '>=16 || 14 >=14.18'}
1695 |
1696 | path-to-regexp@0.1.7:
1697 | resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
1698 |
1699 | path-type@4.0.0:
1700 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1701 | engines: {node: '>=8'}
1702 |
1703 | picocolors@1.0.1:
1704 | resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
1705 |
1706 | picomatch@2.3.1:
1707 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1708 | engines: {node: '>=8.6'}
1709 |
1710 | pify@2.3.0:
1711 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1712 | engines: {node: '>=0.10.0'}
1713 |
1714 | pirates@4.0.6:
1715 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1716 | engines: {node: '>= 6'}
1717 |
1718 | platform@1.3.6:
1719 | resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==}
1720 |
1721 | possible-typed-array-names@1.0.0:
1722 | resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
1723 | engines: {node: '>= 0.4'}
1724 |
1725 | postcss-import@15.1.0:
1726 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
1727 | engines: {node: '>=14.0.0'}
1728 | peerDependencies:
1729 | postcss: ^8.0.0
1730 |
1731 | postcss-js@4.0.1:
1732 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
1733 | engines: {node: ^12 || ^14 || >= 16}
1734 | peerDependencies:
1735 | postcss: ^8.4.21
1736 |
1737 | postcss-load-config@4.0.2:
1738 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
1739 | engines: {node: '>= 14'}
1740 | peerDependencies:
1741 | postcss: '>=8.0.9'
1742 | ts-node: '>=9.0.0'
1743 | peerDependenciesMeta:
1744 | postcss:
1745 | optional: true
1746 | ts-node:
1747 | optional: true
1748 |
1749 | postcss-nested@6.0.1:
1750 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
1751 | engines: {node: '>=12.0'}
1752 | peerDependencies:
1753 | postcss: ^8.2.14
1754 |
1755 | postcss-selector-parser@6.0.16:
1756 | resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
1757 | engines: {node: '>=4'}
1758 |
1759 | postcss-value-parser@4.2.0:
1760 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1761 |
1762 | postcss@8.4.31:
1763 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
1764 | engines: {node: ^10 || ^12 || >=14}
1765 |
1766 | postcss@8.4.38:
1767 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
1768 | engines: {node: ^10 || ^12 || >=14}
1769 |
1770 | prelude-ls@1.2.1:
1771 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1772 | engines: {node: '>= 0.8.0'}
1773 |
1774 | process-nextick-args@2.0.1:
1775 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
1776 |
1777 | prop-types@15.8.1:
1778 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
1779 |
1780 | protobufjs@7.3.2:
1781 | resolution: {integrity: sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==}
1782 | engines: {node: '>=12.0.0'}
1783 |
1784 | proxy-addr@2.0.7:
1785 | resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
1786 | engines: {node: '>= 0.10'}
1787 |
1788 | punycode@2.3.1:
1789 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1790 | engines: {node: '>=6'}
1791 |
1792 | qs@6.11.0:
1793 | resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
1794 | engines: {node: '>=0.6'}
1795 |
1796 | queue-microtask@1.2.3:
1797 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1798 |
1799 | range-parser@1.2.1:
1800 | resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
1801 | engines: {node: '>= 0.6'}
1802 |
1803 | raw-body@2.5.2:
1804 | resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
1805 | engines: {node: '>= 0.8'}
1806 |
1807 | react-dom@19.0.0-rc-100dfd7dab-20240701:
1808 | resolution: {integrity: sha512-1VQkUQegr8ejWp6YANC6HAtS5L12Ym6cAFlPOOFvaY0tgfOf37dduR3iynsyRkxfEQi42D1HwTEyBi03KxuLOQ==}
1809 | peerDependencies:
1810 | react: 19.0.0-rc-100dfd7dab-20240701
1811 |
1812 | react-is@16.13.1:
1813 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
1814 |
1815 | react@19.0.0-rc-100dfd7dab-20240701:
1816 | resolution: {integrity: sha512-qy+1N8lIy1TC1Tj5yhOW4EaRqVWHCtO94OjhxJYjTa6/lwn+ZI49D3Xk4RkdZyWDgclUK8HAALxhsgiHibowMQ==}
1817 | engines: {node: '>=0.10.0'}
1818 |
1819 | read-cache@1.0.0:
1820 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1821 |
1822 | readable-stream@2.3.8:
1823 | resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
1824 |
1825 | readdirp@3.6.0:
1826 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1827 | engines: {node: '>=8.10.0'}
1828 |
1829 | reflect.getprototypeof@1.0.6:
1830 | resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
1831 | engines: {node: '>= 0.4'}
1832 |
1833 | regenerator-runtime@0.14.1:
1834 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
1835 |
1836 | regexp.prototype.flags@1.5.2:
1837 | resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
1838 | engines: {node: '>= 0.4'}
1839 |
1840 | resolve-from@4.0.0:
1841 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1842 | engines: {node: '>=4'}
1843 |
1844 | resolve-pkg-maps@1.0.0:
1845 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
1846 |
1847 | resolve@1.22.8:
1848 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
1849 | hasBin: true
1850 |
1851 | resolve@2.0.0-next.5:
1852 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
1853 | hasBin: true
1854 |
1855 | reusify@1.0.4:
1856 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1857 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1858 |
1859 | rimraf@3.0.2:
1860 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1861 | hasBin: true
1862 |
1863 | run-parallel@1.2.0:
1864 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1865 |
1866 | safe-array-concat@1.1.2:
1867 | resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
1868 | engines: {node: '>=0.4'}
1869 |
1870 | safe-buffer@5.1.2:
1871 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
1872 |
1873 | safe-buffer@5.2.1:
1874 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
1875 |
1876 | safe-regex-test@1.0.3:
1877 | resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
1878 | engines: {node: '>= 0.4'}
1879 |
1880 | safer-buffer@2.1.2:
1881 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
1882 |
1883 | scheduler@0.25.0-rc-100dfd7dab-20240701:
1884 | resolution: {integrity: sha512-aEBSd2lcLFsvlbWbwGXpttfGyMfyJjSvQ13o3kiSeCduKa8WlW5Go0b8c8hQ+p6CHLeXKWnKL+TC/vjbyFqSCw==}
1885 |
1886 | semver@6.3.1:
1887 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1888 | hasBin: true
1889 |
1890 | semver@7.6.2:
1891 | resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
1892 | engines: {node: '>=10'}
1893 | hasBin: true
1894 |
1895 | send@0.18.0:
1896 | resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
1897 | engines: {node: '>= 0.8.0'}
1898 |
1899 | serve-static@1.15.0:
1900 | resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
1901 | engines: {node: '>= 0.8.0'}
1902 |
1903 | server-only@0.0.1:
1904 | resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
1905 |
1906 | set-function-length@1.2.2:
1907 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
1908 | engines: {node: '>= 0.4'}
1909 |
1910 | set-function-name@2.0.2:
1911 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
1912 | engines: {node: '>= 0.4'}
1913 |
1914 | setprototypeof@1.2.0:
1915 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
1916 |
1917 | sharp@0.33.4:
1918 | resolution: {integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==}
1919 | engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1920 |
1921 | shebang-command@2.0.0:
1922 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1923 | engines: {node: '>=8'}
1924 |
1925 | shebang-regex@3.0.0:
1926 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1927 | engines: {node: '>=8'}
1928 |
1929 | side-channel@1.0.6:
1930 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
1931 | engines: {node: '>= 0.4'}
1932 |
1933 | signal-exit@4.1.0:
1934 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1935 | engines: {node: '>=14'}
1936 |
1937 | simple-swizzle@0.2.2:
1938 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
1939 |
1940 | slash@3.0.0:
1941 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1942 | engines: {node: '>=8'}
1943 |
1944 | sonner@1.4.41:
1945 | resolution: {integrity: sha512-uG511ggnnsw6gcn/X+YKkWPo5ep9il9wYi3QJxHsYe7yTZ4+cOd1wuodOUmOpFuXL+/RE3R04LczdNCDygTDgQ==}
1946 | peerDependencies:
1947 | react: ^18.0.0
1948 | react-dom: ^18.0.0
1949 |
1950 | source-map-js@1.2.0:
1951 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
1952 | engines: {node: '>=0.10.0'}
1953 |
1954 | statuses@2.0.1:
1955 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
1956 | engines: {node: '>= 0.8'}
1957 |
1958 | streamsearch@1.1.0:
1959 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
1960 | engines: {node: '>=10.0.0'}
1961 |
1962 | string-width@4.2.3:
1963 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1964 | engines: {node: '>=8'}
1965 |
1966 | string-width@5.1.2:
1967 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
1968 | engines: {node: '>=12'}
1969 |
1970 | string.prototype.matchall@4.0.11:
1971 | resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
1972 | engines: {node: '>= 0.4'}
1973 |
1974 | string.prototype.trim@1.2.9:
1975 | resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
1976 | engines: {node: '>= 0.4'}
1977 |
1978 | string.prototype.trimend@1.0.8:
1979 | resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
1980 |
1981 | string.prototype.trimstart@1.0.8:
1982 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
1983 | engines: {node: '>= 0.4'}
1984 |
1985 | string_decoder@1.1.1:
1986 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
1987 |
1988 | strip-ansi@6.0.1:
1989 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1990 | engines: {node: '>=8'}
1991 |
1992 | strip-ansi@7.1.0:
1993 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1994 | engines: {node: '>=12'}
1995 |
1996 | strip-bom@3.0.0:
1997 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
1998 | engines: {node: '>=4'}
1999 |
2000 | strip-json-comments@3.1.1:
2001 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2002 | engines: {node: '>=8'}
2003 |
2004 | styled-jsx@5.1.3:
2005 | resolution: {integrity: sha512-qLRShOWTE/Mf6Bvl72kFeKBl8N2Eq9WIFfoAuvbtP/6tqlnj1SCjv117n2MIjOPpa1jTorYqLJgsHKy5Y3ziww==}
2006 | engines: {node: '>= 12.0.0'}
2007 | peerDependencies:
2008 | '@babel/core': '*'
2009 | babel-plugin-macros: '*'
2010 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
2011 | peerDependenciesMeta:
2012 | '@babel/core':
2013 | optional: true
2014 | babel-plugin-macros:
2015 | optional: true
2016 |
2017 | sucrase@3.35.0:
2018 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
2019 | engines: {node: '>=16 || 14 >=14.17'}
2020 | hasBin: true
2021 |
2022 | supports-color@7.2.0:
2023 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2024 | engines: {node: '>=8'}
2025 |
2026 | supports-preserve-symlinks-flag@1.0.0:
2027 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2028 | engines: {node: '>= 0.4'}
2029 |
2030 | tailwindcss@3.4.3:
2031 | resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
2032 | engines: {node: '>=14.0.0'}
2033 | hasBin: true
2034 |
2035 | tapable@2.2.1:
2036 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
2037 | engines: {node: '>=6'}
2038 |
2039 | text-table@0.2.0:
2040 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2041 |
2042 | thenify-all@1.6.0:
2043 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
2044 | engines: {node: '>=0.8'}
2045 |
2046 | thenify@3.3.1:
2047 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
2048 |
2049 | to-regex-range@5.0.1:
2050 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2051 | engines: {node: '>=8.0'}
2052 |
2053 | toidentifier@1.0.1:
2054 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
2055 | engines: {node: '>=0.6'}
2056 |
2057 | tr46@0.0.3:
2058 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
2059 |
2060 | ts-api-utils@1.3.0:
2061 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
2062 | engines: {node: '>=16'}
2063 | peerDependencies:
2064 | typescript: '>=4.2.0'
2065 |
2066 | ts-interface-checker@0.1.13:
2067 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
2068 |
2069 | tsconfig-paths@3.15.0:
2070 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
2071 |
2072 | tslib@2.6.2:
2073 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
2074 |
2075 | type-check@0.4.0:
2076 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2077 | engines: {node: '>= 0.8.0'}
2078 |
2079 | type-fest@0.20.2:
2080 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2081 | engines: {node: '>=10'}
2082 |
2083 | type-is@1.6.18:
2084 | resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
2085 | engines: {node: '>= 0.6'}
2086 |
2087 | typed-array-buffer@1.0.2:
2088 | resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
2089 | engines: {node: '>= 0.4'}
2090 |
2091 | typed-array-byte-length@1.0.1:
2092 | resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
2093 | engines: {node: '>= 0.4'}
2094 |
2095 | typed-array-byte-offset@1.0.2:
2096 | resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
2097 | engines: {node: '>= 0.4'}
2098 |
2099 | typed-array-length@1.0.6:
2100 | resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
2101 | engines: {node: '>= 0.4'}
2102 |
2103 | typedarray@0.0.6:
2104 | resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
2105 |
2106 | typescript@5.4.5:
2107 | resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
2108 | engines: {node: '>=14.17'}
2109 | hasBin: true
2110 |
2111 | unbox-primitive@1.0.2:
2112 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
2113 |
2114 | undici-types@5.26.5:
2115 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
2116 |
2117 | unpipe@1.0.0:
2118 | resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
2119 | engines: {node: '>= 0.8'}
2120 |
2121 | update-browserslist-db@1.0.16:
2122 | resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==}
2123 | hasBin: true
2124 | peerDependencies:
2125 | browserslist: '>= 4.21.0'
2126 |
2127 | uri-js@4.4.1:
2128 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2129 |
2130 | util-deprecate@1.0.2:
2131 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
2132 |
2133 | utils-merge@1.0.1:
2134 | resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
2135 | engines: {node: '>= 0.4.0'}
2136 |
2137 | vary@1.1.2:
2138 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
2139 | engines: {node: '>= 0.8'}
2140 |
2141 | web-streams-polyfill@3.3.3:
2142 | resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
2143 | engines: {node: '>= 8'}
2144 |
2145 | web-streams-polyfill@4.0.0-beta.3:
2146 | resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
2147 | engines: {node: '>= 14'}
2148 |
2149 | webidl-conversions@3.0.1:
2150 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
2151 |
2152 | whatwg-url@5.0.0:
2153 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
2154 |
2155 | which-boxed-primitive@1.0.2:
2156 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
2157 |
2158 | which-builtin-type@1.1.3:
2159 | resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
2160 | engines: {node: '>= 0.4'}
2161 |
2162 | which-collection@1.0.2:
2163 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
2164 | engines: {node: '>= 0.4'}
2165 |
2166 | which-typed-array@1.1.15:
2167 | resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
2168 | engines: {node: '>= 0.4'}
2169 |
2170 | which@2.0.2:
2171 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2172 | engines: {node: '>= 8'}
2173 | hasBin: true
2174 |
2175 | word-wrap@1.2.5:
2176 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
2177 | engines: {node: '>=0.10.0'}
2178 |
2179 | wrap-ansi@7.0.0:
2180 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2181 | engines: {node: '>=10'}
2182 |
2183 | wrap-ansi@8.1.0:
2184 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
2185 | engines: {node: '>=12'}
2186 |
2187 | wrappy@1.0.2:
2188 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2189 |
2190 | ws@8.18.0:
2191 | resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
2192 | engines: {node: '>=10.0.0'}
2193 | peerDependencies:
2194 | bufferutil: ^4.0.1
2195 | utf-8-validate: '>=5.0.2'
2196 | peerDependenciesMeta:
2197 | bufferutil:
2198 | optional: true
2199 | utf-8-validate:
2200 | optional: true
2201 |
2202 | xtend@4.0.2:
2203 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
2204 | engines: {node: '>=0.4'}
2205 |
2206 | yaml@2.4.2:
2207 | resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==}
2208 | engines: {node: '>= 14'}
2209 | hasBin: true
2210 |
2211 | yocto-queue@0.1.0:
2212 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2213 | engines: {node: '>=10'}
2214 |
2215 | zod-form-data@2.0.2:
2216 | resolution: {integrity: sha512-sKTi+k0fvkxdakD0V5rq+9WVJA3cuTQUfEmNqvHrTzPLvjfLmkkBLfR0ed3qOi9MScJXTHIDH/jUNnEJ3CBX4g==}
2217 | peerDependencies:
2218 | zod: '>= 3.11.0'
2219 |
2220 | zod@3.23.8:
2221 | resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
2222 |
2223 | snapshots:
2224 |
2225 | '@alloc/quick-lru@5.2.0': {}
2226 |
2227 | '@babel/runtime@7.24.5':
2228 | dependencies:
2229 | regenerator-runtime: 0.14.1
2230 |
2231 | '@cartesia/cartesia-js@1.0.2(@types/react@18.3.2)(react@19.0.0-rc-100dfd7dab-20240701)':
2232 | dependencies:
2233 | base64-js: 1.5.1
2234 | cross-fetch: 4.0.0
2235 | emittery: 1.0.3
2236 | human-id: 4.1.1
2237 | partysocket: 1.0.2
2238 | optionalDependencies:
2239 | '@types/react': 18.3.2
2240 | react: 19.0.0-rc-100dfd7dab-20240701
2241 | transitivePeerDependencies:
2242 | - encoding
2243 |
2244 | '@emnapi/runtime@1.2.0':
2245 | dependencies:
2246 | tslib: 2.6.2
2247 | optional: true
2248 |
2249 | '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
2250 | dependencies:
2251 | eslint: 8.57.0
2252 | eslint-visitor-keys: 3.4.3
2253 |
2254 | '@eslint-community/regexpp@4.10.0': {}
2255 |
2256 | '@eslint/eslintrc@2.1.4':
2257 | dependencies:
2258 | ajv: 6.12.6
2259 | debug: 4.3.4
2260 | espree: 9.6.1
2261 | globals: 13.24.0
2262 | ignore: 5.3.1
2263 | import-fresh: 3.3.0
2264 | js-yaml: 4.1.0
2265 | minimatch: 3.1.2
2266 | strip-json-comments: 3.1.1
2267 | transitivePeerDependencies:
2268 | - supports-color
2269 |
2270 | '@eslint/js@8.57.0': {}
2271 |
2272 | '@humanwhocodes/config-array@0.11.14':
2273 | dependencies:
2274 | '@humanwhocodes/object-schema': 2.0.3
2275 | debug: 4.3.4
2276 | minimatch: 3.1.2
2277 | transitivePeerDependencies:
2278 | - supports-color
2279 |
2280 | '@humanwhocodes/module-importer@1.0.1': {}
2281 |
2282 | '@humanwhocodes/object-schema@2.0.3': {}
2283 |
2284 | '@img/sharp-darwin-arm64@0.33.4':
2285 | optionalDependencies:
2286 | '@img/sharp-libvips-darwin-arm64': 1.0.2
2287 | optional: true
2288 |
2289 | '@img/sharp-darwin-x64@0.33.4':
2290 | optionalDependencies:
2291 | '@img/sharp-libvips-darwin-x64': 1.0.2
2292 | optional: true
2293 |
2294 | '@img/sharp-libvips-darwin-arm64@1.0.2':
2295 | optional: true
2296 |
2297 | '@img/sharp-libvips-darwin-x64@1.0.2':
2298 | optional: true
2299 |
2300 | '@img/sharp-libvips-linux-arm64@1.0.2':
2301 | optional: true
2302 |
2303 | '@img/sharp-libvips-linux-arm@1.0.2':
2304 | optional: true
2305 |
2306 | '@img/sharp-libvips-linux-s390x@1.0.2':
2307 | optional: true
2308 |
2309 | '@img/sharp-libvips-linux-x64@1.0.2':
2310 | optional: true
2311 |
2312 | '@img/sharp-libvips-linuxmusl-arm64@1.0.2':
2313 | optional: true
2314 |
2315 | '@img/sharp-libvips-linuxmusl-x64@1.0.2':
2316 | optional: true
2317 |
2318 | '@img/sharp-linux-arm64@0.33.4':
2319 | optionalDependencies:
2320 | '@img/sharp-libvips-linux-arm64': 1.0.2
2321 | optional: true
2322 |
2323 | '@img/sharp-linux-arm@0.33.4':
2324 | optionalDependencies:
2325 | '@img/sharp-libvips-linux-arm': 1.0.2
2326 | optional: true
2327 |
2328 | '@img/sharp-linux-s390x@0.33.4':
2329 | optionalDependencies:
2330 | '@img/sharp-libvips-linux-s390x': 1.0.2
2331 | optional: true
2332 |
2333 | '@img/sharp-linux-x64@0.33.4':
2334 | optionalDependencies:
2335 | '@img/sharp-libvips-linux-x64': 1.0.2
2336 | optional: true
2337 |
2338 | '@img/sharp-linuxmusl-arm64@0.33.4':
2339 | optionalDependencies:
2340 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.2
2341 | optional: true
2342 |
2343 | '@img/sharp-linuxmusl-x64@0.33.4':
2344 | optionalDependencies:
2345 | '@img/sharp-libvips-linuxmusl-x64': 1.0.2
2346 | optional: true
2347 |
2348 | '@img/sharp-wasm32@0.33.4':
2349 | dependencies:
2350 | '@emnapi/runtime': 1.2.0
2351 | optional: true
2352 |
2353 | '@img/sharp-win32-ia32@0.33.4':
2354 | optional: true
2355 |
2356 | '@img/sharp-win32-x64@0.33.4':
2357 | optional: true
2358 |
2359 | '@isaacs/cliui@8.0.2':
2360 | dependencies:
2361 | string-width: 5.1.2
2362 | string-width-cjs: string-width@4.2.3
2363 | strip-ansi: 7.1.0
2364 | strip-ansi-cjs: strip-ansi@6.0.1
2365 | wrap-ansi: 8.1.0
2366 | wrap-ansi-cjs: wrap-ansi@7.0.0
2367 |
2368 | '@jridgewell/gen-mapping@0.3.5':
2369 | dependencies:
2370 | '@jridgewell/set-array': 1.2.1
2371 | '@jridgewell/sourcemap-codec': 1.4.15
2372 | '@jridgewell/trace-mapping': 0.3.25
2373 |
2374 | '@jridgewell/resolve-uri@3.1.2': {}
2375 |
2376 | '@jridgewell/set-array@1.2.1': {}
2377 |
2378 | '@jridgewell/sourcemap-codec@1.4.15': {}
2379 |
2380 | '@jridgewell/trace-mapping@0.3.25':
2381 | dependencies:
2382 | '@jridgewell/resolve-uri': 3.1.2
2383 | '@jridgewell/sourcemap-codec': 1.4.15
2384 |
2385 | '@next/env@15.0.0-rc.0': {}
2386 |
2387 | '@next/eslint-plugin-next@14.2.3':
2388 | dependencies:
2389 | glob: 10.3.10
2390 |
2391 | '@next/swc-darwin-arm64@15.0.0-rc.0':
2392 | optional: true
2393 |
2394 | '@next/swc-darwin-x64@15.0.0-rc.0':
2395 | optional: true
2396 |
2397 | '@next/swc-linux-arm64-gnu@15.0.0-rc.0':
2398 | optional: true
2399 |
2400 | '@next/swc-linux-arm64-musl@15.0.0-rc.0':
2401 | optional: true
2402 |
2403 | '@next/swc-linux-x64-gnu@15.0.0-rc.0':
2404 | optional: true
2405 |
2406 | '@next/swc-linux-x64-musl@15.0.0-rc.0':
2407 | optional: true
2408 |
2409 | '@next/swc-win32-arm64-msvc@15.0.0-rc.0':
2410 | optional: true
2411 |
2412 | '@next/swc-win32-ia32-msvc@15.0.0-rc.0':
2413 | optional: true
2414 |
2415 | '@next/swc-win32-x64-msvc@15.0.0-rc.0':
2416 | optional: true
2417 |
2418 | '@nodelib/fs.scandir@2.1.5':
2419 | dependencies:
2420 | '@nodelib/fs.stat': 2.0.5
2421 | run-parallel: 1.2.0
2422 |
2423 | '@nodelib/fs.stat@2.0.5': {}
2424 |
2425 | '@nodelib/fs.walk@1.2.8':
2426 | dependencies:
2427 | '@nodelib/fs.scandir': 2.1.5
2428 | fastq: 1.17.1
2429 |
2430 | '@pkgjs/parseargs@0.11.0':
2431 | optional: true
2432 |
2433 | '@protobufjs/aspromise@1.1.2': {}
2434 |
2435 | '@protobufjs/base64@1.1.2': {}
2436 |
2437 | '@protobufjs/codegen@2.0.4': {}
2438 |
2439 | '@protobufjs/eventemitter@1.1.0': {}
2440 |
2441 | '@protobufjs/fetch@1.1.0':
2442 | dependencies:
2443 | '@protobufjs/aspromise': 1.1.2
2444 | '@protobufjs/inquire': 1.1.0
2445 |
2446 | '@protobufjs/float@1.0.2': {}
2447 |
2448 | '@protobufjs/inquire@1.1.0': {}
2449 |
2450 | '@protobufjs/path@1.1.2': {}
2451 |
2452 | '@protobufjs/pool@1.1.0': {}
2453 |
2454 | '@protobufjs/utf8@1.1.0': {}
2455 |
2456 | '@ricky0123/vad-react@0.0.24(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701)':
2457 | dependencies:
2458 | '@ricky0123/vad-web': 0.0.18
2459 | onnxruntime-web: 1.18.0
2460 | react: 19.0.0-rc-100dfd7dab-20240701
2461 | react-dom: 19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701)
2462 |
2463 | '@ricky0123/vad-web@0.0.18':
2464 | dependencies:
2465 | onnxruntime-web: 1.18.0
2466 |
2467 | '@rushstack/eslint-patch@1.10.3': {}
2468 |
2469 | '@swc/helpers@0.5.11':
2470 | dependencies:
2471 | tslib: 2.6.2
2472 |
2473 | '@types/json5@0.0.29': {}
2474 |
2475 | '@types/node-fetch@2.6.11':
2476 | dependencies:
2477 | '@types/node': 20.12.12
2478 | form-data: 4.0.0
2479 |
2480 | '@types/node@18.19.33':
2481 | dependencies:
2482 | undici-types: 5.26.5
2483 |
2484 | '@types/node@20.12.12':
2485 | dependencies:
2486 | undici-types: 5.26.5
2487 |
2488 | '@types/prop-types@15.7.12': {}
2489 |
2490 | '@types/react-dom@18.3.0':
2491 | dependencies:
2492 | '@types/react': 18.3.2
2493 |
2494 | '@types/react@18.3.2':
2495 | dependencies:
2496 | '@types/prop-types': 15.7.12
2497 | csstype: 3.1.3
2498 |
2499 | '@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5)':
2500 | dependencies:
2501 | '@typescript-eslint/scope-manager': 7.2.0
2502 | '@typescript-eslint/types': 7.2.0
2503 | '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.5)
2504 | '@typescript-eslint/visitor-keys': 7.2.0
2505 | debug: 4.3.4
2506 | eslint: 8.57.0
2507 | optionalDependencies:
2508 | typescript: 5.4.5
2509 | transitivePeerDependencies:
2510 | - supports-color
2511 |
2512 | '@typescript-eslint/scope-manager@7.2.0':
2513 | dependencies:
2514 | '@typescript-eslint/types': 7.2.0
2515 | '@typescript-eslint/visitor-keys': 7.2.0
2516 |
2517 | '@typescript-eslint/types@7.2.0': {}
2518 |
2519 | '@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.5)':
2520 | dependencies:
2521 | '@typescript-eslint/types': 7.2.0
2522 | '@typescript-eslint/visitor-keys': 7.2.0
2523 | debug: 4.3.4
2524 | globby: 11.1.0
2525 | is-glob: 4.0.3
2526 | minimatch: 9.0.3
2527 | semver: 7.6.2
2528 | ts-api-utils: 1.3.0(typescript@5.4.5)
2529 | optionalDependencies:
2530 | typescript: 5.4.5
2531 | transitivePeerDependencies:
2532 | - supports-color
2533 |
2534 | '@typescript-eslint/visitor-keys@7.2.0':
2535 | dependencies:
2536 | '@typescript-eslint/types': 7.2.0
2537 | eslint-visitor-keys: 3.4.3
2538 |
2539 | '@ungap/structured-clone@1.2.0': {}
2540 |
2541 | '@vercel/analytics@1.2.2(next@15.0.0-rc.0(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701)':
2542 | dependencies:
2543 | server-only: 0.0.1
2544 | optionalDependencies:
2545 | next: 15.0.0-rc.0(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701)
2546 | react: 19.0.0-rc-100dfd7dab-20240701
2547 |
2548 | abort-controller@3.0.0:
2549 | dependencies:
2550 | event-target-shim: 5.0.1
2551 |
2552 | accepts@1.3.8:
2553 | dependencies:
2554 | mime-types: 2.1.35
2555 | negotiator: 0.6.3
2556 |
2557 | acorn-jsx@5.3.2(acorn@8.11.3):
2558 | dependencies:
2559 | acorn: 8.11.3
2560 |
2561 | acorn@8.11.3: {}
2562 |
2563 | agentkeepalive@4.5.0:
2564 | dependencies:
2565 | humanize-ms: 1.2.1
2566 |
2567 | ajv@6.12.6:
2568 | dependencies:
2569 | fast-deep-equal: 3.1.3
2570 | fast-json-stable-stringify: 2.1.0
2571 | json-schema-traverse: 0.4.1
2572 | uri-js: 4.4.1
2573 |
2574 | ansi-regex@5.0.1: {}
2575 |
2576 | ansi-regex@6.0.1: {}
2577 |
2578 | ansi-styles@4.3.0:
2579 | dependencies:
2580 | color-convert: 2.0.1
2581 |
2582 | ansi-styles@6.2.1: {}
2583 |
2584 | any-promise@1.3.0: {}
2585 |
2586 | anymatch@3.1.3:
2587 | dependencies:
2588 | normalize-path: 3.0.0
2589 | picomatch: 2.3.1
2590 |
2591 | append-field@1.0.0: {}
2592 |
2593 | arg@5.0.2: {}
2594 |
2595 | argparse@2.0.1: {}
2596 |
2597 | aria-query@5.3.0:
2598 | dependencies:
2599 | dequal: 2.0.3
2600 |
2601 | array-buffer-byte-length@1.0.1:
2602 | dependencies:
2603 | call-bind: 1.0.7
2604 | is-array-buffer: 3.0.4
2605 |
2606 | array-flatten@1.1.1: {}
2607 |
2608 | array-includes@3.1.8:
2609 | dependencies:
2610 | call-bind: 1.0.7
2611 | define-properties: 1.2.1
2612 | es-abstract: 1.23.3
2613 | es-object-atoms: 1.0.0
2614 | get-intrinsic: 1.2.4
2615 | is-string: 1.0.7
2616 |
2617 | array-union@2.1.0: {}
2618 |
2619 | array.prototype.findlast@1.2.5:
2620 | dependencies:
2621 | call-bind: 1.0.7
2622 | define-properties: 1.2.1
2623 | es-abstract: 1.23.3
2624 | es-errors: 1.3.0
2625 | es-object-atoms: 1.0.0
2626 | es-shim-unscopables: 1.0.2
2627 |
2628 | array.prototype.findlastindex@1.2.5:
2629 | dependencies:
2630 | call-bind: 1.0.7
2631 | define-properties: 1.2.1
2632 | es-abstract: 1.23.3
2633 | es-errors: 1.3.0
2634 | es-object-atoms: 1.0.0
2635 | es-shim-unscopables: 1.0.2
2636 |
2637 | array.prototype.flat@1.3.2:
2638 | dependencies:
2639 | call-bind: 1.0.7
2640 | define-properties: 1.2.1
2641 | es-abstract: 1.23.3
2642 | es-shim-unscopables: 1.0.2
2643 |
2644 | array.prototype.flatmap@1.3.2:
2645 | dependencies:
2646 | call-bind: 1.0.7
2647 | define-properties: 1.2.1
2648 | es-abstract: 1.23.3
2649 | es-shim-unscopables: 1.0.2
2650 |
2651 | array.prototype.toreversed@1.1.2:
2652 | dependencies:
2653 | call-bind: 1.0.7
2654 | define-properties: 1.2.1
2655 | es-abstract: 1.23.3
2656 | es-shim-unscopables: 1.0.2
2657 |
2658 | array.prototype.tosorted@1.1.3:
2659 | dependencies:
2660 | call-bind: 1.0.7
2661 | define-properties: 1.2.1
2662 | es-abstract: 1.23.3
2663 | es-errors: 1.3.0
2664 | es-shim-unscopables: 1.0.2
2665 |
2666 | arraybuffer.prototype.slice@1.0.3:
2667 | dependencies:
2668 | array-buffer-byte-length: 1.0.1
2669 | call-bind: 1.0.7
2670 | define-properties: 1.2.1
2671 | es-abstract: 1.23.3
2672 | es-errors: 1.3.0
2673 | get-intrinsic: 1.2.4
2674 | is-array-buffer: 3.0.4
2675 | is-shared-array-buffer: 1.0.3
2676 |
2677 | ast-types-flow@0.0.8: {}
2678 |
2679 | asynckit@0.4.0: {}
2680 |
2681 | autoprefixer@10.4.19(postcss@8.4.38):
2682 | dependencies:
2683 | browserslist: 4.23.1
2684 | caniuse-lite: 1.0.30001620
2685 | fraction.js: 4.3.7
2686 | normalize-range: 0.1.2
2687 | picocolors: 1.0.1
2688 | postcss: 8.4.38
2689 | postcss-value-parser: 4.2.0
2690 |
2691 | available-typed-arrays@1.0.7:
2692 | dependencies:
2693 | possible-typed-array-names: 1.0.0
2694 |
2695 | axe-core@4.7.0: {}
2696 |
2697 | axobject-query@3.2.1:
2698 | dependencies:
2699 | dequal: 2.0.3
2700 |
2701 | balanced-match@1.0.2: {}
2702 |
2703 | base-64@0.1.0: {}
2704 |
2705 | base64-js@1.5.1: {}
2706 |
2707 | binary-extensions@2.3.0: {}
2708 |
2709 | body-parser@1.20.2:
2710 | dependencies:
2711 | bytes: 3.1.2
2712 | content-type: 1.0.5
2713 | debug: 2.6.9
2714 | depd: 2.0.0
2715 | destroy: 1.2.0
2716 | http-errors: 2.0.0
2717 | iconv-lite: 0.4.24
2718 | on-finished: 2.4.1
2719 | qs: 6.11.0
2720 | raw-body: 2.5.2
2721 | type-is: 1.6.18
2722 | unpipe: 1.0.0
2723 | transitivePeerDependencies:
2724 | - supports-color
2725 |
2726 | brace-expansion@1.1.11:
2727 | dependencies:
2728 | balanced-match: 1.0.2
2729 | concat-map: 0.0.1
2730 |
2731 | brace-expansion@2.0.1:
2732 | dependencies:
2733 | balanced-match: 1.0.2
2734 |
2735 | braces@3.0.2:
2736 | dependencies:
2737 | fill-range: 7.0.1
2738 |
2739 | browserslist@4.23.1:
2740 | dependencies:
2741 | caniuse-lite: 1.0.30001639
2742 | electron-to-chromium: 1.4.816
2743 | node-releases: 2.0.14
2744 | update-browserslist-db: 1.0.16(browserslist@4.23.1)
2745 |
2746 | buffer-from@1.1.2: {}
2747 |
2748 | busboy@1.6.0:
2749 | dependencies:
2750 | streamsearch: 1.1.0
2751 |
2752 | bytes@3.1.2: {}
2753 |
2754 | call-bind@1.0.7:
2755 | dependencies:
2756 | es-define-property: 1.0.0
2757 | es-errors: 1.3.0
2758 | function-bind: 1.1.2
2759 | get-intrinsic: 1.2.4
2760 | set-function-length: 1.2.2
2761 |
2762 | callsites@3.1.0: {}
2763 |
2764 | camelcase-css@2.0.1: {}
2765 |
2766 | caniuse-lite@1.0.30001620: {}
2767 |
2768 | caniuse-lite@1.0.30001639: {}
2769 |
2770 | chalk@4.1.2:
2771 | dependencies:
2772 | ansi-styles: 4.3.0
2773 | supports-color: 7.2.0
2774 |
2775 | charenc@0.0.2: {}
2776 |
2777 | chokidar@3.6.0:
2778 | dependencies:
2779 | anymatch: 3.1.3
2780 | braces: 3.0.2
2781 | glob-parent: 5.1.2
2782 | is-binary-path: 2.1.0
2783 | is-glob: 4.0.3
2784 | normalize-path: 3.0.0
2785 | readdirp: 3.6.0
2786 | optionalDependencies:
2787 | fsevents: 2.3.3
2788 |
2789 | client-only@0.0.1: {}
2790 |
2791 | clsx@2.1.1: {}
2792 |
2793 | color-convert@2.0.1:
2794 | dependencies:
2795 | color-name: 1.1.4
2796 |
2797 | color-name@1.1.4: {}
2798 |
2799 | color-string@1.9.1:
2800 | dependencies:
2801 | color-name: 1.1.4
2802 | simple-swizzle: 0.2.2
2803 | optional: true
2804 |
2805 | color@4.2.3:
2806 | dependencies:
2807 | color-convert: 2.0.1
2808 | color-string: 1.9.1
2809 | optional: true
2810 |
2811 | combined-stream@1.0.8:
2812 | dependencies:
2813 | delayed-stream: 1.0.0
2814 |
2815 | commander@4.1.1: {}
2816 |
2817 | concat-map@0.0.1: {}
2818 |
2819 | concat-stream@1.6.2:
2820 | dependencies:
2821 | buffer-from: 1.1.2
2822 | inherits: 2.0.4
2823 | readable-stream: 2.3.8
2824 | typedarray: 0.0.6
2825 |
2826 | content-disposition@0.5.4:
2827 | dependencies:
2828 | safe-buffer: 5.2.1
2829 |
2830 | content-type@1.0.5: {}
2831 |
2832 | cookie-signature@1.0.6: {}
2833 |
2834 | cookie@0.6.0: {}
2835 |
2836 | core-util-is@1.0.3: {}
2837 |
2838 | cors@2.8.5:
2839 | dependencies:
2840 | object-assign: 4.1.1
2841 | vary: 1.1.2
2842 |
2843 | cross-fetch@4.0.0:
2844 | dependencies:
2845 | node-fetch: 2.7.0
2846 | transitivePeerDependencies:
2847 | - encoding
2848 |
2849 | cross-spawn@7.0.3:
2850 | dependencies:
2851 | path-key: 3.1.1
2852 | shebang-command: 2.0.0
2853 | which: 2.0.2
2854 |
2855 | crypt@0.0.2: {}
2856 |
2857 | cssesc@3.0.0: {}
2858 |
2859 | csstype@3.1.3: {}
2860 |
2861 | damerau-levenshtein@1.0.8: {}
2862 |
2863 | data-view-buffer@1.0.1:
2864 | dependencies:
2865 | call-bind: 1.0.7
2866 | es-errors: 1.3.0
2867 | is-data-view: 1.0.1
2868 |
2869 | data-view-byte-length@1.0.1:
2870 | dependencies:
2871 | call-bind: 1.0.7
2872 | es-errors: 1.3.0
2873 | is-data-view: 1.0.1
2874 |
2875 | data-view-byte-offset@1.0.0:
2876 | dependencies:
2877 | call-bind: 1.0.7
2878 | es-errors: 1.3.0
2879 | is-data-view: 1.0.1
2880 |
2881 | debug@2.6.9:
2882 | dependencies:
2883 | ms: 2.0.0
2884 |
2885 | debug@3.2.7:
2886 | dependencies:
2887 | ms: 2.1.3
2888 |
2889 | debug@4.3.4:
2890 | dependencies:
2891 | ms: 2.1.2
2892 |
2893 | deep-is@0.1.4: {}
2894 |
2895 | define-data-property@1.1.4:
2896 | dependencies:
2897 | es-define-property: 1.0.0
2898 | es-errors: 1.3.0
2899 | gopd: 1.0.1
2900 |
2901 | define-properties@1.2.1:
2902 | dependencies:
2903 | define-data-property: 1.1.4
2904 | has-property-descriptors: 1.0.2
2905 | object-keys: 1.1.1
2906 |
2907 | delayed-stream@1.0.0: {}
2908 |
2909 | depd@2.0.0: {}
2910 |
2911 | dequal@2.0.3: {}
2912 |
2913 | destroy@1.2.0: {}
2914 |
2915 | detect-libc@2.0.3:
2916 | optional: true
2917 |
2918 | didyoumean@1.2.2: {}
2919 |
2920 | digest-fetch@1.3.0:
2921 | dependencies:
2922 | base-64: 0.1.0
2923 | md5: 2.3.0
2924 |
2925 | dir-glob@3.0.1:
2926 | dependencies:
2927 | path-type: 4.0.0
2928 |
2929 | dlv@1.1.3: {}
2930 |
2931 | doctrine@2.1.0:
2932 | dependencies:
2933 | esutils: 2.0.3
2934 |
2935 | doctrine@3.0.0:
2936 | dependencies:
2937 | esutils: 2.0.3
2938 |
2939 | dotenv@16.4.5: {}
2940 |
2941 | eastasianwidth@0.2.0: {}
2942 |
2943 | ee-first@1.1.1: {}
2944 |
2945 | electron-to-chromium@1.4.816: {}
2946 |
2947 | emittery@1.0.3: {}
2948 |
2949 | emoji-regex@8.0.0: {}
2950 |
2951 | emoji-regex@9.2.2: {}
2952 |
2953 | encodeurl@1.0.2: {}
2954 |
2955 | enhanced-resolve@5.16.1:
2956 | dependencies:
2957 | graceful-fs: 4.2.11
2958 | tapable: 2.2.1
2959 |
2960 | es-abstract@1.23.3:
2961 | dependencies:
2962 | array-buffer-byte-length: 1.0.1
2963 | arraybuffer.prototype.slice: 1.0.3
2964 | available-typed-arrays: 1.0.7
2965 | call-bind: 1.0.7
2966 | data-view-buffer: 1.0.1
2967 | data-view-byte-length: 1.0.1
2968 | data-view-byte-offset: 1.0.0
2969 | es-define-property: 1.0.0
2970 | es-errors: 1.3.0
2971 | es-object-atoms: 1.0.0
2972 | es-set-tostringtag: 2.0.3
2973 | es-to-primitive: 1.2.1
2974 | function.prototype.name: 1.1.6
2975 | get-intrinsic: 1.2.4
2976 | get-symbol-description: 1.0.2
2977 | globalthis: 1.0.4
2978 | gopd: 1.0.1
2979 | has-property-descriptors: 1.0.2
2980 | has-proto: 1.0.3
2981 | has-symbols: 1.0.3
2982 | hasown: 2.0.2
2983 | internal-slot: 1.0.7
2984 | is-array-buffer: 3.0.4
2985 | is-callable: 1.2.7
2986 | is-data-view: 1.0.1
2987 | is-negative-zero: 2.0.3
2988 | is-regex: 1.1.4
2989 | is-shared-array-buffer: 1.0.3
2990 | is-string: 1.0.7
2991 | is-typed-array: 1.1.13
2992 | is-weakref: 1.0.2
2993 | object-inspect: 1.13.1
2994 | object-keys: 1.1.1
2995 | object.assign: 4.1.5
2996 | regexp.prototype.flags: 1.5.2
2997 | safe-array-concat: 1.1.2
2998 | safe-regex-test: 1.0.3
2999 | string.prototype.trim: 1.2.9
3000 | string.prototype.trimend: 1.0.8
3001 | string.prototype.trimstart: 1.0.8
3002 | typed-array-buffer: 1.0.2
3003 | typed-array-byte-length: 1.0.1
3004 | typed-array-byte-offset: 1.0.2
3005 | typed-array-length: 1.0.6
3006 | unbox-primitive: 1.0.2
3007 | which-typed-array: 1.1.15
3008 |
3009 | es-define-property@1.0.0:
3010 | dependencies:
3011 | get-intrinsic: 1.2.4
3012 |
3013 | es-errors@1.3.0: {}
3014 |
3015 | es-iterator-helpers@1.0.19:
3016 | dependencies:
3017 | call-bind: 1.0.7
3018 | define-properties: 1.2.1
3019 | es-abstract: 1.23.3
3020 | es-errors: 1.3.0
3021 | es-set-tostringtag: 2.0.3
3022 | function-bind: 1.1.2
3023 | get-intrinsic: 1.2.4
3024 | globalthis: 1.0.4
3025 | has-property-descriptors: 1.0.2
3026 | has-proto: 1.0.3
3027 | has-symbols: 1.0.3
3028 | internal-slot: 1.0.7
3029 | iterator.prototype: 1.1.2
3030 | safe-array-concat: 1.1.2
3031 |
3032 | es-object-atoms@1.0.0:
3033 | dependencies:
3034 | es-errors: 1.3.0
3035 |
3036 | es-set-tostringtag@2.0.3:
3037 | dependencies:
3038 | get-intrinsic: 1.2.4
3039 | has-tostringtag: 1.0.2
3040 | hasown: 2.0.2
3041 |
3042 | es-shim-unscopables@1.0.2:
3043 | dependencies:
3044 | hasown: 2.0.2
3045 |
3046 | es-to-primitive@1.2.1:
3047 | dependencies:
3048 | is-callable: 1.2.7
3049 | is-date-object: 1.0.5
3050 | is-symbol: 1.0.4
3051 |
3052 | escalade@3.1.2: {}
3053 |
3054 | escape-html@1.0.3: {}
3055 |
3056 | escape-string-regexp@4.0.0: {}
3057 |
3058 | eslint-config-next@14.2.3(eslint@8.57.0)(typescript@5.4.5):
3059 | dependencies:
3060 | '@next/eslint-plugin-next': 14.2.3
3061 | '@rushstack/eslint-patch': 1.10.3
3062 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5)
3063 | eslint: 8.57.0
3064 | eslint-import-resolver-node: 0.3.9
3065 | 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)
3066 | 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(@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))(eslint@8.57.0)
3067 | eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0)
3068 | eslint-plugin-react: 7.34.1(eslint@8.57.0)
3069 | eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0)
3070 | optionalDependencies:
3071 | typescript: 5.4.5
3072 | transitivePeerDependencies:
3073 | - eslint-import-resolver-webpack
3074 | - supports-color
3075 |
3076 | eslint-import-resolver-node@0.3.9:
3077 | dependencies:
3078 | debug: 3.2.7
3079 | is-core-module: 2.13.1
3080 | resolve: 1.22.8
3081 | transitivePeerDependencies:
3082 | - supports-color
3083 |
3084 | 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):
3085 | dependencies:
3086 | debug: 4.3.4
3087 | enhanced-resolve: 5.16.1
3088 | eslint: 8.57.0
3089 | 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))(eslint@8.57.0)
3090 | 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(@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))(eslint@8.57.0)
3091 | fast-glob: 3.3.2
3092 | get-tsconfig: 4.7.5
3093 | is-core-module: 2.13.1
3094 | is-glob: 4.0.3
3095 | transitivePeerDependencies:
3096 | - '@typescript-eslint/parser'
3097 | - eslint-import-resolver-node
3098 | - eslint-import-resolver-webpack
3099 | - supports-color
3100 |
3101 | 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))(eslint@8.57.0):
3102 | dependencies:
3103 | debug: 3.2.7
3104 | optionalDependencies:
3105 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5)
3106 | eslint: 8.57.0
3107 | eslint-import-resolver-node: 0.3.9
3108 | 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)
3109 | transitivePeerDependencies:
3110 | - supports-color
3111 |
3112 | 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(@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))(eslint@8.57.0):
3113 | dependencies:
3114 | array-includes: 3.1.8
3115 | array.prototype.findlastindex: 1.2.5
3116 | array.prototype.flat: 1.3.2
3117 | array.prototype.flatmap: 1.3.2
3118 | debug: 3.2.7
3119 | doctrine: 2.1.0
3120 | eslint: 8.57.0
3121 | eslint-import-resolver-node: 0.3.9
3122 | 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))(eslint@8.57.0)
3123 | hasown: 2.0.2
3124 | is-core-module: 2.13.1
3125 | is-glob: 4.0.3
3126 | minimatch: 3.1.2
3127 | object.fromentries: 2.0.8
3128 | object.groupby: 1.0.3
3129 | object.values: 1.2.0
3130 | semver: 6.3.1
3131 | tsconfig-paths: 3.15.0
3132 | optionalDependencies:
3133 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5)
3134 | transitivePeerDependencies:
3135 | - eslint-import-resolver-typescript
3136 | - eslint-import-resolver-webpack
3137 | - supports-color
3138 |
3139 | eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0):
3140 | dependencies:
3141 | '@babel/runtime': 7.24.5
3142 | aria-query: 5.3.0
3143 | array-includes: 3.1.8
3144 | array.prototype.flatmap: 1.3.2
3145 | ast-types-flow: 0.0.8
3146 | axe-core: 4.7.0
3147 | axobject-query: 3.2.1
3148 | damerau-levenshtein: 1.0.8
3149 | emoji-regex: 9.2.2
3150 | es-iterator-helpers: 1.0.19
3151 | eslint: 8.57.0
3152 | hasown: 2.0.2
3153 | jsx-ast-utils: 3.3.5
3154 | language-tags: 1.0.9
3155 | minimatch: 3.1.2
3156 | object.entries: 1.1.8
3157 | object.fromentries: 2.0.8
3158 |
3159 | eslint-plugin-react-hooks@4.6.2(eslint@8.57.0):
3160 | dependencies:
3161 | eslint: 8.57.0
3162 |
3163 | eslint-plugin-react@7.34.1(eslint@8.57.0):
3164 | dependencies:
3165 | array-includes: 3.1.8
3166 | array.prototype.findlast: 1.2.5
3167 | array.prototype.flatmap: 1.3.2
3168 | array.prototype.toreversed: 1.1.2
3169 | array.prototype.tosorted: 1.1.3
3170 | doctrine: 2.1.0
3171 | es-iterator-helpers: 1.0.19
3172 | eslint: 8.57.0
3173 | estraverse: 5.3.0
3174 | jsx-ast-utils: 3.3.5
3175 | minimatch: 3.1.2
3176 | object.entries: 1.1.8
3177 | object.fromentries: 2.0.8
3178 | object.hasown: 1.1.4
3179 | object.values: 1.2.0
3180 | prop-types: 15.8.1
3181 | resolve: 2.0.0-next.5
3182 | semver: 6.3.1
3183 | string.prototype.matchall: 4.0.11
3184 |
3185 | eslint-scope@7.2.2:
3186 | dependencies:
3187 | esrecurse: 4.3.0
3188 | estraverse: 5.3.0
3189 |
3190 | eslint-visitor-keys@3.4.3: {}
3191 |
3192 | eslint@8.57.0:
3193 | dependencies:
3194 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
3195 | '@eslint-community/regexpp': 4.10.0
3196 | '@eslint/eslintrc': 2.1.4
3197 | '@eslint/js': 8.57.0
3198 | '@humanwhocodes/config-array': 0.11.14
3199 | '@humanwhocodes/module-importer': 1.0.1
3200 | '@nodelib/fs.walk': 1.2.8
3201 | '@ungap/structured-clone': 1.2.0
3202 | ajv: 6.12.6
3203 | chalk: 4.1.2
3204 | cross-spawn: 7.0.3
3205 | debug: 4.3.4
3206 | doctrine: 3.0.0
3207 | escape-string-regexp: 4.0.0
3208 | eslint-scope: 7.2.2
3209 | eslint-visitor-keys: 3.4.3
3210 | espree: 9.6.1
3211 | esquery: 1.5.0
3212 | esutils: 2.0.3
3213 | fast-deep-equal: 3.1.3
3214 | file-entry-cache: 6.0.1
3215 | find-up: 5.0.0
3216 | glob-parent: 6.0.2
3217 | globals: 13.24.0
3218 | graphemer: 1.4.0
3219 | ignore: 5.3.1
3220 | imurmurhash: 0.1.4
3221 | is-glob: 4.0.3
3222 | is-path-inside: 3.0.3
3223 | js-yaml: 4.1.0
3224 | json-stable-stringify-without-jsonify: 1.0.1
3225 | levn: 0.4.1
3226 | lodash.merge: 4.6.2
3227 | minimatch: 3.1.2
3228 | natural-compare: 1.4.0
3229 | optionator: 0.9.4
3230 | strip-ansi: 6.0.1
3231 | text-table: 0.2.0
3232 | transitivePeerDependencies:
3233 | - supports-color
3234 |
3235 | espree@9.6.1:
3236 | dependencies:
3237 | acorn: 8.11.3
3238 | acorn-jsx: 5.3.2(acorn@8.11.3)
3239 | eslint-visitor-keys: 3.4.3
3240 |
3241 | esquery@1.5.0:
3242 | dependencies:
3243 | estraverse: 5.3.0
3244 |
3245 | esrecurse@4.3.0:
3246 | dependencies:
3247 | estraverse: 5.3.0
3248 |
3249 | estraverse@5.3.0: {}
3250 |
3251 | esutils@2.0.3: {}
3252 |
3253 | etag@1.8.1: {}
3254 |
3255 | event-target-shim@5.0.1: {}
3256 |
3257 | event-target-shim@6.0.2: {}
3258 |
3259 | express@4.19.2:
3260 | dependencies:
3261 | accepts: 1.3.8
3262 | array-flatten: 1.1.1
3263 | body-parser: 1.20.2
3264 | content-disposition: 0.5.4
3265 | content-type: 1.0.5
3266 | cookie: 0.6.0
3267 | cookie-signature: 1.0.6
3268 | debug: 2.6.9
3269 | depd: 2.0.0
3270 | encodeurl: 1.0.2
3271 | escape-html: 1.0.3
3272 | etag: 1.8.1
3273 | finalhandler: 1.2.0
3274 | fresh: 0.5.2
3275 | http-errors: 2.0.0
3276 | merge-descriptors: 1.0.1
3277 | methods: 1.1.2
3278 | on-finished: 2.4.1
3279 | parseurl: 1.3.3
3280 | path-to-regexp: 0.1.7
3281 | proxy-addr: 2.0.7
3282 | qs: 6.11.0
3283 | range-parser: 1.2.1
3284 | safe-buffer: 5.2.1
3285 | send: 0.18.0
3286 | serve-static: 1.15.0
3287 | setprototypeof: 1.2.0
3288 | statuses: 2.0.1
3289 | type-is: 1.6.18
3290 | utils-merge: 1.0.1
3291 | vary: 1.1.2
3292 | transitivePeerDependencies:
3293 | - supports-color
3294 |
3295 | fast-deep-equal@3.1.3: {}
3296 |
3297 | fast-glob@3.3.2:
3298 | dependencies:
3299 | '@nodelib/fs.stat': 2.0.5
3300 | '@nodelib/fs.walk': 1.2.8
3301 | glob-parent: 5.1.2
3302 | merge2: 1.4.1
3303 | micromatch: 4.0.5
3304 |
3305 | fast-json-stable-stringify@2.1.0: {}
3306 |
3307 | fast-levenshtein@2.0.6: {}
3308 |
3309 | fastq@1.17.1:
3310 | dependencies:
3311 | reusify: 1.0.4
3312 |
3313 | file-entry-cache@6.0.1:
3314 | dependencies:
3315 | flat-cache: 3.2.0
3316 |
3317 | fill-range@7.0.1:
3318 | dependencies:
3319 | to-regex-range: 5.0.1
3320 |
3321 | finalhandler@1.2.0:
3322 | dependencies:
3323 | debug: 2.6.9
3324 | encodeurl: 1.0.2
3325 | escape-html: 1.0.3
3326 | on-finished: 2.4.1
3327 | parseurl: 1.3.3
3328 | statuses: 2.0.1
3329 | unpipe: 1.0.0
3330 | transitivePeerDependencies:
3331 | - supports-color
3332 |
3333 | find-up@5.0.0:
3334 | dependencies:
3335 | locate-path: 6.0.0
3336 | path-exists: 4.0.0
3337 |
3338 | flat-cache@3.2.0:
3339 | dependencies:
3340 | flatted: 3.3.1
3341 | keyv: 4.5.4
3342 | rimraf: 3.0.2
3343 |
3344 | flatbuffers@1.12.0: {}
3345 |
3346 | flatted@3.3.1: {}
3347 |
3348 | for-each@0.3.3:
3349 | dependencies:
3350 | is-callable: 1.2.7
3351 |
3352 | foreground-child@3.1.1:
3353 | dependencies:
3354 | cross-spawn: 7.0.3
3355 | signal-exit: 4.1.0
3356 |
3357 | form-data-encoder@1.7.2: {}
3358 |
3359 | form-data@4.0.0:
3360 | dependencies:
3361 | asynckit: 0.4.0
3362 | combined-stream: 1.0.8
3363 | mime-types: 2.1.35
3364 |
3365 | formdata-node@4.4.1:
3366 | dependencies:
3367 | node-domexception: 1.0.0
3368 | web-streams-polyfill: 4.0.0-beta.3
3369 |
3370 | forwarded@0.2.0: {}
3371 |
3372 | fraction.js@4.3.7: {}
3373 |
3374 | fresh@0.5.2: {}
3375 |
3376 | fs.realpath@1.0.0: {}
3377 |
3378 | fsevents@2.3.3:
3379 | optional: true
3380 |
3381 | function-bind@1.1.2: {}
3382 |
3383 | function.prototype.name@1.1.6:
3384 | dependencies:
3385 | call-bind: 1.0.7
3386 | define-properties: 1.2.1
3387 | es-abstract: 1.23.3
3388 | functions-have-names: 1.2.3
3389 |
3390 | functions-have-names@1.2.3: {}
3391 |
3392 | geist@1.3.0(next@15.0.0-rc.0(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701)):
3393 | dependencies:
3394 | next: 15.0.0-rc.0(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701)
3395 |
3396 | get-intrinsic@1.2.4:
3397 | dependencies:
3398 | es-errors: 1.3.0
3399 | function-bind: 1.1.2
3400 | has-proto: 1.0.3
3401 | has-symbols: 1.0.3
3402 | hasown: 2.0.2
3403 |
3404 | get-symbol-description@1.0.2:
3405 | dependencies:
3406 | call-bind: 1.0.7
3407 | es-errors: 1.3.0
3408 | get-intrinsic: 1.2.4
3409 |
3410 | get-tsconfig@4.7.5:
3411 | dependencies:
3412 | resolve-pkg-maps: 1.0.0
3413 |
3414 | glob-parent@5.1.2:
3415 | dependencies:
3416 | is-glob: 4.0.3
3417 |
3418 | glob-parent@6.0.2:
3419 | dependencies:
3420 | is-glob: 4.0.3
3421 |
3422 | glob@10.3.10:
3423 | dependencies:
3424 | foreground-child: 3.1.1
3425 | jackspeak: 2.3.6
3426 | minimatch: 9.0.4
3427 | minipass: 7.1.1
3428 | path-scurry: 1.11.1
3429 |
3430 | glob@10.3.15:
3431 | dependencies:
3432 | foreground-child: 3.1.1
3433 | jackspeak: 2.3.6
3434 | minimatch: 9.0.4
3435 | minipass: 7.1.1
3436 | path-scurry: 1.11.1
3437 |
3438 | glob@7.2.3:
3439 | dependencies:
3440 | fs.realpath: 1.0.0
3441 | inflight: 1.0.6
3442 | inherits: 2.0.4
3443 | minimatch: 3.1.2
3444 | once: 1.4.0
3445 | path-is-absolute: 1.0.1
3446 |
3447 | globals@13.24.0:
3448 | dependencies:
3449 | type-fest: 0.20.2
3450 |
3451 | globalthis@1.0.4:
3452 | dependencies:
3453 | define-properties: 1.2.1
3454 | gopd: 1.0.1
3455 |
3456 | globby@11.1.0:
3457 | dependencies:
3458 | array-union: 2.1.0
3459 | dir-glob: 3.0.1
3460 | fast-glob: 3.3.2
3461 | ignore: 5.3.1
3462 | merge2: 1.4.1
3463 | slash: 3.0.0
3464 |
3465 | gopd@1.0.1:
3466 | dependencies:
3467 | get-intrinsic: 1.2.4
3468 |
3469 | graceful-fs@4.2.11: {}
3470 |
3471 | graphemer@1.4.0: {}
3472 |
3473 | groq-sdk@0.3.3:
3474 | dependencies:
3475 | '@types/node': 18.19.33
3476 | '@types/node-fetch': 2.6.11
3477 | abort-controller: 3.0.0
3478 | agentkeepalive: 4.5.0
3479 | digest-fetch: 1.3.0
3480 | form-data-encoder: 1.7.2
3481 | formdata-node: 4.4.1
3482 | node-fetch: 2.7.0
3483 | web-streams-polyfill: 3.3.3
3484 | transitivePeerDependencies:
3485 | - encoding
3486 |
3487 | guid-typescript@1.0.9: {}
3488 |
3489 | has-bigints@1.0.2: {}
3490 |
3491 | has-flag@4.0.0: {}
3492 |
3493 | has-property-descriptors@1.0.2:
3494 | dependencies:
3495 | es-define-property: 1.0.0
3496 |
3497 | has-proto@1.0.3: {}
3498 |
3499 | has-symbols@1.0.3: {}
3500 |
3501 | has-tostringtag@1.0.2:
3502 | dependencies:
3503 | has-symbols: 1.0.3
3504 |
3505 | hasown@2.0.2:
3506 | dependencies:
3507 | function-bind: 1.1.2
3508 |
3509 | http-errors@2.0.0:
3510 | dependencies:
3511 | depd: 2.0.0
3512 | inherits: 2.0.4
3513 | setprototypeof: 1.2.0
3514 | statuses: 2.0.1
3515 | toidentifier: 1.0.1
3516 |
3517 | http@0.0.1-security: {}
3518 |
3519 | human-id@4.1.1: {}
3520 |
3521 | humanize-ms@1.2.1:
3522 | dependencies:
3523 | ms: 2.1.3
3524 |
3525 | iconv-lite@0.4.24:
3526 | dependencies:
3527 | safer-buffer: 2.1.2
3528 |
3529 | ignore@5.3.1: {}
3530 |
3531 | import-fresh@3.3.0:
3532 | dependencies:
3533 | parent-module: 1.0.1
3534 | resolve-from: 4.0.0
3535 |
3536 | imurmurhash@0.1.4: {}
3537 |
3538 | inflight@1.0.6:
3539 | dependencies:
3540 | once: 1.4.0
3541 | wrappy: 1.0.2
3542 |
3543 | inherits@2.0.4: {}
3544 |
3545 | internal-slot@1.0.7:
3546 | dependencies:
3547 | es-errors: 1.3.0
3548 | hasown: 2.0.2
3549 | side-channel: 1.0.6
3550 |
3551 | ipaddr.js@1.9.1: {}
3552 |
3553 | is-array-buffer@3.0.4:
3554 | dependencies:
3555 | call-bind: 1.0.7
3556 | get-intrinsic: 1.2.4
3557 |
3558 | is-arrayish@0.3.2:
3559 | optional: true
3560 |
3561 | is-async-function@2.0.0:
3562 | dependencies:
3563 | has-tostringtag: 1.0.2
3564 |
3565 | is-bigint@1.0.4:
3566 | dependencies:
3567 | has-bigints: 1.0.2
3568 |
3569 | is-binary-path@2.1.0:
3570 | dependencies:
3571 | binary-extensions: 2.3.0
3572 |
3573 | is-boolean-object@1.1.2:
3574 | dependencies:
3575 | call-bind: 1.0.7
3576 | has-tostringtag: 1.0.2
3577 |
3578 | is-buffer@1.1.6: {}
3579 |
3580 | is-callable@1.2.7: {}
3581 |
3582 | is-core-module@2.13.1:
3583 | dependencies:
3584 | hasown: 2.0.2
3585 |
3586 | is-data-view@1.0.1:
3587 | dependencies:
3588 | is-typed-array: 1.1.13
3589 |
3590 | is-date-object@1.0.5:
3591 | dependencies:
3592 | has-tostringtag: 1.0.2
3593 |
3594 | is-extglob@2.1.1: {}
3595 |
3596 | is-finalizationregistry@1.0.2:
3597 | dependencies:
3598 | call-bind: 1.0.7
3599 |
3600 | is-fullwidth-code-point@3.0.0: {}
3601 |
3602 | is-generator-function@1.0.10:
3603 | dependencies:
3604 | has-tostringtag: 1.0.2
3605 |
3606 | is-glob@4.0.3:
3607 | dependencies:
3608 | is-extglob: 2.1.1
3609 |
3610 | is-map@2.0.3: {}
3611 |
3612 | is-negative-zero@2.0.3: {}
3613 |
3614 | is-number-object@1.0.7:
3615 | dependencies:
3616 | has-tostringtag: 1.0.2
3617 |
3618 | is-number@7.0.0: {}
3619 |
3620 | is-path-inside@3.0.3: {}
3621 |
3622 | is-regex@1.1.4:
3623 | dependencies:
3624 | call-bind: 1.0.7
3625 | has-tostringtag: 1.0.2
3626 |
3627 | is-set@2.0.3: {}
3628 |
3629 | is-shared-array-buffer@1.0.3:
3630 | dependencies:
3631 | call-bind: 1.0.7
3632 |
3633 | is-string@1.0.7:
3634 | dependencies:
3635 | has-tostringtag: 1.0.2
3636 |
3637 | is-symbol@1.0.4:
3638 | dependencies:
3639 | has-symbols: 1.0.3
3640 |
3641 | is-typed-array@1.1.13:
3642 | dependencies:
3643 | which-typed-array: 1.1.15
3644 |
3645 | is-weakmap@2.0.2: {}
3646 |
3647 | is-weakref@1.0.2:
3648 | dependencies:
3649 | call-bind: 1.0.7
3650 |
3651 | is-weakset@2.0.3:
3652 | dependencies:
3653 | call-bind: 1.0.7
3654 | get-intrinsic: 1.2.4
3655 |
3656 | isarray@1.0.0: {}
3657 |
3658 | isarray@2.0.5: {}
3659 |
3660 | isexe@2.0.0: {}
3661 |
3662 | iterator.prototype@1.1.2:
3663 | dependencies:
3664 | define-properties: 1.2.1
3665 | get-intrinsic: 1.2.4
3666 | has-symbols: 1.0.3
3667 | reflect.getprototypeof: 1.0.6
3668 | set-function-name: 2.0.2
3669 |
3670 | jackspeak@2.3.6:
3671 | dependencies:
3672 | '@isaacs/cliui': 8.0.2
3673 | optionalDependencies:
3674 | '@pkgjs/parseargs': 0.11.0
3675 |
3676 | jiti@1.21.0: {}
3677 |
3678 | js-tokens@4.0.0: {}
3679 |
3680 | js-yaml@4.1.0:
3681 | dependencies:
3682 | argparse: 2.0.1
3683 |
3684 | json-buffer@3.0.1: {}
3685 |
3686 | json-schema-traverse@0.4.1: {}
3687 |
3688 | json-stable-stringify-without-jsonify@1.0.1: {}
3689 |
3690 | json5@1.0.2:
3691 | dependencies:
3692 | minimist: 1.2.8
3693 |
3694 | jsx-ast-utils@3.3.5:
3695 | dependencies:
3696 | array-includes: 3.1.8
3697 | array.prototype.flat: 1.3.2
3698 | object.assign: 4.1.5
3699 | object.values: 1.2.0
3700 |
3701 | keyv@4.5.4:
3702 | dependencies:
3703 | json-buffer: 3.0.1
3704 |
3705 | language-subtag-registry@0.3.22: {}
3706 |
3707 | language-tags@1.0.9:
3708 | dependencies:
3709 | language-subtag-registry: 0.3.22
3710 |
3711 | levn@0.4.1:
3712 | dependencies:
3713 | prelude-ls: 1.2.1
3714 | type-check: 0.4.0
3715 |
3716 | lilconfig@2.1.0: {}
3717 |
3718 | lilconfig@3.1.1: {}
3719 |
3720 | lines-and-columns@1.2.4: {}
3721 |
3722 | locate-path@6.0.0:
3723 | dependencies:
3724 | p-locate: 5.0.0
3725 |
3726 | lodash.merge@4.6.2: {}
3727 |
3728 | long@5.2.3: {}
3729 |
3730 | loose-envify@1.4.0:
3731 | dependencies:
3732 | js-tokens: 4.0.0
3733 |
3734 | lru-cache@10.2.2: {}
3735 |
3736 | lucide-react@0.435.0(react@19.0.0-rc-100dfd7dab-20240701):
3737 | dependencies:
3738 | react: 19.0.0-rc-100dfd7dab-20240701
3739 |
3740 | md5@2.3.0:
3741 | dependencies:
3742 | charenc: 0.0.2
3743 | crypt: 0.0.2
3744 | is-buffer: 1.1.6
3745 |
3746 | media-typer@0.3.0: {}
3747 |
3748 | merge-descriptors@1.0.1: {}
3749 |
3750 | merge2@1.4.1: {}
3751 |
3752 | methods@1.1.2: {}
3753 |
3754 | micromatch@4.0.5:
3755 | dependencies:
3756 | braces: 3.0.2
3757 | picomatch: 2.3.1
3758 |
3759 | mime-db@1.52.0: {}
3760 |
3761 | mime-types@2.1.35:
3762 | dependencies:
3763 | mime-db: 1.52.0
3764 |
3765 | mime@1.6.0: {}
3766 |
3767 | minimatch@3.1.2:
3768 | dependencies:
3769 | brace-expansion: 1.1.11
3770 |
3771 | minimatch@9.0.3:
3772 | dependencies:
3773 | brace-expansion: 2.0.1
3774 |
3775 | minimatch@9.0.4:
3776 | dependencies:
3777 | brace-expansion: 2.0.1
3778 |
3779 | minimist@1.2.8: {}
3780 |
3781 | minipass@7.1.1: {}
3782 |
3783 | mkdirp@0.5.6:
3784 | dependencies:
3785 | minimist: 1.2.8
3786 |
3787 | ms@2.0.0: {}
3788 |
3789 | ms@2.1.2: {}
3790 |
3791 | ms@2.1.3: {}
3792 |
3793 | multer@1.4.5-lts.1:
3794 | dependencies:
3795 | append-field: 1.0.0
3796 | busboy: 1.6.0
3797 | concat-stream: 1.6.2
3798 | mkdirp: 0.5.6
3799 | object-assign: 4.1.1
3800 | type-is: 1.6.18
3801 | xtend: 4.0.2
3802 |
3803 | mz@2.7.0:
3804 | dependencies:
3805 | any-promise: 1.3.0
3806 | object-assign: 4.1.1
3807 | thenify-all: 1.6.0
3808 |
3809 | nanoid@3.3.7: {}
3810 |
3811 | natural-compare@1.4.0: {}
3812 |
3813 | negotiator@0.6.3: {}
3814 |
3815 | next@15.0.0-rc.0(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701):
3816 | dependencies:
3817 | '@next/env': 15.0.0-rc.0
3818 | '@swc/helpers': 0.5.11
3819 | busboy: 1.6.0
3820 | caniuse-lite: 1.0.30001620
3821 | graceful-fs: 4.2.11
3822 | postcss: 8.4.31
3823 | react: 19.0.0-rc-100dfd7dab-20240701
3824 | react-dom: 19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701)
3825 | styled-jsx: 5.1.3(react@19.0.0-rc-100dfd7dab-20240701)
3826 | optionalDependencies:
3827 | '@next/swc-darwin-arm64': 15.0.0-rc.0
3828 | '@next/swc-darwin-x64': 15.0.0-rc.0
3829 | '@next/swc-linux-arm64-gnu': 15.0.0-rc.0
3830 | '@next/swc-linux-arm64-musl': 15.0.0-rc.0
3831 | '@next/swc-linux-x64-gnu': 15.0.0-rc.0
3832 | '@next/swc-linux-x64-musl': 15.0.0-rc.0
3833 | '@next/swc-win32-arm64-msvc': 15.0.0-rc.0
3834 | '@next/swc-win32-ia32-msvc': 15.0.0-rc.0
3835 | '@next/swc-win32-x64-msvc': 15.0.0-rc.0
3836 | sharp: 0.33.4
3837 | transitivePeerDependencies:
3838 | - '@babel/core'
3839 | - babel-plugin-macros
3840 |
3841 | node-domexception@1.0.0: {}
3842 |
3843 | node-fetch@2.7.0:
3844 | dependencies:
3845 | whatwg-url: 5.0.0
3846 |
3847 | node-releases@2.0.14: {}
3848 |
3849 | normalize-path@3.0.0: {}
3850 |
3851 | normalize-range@0.1.2: {}
3852 |
3853 | object-assign@4.1.1: {}
3854 |
3855 | object-hash@3.0.0: {}
3856 |
3857 | object-inspect@1.13.1: {}
3858 |
3859 | object-keys@1.1.1: {}
3860 |
3861 | object.assign@4.1.5:
3862 | dependencies:
3863 | call-bind: 1.0.7
3864 | define-properties: 1.2.1
3865 | has-symbols: 1.0.3
3866 | object-keys: 1.1.1
3867 |
3868 | object.entries@1.1.8:
3869 | dependencies:
3870 | call-bind: 1.0.7
3871 | define-properties: 1.2.1
3872 | es-object-atoms: 1.0.0
3873 |
3874 | object.fromentries@2.0.8:
3875 | dependencies:
3876 | call-bind: 1.0.7
3877 | define-properties: 1.2.1
3878 | es-abstract: 1.23.3
3879 | es-object-atoms: 1.0.0
3880 |
3881 | object.groupby@1.0.3:
3882 | dependencies:
3883 | call-bind: 1.0.7
3884 | define-properties: 1.2.1
3885 | es-abstract: 1.23.3
3886 |
3887 | object.hasown@1.1.4:
3888 | dependencies:
3889 | define-properties: 1.2.1
3890 | es-abstract: 1.23.3
3891 | es-object-atoms: 1.0.0
3892 |
3893 | object.values@1.2.0:
3894 | dependencies:
3895 | call-bind: 1.0.7
3896 | define-properties: 1.2.1
3897 | es-object-atoms: 1.0.0
3898 |
3899 | on-finished@2.4.1:
3900 | dependencies:
3901 | ee-first: 1.1.1
3902 |
3903 | once@1.4.0:
3904 | dependencies:
3905 | wrappy: 1.0.2
3906 |
3907 | onnxruntime-common@1.18.0: {}
3908 |
3909 | onnxruntime-web@1.18.0:
3910 | dependencies:
3911 | flatbuffers: 1.12.0
3912 | guid-typescript: 1.0.9
3913 | long: 5.2.3
3914 | onnxruntime-common: 1.18.0
3915 | platform: 1.3.6
3916 | protobufjs: 7.3.2
3917 |
3918 | optionator@0.9.4:
3919 | dependencies:
3920 | deep-is: 0.1.4
3921 | fast-levenshtein: 2.0.6
3922 | levn: 0.4.1
3923 | prelude-ls: 1.2.1
3924 | type-check: 0.4.0
3925 | word-wrap: 1.2.5
3926 |
3927 | p-limit@3.1.0:
3928 | dependencies:
3929 | yocto-queue: 0.1.0
3930 |
3931 | p-locate@5.0.0:
3932 | dependencies:
3933 | p-limit: 3.1.0
3934 |
3935 | parent-module@1.0.1:
3936 | dependencies:
3937 | callsites: 3.1.0
3938 |
3939 | parseurl@1.3.3: {}
3940 |
3941 | partysocket@1.0.2:
3942 | dependencies:
3943 | event-target-shim: 6.0.2
3944 |
3945 | path-exists@4.0.0: {}
3946 |
3947 | path-is-absolute@1.0.1: {}
3948 |
3949 | path-key@3.1.1: {}
3950 |
3951 | path-parse@1.0.7: {}
3952 |
3953 | path-scurry@1.11.1:
3954 | dependencies:
3955 | lru-cache: 10.2.2
3956 | minipass: 7.1.1
3957 |
3958 | path-to-regexp@0.1.7: {}
3959 |
3960 | path-type@4.0.0: {}
3961 |
3962 | picocolors@1.0.1: {}
3963 |
3964 | picomatch@2.3.1: {}
3965 |
3966 | pify@2.3.0: {}
3967 |
3968 | pirates@4.0.6: {}
3969 |
3970 | platform@1.3.6: {}
3971 |
3972 | possible-typed-array-names@1.0.0: {}
3973 |
3974 | postcss-import@15.1.0(postcss@8.4.38):
3975 | dependencies:
3976 | postcss: 8.4.38
3977 | postcss-value-parser: 4.2.0
3978 | read-cache: 1.0.0
3979 | resolve: 1.22.8
3980 |
3981 | postcss-js@4.0.1(postcss@8.4.38):
3982 | dependencies:
3983 | camelcase-css: 2.0.1
3984 | postcss: 8.4.38
3985 |
3986 | postcss-load-config@4.0.2(postcss@8.4.38):
3987 | dependencies:
3988 | lilconfig: 3.1.1
3989 | yaml: 2.4.2
3990 | optionalDependencies:
3991 | postcss: 8.4.38
3992 |
3993 | postcss-nested@6.0.1(postcss@8.4.38):
3994 | dependencies:
3995 | postcss: 8.4.38
3996 | postcss-selector-parser: 6.0.16
3997 |
3998 | postcss-selector-parser@6.0.16:
3999 | dependencies:
4000 | cssesc: 3.0.0
4001 | util-deprecate: 1.0.2
4002 |
4003 | postcss-value-parser@4.2.0: {}
4004 |
4005 | postcss@8.4.31:
4006 | dependencies:
4007 | nanoid: 3.3.7
4008 | picocolors: 1.0.1
4009 | source-map-js: 1.2.0
4010 |
4011 | postcss@8.4.38:
4012 | dependencies:
4013 | nanoid: 3.3.7
4014 | picocolors: 1.0.1
4015 | source-map-js: 1.2.0
4016 |
4017 | prelude-ls@1.2.1: {}
4018 |
4019 | process-nextick-args@2.0.1: {}
4020 |
4021 | prop-types@15.8.1:
4022 | dependencies:
4023 | loose-envify: 1.4.0
4024 | object-assign: 4.1.1
4025 | react-is: 16.13.1
4026 |
4027 | protobufjs@7.3.2:
4028 | dependencies:
4029 | '@protobufjs/aspromise': 1.1.2
4030 | '@protobufjs/base64': 1.1.2
4031 | '@protobufjs/codegen': 2.0.4
4032 | '@protobufjs/eventemitter': 1.1.0
4033 | '@protobufjs/fetch': 1.1.0
4034 | '@protobufjs/float': 1.0.2
4035 | '@protobufjs/inquire': 1.1.0
4036 | '@protobufjs/path': 1.1.2
4037 | '@protobufjs/pool': 1.1.0
4038 | '@protobufjs/utf8': 1.1.0
4039 | '@types/node': 20.12.12
4040 | long: 5.2.3
4041 |
4042 | proxy-addr@2.0.7:
4043 | dependencies:
4044 | forwarded: 0.2.0
4045 | ipaddr.js: 1.9.1
4046 |
4047 | punycode@2.3.1: {}
4048 |
4049 | qs@6.11.0:
4050 | dependencies:
4051 | side-channel: 1.0.6
4052 |
4053 | queue-microtask@1.2.3: {}
4054 |
4055 | range-parser@1.2.1: {}
4056 |
4057 | raw-body@2.5.2:
4058 | dependencies:
4059 | bytes: 3.1.2
4060 | http-errors: 2.0.0
4061 | iconv-lite: 0.4.24
4062 | unpipe: 1.0.0
4063 |
4064 | react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701):
4065 | dependencies:
4066 | react: 19.0.0-rc-100dfd7dab-20240701
4067 | scheduler: 0.25.0-rc-100dfd7dab-20240701
4068 |
4069 | react-is@16.13.1: {}
4070 |
4071 | react@19.0.0-rc-100dfd7dab-20240701: {}
4072 |
4073 | read-cache@1.0.0:
4074 | dependencies:
4075 | pify: 2.3.0
4076 |
4077 | readable-stream@2.3.8:
4078 | dependencies:
4079 | core-util-is: 1.0.3
4080 | inherits: 2.0.4
4081 | isarray: 1.0.0
4082 | process-nextick-args: 2.0.1
4083 | safe-buffer: 5.1.2
4084 | string_decoder: 1.1.1
4085 | util-deprecate: 1.0.2
4086 |
4087 | readdirp@3.6.0:
4088 | dependencies:
4089 | picomatch: 2.3.1
4090 |
4091 | reflect.getprototypeof@1.0.6:
4092 | dependencies:
4093 | call-bind: 1.0.7
4094 | define-properties: 1.2.1
4095 | es-abstract: 1.23.3
4096 | es-errors: 1.3.0
4097 | get-intrinsic: 1.2.4
4098 | globalthis: 1.0.4
4099 | which-builtin-type: 1.1.3
4100 |
4101 | regenerator-runtime@0.14.1: {}
4102 |
4103 | regexp.prototype.flags@1.5.2:
4104 | dependencies:
4105 | call-bind: 1.0.7
4106 | define-properties: 1.2.1
4107 | es-errors: 1.3.0
4108 | set-function-name: 2.0.2
4109 |
4110 | resolve-from@4.0.0: {}
4111 |
4112 | resolve-pkg-maps@1.0.0: {}
4113 |
4114 | resolve@1.22.8:
4115 | dependencies:
4116 | is-core-module: 2.13.1
4117 | path-parse: 1.0.7
4118 | supports-preserve-symlinks-flag: 1.0.0
4119 |
4120 | resolve@2.0.0-next.5:
4121 | dependencies:
4122 | is-core-module: 2.13.1
4123 | path-parse: 1.0.7
4124 | supports-preserve-symlinks-flag: 1.0.0
4125 |
4126 | reusify@1.0.4: {}
4127 |
4128 | rimraf@3.0.2:
4129 | dependencies:
4130 | glob: 7.2.3
4131 |
4132 | run-parallel@1.2.0:
4133 | dependencies:
4134 | queue-microtask: 1.2.3
4135 |
4136 | safe-array-concat@1.1.2:
4137 | dependencies:
4138 | call-bind: 1.0.7
4139 | get-intrinsic: 1.2.4
4140 | has-symbols: 1.0.3
4141 | isarray: 2.0.5
4142 |
4143 | safe-buffer@5.1.2: {}
4144 |
4145 | safe-buffer@5.2.1: {}
4146 |
4147 | safe-regex-test@1.0.3:
4148 | dependencies:
4149 | call-bind: 1.0.7
4150 | es-errors: 1.3.0
4151 | is-regex: 1.1.4
4152 |
4153 | safer-buffer@2.1.2: {}
4154 |
4155 | scheduler@0.25.0-rc-100dfd7dab-20240701: {}
4156 |
4157 | semver@6.3.1: {}
4158 |
4159 | semver@7.6.2: {}
4160 |
4161 | send@0.18.0:
4162 | dependencies:
4163 | debug: 2.6.9
4164 | depd: 2.0.0
4165 | destroy: 1.2.0
4166 | encodeurl: 1.0.2
4167 | escape-html: 1.0.3
4168 | etag: 1.8.1
4169 | fresh: 0.5.2
4170 | http-errors: 2.0.0
4171 | mime: 1.6.0
4172 | ms: 2.1.3
4173 | on-finished: 2.4.1
4174 | range-parser: 1.2.1
4175 | statuses: 2.0.1
4176 | transitivePeerDependencies:
4177 | - supports-color
4178 |
4179 | serve-static@1.15.0:
4180 | dependencies:
4181 | encodeurl: 1.0.2
4182 | escape-html: 1.0.3
4183 | parseurl: 1.3.3
4184 | send: 0.18.0
4185 | transitivePeerDependencies:
4186 | - supports-color
4187 |
4188 | server-only@0.0.1: {}
4189 |
4190 | set-function-length@1.2.2:
4191 | dependencies:
4192 | define-data-property: 1.1.4
4193 | es-errors: 1.3.0
4194 | function-bind: 1.1.2
4195 | get-intrinsic: 1.2.4
4196 | gopd: 1.0.1
4197 | has-property-descriptors: 1.0.2
4198 |
4199 | set-function-name@2.0.2:
4200 | dependencies:
4201 | define-data-property: 1.1.4
4202 | es-errors: 1.3.0
4203 | functions-have-names: 1.2.3
4204 | has-property-descriptors: 1.0.2
4205 |
4206 | setprototypeof@1.2.0: {}
4207 |
4208 | sharp@0.33.4:
4209 | dependencies:
4210 | color: 4.2.3
4211 | detect-libc: 2.0.3
4212 | semver: 7.6.2
4213 | optionalDependencies:
4214 | '@img/sharp-darwin-arm64': 0.33.4
4215 | '@img/sharp-darwin-x64': 0.33.4
4216 | '@img/sharp-libvips-darwin-arm64': 1.0.2
4217 | '@img/sharp-libvips-darwin-x64': 1.0.2
4218 | '@img/sharp-libvips-linux-arm': 1.0.2
4219 | '@img/sharp-libvips-linux-arm64': 1.0.2
4220 | '@img/sharp-libvips-linux-s390x': 1.0.2
4221 | '@img/sharp-libvips-linux-x64': 1.0.2
4222 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.2
4223 | '@img/sharp-libvips-linuxmusl-x64': 1.0.2
4224 | '@img/sharp-linux-arm': 0.33.4
4225 | '@img/sharp-linux-arm64': 0.33.4
4226 | '@img/sharp-linux-s390x': 0.33.4
4227 | '@img/sharp-linux-x64': 0.33.4
4228 | '@img/sharp-linuxmusl-arm64': 0.33.4
4229 | '@img/sharp-linuxmusl-x64': 0.33.4
4230 | '@img/sharp-wasm32': 0.33.4
4231 | '@img/sharp-win32-ia32': 0.33.4
4232 | '@img/sharp-win32-x64': 0.33.4
4233 | optional: true
4234 |
4235 | shebang-command@2.0.0:
4236 | dependencies:
4237 | shebang-regex: 3.0.0
4238 |
4239 | shebang-regex@3.0.0: {}
4240 |
4241 | side-channel@1.0.6:
4242 | dependencies:
4243 | call-bind: 1.0.7
4244 | es-errors: 1.3.0
4245 | get-intrinsic: 1.2.4
4246 | object-inspect: 1.13.1
4247 |
4248 | signal-exit@4.1.0: {}
4249 |
4250 | simple-swizzle@0.2.2:
4251 | dependencies:
4252 | is-arrayish: 0.3.2
4253 | optional: true
4254 |
4255 | slash@3.0.0: {}
4256 |
4257 | sonner@1.4.41(react-dom@19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701))(react@19.0.0-rc-100dfd7dab-20240701):
4258 | dependencies:
4259 | react: 19.0.0-rc-100dfd7dab-20240701
4260 | react-dom: 19.0.0-rc-100dfd7dab-20240701(react@19.0.0-rc-100dfd7dab-20240701)
4261 |
4262 | source-map-js@1.2.0: {}
4263 |
4264 | statuses@2.0.1: {}
4265 |
4266 | streamsearch@1.1.0: {}
4267 |
4268 | string-width@4.2.3:
4269 | dependencies:
4270 | emoji-regex: 8.0.0
4271 | is-fullwidth-code-point: 3.0.0
4272 | strip-ansi: 6.0.1
4273 |
4274 | string-width@5.1.2:
4275 | dependencies:
4276 | eastasianwidth: 0.2.0
4277 | emoji-regex: 9.2.2
4278 | strip-ansi: 7.1.0
4279 |
4280 | string.prototype.matchall@4.0.11:
4281 | dependencies:
4282 | call-bind: 1.0.7
4283 | define-properties: 1.2.1
4284 | es-abstract: 1.23.3
4285 | es-errors: 1.3.0
4286 | es-object-atoms: 1.0.0
4287 | get-intrinsic: 1.2.4
4288 | gopd: 1.0.1
4289 | has-symbols: 1.0.3
4290 | internal-slot: 1.0.7
4291 | regexp.prototype.flags: 1.5.2
4292 | set-function-name: 2.0.2
4293 | side-channel: 1.0.6
4294 |
4295 | string.prototype.trim@1.2.9:
4296 | dependencies:
4297 | call-bind: 1.0.7
4298 | define-properties: 1.2.1
4299 | es-abstract: 1.23.3
4300 | es-object-atoms: 1.0.0
4301 |
4302 | string.prototype.trimend@1.0.8:
4303 | dependencies:
4304 | call-bind: 1.0.7
4305 | define-properties: 1.2.1
4306 | es-object-atoms: 1.0.0
4307 |
4308 | string.prototype.trimstart@1.0.8:
4309 | dependencies:
4310 | call-bind: 1.0.7
4311 | define-properties: 1.2.1
4312 | es-object-atoms: 1.0.0
4313 |
4314 | string_decoder@1.1.1:
4315 | dependencies:
4316 | safe-buffer: 5.1.2
4317 |
4318 | strip-ansi@6.0.1:
4319 | dependencies:
4320 | ansi-regex: 5.0.1
4321 |
4322 | strip-ansi@7.1.0:
4323 | dependencies:
4324 | ansi-regex: 6.0.1
4325 |
4326 | strip-bom@3.0.0: {}
4327 |
4328 | strip-json-comments@3.1.1: {}
4329 |
4330 | styled-jsx@5.1.3(react@19.0.0-rc-100dfd7dab-20240701):
4331 | dependencies:
4332 | client-only: 0.0.1
4333 | react: 19.0.0-rc-100dfd7dab-20240701
4334 |
4335 | sucrase@3.35.0:
4336 | dependencies:
4337 | '@jridgewell/gen-mapping': 0.3.5
4338 | commander: 4.1.1
4339 | glob: 10.3.15
4340 | lines-and-columns: 1.2.4
4341 | mz: 2.7.0
4342 | pirates: 4.0.6
4343 | ts-interface-checker: 0.1.13
4344 |
4345 | supports-color@7.2.0:
4346 | dependencies:
4347 | has-flag: 4.0.0
4348 |
4349 | supports-preserve-symlinks-flag@1.0.0: {}
4350 |
4351 | tailwindcss@3.4.3:
4352 | dependencies:
4353 | '@alloc/quick-lru': 5.2.0
4354 | arg: 5.0.2
4355 | chokidar: 3.6.0
4356 | didyoumean: 1.2.2
4357 | dlv: 1.1.3
4358 | fast-glob: 3.3.2
4359 | glob-parent: 6.0.2
4360 | is-glob: 4.0.3
4361 | jiti: 1.21.0
4362 | lilconfig: 2.1.0
4363 | micromatch: 4.0.5
4364 | normalize-path: 3.0.0
4365 | object-hash: 3.0.0
4366 | picocolors: 1.0.1
4367 | postcss: 8.4.38
4368 | postcss-import: 15.1.0(postcss@8.4.38)
4369 | postcss-js: 4.0.1(postcss@8.4.38)
4370 | postcss-load-config: 4.0.2(postcss@8.4.38)
4371 | postcss-nested: 6.0.1(postcss@8.4.38)
4372 | postcss-selector-parser: 6.0.16
4373 | resolve: 1.22.8
4374 | sucrase: 3.35.0
4375 | transitivePeerDependencies:
4376 | - ts-node
4377 |
4378 | tapable@2.2.1: {}
4379 |
4380 | text-table@0.2.0: {}
4381 |
4382 | thenify-all@1.6.0:
4383 | dependencies:
4384 | thenify: 3.3.1
4385 |
4386 | thenify@3.3.1:
4387 | dependencies:
4388 | any-promise: 1.3.0
4389 |
4390 | to-regex-range@5.0.1:
4391 | dependencies:
4392 | is-number: 7.0.0
4393 |
4394 | toidentifier@1.0.1: {}
4395 |
4396 | tr46@0.0.3: {}
4397 |
4398 | ts-api-utils@1.3.0(typescript@5.4.5):
4399 | dependencies:
4400 | typescript: 5.4.5
4401 |
4402 | ts-interface-checker@0.1.13: {}
4403 |
4404 | tsconfig-paths@3.15.0:
4405 | dependencies:
4406 | '@types/json5': 0.0.29
4407 | json5: 1.0.2
4408 | minimist: 1.2.8
4409 | strip-bom: 3.0.0
4410 |
4411 | tslib@2.6.2: {}
4412 |
4413 | type-check@0.4.0:
4414 | dependencies:
4415 | prelude-ls: 1.2.1
4416 |
4417 | type-fest@0.20.2: {}
4418 |
4419 | type-is@1.6.18:
4420 | dependencies:
4421 | media-typer: 0.3.0
4422 | mime-types: 2.1.35
4423 |
4424 | typed-array-buffer@1.0.2:
4425 | dependencies:
4426 | call-bind: 1.0.7
4427 | es-errors: 1.3.0
4428 | is-typed-array: 1.1.13
4429 |
4430 | typed-array-byte-length@1.0.1:
4431 | dependencies:
4432 | call-bind: 1.0.7
4433 | for-each: 0.3.3
4434 | gopd: 1.0.1
4435 | has-proto: 1.0.3
4436 | is-typed-array: 1.1.13
4437 |
4438 | typed-array-byte-offset@1.0.2:
4439 | dependencies:
4440 | available-typed-arrays: 1.0.7
4441 | call-bind: 1.0.7
4442 | for-each: 0.3.3
4443 | gopd: 1.0.1
4444 | has-proto: 1.0.3
4445 | is-typed-array: 1.1.13
4446 |
4447 | typed-array-length@1.0.6:
4448 | dependencies:
4449 | call-bind: 1.0.7
4450 | for-each: 0.3.3
4451 | gopd: 1.0.1
4452 | has-proto: 1.0.3
4453 | is-typed-array: 1.1.13
4454 | possible-typed-array-names: 1.0.0
4455 |
4456 | typedarray@0.0.6: {}
4457 |
4458 | typescript@5.4.5: {}
4459 |
4460 | unbox-primitive@1.0.2:
4461 | dependencies:
4462 | call-bind: 1.0.7
4463 | has-bigints: 1.0.2
4464 | has-symbols: 1.0.3
4465 | which-boxed-primitive: 1.0.2
4466 |
4467 | undici-types@5.26.5: {}
4468 |
4469 | unpipe@1.0.0: {}
4470 |
4471 | update-browserslist-db@1.0.16(browserslist@4.23.1):
4472 | dependencies:
4473 | browserslist: 4.23.1
4474 | escalade: 3.1.2
4475 | picocolors: 1.0.1
4476 |
4477 | uri-js@4.4.1:
4478 | dependencies:
4479 | punycode: 2.3.1
4480 |
4481 | util-deprecate@1.0.2: {}
4482 |
4483 | utils-merge@1.0.1: {}
4484 |
4485 | vary@1.1.2: {}
4486 |
4487 | web-streams-polyfill@3.3.3: {}
4488 |
4489 | web-streams-polyfill@4.0.0-beta.3: {}
4490 |
4491 | webidl-conversions@3.0.1: {}
4492 |
4493 | whatwg-url@5.0.0:
4494 | dependencies:
4495 | tr46: 0.0.3
4496 | webidl-conversions: 3.0.1
4497 |
4498 | which-boxed-primitive@1.0.2:
4499 | dependencies:
4500 | is-bigint: 1.0.4
4501 | is-boolean-object: 1.1.2
4502 | is-number-object: 1.0.7
4503 | is-string: 1.0.7
4504 | is-symbol: 1.0.4
4505 |
4506 | which-builtin-type@1.1.3:
4507 | dependencies:
4508 | function.prototype.name: 1.1.6
4509 | has-tostringtag: 1.0.2
4510 | is-async-function: 2.0.0
4511 | is-date-object: 1.0.5
4512 | is-finalizationregistry: 1.0.2
4513 | is-generator-function: 1.0.10
4514 | is-regex: 1.1.4
4515 | is-weakref: 1.0.2
4516 | isarray: 2.0.5
4517 | which-boxed-primitive: 1.0.2
4518 | which-collection: 1.0.2
4519 | which-typed-array: 1.1.15
4520 |
4521 | which-collection@1.0.2:
4522 | dependencies:
4523 | is-map: 2.0.3
4524 | is-set: 2.0.3
4525 | is-weakmap: 2.0.2
4526 | is-weakset: 2.0.3
4527 |
4528 | which-typed-array@1.1.15:
4529 | dependencies:
4530 | available-typed-arrays: 1.0.7
4531 | call-bind: 1.0.7
4532 | for-each: 0.3.3
4533 | gopd: 1.0.1
4534 | has-tostringtag: 1.0.2
4535 |
4536 | which@2.0.2:
4537 | dependencies:
4538 | isexe: 2.0.0
4539 |
4540 | word-wrap@1.2.5: {}
4541 |
4542 | wrap-ansi@7.0.0:
4543 | dependencies:
4544 | ansi-styles: 4.3.0
4545 | string-width: 4.2.3
4546 | strip-ansi: 6.0.1
4547 |
4548 | wrap-ansi@8.1.0:
4549 | dependencies:
4550 | ansi-styles: 6.2.1
4551 | string-width: 5.1.2
4552 | strip-ansi: 7.1.0
4553 |
4554 | wrappy@1.0.2: {}
4555 |
4556 | ws@8.18.0: {}
4557 |
4558 | xtend@4.0.2: {}
4559 |
4560 | yaml@2.4.2: {}
4561 |
4562 | yocto-queue@0.1.0: {}
4563 |
4564 | zod-form-data@2.0.2(zod@3.23.8):
4565 | dependencies:
4566 | zod: 3.23.8
4567 |
4568 | zod@3.23.8: {}
4569 |
--------------------------------------------------------------------------------
/PhonePal/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('postcss-load-config').Config} */
2 | const config = {
3 | plugins: {
4 | tailwindcss: {},
5 | autoprefixer: {},
6 | },
7 | };
8 |
9 | export default config;
10 |
--------------------------------------------------------------------------------
/PhonePal/server.mjs:
--------------------------------------------------------------------------------
1 | import { WebSocketServer } from 'ws';
2 |
3 | import http from 'http';
4 | import express from 'express';
5 | import multer from 'multer';
6 | import FormData from 'form-data';
7 | import fetch from 'node-fetch';
8 | import cors from 'cors';
9 | import { Groq } from 'groq-sdk';
10 | import humanId from 'human-id';
11 | import Cartesia from "@cartesia/cartesia-js";
12 | import next from 'next';
13 | import dotenv from 'dotenv';
14 |
15 | const dev = process.env.NODE_ENV !== 'production';
16 | const nextApp = next({ dev });
17 | const nextHandler = nextApp.getRequestHandler();
18 |
19 | nextApp.prepare().then(() => {
20 | const app = express();
21 |
22 | const server = http.createServer(app);
23 | const wss = new WebSocketServer({ server });
24 |
25 | app.use(cors({
26 | origin: '*',
27 | methods: ['GET', 'POST', 'OPTIONS'],
28 | allowedHeaders: ['Content-Type', 'Authorization']
29 | }));
30 |
31 | const upload = multer({ storage: multer.memoryStorage() });
32 |
33 | dotenv.config({ path: '.env.local' });
34 | const groqClient = new Groq({ apiKey: process.env.GROQ_API_KEY });
35 |
36 | const calls = new Map();
37 | const clientLanguages = new Map();
38 |
39 | wss.on('connection', (ws) => {
40 |
41 | const clientId = Date.now().toString();
42 | console.log("CLIENT ID : ", clientId)
43 | clientLanguages.set(clientId, 'en');
44 |
45 | ws.on('message', (message) => {
46 | try {
47 | const data = JSON.parse(message);
48 |
49 | if (data.type === 'createCall') {
50 | const callId = humanId.humanId({
51 | separator: '-',
52 | capitalize: false
53 | });
54 | calls.set(callId, new Set([ws]));
55 | ws.callId = callId;
56 | ws.send(JSON.stringify({ type: 'callCreated', callId }));
57 | } else if (data.type === 'joinCall') {
58 | const { callId } = data;
59 | if (calls.has(callId)) {
60 | calls.get(callId).add(ws);
61 | ws.callId = callId;
62 | ws.send(JSON.stringify({ type: 'callJoined', callId }));
63 | } else {
64 | ws.send(JSON.stringify({ type: 'error', message: 'Call not found' }));
65 | }
66 | } else if (data.type === 'language') {
67 | ws.language = data.language;
68 | // clients.get(clientId).language = data.language;
69 | clientLanguages.set(clientId, data.language);
70 | broadcastLanguage(ws);
71 | console.log(`Language updated for client ${clientId} in call ${ws.callId}: ${data.language}`);
72 | } else if (data.type === 'voiceId') {
73 | ws.voiceId = data.voiceId;
74 | }
75 | } catch (error) {
76 | console.error('Error parsing message:', error);
77 | }
78 | });
79 |
80 | ws.on('close', () => {
81 | if (ws.callId && calls.has(ws.callId)) {
82 | calls.get(ws.callId).delete(ws);
83 | if (calls.get(ws.callId).size === 0) {
84 | calls.delete(ws.callId);
85 | }
86 | }
87 | clientLanguages.delete(ws.clientId);
88 | });
89 | });
90 |
91 | function broadcastLanguage(sender) {
92 | if (sender.callId && calls.has(sender.callId)) {
93 | console.log(`Broadcasting language update in call ${sender.callId}`);
94 | calls.get(sender.callId).forEach(currentClient => {
95 | console.log("sender", sender.callId)
96 | console.log("client", currentClient.callId)
97 | if (currentClient !== sender && currentClient.readyState === WebSocket.OPEN) {
98 | currentClient.send(JSON.stringify({
99 | type: 'language',
100 | language: sender.language
101 | }));
102 | }
103 | });
104 | }
105 | }
106 |
107 | // Main function which transcribes and translates and sends data
108 | app.post('/process-audio', upload.single('audio'), async (req, res) => {
109 | try {
110 | const voiceId = req.body.voiceId || "default-voice-id";
111 | const receiverLanguage = req.body.receiverLanguage;
112 | const callId = req.body.callId;
113 |
114 | const transcription = await getTranscript(req);
115 | console.log("TRANSCRIPTION", transcription);
116 |
117 | const translation = await translateText(transcription, receiverLanguage);
118 | console.log("TRANSLATION", translation);
119 |
120 | if (calls.has(callId)) {
121 | calls.get(callId).forEach(async (client) => {
122 | if (client.readyState === WebSocket.OPEN && client.language === receiverLanguage) {
123 | client.send(JSON.stringify({
124 | type: 'translation',
125 | translation: translation,
126 | voiceId: voiceId,
127 | language: receiverLanguage
128 | }));
129 | }
130 | });
131 | }
132 |
133 | res.status(200).json({ success: true, translation: translation });
134 | } catch (error) {
135 | console.error('Error processing audio:', error);
136 | res.status(500).json({ error: 'Failed to process audio' });
137 | }
138 | });
139 |
140 | // Handles creating voice clone : generates embedding, localizes embedding, then creates a voices
141 | app.post('/clone-voice', upload.single('voiceSample'), async (req, res) => {
142 | try {
143 | const form = new FormData();
144 | form.append('clip', req.file.buffer, {
145 | filename: 'voice_sample.wav',
146 | contentType: req.file.mimetype,
147 | });
148 |
149 | // Clone the voice
150 | const cloneResponse = await fetch('https://api.cartesia.ai/voices/clone/clip', {
151 | method: 'POST',
152 | headers: {
153 | 'Cartesia-Version': '2024-06-10',
154 | 'X-API-Key': process.env.NEXT_PUBLIC_CARTESIA_API_KEY,
155 | ...form.getHeaders()
156 | },
157 | body: form
158 | });
159 |
160 | if (!cloneResponse.ok) {
161 | throw new Error(`Failed to clone voice: ${await cloneResponse.text()}`);
162 | }
163 |
164 | const clonedVoice = await cloneResponse.json();
165 |
166 | // Localize the voice
167 | const localizeResponse = await fetch('https://api.cartesia.ai/voices/localize', {
168 | method: 'POST',
169 | headers: {
170 | 'Cartesia-Version': '2024-06-10',
171 | 'X-API-Key': process.env.NEXT_PUBLIC_CARTESIA_API_KEY,
172 | 'Content-Type': 'application/json'
173 | },
174 | body: JSON.stringify({
175 | embedding: clonedVoice.embedding,
176 | language: req.body.receiverLanguage,
177 | original_speaker_gender: req.body.gender
178 | })
179 | });
180 |
181 | if (!localizeResponse.ok) {
182 | throw new Error(`Failed to localize voice: ${await localizeResponse.text()}`);
183 | }
184 |
185 | const localizedVoice = await localizeResponse.json();
186 |
187 | // Create a voice with the localized embedding
188 | const createVoiceResponse = await fetch('https://api.cartesia.ai/voices', {
189 | method: 'POST',
190 | headers: {
191 | 'Cartesia-Version': '2024-06-10',
192 | 'X-API-Key': process.env.NEXT_PUBLIC_CARTESIA_API_KEY,
193 | 'Content-Type': 'application/json'
194 | },
195 | body: JSON.stringify({
196 | name: `Localized Voice ${Date.now()}`,
197 | description: "A voice cloned and localized from an audio sample.",
198 | embedding: localizedVoice.embedding,
199 | language: req.body.receiverLanguage,
200 | })
201 | });
202 |
203 | if (!createVoiceResponse.ok) {
204 | throw new Error(`Failed to create voice: ${await createVoiceResponse.text()}`);
205 | }
206 |
207 | const createdVoice = await createVoiceResponse.json();
208 | res.json({ voiceId: createdVoice.id });
209 | } catch (error) {
210 | console.error('Error cloning voice:', error);
211 | res.status(500).json({ error: 'Failed to clone voice', details: error.message });
212 | }
213 | });
214 |
215 | // Helper function which transcribes audio of the sender
216 | async function getTranscript(rawAudio) {
217 | const form = new FormData();
218 | form.append('file', rawAudio.file.buffer, {
219 | filename: 'audio.webm',
220 | contentType: rawAudio.file.mimetype,
221 | });
222 | form.append('model', 'whisper-large-v3');
223 | form.append('temperature', '0');
224 | form.append('response_format', 'json');
225 |
226 | const response = await fetch('https://api.groq.com/openai/v1/audio/transcriptions', {
227 | method: 'POST',
228 | headers: {
229 | 'Authorization': `Bearer ${process.env.GROQ_API_KEY}`,
230 | ...form.getHeaders()
231 | },
232 | body: form
233 | });
234 |
235 | if (!response.ok) {
236 | const errorData = await response.json();
237 | throw new Error(JSON.stringify(errorData));
238 | }
239 |
240 | const data = await response.json();
241 | return data.text.trim() || null;
242 |
243 | }
244 |
245 | // Helper function which translates text into the target language of the receiver
246 | async function translateText(text, targetLanguage) {
247 | const completion = await groqClient.chat.completions.create({
248 | messages: [
249 | {
250 | role: "system",
251 | content: `You are a TRANSLATOR. ONLY TRANSLATE THE INPUT TEXT INTO THE TARGET LANGUAGE. DO NOT INCLUDE ANYTHING BUT THE TRANSLATION`,
252 | },
253 | {
254 | role: "user",
255 | content: `Translate the following sentence into ${targetLanguage}; ONLY INCLUDE TRANSLATION, NOTHING ELSE: ${text}`,
256 | },
257 | ],
258 | model: "llama3-8b-8192",
259 | temperature: 0.5,
260 | max_tokens: 1024,
261 | });
262 |
263 | return completion.choices[0].message.content;
264 | }
265 |
266 | const PORT = 3010;
267 | server.listen(PORT, '0.0.0.0', () => {
268 | console.log(`Server is running on port ${PORT}`);
269 | });
270 |
271 | app.all('*', (req, res) => nextHandler(req, res));
272 |
273 | process.on('SIGINT', () => {
274 | console.log('SIGINT signal received: closing HTTP server')
275 | server.close(() => {
276 | console.log('HTTP server closed')
277 | process.exit(0)
278 | })
279 | })
280 |
281 | process.on('SIGTERM', () => {
282 | console.log('SIGTERM signal received: closing HTTP server')
283 | server.close(() => {
284 | console.log('HTTP server closed')
285 | process.exit(0)
286 | })
287 | })
288 |
289 | });
290 |
--------------------------------------------------------------------------------
/PhonePal/tailwind.config.ts:
--------------------------------------------------------------------------------
1 | import type { Config } from "tailwindcss";
2 |
3 | const config: Config = {
4 | content: ["./app/**/*.{js,ts,jsx,tsx,mdx}"],
5 | plugins: [],
6 | theme: {
7 | extend: {
8 | colors: {
9 | neutral: {
10 | 200: "#F0F0F0",
11 | 300: "#D1D1D1",
12 | },
13 | },
14 | fontFamily: {
15 | sans: ["var(--font-geist-sans)"],
16 | mono: ["var(--font-geist-mono)"],
17 | },
18 | },
19 | },
20 | future: {
21 | hoverOnlyWhenSupported: true,
22 | },
23 | };
24 | export default config;
25 |
--------------------------------------------------------------------------------
/PhonePal/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "lib": [
4 | "dom",
5 | "dom.iterable",
6 | "esnext"
7 | ],
8 | "allowJs": true,
9 | "skipLibCheck": true,
10 | "strict": true,
11 | "noEmit": true,
12 | "esModuleInterop": true,
13 | "module": "esnext",
14 | "moduleResolution": "bundler",
15 | "resolveJsonModule": true,
16 | "isolatedModules": true,
17 | "jsx": "preserve",
18 | "incremental": true,
19 | "plugins": [
20 | {
21 | "name": "next"
22 | }
23 | ],
24 | "paths": {
25 | "@/*": [
26 | "./app/*"
27 | ]
28 | },
29 | "target": "ES2017"
30 | },
31 | "include": [
32 | "next-env.d.ts",
33 | "**/*.ts",
34 | "**/*.tsx",
35 | ".next/types/**/*.ts"
36 | ],
37 | "exclude": [
38 | "node_modules"
39 | ]
40 | }
41 |
--------------------------------------------------------------------------------
/PhonePal/vercel.json:
--------------------------------------------------------------------------------
1 | {
2 | "regions": ["sfo1"]
3 | }
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | 
21 |
22 | Welcome to the Cartesia Developer Showcase! This repository highlights innovative projects built using Sonic, our cutting edge text-to-speech model. Explore the many creative ways developers are leveraging Cartesia's API today.
23 |
24 | ## Table of Contents
25 |
26 | - [About Cartesia](#about-cartesia)
27 | - [Featured Projects](#featured-projects)
28 | - [Getting Started with Cartesia](#getting-started-with-cartesia)
29 | - [Contributing](#contributing)
30 | - [Resources](#resources)
31 |
32 | ## About Cartesia
33 | Cartesia is a leading provider of real-time audio models and offers the fastest, ultra-realistic generative voice API with Sonic.
34 |
35 | ## Featured Projects
36 | Here are some exciting projects users have already submitted:
37 |
38 | - [PhonePal](https://github.com/cartesia-ai/dev-showcase/tree/main/PhonePal): A real-time call translator so you can eliminate language barriers when talking to anyone over the web
39 | - [StudyPal](https://github.com/cartesia-ai/dev-showcase/tree/main/studypal): A buddy that helps you learn the most important information from research papers.
40 |
41 | Each project folder contains its own README with setup instructions and code samples.
42 |
43 | ## Getting Started with Cartesia
44 | To start building with Cartesia:
45 |
46 | 1. Sign up for a Cartesia account at [https://www.cartesia.ai](https://cartesia.ai/)
47 |
48 | 2. Obtain your API key from the developer dashboard
49 |
50 | 3. Install the Cartesia SDK for your preferred programming language
51 |
52 | 4. Check out our [quickstart guide](https://docs.cartesia.ai/getting-started/dev-quickstart) for a simple integration example
53 |
54 | ## Contributing
55 | We welcome contributions to this showcase! If you've built something amazing with Cartesia, follow these steps to submit your project:
56 |
57 | 1. Fork this repository
58 |
59 | 2. Create a new folder for your project
60 |
61 | 3. Add your project files, including a detailed README
62 |
63 | 4. Submit a pull request with a description of your project
64 |
65 | ## Resources
66 |
67 | [Cartesia Documentation](https://docs.cartesia.ai/)
68 |
69 | [API Reference](https://docs.cartesia.ai/api-reference)
70 |
71 | [Cartesia Blog](https://cartesia.ai/blog)
72 |
73 | [Community Forum](https://discord.com/invite/gAbbHgdyQM)
74 |
75 | For support, reach out to our team at support@cartesia.ai or join our Discord community.
76 |
77 | Happy building with Cartesia!
78 |
--------------------------------------------------------------------------------
/studypal/README.md:
--------------------------------------------------------------------------------
1 | # studypal
2 |
3 | ### Have a conversation about any article on the web
4 |
5 | studypal is a fast conversational AI built using [Daily](https://www.daily.co/) for real-time media transport and [Cartesia](https://cartesia.ai) for text-to-speech. Everything is orchestrated together (VAD -> STT -> LLM -> TTS) using [Pipecat](https://www.pipecat.ai/).
6 |
7 | ## Setup
8 |
9 | 1. Clone the repository
10 | 2. Copy `env.example` to a `.env` file and add API keys
11 | 3. Install the required packages: `pip install -r requirements.txt`
12 | 4. Run `python3 studypal.py` from your command line.
13 | 5. While the app is running, go to the `https://.daily.co/` set in `DAILY_SAMPLE_ROOM_URL` and talk to studypal!
14 |
--------------------------------------------------------------------------------
/studypal/env.example:
--------------------------------------------------------------------------------
1 | DAILY_SAMPLE_ROOM_URL= # Follow instructions here and put your https://YOURDOMAIN.daily.co/YOURROOM (Instructions: https://docs.pipecat.ai/quickstart#preparing-your-environment)
2 | DAILY_API_KEY= # Create here: https://dashboard.daily.co/developers
3 | OPENAI_API_KEY= # Create here: https://platform.openai.com/docs/overview
4 | CARTESIA_API_KEY= # Create here: https://play.cartesia.ai/console
5 | CARTESIA_VOICE_ID= # Find here: https://play.cartesia.ai/
--------------------------------------------------------------------------------
/studypal/requirements.txt:
--------------------------------------------------------------------------------
1 | beautifulsoup4==4.12.3
2 | pypdf==4.3.1
3 | tiktoken==0.7.0
4 | pipecat-ai[daily,cartesia,openai,silero]==0.0.40
5 | python-dotenv==1.0.1
6 |
--------------------------------------------------------------------------------
/studypal/runner.py:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2024, Daily
3 | #
4 | # SPDX-License-Identifier: BSD 2-Clause License
5 | #
6 |
7 | import aiohttp
8 | import argparse
9 | import os
10 |
11 | from pipecat.transports.services.helpers.daily_rest import DailyRESTHelper
12 |
13 |
14 | async def configure(aiohttp_session: aiohttp.ClientSession):
15 | (url, token, _) = await configure_with_args(aiohttp_session)
16 | return (url, token)
17 |
18 |
19 | async def configure_with_args(
20 | aiohttp_session: aiohttp.ClientSession,
21 | parser: argparse.ArgumentParser | None = None):
22 | if not parser:
23 | parser = argparse.ArgumentParser(description="Daily AI SDK Bot Sample")
24 | parser.add_argument(
25 | "-u",
26 | "--url",
27 | type=str,
28 | required=False,
29 | help="URL of the Daily room to join")
30 | parser.add_argument(
31 | "-k",
32 | "--apikey",
33 | type=str,
34 | required=False,
35 | help="Daily API Key (needed to create an owner token for the room)",
36 | )
37 |
38 | args, unknown = parser.parse_known_args()
39 |
40 | url = args.url or os.getenv("DAILY_SAMPLE_ROOM_URL")
41 | key = args.apikey or os.getenv("DAILY_API_KEY")
42 |
43 | if not url:
44 | raise Exception(
45 | "No Daily room specified. use the -u/--url option from the command line, or set DAILY_SAMPLE_ROOM_URL in your environment to specify a Daily room URL.")
46 |
47 | if not key:
48 | raise Exception("No Daily API key specified. use the -k/--apikey option from the command line, or set DAILY_API_KEY in your environment to specify a Daily API key, available from https://dashboard.daily.co/developers.")
49 |
50 | daily_rest_helper = DailyRESTHelper(
51 | daily_api_key=key,
52 | daily_api_url=os.getenv("DAILY_API_URL", "https://api.daily.co/v1"),
53 | aiohttp_session=aiohttp_session)
54 |
55 | # Create a meeting token for the given room with an expiration 1 hour in
56 | # the future.
57 | expiry_time: float = 60 * 60
58 |
59 | token = await daily_rest_helper.get_token(url, expiry_time)
60 |
61 | return (url, token, args)
62 |
--------------------------------------------------------------------------------
/studypal/studypal.py:
--------------------------------------------------------------------------------
1 | import aiohttp
2 | import asyncio
3 | import os
4 | import sys
5 | import io
6 |
7 | from bs4 import BeautifulSoup
8 | from pypdf import PdfReader
9 | import tiktoken
10 |
11 | from pipecat.frames.frames import LLMMessagesFrame
12 | from pipecat.pipeline.pipeline import Pipeline
13 | from pipecat.pipeline.runner import PipelineRunner
14 | from pipecat.pipeline.task import PipelineParams, PipelineTask
15 | from pipecat.processors.aggregators.llm_response import (
16 | LLMAssistantResponseAggregator, LLMUserResponseAggregator)
17 | from pipecat.services.cartesia import CartesiaTTSService
18 | from pipecat.services.openai import OpenAILLMService
19 | from pipecat.transports.services.daily import DailyParams, DailyTransport
20 | from pipecat.vad.silero import SileroVADAnalyzer
21 |
22 | from runner import configure
23 |
24 | from loguru import logger
25 |
26 | from dotenv import load_dotenv
27 | load_dotenv(override=True)
28 |
29 | # Run this script directly from your command line.
30 | # This project was adapted from
31 | # https://github.com/pipecat-ai/pipecat/blob/main/examples/foundational/07d-interruptible-cartesia.py
32 |
33 | logger.remove(0)
34 | logger.add(sys.stderr, level="DEBUG")
35 |
36 |
37 | # Count number of tokens used in model and truncate the content
38 | def truncate_content(content, model_name):
39 | encoding = tiktoken.encoding_for_model(model_name)
40 | tokens = encoding.encode(content)
41 |
42 | max_tokens = 10000
43 | if len(tokens) > max_tokens:
44 | truncated_tokens = tokens[:max_tokens]
45 | return encoding.decode(truncated_tokens)
46 | return content
47 |
48 | # Main function to extract content from url
49 | async def get_article_content(url: str, aiohttp_session: aiohttp.ClientSession):
50 | if 'arxiv.org' in url:
51 | return await get_arxiv_content(url, aiohttp_session)
52 | else:
53 | return await get_wikipedia_content(url, aiohttp_session)
54 |
55 | # Helper function to extract content from Wikipedia url (this is
56 | # technically agnostic to URL type but will work best with Wikipedia
57 | # articles)
58 | async def get_wikipedia_content(url: str, aiohttp_session: aiohttp.ClientSession):
59 | async with aiohttp_session.get(url) as response:
60 | if response.status != 200:
61 | return "Failed to download Wikipedia article."
62 |
63 | text = await response.text()
64 | soup = BeautifulSoup(text, 'html.parser')
65 |
66 | content = soup.find('div', {'class': 'mw-parser-output'})
67 |
68 | if content:
69 | return content.get_text()
70 | else:
71 | return "Failed to extract Wikipedia article content."
72 |
73 | # Helper function to extract content from arXiv url
74 | async def get_arxiv_content(url: str, aiohttp_session: aiohttp.ClientSession):
75 | if '/abs/' in url:
76 | url = url.replace('/abs/', '/pdf/')
77 | if not url.endswith('.pdf'):
78 | url += '.pdf'
79 |
80 | async with aiohttp_session.get(url) as response:
81 | if response.status != 200:
82 | return "Failed to download arXiv PDF."
83 |
84 | content = await response.read()
85 | pdf_file = io.BytesIO(content)
86 | pdf_reader = PdfReader(pdf_file)
87 | text = ""
88 | for page in pdf_reader.pages:
89 | text += page.extract_text()
90 | return text
91 |
92 | # This is the main function that handles STT -> LLM -> TTS
93 | async def main():
94 | url = input("Enter the URL of the article you would like to talk about: ")
95 |
96 | async with aiohttp.ClientSession() as session:
97 | article_content = await get_article_content(url, session)
98 | article_content = truncate_content(article_content, model_name="gpt-4o-mini")
99 |
100 | (room_url, token) = await configure(session)
101 |
102 | transport = DailyTransport(
103 | room_url,
104 | token,
105 | "studypal",
106 | DailyParams(
107 | audio_out_sample_rate=44100,
108 | audio_out_enabled=True,
109 | transcription_enabled=True,
110 | vad_enabled=True,
111 | vad_analyzer=SileroVADAnalyzer()
112 | )
113 | )
114 |
115 | tts = CartesiaTTSService(
116 | api_key=os.getenv("CARTESIA_API_KEY"),
117 | voice_id=os.getenv("CARTESIA_VOICE_ID", "4d2fd738-3b3d-4368-957a-bb4805275bd9"),
118 | # British Narration Lady: 4d2fd738-3b3d-4368-957a-bb4805275bd9
119 | sample_rate=44100,
120 | )
121 |
122 | llm = OpenAILLMService(
123 | api_key=os.getenv("OPENAI_API_KEY"),
124 | model="gpt-4o-mini")
125 |
126 | messages = [{
127 | "role": "system", "content": f"""You are an AI study partner. You have been given the following article content:
128 |
129 | {article_content}
130 |
131 | Your task is to help the user understand and learn from this article in 2 sentences. THESE RESPONSES SHOULD BE ONLY MAX 2 SENTENCES. THIS INSTRUCTION IS VERY IMPORTANT. RESPONSES SHOULDN'T BE LONG.
132 | """, }, ]
133 |
134 | tma_in = LLMUserResponseAggregator(messages)
135 | tma_out = LLMAssistantResponseAggregator(messages)
136 |
137 | pipeline = Pipeline([
138 | transport.input(),
139 | tma_in,
140 | llm,
141 | tts,
142 | tma_out,
143 | transport.output(),
144 | ])
145 |
146 | task = PipelineTask(pipeline, PipelineParams(allow_interruptions=True, enable_metrics=True))
147 |
148 | @transport.event_handler("on_first_participant_joined")
149 | async def on_first_participant_joined(transport, participant):
150 | transport.capture_participant_transcription(participant["id"])
151 | messages.append(
152 | {
153 | "role": "system",
154 | "content": "Hello! I'm ready to discuss the article with you. What would you like to learn about?"})
155 | await task.queue_frames([LLMMessagesFrame(messages)])
156 |
157 | runner = PipelineRunner()
158 |
159 | await runner.run(task)
160 |
161 | if __name__ == "__main__":
162 | asyncio.run(main())
163 |
--------------------------------------------------------------------------------